def ovs_2263_verify_alba_namespace_cleanup_test(): """ Verify ALBA namespace cleanup Create an amount of namespaces in ALBA Create a vPool and create some volumes Verify the amount of namespaces before and after vPool creation Remove the vPool and the manually created namespaces Verify the amount of namespaces before and after vPool deletion """ # Create some namespaces in alba no_namespaces = 3 backend_name = General.get_config().get('backend', 'name') backend = GeneralBackend.get_by_name(name=backend_name) namespace_name = 'autotest-ns_' namespace_name_regex = re.compile('^autotest-ns_\d$') for nmspc_index in range(no_namespaces): GeneralAlba.execute_alba_cli_action(backend.alba_backend, 'create-namespace', ['{0}{1}'.format(namespace_name, nmspc_index), 'default'], False) result = GeneralAlba.list_alba_namespaces(alba_backend=backend.alba_backend, name=namespace_name_regex) assert len(result) == no_namespaces, "Expected {0} namespaces present on the {1} backend, found {2}".format(no_namespaces, backend_name, len(result)) # Create a vPool and create volumes on it vpool, _ = GeneralVPool.add_vpool() root_client = SSHClient(GeneralStorageRouter.get_local_storagerouter(), username='******') if vpool.storagedrivers[0].storagerouter.pmachine.hvtype == 'VMWARE': GeneralVPool.mount_vpool(vpool=vpool, root_client=root_client) vdisks = [] for disk_index in range(no_namespaces): vdisks.append(GeneralVDisk.create_volume(size=10, vpool=vpool, root_client=root_client)) result = GeneralAlba.list_alba_namespaces(alba_backend=backend.alba_backend) assert len(result) == 2 * no_namespaces + 1, "Expected {0} namespaces present on the {1} backend, found {2}".format(2 * no_namespaces + 1, backend_name, len(result)) # Remove files and vPool for vdisk in vdisks: GeneralVDisk.delete_volume(vdisk=vdisk, vpool=vpool, root_client=root_client) if vpool.storagedrivers[0].storagerouter.pmachine.hvtype == 'VMWARE': GeneralVPool.unmount_vpool(vpool=vpool, root_client=root_client) GeneralVPool.remove_vpool(vpool) # Verify amount of namespaces result = GeneralAlba.list_alba_namespaces(alba_backend=backend.alba_backend, name=namespace_name_regex) assert len(result) == no_namespaces, "Expected {0} namespaces present on the {1} backend, found {2}".format(no_namespaces, backend_name, len(result)) for namespace in result: GeneralAlba.execute_alba_cli_action(backend.alba_backend, 'delete-namespace', [namespace['name']], False) result = GeneralAlba.list_alba_namespaces(alba_backend=backend.alba_backend, name=namespace_name_regex) assert len(result) == 0, "Expected no namespaces present on the {1} backend, found {2}".format(no_namespaces, backend_name, len(result))
def be_0007_add_update_remove_preset_test(): """ Add, update and remove a preset Validation for OVS-3187 - edit policy of preset """ backend = GeneralBackend.get_by_name(TestALBA.backend_name) if backend is None: alba_backend = GeneralAlba.add_alba_backend(TestALBA.backend_name) else: alba_backend = backend.alba_backend GeneralAlba.claim_asds(alba_backend=alba_backend, nr_of_asds=3, disk_type='SATA') timeout = 300 preset_name = 'be_preset_0007' namespace_name = 'be_0007_ns' compression = 'none' encryption = 'aes-cbc-256' org_policy = [[1, 1, 1, 2]] new_policy = [[2, 2, 3, 3]] TestALBA.add_validate_remove_preset(preset_name, compression, encryption, org_policy, remove_when_finished=False) result = GeneralAlba.list_alba_namespaces(alba_backend=alba_backend, name=namespace_name) for namespace in result: GeneralAlba.execute_alba_cli_action(alba_backend, 'delete-namespace', [namespace['name']], False) GeneralAlba.execute_alba_cli_action(alba_backend, 'create-namespace', [namespace_name, preset_name], False) GeneralAlba.upload_file(alba_backend=alba_backend, namespace_name=namespace_name, file_size=1024 * 1024) result = GeneralAlba.execute_alba_cli_action(alba_backend, 'show-namespace', [namespace_name])['bucket_count'] assert len(result) == 1, "Only one policy should be present, found: {0}".format(result) # update and verify policies for preset GeneralAlba.update_preset(alba_backend, preset_name, new_policy) result = GeneralAlba.execute_alba_cli_action(alba_backend, 'show-namespace', [namespace_name])['bucket_count'] assert len(result) == 1, "Expected 1 policy, but got: {0}".format(result) object_has_new_policy = False for _ in xrange(timeout): if GeneralAlba.is_bucket_count_valid_with_policy(result, new_policy): object_has_new_policy = True break time.sleep(1) result = GeneralAlba.execute_alba_cli_action(alba_backend, 'show-namespace', [namespace_name])['bucket_count'] assert object_has_new_policy is True, "Object was not rewritten within {0} seconds: {1}".format(timeout, result) # cleanup GeneralAlba.execute_alba_cli_action(alba_backend, 'delete-namespace', [namespace_name], False) GeneralAlba.remove_preset(alba_backend, preset_name)