Commit Graph

567 Commits

Author SHA1 Message Date
Saksham Srivastava 17267794ad CLOUDSTACK-681: Dedicated Resources - Explicit Dedication, Private zone, pod, cluster or host. <Patch1>
This feature allows a user to deploy VMs only in the resources dedicated to his account or domain.

1. Resources(Zones, Pods, Clusters or hosts) can be dedicated to an account or domain.
   Implemented 12 new APIs to dedicate/list/release resources:
   - dedicateZone, listDedicatedZones, releaseDedicatedZone for a Zone.
   - dedicatePod, listDedicatedPods, releaseDedicatedPod for a Pod.
   - dedicateCluster, listDedicatedClusters, releaseDedicatedCluster for a Cluster
   - dedicateHost, listDedicatedHosts, releaseDedicatedHost for a Host.
2. Once a resource(eg. pod) is dedicated to an account, other resources(eg. clusters/hosts) inside that cannot be further dedicated.
3. Once a resource is dedicated to a domain, other resources inside that can be further dedicated to its sub-domain or account.
4. If any resource (eg.cluster) is dedicated to a account/domain, then resources(eg. Pod) above that cannot be dedicated to different accounts/domain (not belonging to the same domain)
5. To use Explicit dedication, user needs to create an Affinity Group of type 'ExplicitDedication'
6. A VM can be deployed with the above affinity group parameter as an input.
7. A new ExplicitDedicationProcessor has been added which will process the affinity group of type 'Explicit Dedication' for a deployment of a VM that demands dedicated resources.
   This processor implements the AffinityGroupProcessor adapter. This processor will update the avoid list.
8. A VM requesting dedication will be deployed on dedicatd resources if available with the user account.
9. A VM requesting dedication can also be deployed on the dedicated resources available with the parent domains iff no dedicated resources are available with the current user's account or
   domain.
10. A VM (without dedication) can be deployed on shared host but not on dedicated hosts.
11. To modify the dedication, the resource has to be released first.
12. Existing Private zone functionality has been redirected to Explicit dedication of zones.
13. Updated the db upgrade schema script. A new table "dedicated_resources" has been added.
14. Added the right permissions in commands.properties
15. Unit tests:  For the new APIs and Service, added unit tests under : plugins/dedicated-resources/test/org/apache/cloudstack/dedicated/DedicatedApiUnitTest.java
16. Marvin Test: To dedicate host, create affinity group, deploy-vm, check if vm is deployed on the dedicated host.
2013-05-30 01:07:01 -07:00
Alex Huang d24a45abaa Added fixes for CLOUDSTACK-1839. Missing lots of indexes due to a rollback to 4.0 by Rohit 2013-04-03 14:42:47 +01:00
Rohit Yadav 5f8a2ee9be CLOUDSTACK-1373: Fix regression in db-schema due to recent branch merges
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-02-22 19:15:01 +05:30
Edison Su 18e496b057 rebase to master 2013-02-21 11:22:50 -08:00
Rohit Yadav c8a2eb5387 CLOUDSTACK-1312: Remove remaining db schema diversions since 4.0
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-02-20 15:52:44 +05:30
Sheng Yang 4d80b71ec0 IPv6: Revoke the change of create-schema.sql
The change is in scheme-40to410.sql now.
2013-02-19 16:46:03 -08:00
Rohit Yadav c63dbb8804 db: Refactor new change in create-schema/premium to schema40-410.sql
- Move changes since 4.0 to schema upgrade path (schema40-410.sql)
- Comment out some table names where we're trying to copy uuid from id, they
  don't exists
- We don't run above step for tables which are newly created for 410 and don't
  exist in 4.0 for example autoscale related ones, code is commented and not removed
- Drop indexes which are removed before dropping the column
- Comment out insertion, as for default region we're inserting the same in
  code, in ConfigurationServerImpl:createDefaultRegion(), fix same in premium

Testing;
Deployed fresh 4.0 database, compiled and ran mgmt server. It did a smooth
rolling upgrade from 4.0 to 4.1.0 with no database exceptions or any other db error.

TODO:
- 4.2.0 relates changes like ipv6 should go into its schema-410to420.sql

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-02-16 17:12:26 +05:30
Rohit Yadav 44c8a33cf2 db: Fix commas which should be dots in create-schema, fix debug msg
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-02-16 13:31:46 +05:30
Koushik Das bc493bd39b CLOUDSTACK-672: Set VMware cluster max. limit based on HV version
Max. number of hosts in a Vmware clueter is specific to the version of the HV. This limit is read from the hypervisor_capabilities table
2013-02-15 16:19:40 +05:30
Mice Xia 9a12756ae4 CLOUDSTACK-684 support vm snapshot 2013-02-14 01:26:30 +08:00
Kelven Yang 296c20332d Merge javelin into master 2013-02-01 14:40:45 -08:00
Kelven Yang 7b75f0d990 Sync master to javelin one more time 2013-02-01 11:37:33 -08:00
Likitha Shetty 13ee8d1865 Persistent Networks support
Signed-off-by: Murali Reddy <murali.reddy@citrix.com>
2013-02-01 15:10:06 +05:30
Kishan Kavala fc925022bd Upgrade changes for Region schema. Made region_id not null 2013-02-01 13:49:57 +05:30
Kanzhe Jiang 736b236eaf bigswitch controller support
Reviewed-by: Chiradeep Vittal <chiradeepv@gmail.com>

Signed-off-by: Murali Reddy <murali.reddy@citrix.com>
2013-02-01 12:42:04 +05:30
Kishan Kavala 9ea90c3359 Merge branch 'master' into regions
Conflicts:
	client/tomcatconf/components.xml.in
	server/src/com/cloud/api/ApiResponseHelper.java
2013-02-01 11:38:16 +05:30
Kishan Kavala 33b87d8985 CLOUDSTACK-686: Modified unique constraint to include physical_network_id 2013-02-01 07:54:31 +05:30
Kelven Yang 7bd8bec68a Sync javelin with master up to 894cb8f7d9 2013-01-31 17:20:19 -08:00
Sheng Yang 5cb9df91a1 Merge branch 'ipv6'
Conflicts:
	api/src/com/cloud/network/NetworkProfile.java
2013-01-31 15:07:33 -08:00
Kishan Kavala 8b1a5b1de2 - Separated RegionServiceImpl and RegionManagerImpl
- Added comments
- Changed package name to org.apache.cloudstack.region
2013-01-31 18:08:20 +05:30
Sheng Yang ed547d91f7 IPv6: Rename public_ipv6_address to user_ipv6_address 2013-01-30 17:05:47 -08:00
Kishan Kavala d3089ba2a5 Merge branch 'master' into regions 2013-01-29 11:50:49 +05:30
Kishan Kavala 158ee8b2fa Add sync entry to region_sunc table on region api failure 2013-01-29 11:49:23 +05:30
Kishan Kavala def9fd1f2e remove finduser, findaccount, finddomain APIs 2013-01-28 17:04:25 +05:30
Rohit Yadav 2fb346ab62
Merge branch 'master' into javelin 2013-01-27 05:20:49 -08:00
Sheng Yang bd4bc025d1 IPv6: Accept IPv6 parameter for createNetworkCmd
Also ass public_ipv6_address for ipv6 address management.

Extend nics and vlans for ipv6 address.

Add dependency to com.googlecode.ipv6(java-ipv6).

Modify dhcpcommand for ipv6.
2013-01-26 23:14:15 -08:00
Kishan Kavala 1f57d925eb Apply API refactoring changes. Make changes to Regions API to work with new code 2013-01-25 18:41:59 +05:30
Min Chen 285e8213fe Add DB index to Alert.last_sent column to speed up listAlertsCmd. 2013-01-23 12:38:37 -08:00
Alex Huang 10d9c019a9 All merge conflicts resolved 2013-01-18 12:14:57 -08:00
Murali Reddy c7840cf91f reverting the earlier commit 432ea9c7d4
done for bug CLOUDSTACK-265 due to IP clearence issues.
2013-01-16 15:10:27 +05:30
Rohit Yadav fdc9103fbe create-schema: Fix deploydb, drop existing (new) tables
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-12 03:43:35 -08:00
Alex Huang b6c56736e5 merge from master 2013-01-09 05:20:36 -08:00
Alex Huang 14bd345f1f merge compiles 2013-01-09 04:41:27 -08:00
Min Chen d22229eb9d Remove updateUuids code in ConfigurationServerImpl (which is not the
right approach to populate uuid column since it will impact upgrade as
well), and populate UUID column in seed data sql script.

Signed-off-by: Min Chen <min.chen@citrix.com>
2013-01-08 17:12:14 -08:00
Alex Huang 30f2565d98 Merge branch 'api_refactoring' into javelin 2013-01-08 12:36:04 -08:00
Rohit Yadav 5119785cf7 Get latest changes, merge branch 'master' into api_refactoring
Conflicts:
	api/src/com/cloud/network/element/RemoteAccessVPNServiceProvider.java
	server/src/com/cloud/network/ExternalFirewallDeviceManagerImpl.java
	server/src/com/cloud/network/ExternalLoadBalancerDeviceManagerImpl.java
	setup/db/db/schema-40to410.sql

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-04 22:21:20 -08:00
Sheng Yang 42c8c73ab6 CLOUDSTACK-306: Introducing IpDeployingRequester and implement inline mode
For LB device in inline mode, the ip deployer(the owner of public ip) is the
firewall in front of it, not itself. So check if it's inline or not, if it's
inline, return the firewall as ip deployer
2013-01-04 19:18:03 -08:00
Sheng Yang 177e157cbf CLOUDSTACK-306: Move inline mode parameter from device to network offering
One F5 device can be used as inline and side-by-side at the same time(for
different networks). So we can define inline or not on network base.
2013-01-04 19:17:58 -08:00
Min Chen 32f035c9fa Separate db view creation into create-schema-view.sql. 2013-01-03 18:23:09 -08:00
Min Chen daeb4abcca Create DB views for AsyncJobResponse to speed up listAsyncJobsCmd.
Signed-off-by: Min Chen <min.chen@citrix.com>
2013-01-03 15:35:26 -08:00
Rohit Yadav c0a0318f29 setup/db: Fix missing semicolon in db create view command
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-03 11:24:12 -08:00
Min Chen ebfb90e217 Create DB view for Account to speed up ListAccountsCmd, and add missing async job information for some response objects.
Signed-off-by: Min Chen <min.chen@citrix.com>
2013-01-02 17:38:58 -08:00
Min Chen 21c1623a03 Create DB view for Volume to speed up ListVolumesCmd.
Signed-off-by: Min Chen <min.chen@citrix.com>
2012-12-25 17:08:50 -08:00
Rohit Yadav 296b49c2f8 Merge branch 'master' into test-merge-api
Conflicts:
	api/src/com/cloud/agent/api/BackupSnapshotCommand.java
	api/src/com/cloud/agent/api/storage/PrimaryStorageDownloadCommand.java
	api/src/com/cloud/agent/api/to/PortForwardingRuleTO.java
	api/src/com/cloud/network/NetworkService.java
	api/src/com/cloud/resource/ResourceService.java
	api/src/org/apache/cloudstack/api/ApiConstants.java
	api/src/org/apache/cloudstack/api/ResponseGenerator.java
	api/src/org/apache/cloudstack/api/response/SSHKeyPairResponse.java
	client/tomcatconf/commands.properties.in
	core/src/com/cloud/storage/SnapshotVO.java
	pom.xml
	server/src/com/cloud/api/ApiDispatcher.java
	server/src/com/cloud/api/ApiResponseHelper.java
	server/src/com/cloud/api/ApiServer.java
	server/src/com/cloud/configuration/ConfigurationManagerImpl.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/rules/RulesManagerImpl.java
	server/src/com/cloud/offerings/NetworkOfferingVO.java
	server/src/com/cloud/resource/ResourceManagerImpl.java
	server/src/com/cloud/upgrade/dao/Upgrade40to41.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
	server/test/com/cloud/vpc/MockNetworkManagerImpl.java
	setup/db/create-schema.sql
	setup/db/db/schema-40to410.sql

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-23 13:54:46 -08:00
Min Chen 3aad2ba972 Add DB host view into fresh install schema and upgrade schema. 2012-12-22 21:49:51 -08:00
Kishan Kavala 3ae5986b87 Update DB version during DB deploy
1. Modified create-schema.sql to add version as 4.1.0 instead of 4.0.0
	2. Removed schema-40to41.sql amd moved the content to schema-40to410.sql
	3. Added to schema-40to410.sql Upgrade40to41.java

Conflicts:
	server/src/com/cloud/upgrade/dao/Upgrade40to41.java
	setup/db/create-schema.sql
	setup/db/db/schema-40to41.sql
	setup/db/db/schema-40to410.sql

Signed-off-by: Min Chen <min.chen@citrix.com>
2012-12-21 15:11:05 -08:00
Kishan Kavala 8acc85ca53 Update DB version during DB deploy
1. Modified create-schema.sql to add version as 4.1.0 instead of 4.0.0
	2. Removed schema-40to41.sql amd moved the content to schema-40to410.sql
	3. Added to schema-40to410.sql Upgrade40to41.java
2012-12-21 15:27:00 +05:30
Min Chen b14b39a69f Remove IdentityProxy from BaseResponse, ExtractResponse. Now
IdentityProxy is only referenced in CreateCmdResponse, which involves
some async job logic change. Since it is not impacting list performance,
will leave it there for now.

Signed-off-by: Min Chen <min.chen@citrix.com>
2012-12-20 16:52:52 -08:00
Edison Su b70c1a5a84 Backs NFS-based secondary storage with an S3-compatible object store. Periodically, a reaper thread synchronizes templates and ISOs stored on a NFS secondary storage mount with a configured S3 object store. It also pushes snapshots to the object store when they are created and downloads them in other zones on-demand. In addition to permitting the use of commodity or IaaS storage solutions for static assets, it provides a means of automatically synchronizing template and ISO assets across multiple zones. 2012-12-13 23:18:37 -08:00
Min Chen 472f4f91b9 Refactor ListProjectInvitationsCmd and ProjectInvitationResponse. 2012-12-12 09:04:43 -08:00