X-Git-Url: https://code.grnet.gr/git/archipelago/blobdiff_plain/44a919f38a84c3d90fb74bd16729a561f371adbe..f6b076a161ae0a3f074b371e50f60d4ba4ec0e76:/xseg/tools/vlmc-filed.py diff --git a/xseg/tools/vlmc-filed.py b/xseg/tools/vlmc-filed.py index 30c578d..d94d1e7 100755 --- a/xseg/tools/vlmc-filed.py +++ b/xseg/tools/vlmc-filed.py @@ -1,3 +1,36 @@ +# Copyright 2013 GRNET S.A. All rights reserved. +# +# Redistribution and use in source and binary forms, with or +# without modification, are permitted provided that the following +# conditions are met: +# +# 1. Redistributions of source code must retain the above +# copyright notice, this list of conditions and the following +# disclaimer. +# +# 2. Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials +# provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS +# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR +# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED +# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +# The views and conclusions contained in the software and +# documentation are those of the authors and should not be +# interpreted as representing official policies, either expressed +# or implied, of GRNET S.A. + #!/usr/bin/env python2.7 # # vlmc tool for filed @@ -33,7 +66,7 @@ def vlmc_unmap(args): try: for f in os.listdir(XSEGBD_SYSFS + "devices/"): d_id = open(XSEGBD_SYSFS + "devices/" + f + "/id").read().strip() - name = open(XSEGBD_SYSFS + "devices/"+ f + "/name").read().strip() + name = open(XSEGBD_SYSFS + "devices/"+ f + "/target").read().strip() if device == DEVICE_PREFIX + d_id: fd = os.open(XSEGBD_SYSFS + "remove", os.O_WRONLY) os.write(fd, d_id) @@ -52,9 +85,9 @@ def vlmc_showmapped(args): try: for f in os.listdir(XSEGBD_SYSFS + "devices/"): d_id = open(XSEGBD_SYSFS + "devices/" + f + "/id").read().strip() - name = open(XSEGBD_SYSFS + "devices/"+ f + "/name").read().strip() + target = open(XSEGBD_SYSFS + "devices/"+ f + "/target").read().strip() - print "%s\t%s\t%s\t%s\t%s" % (d_id, '-', name, '-', DEVICE_PREFIX + + print "%s\t%s\t%s\t%s\t%s" % (d_id, '-', target, '-', DEVICE_PREFIX + d_id) except Exception, reason: print >> sys.stderr, reason @@ -106,8 +139,12 @@ if __name__ == "__main__": ls_parser.set_defaults(func=vlmc_list) ls_parser.add_argument('-p', '--pool', type=str, nargs='?', help='for backwards compatiblity with rbd') - args = parser.parse_args() + resize_parser = subparsers.add_parser('resize', help='Resize volume') + resize_parser.add_argument('-s', '--size', type=int, nargs=1, help='requested size in MB for resize') + resize_parser.add_argument('name', type=str, nargs=1, help='volume/device name') + resize_parser.set_defaults(func=vlmc_resize) + resize_parser.add_argument('-p', '--pool', type=str, nargs='?', help='for backwards compatiblity with rbd') + args = parser.parse_args() loadrc(args.config) - args.func(args)