def migratable_vc_domains(self): """ Gets the VC Migration Manager API client. Returns: MigratableVcDomains: """ if not self.__migratable_vc_domains: self.__migratable_vc_domains = MigratableVcDomains(self.__connection) return self.__migratable_vc_domains
def setUp(self): self.host = '127.0.0.1' self.connection = connection(self.host) self.vcmigrationmanager = MigratableVcDomains(self.connection)
class MigratableVcDomainsTest(TestCase): def setUp(self): self.host = '127.0.0.1' self.connection = connection(self.host) self.vcmigrationmanager = MigratableVcDomains(self.connection) @mock.patch.object(ResourceClient, 'create') def test_test_compatibility(self, mock_create): timeoutValue = 26 migrationInformation = MigratableVcDomains. \ make_migration_information('192.168.9.32', 'Administrator', 'password', 'Administrator', 'password', enclosureGroupUri='/rest/enclosure-groups/uri') self.vcmigrationmanager.test_compatibility(migrationInformation, timeout=timeoutValue) mock_create.assert_called_once_with(migrationInformation, timeout=timeoutValue) @mock.patch.object(ResourceClient, 'create') def test_test_compatibility_default(self, mock_create): migrationInformation = MigratableVcDomains. \ make_migration_information('192.168.9.32', 'Administrator', 'password', 'Administrator', 'password', enclosureGroupUri='/rest/enclosure-groups/uri') self.vcmigrationmanager.test_compatibility(migrationInformation) mock_create.assert_called_once_with(migrationInformation, timeout=-1) @mock.patch.object(ResourceClient, 'get') def test_get_migration_report(self, mock_get): uri = '/rest/migratable-vc-domains/uri' self.vcmigrationmanager.get_migration_report(uri) mock_get.assert_called_once_with(uri) @mock.patch.object(ResourceClient, 'update') def test_migrate_with_full_uri(self, mock_update): migrationInformation = { 'migrationState': 'Migrated', 'type': 'migratable-vc-domains', 'category': 'migratable-vc-domains' } uriValue = '/rest/migratable-vc-domains/uri' timeoutValue = 26 self.vcmigrationmanager.migrate(uriValue, timeout=timeoutValue) mock_update.assert_called_once_with(migrationInformation, uri=uriValue, timeout=timeoutValue) @mock.patch.object(ResourceClient, 'update') def test_migrate_with_id(self, mock_update): migrationInformation = { 'migrationState': 'Migrated', 'type': 'migratable-vc-domains', 'category': 'migratable-vc-domains' } id = 'uri' uriValue = '/rest/migratable-vc-domains/' + id timeoutValue = 26 self.vcmigrationmanager.migrate(id, timeout=timeoutValue) mock_update.assert_called_once_with(migrationInformation, uri=uriValue, timeout=timeoutValue) @mock.patch.object(ResourceClient, 'update') def test_migrate_default(self, mock_update): migrationInformation = { 'migrationState': 'Migrated', 'type': 'migratable-vc-domains', 'category': 'migratable-vc-domains' } uriValue = '/rest/migratable-vc-domains/uri' self.vcmigrationmanager.migrate(uriValue) mock_update.assert_called_once_with(migrationInformation, uri=uriValue, timeout=-1) @mock.patch.object(ResourceClient, 'delete') def test_delete(self, mock_delete): timeoutValue = 26 uriValue = '/rest/migratable-vc-domains/uri' self.vcmigrationmanager.delete(uriValue, timeout=timeoutValue) mock_delete.assert_called_once_with(uriValue, timeout=timeoutValue) @mock.patch.object(ResourceClient, 'delete') def test_delete_default(self, mock_delete): uriValue = '/rest/migratable-vc-domains/uri' self.vcmigrationmanager.delete(uriValue) mock_delete.assert_called_once_with(uriValue, timeout=-1)
} pp = PrettyPrinter() # Try load config from a file (if there is a config file) print("Loading configuration.") config = try_load_from_file(config) # Obtain the master OneView client print("Setting up OneView client.") oneview_client = OneViewClient(config) # Create the dict that VC Migration Manager requires to start the process migrationInformation = MigratableVcDomains.make_migration_information(config['enclosure_hostname'], config['enclosure_username'], config['enclosure_password'], config['vcmUsername'], config['vcmPassword'], enclosureGroupUri=config['enclosure_group_uri']) # Start a migration by first creating a compatibility report print("Create a compatibility report for enclosure '%s'." % migrationInformation['credentials']['oaIpAddress']) compatibility_report = oneview_client.migratable_vc_domains.test_compatibility(migrationInformation) print("Complete. Created a compatibility report for enclosure '%s'.\n uri = '%s'" % (compatibility_report['credentials']['oaIpAddress'], compatibility_report['uri'])) # We got the compatibility report as part of the previous call, but one may need to get it later on print("Get the '%s' compatibility report." % compatibility_report['credentials']['oaIpAddress']) compatibility_report = oneview_client.migratable_vc_domains.get_migration_report(compatibility_report['uri']) print("Complete. Obtained the compatibility report for '%s'.\n Here is the compatibility report:" % compatibility_report['credentials']['oaIpAddress']) pp.pprint(compatibility_report)
pp = PrettyPrinter() # Try load config from a file (if there is a config file) print("Loading configuration.") config = try_load_from_file(config) # Obtain the master OneView client print("Setting up OneView client.") oneview_client = OneViewClient(config) # Create the dict that VC Migration Manager requires to start the process migrationInformation = MigratableVcDomains.make_migration_information( config['enclosure_hostname'], config['enclosure_username'], config['enclosure_password'], config['vcmUsername'], config['vcmPassword'], enclosureGroupUri=config['enclosure_group_uri']) # Start a migration by first creating a compatibility report print("Create a compatibility report for enclosure '%s'." % migrationInformation['credentials']['oaIpAddress']) compatibility_report = oneview_client.migratable_vc_domains.test_compatibility( migrationInformation) print( "Complete. Created a compatibility report for enclosure '%s'.\n uri = '%s'" % (compatibility_report['credentials']['oaIpAddress'], compatibility_report['uri'])) # We got the compatibility report as part of the previous call, but one may need to get it later on