def ovs_3188_verify_namespace_test(): """ Verify namespaces """ nr_of_disks_to_create = 5 namespace_prefix = 'ovs_3188-' compression = 'none' encryption = 'none' preset_name = 'be_preset_02' policies = [[1, 1, 1, 2]] backend = GeneralBackend.get_by_name(TestALBA.backend_name) if backend is None: backend = GeneralAlba.add_alba_backend(TestALBA.backend_name).backend GeneralAlba.add_preset(backend.alba_backend, preset_name, policies, compression, encryption) for x in range(nr_of_disks_to_create): namespace_name = namespace_prefix + str(x) GeneralAlba.execute_alba_cli_action(backend.alba_backend, 'create-namespace', [namespace_name, preset_name], False) GeneralAlba.upload_file(backend.alba_backend, namespace_name, 1024 * 1024 * 1) AlbaScheduledTaskController.verify_namespaces() GeneralAlba.remove_alba_namespaces(backend.alba_backend) GeneralAlba.remove_preset(backend.alba_backend, preset_name)
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)
def ovs_3490_add_remove_preset_test(): """ Adds and removes a preset with encryption to an existing alba backend """ backend = GeneralBackend.get_by_name(TestALBA.backend_name) if backend is None: backend = GeneralAlba.add_alba_backend(TestALBA.backend_name).backend name = 'ovs-3490' policies = [[1, 1, 1, 2]] compression = 'none' encryption = 'aes-cbc-256' status, message = GeneralAlba.add_preset(backend.alba_backend, name, policies, compression, encryption) assert status, "Add preset failed with: {0}".format(message) TestALBA.verify_policies_for_preset(name, policies, compression, encryption) status, message = GeneralAlba.remove_preset(backend.alba_backend, name) assert status, "Remove preset failed with: {0}".format(message) assert not TestALBA.is_preset_present(name), "Preset with name {0} is not present".format(name)
def add_validate_remove_preset(name, compression, encryption, policies, remove_when_finished=True): """ Add a preset, validate the preset and remove it :param name: Name of the preset :param compression: Compression used by the preset :param encryption: Encryption used by the preset :param policies: Policies used by the preset :param remove_when_finished: Remove after validation :return: None """ backend = GeneralBackend.get_by_name(TestALBA.backend_name) status, message = GeneralAlba.add_preset(backend.alba_backend, name, policies, compression, encryption) assert status, "Add preset failed with: {0}".format(message) assert TestALBA.is_preset_present(name), "Preset with name {0} is not present".format(name) TestALBA.verify_policies_for_preset(name, policies, compression, encryption) if remove_when_finished: status, message = GeneralAlba.remove_preset(backend.alba_backend, name, ) assert status, "Remove preset failed with: {0}".format(message) assert not TestALBA.is_preset_present(name), "Preset with name {0} is not present".format(name)