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
> 
> 
> 
> --
> Æ

Reply via email to