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:
Alena Prokharchyk 2013-06-27 11:51:34 -07:00
parent 21e2bf480e
commit 0035bbba34
28 changed files with 73 additions and 153 deletions

View File

@ -274,6 +274,4 @@ public interface NetworkModel {
Networks.IsolationType[] listNetworkIsolationMethods();
Nic getNicInNetworkIncludingRemoved(long vmId, long networkId);
boolean getExecuteInSeqNtwkElmtCmd();
}

View File

@ -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() {

View File

@ -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() {

View File

@ -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;
}

View File

@ -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() {

View File

@ -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() {

View File

@ -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;
}

View File

@ -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() {

View File

@ -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() {

View File

@ -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) {

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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);

View File

@ -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));

View File

@ -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);

View File

@ -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;

View File

@ -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;
}

View File

@ -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);
}
}

View File

@ -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;
}
}

View File

@ -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();

View File

@ -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();

View File

@ -72,6 +72,4 @@ public interface ManagementServer extends ManagementService, PluggableService {
String getEncryptionIV();
void resetEncryptionKeyIV();
boolean getExecuteInSequence();
}

View File

@ -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;
}
}

View File

@ -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) {

View File

@ -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;
}
}

View File

@ -892,10 +892,4 @@ public class MockNetworkModelImpl extends ManagerBase implements NetworkModel {
return null;
}
@Override
public boolean getExecuteInSeqNtwkElmtCmd() {
// TODO Auto-generated method stub
return false;
}
}

View File

@ -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;