Ahmad, No, the networks can not be merged. The management server must be able to control the SSVMs in each zone via the host-only network, and each host must be able to communicate with the Internet to reach S3 and download templates/ISOs. However, I have found a fix for the problem. In order to bind the VIF to the proper network, the name-label Xen network must match the Xen traffic label specified for the network. For example, I have the following Xen networks defined:
root@zone1:/opt/cloudstack/apache-tomcat-6.0.32/bin# xe network-list uuid ( RO) : 8ee927b1-a35d-ac10-4471-d7a6a475839a name-label ( RW): xenbr0 name-description ( RW): bridge ( RO): xenbr0 uuid ( RO) : 7ed0b82e-68f6-b26f-cbac-8590f1f5a09d name-label ( RW): Host internal management network name-description ( RW): Network on which guests will be assigned a private link-local IP address which can be used to talk XenAPI bridge ( RO): xenapi uuid ( RO) : 1679ddb1-5a21-b827-ab07-c16275d5ce72 name-label ( RW): xenbr1 name-description ( RW): xenbr1 bridge ( RO): xenbr1 uuid ( RO) : c67782a0-ea0e-8d50-ad09-9f3fff8a4ca1 name-label ( RW): cloud_link_local_network name-description ( RW): link local network used by system vms bridge ( RO): xapi0 (N.B. These labels are set using the xe network-param-set uuid=<network id> name-label=<CloudStack traffic label> command). To ease the correlation of physical devices with CloudStack and Xen, I have set the name-labels to the device name for xenbr0 and xenbr1. In my configuration, the xenbr0 name-label is the management network and the xenbr1 name-label is the guest network. Therefore, the following Marvin configuration snippet with create management and guest networks with VIFs bound to the correct devices: "physical_networks": [ { "broadcastdomainrange": "Zone", "name": "zone00-pn00", "traffictypes": [ { "labeldict": { "xen": "xenbr1" }, "typ": "Guest" }, { "labeldict": { "xen": "xenbr0" }, "typ": "Management" } ], "providers": [ { "broadcastdomainrange": "ZONE", "name": "VirtualRouter" }, { "broadcastdomainrange": "Pod", "name": "SecurityGroupProvider" } ] } ], Another item to note is that the traffic type labels must be specified in a child JSON map named "labeldict" which is slightly different than the guidance below. Additionally, I discovered a bug [1] in the parsing of this map and a logical swap of the KVM and Xen labels. I have since submitted a patch to correct it [2], and Chip has merged it into master. Therefore, a repo must contain commit 14f589702a3a4a473d661677b02f254f5dca9016 for the JSON specified above to function properly. I have been able to find this information in the documentation. Therefore, I have opened an enhancement ticket [3] to add this information to the Xen-specific network configuration documentation. Thanks for all of your help, -John [1] https://issues.apache.org/jira/browse/CLOUDSTACK-660 [2] https://reviews.apache.org/r/8669/ [3] https://issues.apache.org/jira/browse/CLOUDSTACK-661 On Dec 17, 2012, at 4:43 PM, Ahmad Emneina <ahmad.emne...@citrix.com> wrote: > Hey John, > > Would it be painful to merge the networks, to one physical network? I believe > anthony thinks basic + multiple physical networks doesn’t/wont work. This > might also narrow down where the issue could be. > > On 12/17/12 9:01 AM, "John Burwell" > <jburw...@basho.com<mailto:jburw...@basho.com>> wrote: > > Prasanna, > > I applied the changes suggested below, and the host now fails to startup > properly with the following error in the log: > > 2012-12-17 08:59:56,408 WARN [cloud.resource.ResourceManagerImpl] > (AgentTaskPool-2:null) Unable to connect due to > com.cloud.exception.ConnectionException: Incorrect Network setup on agent, > Reinitialize agent after network names are setup, details > : For Physical Network id:200, Guest Network is not configured on the backend > by name cloud-guest > at > com.cloud.network.NetworkManagerImpl.processConnect(NetworkManagerImpl.java:6656) > at > com.cloud.agent.manager.AgentManagerImpl.notifyMonitorsOfConnection(AgentManagerImpl.java:611) > at > com.cloud.agent.manager.AgentManagerImpl.handleDirectConnectAgent(AgentManagerImpl.java:1502) > at > com.cloud.resource.ResourceManagerImpl.createHostAndAgent(ResourceManagerImpl.java:1648) > at > com.cloud.resource.ResourceManagerImpl.createHostAndAgent(ResourceManagerImpl.java:1685) > at > com.cloud.agent.manager.AgentManagerImpl$SimulateStartTask.run(AgentManagerImpl.java:1152) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) > at java.lang.Thread.run(Thread.java:679) > 2012-12-17 08:59:56,408 DEBUG [cloud.host.Status] (AgentTaskPool-2:null) > Transition:[Resource state = Enabled, Agent event = AgentDisconnected, Host > id = 1, name = devcloud] > > > I have also attached a copy of my Marvin configuration for your reference. > > Thanks for your help, > -John > > > > -- > Æ