** Changed in: neutron
Status: Confirmed => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1777908
Title:
Ensure _get_changed_synthetic_fields() return updatable fields -
breaks consumers
Status in neutron:
Fix Released
Bug description:
It appears the landing of [1] into stable/queens has broken some
consumers, at least vmware-nsx.
When running with [1] in neutron/queens, we now get:
----
security_group_rule is already registered
Loaded quota_driver: <neutron.db.quota.driver.DbQuotaDriver object at
0x7fd805e1e750>.
Loaded quota_driver: <neutron.db.quota.driver.DbQuotaDriver object at
0x7ff8b1e0c790>.
create failed: No details.: DetachedInstanceError: Parent instance
<SecurityGroup at 0x7fd804039f10> is not bound to a Session; lazy load
operation of attribute 'ext_properties' cannot proceed (Background on this
error at: http://sqlalche.me/e/bhk3)
Traceback (most recent call last):
File
"/home/boden/src/vmware-nsx/.tox/py27-dev/src/neutron/neutron/api/v2/resource.py",
line 98, in resource
result = method(request=request, **args)
File
"/home/boden/src/vmware-nsx/.tox/py27-dev/src/neutron/neutron/api/v2/base.py",
line 425, in create
return self._create(request, body, **kwargs)
File
"/home/boden/src/vmware-nsx/.tox/py27-dev/src/neutron/neutron/db/api.py", line
91, in wrapped
setattr(e, '_RETRY_EXCEEDED', True)
File
"/home/boden/src/vmware-nsx/.tox/py27-dev/local/lib/python2.7/site-packages/oslo_utils/excutils.py",
line 220, in __exit__
self.force_reraise()
File
"/home/boden/src/vmware-nsx/.tox/py27-dev/local/lib/python2.7/site-packages/oslo_utils/excutils.py",
line 196, in force_reraise
six.reraise(self.type_, self.value, self.tb)
File
"/home/boden/src/vmware-nsx/.tox/py27-dev/src/neutron/neutron/db/api.py", line
87, in wrapped
return f(*args, **kwargs)
File
"/home/boden/src/vmware-nsx/.tox/py27-dev/local/lib/python2.7/site-packages/oslo_db/api.py",
line 154, in wrapper
ectxt.value = e.inner_exc
File
"/home/boden/src/vmware-nsx/.tox/py27-dev/local/lib/python2.7/site-packages/oslo_utils/excutils.py",
line 220, in __exit__
self.force_reraise()
File
"/home/boden/src/vmware-nsx/.tox/py27-dev/local/lib/python2.7/site-packages/oslo_utils/excutils.py",
line 196, in force_reraise
six.reraise(self.type_, self.value, self.tb)
File
"/home/boden/src/vmware-nsx/.tox/py27-dev/local/lib/python2.7/site-packages/oslo_db/api.py",
line 142, in wrapper
return f(*args, **kwargs)
File
"/home/boden/src/vmware-nsx/.tox/py27-dev/src/neutron/neutron/db/api.py", line
126, in wrapped
LOG.debug("Retry wrapper got retriable exception: %s", e)
File
"/home/boden/src/vmware-nsx/.tox/py27-dev/local/lib/python2.7/site-packages/oslo_utils/excutils.py",
line 220, in __exit__
self.force_reraise()
File
"/home/boden/src/vmware-nsx/.tox/py27-dev/local/lib/python2.7/site-packages/oslo_utils/excutils.py",
line 196, in force_reraise
six.reraise(self.type_, self.value, self.tb)
File
"/home/boden/src/vmware-nsx/.tox/py27-dev/src/neutron/neutron/db/api.py", line
122, in wrapped
return f(*dup_args, **dup_kwargs)
File
"/home/boden/src/vmware-nsx/.tox/py27-dev/src/neutron/neutron/api/v2/base.py",
line 539, in _create
obj = do_create(body)
File
"/home/boden/src/vmware-nsx/.tox/py27-dev/src/neutron/neutron/api/v2/base.py",
line 521, in do_create
request.context, reservation.reservation_id)
File
"/home/boden/src/vmware-nsx/.tox/py27-dev/local/lib/python2.7/site-packages/oslo_utils/excutils.py",
line 220, in __exit__
self.force_reraise()
File
"/home/boden/src/vmware-nsx/.tox/py27-dev/local/lib/python2.7/site-packages/oslo_utils/excutils.py",
line 196, in force_reraise
six.reraise(self.type_, self.value, self.tb)
File
"/home/boden/src/vmware-nsx/.tox/py27-dev/src/neutron/neutron/api/v2/base.py",
line 514, in do_create
return obj_creator(request.context, **kwargs)
File "vmware_nsx/tests/unit/extensions/test_provider_security_groups.py",
line 53, in create_security_group
context, security_group)
File "vmware_nsx/db/extended_security_group.py", line 77, in
create_provider_security_group
context, security_group, False, True)
File "vmware_nsx/db/extended_security_group.py", line 107, in
create_security_group_without_rules
secgroup_dict = self._make_security_group_dict(sg)
File
"/home/boden/src/vmware-nsx/.tox/py27-dev/src/neutron/neutron/db/securitygroups_db.py",
line 280, in _make_security_group_dict
security_group.db_obj)
File
"/home/boden/src/vmware-nsx/.tox/py27-dev/src/neutron/neutron/db/_resource_extend.py",
line 75, in apply_funcs
resolved_func(response, db_object)
File "vmware_nsx/db/extended_security_group.py", line 348, in
_extend_security_group_with_properties
if sg_db.ext_properties:
File
"/home/boden/src/vmware-nsx/.tox/py27-dev/local/lib/python2.7/site-packages/sqlalchemy/orm/attributes.py",
line 242, in __get__
return self.impl.get(instance_state(instance), dict_)
File
"/home/boden/src/vmware-nsx/.tox/py27-dev/local/lib/python2.7/site-packages/sqlalchemy/orm/attributes.py",
line 599, in get
value = self.callable_(state, passive)
File
"/home/boden/src/vmware-nsx/.tox/py27-dev/local/lib/python2.7/site-packages/sqlalchemy/orm/strategies.py",
line 596, in _load_for_state
(orm_util.state_str(state), self.key)
DetachedInstanceError: Parent instance <SecurityGroup at 0x7fd804039f10> is
not bound to a Session; lazy load operation of attribute 'ext_properties'
cannot proceed (Background on this error at: http://sqlalche.me/e/bhk3)
{0}
vmware_nsx.tests.unit.extensions.test_provider_security_groups.ProviderSecurityGroupExtTestCase.test_create_provider_security_groups_same_tenant
[0.806920s] ... FAILED
----
If I manually revert [1] in neutron/queens of my workspace, the test passes.
ATM I'm only testing locally; working on a sample patch for the gate to
reference here.
Is there a way we can do [1] without breaking consumers?
[1] https://review.openstack.org/#/c/573617/
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1777908/+subscriptions
--
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : [email protected]
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help : https://help.launchpad.net/ListHelp