Hi,

Contrail 2.21
OpenStack Liberty
Cassandra 2.1.12

Core networking is working fine, I can ping the world from my instances,
but whenever I try to create a floating IP, I get the following tracebacks.
Please note that although the command returns false, the IP is associated
and I can access the instance via the floating IP:

# neutron-server.log

2015-12-11 13:12:00.773 12054 DEBUG
neutron_plugin_contrail.plugins.opencontrail.contrail_plugin
[req-c25a6eab-8230-49c5-9ce8-f3491b41b633 bf704906c6d44e0693c0894348607473
e2c4290d9a0847b1a914bc5a88537687 -
- -] update_floatingip(): {u'router_id':
u'c25dc007-a4ec-49e1-b200-4baba6fa06e5', u'status': u'ACTIVE',
u'tenant_id': u'e2c4290d9a0847b1a914bc5a88537687', u'floating_network_id':
u'6521ef2a-ed81-4856-9bf4-ed
bb7807573b', u'fixed_ip_address': u'10.0.0.3', u'floating_ip_address':
u'[RETRACTED]', u'port_id': u'68d3bf1a-e657-4cdf-a300-a45efd3fab00', u'id':
u'05a055c3-e402-4a64-bca4-4a8a7608f8d2'} _update_resource /us
r/lib/python2.7/dist-packages/neutron_plugin_contrail/plugins/opencontrail/contrail_plugin.py:322
2015-12-11 13:12:00.798 12054 ERROR neutron.api.v2.resource
[req-c25a6eab-8230-49c5-9ce8-f3491b41b633 bf704906c6d44e0693c0894348607473
e2c4290d9a0847b1a914bc5a88537687 - - -] update failed
2015-12-11 13:12:00.798 12054 ERROR neutron.api.v2.resource Traceback (most
recent call last):
2015-12-11 13:12:00.798 12054 ERROR neutron.api.v2.resource   File
"/usr/lib/python2.7/dist-packages/neutron/api/v2/resource.py", line 83, in
resource
2015-12-11 13:12:00.798 12054 ERROR neutron.api.v2.resource     result =
method(request=request, **args)
2015-12-11 13:12:00.798 12054 ERROR neutron.api.v2.resource   File
"/usr/lib/python2.7/dist-packages/oslo_db/api.py", line 146, in wrapper
2015-12-11 13:12:00.798 12054 ERROR neutron.api.v2.resource     ectxt.value
= e.inner_exc
2015-12-11 13:12:00.798 12054 ERROR neutron.api.v2.resource   File
"/usr/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 195, in
__exit__
2015-12-11 13:12:00.798 12054 ERROR neutron.api.v2.resource
six.reraise(self.type_, self.value, self.tb)
2015-12-11 13:12:00.798 12054 ERROR neutron.api.v2.resource   File
"/usr/lib/python2.7/dist-packages/oslo_db/api.py", line 136, in wrapper
2015-12-11 13:12:00.798 12054 ERROR neutron.api.v2.resource     return
f(*args, **kwargs)
2015-12-11 13:12:00.798 12054 ERROR neutron.api.v2.resource   File
"/usr/lib/python2.7/dist-packages/neutron/api/v2/base.py", line 626, in
update
2015-12-11 13:12:00.798 12054 ERROR neutron.api.v2.resource
self._send_nova_notification(action, orig_object_copy, result)
2015-12-11 13:12:00.798 12054 ERROR neutron.api.v2.resource   File
"/usr/lib/python2.7/dist-packages/neutron/api/v2/base.py", line 333, in
_send_nova_notification
2015-12-11 13:12:00.798 12054 ERROR neutron.api.v2.resource
self._nova_notifier.send_network_change(action, orig, returned)
2015-12-11 13:12:00.798 12054 ERROR neutron.api.v2.resource   File
"/usr/lib/python2.7/dist-packages/neutron/notifiers/nova.py", line 159, in
send_network_change
2015-12-11 13:12:00.798 12054 ERROR neutron.api.v2.resource
returned_obj)
2015-12-11 13:12:00.798 12054 ERROR neutron.api.v2.resource   File
"/usr/lib/python2.7/dist-packages/neutron/notifiers/nova.py", line 179, in
create_port_changed_event
2015-12-11 13:12:00.798 12054 ERROR neutron.api.v2.resource     port =
self._plugin.get_port(ctx, port_id)
2015-12-11 13:12:00.798 12054 ERROR neutron.api.v2.resource   File
"/usr/lib/python2.7/dist-packages/neutron_plugin_contrail/plugins/opencontrail/contrail_plugin.py",
line 512, in get_port
2015-12-11 13:12:00.798 12054 ERROR neutron.api.v2.resource     return
self._get_port(context, port_id, fields)
2015-12-11 13:12:00.798 12054 ERROR neutron.api.v2.resource   File
"/usr/lib/python2.7/dist-packages/neutron_plugin_contrail/plugins/opencontrail/contrail_plugin.py",
line 477, in _get_port
2015-12-11 13:12:00.798 12054 ERROR neutron.api.v2.resource     port =
self._get_resource('port', context, id, fields)
2015-12-11 13:12:00.798 12054 ERROR neutron.api.v2.resource   File
"/usr/lib/python2.7/dist-packages/neutron_plugin_contrail/plugins/opencontrail/contrail_plugin.py",
line 303, in _get_resource
2015-12-11 13:12:00.798 12054 ERROR neutron.api.v2.resource
fields=fields, obj_name=res_type)
2015-12-11 13:12:00.798 12054 ERROR neutron.api.v2.resource   File
"/usr/lib/python2.7/dist-packages/neutron_plugin_contrail/plugins/opencontrail/contrail_plugin.py",
line 255, in _transform_response
2015-12-11 13:12:00.798 12054 ERROR neutron.api.v2.resource
self._raise_contrail_error(info, obj_name)
2015-12-11 13:12:00.798 12054 ERROR neutron.api.v2.resource   File
"/usr/lib/python2.7/dist-packages/neutron_plugin_contrail/plugins/opencontrail/contrail_plugin.py",
line 270, in _raise_contrail_error
2015-12-11 13:12:00.798 12054 ERROR neutron.api.v2.resource     raise
exc.NeutronException(**info)
2015-12-11 13:12:00.798 12054 ERROR neutron.api.v2.resource
NeutronException: An unknown exception occurred.
2015-12-11 13:12:00.798 12054 ERROR neutron.api.v2.resource



# contrail-api.log

12/11/2015 01:18:06 PM [ctl02:contrail-api:Config:0]: <type
'exceptions.KeyError'>
Python 2.7.6: /usr/bin/python
Fri Dec 11 13:18:06 2015

A problem occurred in a Python script.  Here is the sequence of
function calls leading up to the error, in the order they occurred.

 /usr/lib/python2.7/dist-packages/vnc_openstack/__init__.py in
handler_trap_exception(*args=(), **kwargs={})
  928         def handler_trap_exception(*args, **kwargs):
  929             try:
  930                 response = handler(*args, **kwargs)
  931                 return response
  932             except Exception as e:
response undefined
handler = <bound method
NeutronPluginInterface.plugin_http..._plugin_interface.NeutronPluginInterface
object>>
args = ()
kwargs = {}

 /usr/lib/python2.7/dist-packages/vnc_openstack/neutron_plugin_interface.py
in
plugin_http_post_port(self=<vnc_openstack.neutron_plugin_interface.NeutronPluginInterface
object>)
  465
  466         if context['operation'] == 'READ':
  467             return self.plugin_get_port(context, port)
  468         elif context['operation'] == 'CREATE':
  469             return self.plugin_create_port(context, port)
self = <vnc_openstack.neutron_plugin_interface.NeutronPluginInterface
object>
self.plugin_get_port = <bound method
NeutronPluginInterface.plugin_get_..._plugin_interface.NeutronPluginInterface
object>>
context = {'is_admin': True, 'operation': 'READ', 'tenant_id': None,
'type': 'port', 'user_id': None}
port = {'fields': None, 'filters': None, 'id':
'68d3bf1a-e657-4cdf-a300-a45efd3fab00'}

 /usr/lib/python2.7/dist-packages/vnc_openstack/neutron_plugin_interface.py
in
plugin_get_port(self=<vnc_openstack.neutron_plugin_interface.NeutronPluginInterface
object>, context={'is_admin': True, 'operati
on': 'READ', 'tenant_id': None, 'type': 'port', 'user_id': None},
port={'fields': None, 'filters': None, 'id':
'68d3bf1a-e657-4cdf-a300-a45efd3fab00'})
  379
  380         try:
  381             cfgdb = self._get_user_cfgdb(context)
  382             port_info = cfgdb.port_read(port['id'])
  383             return port_info
cfgdb undefined
self = <vnc_openstack.neutron_plugin_interface.NeutronPluginInterface
object>
self._get_user_cfgdb = <bound method
NeutronPluginInterface._get_user_c..._plugin_interface.NeutronPluginInterface
object>>
context = {'is_admin': True, 'operation': 'READ', 'tenant_id': None,
'type': 'port', 'user_id': None}


 /usr/lib/python2.7/dist-packages/vnc_openstack/neutron_plugin_interface.py
in
_get_user_cfgdb(self=<vnc_openstack.neutron_plugin_interface.NeutronPluginInterface
object>, context={'is_admin': True, 'operati
on': 'READ', 'tenant_id': None, 'type': 'port', 'user_id': None})
  115             return self._cfgdb
  116         user_id = context['user_id']
  117         role = string.join(context['roles'], ",")
  118         if not user_id in self._cfgdb_map:
  119             self._cfgdb_map[user_id] = DBInterface(
role undefined
global string = <module 'string' from '/usr/lib/python2.7/string.pyc'>
string.join = <function join>
context = {'is_admin': True, 'operation': 'READ', 'tenant_id': None,
'type': 'port', 'user_id': None}
<type 'exceptions.KeyError'>: 'roles'
    __class__ = <type 'exceptions.KeyError'>
    __delattr__ = <method-wrapper '__delattr__' of exceptions.KeyError
object>
    __dict__ = {}
    __doc__ = 'Mapping key not found.'
    __format__ = <built-in method __format__ of exceptions.KeyError object>
    __getattribute__ = <method-wrapper '__getattribute__' of
exceptions.KeyError object>
    __getitem__ = <method-wrapper '__getitem__' of exceptions.KeyError
object>
    __getslice__ = <method-wrapper '__getslice__' of exceptions.KeyError
object>
    __hash__ = <method-wrapper '__hash__' of exceptions.KeyError object>
    __init__ = <method-wrapper '__init__' of exceptions.KeyError object>
    __new__ = <built-in method __new__ of type object>
    __reduce__ = <built-in method __reduce__ of exceptions.KeyError object>
    __reduce_ex__ = <built-in method __reduce_ex__ of exceptions.KeyError
object>
    __repr__ = <method-wrapper '__repr__' of exceptions.KeyError object>
    __setattr__ = <method-wrapper '__setattr__' of exceptions.KeyError
object>
    __setstate__ = <built-in method __setstate__ of exceptions.KeyError
object>
    __sizeof__ = <built-in method __sizeof__ of exceptions.KeyError object>
    __str__ = <method-wrapper '__str__' of exceptions.KeyError object>
    __subclasshook__ = <built-in method __subclasshook__ of type object>
    __unicode__ = <built-in method __unicode__ of exceptions.KeyError
object>
    args = ('roles',)
    message = 'roles'

The above is a description of an error in a Python program.  Here is
the original traceback:

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/vnc_openstack/__init__.py", line
930, in handler_trap_exception
    response = handler(*args, **kwargs)
  File
"/usr/lib/python2.7/dist-packages/vnc_openstack/neutron_plugin_interface.py",
line 467, in plugin_http_post_port
    return self.plugin_get_port(context, port)
  File
"/usr/lib/python2.7/dist-packages/vnc_openstack/neutron_plugin_interface.py",
line 381, in plugin_get_port
    cfgdb = self._get_user_cfgdb(context)
  File
"/usr/lib/python2.7/dist-packages/vnc_openstack/neutron_plugin_interface.py",
line 117, in _get_user_cfgdb
    role = string.join(context['roles'], ",")
KeyError: 'roles'


Contrail-status returns fine:

== Contrail vRouter ==
supervisor-vrouter:           inactive
unix:///tmp/supervisord_vrouter.sockno

== Contrail Control ==
supervisor-control:           active
contrail-control              active
contrail-control-nodemgr      active
contrail-dns                  active
contrail-named                active

== Contrail Analytics ==
supervisor-analytics:         active
contrail-alarm-gen            active
contrail-analytics-api        active
contrail-analytics-nodemgr    active
contrail-collector            active
contrail-query-engine         active
contrail-snmp-collector       active
contrail-topology             active

== Contrail Config ==
supervisor-config:            active
contrail-api:0                active
contrail-config-nodemgr       active
contrail-device-manager       backup
contrail-discovery:0          active
contrail-schema               backup
contrail-svc-monitor          backup

== Contrail Database ==
supervisor-database:          active
contrail-database             active
contrail-database-nodemgr     active
kafka                         active


Does anyone know why this is happening and how to fix it?

Thanks in advance,

Max
_______________________________________________
Dev mailing list
[email protected]
http://lists.opencontrail.org/mailman/listinfo/dev_lists.opencontrail.org

Reply via email to