Hello everyone, System Storage Manager version 0.2 has just been released. It contains a lot of changes from the previous 0.1 version. You can go directly to the project web page to download the code or checkout git repository: http://storagemanager.sf.net Here are some highlight of important changes from previous version: - Required python version lowered to 2.6 - New documentation web page - Project manual page - New option to choose default backend - New interface for dealing with exeptions - Better error handling including user input - Show all file systems in the listing command - Thanks to the new bash tests and unittests lot of problem has been found and fixed So give it a try and if you spot any issues, please let us know at: storagemanager-devel@xxxxxxxxxxxxxxxxxxxxx Here are some features and improvements planned for the future releases: - MD raid support - full cryptsetup support (now can only list and remove) - Better consistency with '-f' and '-v' options - Unified checks for all file systems, backends and commands - Better support for using ssmlib as python module for other applications I really hope that System Storage Manager will prove useful for you and I would really appreciate comments, bug reports, feature requests, patches, rants... Thanks! -Lukas -- CHANGELOG [Tue Jun 5 2012] System Storage Manager v0.2 Lukas Czerner <lczerner_O_redhat.com> (112): tests: Add __init__ into tests directory Add "name" parameter to the snapshot command tests: Allow specify mount point in mocked volume unittests: Add generic snapshot unittests unittests: Add lvm specific snapshot unit test tests 004: Check if the fs is supported by the kernel backend lvm: Convert lv name into the dev_name tests 005: Add bashtests to exercise snapshot command Add pool name to the Volume listing Do not fail on create if DeviceInfo does not recognise device lvm: Do not show dev_free and dev_used if pv is not in pool tests: Rename bash tests to include backend name tests: Show running test name first Allow to specify default backend Allow to reinitialize device/pool/volume/snapshot Add type information to the backend misc: fix do_mount so it create string from list of options Try to find internal record for provided device btrfs: Track subvolume ID correctly btrfs: Fix btrfs create routine Change prefix_filter so it check for more than device name Fix creating btrfs volumes Use have backends to define default pool name Always translate device name into real device tests: Add infrastructure to create temp mount points btrfs: Always use pool name when creating new pool btrfs: Test all btrfs devices for mount point Add possibility to temporarily mount devices btrfs: Mount device temporarily when creating subvolume btrfs: Mount device temporarily when extending pool btrfs: Mount device temporarily when shrinking pool btrfs: Create new pool when adding to non-existing pool btrfs: Add new devices into the pool prior subvolume creation tests: Add btrfs specific checks Stylistic clean-up Add new get_device method to checking for block device btrfs: Mount device temporarily when creating snapshot Prevent from using already used devices in add btrfs: Mount device temporarily when resizing tests: set SSM_DEFAULT_BACKEND for each test tests: Add btrfs add bash test tests: Add btrfs create bash test tests: Add btrfs remove bash test tests: Add btrfs snapshot bash test Do not show cdrom in device listing Add --raid argument to the create command tests: Add basic test for btrfs raid support misc: use /proc/self/mountinfo if exists btrfs: Show real mount point of the subvolume btrfs: Always use integer when printing block count btrfs: Call btrfs with verbose argument when verbose specified tests: Add some required backend variables into unittest tests: Remove some unneeded ssm unittest cases tests: Add ssm resize unittest tests: Add create lvm unittests tests: Add resize lvm unittests tests: Add "add" lvm unittests tests: Add mocked mount handling for unittests tests: Add btrfs create unittest tests: Add btrfs remove unittest tests: Add btrfs snapshot unittest tests: Add btrfs resize unittest tests: Add btrfs "add" unittest Add option to choose default backend tests: Add unittests to use -b/--backend argument tests: Add bash tests cases to use -b/--backend argument Wrap argparse code into its own class Allow help to be shown by non root user Fix ssm version Update argparse description doc: Add sphinx documentation directory Add ssm.8 manual page Add INSTALL file Update setup.py file Update README Update TODO list Add problem.py module for dealing with problems misc: Do not print unnecessary information btrfs: Wire in problem interface lvm: Wire in problem interface main: Wire in problem interface Use Options() object to pass options between classes Change how create and resize handles optional devices tests: Update tests with new problem interface btrfs: Umount file system only once before wipefs crypt: Do not print unnecessary information btrfs: Compute pool_free as difference between pool_size and fs_used Remove executable section from ssmlib/main.py doc: Document changed create/resize behaviour problem: Create problem specific exceptions Catch all ssm specific exceptions and exit Fix check for the root user Allow ssm to be run locally without installing Remove itertools from dependencies misc: Fix referencing uninitialized variable Fix python string formatting btrfs: Use run_btrfs() to run btrfs binary crypt: Use run_cryptsetup() to run cryptsetup binary lvm: Do not query for lv_path with lvs Catch RuntimeError when initializing backend tests: Colorize test result output Print warning if tool to create fs does not exist Ask when removing mounted lvm volume Update required python version to 2.6 Add problem.py to __init__ Show all file system in the listing Set LC_NUMERIC instead of LANG variable setup.py: update package name and add url tests: Exit successfully even when bashtests are not run Remove TODO and ass AUTHORS and INSTALL to the distribution Add Makefile to the project Update version to 0.2 CHANGES | 113 ++++ INSTALL | 97 +++ MANIFEST.in | 2 +- Makefile | 53 ++ README | 887 +++++++++++++++++++----- TODO | 75 +-- bin/ssm | 21 +- bin/ssm.local | 27 + doc/Makefile | 144 ++++ doc/_build/man/ssm.8 | 649 ++++++++++++++++++ doc/conf.py | 217 ++++++ doc/generate_usage_includes.py | 136 ++++ doc/index.rst | 38 + doc/install.rst | 6 + doc/manpage.rst | 19 + doc/readme.rst | 55 ++ doc/src/availability.rst | 6 + doc/src/backends/backends.rst | 11 + doc/src/backends/backends_introduction.rst | 14 + doc/src/backends/btrfs.rst | 65 ++ doc/src/backends/crypt.rst | 6 + doc/src/backends/lvm.rst | 28 + doc/src/commands/add.rst | 10 + doc/src/commands/add.txt | 7 + doc/src/commands/check.rst | 8 + doc/src/commands/check.txt | 8 + doc/src/commands/commands_introduction.rst | 6 + doc/src/commands/create.rst | 8 + doc/src/commands/create.txt | 27 + doc/src/commands/index.rst | 15 + doc/src/commands/list.rst | 8 + doc/src/commands/list.txt | 29 + doc/src/commands/remove.rst | 8 + doc/src/commands/remove.txt | 20 + doc/src/commands/resize.rst | 8 + doc/src/commands/resize.txt | 10 + doc/src/commands/snapshot.rst | 8 + doc/src/commands/snapshot.txt | 9 + doc/src/description.rst | 19 + doc/src/download.html | 14 + doc/src/download.rst | 17 + doc/src/env_variables.rst | 15 + doc/src/examples.rst | 178 +++++ doc/src/for_developers.rst | 142 ++++ doc/src/install.rst | 15 + doc/src/licence.rst | 18 + doc/src/man_examples.rst | 48 ++ doc/src/options/ssm_options.rst | 4 + doc/src/requirements.rst | 50 ++ doc/src/synopsis.rst | 18 + setup.py | 22 +- ssmlib/__init__.py | 2 +- ssmlib/backends/btrfs.py | 130 +++-- ssmlib/backends/crypt.py | 38 +- ssmlib/backends/lvm.py | 100 ++- ssmlib/main.py | 1002 ++++++++++++++++++---------- ssmlib/misc.py | 180 +++++- ssmlib/problem.py | 295 ++++++++ test.py | 12 +- tests/__init__.py | 18 + tests/bashtests/001-add.sh | 73 -- tests/bashtests/001-lvm-add.sh | 87 +++ tests/bashtests/002-create.sh | 131 ---- tests/bashtests/002-lvm-create.sh | 165 +++++ tests/bashtests/003-lvm-remove.sh | 114 ++++ tests/bashtests/003-remove.sh | 112 --- tests/bashtests/004-lvm-resize.sh | 154 +++++ tests/bashtests/004-resize.sh | 154 ----- tests/bashtests/005-lvm-snapshot.sh | 138 ++++ tests/bashtests/006-btrfs-add.sh | 98 +++ tests/bashtests/007-btrfs-create.sh | 121 ++++ tests/bashtests/008-btrfs-remove.sh | 131 ++++ tests/bashtests/010-btrfs-snapshot.sh | 133 ++++ tests/bashtests/lib/aux.sh | 14 + tests/bashtests/lib/check.sh | 47 ++ tests/bashtests/lib/test.sh | 3 +- tests/bashtests/lib/utils.sh | 11 + tests/unittests/common.py | 42 +- tests/unittests/test_btrfs.py | 381 +++++++++++ tests/unittests/test_lvm.py | 283 ++++++++- tests/unittests/test_ssm.py | 381 ++++++++--- 81 files changed, 6690 insertions(+), 1278 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html