419 Commits

Author SHA1 Message Date
Min Chen
e7fa1a86fb Create DB views to improve ListHostsCmd performance.
Signed-off-by: Min Chen <min.chen@citrix.com>
2012-12-22 21:47:05 -08:00
Rohit Yadav
e398b1e47a api: Refactor command and response classes to org.apache.cloudstack.api.*
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-07 19:23:24 -08:00
Rohit Yadav
af28c06998 api: move and group all under command, org.apache.cloudstack.command.*
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-07 18:30:54 -08:00
Rohit Yadav
cc386b791b api_refactor: move storagepool api to admin pkg
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-06 10:32:58 -08:00
Rohit Yadav
8773fc2a55 api_refactor: refactor volume apis
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-04 11:20:48 -08:00
Marcus Sorensen
88180fc139 Summary: Direct template imaging for CLVM, bypass copy template to primary
Detail: Because of the way most other primary storage types work with cloudstack
   (i.e. backing stores) CLVM actually copies the template to a local logical
   volume on primary storage, then uses that. This causes all of your primary
   storage to be littered with a copy of every template used. Since we're not
   using these, dump the template direct to the newly created logical volume.
   This is faster as well since the template is sparse; we're not creating a fat
   template on primary storage and then copying that to a logical volume when we
   deploy from template.

BUG-ID: CLOUDSTACK-508
Bugfix-for: 4.1
Signed-off-by: Marcus Sorensen <marcus@betterservers.com> 1353221260 -0700
2012-11-17 23:47:39 -07:00
Alena Prokharchyk
214bbf3ebd CLOUDSTACK-279: fixed deleteProject when executed by the regular user. Always pass System account as a caller when do account cleanup
Conflicts:

	api/src/com/cloud/api/commands/DeleteRemoteAccessVpnCmd.java
	server/src/com/cloud/network/element/CiscoNexusVSMElement.java
	server/src/com/cloud/network/element/ElasticLoadBalancerElement.java
	server/src/com/cloud/network/element/F5ExternalLoadBalancerElement.java
	server/src/com/cloud/network/element/JuniperSRXExternalFirewallElement.java
	server/src/com/cloud/network/element/NetscalerElement.java
	server/src/com/cloud/network/element/OvsElement.java
	server/src/com/cloud/network/element/VpcJuniperSRXExternalFirewallElement.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/network/vpc/VpcManagerImpl.java
	server/src/com/cloud/network/vpn/RemoteAccessVpnManagerImpl.java
	server/src/com/cloud/storage/StorageManager.java
2012-10-17 17:26:19 -07:00
Alena Prokharchyk
8f2d9a09e5 CLOUDSTACK-332: intermediate checkin fixing count parameter in listCommands
Fixes the count in commands:

listVolumes
listVirtualMachines
listSnapshots
listRouters
listFirewallRules
listPortForwardingRules
listLoadBalancerRules
listIpForwardingRules
listAccounts
listUsers
listDomains
listDomainChildren
listPublicIpAddresses
listAlerts
listAsyncJobs
listRemoteAccessVpns
listVpnUsers
listTags
listPrivateGateways
listNetworkACLs
listStaticRoutes

Conflicts:

	api/src/com/cloud/api/commands/ListVMsCmd.java
	api/src/com/cloud/api/commands/ListVolumesCmd.java
	api/src/com/cloud/network/lb/LoadBalancingRulesService.java
	server/src/com/cloud/network/firewall/FirewallManagerImpl.java
	server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
	server/src/com/cloud/network/rules/RulesManagerImpl.java
	server/src/com/cloud/network/vpc/NetworkACLManagerImpl.java
	server/src/com/cloud/network/vpc/VpcManagerImpl.java
	server/src/com/cloud/network/vpn/RemoteAccessVpnManagerImpl.java
	server/src/com/cloud/tags/TaggedResourceManagerImpl.java
2012-10-12 13:58:59 -07:00
Mice Xia
955cbd97bc CLOUDSTACK-10 Deleting a disconnected primary storage results in partial removed state 2012-09-18 11:18:44 +08:00
Koushik Das
65eeeaf071 CS-14277
Support for local data disk. Currently enable/disable config is at zone level, in subsequent checkins it can be made more granular.
    Following changes are made:
    - Create disk offering API now takes an extra parameter to denote storage type (local or shared). This is similar to storage type in service offering.
    - Create/delete of data volume on local storage
    - Attach/detach for local data volumes. Re-attach is allowed as long as vm host and data volume storage pool host is same.
    - Migration of VM instance is not supported if it uses local root or data volumes.
    - Migrate is not supported for local volumes.
    - Zone level config to enable/disable local storage usage for service and disk offerings.
    - Local storage gets discovered when a host is added/reconnected if zone level config is enabled. When disabled existing local storages are not removed but any new local storage is not added.
    - Deploy VM command validates service and disk offerings based on local storage config.
    - Upgrade uses the global config 'use.local.storage' to set the zone level config for local storage.
(cherry picked from commit 62710aed37606168012a0ed255a876c8e7954010)
2012-09-11 17:22:43 +05:30
Anthony Xu
0442917381 only check ISO which is downloaded status 2012-09-10 13:30:25 -07:00
Prachi Damle
3d0069bb56 CS-16158 : Load Test - Adding host takes much longer in 3.0.x compared to 2.2.14.
Changes:

There is an unnecessary search over capacity table that scans entire table.
2012-08-31 13:40:17 -07:00
Edison Su
481aae1ebc add recreate.systemvm.enabled parameter to control recreating systemvm 2012-08-20 11:19:26 -07:00
Mice Xia
7e093a949d CS-15823 Failed snapshot should be marked as Error and cleanup asynchronously 2012-08-15 11:06:25 +08:00
kishan
65c90227ae bug CS-15648: For volumes created from snapshot, create usage event after successful volume
status CS-15648: resolved fixed
reviewed-by: Nitin
2012-08-14 11:58:07 +05:30
Alena Prokharchyk
32f55f3e3c Merge branch 'master' into vpc 2012-08-12 10:22:54 -07:00
Koushik Das
ff773a8122 CS-15621: Using migrateVolumes method which does not perform input validation. Some input validation in the migrateVolume method prevented migration of volume in READY state. Also using volume disk offering to check if it is a local or shared one.
Verified on XS 6.0.2

Test scenario
- Created 2 shared primary storage pools
- Created data volume using shared disk offering
- Attached it to a running VM (created in one storage pool)
- Detached it (now it is in READY state)
- Created a new VM in stopped state (using deployVirtualMachine API with startVm=false)
- Attached the data volume to this new VM
- Started new VM (migrated volume scenario got hit when the planner assigned the other shared pool)
2012-08-12 17:05:28 +05:30
Alena Prokharchyk
b61468d65c Merge branch 'master' into vpc
Conflicts:
	plugins/hypervisors/kvm/src/com/cloud/hypervisor/kvm/resource/LibvirtComputingResource.java
2012-08-11 18:27:18 -07:00
Edison Su
263216caa5 Adds CLVM as an option for primary storage. It copies most of the RBD bits, in most cases simply adding an 'else if' or similar. In the managesnapshot.sh we add the ability to manipulate snapshots for the CLVM volumes, as well as a few minor fixes like adjusting the usage for the -b option to reflect that it accepts four arguments (note that it already accepted four args, it just wasn't reflected in the usage).
RB: https://reviews.apache.org/r/6470/
Send-by: shadowsor@gmail.com
2012-08-10 13:33:06 -07:00
Alena Prokharchyk
5a72044dc7 Merge branch 'master' into vpc 2012-08-03 14:30:54 -07:00
Alena Prokharchyk
e7a1862867 VPC: CS-15827 - register only VpcVirtualNetworkApplianceMgr
Conflicts:

	api/src/com/cloud/api/BaseCmd.java
	api/src/com/cloud/network/VpcVirtualNetworkApplianceService.java
	plugins/network-elements/elastic-loadbalancer/src/com/cloud/network/lb/ElasticLoadBalancerManagerImpl.java
	server/src/com/cloud/configuration/DefaultComponentLibrary.java
	server/src/com/cloud/ha/UserVmDomRInvestigator.java
2012-08-03 14:23:45 -07:00
Nitin Mehta
3c68f1f8e8 bug CS-15200: Introducing state transition when volume is getting copied from secondary storage and it is put into Creating state
Reviewed-by: Kishan
2012-08-03 17:18:13 +05:30
Alena Prokharchyk
5cbe3d9722 ResourceTags: resourcetags support for Project/Vpc/NetworkACL/StaticRoute
Conflicts:

	api/src/com/cloud/api/commands/ListVPCsCmd.java
	server/src/com/cloud/api/ApiResponseHelper.java
	server/src/com/cloud/network/dao/FirewallRulesDaoImpl.java
	server/src/com/cloud/network/vpc/VpcManagerImpl.java
	server/src/com/cloud/projects/dao/ProjectDaoImpl.java
	server/src/com/cloud/uuididentity/dao/IdentityDao.java
2012-08-01 18:54:08 -07:00
Wido den Hollander
406fd95d87 Add RBD support for primary storage
This patch adds RBD (RADOS Block Device) support for primary storage in combination with KVM.

To get this patch working you need:
- libvirt-java 0.4.8
- libvirt with RBD storage pool support (>0.9.13)
- Qemu with RBD support (>0.14)

The primary storage does not support all the functions of CloudStack yet, for example snapshotting is disabled
due to the fact that backupping up a RBD snapshot is not possible in the way CloudStack wants to do it.

Creating templates from RBD volumes goes well, creating a VM from a template however is still a hit-and-miss.

NFS primary storage is also still required, you are not able to run your System VM's from RBD, they will need
to run on NFS.

Other then these points you can run instances with RBD backed disks.
2012-07-26 22:22:26 +02:00
Edison Su
50ffa95f63 ifix CS-15609 Volumes can be created as a part of VM creation when
un-allocated space is insufficient on primary storage

check the availability of un-allocated primary storage space during
planning stage, for multiple-volume VM creation scenario
modification in StorageManagerImpl.java and StorageManager.java:
add a new method storagePoolHasEnoughSpace(List<Volumes>, StoragePool),
check if storagePool has enough space for all requested volumes
modification in FirstfitPlanner.findPotentialDeploymentResources:
handle multiple volume case, keep track of allocated volumes for pools
and call storagePoolHasEnoughSpace to check space availability
modification in AbstractStoragePoolAllocator.java:
extract capacity computation logic and make a new method in
StorageManagerImpl

RB: https://reviews.apache.org/r/6028/
Send-by: mice_xia@tcloudcomputing.com
2012-07-26 10:10:18 -07:00
Koushik Das
88f7872b81 CS-15279
Issue happens when ROOT volume gets created and there is subsequent failure in starting the VM. During retry if allocator assigns a different storage pool the scenario was not handled. Now in case of local storage the volume get recreated on the newly assigned pool and old one gets cleaned up. In case of shared storage the existing volume is migrated to new storage pool.
2012-07-23 14:49:04 -07:00
Edison Su
8b7b838c8a CS-15544: recreate router if router filesystem is crashed 2012-07-11 16:14:28 -07:00
Alena Prokharchyk
63d6941bdc ResourceTags: respect tag parameter in listTemplates/listIsos commands
Conflicts:

	server/src/com/cloud/storage/dao/VMTemplateDao.java
	server/src/com/cloud/storage/dao/VMTemplateDaoImpl.java
2012-07-06 16:59:14 -07:00
Alena Prokharchyk
7acf8585b1 Resource tags: 1) Remove tag records when correspdonding cloudStack object gets removed
2) added "tags" request parameter to the banch of list* Api commands (listVirtualMachines, listSnapshots - all commands are listed in the resource tags functional spec)

Conflicts:

	api/src/com/cloud/api/commands/ListFirewallRulesCmd.java
	api/src/com/cloud/api/commands/ListPortForwardingRulesCmd.java
	api/src/com/cloud/api/commands/ListPublicIpAddressesCmd.java
	api/src/com/cloud/api/commands/ListSecurityGroupsCmd.java
	api/src/com/cloud/api/commands/ListSnapshotsCmd.java
	api/src/com/cloud/api/commands/ListVolumesCmd.java
	api/src/com/cloud/api/response/FirewallResponse.java
	api/src/com/cloud/api/response/IPAddressResponse.java
	api/src/com/cloud/api/response/VolumeResponse.java
	server/src/com/cloud/api/ApiDBUtils.java
	server/src/com/cloud/api/ApiResponseHelper.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/dao/FirewallRulesDaoImpl.java
	server/src/com/cloud/network/security/dao/SecurityGroupDaoImpl.java
	server/src/com/cloud/server/ManagementServerImpl.java
	server/src/com/cloud/storage/dao/VMTemplateDaoImpl.java
	server/src/com/cloud/vm/dao/UserVmDaoImpl.java
2012-07-06 11:43:31 -07:00
David Nalley
e87558256c Patch from Chip Childers
https://reviews.apache.org/r/5704/
License header updates for the server folder
2012-07-02 09:51:21 -04:00
Nitin Mehta
a4adc25295 bug CS-14945:
UploadVolume API is async now with the guidance for all the new apis added in 3.0.x need to be async. Though the success/failure wont be available through the queryAsync job which will report only the initial validation success or failure. The success or failure and the progress will all be available through listVolumes api.
2012-05-21 14:46:17 +05:30
Nitin Mehta
07cbec95fa bug CS-14957: Return hypervisor type for uploaded volume 2012-05-17 19:22:19 +05:30
Edison Su
bafc3f2a5a CS-14521
Remove CLVM, due to license issue
2012-05-15 15:13:15 -07:00
Nitin Mehta
acd55bac90 bug CS-14785: Allow attaching the volume for Uploaded volume. Also have transition fo delete volume. 2012-05-14 16:46:49 +05:30
Nitin Mehta
838d01754b bug CS-14785: Improvements to volumes sync so that it can recover from any error. Introduced new state UploadOp which signifies that the volume os on secondary and the status would be picked up from volume host ref table. 2012-05-11 11:42:42 +05:30
Nitin Mehta
0d2422720b bug CS-14739: Check for the volume and vm hypervisor compatibility before attaching the volume to vm in case the volume is on secondary storage. 2012-05-04 17:29:22 +05:30
Nitin Mehta
c65d3bdace bug CS-10789: Some more code to make the Uploav volume more robust. 2012-05-03 10:50:12 +05:30
Nitin Mehta
4434aa0d2d bug CS-10789: More changes for the imageformat, introdueced new column in db for the format, created scripts for doffernt hypervisors ...and the list goes on. 2012-04-23 13:44:34 +05:30
Nitin Mehta
14adf23700 bug CS-10789: Adding more code changes for usage, delete volume . 2012-04-23 13:42:53 +05:30
Nitin Mehta
54956280e6 Preliminary upload and attach changes work .. 2012-04-23 12:28:36 +05:30
Nitin Mehta
564cef8ddf More changes for uploadVolume. Create framework for upload volume progress communication between MS and SSVM. 2012-04-23 12:14:35 +05:30
anthony
bbd0259ad2 bug 14582: fix one big in upgrade from 2.1.4 to 3.0.2
status 14582: resolved
2012-04-20 17:02:57 -07:00
Nitin Mehta
e04822eb70 bug CS-14530: Whenver adding a new capacity check the state of the resource - if its disabled/enabled.
Reviewed By: Kishan
2012-04-19 14:24:12 +05:30
Alena Prokharchyk
662a234916 CS-14297: added "forced" option to deleteStoragePool command. If forced=true, all destroyed volumes are marked as Expunged even when we can't reach primary storage at the moment of deletion.
Conflicts:

	api/src/com/cloud/api/commands/StopVMCmd.java
2012-04-16 13:22:46 -07:00
Alena Prokharchyk
2d1a6b0b35 bug 14615: deployVm can work 2 diff ways now: 1) Default way - create and start the vm. 2) Create the vm without starting it. Note that vm's volumes stay in Allocated state -not created on the backend till the point where vm starts
status 14615: resolved fixed
2012-04-06 11:30:48 -07:00
frank
2f634c0913 Switch to Apache license 2012-04-03 04:50:05 -07:00
Nitin Mehta
a5a7be4c7e Bug 10808: Add Upload Volume api and do validation. 2012-03-24 13:59:59 +05:30
Sheng Yang
e152e64ac0 Fix several wrong ResourceUnavailableException scopes 2012-03-08 11:55:31 -08:00
Alena Prokharchyk
6b9abf832b bug 13944: when delete the account, expunge detached volumes on the backend
status 13944: resolved fixed
Reviewed-by: Frank Zhang
2012-02-22 17:59:22 -08:00
Alena Prokharchyk
cad392cd68 bug 13335: fixed listProjectInvitations by projectId
status 13335: resolved fixed
2012-02-07 13:16:27 -08:00