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;