Sailaja Mada created CLOUDSTACK-4584:
----------------------------------------
Summary: [VMWARE]System VM's failed to start if nexus is enabled
at cloud level before upgrade but all the VMWARE clusters are with Standard
vSwitch
Key: CLOUDSTACK-4584
URL: https://issues.apache.org/jira/browse/CLOUDSTACK-4584
Project: CloudStack
Issue Type: Bug
Security Level: Public (Anyone can view this level - this is the default.)
Components: Network Devices, VMware
Affects Versions: 4.2.1
Reporter: Sailaja Mada
Fix For: 4.2.1
Steps:
1. Configure two zones with VMWARE cluster in 307 Patch B
2. Create two physical networks (1 for mgmt. 2 for public/guest )
3. Deploy VM's on these two zones
4. Enable nexus flag With no clusters on nexus vSwitch
5. Upgrade to 4.2
Observation:
System VM's failed to start if nexus is enabled at cloud level before upgrade
but all the VMWARE clusters are with Standard vSwitch
Root Cause: We are assuming that at cloud level if nexus is enabled then all
clusters switch type should get modified to Nexus only.
With that cluster_details table is updating the Switch type for public/Guest
traffic all the VMWARE clusters in the cloud to nexus type.
mysql> select * from cluster_details;
+----+------------+-----------------------+------------------------------------------+
| id | cluster_id | name | value
|
+----+------------+-----------------------+------------------------------------------+
| 1 | 1 | username | administrator
|
| 2 | 1 | password | XZCFHHifMgSGvFarPBx16cwqI9Y9Oadr
|
| 3 | 1 | url | http://10.102.192.248/307dc1/307c1
|
| 5 | 3 | username | administrator
|
| 6 | 3 | password | 6RJmckhfL31Y9BYv6DuCLZ094BWzE6ed
|
| 7 | 3 | url |
http://10.102.192.248/legacydc1/legacyc1 |
| 9 | 1 | guestvswitchtype | nexusdvs
|
| 10 | 1 | guestvswitchname | vSwitch1
|
| 11 | 1 | publicvswitchtype | nexusdvs
|
| 12 | 1 | publicvswitchname | vSwitch1
|
| 13 | 1 | guestvswitchtype | nexusdvs
|
| 14 | 1 | guestvswitchname | vSwitch1
|
| 15 | 1 | publicvswitchtype | nexusdvs
|
| 16 | 1 | publicvswitchname | vSwitch1
|
| 17 | 3 | guestvswitchtype | nexusdvs
|
| 18 | 3 | guestvswitchname | vSwitch1
|
| 19 | 3 | publicvswitchtype | nexusdvs
|
| 20 | 3 | publicvswitchname | vSwitch1
|
| 21 | 1 | cpuOvercommitRatio | 1
|
| 22 | 1 | memoryOvercommitRatio | 1
|
| 23 | 2 | cpuOvercommitRatio | 1
|
| 24 | 2 | memoryOvercommitRatio | 1
|
| 25 | 3 | cpuOvercommitRatio | 1
|
| 26 | 3 | memoryOvercommitRatio | 1
|
| 33 | 1 | NativeHA | false
|
| 34 | 3 | NativeHA | false
|
+----+------------+-----------------------+------------------------------------------+
26 rows in set (0.00 sec)
2013-08-31 16:10:33,109 INFO [vmware.resource.VmwareResource]
(DirectAgent-42:10.102.192.20) Preparing NIC device on network
cloud.private.untagged.0.1-vSwitch0
2013-08-31 16:10:33,109 DEBUG [vmware.resource.VmwareResource]
(DirectAgent-42:10.102.192.20) Prepare NIC at new device
{"operation":"ADD","device":{"addressType":"Manual","macAddress":"02:00:07:e2:00:02","key":-3,"backing":{"network":{"value":"network-12406","type":"Network"},"deviceName":"cloud.private.untagged.0.1-vSwitch0"},"connectable":{"startConnected":true,"allowGuestControl":true,"connected":true},"unitNumber":0}}
2013-08-31 16:10:33,109 INFO [vmware.resource.VmwareResource]
(DirectAgent-42:10.102.192.20) Prepare NIC device based on NicTO:
{"deviceId":1,"networkRateMbps":-1,"defaultNic":false,"uuid":"b5a549b4-caed-4e1c-a55d-d512fb073ace","ip":"10.102.195.114","netmask":"255.255.252.0","gateway":"10.102.192.1","mac":"06:ca:4e:00:00:05","broadcastType":"Native","type":"Management","isSecurityGroupEnabled":false,"name":"vSwitch0"}
2013-08-31 16:10:33,113 INFO [vmware.resource.VmwareResource]
(DirectAgent-42:10.102.192.20) Prepare network on vmwaresvs
P[vSwitch0:untagged] with name prefix: cloud.private
2013-08-31 16:10:33,177 INFO [vmware.mo.HypervisorHostHelper]
(DirectAgent-42:10.102.192.20) Network cloud.private.untagged.0.1-vSwitch0 is
ready on vSwitch vSwitch0
2013-08-31 16:10:33,177 INFO [vmware.resource.VmwareResource]
(DirectAgent-42:10.102.192.20) Preparing NIC device on network
cloud.private.untagged.0.1-vSwitch0
2013-08-31 16:10:33,177 DEBUG [vmware.resource.VmwareResource]
(DirectAgent-42:10.102.192.20) Prepare NIC at new device
{"operation":"ADD","device":{"addressType":"Manual","macAddress":"06:ca:4e:00:00:05","key":-4,"backing":{"network":{"value":"network-12406","type":"Network"},"deviceName":"cloud.private.untagged.0.1-vSwitch0"},"connectable":{"startConnected":true,"allowGuestControl":true,"connected":true},"unitNumber":1}}
2013-08-31 16:10:33,177 INFO [vmware.resource.VmwareResource]
(DirectAgent-42:10.102.192.20) Prepare NIC device based on NicTO:
{"deviceId":2,"networkRateMbps":-1,"defaultNic":true,"uuid":"66657016-b62e-4061-840b-3515fa33f583","ip":"10.102.197.230","netmask":"255.255.255.0","gateway":"10.102.197.1","mac":"06:04:06:00:00:07","dns1":"10.103.128.15","broadcastType":"Vlan","type":"Public","broadcastUri":"vlan://101","isolationUri":"vlan://101","isSecurityGroupEnabled":false,"name":"vSwitch1"}
2013-08-31 16:10:33,181 INFO [vmware.resource.VmwareResource]
(DirectAgent-42:10.102.192.20) Prepare network on nexusdvs P[vSwitch1:untagged]
with name prefix: cloud.public
2013-08-31 16:10:33,188 ERROR [vmware.mo.HypervisorHostHelper]
(DirectAgent-42:10.102.192.20) Unable to find Ethernet port profile vSwitch1
2013-08-31 16:10:33,188 WARN [vmware.resource.VmwareResource]
(DirectAgent-42:10.102.192.20) StartCommand failed due to Exception:
java.lang.Exception
Message: Unable to find Ethernet port profile vSwitch1
java.lang.Exception: Unable to find Ethernet port profile vSwitch1
at
com.cloud.hypervisor.vmware.mo.HypervisorHostHelper.prepareNetwork(HypervisorHostHelper.java:567)
at
com.cloud.hypervisor.vmware.resource.VmwareResource.prepareNetworkFromNicInfo(VmwareResource.java:3530)
at
com.cloud.hypervisor.vmware.resource.VmwareResource.execute(VmwareResource.java:2896)
at
com.cloud.hypervisor.vmware.resource.VmwareResource.executeRequest(VmwareResource.java:519)
at
com.cloud.agent.manager.DirectAgentAttache$Task.run(DirectAgentAttache.java:186)
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:165)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:266)
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)
2013-08-31 16:10:33,190 DEBUG [agent.manager.DirectAgentAttache]
(DirectAgent-42:null) Seq 6-340918310: Cancelling because one of the answers is
false and it is stop on error.
2013-08-31 16:10:33,190 DEBUG [agent.manager.DirectAgentAttache]
(DirectAgent-42:null) Seq 6-340918310: Response Received:
2013-08-31 16:10:33,191 DEBUG [agent.transport.Request] (DirectAgent-42:null)
Seq 6-340918310: Processing: { Ans: , MgmtId: 227594284004867, via: 6, Ver:
v1, Flags: 110,
[{"com.cloud.agent.api.StartAnswer":{"vm":{"id":7,"name":"v-7-VM","bootloader":"HVM","type":"ConsoleProxy","cpus":1,"minSpeed":500,"maxSpeed":500,"minRam":1073741824,"maxRam":1073741824,"hostName":"v-7-VM","arch":"x86_64","os":"Debian
GNU/Linux 5.0 (32-bit)","bootArgs":" template=domP type=consoleproxy
host=10.102.192.221 port=8250 name=v-7-VM premium=true zone=2 pod=2
guid=Proxy.7 proxy_vm=7 disable_rp_filter=true eth2ip=10.102.197.230
eth2mask=255.255.255.0 gateway=10.102.197.1 eth0ip=0.0.0.0 eth0mask=0.0.0.0
eth1ip=10.102.195.114 eth1mask=255.255.252.0 mgmtcidr=10.102.192.0/22
localgw=10.102.192.1 internaldns1=10.103.128.15
dns1=10.103.128.15","rebootOnCrash":false,"enableHA":false,"limitCpuUse":false,"enableDynamicallyScaleVm":false,"vncPassword":"2857ec9fcb4d655d","params":{"nicAdapter":"E1000","vmware.reserve.cpu":"false","vmware.reserve.mem":"false"},"uuid":"de2ecf56-bb07-451c-9123-4be19fe97778","disks":[{"data":{"org.apache.cloudstack.storage.to.VolumeObjectTO":{"uuid":"30d602e6-8b76-43f8-a0e4-d41b9ba503fc","volumeType":"ROOT","dataStore":{"org.apache.cloudstack.storage.to.PrimaryDataStoreTO":{"uuid":"55e6d095-7e22-3f4a-b533-874a9fede8df","id":202,"poolType":"NetworkFilesystem","host":"10.102.192.100","path":"/cpg_vol/sailaja/vmwareps1","port":2049}},"name":"ROOT-7","size":0,"path":"ROOT-7","volumeId":20,"vmName":"v-7-VM","accountId":1,"format":"OVA","id":20,"hypervisorType":"VMware"}},"diskSeq":0,"type":"ROOT"}],"nics":[{"deviceId":2,"networkRateMbps":-1,"defaultNic":true,"uuid":"66657016-b62e-4061-840b-3515fa33f583","ip":"10.102.197.230","netmask":"255.255.255.0","gateway":"10.102.197.1","mac":"06:04:06:00:00:07","dns1":"10.103.128.15","broadcastType":"Vlan","type":"Public","broadcastUri":"vlan://101","isolationUri":"vlan://101","isSecurityGroupEnabled":false,"name":"vSwitch1"},{"deviceId":0,"networkRateMbps":-1,"defaultNic":false,"uuid":"6c7a9d3a-a50f-4fa4-954f-dc57a7da9243","mac":"02:00:07:e2:00:02","broadcastType":"LinkLocal","type":"Control","isSecurityGroupEnabled":false,"name":"vSwitch0"},{"deviceId":1,"networkRateMbps":-1,"defaultNic":false,"uuid":"b5a549b4-caed-4e1c-a55d-d512fb073ace","ip":"10.102.195.114","netmask":"255.255.252.0","gateway":"10.102.192.1","mac":"06:ca:4e:00:00:05","broadcastType":"Native","type":"Management","isSecurityGroupEnabled":false,"name":"vSwitch0"}]},"result":false,"details":"StartCommand
failed due to Exception: java.lang.Exception\nMessage: Unable to find Ethernet
port profile vSwitch1\n","wait":0}}] }
WorkAround:
1. Disable Zone
2.Update the Switch type to vmwaresvs - Standard Vswitch)
3 Stop and Start Management server
4. Enable Zone
After this workaround system VM's got started with no issues
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira