Commit Graph

51 Commits

Author SHA1 Message Date
Alex Huang d620df2bdd Reformatted all of the code. 2013-11-21 06:15:26 -08:00
Alex Huang 8d62744681 Reformat all source code. Added checkstyle to check the source code 2013-11-20 07:26:53 -08:00
Prachi Damle ef22b42b38 CLOUDSTACK-4221: Dedicated Resources: changes to associate the dedicated resource with the 'ExplicitDedication' affinity group
Changes:
- Implict creation of the 'ExplicitDedication' Affinity group during resource dedication
- Only one group per account or per domain will be present
- ListDedicatedResources by affinityGroup
- Deployment should consider dedicated resources associated to the group only
- Deleting affinity group should release the dedicated resouces
- Releasing the dedicated resources should remove the group associated if there are no more resources.

Conflicts:

	plugins/dedicated-resources/src/org/apache/cloudstack/dedicated/DedicatedResourceManagerImpl.java
	plugins/dedicated-resources/test/org/apache/cloudstack/dedicated/manager/DedicatedApiUnitTest.java
	server/src/com/cloud/configuration/ConfigurationManagerImpl.java
2013-09-03 20:02:38 -07:00
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
Sheng Yang 596e940264 CLOUDSTACK-1332: Pass IPv6 DNS to VR 2013-02-25 16:08:15 -08:00
Kelven Yang 7bd8bec68a Sync javelin with master up to 894cb8f7d9 2013-01-31 17:20:19 -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
Alex Huang fe6f0457d5 fixed unit tests from merge 2013-01-18 15:58:55 -08:00
Rohit Yadav a9ab42d962 api: Extend to infra. interface entities that are not associated with any account
Includes, datacenter, pod, sotragenetworkiprange,vlan,diskoffering,networkoffering,
serviceoffering.

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2013-01-06 15:36:59 -08:00
Prasanna Santhanam 840da55520 api: Entities will extend InternalIdentity and Identity
Entities correlated to the Identity and carry a uuid and those
correlated to InternalIdentity carry an id. Those entities that carry
both will correlated to Identity and InternalIdentity.

This refactors entities wherever possible to ensure the VO only
implements the first class entity.

Signed-off-by: Prasanna Santhanam <tsp@apache.org>
2012-12-26 19:11:15 -08:00
Rohit Yadav 057ac12d23 Enforce InternalIdentity interface on all VO classes that impls long getId()
Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-26 15:09:44 -08:00
Min Chen 1d729578d4 Remove IdentityProxy from Response classes.
Signed-off-by: Min Chen <min.chen@citrix.com>
2012-12-18 23:16:38 -08:00
Min Chen 4b75132aa2 Remove IdentityProxy from Response classes.
Signed-off-by: Min Chen <min.chen@citrix.com>
2012-12-18 16:33:12 -08:00
Min Chen 348d3ae448 Conflicts:
api/src/org/apache/cloudstack/api/response/AccountResponse.java

Signed-off-by: Min Chen <min.chen@citrix.com>
2012-12-17 15:41:56 -08:00
Rohit Yadav 5e0501d116 api_refactor: refactor project apis
- Fix refactored apis in commands*.in
- Fix comments etc.
- Expand tabs, remove trailing whitespace
- Fix trailing whitespaces for all *.java

Signed-off-by: Rohit Yadav <bhaisaab@apache.org>
2012-12-03 22:10:32 -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
David Nalley c15948a3ef committing Chip Childers patches fixing licensing headers
Applying to the following directories:
* api
* deamonize
* agnet
* agent-simulator
* cloud-cli
2012-06-12 12:32:58 -04:00
David Nalley d5377b0ae3 more line ending fixes 2012-04-06 22:51:32 -04:00
frank 2f634c0913 Switch to Apache license 2012-04-03 04:50:05 -07:00
frank a1fa313902 Bug 13568 - secondary storage VM's static route for nfs server breaks things!
status 13568: resolved fixed
reviewed-by: Sheng Yang
2012-02-17 16:24:32 -08:00
Sheng Yang 18ec438793 Revert zone guest cidr setting 2012-02-08 15:54:16 -08:00
frank b59c3c595e return netmask in listStorageNetworkIpRangeCmd 2012-02-06 14:37:56 -08:00
Alena Prokharchyk 3a87cf8331 Code style fixes for API package 2012-02-03 14:25:26 -08:00
frank f72940e041 Bug 12777 - Add storage network configuration into CloudStack
most finish
2012-01-06 11:06:18 -08:00
frank 0b01c5dc1a Bug 12777 - Add storage network configuration into CloudStack
create APIs
2012-01-06 11:06:17 -08:00
Sheng Yang ab50f65ed8 bug 12483: Discard zone's cidr
status 12483: resolved fixed
2011-12-14 17:23:24 -08:00
prachi 818df189c5 changes to Create Vlan & Public IPs 2011-10-31 09:53:25 -07:00
alena fe0b685e95 Security group is a service now 2011-10-27 16:49:20 -07:00
prachi 654eaec663 NAAS: Configuring Zone
- Create Zone changes and changes to data_center table to remove vlan, securityGroup fields
- Physical Network lifecycle APIs
- Physical Network Service Provider APIs
- DB schema changes
2011-10-19 22:44:03 -07:00
prachi 86b386e8c0 Merging changes from zonesfeature branch for Bug 8026 - discern proper cluster/pod/zone for added host (and refactor AgentManagerImpl)
- CreateZone API creates a zoneToken, inserts in DB and returns it in the
response

- UpdateZone API takes in 'details' map that is loaded to data_center_details
2011-04-28 23:08:58 -07:00
Frank 92155522f2 Add license header to files 2011-04-14 11:23:14 -07:00
Frank 105db3b15a Merge branch 'baremetal' to master
modifies:
	api/src/com/cloud/api/ApiConstants.java
	api/src/com/cloud/api/commands/AddHostCmd.java
	api/src/com/cloud/api/commands/CreatePodCmd.java
	api/src/com/cloud/api/commands/DeployVMCmd.java
	api/src/com/cloud/dc/Pod.java
	api/src/com/cloud/network/NetworkService.java
	server/src/com/cloud/agent/manager/AgentManagerImpl.java
	server/src/com/cloud/configuration/ConfigurationManagerImpl.java
	server/src/com/cloud/dc/HostPodVO.java
	server/src/com/cloud/network/NetworkManager.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
	setup/db/create-schema.sql
	utils/src/com/cloud/utils/SerialVersionUID.java
2011-04-11 14:21:41 -07:00
prachi 923f562aa8 Bug 6873: disable/enable mode for clusters (and pods and zones and hosts)
- Added a new flag 'allocation_state' to zone,pod,cluster and host
- The possible values for this flag are 'Enabled' or 'Disabled'
- When a new zone,pod,cluster or host is added, allocation_state is 'Disabled' by default.
- For existing zone,pod,cluster or host, the state is 'Enabled'.
- All Add/Update/List  commands for each of zone,pod,cluster or host can now take a new parameter 'allocationstate'
- If 'allocation_state' is 'Disabled', Allocators skip that zone or pod or cluster or pod.
- For a root admin, ListZones lists all zones including the 'Disabled' zones. But for any other user, the 'Disabled' zones are not included in the response.
- For any usecase that creates/deploys/adds/registers a resource and takes in zone as parameter, now we check if the Zone is 'Disabled'. If yes then the operation cannot be performed by a user other than root-admin. Add volume, snapshot, templates are examples of this usecase.
- To enable the root admin to test a particular pod/cluster/host, deployVM command takes in 'host_id' parameter that can be passed in only by root admin.
If this parameter is passed in by the admin, allocators do not search for hosts and use that host only. StoragePools are searched in the cluster of that host.
If VM cannot be deployed to that host, allocators and deployVM fails without retrying
2011-03-23 22:15:35 -07:00
Chiradeep Vittal 8d791777db Introduce zone (datacenter) details 2011-03-15 15:44:36 -07:00
Frank ffb900fc86 Bug 8208 - bare metal provisioning
Add useExternalDhcp option to createPodCmd
2011-03-14 16:42:59 -07:00
Edison Su 8a40371288 refactor security group in advanced network mode: use direct tagged network instead of public network 2011-02-24 19:58:18 -05:00
alena 88afdb3313 Made NetworkId parameter required for Vlan, modified DB schema and corresponding Managers' methods. For Virtual and Direct untagged vlan networkId is got from default system Public/Public-DirectPodBased networks accordingly 2010-12-28 15:15:24 -08:00
alena 0049c74a5e 1) Different format for LoadBalancerCommand.
2) When apply lb rule for domR, resend all lb rules belonging to the lb network
2010-12-17 09:37:13 -08:00
alena fb4c448762 Don't create default pod/zone
Create untagged network as a part of createZone command
2010-12-06 16:48:25 -08:00
Alex Huang d890189a92 missing default values for providers 2010-12-06 15:20:13 -08:00
Alex Huang fcdd20ca06 more checkin 2010-12-06 14:17:53 -08:00
alena f8a687ab23 1) Implemented create/list/deleteNetworkOffering create/delete/listNetwork APIs.
2) Added networkIds parameter to deployVMCmd - accepts list of networks ids separated by coma.
3) Changed domainRouter/systemVm/userVm response to return list of Nics associated with the vm.
2010-12-02 19:30:17 -08:00
Alex Huang 1e44925564 api refactoring 2010-11-21 12:00:21 -08:00
alena dae39942f1 bug 7192: Added networktype parameter for the zone
status 7192: resolved fixed

1) Zone has networktype parameter now, 2 values are supported: Basic and Advanced. "networktype" field is created in data_center table. The parameter is being set at creation time; we don't allow to modify it with updateZone command.
2) Only vlan of Untagged Direct type can be created in Basic network zone; any other vlan except for Untagged Direct can be created in Advanced zone
3) Allow NULL guest vlan range for the zone. Only vlan of Direct type can be created in zone with NULL guest vlan.
4) "Default" zone is Basic by default.
5) Changed "vnet" parameter to "vlan" in updateZone command to be consistent with createZone
2010-11-16 16:54:44 -08:00
alena 86e83bc4bd Created new response objects for userVm/domainRouter/systemVm that going to be used by API after network refactorig is in place. 2010-11-11 10:43:18 -08:00
abhishek 11ea13fd7d Added the domain checker code and checks for a host of commands. This replaces the previous mechanism, and provides a way for us to validate the command executor as to whether he has access to the zone. 2010-11-08 17:50:38 -08:00
Alex Huang 14f80f2e13 domain router up and running...now on to patching through the network between the domain router and the vm 2010-10-29 12:16:58 -07:00
Alex Huang 94a26d2038 Still needs to add mac address allocation but basically console proxy is started and running 2010-10-06 10:18:09 -07:00
Alex Huang 8acba8fbd1 more checkins 2010-09-22 10:43:59 -07:00
Alex Huang 327924a9ad More changes for refactoring 2010-09-15 18:00:54 -07:00