Network/Router agent rebalancing bug fix.
Add fix to ignore down agents in rescheduling. Change-Id: I5d06bd489f2d67be996e55608b77e31c1ed85114 Closes-Bug: #1824027 Signed-off-by: Kevin Smith <kevin.smith@windriver.com>
This commit is contained in:
parent
c38bfbb4ab
commit
f6736a4b0c
@ -45,10 +45,15 @@ def build_get_agents_response():
|
||||
NUM_AGENTS = random.randint(2, MAX_AGENTS - 1)
|
||||
for x in range(0, NUM_AGENTS):
|
||||
host_name = "compute-" + str(x)
|
||||
admin_state_up = True
|
||||
# randomly set admin_state_up on some agents to False
|
||||
admin_state_down = random.randint(0, 5)
|
||||
if admin_state_down == 0:
|
||||
admin_state_up = False
|
||||
get_agents_response_entry = \
|
||||
{"host": host_name, "agent_type": "DHCP agent",
|
||||
"id": host_name + "_id", "alive": True,
|
||||
"admin_state_up": True}
|
||||
"admin_state_up": admin_state_up}
|
||||
get_agents_response['result-data'].append(get_agents_response_entry)
|
||||
add_to_fake_host_table(host_name)
|
||||
|
||||
|
@ -49,10 +49,15 @@ def build_get_agents_response():
|
||||
NUM_AGENTS = random.randint(0, MAX_AGENTS - 1)
|
||||
for x in range(0, NUM_AGENTS):
|
||||
host_name = "compute-" + str(x)
|
||||
admin_state_up = True
|
||||
# randomly set admin_state_up on some agents to False
|
||||
admin_state_down = random.randint(0, 5)
|
||||
if admin_state_down == 0:
|
||||
admin_state_up = False
|
||||
get_agents_response_entry = \
|
||||
{"host": host_name, "agent_type": "L3 agent",
|
||||
"id": host_name + "_id", "alive": True,
|
||||
"admin_state_up": True}
|
||||
"admin_state_up": admin_state_up}
|
||||
get_agents_response['result-data'].append(get_agents_response_entry)
|
||||
add_to_fake_host_table(host_name)
|
||||
|
||||
|
@ -124,7 +124,7 @@ class DHCPAgentRebalance(object):
|
||||
_DHCPRebalance.num_networks_on_agents.append(
|
||||
len(_DHCPRebalance.network_ids_per_agent[agent_id]))
|
||||
self.dhcpagent_idx += 1
|
||||
return self.dhcpagent_idx == self.num_dhcp_agents
|
||||
return self.dhcpagent_idx >= self.num_dhcp_agents
|
||||
|
||||
def get_host_id_of_current_dhcp_agent(self):
|
||||
return self.dhcp_agents[self.dhcpagent_idx]['host_uuid']
|
||||
@ -137,7 +137,7 @@ class DHCPAgentRebalance(object):
|
||||
|
||||
def datanetworks_done(self):
|
||||
self.dhcpagent_idx += 1
|
||||
if self.dhcpagent_idx == self.num_dhcp_agents:
|
||||
if self.dhcpagent_idx >= self.num_dhcp_agents:
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
@ -187,6 +187,7 @@ class DHCPAgentRebalance(object):
|
||||
# (if applicable) first in the list.
|
||||
if agent['host'] == self.get_working_host():
|
||||
self.dhcp_agents.insert(0, agent_info_dict)
|
||||
self.add_agent(agent['id'])
|
||||
elif agent['alive'] and agent['admin_state_up']:
|
||||
self.dhcp_agents.append(agent_info_dict)
|
||||
self.add_agent(agent['id'])
|
||||
|
@ -129,7 +129,7 @@ class L3AgentRebalance(object):
|
||||
_L3Rebalance.num_routers_on_agents.append(
|
||||
len(_L3Rebalance.router_ids_per_agent[agent_id]))
|
||||
self.l3agent_idx += 1
|
||||
return self.l3agent_idx == self.num_l3agents
|
||||
return self.l3agent_idx >= self.num_l3agents
|
||||
|
||||
def add_network_to_router(self, router_to_resched, network_id):
|
||||
self.networks_per_router[router_to_resched].append(network_id)
|
||||
@ -145,7 +145,7 @@ class L3AgentRebalance(object):
|
||||
self.router_idx = 0
|
||||
self.l3agent_idx += 1
|
||||
if (((self.working_host is not None) and (self.l3agent_idx == 1))
|
||||
or (self.l3agent_idx == self.num_l3agents)):
|
||||
or (self.l3agent_idx >= self.num_l3agents)):
|
||||
# We have router port info for all routers on all agents
|
||||
# that we care about. Get the Physical Network info for these.
|
||||
return True
|
||||
@ -223,7 +223,7 @@ class L3AgentRebalance(object):
|
||||
|
||||
def datanetworks_done(self):
|
||||
self.l3agent_idx += 1
|
||||
if self.l3agent_idx == self.num_l3agents:
|
||||
if self.l3agent_idx >= self.num_l3agents:
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
@ -278,6 +278,7 @@ class L3AgentRebalance(object):
|
||||
# (if applicable) first in the list.
|
||||
if agent['host'] == self.get_working_host():
|
||||
self.l3agents.insert(0, agent_info_dict)
|
||||
self.add_agent(agent['id'])
|
||||
elif agent['alive'] and agent['admin_state_up']:
|
||||
self.l3agents.append(agent_info_dict)
|
||||
self.add_agent(agent['id'])
|
||||
|
Loading…
Reference in New Issue
Block a user