def be_0001_add_and_remove_backend_test(): """ Create an ALBA backend and verify its status Validate services, etcd, arakoon without claiming disks Claim some disks and validate whether backend can be used for storing objects in namespaces """ backend = GeneralBackend.get_by_name(TestALBA.backend_name) if backend is not None: raise ValueError('A backend has already been deployed, cannot execute test') alba_backend = GeneralAlba.add_alba_backend(TestALBA.backend_name) GeneralAlba.validate_alba_backend_sanity_without_claimed_disks(alba_backend=alba_backend) GeneralAlba.claim_asds(alba_backend, 3, 'SATA') GeneralAlba.validate_alba_backend_sanity_with_claimed_disks(alba_backend=alba_backend) guid = alba_backend.guid name = TestALBA.backend_name service_names = GeneralAlba.get_maintenance_services_for_alba_backend(alba_backend=alba_backend) GeneralAlba.unclaim_disks(alba_backend) GeneralAlba.remove_alba_backend(alba_backend) GeneralAlba.validate_alba_backend_removal(alba_backend_info={'name': name, 'guid': guid, 'maintenance_service_names': service_names})
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)