← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1446784] Re: VLAN Transparency and MTU advertisement coexistence problem

 

** Changed in: neutron
       Status: Fix Committed => Fix Released

** Changed in: neutron
    Milestone: None => liberty-1

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1446784

Title:
  VLAN Transparency and MTU advertisement coexistence problem

Status in OpenStack Neutron (virtual network service):
  Fix Released
Status in neutron kilo series:
  Fix Released

Bug description:
  Recently added features VLAN Transparency and MTU advertisement can't
  be stacked together.   When attempting to stack them together the
  following traceback shows in the log.

  
  Test Bed:
   - Kilo based
   - LinuxBridge with VxLAN
   - Mutli node - node1: controller/compute, node2: compute, node3: compute.

  I can stack and use each of these features individually just not
  together.

  
  Controller local.conf details 

  [[post-config|/etc/neutron/neutron.conf]]
  [DEFAULT]
  advertise_mtu = True
  network_device_mtu = 9000
  vlan_transparent = True 

  [[post-config|/etc/nova/nova.conf]]
  [DEFAULT]
  network_device_mtu = 9000

  [[post-config|/etc/neutron/plugins/ml2/ml2_conf.ini]]
  [ml2]
  segment_mtu = 1000
  path_mtu = 1200

  [vxlan]
  enable_vxlan=true
  local_ip=210.168.1.156

  [linux_bridge]
  tenant_network_type=vxlan
  tunnel_type=vxlan

  2015-04-14 16:24:18.642 INFO neutron.plugins.ml2.db [req-868cf7c5-464f-4c88-b87c-538f118896cc admin 41efb914da9e472fb2bf22d52ea7aa6b] Added segment df41aba2-eaf6-451f-85db-5d0f33439709 of type vxlan for network 113dfef5-7074-4049-ac69-5bb5e233564f
  2015-04-14 16:24:18.662 ERROR oslo_db.sqlalchemy.exc_filters [req-868cf7c5-464f-4c88-b87c-538f118896cc admin 41efb914da9e472fb2bf22d52ea7aa6b] DB exception wrapped.
  2015-04-14 16:24:18.662 TRACE oslo_db.sqlalchemy.exc_filters Traceback (most recent call last):
  2015-04-14 16:24:18.662 TRACE oslo_db.sqlalchemy.exc_filters   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 889, in _execute_context
  2015-04-14 16:24:18.662 TRACE oslo_db.sqlalchemy.exc_filters     context = constructor(dialect, self, conn, *args)
  2015-04-14 16:24:18.662 TRACE oslo_db.sqlalchemy.exc_filters   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 573, in _init_compiled
  2015-04-14 16:24:18.662 TRACE oslo_db.sqlalchemy.exc_filters     param.append(processors[key](compiled_params[key]))
  2015-04-14 16:24:18.662 TRACE oslo_db.sqlalchemy.exc_filters   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/processors.py", line 56, in boolean_to_int
  2015-04-14 16:24:18.662 TRACE oslo_db.sqlalchemy.exc_filters     return int(value)
  2015-04-14 16:24:18.662 TRACE oslo_db.sqlalchemy.exc_filters TypeError: int() argument must be a string or a number, not 'object'
  2015-04-14 16:24:18.662 TRACE oslo_db.sqlalchemy.exc_filters 
  2015-04-14 16:24:18.665 ERROR neutron.api.v2.resource [req-868cf7c5-464f-4c88-b87c-538f118896cc admin 41efb914da9e472fb2bf22d52ea7aa6b] create failed
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource Traceback (most recent call last):
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource   File "/opt/stack/neutron/neutron/api/v2/resource.py", line 83, in resource
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource     result = method(request=request, **args)
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource   File "/opt/stack/neutron/neutron/api/v2/base.py", line 461, in create
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource     obj = obj_creator(request.context, **kwargs)
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource   File "/opt/stack/neutron/neutron/plugins/ml2/plugin.py", line 613, in create_network
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource     network)
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 131, in wrapper
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource     return f(*args, **kwargs)
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource   File "/opt/stack/neutron/neutron/plugins/ml2/plugin.py", line 609, in _create_network_with_retries
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource     return self._create_network_db(context, network)
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource   File "/opt/stack/neutron/neutron/plugins/ml2/plugin.py", line 601, in _create_network_db
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource     result['id'], network)
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource   File "/opt/stack/neutron/neutron/db/db_base_plugin_v2.py", line 973, in update_network
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource     subnets = self._get_subnets_by_network(context, id)
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource   File "/opt/stack/neutron/neutron/db/db_base_plugin_v2.py", line 135, in _get_subnets_by_network
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource     return subnet_qry.filter_by(network_id=network_id).all()
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2320, in all
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource     return list(self)
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/query.py", line 2437, in __iter__
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource     self.session._autoflush()
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 1198, in _autoflush
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource     self.flush()
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 1919, in flush
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource     self._flush(objects)
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 2037, in _flush
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource     transaction.rollback(_capture_exception=True)
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/util/langhelpers.py", line 60, in __exit__
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource     compat.reraise(exc_type, exc_value, exc_tb)
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/session.py", line 2001, in _flush
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource     flush_context.execute()
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/unitofwork.py", line 372, in execute
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource     rec.execute(self)
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/unitofwork.py", line 526, in execute
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource     uow
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/persistence.py", line 60, in save_obj
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource     mapper, table, update)
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/persistence.py", line 518, in _emit_update_statements
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource     execute(statement, params)
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 729, in execute
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource     return meth(self, multiparams, params)
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/sql/elements.py", line 322, in _execute_on_connection
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource     return connection._execute_clauseelement(self, multiparams, params)
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 826, in _execute_clauseelement
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource     compiled_sql, distilled_params
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 893, in _execute_context
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource     None, None)
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/oslo_db/sqlalchemy/compat/handle_error.py", line 261, in _handle_dbapi_exception
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource     e, statement, parameters, cursor, context)
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1155, in _handle_dbapi_exception
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource     util.raise_from_cause(newraise, exc_info)
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/util/compat.py", line 199, in raise_from_cause
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource     reraise(type(exception), exception, tb=exc_tb)
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 889, in _execute_context
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource     context = constructor(dialect, self, conn, *args)
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 573, in _init_compiled
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource     param.append(processors[key](compiled_params[key]))
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource   File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/processors.py", line 56, in boolean_to_int
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource     return int(value)
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource DBError: int() argument must be a string or a number, not 'object' (original cause: TypeError: int() argument must be a string or a number, not 'object') u'UPDATE networks SET mtu=%s, vlan_transparent=%s WHERE networks.id = %s' [{'vlan_transparent': <object object at 0x7f5d6deb8400>, 'networks_id': '113dfef5-7074-4049-ac69-5bb5e233564f', 'mtu': 1150}]
  2015-04-14 16:24:18.665 TRACE neutron.api.v2.resource

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1446784/+subscriptions


References