def add_instance(self, instance): self.assert_instance(instance) try: super(ModelRoot, self).add_node(instance.uuid, attr=instance) except nx.NetworkXError as exc: LOG.exception(exc) raise exception.InstanceNotFound(name=instance.uuid)
def get_node_by_instance_uuid(self, instance_uuid): """Getting host information from the guest instance :param instance_uuid: the uuid of the instance :return: node """ if str(instance_uuid) not in self.mapping.instance_mapping: raise exception.InstanceNotFound(name=instance_uuid) return self.get_node_by_uuid( self.mapping.instance_mapping[str(instance_uuid)])
def abort(self): nova = nova_helper.NovaHelper(osc=self.osc) instance = nova.find_instance(self.instance_uuid) if instance: if self.migration_type == self.COLD_MIGRATION: return self._abort_cold_migrate(nova) elif self.migration_type == self.LIVE_MIGRATION: return self._abort_live_migrate( nova, source=self.source_node, destination=self.destination_node) else: raise exception.InstanceNotFound(name=self.instance_uuid)
def migrate(self, destination): nova = nova_helper.NovaHelper(osc=self.osc) LOG.debug("Migrate instance %s to %s", self.instance_uuid, destination) instance = nova.find_instance(self.instance_uuid) if instance: if self.migration_type == 'live': return nova.live_migrate_instance( instance_id=self.instance_uuid, dest_hostname=destination) else: raise exception.Invalid( message=(_('Migration of type %(migration_type)s is not ' 'supported.') % { 'migration_type': self.migration_type })) else: raise exception.InstanceNotFound(name=self.instance_uuid)
def migrate(self, destination): nova = nova_helper.NovaHelper(osc=self.osc) LOG.debug("Migrate instance %s to %s", self.instance_uuid, destination) instance = nova.find_instance(self.instance_uuid) if instance: if self.migration_type == self.LIVE_MIGRATION: return self._live_migrate_instance(nova, destination) elif self.migration_type == self.COLD_MIGRATION: return self._cold_migrate_instance(nova, destination) else: raise exception.Invalid( message=(_("Migration of type '%(migration_type)s' is not " "supported.") % { 'migration_type': self.migration_type })) else: raise exception.InstanceNotFound(name=self.instance_uuid)
def test_legacy_instance_update_instance_notfound_creates(self): compute_model = self.fake_cdmc.generate_scenario_3_with_2_nodes() self.fake_cdmc.cluster_data_model = compute_model handler = novanotification.LegacyInstanceUpdated(self.fake_cdmc) instance0_uuid = '73b09e16-35b7-4922-804e-e8f5d9b740fc' message = self.load_message('scenario3_legacy_instance-update.json') with mock.patch.object( model_root.ModelRoot, 'get_instance_by_uuid') as m_get_instance_by_uuid: m_get_instance_by_uuid.side_effect = exception.InstanceNotFound( name='TEST') handler.info( ctxt=self.context, publisher_id=message['publisher_id'], event_type=message['event_type'], payload=message['payload'], metadata=self.FAKE_METADATA, ) instance0 = compute_model.get_instance_by_uuid(instance0_uuid) self.assertEqual(element.InstanceState.PAUSED.value, instance0.state)
def get_instance_by_uuid(self, uuid): try: return self._get_by_uuid(uuid) except exception.ComputeResourceNotFound: raise exception.InstanceNotFound(name=uuid)
def get_vm_from_id(self, uuid): if str(uuid) not in self._vms.keys(): raise exception.InstanceNotFound(name=uuid) return self._vms[str(uuid)]
def get_instance_by_uuid(self, uuid): if str(uuid) not in self._instances: raise exception.InstanceNotFound(name=uuid) return self._instances[str(uuid)]