Public bug reported:
Hit internal error when create fw_policy with exist fw_rule.
If there is a policy with this fw_rule already, new request create an
new policy with the fw_rule, neutron-server will hit internal error.
repo
-----
1. create a fw_ruleA
2. create a fw_policyX with fw_ruleA
3. create another fw_policyY with fw_ruleA ==== ERROR
2017-01-16 16:01:20.220 ERROR neutron.api.v2.resource
[req-d4fa6f6b-852d-4233-a39b-9ae73dbd8c45 admin
a4d7fafd8b6e42f5aa1de690e360d285] create failed: No details.
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource Traceback (most recent
call last):
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/opt/stack/neutron/neutron/api/v2/resource.py", line 79, in resource
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource result =
method(request=request, **args)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/opt/stack/neutron/neutron/api/v2/base.py", line 438, in create
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource return
self._create(request, body, **kwargs)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/opt/stack/neutron/neutron/db/api.py", line 92, in wrapped
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource setattr(e,
'_RETRY_EXCEEDED', True)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in
__exit__
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource self.force_reraise()
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in
force_reraise
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource
six.reraise(self.type_, self.value, self.tb)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/opt/stack/neutron/neutron/db/api.py", line 88, in wrapped
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource return f(*args,
**kwargs)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 151, in wrapper
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource ectxt.value =
e.inner_exc
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in
__exit__
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource self.force_reraise()
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in
force_reraise
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource
six.reraise(self.type_, self.value, self.tb)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 139, in wrapper
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource return f(*args,
**kwargs)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/opt/stack/neutron/neutron/db/api.py", line 128, in wrapped
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource
traceback.format_exc())
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in
__exit__
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource self.force_reraise()
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in
force_reraise
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource
six.reraise(self.type_, self.value, self.tb)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/opt/stack/neutron/neutron/db/api.py", line 123, in wrapped
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource return f(*dup_args,
**dup_kwargs)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/opt/stack/neutron/neutron/api/v2/base.py", line 551, in _create
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource obj = do_create(body)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/opt/stack/neutron/neutron/api/v2/base.py", line 533, in do_create
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource request.context,
reservation.reservation_id)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in
__exit__
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource self.force_reraise()
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in
force_reraise
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource
six.reraise(self.type_, self.value, self.tb)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/opt/stack/neutron/neutron/api/v2/base.py", line 526, in do_create
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource return
obj_creator(request.context, **kwargs)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/opt/stack/neutron-fwaas/neutron_fwaas/db/firewall/v2/firewall_db_v2.py", line
641, in create_firewall_policy
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource
self._set_rules_for_policy(context, fwp_db, fwp)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/opt/stack/neutron-fwaas/neutron_fwaas/db/firewall/v2/firewall_db_v2.py", line
627, in _set_rules_for_policy
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource
fwp_db.rule_associations.reorder()
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 553,
in __exit__
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource self.rollback()
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/util/langhelpers.py", line
60, in __exit__
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource
compat.reraise(exc_type, exc_value, exc_tb)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 550,
in __exit__
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource self.commit()
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 455,
in commit
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource self._prepare_impl()
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 435,
in _prepare_impl
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource self.session.flush()
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 2080,
in flush
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource self._flush(objects)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 2198,
in _flush
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource
transaction.rollback(_capture_exception=True)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/util/langhelpers.py", line
60, in __exit__
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource
compat.reraise(exc_type, exc_value, exc_tb)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 2162,
in _flush
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource
flush_context.execute()
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/unitofwork.py", line
373, in execute
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource rec.execute(self)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/unitofwork.py", line
487, in execute
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource
self.dependency_processor.process_saves(uow, states)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/dependency.py", line
558, in process_saves
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource uowcommit, False)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/dependency.py", line
575, in _synchronize
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource sync.clear(dest,
self.mapper, self.prop.synchronize_pairs)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/sync.py", line 74, in
clear
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource (r,
orm_util.state_str(dest))
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource AssertionError:
Dependency rule tried to blank-out primary key column
'firewall_policy_rule_associations_v2.firewall_policy_id' on instance
'<FirewallPolicyRuleAssociation at 0x7fb4729b7590>'
** Affects: neutron
Importance: Undecided
Assignee: zhaobo (zhaobo6)
Status: New
** Tags: fwaas
** Changed in: neutron
Assignee: (unassigned) => zhaobo (zhaobo6)
** Tags added: fwaas
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1657358
Title:
Create fw_policy with used fw_rule hit internal error
Status in neutron:
New
Bug description:
Hit internal error when create fw_policy with exist fw_rule.
If there is a policy with this fw_rule already, new request create an
new policy with the fw_rule, neutron-server will hit internal error.
repo
-----
1. create a fw_ruleA
2. create a fw_policyX with fw_ruleA
3. create another fw_policyY with fw_ruleA ==== ERROR
2017-01-16 16:01:20.220 ERROR neutron.api.v2.resource
[req-d4fa6f6b-852d-4233-a39b-9ae73dbd8c45 admin
a4d7fafd8b6e42f5aa1de690e360d285] create failed: No details.
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource Traceback (most recent
call last):
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/opt/stack/neutron/neutron/api/v2/resource.py", line 79, in resource
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource result =
method(request=request, **args)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/opt/stack/neutron/neutron/api/v2/base.py", line 438, in create
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource return
self._create(request, body, **kwargs)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/opt/stack/neutron/neutron/db/api.py", line 92, in wrapped
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource setattr(e,
'_RETRY_EXCEEDED', True)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in
__exit__
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource self.force_reraise()
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in
force_reraise
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource
six.reraise(self.type_, self.value, self.tb)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/opt/stack/neutron/neutron/db/api.py", line 88, in wrapped
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource return f(*args,
**kwargs)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 151, in wrapper
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource ectxt.value =
e.inner_exc
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in
__exit__
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource self.force_reraise()
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in
force_reraise
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource
six.reraise(self.type_, self.value, self.tb)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 139, in wrapper
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource return f(*args,
**kwargs)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/opt/stack/neutron/neutron/db/api.py", line 128, in wrapped
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource
traceback.format_exc())
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in
__exit__
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource self.force_reraise()
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in
force_reraise
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource
six.reraise(self.type_, self.value, self.tb)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/opt/stack/neutron/neutron/db/api.py", line 123, in wrapped
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource return f(*dup_args,
**dup_kwargs)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/opt/stack/neutron/neutron/api/v2/base.py", line 551, in _create
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource obj =
do_create(body)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/opt/stack/neutron/neutron/api/v2/base.py", line 533, in do_create
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource request.context,
reservation.reservation_id)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in
__exit__
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource self.force_reraise()
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in
force_reraise
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource
six.reraise(self.type_, self.value, self.tb)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/opt/stack/neutron/neutron/api/v2/base.py", line 526, in do_create
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource return
obj_creator(request.context, **kwargs)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/opt/stack/neutron-fwaas/neutron_fwaas/db/firewall/v2/firewall_db_v2.py", line
641, in create_firewall_policy
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource
self._set_rules_for_policy(context, fwp_db, fwp)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/opt/stack/neutron-fwaas/neutron_fwaas/db/firewall/v2/firewall_db_v2.py", line
627, in _set_rules_for_policy
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource
fwp_db.rule_associations.reorder()
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 553,
in __exit__
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource self.rollback()
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/util/langhelpers.py", line
60, in __exit__
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource
compat.reraise(exc_type, exc_value, exc_tb)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 550,
in __exit__
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource self.commit()
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 455,
in commit
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource self._prepare_impl()
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 435,
in _prepare_impl
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource self.session.flush()
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 2080,
in flush
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource self._flush(objects)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 2198,
in _flush
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource
transaction.rollback(_capture_exception=True)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/util/langhelpers.py", line
60, in __exit__
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource
compat.reraise(exc_type, exc_value, exc_tb)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 2162,
in _flush
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource
flush_context.execute()
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/unitofwork.py", line
373, in execute
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource rec.execute(self)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/unitofwork.py", line
487, in execute
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource
self.dependency_processor.process_saves(uow, states)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/dependency.py", line
558, in process_saves
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource uowcommit, False)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/dependency.py", line
575, in _synchronize
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource sync.clear(dest,
self.mapper, self.prop.synchronize_pairs)
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource File
"/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/sync.py", line 74, in
clear
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource (r,
orm_util.state_str(dest))
2017-01-16 16:01:20.220 TRACE neutron.api.v2.resource AssertionError:
Dependency rule tried to blank-out primary key column
'firewall_policy_rule_associations_v2.firewall_policy_id' on instance
'<FirewallPolicyRuleAssociation at 0x7fb4729b7590>'
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1657358/+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