Commit Graph

408 Commits

Author SHA1 Message Date
Rohit Yadav 4334c446b5 CLOUDSTACK-8424: enable cpu flags only for guest VMs
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-30 04:12:32 +02:00
Daan Hoogland 6e87337d52 findbugs: String.split() will not return nulls by contract
(cherry picked from commit 7b10591758)

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-29 16:54:19 +02:00
Rohit Yadav e02d787f30 kvm: add VMXNET3 nic adapter to nic models
Linux kernel supports vmxnet3, allowing it in KVM plugin would allow us to
run ESX hosts on KVM hosts using CloudStack with vmxnet3 nic which can be
passed as VM's nicAdapter detail

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-28 18:09:29 +02:00
Rohit Yadav ea7fd37783 CLOUDSTACK-8424: Add cpu features if guest.cpu.features is set
This improvements checks for "guest.cpu.features" property which is a space
separated list of cpu features that is specific for a host. When added, it
will add  <feature policy='require' name='{{feature-you-listed}}'/> in the
<cpu> section of the generated vm spec xml.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-28 13:16:04 +02:00
Santhosh Edukulla 86943da26e Fixed few coverity issues
Signed-off-by: Santhosh Edukulla <santhosh.edukulla@gmail.com>
(cherry picked from commit 0a9742f914)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-27 14:43:48 +02:00
Remi Bergsma 43def30b60 kvm: improve CentOS 7 support
CentOS 7 does not ship with ifconfig anymore. We should use ip commands instead.
This also works on older versions, like CentOS 6 and Ubuntu 12.x/14.x, that we
support.

(cherry picked from commit ac06ec02eb)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

Conflicts:
	plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/IvsVifDriver.java
2015-04-15 11:47:34 +05:30
Rohit Yadav 13de2691fd kvm: xml escape password, use default charset
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-13 16:04:40 +05:30
Sanjay Tripathi 5aedeb74f9 CLOUDSTACK-8312: The storage usage of "Primary Storage Allocated" is incorrect.
(cherry picked from commit 520d96724a)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-11 13:07:47 +05:30
Marcus Sorensen def4a5ef5a LibvirtComputingResource: Support 'Oracle Linux 7' as pv guest
Change-Id: I0b720de1b86b09ceb4ae19b3edcdcac7c557da18
2015-03-03 10:46:38 -08:00
Marcus Sorensen 344a9f992e LibvirtComputingResource: Fix coverity scan, recent bugfixes revealed a potential unhandled null in getResizeScriptType
Change-Id: I5715a4424646261f2c43cd5e0a16fd72dd12c753
2015-02-23 16:56:54 -08:00
Marcus Sorensen c82d011112 CLOUDSTACK-8263: KVM - virsh resize doesnt refresh libvirt's view of the volume size, refresh pool
Change-Id: I5ea54f7389d72b57bb625e4d87b45b65eb0c96cd
2015-02-18 12:54:26 -08:00
Marcus Sorensen e77b4ae8e8 CLOUDSTACK-8263: KVM - use virsh instead of libvirt for resizing qcow2, as libvirt bindings are insufficient
Change-Id: I08246219cb1469a46dc6a9ec76a8c3a67b0b8bf6
2015-02-17 18:10:08 -08:00
Marcus Sorensen 61a50ce5e4 CLOUDSTACK-8263: KVM - notify qemu process of resized volume for libvirt-resized storage
Change-Id: Iddd8bb068855d3565075d3ecf7c6c0f074d00e1a
2015-02-17 14:27:13 -08:00
Mike Tutkowski 465ae4760e CLOUDSTACK-8233 kvmtimer fix 2015-02-08 17:45:46 -07:00
Rohit Yadav 68b5440d44 fix NPE cases, throw exceptions early on
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-05 17:44:32 +05:30
Hugo Trippaers 744c20bd7c CID-1249801 This should be a string comparison, not an object comparison
(cherry picked from commit ab980cd3b7)

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-05 16:02:24 +05:30
Santhosh Edukulla c25263ba81 Fixed Coverity Issues 2015-02-05 15:59:29 +05:30
Rohit Yadav bf17f640c6 CLOUDSTACK-8198: Use random local storage UUID
Earlier host addition of multiple hosts with local storage failed due to
same local storage UUID being used where the storage path is same.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-02-03 22:26:51 +05:30
Marcus Sorensen 0a8e73e8fe LibvirtComputingResource: Expose KVMStoragePoolManager
KVMStoragePoolManager is a singleton in practice, any plugin
or extension of LibvirtComputingResource will need to act on
the specific instance of KVMStoragePoolManager that LibvirtComputingResource
has initialized. Therefore, expose this variable for those who
wish to call storage commands from plugins or extensions.

Conflicts:

	plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
2015-01-23 02:44:08 -07:00
Marcus Sorensen 46301cbaf2 CLOUDSTACK-8177
KVM: disable tickpolicy for kvmclock. Newer libvirt enforces that
kvmclock cannot accept parameters.
2015-01-23 02:34:08 -07:00
Wei Zhou 9bfb8e5719 CLOUDSTACK-2823: pass cmdline info to system vms for 30 times
(cherry picked from commit 4eedfe53fc)
2014-12-11 08:33:42 +01:00
Logan Barfield 3a36681b6e Fixed root disk resize on deploy for RBD.
Signed-off-by: Wido den Hollander <wido@widodh.nl>
(cherry picked from commit 3a52a83fae)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

Conflicts:
	plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java
2014-12-02 01:56:37 +05:30
Wei Zhou 9928d66fda CLOUDSTACK-6893: fix enum ValueOf issue which causes systemvm fail to start
(cherry picked from commit 63ff5a7cbc)
(cherry picked from commit d0e0edca11)
2014-11-27 17:01:17 +01:00
Wido den Hollander 93b2b3a4ae CLOUDSTACK-3383: Fetch CPU utilization more reliable.
This should fix that we can't gather CPU statistics on hypervisors
> Ubuntu 12.04

(cherry picked from commit 69ee01af9d)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-11-21 20:20:58 +05:30
Edison Su 9319a4e5f8 fix kvm issue, for windows sever 2008, it will crash without hyperv enlightment featre enabled 2014-11-06 15:29:00 -08:00
Edison Su 6d22ff1d94 Revert "fix kvm issue, for windows sever 2008, it will crash without hyperv enlightment featre enabled"
This reverts commit c9dcae5480.
2014-10-21 10:16:59 -07:00
Edison Su c9dcae5480 fix kvm issue, for windows sever 2008, it will crash without hyperv enlightment featre enabled 2014-10-16 12:51:23 -07:00
Edison Su 6e9d3b62b3 if guest network type is vlan://untagged, and traffic label is used, kvm agent needs to honor traffic label
(cherry picked from commit 5ff1ece2be)
2014-10-13 00:38:57 -04:00
Edison Su 27924d1f92 if libvirt version is < 10.10(below rhel 6.5), won't set nic throttling
(cherry picked from commit 6dc6e8a900)
2014-10-13 00:38:25 -04:00
Wido den Hollander 3b65a5928b kvm: Add better logging when fetching a volume from libvirt
Clearly show if a volume is found and if not, that the pool is being refreshed
and the fetch is tried again.

Due to my commit b53a9dcc9f the chance of a volume
not being found is slightly bigger, but the performance gain is enormous on larger
deployments.

This is why we clearly have to log that we are refreshing the pool information
when a volume is not found.

It could be that a volume is created on host A and a few seconds later host B tries
to access the volume. In that case host B's libvirt doesn't know about the volume
yet and has to refresh the pool before it does.

(cherry picked from commit 4ee82f1f40)
2014-10-13 00:37:54 -04:00
Wido den Hollander 83967c93c5 CLOUDSTACK-7641: Do not always ask libvirt to refresh a storage pool
On larger (especially RBD) storage pools this can take a lot of
time slowing operations like creating volumes down.

The getStorageStats command will still ask a pool to be refreshed so
that the management server has accurate information about the storage pools.

On larger deployments, with thousands of volumes in one pool, this should
significantly improve storage related operations

(cherry picked from commit b53a9dcc9f)
2014-10-13 00:05:40 -04:00
Rohit Yadav b1d0df16cf CID-1116258: Guard _storagePools using synchronized in KVMStoragePoolManager
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-09-18 11:48:11 +02:00
Rohit Yadav e1842a9d53 CID-1199715: Remove dead code from LibvirtStorageAdaptor
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2014-09-17 16:30:42 +02:00
Kishan Kavala f0e82f340a CLOUDSTACK-7543: Attach RBD disk for LXC during start. Moved rbd map code seperate method. When adding block device, qemu driver should not be used for LXC 2014-09-15 10:15:54 +05:30
Kishan Kavala 4f3de024de Add script to ensure cgroups are not co-mounted in rhel7/lxc. If required, script will unmount co-mounted cgroups and remount them seperately 2014-09-11 14:34:40 +05:30
Kishan Kavala 41fdc418ff CLOUDSTACK-7472: Disable kvmclock for LXC 2014-09-05 19:38:55 +05:30
Kishan Kavala 6f7c4863a2 CLOUDSTACK-7473: Vm migration is not supported for LXC. When host is put in maintenance mode, stop the Vms instead of migrating 2014-09-04 20:59:19 +05:30
Rajani Karuturi 17164c3c83 Fixed CLOUDSTACK-6942: LXC: optimize template copy to primary
saving LXC template as tar to primary and extracting it only when
required.
This would improve the template copy time.

Reviewed By: Kishan Kavala
2014-09-04 14:56:29 +05:30
Kishan Kavala 718fd5f39f CLOUDSTACK-7445: Number whitespaces in "rbd showmapped" command varies in plain format. Use regex in grep to workaround. 2014-08-27 16:13:35 +05:30
Kishan Kavala 30ecf935e8 CLOUDSTACK-7315: Set LXC volumes format as DIR. Use rm command to delete LXC volumes. Libvirt delete volume does not handle directories 2014-08-26 13:57:48 +05:30
Kishan Kavala 656fc69f39 remove trailing comma in options sent to qemu-img 2014-08-22 15:39:04 +05:30
Wido den Hollander ab7c1f34d6 kvm: Do not print the whole exception when pool is not found in libvirt
This causes the logs to be filled with Exceptions which aren't nice for
users to read
2014-08-20 14:00:29 +02:00
Wido den Hollander 1ed0fe4ee7 kvm: Throw a proper exception when pool could not be fetched from libvirt
Otherwise NULL is returned and leads to a NPE further up the chain.
2014-08-20 13:39:52 +02:00
Wido den Hollander eeac81838f kvm: Return capitalized NONE when no disk cache mode is set
This caused Instances not to start under rare circumstances
2014-08-18 23:58:50 +02:00
Edison Su a1bee2cb61 measure how long it takes to create a snaphsot 2014-08-12 15:13:42 -07:00
Likitha Shetty f803100813 CLOUDSTACK-6969. Data Volume Shrink operation failing with "Unexpected Exception".
For ResizeVolume API command -
1. If hypervisor resource throws an exception, handle the NPE thrown by the job framework.
2. Improve user error message in case of RuntimeException by throwing the exception instead of 'Unexpected Exception'.
2014-08-01 16:23:47 +05:30
Santhosh Edukulla 44709111a3 Added Coverity Fixes 2014-07-31 15:01:30 +05:30
Anthony Xu 330c4ba578 completed the new vmsync TODOs in the code.
removed old vmsync logic
2014-07-28 12:51:37 -07:00
Wido den Hollander 7542ffc482 CLOUDSTACK-6181: Set the correct flags when resizing RBD 2014-07-26 11:39:28 +02:00
Santhosh Edukulla 3f6d5e392f Fixed Coverity Issues Reported 2014-07-25 16:43:29 +05:30