Commit Graph

884 Commits

Author SHA1 Message Date
Alex Huang b60eef3e82 Added comments and finished off the work 2013-09-28 07:53:28 -07:00
Alex Huang e8cac2c5d8 Changed SearchCriteria2 to GenericQueryBuilder to reflect the same placement 2013-09-28 07:53:26 -07:00
Alex Huang e2988902c9 Changed SearchCriteria2 to GenericQueryBuilder to reflect the same placement 2013-09-28 07:53:25 -07:00
Alex Huang af8832f6bd Unified both the SearchBuilder and SearchCriteriaService 2013-09-28 07:53:24 -07:00
Kelven Yang f3c917db05 CLOUDSTACK-4734: Validate and Fail-over to another VmwareContext object when it is from the pool 2013-09-27 15:57:56 -07:00
Kelven Yang 08c3b6596d CLOUDSTACK-4659: Vmware allows destroying VM that has pending tasks, worker VM GC actually relies on the assumption that Vmware is protected from that which is a false assumption. Recycle Worker VM only it is from previous session 2013-09-27 15:57:02 -07:00
Kelven Yang 159d798a19 Disable VMwareTools detection to avoid unreliable result caused by race-condition when VMwareTools is not ready in guest OS yet and the API is called. This is the corrected commit 2013-09-27 15:56:43 -07:00
ynojima a45ee749ac CLOUDSTACK-2328: Linux native VXLAN support on KVM hypervisor
Initial patch for VXLAN support.
Fully functional, hopefully, for GuestNetwork - AdvancedZone.

Patch Note:
 in cloudstack-server
- Add isolation method VXLAN
- Add VxlanGuestNetworkGuru as plugin for VXLAN isolation
- Modify NetworkServiceImpl to handle extended vNet range for VXLAN isolation
- Add VXLAN isolation option in zoneWizard UI

 in cloudstack-agent (kvm)
- Add modifyvxlan.sh script that handle bridge/vxlan interface manipulation script
-- Usage is exactly same to modifyvlan.sh
- BridgeVifDriver will call modifyvxlan.sh instead of modifyvlan.sh when VXLAN is used for isolation

Database changes:
- No change in database structure.
- VXLAN isolation uses same tables that VLAN uses to store vNet allocation status.

Known Issue and/or TODO:
- Some resource still says 'VLAN' in log even if VXLAN is used
- in UI, "Network - GuestNetworks" dosen't display VNI
-- VLAN ID field displays "N/A"
- Documentation!

Signed-off-by : Toshiaki Hatano <haeena@haeena.net>
2013-09-26 23:37:18 +09:00
Edison Su 3420f2d016 CLOUDSTACK-4641: fix create volume from snapshot timeout issue 2013-09-25 16:32:55 -07:00
Edison Su 4fb4593553 CLOUDSTACK-4618: fix CLVM 2013-09-25 16:29:16 -07:00
Edison Su 0eb3944fc8 kvm upgrade issue from 2.2.14: 1. the uuid passed by mgt server is malformat, libvirt can't start vm. 2. the template path on primary storage is incorrect, which contains absolute path 2013-09-25 16:20:06 -07:00
Edison Su 3ddc6da10b CLOUDSTACK-4405: fix vm migration during the upgrade to 4.2
Conflicts:

	plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/BridgeVifDriver.java
2013-09-25 16:19:53 -07:00
Edison Su a96f6b306b CLOUDSTACK-4459: fix silly bug, one more time 2013-09-25 16:17:54 -07:00
Edison Su 2227eb191a CLOUDSTACK-3535: fix regression introduced in 5d9fa5d42e 2013-09-25 16:16:34 -07:00
Edison Su 49d8e44491 CLOUDSTACK-4459: one more try, bypass libvirt to find volume if libvirt call failed
Conflicts:

	server/src/com/cloud/template/TemplateManagerImpl.java
2013-09-25 16:16:10 -07:00
Edison Su b695484dc7 CLOUDSTACK-4459:
Libvirt reports:
org.libvirt.LibvirtException: Storage volume not found: no storage vol
with matching name
in some cases, if the volume is created on one kvm host, while accessed
from other host.
It's possible due to concurrent access(read/write) storage.
The current fix is to try serveral times, and wait for 30 seconds for
each retry.
If the issue still there, then need to sync the storage pool access
2013-09-25 16:13:38 -07:00
Edison Su dda1133f12 CLOUDSTACK-4436: in case of older kvm host, we'd better try serveral times to make sure we passed cmdline parameters to system vms
Conflicts:

	core/src/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java
2013-09-25 16:10:57 -07:00
Edison Su 9fa56e28ec CLOUDSTACK-4459: need to sychronize create storage pool, otherwise, we can create the same pool with the same uuid in parallel 2013-09-25 16:09:11 -07:00
Edison Su b5f7e307a1 CLOUDSTACK-4456:
CLOUDSTACK-4457:
CLOUDSTACK-4459:
harden kvm getvolume. It's possible that one volume created on other kvm host, won't show up on another host, try more times to refresh storage pool if volume won't shown up

Conflicts:

	engine/storage/integration-test/test/org/apache/cloudstack/storage/test/FakeDriverTestConfiguration.java
	plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/storage/KVMStorageProcessor.java
2013-09-25 16:01:45 -07:00
Edison Su 5e94e1675b CLOUDSTACK-2729: another try to solve libvirt storage pool missing issue: if the storage pool is missing, then recreate it 2013-09-25 15:52:03 -07:00
Edison Su b3ac12e171 delete snapshot_store_ref if the snapshot is in error state 2013-09-25 15:51:55 -07:00
Wei Zhou 3dc4284a34 add missing jna-4.0.0.jar to cloudstack-agent library by changing scope from provided to default runtime 2013-09-25 11:08:57 +02:00
Wei Zhou 258118efa6 CLOUDSTACK-4405: additional patch for bridge name and firewall rules issues after KVM upgrade to 4.2
There still exist two issues after Edison's commits.
(1) Migration from new hosts to old hosts failed.
The bridge name on old host is set to cloudVirBr* if network.bridge.name.schema is set to 3.0 in /etc/cloudstack/agent/agent.properties, but the actual bridge name is breth*-* after running cloudstack-agent-upgrade.
(2) all ports of vms (Basic zone, or Advanced zone with security groups) on old hosts are open, because the iptables rules are binding to device (bridge) name which is changed by cloudstack-agent-upgrade.

After this, the KVM upgrade steps :
a. Install 4.2 cloudstack agent on each kvm host
b. Run "cloudstack-agent-upgrade". This script will upgrade all the existing bridge name to new bridge name, and update related firewall rules.
c. install a libvirt hook:
    c1. mkdir /etc/libvirt/hooks
    c2. cp /usr/share/cloudstack-agent/lib/libvirtqemuhook /etc/libvirt/hooks/qemu
    c3. chmod +x /etc/libvirt/hooks/qemu
    c4. service libvirtd restart
    c5. service cloudstack-agent restart

Signed-off-by: Wei Zhou <w.zhou@leaseweb.com>
2013-09-24 09:55:00 +02:00
Edison Su e325fb66ab CLOUDSTACK-4405: fix vm migration during the upgrade to 4.2
Signed-off-by: Wei Zhou <w.zhou@leaseweb.com>
2013-09-24 09:53:55 +02:00
Hugo Trippaers 399d17df62 Fix redundant groupId in pom.xml 2013-09-21 17:44:18 +08:00
Hugo Trippaers 15a97ec412 Cleanup pom.xml in various projects to properly use managed versions and other defaults 2013-09-21 17:21:06 +08:00
Laszlo Hornyak 3650f12e9b Do not instantiate long just to generate String
Replaced toString call to the static toString method

Signed-off-by: Laszlo Hornyak <laszlo.hornyak@gmail.com>
2013-09-19 17:17:54 +02:00
Daan Hoogland 2614b00c51 sdn hosted vpc gateways (using lswitch) 2013-09-18 16:56:56 +02:00
Kelven Yang f10601ef8c forgot to commit a modified file 2013-09-17 14:46:57 -07:00
Kelven Yang 1598571dfc CLOUDSTACK-4659: Fix the regression caused by worker VM consolidation for GC purpose 2013-09-17 14:07:14 -07:00
Kelven Yang 5820b071b8 CLOUDSTACK-4659: Add the missing feature back for GC VMware worker VMs 2013-09-17 14:06:52 -07:00
Marcus Sorensen 2b4e994a4d CLOUDSTACK-3565 - fix for new libvirt behavior when defining NFS
pools that are already mounted in KVM hypervisor
2013-09-17 10:53:35 -06:00
Wido den Hollander a709f34ff9 kvm: During migrate change the VNC listen address
The migrate method from libvirt supports passing down a different XML for running
the instance of the target hypervisor.

This enables the VNC to bind to the private IP Address of the hypervisor and during
migration this will be changed to the private IP address of the target host.

This way VNC doesn't listen world wide and is much safer.
2013-09-16 11:57:16 +02:00
Anthony Xu 1f42153630 Revert "CLOUDSTACK-4649"
This reverts commit c82ef422b47fe2909ff79b7f91d2ba76bf007457.
2013-09-12 13:00:42 -07:00
Anthony Xu 1510139f15 CLOUDSTACK-4649
use the same virtual hardware platform in XS 6.2 as that in XS 6.0.2
2013-09-12 13:00:42 -07:00
Devdeep Singh 63f8b3f69b CLOUDSTACK-4617. Add host succeeds but host goes to alert state and comes back to UP state
after a short while. Fixed the link local network creation part.
2013-09-12 16:34:55 +05:30
Anthony Xu 4adf13192f CLOUDSTACK-4643
put host maintenance mode will not change XS master,
when you delete a host, and this host is master, master will be designated by CS
2013-09-11 15:52:09 -07:00
Min Chen b11a8e12e8 CLOUDSTACK-4625:Snapshots and templates should be deleted from staging
storage after create template from snapshot on S3.
2013-09-06 17:48:40 -07:00
Alex Huang 8e5249df62 Moved NetworkManager to NetworkOrchestrationService 2013-09-06 15:40:31 -07:00
Wei Zhou 5c141a46fc CLOUDSTACK-4610: fix incorrect value available_bytes of storage pool 2013-09-05 11:16:12 +02:00
Kelven Yang ae231444bc CLOUDSTACK-4585: make run-time datastore folder migration, VM snapshot, bug in root disk controller type carried from previous version work under upgrade situation 2013-09-04 14:49:46 -07:00
Kelven Yang e81e75c6b0 CLOUDSTACK-4362: always honor vCenter on-disk meta data to work with live migration better 2013-09-04 14:49:46 -07:00
Kelven Yang 281b94d587 CLOUDSTACK-4458: Volume attach/detach command needs to sent to hypervisor resource even when target VM is in Stopped state 2013-09-04 14:49:46 -07:00
Kelven Yang ea13e089b8 CLOUDSTACK-4519: reimplementdestroy-volume to take consideration of on-disk snapshot 2013-09-04 14:49:46 -07:00
Kelven Yang a4762b0904 CLOUDSTACK-4464,CLOUDSTACK-4529: use property collector to collect all information in one round, we have a few other places that need to do it the same way 2013-09-04 14:49:46 -07:00
Kelven Yang d6bac1465a CLOUDSTACK-4518: make folder sync resilience with possible runtime situation 2013-09-04 14:49:46 -07:00
Kelven Yang e929b4ceb2 CLOUDSTACK-4522: check before we do dynamic casting 2013-09-04 14:49:46 -07:00
Kelven Yang bae2666549 CLOUDSTACK-3237: add disk chain sync logic to handle out-of-band chain changes that could happen in storage live migration and VM snapshot operations 2013-09-04 14:49:46 -07:00
Kelven Yang e3a5b3fad9 CLOUDSTACK-3237: acknowledge the behind-back VMDK disk consolidation happend in vCenter after storage live migration 2013-09-04 14:49:46 -07:00
Kelven Yang c528e71fec CLOUDSTACK-4390, CLOUDSTACK-4358: Enable full-clone deployment by default for VMware. Apply keep-alive kick for all outstanding vCenter sessions 2013-09-04 14:49:45 -07:00
Kelven Yang 899f92b725 CLOUDSTACK-4288: Fix the way that VmwareClient is using vSphere 5.1 SDK which caused huge memory footprint 2013-09-04 14:49:45 -07:00
Kelven Yang 0becde90bb CLOUDSTACK-3568: Refactore CloudStack/vCenter API session management facility to avoid the situation that multiple API requests are sharing with the same vCenter API session 2013-09-04 14:49:45 -07:00
Kelven Yang c6dfb33d9f CLOUDSTACK-3237: pass disk file name instead of full datastore path when setting up storage relocation specin order to safely locate the disk device 2013-09-04 14:49:45 -07:00
Kelven Yang dbe4e13e8e CLOUDSTACK-3778: serialize configuration of port group at per-host level to prevent run-time race condition 2013-09-04 14:49:45 -07:00
Kelven Yang 75bb38394b CLOUDSTACK-3869: fix merge conflicts 2013-09-04 14:49:45 -07:00
Kelven Yang 362ef67013 CLOUDSTACK-3869: make new folder structure to work with Create/Delete/Attach/Detach commands 2013-09-04 14:49:45 -07:00
Kelven Yang 9a2148ffc3 CLOUDSTACK-3886: check in for review request https://reviews.apache.org/r/13008/ 2013-09-04 14:49:45 -07:00
Kelven Yang 40869a5a2b CLOUDSTACK-3869: Move VMware datastore folder structure policy management to central place 2013-09-04 14:49:45 -07:00
Kelven Yang 249e2e8f59 Correct DAO usage in VmwareDatacenterVO, relax assertion conditions to work with stack calling frame that is not wrapped with @DB injection 2013-09-04 14:49:44 -07:00
Wei Zhou f555e26c87 CLOUDSTACK-1192: fix silly mistake 2013-09-03 08:52:35 +02:00
Wei Zhou 87d73e227f CLOUDSTACK-1192: GetVmDiskStatsCommand return null as disk I/O statistics does not support xen/vmware
(cherry picked from commit 3121133c03)
2013-09-02 16:04:59 +02:00
Daan Hoogland d9c06e538b CLOUDSTACK-4346 replace URI getHost() and create(String) calls with BroadcastDomainType methods 2013-09-01 22:53:23 +02:00
frank 2a0e371881 [Upgrade from 3.0.6 to 4.2][vmware] After upgrade the system vms fail to come up because "Secondary storage mount point" is pointing to a wrong location
when secondary storage is mounted as read-only, changing permission of files on it will fail. But we should still stick to current mount point instread of
returning a wrong mount point /mnt/sec
2013-08-29 10:32:13 -07:00
frank e217c0f1c3 CloudStack CLOUDSTACK-4426
[VMware] [upgrade] system VM not coming up after upgrade from 3.0.4 to 4.2
2013-08-28 15:40:33 -07:00
frank 993a1f937f CloudStack CLOUDSTACK-4426
[VMware] [upgrade] system VM not coming up after upgrade from 3.0.4 to 4.2
2013-08-28 15:40:28 -07:00
Mike Tutkowski de531c0c0a Trim IQN so that the format /iqn/lun becomes iqn. 2013-08-28 15:08:45 -06:00
Wido den Hollander c3a275fc75 CLOUDSTACK-4423: Do not always append .qcow2 to volume names when copying
Disk images are not always in the QCOW2 format, so don't assume that the
filename will always and in .qcow2
2013-08-27 18:34:39 +02:00
Mike Tutkowski bd2d875073 Make Mutual CHAP optional for VMware. 2013-08-26 16:08:37 -06:00
Min Chen 49dd7289c0 CLOUDSTACK-4468:template created from snapshot is destroyed once we
restart management server.
2013-08-26 11:58:53 -07:00
Toshiaki Hatano 914e7c4542 Revert "CLOUDSTACK-2328: Linux native VXLAN support on KVM hypervisor"
This reverts commit 34ae32e0c2.
2013-08-24 07:12:23 +00:00
Toshiaki Hatano 34ae32e0c2 CLOUDSTACK-2328: Linux native VXLAN support on KVM hypervisor
Initial patch for VXLAN support.
Fully functional, hopefully, for GuestNetwork - AdvancedZone.

Patch Note:
 in cloudstack-server
- Add isolation method VXLAN
- Add VxlanGuestNetworkGuru as plugin for VXLAN isolation
- Modify NetworkServiceImpl to handle extended vNet range for VXLAN isolation
- Add VXLAN isolation option in zoneWizard UI

 in cloudstack-agent (kvm)
- Add modifyvxlan.sh script that handle bridge/vxlan interface manipulation script
-- Usage is exactly same to modifyvlan.sh
- BridgeVifDriver will call modifyvxlan.sh instead of modifyvlan.sh when VXLAN is used for isolation

Database changes:
- No change in database structure.
- VXLAN isolation uses same tables that VLAN uses to store vNet allocation status.

Known Issue:
- Some resource still says 'VLAN' in log even if VXLAN is used
- in UI, "Network - GuestNetworks" dosen't display VNI
-- VLAN ID field displays "N/A"
2013-08-24 01:39:11 +00:00
Min Chen 2807d083db CLOUDSTACK-4480: Handle DestroyCommand in VmwareResource to evict
unused template from primary storage pool.
2013-08-23 15:26:43 -07:00
Wido den Hollander fb9ceba93b CLOUDSTACK-4424: Download RBD volume created from snapshot
This failed due to a RAW -> QCOW2 conversion (again).

The current code still makes to much assumptions about everything always
being QCOW2 while that is not always true.
2013-08-23 16:17:22 +02:00
frank 0934c6c2b5 CloudStack CLOUDSTACK-1365
UI support for baremetal PXE server

CloudStack CLOUDSTACK-1364
UI support for baremetal DHCP server
2013-08-22 17:37:10 -07:00
frank b37e6c14c1 CloudStack CLOUDSTACK-1365
UI support for baremetal PXE server

CloudStack CLOUDSTACK-1364
UI support for baremetal DHCP server

Conflicts:

	plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BareMetalPingServiceImpl.java
	plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalKickStartServiceImpl.java
	plugins/hypervisors/baremetal/src/com/cloud/baremetal/networkservice/BaremetalPxeManagerImpl.java
2013-08-22 16:35:23 -07:00
Min Chen 75be7a9ac4 CLOUDSTACK-4433:[VMware]Registration of template using the downloaded
template URL is failing.
2013-08-22 15:59:09 -07:00
Sateesh Chodapuneedi 69adeecc39 CLOUDSTACK-4414
Fixing detection of failure in cluster discovery before cleanup vsm device.
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
2013-08-21 08:03:52 +05:30
Rajesh Battala 61c5b4bf75 fix for kvm test failure
(cherry picked from commit 6c593b0b16)
2013-08-20 20:14:53 +05:30
Nitin Mehta e6b53e5529 CLOUDSTACK-4386
KVM - Create template from volume
Vmware - Create template from volume / Create template from snapshot
send the physical size in the copycommand which accordingly will populate template store ref and the usage_event tables with the right physical size
Signed off by : nitin mehta<nitin.mehta@citrix.com>
2013-08-20 19:21:32 +05:30
Edison Su d89667ed47 fix unit test 2013-08-19 15:26:11 -07:00
Edison Su 3c098c0876 CLOUDSTACK-4338: fix NPE if create volume failed 2013-08-19 15:25:46 -07:00
Edison Su 1c96898ae1 CLOUDSTACK-3229: if delete snapshots on staging area failed, still treat backup snapshot as succeed. And modify snapshot delete logic on devcloud 2013-08-19 15:25:11 -07:00
Edison Su 77e7ccbbe1 CLOUDSTACK-4325: add more test cases for zone wide storage pool allocator 2013-08-19 15:25:04 -07:00
Edison Su a7f3e1ec97 CLOUDSTACK-4300: possible fix: cputune feature is only available after 0.9.0, so start vm can fail on rhel 6.1 2013-08-19 15:24:56 -07:00
Alex Huang 092e20204a Divided NetworkManagerImpl into two files: NetworkManagerImpl and IpAddressManagerImpl 2013-08-19 14:13:29 -07:00
Nitin Mehta 9de7e0af18 CLOUDSTACK-4386
XS Creating templates from volume - send the physical size in the copycommand which accordingly will populate template store ref and the usage_event tables with the right physical size
Signed off by : nitin mehta<nitin.mehta@citrix.com>
2013-08-19 16:04:12 +05:30
Sateesh Chodapuneedi 41f2c75aee CLOUDSTACK-4385 : [ZWPS]Across the cluster live migration of VM on zone wide primary storage pool fails
If all the VM's volumes are on zone wide primary storage pool then live migration of the VM would not involve storage migration. Hence MigrateVM API would be called against MigrateVMWithVolume. So far PrepareForMigrationCommand handled scenarios of VM moving across hosts within a cluster, but with zone wide primary storage in picture this command need to handle scenarios of VM moving across clusters. Try to find the VM in datacenter if not found within cluster.

Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
2013-08-19 05:55:17 +05:30
Prasanna Santhanam 35b5df61c0 CLOUDSTACK-4384: Switch back to CLOUD_DB after simulator processing
Simulator should revert back to CLOUD_DB after its operations on
SIMULATOR_DB or the cloudstack connections go to the simulator instead
of cloud.

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
(cherry picked from commit 3d39716c8f)
2013-08-19 10:40:55 +05:30
Min Chen 8a104b95d5 CLOUDSTACK-2583: [Object_Store_Refactor] Failed to create snapshot from
root disk of a guest VM.
2013-08-14 18:02:25 -07:00
Edison Su 90388ce77e CLOUDSTACK-4315: add code to clean up libvirt data structure after plug/unplug, that's the only thing I can do to fix this kind of libvirt issue 2013-08-14 16:59:07 -07:00
Edison Su dd6b245221 CLOUDSTACK-4318: clean up snapshot stored in staging area, after backup snapshot to object store 2013-08-14 14:59:25 -07:00
Edison Su 374de76dae CLOUDSTACK-4324: need to clean up snapshot_store_ref, if creating snapshot failed. 2013-08-14 14:59:19 -07:00
Wido den Hollander 3c35faaf5a CLOUDSTACK-4278: Fix resizing RBD volumes
Although libvirt supports resizing RBD volumes (and other formats) the
Java bindings (libvirt-java) don't.

Right now we use the Java bindings for librbd to handle the resizing for us,
but in the future this should be done by libvirt rather then these
Java bindings.
2013-08-14 16:15:09 +02:00
Sateesh Chodapuneedi b0e06981c1 CLOUDSTACK-4326 Adding VMware DC to legacy zone should not be allowed by API
Signed-off-by: Sateesh Chodapuneedi <sateesh@apache.org>
2013-08-14 12:47:58 +05:30
Wido den Hollander d7f738fb64 rbd: When the template is a RAW image, do not use a temp file when deploying 2013-08-14 13:28:08 +02:00
Wei Zhou c3bc9d65dd Remove unused method deleteVbdByPath from KVM storage classes 2013-08-13 23:51:05 +02:00
Wido den Hollander 04f378bcff CLOUDSTACK-4114: Use RAW disk images for RBD instead of QCOW2 2013-08-13 16:14:45 +02:00
Prasanna Santhanam 9cc74429bd CLOUDSTACK-4285: configure simulator API not discovered
- ManagementServerSimulatorImpl is not injected by default context.
configureSimulatorCmd API was loaded as part of it. Use
SimulatorManagerImpl as PluggableService to inject configureSimulator
API.
- Remove unused ManagementServerSimulatorImpl.
- Rename ConfigureSimulator to ConfigureSimulatorCmd for uniformity with
  all API Cmds

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
(cherry picked from commit 0c294a50a8)
2013-08-13 18:04:08 +05:30
Hugo Trippaers d57796b94f Fix XML validation errors 2013-08-13 08:25:45 +02:00
Alex Huang de2bd96d98 Moved volume related code into cloud-engine-orchestration 2013-08-12 19:06:51 -07:00