yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #52304
[Bug 1592253] [NEW] Bug: migrate instance after delete flavor
Public bug reported:
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.
** Affects: nova
Importance: Undecided
Status: New
** Tags: migrate nova
** Tags added: migrate
** Description changed:
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/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/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/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/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 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)
+ 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.
- =============================================================================================
+ 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):
+ 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'])
+ 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.iwilab.com:8776/v2/9b7ce4df5e1549058687d82e31d127b1', u'region': u'RegionOne', u'internalURL': u'https://devel-api.iwilab.com:8776/v2/9b7ce4df5e1549058687d82e31d127b1', u'publicURL': u'https://devel-api.iwilab.com:8776/v2/9b7ce4df5e1549058687d82e31d127b1'}], u'type': u'volumev2', u'name': u'cinderv2'}, {u'endpoints': [{u'adminURL': u'https://devel-api.iwilab.com:8776/v1/9b7ce4df5e1549058687d82e31d127b1', u'region': u'RegionOne', u'internalURL': u'https://devel-api.iwilab.com:8776/v1/9b7ce4df5e1549058687d82e31d127b1', u'publicURL': u'https://devel-api.iwilab.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.
** Description changed:
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.iwilab.com:8776/v2/9b7ce4df5e1549058687d82e31d127b1', u'region': u'RegionOne', u'internalURL': u'https://devel-api.iwilab.com:8776/v2/9b7ce4df5e1549058687d82e31d127b1', u'publicURL': u'https://devel-api.iwilab.com:8776/v2/9b7ce4df5e1549058687d82e31d127b1'}], u'type': u'volumev2', u'name': u'cinderv2'}, {u'endpoints': [{u'adminURL': u'https://devel-api.iwilab.com:8776/v1/9b7ce4df5e1549058687d82e31d127b1', u'region': u'RegionOne', u'internalURL': u'https://devel-api.iwilab.com:8776/v1/9b7ce4df5e1549058687d82e31d127b1', u'publicURL': u'https://devel-api.iwilab.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'}
+ {'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.
** Tags added: nova
--
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
Follow ups