Fixed L3 agent manual scheduling for HA routers
When a router is manually scheduled we check if a router can be scheduled
to the given L3 agent. In this check we were missing handling for
HA router, instead we raised an exception as a last resort.
In addition, we create an HA port on the newly scheduled agent.
The HA port is created within the router's namespace on that agent.
Previously when manually scheduling this was not done at all.
This patch takes care of HA routers by allowing them to be
manually scheduled to a L3 agent if the router is not already
scheduled to that given L3 agent.
The patch also adds an HA port in the router's namespace on the newly
scheduled L3 agent.
In addition the patch also removes the 'max_l3_agents_per_router'
enforcement when manually schedulling a router on a agent. This is
done as the admin should be able to schedule a router on an agent
if he desires, moreover this is consistent with the
'min_l3_agents_per_router' that is not enforced when manually
descheduling a router from an agent.
Co-Authored-By: gong yong sheng <gong.yongsheng@99cloud.net>
Co-Authored-By: Nir Magnezi <nmagnezi@redhat.com>
Closes-Bug: #
1401095
Change-Id: I1e2d281cfec50e7fff4ec68659882fc7c0cb4a29