mirror of https://github.com/apache/cloudstack.git
CLOUDSTACK-2452: Fixed account upgrade for usage. Added cloumn default. Updated usage response for PF , LB and VPN to return UUID instead of Id
This commit is contained in:
parent
6e1103e924
commit
ba67e5d56e
|
|
@ -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();
|
||||
@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());
|
||||
}
|
||||
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());
|
||||
}
|
||||
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.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());
|
||||
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.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.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.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.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.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.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.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.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.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());
|
||||
}
|
||||
|
||||
} 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.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()));
|
||||
}
|
||||
|
||||
if (usageRecord.getStartDate() != null) {
|
||||
usageRecResponse.setStartDate(getDateStringInternal(usageRecord.getStartDate()));
|
||||
}
|
||||
if (usageRecord.getEndDate() != null) {
|
||||
usageRecResponse.setEndDate(getDateStringInternal(usageRecord.getEndDate()));
|
||||
}
|
||||
|
||||
return usageRecResponse;
|
||||
}
|
||||
return usageRecResponse;
|
||||
}
|
||||
|
||||
|
||||
public String getDateStringInternal(Date inputDate) {
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue