Commit Graph

449 Commits

Author SHA1 Message Date
Nitin Mehta 8d1189c2ae CLOUDSTACK-2060
Global config to turn off dynamically scale vm functionality
2013-05-29 19:02:06 +05:30
Hiroaki KAWAI cfd8056c14 remove a call path that cause NullPointerException
QemuImg.convert expects the arguments not null.
2013-05-28 20:54:01 +09:00
Wido den Hollander 322db71eed agent: Only probe running VMs for the current Hypervisor Type
Otherwise we try to probe for LXC VMs on a KVM hypervisor and vise versa.
2013-05-26 11:38:41 +02:00
Prasanna Santhanam 5b902c7005 CLOUDSTACK-2683: DevCloud systemVMs fail to launch
DevCloud is a XCP Kronos based xen. For this we use the XcpOssResource
whose memory limits were not set explicitly. Instead the base
CitrixResourceBase would set the limits. static_min was set to 128MB
failing the cpvm and ssvm start fails whose offerings have 100MB set to
the max limits.

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-05-26 14:49:52 +05:30
Wido den Hollander bef3a2edb7 CLOUDSTACK-1191: rbd: Use cloning for deploying templates instead of a copy
RBD format 2 supports cloning (aka layering) where one base image can serve
as a parent image for multiple child images.

This enables fast deployment of a large amount of virtual machines, but it also
saves spaces on the Ceph cluster and improves performance due to better caching.

Qemu-img doesn't support RBD format 2 (yet), so to enable these functions the
RADOS/RBD Java bindings are required.

This patch also enables deployment of System VMs on RBD storage pools. Since we
no longer require a patchdisk for passing the boot arguments we are able to deploy
these VMs on RBD.
2013-05-24 16:00:08 +02:00
Jayapal d8f5f2ea10 CLOUDSTACK-2671 Updated vpc private gateway scipt args 2013-05-24 18:54:04 +05:30
Marcus Sorensen fce59b8fc4 Summary: Code cleanup for KVM - look up domains by name rather than coversion
Detail: We do two strange things, #1, when a vm is created, we create the uuid
for the domain by converting the name into a uuid, then subsequently, any time
we look for a domain, we convert its name to a uuid and domainLookupByUUID. This
is an unnecessary obfuscation, so instead we just do a domainLookupByName. As
a bonus, we are now setting the domain's uuid to be the cloudstack uuid. It is
no longer used anywhere, but will be less confusing to admins. This shouldn't
affect upgrades, since we can always lookup existing VMs by name.

Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1369287049 -0600
2013-05-22 23:30:49 -06:00
Marcus Sorensen 795fd803da Summary: KVM - double migration can fail
Detail: Undefine VM after migration. Lingering domain definitions cause
migrations back to the original host to fail, since domain already exists.

BUG-ID: CLOUDSTACK-2640
Bugfix-for: 4.1.0,4.2.0
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1369285950 -0600
2013-05-22 23:12:30 -06:00
Devdeep Singh 85ff507094 CLOUDSTACK-2602. XenServer storage motion strategy returns true for canHandle even though hosts are of different hypervisor type. Fixed the canHandle routine to return true only if source and destination hosts are of type XenServer. 2013-05-22 17:47:11 +05:30
Nitin Mehta a67728b312 CLOUDSTACK-2567 - check for ! dmcEnabled. 2013-05-22 15:31:18 +05:30
Nitin Mehta a58ee74e1c CLOUDSTACK-2567 - Check whether DMC - dynamic memory control is enabled for the hyervisor before trying to scale the vm. If its not then dont scale and instead throw and exception. 2013-05-21 16:39:25 +05:30
Devdeep Singh 904a2a87f7 CLOUDSTACK-2601 : xen.heartbeat.interval doesn't change the parameter passed to xenheartbeat.sh. Made changes to read the parameter from config and to pass it to the resource.
Signed-off-by: Devdeep Singh <devdeep@gmail.com>
2013-05-21 13:33:07 +05:30
Prasanna Santhanam 8da7ec05f1 CLOUDSTACK-2085: DMC enable guest scaling
When dmc is enabled allow cloudstack to scale the VM between dynamic
ranges. This requires a further commit where there is enough memory
available between dynamic-max and static-max for the VM to scale under
memory pressure. See the TODO in Xenserver56FP1Resource.java

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-05-20 17:51:49 +05:30
Prasanna Santhanam 85d54cd1c0 CLOUDSTACK-2554: Incorrect compute of minmemory and cpu
23e54bb0 introduced multiple hypervisors support for cpu and memory
overcommit. Here the HypervisorGuru base which determines the min, max
range for the memory for all hypervisors computes the minCpu using the
MemoryOverCommit ratio and minMemory using the CpuOverCommit ratio.

Minor typo/logic issue but massive damage across all HV if enabled ;)

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-05-19 18:34:27 +05:30
Prasanna Santhanam 7ea2c950f5 CLOUDSTACK-2554: Ensuring that we honor hypervisor xen's memory constraints
When setting memory constraints on Xen guests we should honor:
static-min <= dynamic-min <= dynamic-max <= static-max

Our VmSpec while allows the guests to like between dynamic-min and
dynamic-max the memory set by the resource set the static min to be
equal to the dynamic max. This restricts the hypervisor from ensuring
optimized memory handling of guests.

see: http://wiki.xen.org/wiki/XCP_FAQ_Dynamic_Memory_Control#How_does_XCP_choose_targets_for_guests_in_dynamic_range_mode.3F

Another fix was related the restrict_dmc option. when enabled (true)
this option disallows scaling a vm. The logic was reverse handled
allowing scaling when restrict_dmc was on. This control flow is now
fixed.

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-05-19 18:34:27 +05:30
Prasanna Santhanam 806aeb990d CLOUDSTACK-2554: CloudStack fails to load XCP 1.6 hypervisors
Missing default constructor fails the agent manager reloading the XCP
resource on reboot of management server. This is fixed by using the
default constructor as do other Xen resources and include a new resource
ala XenServers for XCP1.6.

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2013-05-19 18:34:26 +05:30
Wido den Hollander 239bb13dde Better parse domain XMLs so network devices can be detached as well 2013-05-18 10:34:22 +02:00
Wido den Hollander 5646f5e977 rbd: Allow RBD disks to be attached to a Instance 2013-05-17 17:34:05 +02:00
Prachi Damle a2eb7bab1e CLOUDSTACK-2056: DeploymentPlanner choice via ServiceOffering
- Changes merged from planner_reserve branch
- Exposing deploymentplanner as an optional parameter while creating a service offering
- changes to DeploymentPlanningManagerImpl to make sure host reserve-release happens between conflicting planner usages.
2013-05-16 15:02:17 -07:00
Vijayendra Bhamidipati 15be97772e PVLAN : Implementing PVLAN deployment capability for VMware deployments in cloudstack. 2013-05-16 14:50:16 -07:00
Wei Zhou a29e39365a CLOUDSTACK-2545: Change unit of network statistics from 1000 to 1024 for KVM
Signed-off-by: Chip Childers <chip.childers@gmail.com>
2013-05-16 22:07:50 +01:00
Sheng Yang 2d2c0c48cd Merge branch 'pvlan'
Conflicts:
	scripts/vm/hypervisor/xenserver/xenserver60/patch
	server/src/com/cloud/network/NetworkManager.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/NetworkServiceImpl.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManager.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/network/vpc/VpcManagerImpl.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
	server/test/com/cloud/network/MockNetworkManagerImpl.java
	server/test/com/cloud/vpc/MockNetworkManagerImpl.java
	server/test/com/cloud/vpc/MockVpcVirtualNetworkApplianceManager.java
2013-05-15 16:08:08 -07:00
Marcus Sorensen bfc5887a1b Summary: Use hypervisor as clock source for system vms
BUG-ID: CLOUDSTACK-2492
Bugfix-for: 4.1,master
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1368635782 -0600
2013-05-15 10:36:22 -06:00
Wido den Hollander 68a428f84d CLOUDSTACK-2515: Verify if the targetPath isn't null before comparing 2013-05-15 13:57:58 +02:00
Harikrishna Patnala ffe90c0059 CLOUDSTACK-2085: VM weight on xen remain same as before vmscaleup ;because "Add-To-VCPUs-Params-Live.sh" is not getting copied on xs host
Fixed by updating the patch files that has
 entries to copy scipts on xenserver. Here we added
 Add-To-VCPUs-Params-Live.sh

Added a check on Host params whether host restricts Dynamic memory control(DMC) to able to allow scale up VM.
If DMC is not enabled then static max and min are set to SO.

Signed Off by - Nitin Mehta <nitin.mehta@citrix.com>
2013-05-15 16:17:21 +05:30
Jayapal Reddy 2d950e2858 CLOUDSTACK-768: ACL on private gateway 2013-05-13 19:24:23 +05:30
Bharat Kumar 052c24c4d1 CLOUDSTACK-702: Multiple ip ranges in different subnets.
This feature enables adding of guest ip ranges (public ips)  form different subnets.

In order to provide the dhcp service to a different subnet we create an ipalias on the router. This allows the router to listen to the dhcp request from the guest vms and respond accordingly. Every time a vm is deployed in the new subnet we configure an ip alias on the router. Cloudstack uses dnsmasq to provide dhcp service. We need to configure the dnsmasq to issue ips on the new subnets. Added a new class dnsmasqconfigurator which generates the dnsmasq confg file, this file replaces the old config in the router.

The details of the alias ips are stored in db in the nic_ip_alias table. Every time a new subnet is added one of the ip from the subnet is used to configure the ip alias.

I have pushed the code to  https://github.com/bvbharatk/cloud-stack/tree/Cloudstack-702 , also rebased the code with master.
I need to test the code for advanced sg enabled network using kvm.

I have added the unit test
Marvin tests are at https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=53e4965

Also accomodated some of the changes suggested by koushik.
corrected the import statements. renamed the IpAlias command to createIpAlias command.

This feature supports only ipv4
2013-05-13 17:06:44 +05:30
Hari Patanala 75a2457af6 CLOUDSTACK-658 - Adding scale vm support for vmware with unit tests
Signed off by : Nitin Mehta <nitin.mehta@citrix.com>
2013-05-10 09:32:08 +05:30
Mice Xia 600f140df6 fix CLOUDSTACK-2277 Add approriate message for the user informing about the absence of vm-tools when adding nics to vm on vmware 2013-05-09 14:27:13 +08:00
Edison Su 738d35a61d CLOUDSTACK-1907: Debian Squeeze 6.0 (64-bit) is not experimental any more 2013-05-08 19:54:54 +01:00
Alex Huang bc823f946c Fixed up the simulator to run with windows paths in cygwin 2013-05-06 16:34:41 -07:00
Alex Huang 3722d66aae Fixed up unit testing to use only an in class TestConfiguration 2013-05-06 16:34:27 -07:00
Sheng Yang 70da1b3be3 PVLAN: Fix KVM ovs driver cannot get vlan id issue 2013-05-02 16:32:07 -07:00
Sateesh Chodapuneedi 565997d9b3 Fixing build breakage.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
2013-05-02 17:10:21 +05:30
Jayapal 1f1467974f CLOUDSTACK-1828 Source Nat on private gateway feature 2013-05-02 15:40:15 +05:30
Kelven Yang f101241050 Apply patch for https://reviews.apache.org/r/10892/ 2013-05-01 17:40:38 -07:00
Sheng Yang 3c3d67769b PVLAN: PvlanSetupCommand for KVM support 2013-05-01 13:23:09 -07:00
Sheng Yang 40386fc4cb PVLAN: Add network label parameter to PvlanSetupCommand
We need it to find the real bridge/switch to program on the OVS.
2013-05-01 13:23:09 -07:00
Sheng Yang 142f3b30f4 PVLAN: Remove bridge parameter in PvlanSetupCommand
Bridge is hypervisor dependent, shouldn't appear in PvlanSetupCommand.
2013-05-01 13:23:08 -07:00
Sheng Yang 05885457ec PVLAN: Simplify OVS policy
We can resubmit the packet against the flow table to get simplier result.

Now we don't need to check if VM is in the same host as DHCP server or not.
2013-05-01 13:23:08 -07:00
Sheng Yang b64039bafd Implement PVLAN on Xen
Start/stop vm/dhcp server are done. Not done with VM migration.

A new command(PvlanSetupCommand) is sent for setting up PVLAN for vms. Currently
it's focus on OVS implementation. Need to be more abstruct and add vSwitch part.
2013-05-01 13:23:08 -07:00
Sheng Yang 9c9e2ec9cc PVLAN: Add pvlan in createNetworkCommand 2013-05-01 13:23:08 -07:00
Abhinandan Prateek ac23f7aae6 CLOUDSTACK-2296: Support for Windows 8 and Windows Server 2012 as VM Guest OS on Xenserver 2013-04-30 16:23:41 +05:30
Kelven Yang 85e73d18f5 Refactor message bus facitlity to avoid confusing with event bus for external notification, planning to use it in VMSync 2013-04-29 14:36:03 -07:00
Mice Xia 0c1d2680a5 remove a debug log in vmwareResource 2013-04-25 14:25:03 +08:00
Mice Xia 79cc241c64 fix CLOUDSTACK-2157 On VMWare ESXi host deployment: Expunged VMs are not getting cleaned up from the host 2013-04-25 14:25:03 +08:00
Marcus Sorensen 33006ff197 Summary: Don't add secondary storage to KVM heartbeat
BUG-ID: CLOUDSTACK-2173
Bugfix-for: 4.2
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1366865750 -0600
2013-04-24 22:55:50 -06:00
Edison Su 435f4bceb2 in case vm doesn't exist on kvm host, getconnectionbyname will throw exception, need to catch the exception, and return the default connection 2013-04-24 10:39:07 -07:00
Devdeep Singh 21ce3befc8 Storage motion for Xenserver changes: 1. Implemented Api findStoragePoolsForMigration. Added a new response objects to list storage pools available for migration. 2. Updated migrateVolume api for allowing migrating volumes of running vms. These changes are integrated into the latest storage refactoring changes. 3. Added the implementation for findHostsForMigration api. It lists the hosts to which an instance can be migrated, including hosts from within and across clusters to which an instance may be migrated with storage motion. The work of migrating a volume of a running vm is also done in copyAsync. 4. Updated the listHosts api for backward compatibility. 5. Added the implementation for migrateVirtualMachineWithVolume api. It migrates an instance with its volumes within a cluster and also across clusters. Also introduced a new XenServerStorageMotionStrategy for migrating volumes of a vm. When a vm is being migrated with its volumes, the vm is put in migrating state and a request is send to the volume manager to migrate the vm and its volumes. Volume manager calls into the volume service which forwards the request to data motion service after moving all the volumes to migrating state. Data motion service enumerates the strategies and the request reaches the XenServerStorageMotionStrategy. It calls in to the resource to complete the operation. 6. Resolved an issue where storage xenmotion of 2nd VM created from the same template to a host was failing with duplicate_vm exception. Made changes to remove the mac_seed key value pair from other_config when vms are created. This is was storage motion to fail. 7. Updated the db upgrade schema script. 8. Added the right permissions in commands.properties 9. Marvin tests for testing storage motion. Following scenarios are tested. 9.1. A virtual machine is migrated to another host. Its volumes are also migrated to another storage pool. 9.2. Just the volumes of a vm are migrated to another storage pool while the vm continues to run on the same host. 10. Unit tests for testing migration of a vm with its volumes.
Signed-off-by: Abhinandan Prateek <aprateek@apache.org>
2013-04-19 11:36:42 +05:30
Marcus Sorensen 26fea7b660 CLOUDSTACK-2067 - ACS4.2 - throw LibvirtException instead of squelching it
so that callers of startVM in LibvirtComputingResource know that a vm failed
to start

Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1366224775 -0600
2013-04-17 12:52:55 -06:00