Example #1
0
def add_swap(cfg, target, fstab):
    # add swap file per cfg to filesystem root at target. update fstab.
    #
    # swap:
    #  filename: 'swap.img',
    #  size: None # (or 1G)
    #  maxsize: 2G
    if 'swap' in cfg and not cfg.get('swap'):
        LOG.debug("disabling 'add_swap' due to config")
        return

    swapcfg = cfg.get('swap', {})
    fname = swapcfg.get('filename', None)
    size = swapcfg.get('size', None)
    maxsize = swapcfg.get('maxsize', None)

    if size:
        size = util.human2bytes(str(size))
    if maxsize:
        maxsize = util.human2bytes(str(maxsize))

    swap.setup_swapfile(target=target,
                        fstab=fstab,
                        swapfile=fname,
                        size=size,
                        maxsize=maxsize)
Example #2
0
def get_lv_size_bytes(lv_name):
    """ get the size in bytes of a logical volume specified by lv_name."""
    result = _filter_lvm_info('lvdisplay',
                              'lv_name',
                              'lv_size',
                              lv_name,
                              args=['--units=B'])
    if result:
        return util.human2bytes(result[0])
Example #3
0
def swap_main(args):
    #  curtin swap [--size=4G] [--target=/] [--fstab=/etc/fstab] [swap]
    state = util.load_command_environment()

    if args.target is not None:
        state['target'] = args.target

    if args.fstab is not None:
        state['fstab'] = args.fstab

    if state['target'] is None:
        sys.stderr.write("Unable to find target.  "
                         "Use --target or set TARGET_MOUNT_POINT\n")
        sys.exit(2)

    size = args.size
    if size is not None and size.lower() == "auto":
        size = None

    if size is not None:
        try:
            size = util.human2bytes(size)
        except ValueError as e:
            sys.stderr.write("%s\n" % e)
            sys.exit(2)

    if args.maxsize is not None:
        args.maxsize = util.human2bytes(args.maxsize)

    swap.setup_swapfile(target=state['target'],
                        fstab=state['fstab'],
                        swapfile=args.swapfile,
                        size=size,
                        maxsize=args.maxsize,
                        force=args.force)
    sys.exit(2)
Example #4
0
 def test_h2b_b2b(self):
     for size_str in ['10G', '20G', '2T', '12K', '1M', '1023K']:
         self.assertEqual(util.bytes2human(util.human2bytes(size_str)),
                          size_str)
Example #5
0
 def test_float_in_string(self):
     self.assertEqual(int(3.5 * self.GB), util.human2bytes("3.5G"))
Example #6
0
 def test_GB_equals_G(self):
     self.assertEqual(util.human2bytes("3GB"), util.human2bytes("3G"))
Example #7
0
 def test_suffix_B(self):
     self.assertEqual(100, util.human2bytes("100B"))
Example #8
0
 def test_suffix_G(self):
     self.assertEqual(int(10 * self.GB), util.human2bytes("10G"))
Example #9
0
 def test_suffix_M(self):
     self.assertEqual(100 * self.MB, util.human2bytes("100M"))
Example #10
0
 def test_no_suffix_is_bytes(self):
     self.assertEqual(100, util.human2bytes("100"))
Example #11
0
 def test_int_gets_int(self):
     self.assertEqual(100, util.human2bytes(100))
Example #12
0
 def test_float_equal_int_is_allowed(self):
     self.assertEqual(1000, util.human2bytes(1000.0))
Example #13
0
def _conv_size(s):
    if isinstance(s, str):
        if '%' in s:
            return s
        return int(human2bytes(s))
    return s