Fix scale issue in case of services_sync_needed v1
Currently, if a RPC timeout occurs during a AMQP call, a full
firewall sync is performed by L3 agent.
Full sync process_services_sync actually works as bellow in v1:
1. get_tenants_with_firewalls RPC call is sent
2. neutron server respond with ALL tenants
3. for each tenant (even if tenant is not schedule on this L3 agent):
=> retrieve firewall rules using RPC call get_firewalls_for_tenant
This process is really inefficient, it will just flood a neutron server
process which is already fully busy (cf: RPC Timeout on previous call).
This patch return to get_tenants_with_firewalls call
only tenants with firewalls which are scheduled on this agent.
Same approach can be apply to firewall v2 version, it will be done
in a next patch.
Reviewed: https:/ /review. openstack. org/424551 /git.openstack. org/cgit/ openstack/ neutron- fwaas/commit/ ?id=bd8c8af160b a428f0b5526d232 b479c46bf6b321
Committed: https:/
Submitter: Jenkins
Branch: master
commit bd8c8af160ba428 f0b5526d232b479 c46bf6b321
Author: Bertrand Lallau <email address hidden>
Date: Tue Jan 24 09:41:13 2017 +0100
Fix scale issue in case of services_ sync_needed v1
Currently, if a RPC timeout occurs during a AMQP call, a full
firewall sync is performed by L3 agent.
Full sync process_ services_ sync actually works as bellow in v1:
1. get_tenants_ with_firewalls RPC call is sent for_tenant
2. neutron server respond with ALL tenants
3. for each tenant (even if tenant is not schedule on this L3 agent):
=> retrieve firewall rules using RPC call get_firewalls_
This process is really inefficient, it will just flood a neutron server
process which is already fully busy (cf: RPC Timeout on previous call).
This patch return to get_tenants_ with_firewalls call
only tenants with firewalls which are scheduled on this agent.
Same approach can be apply to firewall v2 version, it will be done
in a next patch.
Change-Id: I75a047e5ab8bec 8893971ea2430c6 8bfb7027512
Partial-Bug: #1618244