Commit Graph

502 Commits

Author SHA1 Message Date
Rohit Yadav cbb9c4acdf CLOUDSTACK-9083: Add disk serial to kvm virt xml
Adds disk serial ids based on volume uuids to the virt xml. This may be useful
for appliances/software that needs some serial ids on the VM disks. This does not
impact existing/running VMs, the vm virt xmls will be updates for running VMs
the next time they are stopped/started.

For testing, disk serial (of debian based systemvm) in the virt xml matched that
in /sys/devices/pci0000:00:0000:00:07.0/virtio4/block/vda/serial.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-11-25 14:46:49 +05:30
Rohit Yadav a4f552d46d cloudstack: set next version to 4.5.3-SNAPSHOT
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-09-14 09:59:40 +05:30
Wido den Hollander 2b8fd2469f CLOUDSTACK-8443: Support CentOS 7 for 4.5
This is based on two PRs:
- 731
- 757

This commit is based on the 4.5 branch for a future 4.5 release.
2015-09-13 15:30:20 +02:00
Rohit Yadav 047d759a73 Merge pull request #754 from shapeblue/4.5-CLOUDSTACK-8762
CLOUDSTACK-8762: Check to confirm disk activity before starting a VMImplements a VM volume/disk file activity checker that checks if QCOW2 file
has been changed before starting the VM. This is useful as a pessimistic
approach to save VMs that were running on faulty hosts that CloudStack could
try to launch on other hosts while the host was not cleanly fenced. This is
optional and available only if you enable the settings in agent.properties
file, on per-host basis.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

* pr/754:
  CLOUDSTACK-8762: Confirm disk activity before starting a VM

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-09-02 14:54:58 +05:30
Mike Tutkowski f5b5197048 Support live migration on older version of Libvirt 2015-09-01 16:00:08 -06:00
Rohit Yadav 711acfa93d CLOUDSTACK-8762: Confirm disk activity before starting a VM
Implements a VM volume/disk file activity checker that checks if QCOW2 file
has been changed before starting the VM. This is useful as a pessimistic
approach to save VMs that were running on faulty hosts that CloudStack could
try to launch on other hosts while the host was not cleanly fenced. This is
optional and available only if you enable the settings in agent.properties
file, on per-host basis.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-08-28 15:52:06 +05:30
Rohit Yadav 2a382e000b CLOUDSTACK-8749: Add checks to prevent malformed/unexpected input
Based on @jburwell's comment on PR #718

This closes #733

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-08-26 13:36:22 +05:30
Rohit Yadav 0b4f97251a Merge remote-tracking branch 'origin/4.5-RC20150819T1442' into 4.5 2015-08-23 20:47:31 +05:30
Rohit Yadav 74f697a2dd CLOUDSTACK-8749: KVM - cleanup linklocal interface based on names
This tries to avoid cleaning by a device name.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #718
2015-08-19 21:42:47 +05:30
Rohit Yadav 7385441807 Updating pom.xml version numbers for release 4.5.2
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-08-19 14:42:54 +05:30
Kishan Kavala f54d266c8b BUG-ID:CLOUDSTACK-7472: kvmclock fix for LXC is not required after fixing CLOUDSTACK-8177
This closes #557

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

Conflicts:
	plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
2015-08-14 13:20:56 +05:30
Rohit Yadav cb2aca7516 CLOUDSTACK-8613, CLOUDSTACK-6301: Dump KVM domain XML with secure flag
When dumping XML use appropriate flags:

1, VIR_DOMAIN_XML_SECURE (dump security sensitive information too)
8, VIR_DOMAIN_XML_MIGRATABLE (dump XML suitable for migration)

Source:
https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainXMLFlags

This fixes CVE 2015-3252: VNC password lost during VM migration across KVM
hosts. The issue is also seen when a VM is rebooted.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-08-14 10:50:55 +05:30
Wido den Hollander ad1fbc1b79 CLOUDSTACK-8560: Stat the resulting image after copying from template and return the size
This way we update the DB with the actual size of the disk after deployment from template

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

Conflicts:
	plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java
2015-06-15 21:53:20 +03:00
Daan Hoogland 5fb86ae316 CID 1302976 Scanner in try-with-resource
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #352

(cherry picked from commit 3d4d152753)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-06-04 00:10:18 +02:00
Daan Hoogland fb50283fbe CID 1302974: Scanner in try-with-resource
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #353

(cherry picked from commit 109b6e94d3)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-06-04 00:10:05 +02:00
Rohit Yadav d55d45348c CLOUDSTACK-8530: KVM hosts without active agents should be in Disconnected state
KVM hosts which are actuall up, but if their agents are shutdown should be put
in disconnected state. This would avoid getting the VMs HA'd and other commands
such as deploying a VM will exclude that host and save us from errors.

The improvement is that, we first try to contact the KVM host itself. If it fails
we assume that it's disconnected, and then ask its KVM neighbours if they can
check its status. If all of the KVM neighbours tell us that it's Down and we're
unable to reach the KVM host, then the host is possibly down. In case any of the
KVM neighbours tell us that it's Up but we're unable to reach the KVM host then
we can be sure that the agent is offline but the host is running.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #340
2015-06-02 14:53:55 +02:00
Rohit Yadav 8625744142 CLOUDSTACK-8247: Pull average Cpu util report between polling
Pull average Cpu util report between polling intervals instead of since boot
instead of using values since uptime

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #289
2015-05-25 14:48:16 +02:00
Rohit Yadav aafa0c80b3 kvm: for disabling pxe, pass empty file
Passing the file argument to the xml break for EL 7.1, the fix removes
the argument as just passing rombar='off' with its file arg to be empty string.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>

This closes #290
2015-05-25 00:31:06 +02:00
Rohit Yadav 90ac1aba13 kvm: Strip trailing comma for qemu-img convert options
Fix trailing comma for qemu-img convert options, Qemu 2.0+ not tolerant to it

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-22 13:32:56 +01:00
Rohit Yadav 0120e906e5 kvm: fix test for non-osx platforms
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-22 12:10:53 +01:00
Rohit Yadav 212a05a345 CLOUDSTACK-8338: Fix hypervisor stats reporting for KVM on EL7
EL7 has a different output to 'free', use /proc/meminfo instead of a tool to be
more consistent across distros

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-22 09:25:03 +01:00
Rohit Yadav 4ba72a877c Updating pom.xml version numbers for release 4.5.2-SNAPSHOT
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-07 15:33:01 +02:00
Rohit Yadav 0eb4eb2370 Updating pom.xml version numbers for release 4.5.1
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-04 12:17:03 +02:00
Laszlo Hornyak e6a02acb06 CLOUDSTACK-8335: removed ceph repository - artifact resolved from maven central
This closes #221

Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
Signed-off-by: Rajani Karuturi <rajanikaruturi@gmail.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-05-01 16:48:48 +02:00
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
Laszlo Hornyak cc900bfa22 CLOUDSTACK-8335: removed libvirt.org repository
The only artifact resolved from libvirt.org was org.libvirt:libvirt:0.5.1
this artifact is now available from maven's default central repository

This closes #180

Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
(cherry picked from commit 9cf31b0714)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-24 17:00:10 +02:00
Rohit Yadav c9fd57fff3 kvm: fallback to eu.ceph.com mvn repo as ceph.com is down
As suggested by Wido on the dev ML changing the repo to eu.ceph.com to avoid
build failures. Will revert if ceph.com is up again.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-04-16 17:28:20 +05:30
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
Rohit Yadav c198dfdb7a Update pom and version usage to 4.5.1-SNAPSHOT
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-12 12:13:18 +05:30
Laszlo Hornyak a04dd7162e CLOUDSTACK-8304: disable snapshots from non-snapshot repositories
Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
Signed-off-by: Rajani Karuturi <rajanikaruturi@gmail.com>

This closes #100

(cherry picked from commit 9a38b2f7de)
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2015-03-11 13:08:00 +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