** Changed in: neutron/icehouse
Status: Fix Committed => 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/1330490
Title:
can't create security group rule by ip protocol when using postgresql
Status in OpenStack Neutron (virtual network service):
Fix Released
Status in neutron icehouse series:
Fix Released
Bug description:
when i try to create a rule in sec group using ip protocol number it
fails if the db in use is postgresql
i can repeat the problem in havana, icehouse and master
2014-06-16 08:41:07.009 15134 ERROR neutron.api.v2.resource
[req-3d2d03a3-2d8a-4ad0-b41d-098aecd5ecb8 None] create failed
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource Traceback (most
recent call last):
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource File
"/usr/lib/python2.7/dist-packages/neutron/api/v2/resource.py", line 87, in
resource
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource result =
method(request=request, **args)
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource File
"/usr/lib/python2.7/dist-packages/neutron/api/v2/base.py", line 419, in create
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource obj =
obj_creator(request.context, **kwargs)
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource File
"/usr/lib/python2.7/dist-packages/neutron/db/securitygroups_rpc_base.py", line
43, in create_security_group_rule
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource bulk_rule)[0]
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource File
"/usr/lib/python2.7/dist-packages/neutron/db/securitygroups_db.py", line 266,
in create_security_group_rule_bulk_native
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource
self._check_for_duplicate_rules(context, r)
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource File
"/usr/lib/python2.7/dist-packages/neutron/db/securitygroups_db.py", line 394,
in _check_for_duplicate_rules
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource db_rules =
self.get_security_group_rules(context, filters)
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource File
"/usr/lib/python2.7/dist-packages/neutron/db/securitygroups_db.py", line 421,
in get_security_group_rules
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource
page_reverse=page_reverse)
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource File
"/usr/lib/python2.7/dist-packages/neutron/db/db_base_plugin_v2.py", line 197,
in _get_collection
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource items =
[dict_func(c, fields) for c in query]
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource File
"/usr/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2353, in
__iter__
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource return
self._execute_and_instances(context)
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource File
"/usr/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2368, in
_execute_and_instances
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource result =
conn.execute(querycontext.statement, self._params)
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource File
"/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 662, in
execute
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource params)
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource File
"/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 761, in
_execute_clauseelement
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource compiled_sql,
distilled_params
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource File
"/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 874, in
_execute_context
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource context)
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource File
"/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1024, in
_handle_dbapi_exception
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource exc_info
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource File
"/usr/lib/python2.7/dist-packages/sqlalchemy/util/compat.py", line 196, in
raise_from_cause
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource
reraise(type(exception), exception, tb=exc_tb)
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource File
"/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 867, in
_execute_context
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource context)
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource File
"/usr/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 324, in
do_execute
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource
cursor.execute(statement, parameters)
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource ProgrammingError:
(ProgrammingError) operator does not exist: character varying = integer
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource LINE 3: ...on IN
('ingress') AND securitygrouprules.protocol IN (112) A...
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource
^
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource HINT: No
operator matches the given name and argument type(s). You might need to add
explicit type casts.
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource 'SELECT
securitygrouprules.tenant_id AS securitygrouprules_tenant_id,
securitygrouprules.id AS securitygrouprules_id,
securitygrouprules.security_group_id AS securitygrouprules_security_group_id,
securitygrouprules.remote_group_id AS securitygrouprules_remote_group_id,
securitygrouprules.direction AS securitygrouprules_direction,
securitygrouprules.ethertype AS securitygrouprules_ethertype,
securitygrouprules.protocol AS securitygrouprules_protocol,
securitygrouprules.port_range_min AS securitygrouprules_port_range_min,
securitygrouprules.port_range_max AS securitygrouprules_port_range_max,
securitygrouprules.remote_ip_prefix AS securitygrouprules_remote_ip_prefix
\nFROM securitygrouprules \nWHERE securitygrouprules.direction IN
(%(direction_1)s) AND securitygrouprules.protocol IN (%(protocol_1)s) AND
securitygrouprules.tenant_id IN (%(tenant_id_1)s) AND
securitygrouprules.security_group_id IN (%(security_group_id_1)s) AN
D securitygrouprules.remote_ip_prefix IN (%(remote_ip_prefix_1)s) AND
securitygrouprules.ethertype IN (%(ethertype_1)s)' {'direction_1': u'ingress',
'tenant_id_1': u'd42aacf8661045beb3a9ee7585bb0c8a', 'protocol_1': 112,
'ethertype_1': 'IPv4', 'security_group_id_1':
u'05e7d48c-c163-4dc9-8b46-d100f136e786', 'remote_ip_prefix_1': u'0.0.0.0/0'}
2014-06-16 08:41:07.009 15134 TRACE neutron.api.v2.resource
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1330490/+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