** 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 : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp