← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1622917] [NEW] Failed to update router to ha mode when overlapping is disabled

 

Public bug reported:

I tried to move users routers from non-ha to ha mode. I made neutron
router-update  $rid  --ha true; It works but only few times. When I try
to do it on fourth of fifth router - it fails with error:

Invalid input for operation: Requested subnet with cidr:
169.254.192.0/18 for network: 313e3e5e-79a8-42cd-bdf3-5d385682197a
overlaps with another subnet.

Unfortunately I did it in a loop with all routers, so all of remaining
non-ha routers became unusable. Network node with l3 agent was unable to
create virtual router giving error:

2016-09-12 19:18:35.827 9357 ERROR oslo_service.periodic_task   File "/usr/lib/python2.7/dist-packages/neutron/scheduler/l3_agent_scheduler.py", line 293, in create_ha_port_and_bind
2016-09-12 19:18:35.827 9357 ERROR oslo_service.periodic_task     ha_network.network.id, tenant_id)
2016-09-12 19:18:35.827 9357 ERROR oslo_service.periodic_task
2016-09-12 19:18:35.827 9357 ERROR oslo_service.periodic_task AttributeError: 'NoneType' object has no attribute 'network'

Trying to reverse operation "neutron router-update  $rid --ha false"
also fails (with the same error in neutron log), so after spending few
hours on diagnose the problem I found source of the problem and
solution. I had to manualy change ha mode in database
(router_extra_attributes  table) and routers became stable and working.
The problem is that allow_overlapping_ips = False prevents neutron from
creating HA network tenants which are using the same subnets
169.254.x.0/18.

My Openstack version is Liberty. So if there is no solution yet, let me propose two solutions:
- allow to create ha networks regardless of allow_overlapping_ips setting (but I think it can be hard to develop such exception)
- not to change ha mode of the router if ha network creating failed (the procedure create_ha_port_and_bind needs additonal exception).

** Affects: neutron
     Importance: Undecided
         Status: New


** Tags: l3-ha neutron

** Description changed:

  I tried to move users routers from non-ha to ha mode. I made neutron
  router-update  $rid  --ha true; It works but only few times. When I try
  to do it on fourth of fifth router - it fails with error:
  
  Invalid input for operation: Requested subnet with cidr:
  169.254.192.0/18 for network: 313e3e5e-79a8-42cd-bdf3-5d385682197a
  overlaps with another subnet.
  
  Unfortunately I did it in a loop with all routers, so all of remaining
  non-ha routers became unusable. Network node with l3 agent was unable to
  create virtual router giving error:
  
  2016-09-12 19:18:35.827 9357 ERROR oslo_service.periodic_task   File "/usr/lib/python2.7/dist-packages/neutron/scheduler/l3_agent_scheduler.py", line 293, in create_ha_port_and_bind
  2016-09-12 19:18:35.827 9357 ERROR oslo_service.periodic_task     ha_network.network.id, tenant_id)
  2016-09-12 19:18:35.827 9357 ERROR oslo_service.periodic_task
  2016-09-12 19:18:35.827 9357 ERROR oslo_service.periodic_task AttributeError: 'NoneType' object has no attribute 'network'
  
- Trying to reverse operation "neutron router-update  $rid --ha true" also
- fails, so after spending few hours on diagnose the problem I found
+ Trying to reverse operation "neutron router-update  $rid --ha false"
+ also fails, so after spending few hours on diagnose the problem I found
  source of the problem and solution. I had to manualy change ha mode in
  database (router_extra_attributes  table) and routers became stable and
  working. The problem is that allow_overlapping_ips = False prevents
  neutron from creating HA network tenants which are using the same
- subnets 169.254.192.0/18.
+ subnets 169.254.x.0/18.
  
  My Openstack version is Liberty. So if there is no solution yet, let me propose two solutions:
  - allow to create ha networks regardless of allow_overlapping_ips setting (but I think it can be hard to develop such exception)
  - not to change ha mode of the router if ha network creating failed (the procedure create_ha_port_and_bind needs additonal exception).

** Description changed:

  I tried to move users routers from non-ha to ha mode. I made neutron
  router-update  $rid  --ha true; It works but only few times. When I try
  to do it on fourth of fifth router - it fails with error:
  
  Invalid input for operation: Requested subnet with cidr:
  169.254.192.0/18 for network: 313e3e5e-79a8-42cd-bdf3-5d385682197a
  overlaps with another subnet.
  
  Unfortunately I did it in a loop with all routers, so all of remaining
  non-ha routers became unusable. Network node with l3 agent was unable to
  create virtual router giving error:
  
  2016-09-12 19:18:35.827 9357 ERROR oslo_service.periodic_task   File "/usr/lib/python2.7/dist-packages/neutron/scheduler/l3_agent_scheduler.py", line 293, in create_ha_port_and_bind
  2016-09-12 19:18:35.827 9357 ERROR oslo_service.periodic_task     ha_network.network.id, tenant_id)
  2016-09-12 19:18:35.827 9357 ERROR oslo_service.periodic_task
  2016-09-12 19:18:35.827 9357 ERROR oslo_service.periodic_task AttributeError: 'NoneType' object has no attribute 'network'
  
  Trying to reverse operation "neutron router-update  $rid --ha false"
- also fails, so after spending few hours on diagnose the problem I found
- source of the problem and solution. I had to manualy change ha mode in
- database (router_extra_attributes  table) and routers became stable and
- working. The problem is that allow_overlapping_ips = False prevents
- neutron from creating HA network tenants which are using the same
- subnets 169.254.x.0/18.
+ also fails (with the same error in neutron log), so after spending few
+ hours on diagnose the problem I found source of the problem and
+ solution. I had to manualy change ha mode in database
+ (router_extra_attributes  table) and routers became stable and working.
+ The problem is that allow_overlapping_ips = False prevents neutron from
+ creating HA network tenants which are using the same subnets
+ 169.254.x.0/18.
  
  My Openstack version is Liberty. So if there is no solution yet, let me propose two solutions:
  - allow to create ha networks regardless of allow_overlapping_ips setting (but I think it can be hard to develop such exception)
  - not to change ha mode of the router if ha network creating failed (the procedure create_ha_port_and_bind needs additonal exception).

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

Title:
  Failed to update router to ha mode when overlapping is disabled

Status in neutron:
  New

Bug description:
  I tried to move users routers from non-ha to ha mode. I made neutron
  router-update  $rid  --ha true; It works but only few times. When I
  try to do it on fourth of fifth router - it fails with error:

  Invalid input for operation: Requested subnet with cidr:
  169.254.192.0/18 for network: 313e3e5e-79a8-42cd-bdf3-5d385682197a
  overlaps with another subnet.

  Unfortunately I did it in a loop with all routers, so all of remaining
  non-ha routers became unusable. Network node with l3 agent was unable
  to create virtual router giving error:

  2016-09-12 19:18:35.827 9357 ERROR oslo_service.periodic_task   File "/usr/lib/python2.7/dist-packages/neutron/scheduler/l3_agent_scheduler.py", line 293, in create_ha_port_and_bind
  2016-09-12 19:18:35.827 9357 ERROR oslo_service.periodic_task     ha_network.network.id, tenant_id)
  2016-09-12 19:18:35.827 9357 ERROR oslo_service.periodic_task
  2016-09-12 19:18:35.827 9357 ERROR oslo_service.periodic_task AttributeError: 'NoneType' object has no attribute 'network'

  Trying to reverse operation "neutron router-update  $rid --ha false"
  also fails (with the same error in neutron log), so after spending few
  hours on diagnose the problem I found source of the problem and
  solution. I had to manualy change ha mode in database
  (router_extra_attributes  table) and routers became stable and
  working. The problem is that allow_overlapping_ips = False prevents
  neutron from creating HA network tenants which are using the same
  subnets 169.254.x.0/18.

  My Openstack version is Liberty. So if there is no solution yet, let me propose two solutions:
  - allow to create ha networks regardless of allow_overlapping_ips setting (but I think it can be hard to develop such exception)
  - not to change ha mode of the router if ha network creating failed (the procedure create_ha_port_and_bind needs additonal exception).

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


Follow ups