You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cloudstack.apache.org by "Gerolamo Valcamonica (JIRA)" <ji...@apache.org> on 2014/10/10 16:48:33 UTC

[jira] [Created] (CLOUDSTACK-7696) Console proxy VM won't start. Unable to add port to OVS bridge

Gerolamo Valcamonica created CLOUDSTACK-7696:
------------------------------------------------

             Summary: Console proxy VM won't start. Unable to add port to OVS bridge
                 Key: CLOUDSTACK-7696
                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-7696
             Project: CloudStack
          Issue Type: Bug
      Security Level: Public (Anyone can view this level - this is the default.)
          Components: SystemVM
    Affects Versions: 4.3.0
            Reporter: Gerolamo Valcamonica


I have a problem with console proxy.
After a long time I restarted it because of upgrading SSL certificates.

Unfortunately console proxy virtual machine won't start anymore.

I can see this in the libvirt logs:
=============================
2014-09-30 21:25:28.903+0000: 13547: error : virCommandWait:2399 : internal error: Child process (ovs-vsctl --timeout=5 -- --may-exist add-port management vnet1 -- set Interface vnet1 'external-ids:attached-mac="06:59:5a:00:00:1f"' -- set Interface vnet1 'external-ids:iface-id="3eac9df5-8288-4ca5-b76a-545b1b96e4cf"' -- set Interface vnet1 'external-ids:vm-id="5c97bbfd-2161-441c-a6a6-68a1ec78402c"' -- set Interface vnet1 external-ids:iface-status=active) unexpected exit status 1: ovs-vsctl: no bridge named management

And this in agent log:
=============================
2014-09-30 23:11:16,779 WARN [kvm.resource.LibvirtComputingResource] (agentRequest-Handler-5:null) LibvirtException
org.libvirt.LibvirtException: Unable to add port vnet1 to OVS bridge management: Operation not permitted
        at org.libvirt.ErrorHandler.processError(Unknown Source)
        at org.libvirt.Connect.processError(Unknown Source)
        at org.libvirt.Connect.processError(Unknown Source)
        at org.libvirt.Connect.domainCreateXML(Unknown Source)
        at com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.startVM(LibvirtComputingResource.java:1213)
        at com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.execute(LibvirtComputingResource.java:3659)
        at com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.executeRequest(LibvirtComputingResource.java:1307)
        at com.cloud.agent.Agent.processRequest(Agent.java:498)
        at com.cloud.agent.Agent$AgentRequestHandler.doTask(Agent.java:806)
        at com.cloud.utils.nio.Task.run(Task.java:83)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
2014-09-30 23:11:16,780 DEBUG [kvm.storage.KVMStoragePoolManager] (agentRequest-Handler-5:null) Disconnecting disk ab234ec9-d8cf-410a-b849-0ec3859c2a06
2014-09-30 23:11:17,769 DEBUG [cloud.agent.Agent] (agentRequest-Handler-5:null) Seq 3-1904869421:  { Ans: , MgmtId: 186916991823178, via: 3, Ver: v1, Flags: 10, [{"com.cloud.agent.api.StartAnswer":{"vm":{"id":405,"name":"v-405-VM","type":"ConsoleProxy","cpus":1,"minSpeed":454,"maxSpeed":500,"minRam":1073741824,"maxRam":1073741824,"arch":"x86_64","os":"Debian GNU/Linux 7(64-bit)","bootArgs":" template=domP type=consoleproxy host=10.0.1.1 port=8250 name=v-405-VM premium=true zone=1 pod=1 guid=Proxy.405 proxy_vm=405 disable_rp_filter=true eth2ip=XXX.YYY.248.144 eth2mask=255.255.255.0 gateway=XXX.YYY.248.254 eth0ip=169.254.1.24 eth0mask=255.255.0.0 eth1ip=10.0.1.33 eth1mask=255.255.255.0 mgmtcidr=10.0.1.0/24 localgw=10.0.1.1 internaldns1=10.0.1.1 dns1=XXX.YYY.248.1 dns2=8.8.8.8","rebootOnCrash":false,"enableHA":false,"limitCpuUse":false,"enableDynamicallyScaleVm":false,"vncPassword":"c21eae05c175155f","vncAddr":"10.0.1.104","params":{"memoryOvercommitRatio":"1","cpuOvercommitRatio":"1.1"},"uuid":"5c97bbfd-2161-441c-a6a6-68a1ec78402c","disks":[{"data":{"org.apache.cloudstack.storage.to.VolumeObjectTO":{"uuid":"ab234ec9-d8cf-410a-b849-0ec3859c2a06","volumeType":"ROOT","dataStore":{"org.apache.cloudstack.storage.to.PrimaryDataStoreTO":{"uuid":"0fe7281f-bfde-3260-964b-45a9d461006a","id":201,"poolType":"RBD","host":"ceph-int.xxxxxxxxxxxxx.com","path":"rbd","port":6789,"url":"RBD://ceph-int.xxxxxxxxxxxxx.com/rbd/?ROLE=Primary&STOREUUID=0fe7281f-bfde-3260-964b-45a9d461006a"}},"name":"ROOT-405","size":2621440000,"path":"ab234ec9-d8cf-410a-b849-0ec3859c2a06","volumeId":480,"vmName":"v-405-VM","accountId":1,"format":"RAW","id":480,"deviceId":0,"hypervisorType":"KVM"}},"diskSeq":0,"path":"ab234ec9-d8cf-410a-b849-0ec3859c2a06","type":"ROOT","_details":{"managed":"false","storagePort":"6789","storageHost":"ceph-int.xxxxxxxxxxxxx.com","volumeSize":"2621440000"}}],"nics":[{"deviceId":2,"networkRateMbps":-1,"defaultNic":true,"uuid":"ab6fca92-0aba-49bc-8024-08eba4686d8d","ip":"XXX.YYY.248.144","netmask":"255.255.255.0","gateway":"XXX.YYY.248.254","mac":"06:2e:e4:00:00:20","dns1":"XXX.YYY.248.1","dns2":"8.8.8.8","broadcastType":"Vlan","type":"Public","broadcastUri":"vlan://untagged","isolationUri":"vlan://untagged","isSecurityGroupEnabled":false,"name":"cloudbr1"},{"deviceId":0,"networkRateMbps":-1,"defaultNic":false,"uuid":"1ec8fc52-a8ac-4c02-b389-7b6575ad4a0e","ip":"169.254.1.24","netmask":"255.255.0.0","gateway":"169.254.0.1","mac":"0e:00:a9:fe:01:18","broadcastType":"LinkLocal","type":"Control","isSecurityGroupEnabled":false},{"deviceId":1,"networkRateMbps":-1,"defaultNic":false,"uuid":"86779b11-a440-4b2d-ab4b-21128b0acaa0","ip":"10.0.1.33","netmask":"255.255.255.0","gateway":"10.0.1.1","mac":"06:91:ee:00:00:0e","broadcastType":"Native","type":"Management","isSecurityGroupEnabled":false,"name":"cloudbr0"}]},"result":false,"details":"Unable to add port vnet1 to OVS bridge management: Operation not permitted","wait":0}},{"com.cloud.agent.api.Answer":{"result":false,"details":"Stopped by previous failure","wait":0}}] }


Other data are:
=============================
ovs-vsctl show :

a2dcba6a-3aba-424a-9c8a-5c19f689ba69
    Bridge "cloud0"
        Port "vnet0"
            Interface "vnet0"
        Port "cloud0"
            Interface "cloud0"
                type: internal
    Bridge "cloudbr0"
        Port "cloudbr0"
            Interface "cloudbr0"
                type: internal
        Port bondBE
            Interface "eth1"
            Interface "eth2"
        Port management
            Interface management
                type: internal
        Port storage
            Interface storage
                type: internal
        Port "vnet1"
            Interface "vnet1"
    Bridge "cloudbr1"
        Port bondFE
            Interface "eth3"
            Interface "eth0"
        Port "vnet2"
            Interface "vnet2"
        Port "cloudbr1"
            Interface "cloudbr1"
                type: internal
    ovs_version: "2.0.1"

=============================
agent.properties:

#Storage
#Tue Sep 30 23:43:36 CEST 2014
guest.network.device=cloudbr1
workers=5
private.network.device=management
network.bridge.type=openvswitch
port=8250
resource=com.cloud.hypervisor.kvm.resource.LibvirtComputingResource
pod=1
storage.network.device=storage
zone=1
guid=5fba1db3-d7b2-379b-816f-0e6d0be99594
public.network.device=cloudbr1
cluster=1
local.storage.uuid=0c3487b4-0a53-4302-af9a-07d640826cc1
domr.scripts.dir=scripts/network/domr/kvm
LibvirtComputingResource.id=3
host=10.0.1.1
=============================

I tried a workaround changing agent.properties with
<< private.network.device=management
>>  private.network.device=cloudbr0

With this, console proxy starts on that host, but the host use the storage network as management network (assign the same ip to storage and management networks)
In addiction all VMs started on that host use storage network as management network.
Practically changing that setting in agent.properties cannot be a solution because of unwantend effects

It looks like console proxy creation process ignores parameters from creation command and takes network settings from private.network.device

But private.network.device value is not a bridge and so everithing goes wrong.




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)