def create_snap(self, res_id, snap_name, allow_rw=True, auto_delete=False): cmd = ['snap', '-create'] try: cmd += int_var('-res', res_id) except ValueError: # string type meaning cg name cmd += text_var('-res', res_id) cmd += ['-resType', 'CG'] cmd += text_var('-name', snap_name) cmd += yes_no_var('-allowReadWrite', allow_rw) cmd += yes_no_var('-allowAutoDelete', auto_delete) return cmd
def modify_snap(self, name, new_name=None, desc=None, auto_delete=None, rw=None): opt = [] if new_name is not None and name != new_name: opt += text_var('-name', new_name) opt += text_var('-descr', desc) opt += yes_no_var('-allowAutoDelete', auto_delete) opt += yes_no_var('-allowReadWrite', rw) if len(opt) > 0: cmd = ['snap', '-modify', '-id', name] + opt else: cmd = [] return cmd
def create_cg(self, name, members=None, auto_delete=None): cmd = 'snap -group -create'.split() cmd += text_var('-name', name) cmd += yes_no_var('-allowSnapAutoDelete', auto_delete) if members is not None and len(members) > 0: cmd += ['-res', self._get_cg_member_repr(members)] return cmd
def create_fs(fs_name, source_fs_name, pool_name, is_thin=False): cmd = ['/nas/bin/nas_fs'] cmd += text_var('-name', fs_name) cmd += ['-type', 'uxfs', '-create'] cmd.append('samesize={}'.format(source_fs_name)) cmd.append('pool={}'.format(pool_name)) cmd += ['storage=SINGLE', 'worm=off'] cmd += yes_no_var('-thin', is_thin) cmd += ['-option', 'slice=y'] return cmd
def modify_snap(self, name, new_name=None, desc=None, auto_delete=None, allow_rw=None, keep_for=None): opt = [] if new_name is not None and name != new_name: opt += text_var('-name', new_name) opt += text_var('-descr', desc) # -keepFor and -allowAutoDelete cannot co-exist if keep_for: opt += text_var('-keepFor', keep_for) else: opt += yes_no_var('-allowAutoDelete', auto_delete) opt += yes_no_var('-allowReadWrite', allow_rw) if len(opt) > 0: cmd = ['snap', '-modify', '-id', name] + opt else: cmd = [] return cmd
def create_snap(self, res_id, snap_name, allow_rw=True, auto_delete=False, keep_for=None): cmd = ['snap', '-create'] try: cmd += int_var('-res', res_id) except ValueError: # string type meaning cg name cmd += text_var('-res', res_id) cmd += ['-resType', 'CG'] cmd += text_var('-name', snap_name) # -keepFor and -allowAutoDelete cannot co-exist if keep_for: cmd += text_var('-keepFor', keep_for) else: cmd += yes_no_var('-allowAutoDelete', auto_delete) cmd += yes_no_var('-allowReadWrite', allow_rw) return cmd
def test_yes_no_var(self): assert_that(yes_no_var('-a', True), only_contains('-a', 'yes')) assert_that(yes_no_var('-a', False), only_contains('-a', 'no')) assert_that(yes_no_var('-a', None), equal_to([]))