Reviewed:  https://review.openstack.org/307438
Committed: 
https://git.openstack.org/cgit/openstack/nova/commit/?id=a46e847aad4ee7edbb63eb08f97f6635e6c9ccb0
Submitter: Jenkins
Branch:    master

commit a46e847aad4ee7edbb63eb08f97f6635e6c9ccb0
Author: Dan Smith <dansm...@redhat.com>
Date:   Mon Apr 18 12:40:54 2016 -0700

    Fix reverse_upsize_quota_delta attempt to look up deleted flavors
    
    When we did the "great flavor migration of 2015" we missed a quota method
    which still looks up flavors by id from the migration. Now that flavors
    are moved to the api database and actually removed when deleted, this no
    longer works. The problem manifests itself as a failure when trying to
    revert a migration or resize operation when the original flavor has been
    deleted.
    
    Change-Id: I5f95021410a309ac07fe9f474cbcd0214d1af208
    Closes-Bug: #1570748


** Changed in: nova
       Status: In Progress => Fix Released

-- 
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/1570748

Title:
  Bug: resize instance after edit flavor with horizon

Status in OpenStack Compute (nova):
  Fix Released
Status in tempest:
  In Progress

Bug description:
  Error occured when resize instance after edit flavor with horizon (and
  also delete flavor used by instance)

  Reproduce step :

  1. create flavor A
  2. boot instance using flavor A
  3. edit flavor with horizon (or delete flavor A)
      -> the result is same to edit or to delelet flavor because edit flavor 
means delete/recreate flavor)
  4. resize or migrate instance
  5. Error occured

  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 7 could not be found.

  
  This Error is occured because of 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'])
  ....

  I think that deleted flavor should be taken when resize instance. 
  I tested this in stable/kilo, but I think stable/liberty and stable/mitaka 
has same bug because source code is not changed.

  thanks.

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

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to