← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1592253] Re: Bug: migrate instance after delete flavor

 

Hi, Matt Riedemann
Thank you for comment.

I think this is not the same issue with bug 1570748.

In bug 1570748, only resize-revert bug is fixed and above issue is for nova migrate.
(I reported bug 1570748 and I wrote that issue can be reproduced in nova resize but actually that was nova migrate. So the people who tested that couldn't reproduce the issue for "nova resize".)

When "nova resize" is requested there is no problem because there is flavor.
 : nova resize <server> <flavor>

But, when "nova migrate" is requested it can be error state because there is no flavor.
 : nova migrate <server>

So, please check again this. You can simply reproduce this with above steps.
Thank you.

** This bug is no longer a duplicate of bug 1570748
   Bug: resize instance after edit flavor with horizon

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1592253

Title:
  Bug: migrate instance after delete flavor

Status in OpenStack Compute (nova):
  New

Bug description:
  Error occured when migrate instance after delete flavor.

  Reproduce step :

  1. create flavor A
  2. boot instance using flavor A
  3. delete flavor A
  4. migrate instance (ex : nova migrate [instance_uuid])
  5. Error occured

  Error Log :
  ==========================================================================
  nova-compute.log
     File "/opt/openstack/src/nova/nova/conductor/manager.py", line 422, in _object_dispatch
       return getattr(target, method)(*args, **kwargs)

     File "/opt/openstack/src/nova/nova/objects/base.py", line 163, in wrapper
       result = fn(cls, context, *args, **kwargs)

     File "/opt/openstack/src/nova/nova/objects/flavor.py", line 132, in get_by_id
       db_flavor = db.flavor_get(context, id)

     File "/opt/openstack/src/nova/nova/db/api.py", line 1479, in flavor_get
       return IMPL.flavor_get(context, id)

     File "/opt/openstack/src/nova/nova/db/sqlalchemy/api.py", line 233, in wrapper
       return f(*args, **kwargs)

     File "/opt/openstack/src/nova/nova/db/sqlalchemy/api.py", line 4732, in flavor_get
       raise exception.FlavorNotFound(flavor_id=id)

   FlavorNotFound: Flavor 8 could not be found.
  ==========================================================================

  This Error is occured when resize_instance method is called as below code:
  /opt/openstack/src/nova/nova/compute/manager.py

      def resize_instance(self, context, instance, image,
                          reservations, migration, instance_type,
                          clean_shutdown=True):
  ....
              if (not instance_type or
                  not isinstance(instance_type, objects.Flavor)):
                  instance_type = objects.Flavor.get_by_id(
                      context, migration['new_instance_type_id'])
  ....

  context parameter has this data:
  {'domain': None, 'project_name': u'admin', 'project_domain': None, 'timestamp': '2016-06-14T04:34:50.759410', 'auth_token': u'457802dc378442a6ac4a5b952587927e', 'remote_address': u'10.10.10.5, 'quota_class': None, 'resource_uuid': None, 'is_admin': True, 'user': u'694df2010229405e966aafc16a30784f', 'service_catalog': [{u'endpoints': [{u'adminURL': u'https://devel-api.com:8776/v2/9b7ce4df5e1549058687d82e31d127b1', u'region': u'RegionOne', u'internalURL': u'https://devel-api.com:8776/v2/9b7ce4df5e1549058687d82e31d127b1', u'publicURL': u'https://devel-api.com:8776/v2/9b7ce4df5e1549058687d82e31d127b1'}], u'type': u'volumev2', u'name': u'cinderv2'}, {u'endpoints': [{u'adminURL': u'https://devel-api.com:8776/v1/9b7ce4df5e1549058687d82e31d127b1', u'region': u'RegionOne', u'internalURL': u'https://devel-api.com:8776/v1/9b7ce4df5e1549058687d82e31d127b1', u'publicURL': u'https://devel-api.com:8776/v1/9b7ce4df5e1549058687d82e31d127b1'}], u'type': u'volume', u'name': u'cinder'}], 'tenant': u'9b7ce4df5e1549058687d82e31d127b1', 'read_only': False, 'project_id': u'9b7ce4df5e1549058687d82e31d127b1', 'user_id': u'694df2010229405e966aafc16a30784f', 'show_deleted': False, 'roles': [u'admin'], 'user_identity': '694df2010229405e966aafc16a30784f 9b7ce4df5e1549058687d82e31d127b1 - - -', 'read_deleted': 'no', 'request_id': u'req-59dca904-6384-4ca0-b696-5731c80198d7', 'instance_lock_checked': False, 'user_domain': None, 'user_name': u'admin'}

  When objects.Flavor.get_by_id method is called, error is occurred because the default value of read_deleted is "no".
  So, I think context.read_deleted attribute should be set to "yes" before objects.Flavor.get_by_id method is called.

  I've tested this using stable/kilo and I think liberty, mitaka has
  same problem.

  Thanks.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1592253/+subscriptions


References