** 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

-- 
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

Reply via email to