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/05/24 12:31:20 UTC
git commit: updated refs/heads/master to ba67e5d
Updated Branches:
refs/heads/master 6e1103e92 -> ba67e5d56
CLOUDSTACK-2452: Fixed account upgrade for usage. Added cloumn default. Updated usage response for PF , LB and VPN to return UUID instead of Id
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/ba67e5d5
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/ba67e5d5
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/ba67e5d5
Branch: refs/heads/master
Commit: ba67e5d56ed9e960e947925f82d2dda2204389ce
Parents: 6e1103e
Author: Kishan Kavala <ki...@cloud.com>
Authored: Fri May 24 16:00:39 2013 +0530
Committer: Kishan Kavala <ki...@cloud.com>
Committed: Fri May 24 16:00:49 2013 +0530
----------------------------------------------------------------------
server/src/com/cloud/api/ApiResponseHelper.java | 329 +++++++++---------
setup/db/db/schema-410to420.sql | 2 +
2 files changed, 169 insertions(+), 162 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ba67e5d5/server/src/com/cloud/api/ApiResponseHelper.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/ApiResponseHelper.java b/server/src/com/cloud/api/ApiResponseHelper.java
index 540c8e9..89739cf 100755
--- a/server/src/com/cloud/api/ApiResponseHelper.java
+++ b/server/src/com/cloud/api/ApiResponseHelper.java
@@ -34,6 +34,30 @@ import java.util.TimeZone;
import javax.inject.Inject;
+import com.cloud.network.GuestVlan;
+import com.cloud.network.IpAddress;
+import com.cloud.network.Network;
+import com.cloud.network.NetworkModel;
+import com.cloud.network.NetworkProfile;
+import com.cloud.network.PhysicalNetwork;
+import com.cloud.network.PhysicalNetworkServiceProvider;
+import com.cloud.network.PhysicalNetworkTrafficType;
+import com.cloud.network.RemoteAccessVpn;
+import com.cloud.network.Site2SiteCustomerGateway;
+import com.cloud.network.Site2SiteVpnConnection;
+import com.cloud.network.Site2SiteVpnGateway;
+import com.cloud.network.VirtualRouterProvider;
+import com.cloud.network.VpnUser;
+import com.cloud.network.VpnUserVO;
+import com.cloud.network.dao.LoadBalancerVO;
+import com.cloud.network.rules.FirewallRule;
+import com.cloud.network.rules.FirewallRuleVO;
+import com.cloud.network.rules.HealthCheckPolicy;
+import com.cloud.network.rules.LoadBalancer;
+import com.cloud.network.rules.PortForwardingRule;
+import com.cloud.network.rules.PortForwardingRuleVO;
+import com.cloud.network.rules.StaticNatRule;
+import com.cloud.network.rules.StickinessPolicy;
import org.apache.cloudstack.acl.ControlledEntity;
import org.apache.cloudstack.acl.ControlledEntity.ACLType;
import org.apache.cloudstack.affinity.AffinityGroup;
@@ -193,25 +217,11 @@ import com.cloud.event.Event;
import com.cloud.host.Host;
import com.cloud.host.HostVO;
import com.cloud.hypervisor.HypervisorCapabilities;
-import com.cloud.network.GuestVlan;
-import com.cloud.network.IpAddress;
-import com.cloud.network.Network;
import com.cloud.network.Network.Capability;
import com.cloud.network.Network.Provider;
import com.cloud.network.Network.Service;
-import com.cloud.network.NetworkModel;
-import com.cloud.network.NetworkProfile;
import com.cloud.network.Networks.IsolationType;
import com.cloud.network.Networks.TrafficType;
-import com.cloud.network.PhysicalNetwork;
-import com.cloud.network.PhysicalNetworkServiceProvider;
-import com.cloud.network.PhysicalNetworkTrafficType;
-import com.cloud.network.RemoteAccessVpn;
-import com.cloud.network.Site2SiteCustomerGateway;
-import com.cloud.network.Site2SiteVpnConnection;
-import com.cloud.network.Site2SiteVpnGateway;
-import com.cloud.network.VirtualRouterProvider;
-import com.cloud.network.VpnUser;
import com.cloud.network.as.AutoScalePolicy;
import com.cloud.network.as.AutoScaleVmGroup;
import com.cloud.network.as.AutoScaleVmProfile;
@@ -223,14 +233,7 @@ import com.cloud.network.dao.IPAddressVO;
import com.cloud.network.dao.NetworkVO;
import com.cloud.network.dao.PhysicalNetworkVO;
import com.cloud.network.router.VirtualRouter;
-import com.cloud.network.rules.FirewallRule;
-import com.cloud.network.rules.FirewallRuleVO;
-import com.cloud.network.rules.HealthCheckPolicy;
-import com.cloud.network.rules.LoadBalancer;
import com.cloud.network.rules.LoadBalancerContainer.Scheme;
-import com.cloud.network.rules.PortForwardingRule;
-import com.cloud.network.rules.StaticNatRule;
-import com.cloud.network.rules.StickinessPolicy;
import com.cloud.network.security.SecurityGroup;
import com.cloud.network.security.SecurityGroupVO;
import com.cloud.network.security.SecurityRule;
@@ -3452,147 +3455,149 @@ public class ApiResponseHelper implements ResponseGenerator {
}
- @Override
- public UsageRecordResponse createUsageResponse(Usage usageRecord) {
- UsageRecordResponse usageRecResponse = new UsageRecordResponse();
-
- Account account = ApiDBUtils.findAccountByIdIncludingRemoved(usageRecord.getAccountId());
- if (account.getType() == Account.ACCOUNT_TYPE_PROJECT) {
- //find the project
- Project project = ApiDBUtils.findProjectByProjectAccountIdIncludingRemoved(account.getId());
- usageRecResponse.setProjectId(project.getUuid());
- usageRecResponse.setProjectName(project.getName());
- } else {
- usageRecResponse.setAccountId(account.getUuid());
- usageRecResponse.setAccountName(account.getAccountName());
- }
-
- Domain domain = ApiDBUtils.findDomainById(usageRecord.getDomainId());
- if (domain != null) {
- usageRecResponse.setDomainId(domain.getUuid());
- }
-
- if (usageRecord.getZoneId() != null) {
- DataCenter zone = ApiDBUtils.findZoneById(usageRecord.getZoneId());
- if (zone != null) {
- usageRecResponse.setZoneId(zone.getUuid());
- }
- }
- usageRecResponse.setDescription(usageRecord.getDescription());
- usageRecResponse.setUsage(usageRecord.getUsageDisplay());
- usageRecResponse.setUsageType(usageRecord.getUsageType());
- if (usageRecord.getVmInstanceId() != null) {
- VMInstanceVO vm = _entityMgr.findByIdIncludingRemoved(VMInstanceVO.class, usageRecord.getVmInstanceId());
- usageRecResponse.setVirtualMachineId(vm.getUuid());
- }
- usageRecResponse.setVmName(usageRecord.getVmName());
- if (usageRecord.getTemplateId() != null) {
- VMTemplateVO template = ApiDBUtils.findTemplateById(usageRecord.getTemplateId());
- if (template != null) {
- usageRecResponse.setTemplateId(template.getUuid());
- }
- }
-
- if(usageRecord.getUsageType() == UsageTypes.RUNNING_VM || usageRecord.getUsageType() == UsageTypes.ALLOCATED_VM){
- ServiceOfferingVO svcOffering = _entityMgr.findByIdIncludingRemoved(ServiceOfferingVO.class, usageRecord.getOfferingId().toString());
- //Service Offering Id
- usageRecResponse.setOfferingId(svcOffering.getUuid());
- //VM Instance ID
- VMInstanceVO vm = _entityMgr.findByIdIncludingRemoved(VMInstanceVO.class, usageRecord.getUsageId().toString());
- usageRecResponse.setUsageId(vm.getUuid());
- //Hypervisor Type
- usageRecResponse.setType(usageRecord.getType());
-
- } else if(usageRecord.getUsageType() == UsageTypes.IP_ADDRESS){
- //isSourceNAT
- usageRecResponse.setSourceNat((usageRecord.getType().equals("SourceNat"))?true:false);
- //isSystem
- usageRecResponse.setSystem((usageRecord.getSize() == 1)?true:false);
- //IP Address ID
- IPAddressVO ip = _entityMgr.findByIdIncludingRemoved(IPAddressVO.class, usageRecord.getUsageId().toString());
- usageRecResponse.setUsageId(ip.getUuid());
-
- } else if(usageRecord.getUsageType() == UsageTypes.NETWORK_BYTES_SENT || usageRecord.getUsageType() == UsageTypes.NETWORK_BYTES_RECEIVED){
- //Device Type
- usageRecResponse.setType(usageRecord.getType());
- if(usageRecord.getType().equals("DomainRouter")){
- //Domain Router Id
- VMInstanceVO vm = _entityMgr.findByIdIncludingRemoved(VMInstanceVO.class, usageRecord.getUsageId().toString());
- usageRecResponse.setUsageId(vm.getUuid());
- } else {
- //External Device Host Id
- HostVO host = _entityMgr.findByIdIncludingRemoved(HostVO.class, usageRecord.getUsageId().toString());
- usageRecResponse.setUsageId(host.getUuid());
- }
- //Network ID
- NetworkVO network = _entityMgr.findByIdIncludingRemoved(NetworkVO.class, usageRecord.getNetworkId().toString());
- usageRecResponse.setNetworkId(network.getUuid());
-
- } else if(usageRecord.getUsageType() == UsageTypes.VOLUME){
- //Volume ID
- VolumeVO volume = _entityMgr.findByIdIncludingRemoved(VolumeVO.class, usageRecord.getUsageId().toString());
- usageRecResponse.setUsageId(volume.getUuid());
- //Volume Size
- usageRecResponse.setSize(usageRecord.getSize());
- //Disk Offering Id
- if(usageRecord.getOfferingId() != null){
- DiskOfferingVO diskOff = _entityMgr.findByIdIncludingRemoved(DiskOfferingVO.class, usageRecord.getOfferingId().toString());
- usageRecResponse.setOfferingId(diskOff.getUuid());
- }
-
- } else if(usageRecord.getUsageType() == UsageTypes.TEMPLATE || usageRecord.getUsageType() == UsageTypes.ISO){
- //Template/ISO ID
- VMTemplateVO tmpl = _entityMgr.findByIdIncludingRemoved(VMTemplateVO.class, usageRecord.getUsageId().toString());
- usageRecResponse.setUsageId(tmpl.getUuid());
- //Template/ISO Size
- usageRecResponse.setSize(usageRecord.getSize());
-
- } else if(usageRecord.getUsageType() == UsageTypes.SNAPSHOT){
- //Snapshot ID
- SnapshotVO snap = _entityMgr.findByIdIncludingRemoved(SnapshotVO.class, usageRecord.getUsageId().toString());
- usageRecResponse.setUsageId(snap.getUuid());
- //Snapshot Size
- usageRecResponse.setSize(usageRecord.getSize());
-
- } else if(usageRecord.getUsageType() == UsageTypes.LOAD_BALANCER_POLICY){
- //Load Balancer Policy ID
- usageRecResponse.setUsageId(usageRecord.getUsageId().toString());
-
- } else if(usageRecord.getUsageType() == UsageTypes.PORT_FORWARDING_RULE){
- //Port Forwarding Rule ID
- usageRecResponse.setUsageId(usageRecord.getUsageId().toString());
-
- } else if(usageRecord.getUsageType() == UsageTypes.NETWORK_OFFERING){
- //Network Offering Id
- NetworkOfferingVO netOff = _entityMgr.findByIdIncludingRemoved(NetworkOfferingVO.class, usageRecord.getOfferingId().toString());
- usageRecResponse.setOfferingId(netOff.getUuid());
- //is Default
- usageRecResponse.setDefault((usageRecord.getUsageId() == 1)? true:false);
-
- } else if(usageRecord.getUsageType() == UsageTypes.VPN_USERS){
- //VPN User ID
- usageRecResponse.setUsageId(usageRecord.getUsageId().toString());
-
- } else if(usageRecord.getUsageType() == UsageTypes.SECURITY_GROUP){
- //Security Group Id
- SecurityGroupVO sg = _entityMgr.findByIdIncludingRemoved(SecurityGroupVO.class, usageRecord.getUsageId().toString());
- usageRecResponse.setUsageId(sg.getUuid());
- }
-
- if (usageRecord.getRawUsage() != null) {
- DecimalFormat decimalFormat = new DecimalFormat("###########.######");
- usageRecResponse.setRawUsage(decimalFormat.format(usageRecord.getRawUsage()));
- }
-
- if (usageRecord.getStartDate() != null) {
- usageRecResponse.setStartDate(getDateStringInternal(usageRecord.getStartDate()));
- }
- if (usageRecord.getEndDate() != null) {
- usageRecResponse.setEndDate(getDateStringInternal(usageRecord.getEndDate()));
- }
-
- return usageRecResponse;
- }
+ @Override
+ public UsageRecordResponse createUsageResponse(Usage usageRecord) {
+ UsageRecordResponse usageRecResponse = new UsageRecordResponse();
+
+ Account account = ApiDBUtils.findAccountByIdIncludingRemoved(usageRecord.getAccountId());
+ if (account.getType() == Account.ACCOUNT_TYPE_PROJECT) {
+ //find the project
+ Project project = ApiDBUtils.findProjectByProjectAccountIdIncludingRemoved(account.getId());
+ usageRecResponse.setProjectId(project.getUuid());
+ usageRecResponse.setProjectName(project.getName());
+ } else {
+ usageRecResponse.setAccountId(account.getUuid());
+ usageRecResponse.setAccountName(account.getAccountName());
+ }
+
+ Domain domain = ApiDBUtils.findDomainById(usageRecord.getDomainId());
+ if (domain != null) {
+ usageRecResponse.setDomainId(domain.getUuid());
+ }
+
+ if (usageRecord.getZoneId() != null) {
+ DataCenter zone = ApiDBUtils.findZoneById(usageRecord.getZoneId());
+ if (zone != null) {
+ usageRecResponse.setZoneId(zone.getUuid());
+ }
+ }
+ usageRecResponse.setDescription(usageRecord.getDescription());
+ usageRecResponse.setUsage(usageRecord.getUsageDisplay());
+ usageRecResponse.setUsageType(usageRecord.getUsageType());
+ if (usageRecord.getVmInstanceId() != null) {
+ VMInstanceVO vm = _entityMgr.findByIdIncludingRemoved(VMInstanceVO.class, usageRecord.getVmInstanceId());
+ usageRecResponse.setVirtualMachineId(vm.getUuid());
+ }
+ usageRecResponse.setVmName(usageRecord.getVmName());
+ if (usageRecord.getTemplateId() != null) {
+ VMTemplateVO template = ApiDBUtils.findTemplateById(usageRecord.getTemplateId());
+ if (template != null) {
+ usageRecResponse.setTemplateId(template.getUuid());
+ }
+ }
+
+ if(usageRecord.getUsageType() == UsageTypes.RUNNING_VM || usageRecord.getUsageType() == UsageTypes.ALLOCATED_VM){
+ ServiceOfferingVO svcOffering = _entityMgr.findByIdIncludingRemoved(ServiceOfferingVO.class, usageRecord.getOfferingId().toString());
+ //Service Offering Id
+ usageRecResponse.setOfferingId(svcOffering.getUuid());
+ //VM Instance ID
+ VMInstanceVO vm = _entityMgr.findByIdIncludingRemoved(VMInstanceVO.class, usageRecord.getUsageId().toString());
+ usageRecResponse.setUsageId(vm.getUuid());
+ //Hypervisor Type
+ usageRecResponse.setType(usageRecord.getType());
+
+ } else if(usageRecord.getUsageType() == UsageTypes.IP_ADDRESS){
+ //isSourceNAT
+ usageRecResponse.setSourceNat((usageRecord.getType().equals("SourceNat"))?true:false);
+ //isSystem
+ usageRecResponse.setSystem((usageRecord.getSize() == 1)?true:false);
+ //IP Address ID
+ IPAddressVO ip = _entityMgr.findByIdIncludingRemoved(IPAddressVO.class, usageRecord.getUsageId().toString());
+ usageRecResponse.setUsageId(ip.getUuid());
+
+ } else if(usageRecord.getUsageType() == UsageTypes.NETWORK_BYTES_SENT || usageRecord.getUsageType() == UsageTypes.NETWORK_BYTES_RECEIVED){
+ //Device Type
+ usageRecResponse.setType(usageRecord.getType());
+ if(usageRecord.getType().equals("DomainRouter")){
+ //Domain Router Id
+ VMInstanceVO vm = _entityMgr.findByIdIncludingRemoved(VMInstanceVO.class, usageRecord.getUsageId().toString());
+ usageRecResponse.setUsageId(vm.getUuid());
+ } else {
+ //External Device Host Id
+ HostVO host = _entityMgr.findByIdIncludingRemoved(HostVO.class, usageRecord.getUsageId().toString());
+ usageRecResponse.setUsageId(host.getUuid());
+ }
+ //Network ID
+ NetworkVO network = _entityMgr.findByIdIncludingRemoved(NetworkVO.class, usageRecord.getNetworkId().toString());
+ usageRecResponse.setNetworkId(network.getUuid());
+
+ } else if(usageRecord.getUsageType() == UsageTypes.VOLUME){
+ //Volume ID
+ VolumeVO volume = _entityMgr.findByIdIncludingRemoved(VolumeVO.class, usageRecord.getUsageId().toString());
+ usageRecResponse.setUsageId(volume.getUuid());
+ //Volume Size
+ usageRecResponse.setSize(usageRecord.getSize());
+ //Disk Offering Id
+ if(usageRecord.getOfferingId() != null){
+ DiskOfferingVO diskOff = _entityMgr.findByIdIncludingRemoved(DiskOfferingVO.class, usageRecord.getOfferingId().toString());
+ usageRecResponse.setOfferingId(diskOff.getUuid());
+ }
+
+ } else if(usageRecord.getUsageType() == UsageTypes.TEMPLATE || usageRecord.getUsageType() == UsageTypes.ISO){
+ //Template/ISO ID
+ VMTemplateVO tmpl = _entityMgr.findByIdIncludingRemoved(VMTemplateVO.class, usageRecord.getUsageId().toString());
+ usageRecResponse.setUsageId(tmpl.getUuid());
+ //Template/ISO Size
+ usageRecResponse.setSize(usageRecord.getSize());
+
+ } else if(usageRecord.getUsageType() == UsageTypes.SNAPSHOT){
+ //Snapshot ID
+ SnapshotVO snap = _entityMgr.findByIdIncludingRemoved(SnapshotVO.class, usageRecord.getUsageId().toString());
+ usageRecResponse.setUsageId(snap.getUuid());
+ //Snapshot Size
+ usageRecResponse.setSize(usageRecord.getSize());
+
+ } else if(usageRecord.getUsageType() == UsageTypes.LOAD_BALANCER_POLICY){
+ //Load Balancer Policy ID
+ LoadBalancerVO lb = _entityMgr.findByIdIncludingRemoved(LoadBalancerVO.class, usageRecord.getUsageId().toString());
+ usageRecResponse.setUsageId(lb.getUuid());
+ } else if(usageRecord.getUsageType() == UsageTypes.PORT_FORWARDING_RULE){
+ //Port Forwarding Rule ID
+ PortForwardingRuleVO pf = _entityMgr.findByIdIncludingRemoved(PortForwardingRuleVO.class, usageRecord.getUsageId().toString());
+ usageRecResponse.setUsageId(pf.getUuid());
+
+ } else if(usageRecord.getUsageType() == UsageTypes.NETWORK_OFFERING){
+ //Network Offering Id
+ NetworkOfferingVO netOff = _entityMgr.findByIdIncludingRemoved(NetworkOfferingVO.class, usageRecord.getOfferingId().toString());
+ usageRecResponse.setOfferingId(netOff.getUuid());
+ //is Default
+ usageRecResponse.setDefault((usageRecord.getUsageId() == 1)? true:false);
+
+ } else if(usageRecord.getUsageType() == UsageTypes.VPN_USERS){
+ //VPN User ID
+ VpnUserVO vpnUser = _entityMgr.findByIdIncludingRemoved(VpnUserVO.class, usageRecord.getUsageId().toString());
+ usageRecResponse.setUsageId(vpnUser.getUuid());
+
+ } else if(usageRecord.getUsageType() == UsageTypes.SECURITY_GROUP){
+ //Security Group Id
+ SecurityGroupVO sg = _entityMgr.findByIdIncludingRemoved(SecurityGroupVO.class, usageRecord.getUsageId().toString());
+ usageRecResponse.setUsageId(sg.getUuid());
+ }
+
+ if (usageRecord.getRawUsage() != null) {
+ DecimalFormat decimalFormat = new DecimalFormat("###########.######");
+ usageRecResponse.setRawUsage(decimalFormat.format(usageRecord.getRawUsage()));
+ }
+
+ if (usageRecord.getStartDate() != null) {
+ usageRecResponse.setStartDate(getDateStringInternal(usageRecord.getStartDate()));
+ }
+ if (usageRecord.getEndDate() != null) {
+ usageRecResponse.setEndDate(getDateStringInternal(usageRecord.getEndDate()));
+ }
+
+ return usageRecResponse;
+ }
public String getDateStringInternal(Date inputDate) {
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/ba67e5d5/setup/db/db/schema-410to420.sql
----------------------------------------------------------------------
diff --git a/setup/db/db/schema-410to420.sql b/setup/db/db/schema-410to420.sql
index 885eff4..435bb83 100644
--- a/setup/db/db/schema-410to420.sql
+++ b/setup/db/db/schema-410to420.sql
@@ -1040,8 +1040,10 @@ CREATE VIEW `cloud`.`service_offering_view` AS
-- Add "default" field to account/user tables
ALTER TABLE `cloud`.`account` ADD COLUMN `default` int(1) unsigned NOT NULL DEFAULT '0' COMMENT '1 if account is default';
+ALTER TABLE `cloud_usage`.`account` ADD COLUMN `default` int(1) unsigned NOT NULL DEFAULT '0' COMMENT '1 if account is default';
ALTER TABLE `cloud`.`user` ADD COLUMN `default` int(1) unsigned NOT NULL DEFAULT '0' COMMENT '1 if user is default';
UPDATE `cloud`.`account` SET `cloud`.`account`.`default`=1 WHERE id IN (1,2);
+UPDATE `cloud_usage`.`account` SET `default`=1 WHERE id IN (1,2);
UPDATE `cloud`.`user` SET `cloud`.`user`.`default`=1 WHERE id IN (1,2);
ALTER VIEW `cloud`.`user_view` AS