Public bug reported: https://github.com/openstack/neutron/commit/1f8378e0ac4b8c3fc4670144e6efc51940d796ad was supposed to change other-config:mac-table-size to set a higher value of mac-table-size option can be set for bridge. Instead, it overwrites the entire other-config array and thus interferes with tripleo's undercloud settings where other-config:hwaddr is a requirement.
neutron-openvswitch-agent thus resets the MAC address to a random value although it should be fixed to the underlying interface's MAC> The original bridge configuration is: ~~~ ov[root@undercloud-7 ~]# ovs-vsctl list-bridge br-ctlplane ovs-vsctl: unknown command 'list-bridge'; use --help for help [root@undercloud-7 ~]# ovs-vsctl list bridge br-ctlplane _uuid : d56235c5-4933-4334-b33b-be2134c99995 auto_attach : [] controller : [] datapath_id : "0000525400ec14c2" datapath_type : "" datapath_version : "<unknown>" external_ids : {bridge-id=br-ctlplane} fail_mode : standalone flood_vlans : [] flow_tables : {} ipfix : [] mcast_snooping_enable: false mirrors : [] name : br-ctlplane netflow : [] other_config : {hwaddr="52:54:00:ec:14:c2"} ports : [054cde3c-0e02-497d-ac25-be8e6992f708, fcbfcff7-d6b8-4bce-824d-085a681663cf] protocols : [] rstp_enable : false rstp_status : {} sflow : [] status : {} stp_enable : false ~~~ The new version of neutron-openvswitch-agent sets this: ~~~ 2018-10-02 12:31:43.032 3949 DEBUG neutron.agent.ovsdb.impl_idl [-] Running txn command(idx=1): DbSetCommand(table=Bridge, col_values=(('other_config', {'mac-table-size': '50000'}),), record=br-ctlplane) do_commit /usr/lib/python2.7/site-packages/neutron/agent/ovsdb/impl_idl.py:98 ~~~ Which removes the hwaddr: ~~~ [root@undercloud-7 ~]# ovs-vsctl list bridge br-ctlplane _uuid : 334f1314-e024-4c0e-ad6f-acddaa43bb40 auto_attach : [] controller : [505d73e7-4049-44b8-862c-e19e556bc051] datapath_id : "000016134f330e4c" datapath_type : system datapath_version : "<unknown>" external_ids : {bridge-id=br-ctlplane} fail_mode : secure flood_vlans : [] flow_tables : {} ipfix : [] mcast_snooping_enable: false mirrors : [] name : br-ctlplane netflow : [] other_config : {mac-table-size="50000"} ports : [18c205e9-c869-4c0b-a24a-18e249cf4f3e, 90ab6c75-f108-4716-a328-9c26ba7b1a75] protocols : ["OpenFlow10", "OpenFlow13"] rstp_enable : false rstp_status : {} sflow : [] status : {} stp_enable : false ~~~ When it should run something similar to this manual command: ~~~ [root@undercloud-7 ~]# ovs-vsctl set bridge br-ctlplane other-config:mac-table-size=50000 [root@undercloud-7 ~]# ovs-vsctl list bridge br-ctlplane _uuid : d56235c5-4933-4334-b33b-be2134c99995 auto_attach : [] controller : [] datapath_id : "0000525400ec14c2" datapath_type : "" datapath_version : "<unknown>" external_ids : {bridge-id=br-ctlplane} fail_mode : standalone flood_vlans : [] flow_tables : {} ipfix : [] mcast_snooping_enable: false mirrors : [] name : br-ctlplane netflow : [] other_config : {hwaddr="52:54:00:ec:14:c2", mac-table-size="50000"} ports : [054cde3c-0e02-497d-ac25-be8e6992f708, fcbfcff7-d6b8-4bce-824d-085a681663cf] protocols : [] rstp_enable : false rstp_status : {} sflow : [] status : {} stp_enable : false [root@undercloud-7 ~]# [root@undercloud-7 ~]# ip link ls dev br-ctlplane 14: br-ctlplane: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/ether 52:54:00:ec:14:c2 brd ff:ff:ff:ff:ff:ff ~~~ The neutron OVS agent issue can be reproduced manually: ~~~ [root@undercloud-7 ~]# ovs-vsctl set bridge br-ctlplane other-config='{mac-table-size=50000}' [root@undercloud-7 ~]# ovs-vsctl list bridge br-ctlplane | grep other other_config : {mac-table-size="50000"} [root@undercloud-7 ~]# ip link ls dev br-ctlplane 14: br-ctlplane: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/ether c6:35:62:d5:34:43 brd ff:ff:ff:ff:ff:ff [root@undercloud-7 ~]# ~~~ ** Affects: neutron Importance: Undecided Status: New -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/1795716 Title: neutron-openvswitch-agent deletes existing other_config and thus breaks undercloud's MAC address assignment in tripleo Status in neutron: New Bug description: https://github.com/openstack/neutron/commit/1f8378e0ac4b8c3fc4670144e6efc51940d796ad was supposed to change other-config:mac-table-size to set a higher value of mac-table-size option can be set for bridge. Instead, it overwrites the entire other-config array and thus interferes with tripleo's undercloud settings where other-config:hwaddr is a requirement. neutron-openvswitch-agent thus resets the MAC address to a random value although it should be fixed to the underlying interface's MAC> The original bridge configuration is: ~~~ ov[root@undercloud-7 ~]# ovs-vsctl list-bridge br-ctlplane ovs-vsctl: unknown command 'list-bridge'; use --help for help [root@undercloud-7 ~]# ovs-vsctl list bridge br-ctlplane _uuid : d56235c5-4933-4334-b33b-be2134c99995 auto_attach : [] controller : [] datapath_id : "0000525400ec14c2" datapath_type : "" datapath_version : "<unknown>" external_ids : {bridge-id=br-ctlplane} fail_mode : standalone flood_vlans : [] flow_tables : {} ipfix : [] mcast_snooping_enable: false mirrors : [] name : br-ctlplane netflow : [] other_config : {hwaddr="52:54:00:ec:14:c2"} ports : [054cde3c-0e02-497d-ac25-be8e6992f708, fcbfcff7-d6b8-4bce-824d-085a681663cf] protocols : [] rstp_enable : false rstp_status : {} sflow : [] status : {} stp_enable : false ~~~ The new version of neutron-openvswitch-agent sets this: ~~~ 2018-10-02 12:31:43.032 3949 DEBUG neutron.agent.ovsdb.impl_idl [-] Running txn command(idx=1): DbSetCommand(table=Bridge, col_values=(('other_config', {'mac-table-size': '50000'}),), record=br-ctlplane) do_commit /usr/lib/python2.7/site-packages/neutron/agent/ovsdb/impl_idl.py:98 ~~~ Which removes the hwaddr: ~~~ [root@undercloud-7 ~]# ovs-vsctl list bridge br-ctlplane _uuid : 334f1314-e024-4c0e-ad6f-acddaa43bb40 auto_attach : [] controller : [505d73e7-4049-44b8-862c-e19e556bc051] datapath_id : "000016134f330e4c" datapath_type : system datapath_version : "<unknown>" external_ids : {bridge-id=br-ctlplane} fail_mode : secure flood_vlans : [] flow_tables : {} ipfix : [] mcast_snooping_enable: false mirrors : [] name : br-ctlplane netflow : [] other_config : {mac-table-size="50000"} ports : [18c205e9-c869-4c0b-a24a-18e249cf4f3e, 90ab6c75-f108-4716-a328-9c26ba7b1a75] protocols : ["OpenFlow10", "OpenFlow13"] rstp_enable : false rstp_status : {} sflow : [] status : {} stp_enable : false ~~~ When it should run something similar to this manual command: ~~~ [root@undercloud-7 ~]# ovs-vsctl set bridge br-ctlplane other-config:mac-table-size=50000 [root@undercloud-7 ~]# ovs-vsctl list bridge br-ctlplane _uuid : d56235c5-4933-4334-b33b-be2134c99995 auto_attach : [] controller : [] datapath_id : "0000525400ec14c2" datapath_type : "" datapath_version : "<unknown>" external_ids : {bridge-id=br-ctlplane} fail_mode : standalone flood_vlans : [] flow_tables : {} ipfix : [] mcast_snooping_enable: false mirrors : [] name : br-ctlplane netflow : [] other_config : {hwaddr="52:54:00:ec:14:c2", mac-table-size="50000"} ports : [054cde3c-0e02-497d-ac25-be8e6992f708, fcbfcff7-d6b8-4bce-824d-085a681663cf] protocols : [] rstp_enable : false rstp_status : {} sflow : [] status : {} stp_enable : false [root@undercloud-7 ~]# [root@undercloud-7 ~]# ip link ls dev br-ctlplane 14: br-ctlplane: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/ether 52:54:00:ec:14:c2 brd ff:ff:ff:ff:ff:ff ~~~ The neutron OVS agent issue can be reproduced manually: ~~~ [root@undercloud-7 ~]# ovs-vsctl set bridge br-ctlplane other-config='{mac-table-size=50000}' [root@undercloud-7 ~]# ovs-vsctl list bridge br-ctlplane | grep other other_config : {mac-table-size="50000"} [root@undercloud-7 ~]# ip link ls dev br-ctlplane 14: br-ctlplane: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/ether c6:35:62:d5:34:43 brd ff:ff:ff:ff:ff:ff [root@undercloud-7 ~]# ~~~ To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1795716/+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