You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cloudstack.apache.org by Wido den Hollander <wi...@widodh.nl> on 2012/10/11 16:52:40 UTC

[ASF40] CLOUDSTACK-316: Public network is set to cloudbr0

Hi,

While testing the 4.0.0 artifact before voting I ran into CLOUDSTACK-316 
which I just created.

Remember this:
* I used the WebUI with the wizard for adding a zone
* This UI ONLY lets you set Management and Guest labels
* Management was set to vlanbr670
* Guest was set to vlanbr672

I think QA didn't see this one since they test with cloudbr0 in their 
setup? Which I don't have!

Now I'd like to get some feedback on a potential fix I have:

When looking at KvmServerDiscoverer.java I see:

_kvmPrivateNic = _configDao.getValue(Config.KvmPrivateNetwork.key());
if (_kvmPrivateNic == null) {
	_kvmPrivateNic = "cloudbr0";
}
		
_kvmPublicNic = _configDao.getValue(Config.KvmPublicNetwork.key());
if (_kvmPublicNic == null) {
	_kvmPublicNic = _kvmPrivateNic;
}
		
_kvmGuestNic = _configDao.getValue(Config.KvmGuestNetwork.key());
if (_kvmGuestNic == null) {
	_kvmGuestNic = _kvmPrivateNic;
}

This is legacy code since these traffic labels were removed from the 
global configuration and moved to the network.

This however results in _kvmPrivateNic being set to "cloudbr0".

Looking further you'll find:

String kvmPrivateNic = _kvmPrivateNic;
String kvmPublicNic = _kvmPublicNic;
String kvmGuestNic = _kvmGuestNic;

for (PhysicalNetworkSetupInfo info : netInfos) {
	if (info.getPrivateNetworkName() != null) {
		kvmPrivateNic = info.getPrivateNetworkName();
	}
	if (info.getPublicNetworkName() != null) {
		kvmPublicNic = info.getPublicNetworkName();
	}
	if (info.getGuestNetworkName() != null) {
		kvmGuestNic = info.getGuestNetworkName();
	}
}

In this case getPublicNetworkName() returns null since it is not set and 
this leads to kvmPublicNic being set to "cloudbr0" as done by in the 
code I posted above.

This seems to be a mix of Legacy code (searching for traffic labels in 
global config) and not setting the public nic to the correct value later on.

My suggestion would be to:
* Have the UI always set the public network
* Default public network to guest network if not set

I think the solution would be a mix of both, but I just wanted to check 
this first before changing it.

I'd like to have a suggestion before changing this.

Wido