Commit Graph

179 Commits

Author SHA1 Message Date
Rajani Karuturi 3c3cdbe54d Merge pull request #1872 from sateesh-chodapuneedi/pr-cloudstack-3223
CLOUDSTACK-3223 Exception observed while creating CPVM in VMware Setup with DVS
2017-05-17 10:40:31 +05:30
Rajani Karuturi 6cba86dd5e Merge pull request #1879 from Accelerite/CLOUDSTACK-9719
CLOUDSTACK-9719: [VMware] VR loses DHCP settings and VMs cannot obtain IP after HA recovery - Set high restart priority for the VR.
2017-04-22 21:10:26 +05:30
Suresh Kumar Anaparti bf77c07797 CLOUDSTACK-9719: [VMware] VR loses DHCP settings and VMs cannot obtain IP after HA recovery - Set high restart priority for the VR.
Test scenarios:
- Enable cluster HA after VR is created. Now stop and start VR and check its restart priority, should be High.
- Enable cluster HA before VR is created. Now create some VM and verify that VR created must have High restart priority.
2017-04-11 10:48:42 +05:30
Rohit Yadav 00e1b462f6 CLOUDSTACK-9591: Fix guest VM ovf xml to remove network nodes
This removes network details from the guest VM template OVF xml before deploying
a VM which would fail in case of dvswitch-based vmware environment with no
dummy/existing vswitch.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2017-03-30 18:01:46 +05:30
Sateesh Chodapuneedi 9bed11d1f1 CLOUDSTACK-3223 Exception observed while creating CPVM in VMware Setup with DVS
Issue
=====
Exception observed while creating CPVM in VMware Setup with DVS.
Observed error "StartCommand failed due to Exception: com.vmware.vim25.AlreadyExists."
This is due to concurrent attempts to create same dv portgroup on same dvSwitch by
manager threads of CPVM and SSVM when both are started at same time.

Fix
===
Synchronize api calls to create/update dvportgroup.
Also maintaing local cache to avoid multiple fetch api calls to vCenter
when multiple threads try to create same object.

Signed-off-by: Sateesh Chodapuneedi <sateesh.chodapuneedi@accelerite.com>
2017-03-02 02:48:06 +05:30
Rohit Yadav 52f224f61d Merge pull request #1827 from sateesh-chodapuneedi/pr-cloudstack-9673
CLOUDSTACK-9673 : Exception occured while creating the CPVM in VMware setup over standard vSwitchesJira
===
CLOUDSTACK-9673 : Exception occured while creating the CPVM in VMware setup over standard vSwitches

Issue
====
Exception occured while creating the CPVM in the VmWare Setup using standard vswitches.
```
StartCommand failed due to Exception: com.vmware.vim25.AlreadyExists
message: [] com.vmware.vim25.AlreadyExistsFaultMsg: The specified key, name, or identifier already exists
```

Fix
===
Ensure synchronization while attempting to create port group such that simultaneous attempts are not made with same port group name on same ESXi host.

Testing
======
Successfully ran manual tests (deploy user instance) on top of latest master commit `17653a86fad67447a4f13e455e336694ad5c1735`.This code change is involved in virtual network creation over VMware standard vSwitches. Existing functional tests covers this functionality.

* pr/1827:
  CLOUDSTACK-9673 Exception occured while creating the CPVM in the VmWare Setup over standard vSwitches

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-22 15:12:16 +05:30
Sateesh Chodapuneedi b0535d770d CLOUDSTACK-9676 Start instance fails after reverting to a VM snapshot, when there are child VM snapshots
Issue
====
Start instance fails after reverting to a VM snapshot, when there is 1 or more child VM snapshots in the snapshot tree of the VM.
Per the code that detects the presence of a snapshot, we are checking for only current snapshot instead of checking presence of any snapshot in the snapshot tree.
The failure to detect all snapshots means ACP reconfigures the VM in wrong way assuming there are no snapshots for the VM.
This results in start failure.

Fix
===
Ensure correct detection of VM snapshots in the VM snapshot tree

This closes #1828

Signed-off-by: Sateesh Chodapuneedi <sateesh.chodapuneedi@accelerite.com>
(cherry picked from commit 673bb25b5936d1c54e9210781280e9ddc507c830)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-22 13:29:07 +05:30
Sateesh Chodapuneedi 32e9e29a17 CLOUDSTACK-9673 Exception occured while creating the CPVM in the VmWare Setup over standard vSwitches
Issue
====
Exception occured while creating the CPVM in the VmWare Setup using standard vswitches.
StartCommand failed due to Exception: com.vmware.vim25.AlreadyExists
message: [] com.vmware.vim25.AlreadyExistsFaultMsg: The specified key, name, or identifier already exists

Fix
===
Ensure synchronization while attempting to create port group such that simultaneous attempts are not made with same port group name on same ESXi host.

Signed-off-by: Sateesh Chodapuneedi <sateesh.chodapuneedi@accelerite.com>
2016-12-22 01:35:10 +05:30
Suresh Kumar Anaparti 309da6a57f CLOUDSTACK-8854: Apple Mac OS/X VM get created without USB controller in ESXi hypervisors 2016-12-01 14:32:18 +05:30
Rohit Yadav 8e4644e413 vmware: improve support for disks
- Improve disk chain usage while attaching, migrating disks
- Gets root disk controller based diskDeviceBusName from volume's chain info
- Refactor and move VirtualMachineDiskInfo to cloud-utils
- Allows mixing of scsi controller types
- Fixes a NPE case with map passed as null, for example in case of detach volume
  command
- Use a osdefault translator that allow use of recent os types added (enums of
  which) are not available in the sdk

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-04-18 22:44:18 +05:30
Remi Bergsma cdfcea3da2 Merge release branch 4.6 to master
* 4.6:
  [UI] bug fix: Delete added ACL lists is not available for Domain Admin and normal users
  CLOUDSTACK-4787: Allow users to select disk controller for VM/template
  CLOUDSTACK-4787 Allow selection of scsi controller type in vSphere
2015-12-12 22:29:19 +01:00
Sateesh Chodapuneedi 6a9956e0f5 CLOUDSTACK-4787 Allow selection of scsi controller type in vSphere
commit #7
    So far only 1 controller (scsi or ide) is supported in Cloudstack for ide or
    scsi, this is existing limitation. Added support for 2nd IDE controller. Support adding IDE
    virtual disk to VM. Also added check if VM is running as IDE virtual disk cannot be attached
    to VM if VM is runnning.If user detaches a virtual disk on lower unit number of controller,
    then subsequent attach operation should find free unit number on the controller and attach
    the virtual disk there.

    commit #6
    Let the controllers of existing VMs continue without flip, current busInfo retrieved from
    chain_info field of volume record from database would be preferred over
    controller settings from all configuration settings.

    commit #5
    Editing global configuration param vmware.root.disk.controller osdefault value results
    in loss of previous root disk controller type. Hence root disk's controller type for legacy
    VMs is unknow post that modificaiton by user. If VM is stop/start then we could get this
    infromation from bus info of existing volume. But if user resets VM and then try to start VM.
    The existing bus info would be lost. Hence existing disk info is not available to depend on.
    Using lsilogic or generic scsi controller for ROOT disk of legacy VMs if reset.

    commit #4
    Avoid adding additional (>1) scsi controllers to system vms. While attaching volume to legacy VM
    don't use osdefault optoin which applicable only for VM created with the option enabled, use
    legacy data disk controller type (lsilogic)

    commit #3
    If root disk's controller type is scsi and data disk controller type condenses
    to any of scsi sub-types then data disk controller type would fall back to root disk controller itself. This
    ensures data volumes would be accessible in all cases as controller of root volume would be reliable
    and it means VM has the supported controller. It also avoids mix of scsi controller sub-types in a user instance.
    Also translating disk controller type scsi to lsilogic.

    commit #2
    Support auto detection of recommended virtual disk controller type for specific guest OS.

    commit #1
    Support granual controller types. Add support for controller types in template registration as well.

    Fix white spaces.
    Removed stale HEAD merge lines
    Removed tail of merge lines
    Fixed VmwareResource, removing storage commands that moved to VmwareStorageProcessor.
    removed stale code of controller that is present in processor
    Fixed check style errors.
    Fixed injection.
    Tested with Linux and windows templates. Unable to run iso based tests due to few bugs in register iso area.

    Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>

(cherry picked from commit a4cc987a6f)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-11-27 18:39:41 +05:30
nvazquez e1d1a40325 CLOUDSTACK-8956: Deploy VM on NSX managed network changes if NSX Api Version >= 4.2: has to connect to "br-int" of "nsx.network" type 2015-11-16 11:29:30 -08:00
nvazquez d05c1f47ba CLOUDSTACK-8956: Add VMware Api v5.5 and change pom.xml to use VMware Api v5.5 2015-11-16 11:29:30 -08:00
Likitha Shetty cb50d1d827 CLOUDSTACK-8610. Unable to attach 7th Disk to Windows Server 2012 R2 instance. During disk attach, while trying to obtain the controller key for SCSI controller, look for device with the generic SCSI controller type i.e. VirtualSCSIController.
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #554
2015-08-26 15:14:24 +05:30
Daan Hoogland e8a00ed989 CLOUDSTACK-8656: try-with-resource in vmsd reader
moved closeable util function up the hierarchy
2015-08-04 11:37:06 +02:00
Daan Hoogland e2b6237464 CLOUDSTACK-8656: debug messages on interupted exceptions 2015-07-30 16:03:10 +02:00
Daan Hoogland 85e002b230 CLOUDSTACK-8656: filling empty catch block with info messages
using regexp "catch\s*\(\s*(Exception|Throwable)\s*\w*\)\s*\{\s*\}"
2015-07-30 15:51:52 +02:00
Likitha Shetty f5ed824ea2 CLOUDSTACK-8598. CS reports volume migration as successful but the volume is not migrated in vCenter.. For the following disk operations - migration, snapshot creation, resize, detach and template creation, CS should do an exact disk match between volume path and vCenter disk name. If the exact matching fails to find a disk, CS should fall back to the old method of partial matching on a trimmed disk.
Signed-off-by: wilderrodrigues <wrodrigues@schubergphilis.com>

This closes #543
2015-07-16 10:44:58 +02:00
Rafael da Fonseca 00cdd66351 Fix 3 findbugs warnings OVF and VMX descriptor files should be written in UTF-8
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #404
2015-06-15 12:05:08 +03:00
Rafael da Fonseca 333d0e2069 Fix 3 findbugs encoding warnings Vmdk descriptor files used by ESX should be UTF-8 encoded
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-06-15 12:05:08 +03:00
Rafael da Fonseca f5f93884d1 Fix findbugs encoding warning Vmds files created by ESX are UTF-8 encoded
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #403
2015-06-15 12:05:01 +03:00
Rafael da Fonseca 438c90d783 Fix findbugs encoding warning in HttpNfcLeaseMO VMWare ovf files are utf-8 encoded. Relying on default encoding in some platforms such as windows would cause erroneous characters from being read on some fields like description, and could also cause the import to fail, depending on the characters.
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #397
2015-06-15 12:00:02 +03:00
Sateesh Chodapuneedi 5e41a830a5 This closes #373
CLOUDSTACK-3317 - DVS does not support management\storage network

Added support for Management and Storage Network traffic over VMware DVS in CloudStack deployments. Also added support for storage VLAN over dvPortGroup.

Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>

CLOUDSTACK-3317 - DVS does not support management\storage network

Use non-zero dvport count while updating dvportgroups of system traffic.
Updated configuration compare logic to avoid update dvportgroup operation unless required.
This would help improve speed in vm/network deployment as the update calls would reduce. Also improved logging.

Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>

Adding unit tests in class HypervisorHostHelperTest

Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>

Added license header to new file being added to repo/branch.

Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
2015-06-10 02:07:40 +05:30
Rohit Yadav 04dccda3f0 vmware-base: get vsessiontimeout from client class
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 4d9a94ce69)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-13 15:48:11 +05:30
Likitha Shetty bdd28a45ed CLOUDSTACK-8319. For both 'MigrateVolume' and 'MigrateVMWithVolumes, ensure VM's vconfiguration files are migrated along with VM's root volume. 2015-03-12 11:57:02 +05:30
Likitha Shetty adc836cc5e CLOUDSTACK-8318. Storage vMotion support for VMFS.
MigrateVMWithVolumes-
1. If ESXi host version is below 5.1, ensure destination datastore(s) is mounted on the source host, then migrate the storage and then finally migrate the VM.
If destination storage(s) is not mounted on the source host,
- In case of NFS storage mount the storage(s).
- In case of VMFS storage fail the request for migration.
2. If EXi host version is 5.1 or above, simultaneously migrate the VM and its storage to the destination host and storage(s) respectively for both NFS and VMFS storage.
2015-03-12 11:57:01 +05:30
Likitha Shetty 974b0180dd CLOUDSTACK-8126. Cold Migration of VM is not working as expected. In case a VM is cold migrated across clusters then VM fails to start.
1. If a VM by the same name exists on a different cluster in the VMware DC, unregister the existing VM and continue with the VM start.
2. If VM start succeeds, delete VM files associated with the unregistered VM.
3. If VM start fails, re-register the unregistered VM.
2014-12-24 15:07:08 +05:30
Likitha Shetty ac491c9607 CLOUDSTACK-8121. Data disk properties are not updated upon Creation/Deletion of VM snapshots.
Update the path and size of data volumes after snapshot creation/deletion by correctly trimming only the snapshot postfix of a disk.
2014-12-24 13:04:12 +05:30
Likitha Shetty b1bca2a2c0 CLOUDSTACK-8119. [VMware] Cannot attach more than 8 volumes to a VM. 2014-12-24 11:36:27 +05:30
Likitha Shetty 4d7ede535d CLOUDSTACK-8119. Propagate error message to UI for attach/detach volume failure operations.
For AttachVolume/DetachVolume API command, improve user error message in case of RuntimeException by throwing the exception instead of 'Unexpected Exception'.
2014-12-24 11:29:03 +05:30
Likitha Shetty f420dd55fb CLOUDSTACK-8119. [VMware] Cannot attach more than 8 volumes to a VM.
While attaching a new disk to an instance, the unit number on the controller key should be the lowest unit number
that is not in use. And in case the controller type is SCSI it shouln't be the reserved SCSI unit number.
2014-12-24 10:48:03 +05:30
Likitha Shetty ddcae8a930 CLOUDSTACK-8118. Root volume migration fails with 'No such disk device' in case of vCenter 5.5 setup.
If an exact match is being done while locating disk chain by name, don't trim snapshot postfix appended to the disk name.
2014-12-24 10:19:22 +05:30
Likitha Shetty cb211f18d1 CLOUDSTACK-8113. VM migration fails with "Message: No such disk device: " error.
Consolidate VM disks once VM/volumes are migrated.
2014-12-23 14:28:17 +05:30
Likitha Shetty 33179cce56 CLOUDSTACK-8112. CS allows creation of VM's with the same Display name when vm.instancename.flag is set to true.
Before registering a VM check if a different CS VM with same name exists in vCenter.
2014-12-23 13:48:01 +05:30
Laszlo Hornyak 3577423da9 removed executable flags from java classes
Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2014-11-23 19:49:01 +01:00
Likitha Shetty b8fdda0a34 BUG-ID: CLOUDSTACK-7102. Volume migration fails with 'VM i-2-3-VM does not exist in VMware datacenter' expection.
Look for a VM in vCenter based on both the vCenter name and CS internal name (required in case 'vm.instancename.flag' is enabled).
During Attach Volume and Volume Migration, for lookup and other operations use VM's name as obtained from vCenter instead of using the name set in the agent command.
2014-11-13 12:58:56 +05:30
Likitha Shetty 8bb4022f37 CLOUDSTACK-4587. System VMs fail to start when the primary storage that has the System VMs is put into maintenance.
During VM start while configuring its disk devices, obtain the matching disk for a volume in storage
using both the volume's path and volume's datastore information.
2014-08-20 10:51:18 +05:30
Likitha Shetty b41a78ce0f CLOUDSTACK-7248. [VMware] Extract volume fails with an NPE.
Synchronize attach disk to VM on the VM object value instead of using a DB lock.
2014-08-08 15:31:03 +05:30
Likitha Shetty bb7fc59947 Revert "CLOUDSTACK-7077. Quickly attaching multiple data disks to a VM fails."
This reverts commit a9b3ab089d.
2014-08-08 15:31:03 +05:30
Sateesh Chodapuneedi dfa607fb44 CLOUDSTACK-7250 [vCenter 5.5] SourceNAT,StaticNAT and Portfowrding is not working with Vmware DVS in vCenter 5.5
Change in vCenter 5.5 API from prior versions forced code change in CloudStack. Update property value of property "VirtualE1000.deviceInfo.summary" is accommodated now.

Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
2014-08-05 10:00:00 +05:30
Sateesh Chodapuneedi 96a6e673a3 CLOUDSTACK-7078 CLONE - [VMWARE]System VM's are failed to start with Nexus enabled Zone Since introducing pool of session contexts we no more have a dedicated context for each VMware hypervisor host. Hence vsm credentials stored in session context cannot be retrieved always correctly. Fix is to register the vsm credentials after fetching context and the context gets recycled after use.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
2014-07-31 16:31:41 +05:30
Suresh Ramamurthy 03de9cc335 CLOUDSTACK-6845 : NuageVsp Network plugin
Signed-off-by: Hugo Trippaers <htrippaers@schubergphilis.com>
2014-07-21 10:49:49 +02:00
Kelven Yang bfb28da9fc Trim postfix appended to the disk name by vCenter after snapshot operation when we are locating disk chain by name 2014-07-11 14:42:46 -07:00
Likitha Shetty a9b3ab089d CLOUDSTACK-7077. Quickly attaching multiple data disks to a VM fails.
[VMware] Synchronize the tasks of disk preparation and reconfiguration of a VM with the disk.
This is to avoid attaching a disk with a wrong device number on the controller key.
2014-07-08 13:24:13 +05:30
Likitha Shetty 4be369c94c CLOUDSTACK-7072. Volume attachment fails with 'A specified parameter was not correct' error.
[VMware] While attaching a new disk to an instance, the unit number on the controller key should be the lowest unit number on the key that is not in use.
Instead of a number that is 1 digit higher the highest unit number that is currently in use.
2014-07-07 17:40:06 +05:30
Mike Tutkowski 42d00cae58 SolidFire (shared-access) Provider 2014-06-16 12:15:29 -06:00
Sateesh Chodapuneedi a605ca09cd CLOUDSTACK-6652 CLONE - [Automation] Vmware- System's StartCommand failed with "NumberFormatException" while using VMware DVS
vlan id format was like "vlan://<id>" instead of just "<id>". This causes numberformatexception while converting the vlan id to integer form from string form. this was fixed for standard vswitch in bug Cloudstack-5046. now fixed for other 2 cases of dvswitch as well as pvlan.

Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
2014-05-13 15:02:46 +05:30
Mike Tutkowski 06c0486d0b CLOUDSTACK-6170 (VMware root-disk support for managed storage) 2014-04-01 00:09:53 -06:00
Mike Tutkowski 1577e75a3d CLOUDSTACK-6170 (VMware root-disk support for managed storage) 2014-03-31 00:13:30 -06:00