Example #1
0
 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)
Example #2
0
    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)])
Example #3
0
 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)
Example #4
0
 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)
Example #5
0
 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)
Example #6
0
    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)
Example #7
0
 def get_instance_by_uuid(self, uuid):
     try:
         return self._get_by_uuid(uuid)
     except exception.ComputeResourceNotFound:
         raise exception.InstanceNotFound(name=uuid)
Example #8
0
 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)]
Example #9
0
 def get_instance_by_uuid(self, uuid):
     if str(uuid) not in self._instances:
         raise exception.InstanceNotFound(name=uuid)
     return self._instances[str(uuid)]