You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ki...@apache.org on 2013/02/01 07:32:04 UTC
[7/40] updated regions branch with changes from master
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fcf64dd/api/src/com/cloud/api/ApiConstants.java
----------------------------------------------------------------------
diff --cc api/src/com/cloud/api/ApiConstants.java
index b5e6002,00ec392..16c33c5
--- a/api/src/com/cloud/api/ApiConstants.java
+++ b/api/src/com/cloud/api/ApiConstants.java
@@@ -357,11 -357,11 +357,14 @@@ public class ApiConstants
public static final String VSM_CONFIG_STATE = "vsmconfigstate";
public static final String VSM_DEVICE_STATE = "vsmdevicestate";
public static final String ADD_VSM_FLAG = "addvsmflag";
+ public static final String END_POINT = "endpoint";
- //public static final String REGION_DETAILS = "regiondetails";
+ public static final String REGION_ID = "regionid";
+ public static final String IS_PROPAGATE = "ispropagate";
-
+ public static final String CAN_USE_FOR_DEPLOY = "canusefordeploy";
+ public static final String RESOURCE_IDS = "resourceids";
+ public static final String RESOURCE_ID = "resourceid";
+ public static final String CUSTOMER = "customer";
+
public enum HostDetails {
all, capacity, events, stats, min;
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fcf64dd/api/src/com/cloud/api/BaseCmd.java
----------------------------------------------------------------------
diff --cc api/src/com/cloud/api/BaseCmd.java
index afebf2b,0924796..de9af9b
--- a/api/src/com/cloud/api/BaseCmd.java
+++ b/api/src/com/cloud/api/BaseCmd.java
@@@ -47,9 -47,9 +47,10 @@@ import com.cloud.network.security.Secur
import com.cloud.network.vpn.RemoteAccessVpnService;
import com.cloud.projects.Project;
import com.cloud.projects.ProjectService;
+import com.cloud.region.RegionService;
import com.cloud.resource.ResourceService;
import com.cloud.server.ManagementService;
+ import com.cloud.server.TaggedResourceService;
import com.cloud.storage.StorageService;
import com.cloud.storage.snapshot.SnapshotService;
import com.cloud.template.TemplateService;
@@@ -129,8 -129,8 +130,9 @@@ public abstract class BaseCmd
public static ResourceLimitService _resourceLimitService;
public static IdentityService _identityService;
public static StorageNetworkService _storageNetworkService;
+ public static RegionService _regionService;
-
+ public static TaggedResourceService _taggedResourceService;
+
static void setComponents(ResponseGenerator generator) {
ComponentLocator locator = ComponentLocator.getLocator(ManagementService.Name);
_mgr = (ManagementService) ComponentLocator.getComponent(ManagementService.Name);
@@@ -157,7 -157,7 +159,8 @@@
_resourceLimitService = locator.getManager(ResourceLimitService.class);
_identityService = locator.getManager(IdentityService.class);
_storageNetworkService = locator.getManager(StorageNetworkService.class);
+ _regionService = locator.getManager(RegionService.class);
+ _taggedResourceService = locator.getManager(TaggedResourceService.class);
}
public abstract void execute() throws ResourceUnavailableException, InsufficientCapacityException, ServerApiException, ConcurrentOperationException, ResourceAllocationException, NetworkRuleConflictException;
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fcf64dd/api/src/com/cloud/api/ResponseGenerator.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fcf64dd/client/tomcatconf/commands.properties.in
----------------------------------------------------------------------
diff --cc client/tomcatconf/commands.properties.in
index 6ef0961,08c175b..cb96b1e
--- a/client/tomcatconf/commands.properties.in
+++ b/client/tomcatconf/commands.properties.in
@@@ -331,10 -331,9 +331,15 @@@ updateStorageNetworkIpRange=com.cloud.a
### Network Devices commands
addNetworkDevice=com.cloud.api.commands.AddNetworkDeviceCmd;1
listNetworkDevice=com.cloud.api.commands.ListNetworkDeviceCmd;1
-deleteNetworkDevice=com.cloud.api.commands.DeleteNetworkDeviceCmd;1
-
-#### Tags commands
-createTags=com.cloud.api.commands.CreateTagsCmd;15
-deleteTags=com.cloud.api.commands.DeleteTagsCmd;15
-listTags=com.cloud.api.commands.ListTagsCmd;15
+deleteNetworkDevice=com.cloud.api.commands.DeleteNetworkDeviceCmd;1
+
+#### Region commands
+addRegion=com.cloud.api.commands.AddRegionCmd;1
+updateRegion=com.cloud.api.commands.UpdateRegionCmd;1
+removeRegion=com.cloud.api.commands.RemoveRegionCmd;1
- listRegions=com.cloud.api.commands.ListRegionsCmd;7
++listRegions=com.cloud.api.commands.ListRegionsCmd;7
++
++#### Tags commands
++createTags=com.cloud.api.commands.CreateTagsCmd;15
++deleteTags=com.cloud.api.commands.DeleteTagsCmd;15
++listTags=com.cloud.api.commands.ListTagsCmd;15
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fcf64dd/core/src/com/cloud/user/AccountVO.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fcf64dd/core/src/com/cloud/user/UserVO.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fcf64dd/server/src/com/cloud/api/ApiResponseHelper.java
----------------------------------------------------------------------
diff --cc server/src/com/cloud/api/ApiResponseHelper.java
index accdbab,8c8d53b..6ced205
--- a/server/src/com/cloud/api/ApiResponseHelper.java
+++ b/server/src/com/cloud/api/ApiResponseHelper.java
@@@ -151,8 -155,8 +156,9 @@@ import com.cloud.org.Cluster
import com.cloud.projects.Project;
import com.cloud.projects.ProjectAccount;
import com.cloud.projects.ProjectInvitation;
+import com.cloud.region.Region;
import com.cloud.server.Criteria;
+ import com.cloud.server.ResourceTag;
import com.cloud.storage.DiskOfferingVO;
import com.cloud.storage.GuestOS;
import com.cloud.storage.GuestOSCategoryVO;
@@@ -3400,15 -3406,40 +3408,48 @@@ public class ApiResponseHelper implemen
public Long getIdentiyId(String tableName, String token) {
return ApiDispatcher.getIdentiyId(tableName, token);
}
-
+
+ @Override
+ public RegionResponse createRegionResponse(Region region) {
+ RegionResponse response = new RegionResponse();
+ response.setId(region.getId());
+ response.setName(region.getName());
+ response.setEndPoint(region.getEndPoint());
+ response.setObjectName("region");
+ return response;
+ }
+
+ @Override
+ public ResourceTagResponse createResourceTagResponse(ResourceTag resourceTag) {
+ ResourceTagResponse response = new ResourceTagResponse();
+ response.setKey(resourceTag.getKey());
+ response.setValue(resourceTag.getValue());
+ response.setResourceType(resourceTag.getResourceType().toString());
+ response.setId(ApiDBUtils.getUuid(String.valueOf(resourceTag.getResourceId()),resourceTag.getResourceType()));
+ Long accountId = resourceTag.getAccountId();
+ Long domainId = resourceTag.getDomainId();
+ if (accountId != null) {
+ Account account = ApiDBUtils.findAccountByIdIncludingRemoved(resourceTag.getAccountId());
+
+ if (account.getType() == Account.ACCOUNT_TYPE_PROJECT) {
+ // find the project
+ Project project = ApiDBUtils.findProjectByProjectAccountId(account.getId());
+ response.setProjectId(project.getId());
+ response.setProjectName(project.getName());
+ } else {
+ response.setAccountName(account.getAccountName());
+ }
+ }
+
+ if (domainId != null) {
+ response.setDomainId(domainId);
+ response.setDomainName(ApiDBUtils.findDomainById(domainId).getName());
+ }
+
+ response.setCustomer(resourceTag.getCustomer());
+
+ response.setObjectName("tag");
+
+ return response;
+ }
-
-
}
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fcf64dd/server/src/com/cloud/configuration/DefaultComponentLibrary.java
----------------------------------------------------------------------
diff --cc server/src/com/cloud/configuration/DefaultComponentLibrary.java
index a27ae17,f6db30b..61fdef3
--- a/server/src/com/cloud/configuration/DefaultComponentLibrary.java
+++ b/server/src/com/cloud/configuration/DefaultComponentLibrary.java
@@@ -331,7 -315,7 +317,8 @@@ public class DefaultComponentLibrary ex
addDao("NetworkServiceMapDao", NetworkServiceMapDaoImpl.class);
addDao("StorageNetworkIpAddressDao", StorageNetworkIpAddressDaoImpl.class);
addDao("StorageNetworkIpRangeDao", StorageNetworkIpRangeDaoImpl.class);
+ addDao("RegionDao", RegionDaoImpl.class);
+ addDao("TagsDao", ResourceTagsDaoImpl.class);
}
@Override
@@@ -388,7 -370,7 +373,8 @@@
addManager("StorageNetworkManager", StorageNetworkManagerImpl.class);
addManager("ExternalLoadBalancerUsageManager", ExternalLoadBalancerUsageManagerImpl.class);
addManager("HA Manager", HighAvailabilityManagerImpl.class);
+ addManager("Region Manager", RegionManagerImpl.class);
+ addManager("TaggedResourcesManager", TaggedResourceManagerImpl.class);
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fcf64dd/server/src/com/cloud/domain/DomainVO.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fcf64dd/server/src/com/cloud/domain/dao/DomainDaoImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fcf64dd/server/src/com/cloud/projects/ProjectManagerImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fcf64dd/server/src/com/cloud/user/AccountManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fcf64dd/server/src/com/cloud/user/AccountManagerImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fcf64dd/server/src/com/cloud/user/DomainManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fcf64dd/server/src/com/cloud/user/DomainManagerImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fcf64dd/server/src/com/cloud/user/dao/AccountDaoImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fcf64dd/server/src/com/cloud/user/dao/UserDaoImpl.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/4fcf64dd/setup/db/create-schema.sql
----------------------------------------------------------------------
diff --cc setup/db/create-schema.sql
index ff092eb,afcee3f..f5f7387
--- a/setup/db/create-schema.sql
+++ b/setup/db/create-schema.sql
@@@ -2137,14 -2133,21 +2137,30 @@@ CREATE TABLE `cloud`.`netscaler_pod_re
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+CREATE TABLE `cloud`.`region` (
+ `id` bigint unsigned NOT NULL UNIQUE,
+ `name` varchar(255),
+ `end_point` varchar(255),
+ `status` varchar(32) NOT NULL,
+ `removed` datetime COMMENT 'date removed if not null',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+ CREATE TABLE `cloud`.`resource_tags` (
+ `id` bigint unsigned NOT NULL auto_increment COMMENT 'id',
+ `uuid` varchar(40),
+ `key` varchar(255),
+ `value` varchar(255),
+ `resource_id` bigint unsigned NOT NULL,
+ `resource_type` varchar(255),
+ `customer` varchar(255),
+ `domain_id` bigint unsigned NOT NULL COMMENT 'foreign key to domain id',
+ `account_id` bigint unsigned NOT NULL COMMENT 'owner of this network',
+ PRIMARY KEY (`id`),
+ CONSTRAINT `fk_tags__account_id` FOREIGN KEY(`account_id`) REFERENCES `account`(`id`),
+ CONSTRAINT `fk_tags__domain_id` FOREIGN KEY(`domain_id`) REFERENCES `domain`(`id`),
+ UNIQUE `i_tags__resource_id__resource_type__key`(`resource_id`, `resource_type`, `key`)
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
SET foreign_key_checks = 1;