2012-04-26 10:50:38 |
Mandar Vaze |
description |
Scenario :
========
Two hosts running nova-network process for two networks
HostA for networkA (say 10.0.8.0/24)
HostB for networkB (say 10.0.9.0/24)
Both these networks are associated with a tenant (say Demo)
Expected Result :
==============
When we launch an new VM instance, allocate_for_instance() request should go to each HostA and HostB (for networkA and networkB respectively)
Actual Result :
============
Request randomly goes to HostA or HostB
Additional Background :
===================
VlanManager::allocate_for_instance has following code in RPCAllocateFixedIP::_allocate_fixed_ips
if host is None:
host = rpc.call(context, FLAGS.network_topic,
{'method': 'set_network_host',
'args': {'network_ref':
utils.to_primitive(network)}})
However QuantumManager does not inherit RPCAllocateFixedIP.
Thus if we boot more than two nova-network, QuantumManager::allocate_for_instance will be run on nova-networks randomly.
So QuantumManager can not update dnsmasq settings correctly. |
Scenario :
========
Two hosts running nova-network process for two networks
HostA for networkA (say 10.0.8.0/24)
HostB for networkB (say 10.0.9.0/24)
Both these networks are associated with a tenant (say Demo)
Expected Result :
==============
When we launch an new VM instance, dnsmasq setup related requests from allocate_for_instance() request should go to each HostA and HostB (for networkA and networkB respectively)
Actual Result :
============
dnsmasq setup related request randomly goes to HostA or HostB
Additional Background :
===================
During init_host() - QuantumManager incorrectly associates self.host for all the networks, so any host associations done via "nova-manage network modify --host" are lost if one of the nova-network restarts. (In this case, both nova-networks are now "owned" by nova-network process that restarted)
So now, QuantumManager can not update dnsmasq settings correctly. |
|