mirror of https://github.com/apache/cloudstack.git
Reverting the commit for parallel vm deployment, from beta branch
Revert "CLOUDSTACK-2843: Provideded an ability to turn off the synchronization being done on the CS agent side,"
This reverts commit 0fe7c5c935.
Conflicts:
server/src/com/cloud/configuration/Config.java
setup/db/db/schema-410to420.sql
This commit is contained in:
parent
21e2bf480e
commit
0035bbba34
|
|
@ -274,6 +274,4 @@ public interface NetworkModel {
|
|||
Networks.IsolationType[] listNetworkIsolationMethods();
|
||||
|
||||
Nic getNicInNetworkIncludingRemoved(long vmId, long networkId);
|
||||
|
||||
boolean getExecuteInSeqNtwkElmtCmd();
|
||||
}
|
||||
|
|
@ -24,7 +24,6 @@ import com.cloud.host.Host;
|
|||
public class StartCommand extends Command {
|
||||
VirtualMachineTO vm;
|
||||
String hostIp;
|
||||
boolean executeInSequence = false;
|
||||
|
||||
public VirtualMachineTO getVirtualMachine() {
|
||||
return vm;
|
||||
|
|
@ -32,16 +31,19 @@ public class StartCommand extends Command {
|
|||
|
||||
@Override
|
||||
public boolean executeInSequence() {
|
||||
return executeInSequence;
|
||||
return true;
|
||||
}
|
||||
|
||||
protected StartCommand() {
|
||||
}
|
||||
|
||||
public StartCommand(VirtualMachineTO vm, Host host, boolean executeInSequence) {
|
||||
public StartCommand(VirtualMachineTO vm) {
|
||||
this.vm = vm;
|
||||
}
|
||||
|
||||
public StartCommand(VirtualMachineTO vm, Host host) {
|
||||
this.vm = vm;
|
||||
this.hostIp = host.getPrivateIpAddress();
|
||||
this.executeInSequence = executeInSequence;
|
||||
}
|
||||
|
||||
public String getHostIp() {
|
||||
|
|
|
|||
|
|
@ -23,33 +23,28 @@ public class StopCommand extends RebootCommand {
|
|||
private boolean isProxy=false;
|
||||
private String urlPort=null;
|
||||
private String publicConsoleProxyIpAddress=null;
|
||||
boolean executeInSequence = false;
|
||||
|
||||
protected StopCommand() {
|
||||
}
|
||||
|
||||
public StopCommand(VirtualMachine vm, boolean isProxy, String urlPort, String publicConsoleProxyIpAddress, boolean executeInSequence) {
|
||||
public StopCommand(VirtualMachine vm, boolean isProxy, String urlPort, String publicConsoleProxyIpAddress) {
|
||||
super(vm);
|
||||
this.isProxy = isProxy;
|
||||
this.urlPort = urlPort;
|
||||
this.publicConsoleProxyIpAddress = publicConsoleProxyIpAddress;
|
||||
this.executeInSequence = executeInSequence;
|
||||
}
|
||||
|
||||
public StopCommand(VirtualMachine vm, String vnet, boolean executeInSequence) {
|
||||
public StopCommand(VirtualMachine vm, String vnet) {
|
||||
super(vm);
|
||||
this.vnet = vnet;
|
||||
this.executeInSequence = executeInSequence;
|
||||
}
|
||||
|
||||
public StopCommand(VirtualMachine vm, boolean executeInSequence) {
|
||||
public StopCommand(VirtualMachine vm) {
|
||||
super(vm);
|
||||
this.executeInSequence = executeInSequence;
|
||||
}
|
||||
|
||||
public StopCommand(String vmName, boolean executeInSequence) {
|
||||
public StopCommand(String vmName) {
|
||||
super(vmName);
|
||||
this.executeInSequence = executeInSequence;
|
||||
}
|
||||
|
||||
public String getVnet() {
|
||||
|
|
@ -58,7 +53,7 @@ public class StopCommand extends RebootCommand {
|
|||
|
||||
@Override
|
||||
public boolean executeInSequence() {
|
||||
return executeInSequence;
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean isProxy() {
|
||||
|
|
|
|||
|
|
@ -32,7 +32,6 @@ public class DhcpEntryCommand extends NetworkElementCommand {
|
|||
String ip6Gateway;
|
||||
String duid;
|
||||
private boolean isDefault;
|
||||
boolean executeInSequence = false;
|
||||
|
||||
protected DhcpEntryCommand() {
|
||||
|
||||
|
|
@ -40,20 +39,19 @@ public class DhcpEntryCommand extends NetworkElementCommand {
|
|||
|
||||
@Override
|
||||
public boolean executeInSequence() {
|
||||
return executeInSequence;
|
||||
return true;
|
||||
}
|
||||
|
||||
public DhcpEntryCommand(String vmMac, String vmIpAddress, String vmName, String vmIp6Address, boolean executeInSequence) {
|
||||
public DhcpEntryCommand(String vmMac, String vmIpAddress, String vmName, String vmIp6Address) {
|
||||
this.vmMac = vmMac;
|
||||
this.vmIpAddress = vmIpAddress;
|
||||
this.vmName = vmName;
|
||||
this.vmIp6Address = vmIp6Address;
|
||||
this.setDefault(true);
|
||||
this.executeInSequence = executeInSequence;
|
||||
}
|
||||
|
||||
public DhcpEntryCommand(String vmMac, String vmIpAddress, String vmName, String vmIp6Address, String dns, String gateway, String ip6Gateway, boolean executeInSequence) {
|
||||
this(vmMac, vmIpAddress, vmName, vmIp6Address, executeInSequence);
|
||||
public DhcpEntryCommand(String vmMac, String vmIpAddress, String vmName, String vmIp6Address, String dns, String gateway, String ip6Gateway) {
|
||||
this(vmMac, vmIpAddress, vmName, vmIp6Address);
|
||||
this.dns = dns;
|
||||
this.gateway = gateway;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,21 +22,19 @@ public class SavePasswordCommand extends NetworkElementCommand {
|
|||
String password;
|
||||
String vmIpAddress;
|
||||
String vmName;
|
||||
boolean executeInSequence = false;
|
||||
|
||||
protected SavePasswordCommand() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean executeInSequence() {
|
||||
return executeInSequence;
|
||||
return true;
|
||||
}
|
||||
|
||||
public SavePasswordCommand(String password, String vmIpAddress, String vmName, boolean executeInSequence) {
|
||||
public SavePasswordCommand(String password, String vmIpAddress, String vmName) {
|
||||
this.password = password;
|
||||
this.vmIpAddress = vmIpAddress;
|
||||
this.vmName = vmName;
|
||||
this.executeInSequence = executeInSequence;
|
||||
}
|
||||
|
||||
public String getPassword() {
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@ public class UserDataCommand extends NetworkElementCommand {
|
|||
String vmIpAddress;
|
||||
String routerPrivateIpAddress;
|
||||
String vmName;
|
||||
boolean executeInSequence = false;
|
||||
|
||||
protected UserDataCommand() {
|
||||
|
||||
|
|
@ -31,15 +30,14 @@ public class UserDataCommand extends NetworkElementCommand {
|
|||
|
||||
@Override
|
||||
public boolean executeInSequence() {
|
||||
return executeInSequence;
|
||||
return true;
|
||||
}
|
||||
|
||||
public UserDataCommand(String userData, String vmIpAddress, String routerPrivateIpAddress, String vmName, boolean executeInSequence) {
|
||||
public UserDataCommand(String userData, String vmIpAddress, String routerPrivateIpAddress, String vmName) {
|
||||
this.userData = userData;
|
||||
this.vmIpAddress = vmIpAddress;
|
||||
this.routerPrivateIpAddress = routerPrivateIpAddress;
|
||||
this.vmName = vmName;
|
||||
this.executeInSequence = executeInSequence;
|
||||
}
|
||||
|
||||
public String getRouterPrivateIpAddress() {
|
||||
|
|
|
|||
|
|
@ -28,29 +28,27 @@ public class VmDataCommand extends NetworkElementCommand {
|
|||
String vmName;
|
||||
@LogLevel(Log4jLevel.Trace)
|
||||
List<String[]> vmData;
|
||||
boolean executeInSequence = false;
|
||||
|
||||
protected VmDataCommand() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean executeInSequence() {
|
||||
return executeInSequence;
|
||||
return true;
|
||||
}
|
||||
|
||||
public VmDataCommand(String vmIpAddress, boolean executeInSequence) {
|
||||
this(vmIpAddress, null, executeInSequence);
|
||||
public VmDataCommand(String vmIpAddress) {
|
||||
this(vmIpAddress, null);
|
||||
}
|
||||
|
||||
public String getVmName() {
|
||||
return vmName;
|
||||
}
|
||||
|
||||
public VmDataCommand(String vmIpAddress, String vmName, boolean executeInSequence) {
|
||||
public VmDataCommand(String vmIpAddress, String vmName) {
|
||||
this.vmName = vmName;
|
||||
this.vmIpAddress = vmIpAddress;
|
||||
this.vmData = new ArrayList<String[]>();
|
||||
this.executeInSequence = executeInSequence;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -28,24 +28,22 @@ public class CopyVolumeCommand extends Command {
|
|||
String secondaryStorageURL;
|
||||
boolean toSecondaryStorage;
|
||||
String vmName;
|
||||
boolean executeInSequence = false;
|
||||
|
||||
public CopyVolumeCommand() {
|
||||
}
|
||||
|
||||
public CopyVolumeCommand(long volumeId, String volumePath, StoragePool pool, String secondaryStorageURL, boolean toSecondaryStorage, int wait, boolean executeInSequence) {
|
||||
public CopyVolumeCommand(long volumeId, String volumePath, StoragePool pool, String secondaryStorageURL, boolean toSecondaryStorage, int wait) {
|
||||
this.volumeId = volumeId;
|
||||
this.volumePath = volumePath;
|
||||
this.pool = new StorageFilerTO(pool);
|
||||
this.secondaryStorageURL = secondaryStorageURL;
|
||||
this.toSecondaryStorage = toSecondaryStorage;
|
||||
setWait(wait);
|
||||
this.executeInSequence = executeInSequence;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean executeInSequence() {
|
||||
return executeInSequence;
|
||||
return true;
|
||||
}
|
||||
|
||||
public String getVolumePath() {
|
||||
|
|
|
|||
|
|
@ -26,7 +26,6 @@ public class CreateCommand extends Command {
|
|||
private StorageFilerTO pool;
|
||||
private DiskProfile diskCharacteristics;
|
||||
private String templateUrl;
|
||||
boolean executeInSequence = false;
|
||||
|
||||
protected CreateCommand() {
|
||||
super();
|
||||
|
|
@ -34,47 +33,44 @@ public class CreateCommand extends Command {
|
|||
|
||||
/**
|
||||
* Construction for template based volumes.
|
||||
*
|
||||
* @param vol
|
||||
* @param vm
|
||||
* @param diskCharacteristics
|
||||
* @param templateUrl
|
||||
* @param pool
|
||||
* @param executeInSequence TODO
|
||||
* @param vol
|
||||
* @param vm
|
||||
*/
|
||||
public CreateCommand(DiskProfile diskCharacteristics, String templateUrl, StorageFilerTO pool, boolean executeInSequence) {
|
||||
this(diskCharacteristics, pool, executeInSequence);
|
||||
public CreateCommand(DiskProfile diskCharacteristics, String templateUrl, StorageFilerTO pool) {
|
||||
this(diskCharacteristics, pool);
|
||||
this.templateUrl = templateUrl;
|
||||
this.executeInSequence = executeInSequence;
|
||||
}
|
||||
|
||||
/**
|
||||
* Construction for regular volumes.
|
||||
* @param diskCharacteristics
|
||||
* @param pool
|
||||
* @param executeInSequence TODO
|
||||
*
|
||||
* @param vol
|
||||
* @param vm
|
||||
* @param diskCharacteristics
|
||||
* @param pool
|
||||
*/
|
||||
public CreateCommand(DiskProfile diskCharacteristics, StorageFilerTO pool, boolean executeInSequence) {
|
||||
public CreateCommand(DiskProfile diskCharacteristics, StorageFilerTO pool) {
|
||||
this.volId = diskCharacteristics.getVolumeId();
|
||||
this.diskCharacteristics = diskCharacteristics;
|
||||
this.pool = pool;
|
||||
this.templateUrl = null;
|
||||
this.executeInSequence = executeInSequence;
|
||||
}
|
||||
|
||||
public CreateCommand(DiskProfile diskCharacteristics, String templateUrl, StoragePool pool, boolean executeInSequence) {
|
||||
this(diskCharacteristics, templateUrl, new StorageFilerTO(pool), executeInSequence);
|
||||
public CreateCommand(DiskProfile diskCharacteristics, String templateUrl, StoragePool pool) {
|
||||
this(diskCharacteristics, templateUrl, new StorageFilerTO(pool));
|
||||
}
|
||||
|
||||
public CreateCommand(DiskProfile diskCharacteristics, StoragePool pool, boolean executeInSequence) {
|
||||
this(diskCharacteristics, new StorageFilerTO(pool), executeInSequence);
|
||||
this.executeInSequence = executeInSequence;
|
||||
public CreateCommand(DiskProfile diskCharacteristics, StoragePool pool) {
|
||||
this(diskCharacteristics, new StorageFilerTO(pool));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean executeInSequence() {
|
||||
return executeInSequence;
|
||||
return true;
|
||||
}
|
||||
|
||||
public String getTemplateUrl() {
|
||||
|
|
|
|||
|
|
@ -50,11 +50,11 @@ import com.cloud.agent.api.CreateVolumeFromSnapshotCommand;
|
|||
import com.cloud.agent.api.UpgradeSnapshotCommand;
|
||||
import com.cloud.agent.api.storage.CopyVolumeAnswer;
|
||||
import com.cloud.agent.api.storage.CopyVolumeCommand;
|
||||
import com.cloud.agent.api.storage.MigrateVolumeAnswer;
|
||||
import com.cloud.agent.api.storage.MigrateVolumeCommand;
|
||||
import com.cloud.agent.api.storage.CreateAnswer;
|
||||
import com.cloud.agent.api.storage.CreateCommand;
|
||||
import com.cloud.agent.api.storage.CreatePrivateTemplateAnswer;
|
||||
import com.cloud.agent.api.storage.MigrateVolumeAnswer;
|
||||
import com.cloud.agent.api.storage.MigrateVolumeCommand;
|
||||
import com.cloud.agent.api.to.S3TO;
|
||||
import com.cloud.agent.api.to.StorageFilerTO;
|
||||
import com.cloud.agent.api.to.SwiftTO;
|
||||
|
|
@ -67,7 +67,6 @@ import com.cloud.exception.StorageUnavailableException;
|
|||
import com.cloud.host.Host;
|
||||
import com.cloud.host.HostVO;
|
||||
import com.cloud.host.dao.HostDao;
|
||||
import com.cloud.server.ManagementServer;
|
||||
import com.cloud.storage.DiskOfferingVO;
|
||||
import com.cloud.storage.SnapshotVO;
|
||||
import com.cloud.storage.Storage.ImageFormat;
|
||||
|
|
@ -139,11 +138,6 @@ public class AncientDataMotionStrategy implements DataMotionStrategy {
|
|||
private SwiftManager _swiftMgr;
|
||||
@Inject
|
||||
private S3Manager _s3Mgr;
|
||||
@Inject
|
||||
private ManagementServer _mgmtServer;
|
||||
|
||||
protected boolean _executeInSequence;
|
||||
|
||||
|
||||
@Override
|
||||
public boolean canHandle(DataObject srcData, DataObject destData) {
|
||||
|
|
@ -171,7 +165,7 @@ public class AncientDataMotionStrategy implements DataMotionStrategy {
|
|||
StoragePool destPool = (StoragePool) destData.getDataStore();
|
||||
CopyVolumeCommand cvCmd = new CopyVolumeCommand(srcData.getId(),
|
||||
volumeUUID, destPool, secondaryStorageURL, false,
|
||||
_copyvolumewait, _mgmtServer.getExecuteInSequence());
|
||||
_copyvolumewait);
|
||||
CopyVolumeAnswer cvAnswer = null;
|
||||
String errMsg = null;
|
||||
try {
|
||||
|
|
@ -327,7 +321,7 @@ public class AncientDataMotionStrategy implements DataMotionStrategy {
|
|||
null);
|
||||
CreateCommand cmd = new CreateCommand(diskProfile,
|
||||
tmpltStoredOn.getLocalDownloadPath(),
|
||||
new StorageFilerTO((StoragePool)template.getDataStore()), _mgmtServer.getExecuteInSequence());
|
||||
new StorageFilerTO((StoragePool)template.getDataStore()));
|
||||
Answer answer = null;
|
||||
StoragePool pool = (StoragePool)volume.getDataStore();
|
||||
String errMsg = null;
|
||||
|
|
@ -381,7 +375,7 @@ public class AncientDataMotionStrategy implements DataMotionStrategy {
|
|||
Integer.parseInt(Config.CopyVolumeWait.getDefaultValue()));
|
||||
CopyVolumeCommand cvCmd = new CopyVolumeCommand(volume.getId(),
|
||||
volume.getPath(), srcPool, secondaryStorageURL, true,
|
||||
_copyvolumewait, _mgmtServer.getExecuteInSequence());
|
||||
_copyvolumewait);
|
||||
CopyVolumeAnswer cvAnswer;
|
||||
try {
|
||||
cvAnswer = (CopyVolumeAnswer) this.storageMgr.sendToPool(srcPool, cvCmd);
|
||||
|
|
@ -400,7 +394,7 @@ public class AncientDataMotionStrategy implements DataMotionStrategy {
|
|||
|
||||
cvCmd = new CopyVolumeCommand(volume.getId(),
|
||||
secondaryStorageVolumePath, destPool,
|
||||
secondaryStorageURL, false, _copyvolumewait, _mgmtServer.getExecuteInSequence());
|
||||
secondaryStorageURL, false, _copyvolumewait);
|
||||
try {
|
||||
cvAnswer = (CopyVolumeAnswer) this.storageMgr.sendToPool(destPool, cvCmd);
|
||||
} catch (StorageUnavailableException e1) {
|
||||
|
|
|
|||
|
|
@ -69,9 +69,7 @@ HOSTS=/etc/hosts
|
|||
source /root/func.sh
|
||||
|
||||
lock="biglock"
|
||||
#default timeout value is 30 mins as DhcpEntryCommand is not synchronized on agent side any more,
|
||||
#and multiple commands can be sent to the same VR at a time
|
||||
locked=$(getLockFile $lock 1800)
|
||||
locked=$(getLockFile $lock)
|
||||
if [ "$locked" != "1" ]
|
||||
then
|
||||
exit 1
|
||||
|
|
|
|||
|
|
@ -25,9 +25,7 @@
|
|||
source /root/func.sh
|
||||
|
||||
lock="passwdlock"
|
||||
#default timeout value is 30 mins as password reset command is not synchronized on agent side any more,
|
||||
#and multiple commands can be sent to the same VR at a time
|
||||
locked=$(getLockFile $lock 1800)
|
||||
locked=$(getLockFile $lock)
|
||||
if [ "$locked" != "1" ]
|
||||
then
|
||||
exit 1
|
||||
|
|
|
|||
|
|
@ -21,9 +21,7 @@
|
|||
source /root/func.sh
|
||||
|
||||
lock="biglock"
|
||||
#default timeout value is 30 mins as userdata command is not synchronized on agent side any more,
|
||||
#and multiple commands can be sent to the same VR at a time
|
||||
locked=$(getLockFile $lock 1800)
|
||||
locked=$(getLockFile $lock)
|
||||
if [ "$locked" != "1" ]
|
||||
then
|
||||
exit 1
|
||||
|
|
|
|||
|
|
@ -53,7 +53,6 @@ import com.cloud.host.Host.Type;
|
|||
import com.cloud.host.HostVO;
|
||||
import com.cloud.host.dao.HostDao;
|
||||
import com.cloud.network.Network;
|
||||
import com.cloud.network.NetworkModel;
|
||||
import com.cloud.network.PhysicalNetworkServiceProvider;
|
||||
import com.cloud.network.dao.PhysicalNetworkDao;
|
||||
import com.cloud.network.dao.PhysicalNetworkServiceProviderDao;
|
||||
|
|
@ -101,8 +100,6 @@ public class BaremetalDhcpManagerImpl extends ManagerBase implements BaremetalDh
|
|||
PhysicalNetworkServiceProviderDao _physicalNetworkServiceProviderDao;
|
||||
@Inject
|
||||
BaremetalDhcpDao _extDhcpDao;
|
||||
@Inject
|
||||
NetworkModel _ntwkModel;
|
||||
|
||||
@Override
|
||||
public boolean configure(String name, Map<String, Object> params) throws ConfigurationException {
|
||||
|
|
@ -150,7 +147,7 @@ public class BaremetalDhcpManagerImpl extends ManagerBase implements BaremetalDh
|
|||
dns = nic.getDns2();
|
||||
}
|
||||
DhcpEntryCommand dhcpCommand = new DhcpEntryCommand(nic.getMacAddress(), nic.getIp4Address(), profile.getVirtualMachine().getHostName(), null, dns,
|
||||
nic.getGateway(), null, _ntwkModel.getExecuteInSeqNtwkElmtCmd());
|
||||
nic.getGateway(), null);
|
||||
String errMsg = String.format("Set dhcp entry on external DHCP %1$s failed(ip=%2$s, mac=%3$s, vmname=%4$s)", h.getPrivateIpAddress(),
|
||||
nic.getIp4Address(), nic.getMacAddress(), profile.getVirtualMachine().getHostName());
|
||||
// prepareBareMetalDhcpEntry(nic, dhcpCommand);
|
||||
|
|
|
|||
|
|
@ -45,7 +45,6 @@ import com.cloud.deploy.DeployDestination;
|
|||
import com.cloud.host.Host;
|
||||
import com.cloud.host.HostVO;
|
||||
import com.cloud.host.dao.HostDao;
|
||||
import com.cloud.network.NetworkModel;
|
||||
import com.cloud.network.dao.PhysicalNetworkDao;
|
||||
import com.cloud.network.dao.PhysicalNetworkVO;
|
||||
import com.cloud.resource.ResourceManager;
|
||||
|
|
@ -82,7 +81,6 @@ public class BaremetalPxeManagerImpl extends ManagerBase implements BaremetalPxe
|
|||
@Inject NicDao _nicDao;
|
||||
@Inject ConfigurationDao _configDao;
|
||||
@Inject PhysicalNetworkDao _phynwDao;
|
||||
@Inject NetworkModel _ntwkModel;
|
||||
|
||||
@Override
|
||||
public boolean configure(String name, Map<String, Object> params) throws ConfigurationException {
|
||||
|
|
@ -186,7 +184,7 @@ public class BaremetalPxeManagerImpl extends ManagerBase implements BaremetalPxe
|
|||
String serviceOffering = _serviceOfferingDao.findByIdIncludingRemoved(vm.getServiceOfferingId()).getDisplayText();
|
||||
String zoneName = _dcDao.findById(vm.getDataCenterId()).getName();
|
||||
NicVO nvo = _nicDao.findById(nic.getId());
|
||||
VmDataCommand cmd = new VmDataCommand(nvo.getIp4Address(), vm.getInstanceName(), _ntwkModel.getExecuteInSeqNtwkElmtCmd());
|
||||
VmDataCommand cmd = new VmDataCommand(nvo.getIp4Address(), vm.getInstanceName());
|
||||
cmd.addVmData("userdata", "user-data", vm.getUserData());
|
||||
cmd.addVmData("metadata", "service-offering", StringUtils.unicodeEscape(serviceOffering));
|
||||
cmd.addVmData("metadata", "availability-zone", StringUtils.unicodeEscape(zoneName));
|
||||
|
|
|
|||
|
|
@ -49,12 +49,11 @@ import com.cloud.agent.api.to.StorageFilerTO;
|
|||
import com.cloud.exception.StorageUnavailableException;
|
||||
import com.cloud.host.HostVO;
|
||||
import com.cloud.host.dao.HostDao;
|
||||
import com.cloud.server.ManagementServer;
|
||||
import com.cloud.storage.DiskOfferingVO;
|
||||
import com.cloud.storage.ResizeVolumePayload;
|
||||
import com.cloud.storage.SnapshotVO;
|
||||
import com.cloud.storage.Storage;
|
||||
import com.cloud.storage.Storage.StoragePoolType;
|
||||
import com.cloud.storage.SnapshotVO;
|
||||
import com.cloud.storage.StorageManager;
|
||||
import com.cloud.storage.StoragePool;
|
||||
import com.cloud.storage.VMTemplateHostVO;
|
||||
|
|
@ -86,7 +85,6 @@ public class CloudStackPrimaryDataStoreDriverImpl implements PrimaryDataStoreDri
|
|||
@Inject SnapshotDao snapshotDao;
|
||||
@Inject PrimaryDataStoreDao primaryStoreDao;
|
||||
@Inject SnapshotManager snapshotMgr;
|
||||
@Inject ManagementServer _mgmtSrvr;
|
||||
@Override
|
||||
public String grantAccess(DataObject data, EndPoint ep) {
|
||||
// TODO Auto-generated method stub
|
||||
|
|
@ -154,7 +152,7 @@ public class CloudStackPrimaryDataStoreDriverImpl implements PrimaryDataStoreDri
|
|||
String fullTmpltUrl = tmpltHostUrl + "/"
|
||||
+ tmpltHostOn.getInstallPath();
|
||||
cmd = new CreateCommand(diskProfile, fullTmpltUrl,
|
||||
new StorageFilerTO(pool), _mgmtSrvr.getExecuteInSequence());
|
||||
new StorageFilerTO(pool));
|
||||
} else {
|
||||
tmpltStoredOn = templateMgr.prepareTemplateForCreate(
|
||||
template, pool);
|
||||
|
|
@ -168,7 +166,7 @@ public class CloudStackPrimaryDataStoreDriverImpl implements PrimaryDataStoreDri
|
|||
}
|
||||
cmd = new CreateCommand(diskProfile,
|
||||
tmpltStoredOn.getLocalDownloadPath(),
|
||||
new StorageFilerTO(pool), _mgmtSrvr.getExecuteInSequence());
|
||||
new StorageFilerTO(pool));
|
||||
}
|
||||
} else {
|
||||
if (template != null
|
||||
|
|
@ -182,7 +180,7 @@ public class CloudStackPrimaryDataStoreDriverImpl implements PrimaryDataStoreDri
|
|||
}
|
||||
}
|
||||
cmd = new CreateCommand(diskProfile, new StorageFilerTO(
|
||||
pool), _mgmtSrvr.getExecuteInSequence());
|
||||
pool));
|
||||
}
|
||||
|
||||
Answer answer = storageMgr.sendToPool(pool, null, cmd);
|
||||
|
|
|
|||
|
|
@ -422,11 +422,8 @@ public enum Config {
|
|||
BlacklistedRoutes("Advanced", VpcManager.class, String.class, "blacklisted.routes", null, "Routes that are blacklisted, can not be used for Static Routes creation for the VPC Private Gateway",
|
||||
"routes", ConfigurationParameterScope.zone.toString()),
|
||||
|
||||
InternalLbVmServiceOfferingId("Advanced", ManagementServer.class, String.class, "internallbvm.service.offering", null, "Uuid of the service offering used by internal lb vm; if NULL - default system internal lb offering will be used", null),
|
||||
ExecuteInSequence("Advanced", ManagementServer.class, Boolean.class, "execute.in.sequence.hypervisor.commands", "false", "If set to true, StartCommand, StopCommand, CopyVolumeCommand, CreateCommand will be synchronized on the agent side." +
|
||||
" If set to false, these commands become asynchronous. Default value is false.", null),
|
||||
ExecuteInSequenceNetworkElementCommands("Advanced", NetworkManager.class, Boolean.class, "execute.in.sequence.network.element.commands", "false", "If set to true, DhcpEntryCommand, SavePasswordCommand, UserDataCommand, VmDataCommand will be synchronized on the agent side." +
|
||||
" If set to false, these commands become asynchronous. Default value is false.", null);
|
||||
InternalLbVmServiceOfferingId("Advanced", ManagementServer.class, String.class, "internallbvm.service.offering", null, "Uuid of the service offering used by internal lb vm; if NULL - default system internal lb offering will be used", null);
|
||||
|
||||
|
||||
private final String _category;
|
||||
private final Class<?> _componentClass;
|
||||
|
|
|
|||
|
|
@ -386,5 +386,4 @@ public interface NetworkManager {
|
|||
DhcpServiceProvider getDhcpServiceProvider(Network network);
|
||||
|
||||
PublicIp assignPublicIpAddressFromVlans(long dcId, Long podId, Account owner, VlanType type, List<Long> vlanDbIds, Long networkId, String requestedIp, boolean isSystem) throws InsufficientAddressCapacityException;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1234,7 +1234,7 @@ public class NetworkManagerImpl extends ManagerBase implements NetworkManager, L
|
|||
_configs = _configDao.getConfiguration("AgentManager", params);
|
||||
_networkGcWait = NumbersUtil.parseInt(_configs.get(Config.NetworkGcWait.key()), 600);
|
||||
_networkGcInterval = NumbersUtil.parseInt(_configs.get(Config.NetworkGcInterval.key()), 600);
|
||||
|
||||
|
||||
_configs = _configDao.getConfiguration("Network", params);
|
||||
|
||||
_networkLockTimeout = NumbersUtil.parseInt(_configs.get(Config.NetworkLockTimeout.key()), 600);
|
||||
|
|
@ -4379,5 +4379,5 @@ public class NetworkManagerImpl extends ManagerBase implements NetworkManager, L
|
|||
nic.setVmType(vmType);
|
||||
return _nicDao.persist(nic);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -208,16 +208,11 @@ public class NetworkModelImpl extends ManagerBase implements NetworkModel {
|
|||
private boolean _allowSubdomainNetworkAccess;
|
||||
|
||||
private Map<String, String> _configs;
|
||||
|
||||
protected boolean _executeInSequenceNtwkElmtCmd;
|
||||
|
||||
HashMap<Long, Long> _lastNetworkIdsToFree = new HashMap<Long, Long>();
|
||||
|
||||
static HashMap<Service, List<Provider>> s_serviceToImplementedProvidersMap = new HashMap<Service, List<Provider>>();
|
||||
static HashMap<String, String> s_providerToNetworkElementMap = new HashMap<String, String>();
|
||||
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
|
|
@ -1874,7 +1869,6 @@ public class NetworkModelImpl extends ManagerBase implements NetworkModel {
|
|||
_configs = _configDao.getConfiguration("Network", params);
|
||||
_networkDomain = _configs.get(Config.GuestDomainSuffix.key());
|
||||
_allowSubdomainNetworkAccess = Boolean.valueOf(_configs.get(Config.SubDomainNetworkAccess.key()));
|
||||
_executeInSequenceNtwkElmtCmd = Boolean.valueOf(_configs.get(Config.ExecuteInSequenceNetworkElementCommands.key()));
|
||||
|
||||
NetworkOfferingVO publicNetworkOffering = new NetworkOfferingVO(NetworkOfferingVO.SystemPublicNetwork, TrafficType.Public, true);
|
||||
publicNetworkOffering = _networkOfferingDao.persistDefaultNetworkOffering(publicNetworkOffering);
|
||||
|
|
@ -2118,9 +2112,4 @@ public class NetworkModelImpl extends ManagerBase implements NetworkModel {
|
|||
public Networks.IsolationType[] listNetworkIsolationMethods() {
|
||||
return Networks.IsolationType.values();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getExecuteInSeqNtwkElmtCmd() {
|
||||
return _executeInSequenceNtwkElmtCmd;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -152,7 +152,7 @@ public class CloudZonesNetworkElement extends AdapterBase implements NetworkElem
|
|||
|
||||
private VmDataCommand generateVmDataCommand(String vmPrivateIpAddress,
|
||||
String userData, String serviceOffering, String zoneName, String guestIpAddress, String vmName, String vmInstanceName, long vmId, String vmUuid, String publicKey) {
|
||||
VmDataCommand cmd = new VmDataCommand(vmPrivateIpAddress, vmName, _networkMgr.getExecuteInSeqNtwkElmtCmd());
|
||||
VmDataCommand cmd = new VmDataCommand(vmPrivateIpAddress, vmName);
|
||||
|
||||
cmd.addVmData("userdata", "user-data", userData);
|
||||
cmd.addVmData("metadata", "service-offering", serviceOffering);
|
||||
|
|
@ -217,7 +217,7 @@ public class CloudZonesNetworkElement extends AdapterBase implements NetworkElem
|
|||
Commands cmds = new Commands(OnError.Continue);
|
||||
if (password != null && nic.isDefaultNic()) {
|
||||
final String encodedPassword = PasswordGenerator.rot13(password);
|
||||
SavePasswordCommand cmd = new SavePasswordCommand(encodedPassword, nic.getIp4Address(), uservm.getVirtualMachine().getHostName(), _networkMgr.getExecuteInSeqNtwkElmtCmd());
|
||||
SavePasswordCommand cmd = new SavePasswordCommand(encodedPassword, nic.getIp4Address(), uservm.getVirtualMachine().getHostName());
|
||||
cmds.addCommand("password", cmd);
|
||||
}
|
||||
String serviceOffering = _serviceOfferingDao.findByIdIncludingRemoved(uservm.getServiceOfferingId()).getDisplayText();
|
||||
|
|
|
|||
|
|
@ -167,7 +167,6 @@ import com.cloud.offerings.NetworkOfferingVO;
|
|||
import com.cloud.offerings.dao.NetworkOfferingDao;
|
||||
import com.cloud.resource.ResourceManager;
|
||||
import com.cloud.server.ConfigurationServer;
|
||||
import com.cloud.server.ManagementServer;
|
||||
import com.cloud.service.ServiceOfferingVO;
|
||||
import com.cloud.service.dao.ServiceOfferingDao;
|
||||
import com.cloud.storage.GuestOSVO;
|
||||
|
|
@ -799,7 +798,7 @@ public class VirtualNetworkApplianceManagerImpl extends ManagerBase implements V
|
|||
private VmDataCommand generateVmDataCommand(VirtualRouter router, String vmPrivateIpAddress, String userData,
|
||||
String serviceOffering, String zoneName, String guestIpAddress, String vmName,
|
||||
String vmInstanceName, long vmId, String vmUuid, String publicKey, long guestNetworkId) {
|
||||
VmDataCommand cmd = new VmDataCommand(vmPrivateIpAddress, vmName, _networkModel.getExecuteInSeqNtwkElmtCmd());
|
||||
VmDataCommand cmd = new VmDataCommand(vmPrivateIpAddress, vmName);
|
||||
|
||||
cmd.setAccessDetail(NetworkElementCommand.ROUTER_IP, getRouterControlIp(router.getId()));
|
||||
cmd.setAccessDetail(NetworkElementCommand.ROUTER_GUEST_IP, getRouterIpInNetwork(guestNetworkId, router.getId()));
|
||||
|
|
@ -3361,7 +3360,7 @@ public class VirtualNetworkApplianceManagerImpl extends ManagerBase implements V
|
|||
if (router.getIsRedundantRouter() && router.getRedundantState() != RedundantState.MASTER) {
|
||||
encodedPassword = PasswordGenerator.rot13("saved_password");
|
||||
}
|
||||
SavePasswordCommand cmd = new SavePasswordCommand(encodedPassword, nic.getIp4Address(), profile.getVirtualMachine().getHostName(), _networkModel.getExecuteInSeqNtwkElmtCmd());
|
||||
SavePasswordCommand cmd = new SavePasswordCommand(encodedPassword, nic.getIp4Address(), profile.getVirtualMachine().getHostName());
|
||||
cmd.setAccessDetail(NetworkElementCommand.ROUTER_IP, getRouterControlIp(router.getId()));
|
||||
cmd.setAccessDetail(NetworkElementCommand.ROUTER_GUEST_IP, getRouterIpInNetwork(nic.getNetworkId(), router.getId()));
|
||||
cmd.setAccessDetail(NetworkElementCommand.ROUTER_NAME, router.getInstanceName());
|
||||
|
|
@ -3401,7 +3400,7 @@ public class VirtualNetworkApplianceManagerImpl extends ManagerBase implements V
|
|||
}
|
||||
|
||||
private void createDhcpEntryCommand(VirtualRouter router, UserVm vm, NicVO nic, Commands cmds) {
|
||||
DhcpEntryCommand dhcpCommand = new DhcpEntryCommand(nic.getMacAddress(), nic.getIp4Address(), vm.getHostName(), nic.getIp6Address(), _networkModel.getExecuteInSeqNtwkElmtCmd());
|
||||
DhcpEntryCommand dhcpCommand = new DhcpEntryCommand(nic.getMacAddress(), nic.getIp4Address(), vm.getHostName(), nic.getIp6Address());
|
||||
DataCenterVO dcVo = _dcDao.findById(router.getDataCenterId());
|
||||
Nic defaultNic = findGatewayIp(vm.getId());
|
||||
String gatewayIp = defaultNic.getGateway();
|
||||
|
|
|
|||
|
|
@ -72,6 +72,4 @@ public interface ManagementServer extends ManagementService, PluggableService {
|
|||
String getEncryptionIV();
|
||||
void resetEncryptionKeyIV();
|
||||
|
||||
boolean getExecuteInSequence();
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -766,8 +766,6 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe
|
|||
ConfigurationServer _configServer;
|
||||
@Inject
|
||||
UserVmManager _userVmMgr;
|
||||
@Inject ClusterManager _clusterMgr;
|
||||
|
||||
|
||||
private final ScheduledExecutorService _eventExecutor = Executors.newScheduledThreadPool(1, new NamedThreadFactory("EventChecker"));
|
||||
private final ScheduledExecutorService _alertExecutor = Executors.newScheduledThreadPool(1, new NamedThreadFactory("AlertChecker"));
|
||||
|
|
@ -790,10 +788,10 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe
|
|||
this._planners = _planners;
|
||||
}
|
||||
|
||||
@Inject ClusterManager _clusterMgr;
|
||||
private String _hashKey = null;
|
||||
private String _encryptionKey = null;
|
||||
private String _encryptionIV = null;
|
||||
protected boolean _executeInSequence;
|
||||
|
||||
@Inject
|
||||
protected AffinityGroupVMMapDao _affinityGroupVMMapDao;
|
||||
|
|
@ -863,8 +861,6 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe
|
|||
_availableIdsMap.put(id, true);
|
||||
}
|
||||
|
||||
_executeInSequence = Boolean.parseBoolean(_configDao.getValue(Config.ExecuteInSequence.key()));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
@ -3473,7 +3469,7 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe
|
|||
String value = _configs.get(Config.CopyVolumeWait.toString());
|
||||
int copyvolumewait = NumbersUtil.parseInt(value, Integer.parseInt(Config.CopyVolumeWait.getDefaultValue()));
|
||||
// Copy the volume from the source storage pool to secondary storage
|
||||
CopyVolumeCommand cvCmd = new CopyVolumeCommand(volume.getId(), volume.getPath(), srcPool, secondaryStorageURL, true, copyvolumewait, _executeInSequence);
|
||||
CopyVolumeCommand cvCmd = new CopyVolumeCommand(volume.getId(), volume.getPath(), srcPool, secondaryStorageURL, true, copyvolumewait);
|
||||
CopyVolumeAnswer cvAnswer = null;
|
||||
try {
|
||||
cvAnswer = (CopyVolumeAnswer) _storageMgr.sendToPool(srcPool, cvCmd);
|
||||
|
|
@ -4084,9 +4080,5 @@ public class ManagementServerImpl extends ManagerBase implements ManagementServe
|
|||
|
||||
return plannersAvailable;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getExecuteInSequence() {
|
||||
return _executeInSequence;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -130,7 +130,6 @@ import com.cloud.offering.ServiceOffering;
|
|||
import com.cloud.org.Cluster;
|
||||
import com.cloud.resource.ResourceManager;
|
||||
import com.cloud.server.ConfigurationServer;
|
||||
import com.cloud.server.ManagementServer;
|
||||
import com.cloud.service.ServiceOfferingVO;
|
||||
import com.cloud.service.dao.ServiceOfferingDao;
|
||||
import com.cloud.storage.DiskOfferingVO;
|
||||
|
|
@ -260,8 +259,6 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
|||
protected AffinityGroupVMMapDao _affinityGroupVMMapDao;
|
||||
@Inject
|
||||
protected ConfigurationServer _configServer;
|
||||
@Inject
|
||||
protected ManagementServer _mgmtServer;
|
||||
|
||||
protected List<DeploymentPlanner> _planners;
|
||||
public List<DeploymentPlanner> getPlanners() {
|
||||
|
|
@ -860,7 +857,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
|||
VirtualMachineTO vmTO = hvGuru.implement(vmProfile);
|
||||
|
||||
cmds = new Commands(OnError.Stop);
|
||||
cmds.addCommand(new StartCommand(vmTO, dest.getHost(), _mgmtServer.getExecuteInSequence()));
|
||||
cmds.addCommand(new StartCommand(vmTO, dest.getHost()));
|
||||
|
||||
vmGuru.finalizeDeployment(cmds, vmProfile, dest, ctx);
|
||||
|
||||
|
|
@ -900,7 +897,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
|||
s_logger.info("The guru did not like the answers so stopping " + vm);
|
||||
}
|
||||
|
||||
StopCommand cmd = new StopCommand(vm, _mgmtServer.getExecuteInSequence());
|
||||
StopCommand cmd = new StopCommand(vm);
|
||||
StopAnswer answer = (StopAnswer) _agentMgr.easySend(destHostId, cmd);
|
||||
if (answer == null || !answer.getResult()) {
|
||||
s_logger.warn("Unable to stop " + vm + " due to " + (answer != null ? answer.getDetails() : "no answers"));
|
||||
|
|
@ -987,7 +984,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
|||
|
||||
protected <T extends VMInstanceVO> boolean sendStop(VirtualMachineGuru<T> guru, VirtualMachineProfile<T> profile, boolean force) {
|
||||
VMInstanceVO vm = profile.getVirtualMachine();
|
||||
StopCommand stop = new StopCommand(vm, _mgmtServer.getExecuteInSequence());
|
||||
StopCommand stop = new StopCommand(vm);
|
||||
try {
|
||||
Answer answer = _agentMgr.send(vm.getHostId(), stop);
|
||||
if (!answer.getResult()) {
|
||||
|
|
@ -1173,7 +1170,7 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
|||
|
||||
vmGuru.prepareStop(profile);
|
||||
|
||||
StopCommand stop = new StopCommand(vm, _mgmtServer.getExecuteInSequence());
|
||||
StopCommand stop = new StopCommand(vm);
|
||||
boolean stopped = false;
|
||||
StopAnswer answer = null;
|
||||
try {
|
||||
|
|
@ -1926,11 +1923,11 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
|||
}
|
||||
|
||||
public Command cleanup(VirtualMachine vm) {
|
||||
return new StopCommand(vm, _mgmtServer.getExecuteInSequence());
|
||||
return new StopCommand(vm);
|
||||
}
|
||||
|
||||
public Command cleanup(String vmName) {
|
||||
return new StopCommand(vmName, _mgmtServer.getExecuteInSequence());
|
||||
return new StopCommand(vmName);
|
||||
}
|
||||
|
||||
public Commands fullHostSync(final long hostId, StartupRoutingCommand startup) {
|
||||
|
|
|
|||
|
|
@ -879,10 +879,4 @@ public class MockNetworkModelImpl extends ManagerBase implements NetworkModel {
|
|||
public Nic getNicInNetworkIncludingRemoved(long vmId, long networkId) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getExecuteInSeqNtwkElmtCmd() {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -892,10 +892,4 @@ public class MockNetworkModelImpl extends ManagerBase implements NetworkModel {
|
|||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getExecuteInSeqNtwkElmtCmd() {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1854,7 +1854,6 @@ UPDATE `cloud`.`networks` set name='Shared SG enabled network', display_text='Sh
|
|||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'management-server', 'use.system.public.ips', 'true', 'If true, when account has dedicated public ip range(s), once the ips dedicated to the account have been consumed ips will be acquired from the system pool');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'management-server', 'use.system.guest.vlans', 'true', 'If true, when account has dedicated guest vlan range(s), once the vlans dedicated to the account have been consumed vlans will be allocated from the system pool');
|
||||
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'management-server', 'execute.in.sequence.hypervisor.commands', 'false', 'If set to true, StartCommand, StopCommand, CopyVolumeCommand, CreateCommand will be synchronized on the agent side. If set to false, these commands become asynchronous. Default value is false.');
|
||||
INSERT IGNORE INTO `cloud`.`configuration` VALUES ('Advanced', 'DEFAULT', 'management-server', 'execute.in.sequence.network.element.commands', 'false', 'If set to true, DhcpEntryCommand, SavePasswordCommand, UserDataCommand, VmDataCommand will be synchronized on the agent side. If set to false, these commands become asynchronous. Default value is false.');
|
||||
|
||||
alter table `cloud`.`network_offerings` add column egress_default_policy boolean default false;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue