yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #91855
[Bug 2018599] [NEW] Disable config option use_random_fully does not work
Public bug reported:
Summary.
We use neutron ml2/ovs plugin. Version of neutron is Ussuri. We set config option use_random_fully=false.
After reboot neutron-l3-agent only one router configured without iptables option "--random-fully" in SNAT configuration, all other routers, including newly created ones, continue to be configured with option "--random-fully"
How to reproduce.
1) Create 2 routers in different projectes.
2) Create 2 floating ip and allocate them to this routers.
3) Set use_random_fully=false in section [agent] of neutron l3-agent config.
4) Reboot l3-agent
As result one router will be configured without --random-fully option, another one with it. And newly created routers with floating ip also will be configured with --random-fully
Reason of that behavior.
For confuguration routers(linux namespaces) created separate instance of IptablesManager class witch have property for check of usage random-fully option
https://github.com/openstack/neutron/blob/stable/ussuri/neutron/agent/linux/iptables_manager.py#L494
Step 1.
When neutron l3 agent call this property first time on first instance of IptablesManager, this property sets to CLASS variable _random_fully value True,
https://github.com/openstack/neutron/blob/stable/ussuri/neutron/agent/linux/iptables_manager.py#L499
then check configuration and set instance variable _random_fully value False and return False.
https://github.com/openstack/neutron/blob/stable/ussuri/neutron/agent/linux/iptables_manager.py#L502-L505
Step 2.
After neutron l3 agent calls on second instance of IptablesManager property random_fully.
And on line
https://github.com/openstack/neutron/blob/stable/ussuri/neutron/agent/linux/iptables_manager.py#L495
according to MRO algorithm founded variable _random_fully in class not in instance.
On previous setp what variable was set to True. So property returns
True.
As result we have one router configured correctly, and all the others
not(according to config).
We need to disable usage "--random-fully" options due to it critical for
our applications.
** 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/2018599
Title:
Disable config option use_random_fully does not work
Status in neutron:
New
Bug description:
Summary.
We use neutron ml2/ovs plugin. Version of neutron is Ussuri. We set config option use_random_fully=false.
After reboot neutron-l3-agent only one router configured without iptables option "--random-fully" in SNAT configuration, all other routers, including newly created ones, continue to be configured with option "--random-fully"
How to reproduce.
1) Create 2 routers in different projectes.
2) Create 2 floating ip and allocate them to this routers.
3) Set use_random_fully=false in section [agent] of neutron l3-agent config.
4) Reboot l3-agent
As result one router will be configured without --random-fully option, another one with it. And newly created routers with floating ip also will be configured with --random-fully
Reason of that behavior.
For confuguration routers(linux namespaces) created separate instance of IptablesManager class witch have property for check of usage random-fully option
https://github.com/openstack/neutron/blob/stable/ussuri/neutron/agent/linux/iptables_manager.py#L494
Step 1.
When neutron l3 agent call this property first time on first instance of IptablesManager, this property sets to CLASS variable _random_fully value True,
https://github.com/openstack/neutron/blob/stable/ussuri/neutron/agent/linux/iptables_manager.py#L499
then check configuration and set instance variable _random_fully value False and return False.
https://github.com/openstack/neutron/blob/stable/ussuri/neutron/agent/linux/iptables_manager.py#L502-L505
Step 2.
After neutron l3 agent calls on second instance of IptablesManager property random_fully.
And on line
https://github.com/openstack/neutron/blob/stable/ussuri/neutron/agent/linux/iptables_manager.py#L495
according to MRO algorithm founded variable _random_fully in class not in instance.
On previous setp what variable was set to True. So property returns
True.
As result we have one router configured correctly, and all the others
not(according to config).
We need to disable usage "--random-fully" options due to it critical
for our applications.
To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/2018599/+subscriptions
Follow ups