(I think the agent still thinks this is a HA router...)
and then:
2018-02-13 14:14:59.839 2065380 DEBUG neutron.agent.l3.ha [-] Updating server with HA routers states {'28015629-217b-4eec-b557-6f93a2bb0230': 'active', '237d2839-5687-4104-9270-ff974de59800': 'active', '266167d5-39e5-4d97-a3a8-45d4ddad9407': 'active', '213b6544-ab4b-4e46-a5c6-5d8d587a0c6d': 'active', '2367f6bd-02c1-4ef1-a642-fe54d916fe2e': 'active'} notify_server /usr/lib/python2.7/dist-packages/neutron/agent/l3/ha.py:177
and slight after:
2018-02-13 14:18:08.275 2065380 ERROR neutron.agent.l3.router_info [-] 'NoneType' object has no attribute 'remove_vip_by_ip_address'
This seems to support the theory that the HA router never actually gets torn down before the new non-ha router is scheduled to the same network node, resulting in the agent not really knowing whether the router is arthur or marther.
Some sequencing:
unbind from agent message inbound:
2018-02-13 14:12:57.931 2065380 DEBUG neutron. agent.l3. agent [req-13456a6c- 5583-4147- 9b47-94026ea7f3 b4 b327544aba2a482 b9f12f1e6e615c3 94 9a4311b33381401 fbc835c739981ce 03 - - -] Got router removed from agent :{u'router_id': u'213b6544- ab4b-4e46- a5c6-5d8d587a0c 6d'} router_ removed_ from_agent /usr/lib/ python2. 7/dist- packages/ neutron/ agent/l3/ agent.py: 419
some sort of update message:
2018-02-13 14:13:00.667 2065380 DEBUG neutron. agent.l3. agent [req-13456a6c- 5583-4147- 9b47-94026ea7f3 b4 b327544aba2a482 b9f12f1e6e615c3 94 9a4311b33381401 fbc835c739981ce 03 - - -] Got routers updated notification :[u'213b6544- ab4b-4e46- a5c6-5d8d587a0c 6d'] routers_updated /usr/lib/ python2. 7/dist- packages/ neutron/ agent/l3/ agent.py: 409
and then we see a state change on the router (goes to master) inferring that no teardown has occurred since the first message above:
2018-02-13 14:14:33.113 2065380 DEBUG neutron.agent.l3.ha [-] Handling notification for router 213b6544- ab4b-4e46- a5c6-5d8d587a0c 6d, state master enqueue /usr/lib/ python2. 7/dist- packages/ neutron/ agent/l3/ ha.py:50 ab4b-4e46- a5c6-5d8d587a0c 6d transitioned to master
2018-02-13 14:14:33.113 2065380 INFO neutron.agent.l3.ha [-] Router 213b6544-
and then:
2018-02-13 14:14:40.380 2065380 DEBUG neutron.agent.l3.ha [-] Spawning metadata proxy for router 213b6544- ab4b-4e46- a5c6-5d8d587a0c 6d _update_ metadata_ proxy /usr/lib/ python2. 7/dist- packages/ neutron/ agent/l3/ ha.py:156
(I think the agent still thinks this is a HA router...)
and then:
2018-02-13 14:14:59.839 2065380 DEBUG neutron.agent.l3.ha [-] Updating server with HA routers states {'28015629- 217b-4eec- b557-6f93a2bb02 30': 'active', '237d2839- 5687-4104- 9270-ff974de598 00': 'active', '266167d5- 39e5-4d97- a3a8-45d4ddad94 07': 'active', '213b6544- ab4b-4e46- a5c6-5d8d587a0c 6d': 'active', '2367f6bd- 02c1-4ef1- a642-fe54d916fe 2e': 'active'} notify_server /usr/lib/ python2. 7/dist- packages/ neutron/ agent/l3/ ha.py:177
and slight after:
2018-02-13 14:18:08.275 2065380 ERROR neutron. agent.l3. router_ info [-] 'NoneType' object has no attribute 'remove_ vip_by_ ip_address'
This seems to support the theory that the HA router never actually gets torn down before the new non-ha router is scheduled to the same network node, resulting in the agent not really knowing whether the router is arthur or marther.