mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
=updatenetwork changes
This commit is contained in:
parent
335aca3f54
commit
c338cb7dd0
@ -68,7 +68,7 @@ public interface NetworkService {
|
|||||||
IpAddress getIp(long id);
|
IpAddress getIp(long id);
|
||||||
|
|
||||||
Network updateGuestNetwork(long networkId, String name, String displayText, Account callerAccount, User callerUser,
|
Network updateGuestNetwork(long networkId, String name, String displayText, Account callerAccount, User callerUser,
|
||||||
String domainSuffix, Long networkOfferingId, Boolean changeCidr, String guestVmCidr);
|
String domainSuffix, Long networkOfferingId, Boolean changeCidr, String guestVmCidr, Boolean displayNetwork);
|
||||||
|
|
||||||
PhysicalNetwork createPhysicalNetwork(Long zoneId, String vnetRange, String networkSpeed,
|
PhysicalNetwork createPhysicalNetwork(Long zoneId, String vnetRange, String networkSpeed,
|
||||||
List<String> isolationMethods, String broadcastDomainRange, Long domainId, List<String> tags, String name);
|
List<String> isolationMethods, String broadcastDomainRange, Long domainId, List<String> tags, String name);
|
||||||
|
|||||||
@ -67,6 +67,9 @@ public class UpdateNetworkCmd extends BaseAsyncCmd {
|
|||||||
@Parameter(name=ApiConstants.GUEST_VM_CIDR, type=CommandType.STRING, description="CIDR for Guest VMs,Cloudstack allocates IPs to Guest VMs only from this CIDR")
|
@Parameter(name=ApiConstants.GUEST_VM_CIDR, type=CommandType.STRING, description="CIDR for Guest VMs,Cloudstack allocates IPs to Guest VMs only from this CIDR")
|
||||||
private String guestVmCidr;
|
private String guestVmCidr;
|
||||||
|
|
||||||
|
@Parameter(name=ApiConstants.DISPLAY_NETWORK, type=CommandType.BOOLEAN, description="an optional field, whether to the display the network to the end user or not.")
|
||||||
|
private Boolean displayNetwork;
|
||||||
|
|
||||||
/////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////
|
||||||
/////////////////// Accessors ///////////////////////
|
/////////////////// Accessors ///////////////////////
|
||||||
/////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////
|
||||||
@ -101,6 +104,10 @@ public class UpdateNetworkCmd extends BaseAsyncCmd {
|
|||||||
private String getGuestVmCidr() {
|
private String getGuestVmCidr() {
|
||||||
return guestVmCidr;
|
return guestVmCidr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Boolean getDisplayNetwork() {
|
||||||
|
return displayNetwork;
|
||||||
|
}
|
||||||
/////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////
|
||||||
/////////////// API Implementation///////////////////
|
/////////////// API Implementation///////////////////
|
||||||
/////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////
|
||||||
@ -130,7 +137,7 @@ public class UpdateNetworkCmd extends BaseAsyncCmd {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Network result = _networkService.updateGuestNetwork(getId(), getNetworkName(), getDisplayText(), callerAccount,
|
Network result = _networkService.updateGuestNetwork(getId(), getNetworkName(), getDisplayText(), callerAccount,
|
||||||
callerUser, getNetworkDomain(), getNetworkOfferingId(), getChangeCidr(), getGuestVmCidr());
|
callerUser, getNetworkDomain(), getNetworkOfferingId(), getChangeCidr(), getGuestVmCidr(), getDisplayNetwork());
|
||||||
|
|
||||||
|
|
||||||
if (result != null) {
|
if (result != null) {
|
||||||
|
|||||||
@ -1173,7 +1173,7 @@ public class NetworkManagerImpl extends ManagerBase implements NetworkManager, L
|
|||||||
NetworkVO vo = new NetworkVO(id, network, offering.getId(), guru.getName(), owner.getDomainId(), owner.getId(),
|
NetworkVO vo = new NetworkVO(id, network, offering.getId(), guru.getName(), owner.getDomainId(), owner.getId(),
|
||||||
related, name, displayText, predefined.getNetworkDomain(), offering.getGuestType(),
|
related, name, displayText, predefined.getNetworkDomain(), offering.getGuestType(),
|
||||||
plan.getDataCenterId(), plan.getPhysicalNetworkId(), aclType, offering.getSpecifyIpRanges(), vpcId);
|
plan.getDataCenterId(), plan.getPhysicalNetworkId(), aclType, offering.getSpecifyIpRanges(), vpcId);
|
||||||
vo.setDisplayNetwork(isDisplayNetworkEnabled);
|
vo.setDisplayNetwork(isDisplayNetworkEnabled == null ? true : isDisplayNetworkEnabled);
|
||||||
networks.add(_networksDao.persist(vo, vo.getGuestType() == Network.GuestType.Isolated,
|
networks.add(_networksDao.persist(vo, vo.getGuestType() == Network.GuestType.Isolated,
|
||||||
finalizeServicesAndProvidersForNetwork(offering, plan.getPhysicalNetworkId())));
|
finalizeServicesAndProvidersForNetwork(offering, plan.getPhysicalNetworkId())));
|
||||||
|
|
||||||
|
|||||||
@ -1712,7 +1712,7 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService {
|
|||||||
@DB
|
@DB
|
||||||
@ActionEvent(eventType = EventTypes.EVENT_NETWORK_UPDATE, eventDescription = "updating network", async = true)
|
@ActionEvent(eventType = EventTypes.EVENT_NETWORK_UPDATE, eventDescription = "updating network", async = true)
|
||||||
public Network updateGuestNetwork(long networkId, String name, String displayText, Account callerAccount,
|
public Network updateGuestNetwork(long networkId, String name, String displayText, Account callerAccount,
|
||||||
User callerUser, String domainSuffix, Long networkOfferingId, Boolean changeCidr, String guestVmCidr) {
|
User callerUser, String domainSuffix, Long networkOfferingId, Boolean changeCidr, String guestVmCidr, Boolean displayNetwork) {
|
||||||
boolean restartNetwork = false;
|
boolean restartNetwork = false;
|
||||||
|
|
||||||
// verify input parameters
|
// verify input parameters
|
||||||
@ -1756,6 +1756,13 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService {
|
|||||||
network.setDisplayText(displayText);
|
network.setDisplayText(displayText);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(displayNetwork != null){
|
||||||
|
if(!_accountMgr.isRootAdmin(callerAccount.getType())){
|
||||||
|
throw new PermissionDeniedException("Only admin allowed to update displaynetwork parameter");
|
||||||
|
}
|
||||||
|
network.setDisplayNetwork(displayNetwork);
|
||||||
|
}
|
||||||
|
|
||||||
// network offering and domain suffix can be updated for Isolated networks only in 3.0
|
// network offering and domain suffix can be updated for Isolated networks only in 3.0
|
||||||
if ((networkOfferingId != null || domainSuffix != null) && network.getGuestType() != GuestType.Isolated) {
|
if ((networkOfferingId != null || domainSuffix != null) && network.getGuestType() != GuestType.Isolated) {
|
||||||
throw new InvalidParameterValueException("NetworkOffering and domain suffix upgrade can be perfomed for Isolated networks only");
|
throw new InvalidParameterValueException("NetworkOffering and domain suffix upgrade can be perfomed for Isolated networks only");
|
||||||
|
|||||||
@ -755,6 +755,11 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Use
|
|||||||
public UserVm upgradeVirtualMachine(UpgradeVMCmd cmd) throws ResourceAllocationException {
|
public UserVm upgradeVirtualMachine(UpgradeVMCmd cmd) throws ResourceAllocationException {
|
||||||
Long vmId = cmd.getId();
|
Long vmId = cmd.getId();
|
||||||
Long svcOffId = cmd.getServiceOfferingId();
|
Long svcOffId = cmd.getServiceOfferingId();
|
||||||
|
return upgradeStoppedVirtualMachine(vmId, svcOffId);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private UserVm upgradeStoppedVirtualMachine(Long vmId, Long svcOffId) throws ResourceAllocationException {
|
||||||
Account caller = UserContext.current().getCaller();
|
Account caller = UserContext.current().getCaller();
|
||||||
|
|
||||||
// Verify input parameters
|
// Verify input parameters
|
||||||
@ -815,6 +820,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Use
|
|||||||
}
|
}
|
||||||
|
|
||||||
return _vmDao.findById(vmInstance.getId());
|
return _vmDao.findById(vmInstance.getId());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -1052,7 +1058,7 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Use
|
|||||||
@Override
|
@Override
|
||||||
@ActionEvent(eventType = EventTypes.EVENT_VM_SCALE, eventDescription = "scaling Vm")
|
@ActionEvent(eventType = EventTypes.EVENT_VM_SCALE, eventDescription = "scaling Vm")
|
||||||
public UserVm
|
public UserVm
|
||||||
upgradeVirtualMachine(ScaleVMCmd cmd) throws InvalidParameterValueException {
|
upgradeVirtualMachine(ScaleVMCmd cmd) throws InvalidParameterValueException, ResourceAllocationException {
|
||||||
Long vmId = cmd.getId();
|
Long vmId = cmd.getId();
|
||||||
Long newServiceOfferingId = cmd.getServiceOfferingId();
|
Long newServiceOfferingId = cmd.getServiceOfferingId();
|
||||||
Account caller = UserContext.current().getCaller();
|
Account caller = UserContext.current().getCaller();
|
||||||
@ -1063,6 +1069,10 @@ public class UserVmManagerImpl extends ManagerBase implements UserVmManager, Use
|
|||||||
throw new InvalidParameterValueException("This operation not permitted for this hypervisor of the vm");
|
throw new InvalidParameterValueException("This operation not permitted for this hypervisor of the vm");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(vmInstance.getState().equals(State.Stopped)){
|
||||||
|
return upgradeStoppedVirtualMachine(vmId, newServiceOfferingId);
|
||||||
|
}
|
||||||
|
|
||||||
_accountMgr.checkAccess(caller, null, true, vmInstance);
|
_accountMgr.checkAccess(caller, null, true, vmInstance);
|
||||||
|
|
||||||
// Check that the specified service offering ID is valid
|
// Check that the specified service offering ID is valid
|
||||||
|
|||||||
@ -51,7 +51,6 @@ import com.cloud.vm.VMInstanceVO;
|
|||||||
import com.cloud.vm.VirtualMachine;
|
import com.cloud.vm.VirtualMachine;
|
||||||
import com.cloud.vm.VirtualMachine.Type;
|
import com.cloud.vm.VirtualMachine.Type;
|
||||||
import com.cloud.vm.VirtualMachineProfile;
|
import com.cloud.vm.VirtualMachineProfile;
|
||||||
import org.apache.cloudstack.acl.ControlledEntity;
|
|
||||||
import org.apache.cloudstack.acl.ControlledEntity.ACLType;
|
import org.apache.cloudstack.acl.ControlledEntity.ACLType;
|
||||||
import org.apache.cloudstack.api.command.admin.usage.ListTrafficTypeImplementorsCmd;
|
import org.apache.cloudstack.api.command.admin.usage.ListTrafficTypeImplementorsCmd;
|
||||||
import org.apache.cloudstack.api.command.user.network.*;
|
import org.apache.cloudstack.api.command.user.network.*;
|
||||||
@ -563,7 +562,7 @@ public class MockNetworkManagerImpl extends ManagerBase implements NetworkManage
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Network updateGuestNetwork(long networkId, String name, String displayText, Account callerAccount,
|
public Network updateGuestNetwork(long networkId, String name, String displayText, Account callerAccount,
|
||||||
User callerUser, String domainSuffix, Long networkOfferingId, Boolean changeCidr, String guestVmCidr) {
|
User callerUser, String domainSuffix, Long networkOfferingId, Boolean changeCidr, String guestVmCidr, Boolean displayNetwork) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -286,7 +286,7 @@ public class MockNetworkManagerImpl extends ManagerBase implements NetworkManage
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Network updateGuestNetwork(long networkId, String name, String displayText, Account callerAccount,
|
public Network updateGuestNetwork(long networkId, String name, String displayText, Account callerAccount,
|
||||||
User callerUser, String domainSuffix, Long networkOfferingId, Boolean changeCidr, String guestVmCidr) {
|
User callerUser, String domainSuffix, Long networkOfferingId, Boolean changeCidr, String guestVmCidr, Boolean displayNetwork) {
|
||||||
// TODO Auto-generated method stub
|
// TODO Auto-generated method stub
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1232,6 +1232,7 @@ CREATE VIEW `cloud`.`user_vm_view` AS
|
|||||||
data_center.uuid data_center_uuid,
|
data_center.uuid data_center_uuid,
|
||||||
data_center.name data_center_name,
|
data_center.name data_center_name,
|
||||||
data_center.is_security_group_enabled security_group_enabled,
|
data_center.is_security_group_enabled security_group_enabled,
|
||||||
|
data_center.networktype data_center_type,
|
||||||
host.id host_id,
|
host.id host_id,
|
||||||
host.uuid host_uuid,
|
host.uuid host_uuid,
|
||||||
host.name host_name,
|
host.name host_name,
|
||||||
@ -1297,7 +1298,12 @@ CREATE VIEW `cloud`.`user_vm_view` AS
|
|||||||
async_job.id job_id,
|
async_job.id job_id,
|
||||||
async_job.uuid job_uuid,
|
async_job.uuid job_uuid,
|
||||||
async_job.job_status job_status,
|
async_job.job_status job_status,
|
||||||
async_job.account_id job_account_id
|
async_job.account_id job_account_id,
|
||||||
|
affinity_group.id affinity_group_id,
|
||||||
|
affinity_group.uuid affinity_group_uuid,
|
||||||
|
affinity_group.name affinity_group_name,
|
||||||
|
affinity_group.description affinity_group_description
|
||||||
|
|
||||||
from
|
from
|
||||||
`cloud`.`user_vm`
|
`cloud`.`user_vm`
|
||||||
inner join
|
inner join
|
||||||
@ -1356,7 +1362,11 @@ CREATE VIEW `cloud`.`user_vm_view` AS
|
|||||||
left join
|
left join
|
||||||
`cloud`.`async_job` ON async_job.instance_id = vm_instance.id
|
`cloud`.`async_job` ON async_job.instance_id = vm_instance.id
|
||||||
and async_job.instance_type = 'VirtualMachine'
|
and async_job.instance_type = 'VirtualMachine'
|
||||||
and async_job.job_status = 0;
|
and async_job.job_status = 0
|
||||||
|
left join
|
||||||
|
`cloud`.`affinity_group_vm_map` ON vm_instance.id = affinity_group_vm_map.instance_id
|
||||||
|
left join
|
||||||
|
`cloud`.`affinity_group` ON affinity_group_vm_map.affinity_group_id = affinity_group.id;
|
||||||
|
|
||||||
DROP VIEW IF EXISTS `cloud`.`volume_view`;
|
DROP VIEW IF EXISTS `cloud`.`volume_view`;
|
||||||
CREATE VIEW `cloud`.`volume_view` AS
|
CREATE VIEW `cloud`.`volume_view` AS
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user