mirror of https://github.com/apache/cloudstack.git
Merge remote-tracking branch 'apache/4.20' into 4.22
This commit is contained in:
commit
276eb8111d
|
|
@ -331,7 +331,7 @@ public class ConsoleProxyResource extends ServerResourceBase implements ServerRe
|
|||
final Object resource = this;
|
||||
logger.info("Building class loader for com.cloud.consoleproxy.ConsoleProxy");
|
||||
if (consoleProxyMain == null) {
|
||||
logger.info("Running com.cloud.consoleproxy.ConsoleProxy with encryptor password={}", encryptorPassword);
|
||||
logger.info("Running com.cloud.consoleproxy.ConsoleProxy");
|
||||
consoleProxyMain = new Thread(new ManagedContextRunnable() {
|
||||
@Override
|
||||
protected void runInContext() {
|
||||
|
|
|
|||
|
|
@ -47,10 +47,12 @@ import org.apache.cloudstack.engine.subsystem.api.storage.VolumeInfo;
|
|||
import org.apache.cloudstack.engine.subsystem.api.storage.ZoneScope;
|
||||
import org.apache.cloudstack.framework.async.AsyncCompletionCallback;
|
||||
import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
|
||||
import org.apache.cloudstack.secstorage.heuristics.HeuristicType;
|
||||
import org.apache.cloudstack.storage.RemoteHostEndPoint;
|
||||
import org.apache.cloudstack.storage.command.CopyCommand;
|
||||
import org.apache.cloudstack.storage.datastore.db.VolumeDataStoreDao;
|
||||
import org.apache.cloudstack.storage.datastore.db.VolumeDataStoreVO;
|
||||
import org.apache.cloudstack.storage.heuristics.HeuristicRuleHelper;
|
||||
import org.apache.cloudstack.storage.image.datastore.ImageStoreEntity;
|
||||
import org.apache.cloudstack.storage.to.PrimaryDataStoreTO;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
|
@ -112,6 +114,9 @@ public class AncientDataMotionStrategy implements DataMotionStrategy {
|
|||
@Inject
|
||||
SnapshotDao snapshotDao;
|
||||
|
||||
@Inject
|
||||
HeuristicRuleHelper heuristicRuleHelper;
|
||||
|
||||
@Override
|
||||
public StrategyPriority canHandle(DataObject srcData, DataObject destData) {
|
||||
return StrategyPriority.DEFAULT;
|
||||
|
|
@ -379,7 +384,13 @@ public class AncientDataMotionStrategy implements DataMotionStrategy {
|
|||
}
|
||||
// need to find a nfs or cifs image store, assuming that can't copy volume
|
||||
// directly to s3
|
||||
ImageStoreEntity imageStore = (ImageStoreEntity)dataStoreMgr.getImageStoreWithFreeCapacity(destScope.getScopeId());
|
||||
Long zoneId = destScope.getScopeId();
|
||||
ImageStoreEntity imageStore = (ImageStoreEntity) heuristicRuleHelper.getImageStoreIfThereIsHeuristicRule(zoneId, HeuristicType.VOLUME, destData);
|
||||
if (imageStore == null) {
|
||||
logger.debug("Secondary storage selector did not direct volume migration to a specific secondary storage; using secondary storage with the most free capacity.");
|
||||
imageStore = (ImageStoreEntity) dataStoreMgr.getImageStoreWithFreeCapacity(zoneId);
|
||||
}
|
||||
|
||||
if (imageStore == null || !imageStore.getProtocol().equalsIgnoreCase("nfs") && !imageStore.getProtocol().equalsIgnoreCase("cifs")) {
|
||||
String errMsg = "can't find a nfs (or cifs) image store to satisfy the need for a staging store";
|
||||
Answer answer = new Answer(null, false, errMsg);
|
||||
|
|
|
|||
|
|
@ -46,10 +46,10 @@ public class BaremetalDnsmasqResource extends BaremetalDhcpResourceBase {
|
|||
com.trilead.ssh2.Connection sshConnection = null;
|
||||
try {
|
||||
super.configure(name, params);
|
||||
logger.debug(String.format("Trying to connect to DHCP server(IP=%1$s, username=%2$s, password=%3$s)", _ip, _username, _password));
|
||||
logger.debug(String.format("Trying to connect to DHCP server(IP=%1$s, username=%2$s", _ip, _username));
|
||||
sshConnection = SSHCmdHelper.acquireAuthorizedConnection(_ip, _username, _password);
|
||||
if (sshConnection == null) {
|
||||
throw new ConfigurationException(String.format("Cannot connect to DHCP server(IP=%1$s, username=%2$s, password=%3$s", _ip, _username, _password));
|
||||
throw new ConfigurationException(String.format("Cannot connect to DHCP server(IP=%1$s, username=%2$s", _ip, _username));
|
||||
}
|
||||
|
||||
if (!SSHCmdHelper.sshExecuteCmd(sshConnection, "[ -f '/usr/sbin/dnsmasq' ]")) {
|
||||
|
|
|
|||
|
|
@ -130,8 +130,8 @@ public class BaremetalKickStartPxeResource extends BaremetalPxeResourceBase {
|
|||
|
||||
sshConnection.connect(null, 60000, 60000);
|
||||
if (!sshConnection.authenticateWithPassword(_username, _password)) {
|
||||
logger.debug("SSH Failed to authenticate");
|
||||
throw new ConfigurationException(String.format("Cannot connect to PING PXE server(IP=%1$s, username=%2$s, password=%3$s", _ip, _username, _password));
|
||||
logger.debug("SSH Failed to authenticate with user {} credentials", _username);
|
||||
throw new ConfigurationException(String.format("Cannot connect to PING PXE server(IP=%1$s, username=%2$s", _ip, _username));
|
||||
}
|
||||
|
||||
String script = String.format("python /usr/bin/baremetal_user_data.py '%s'", arg);
|
||||
|
|
@ -167,7 +167,7 @@ public class BaremetalKickStartPxeResource extends BaremetalPxeResourceBase {
|
|||
sshConnection.connect(null, 60000, 60000);
|
||||
if (!sshConnection.authenticateWithPassword(_username, _password)) {
|
||||
logger.debug("SSH Failed to authenticate");
|
||||
throw new ConfigurationException(String.format("Cannot connect to PING PXE server(IP=%1$s, username=%2$s, password=%3$s", _ip, _username, _password));
|
||||
throw new ConfigurationException(String.format("Cannot connect to PING PXE server(IP=%1$s, username=%2$s", _ip, _username));
|
||||
}
|
||||
|
||||
String copyTo = String.format("%s/%s", _tftpDir, cmd.getTemplateUuid());
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@ public class BaremetalPingPxeResource extends BaremetalPxeResourceBase {
|
|||
sshConnection.connect(null, 60000, 60000);
|
||||
if (!sshConnection.authenticateWithPassword(_username, _password)) {
|
||||
logger.debug("SSH Failed to authenticate");
|
||||
throw new ConfigurationException(String.format("Cannot connect to PING PXE server(IP=%1$s, username=%2$s, password=%3$s", _ip, _username, "******"));
|
||||
throw new ConfigurationException(String.format("Cannot connect to PING PXE server(IP=%1$s, username=%2$s, password=******", _ip, _username));
|
||||
}
|
||||
|
||||
String cmd = String.format("[ -f /%1$s/pxelinux.0 ] && [ -f /%2$s/kernel ] && [ -f /%3$s/initrd.gz ] ", _tftpDir, _tftpDir, _tftpDir);
|
||||
|
|
@ -150,8 +150,8 @@ public class BaremetalPingPxeResource extends BaremetalPxeResourceBase {
|
|||
try {
|
||||
sshConnection.connect(null, 60000, 60000);
|
||||
if (!sshConnection.authenticateWithPassword(_username, _password)) {
|
||||
logger.debug("SSH Failed to authenticate");
|
||||
throw new ConfigurationException(String.format("Cannot connect to PING PXE server(IP=%1$s, username=%2$s, password=%3$s", _ip, _username, _password));
|
||||
logger.debug("SSH Failed to authenticate with user {} credentials", _username);
|
||||
throw new ConfigurationException(String.format("Cannot connect to PING PXE server(IP=%1$s, username=%2$s", _ip, _username));
|
||||
}
|
||||
|
||||
String script =
|
||||
|
|
@ -179,7 +179,7 @@ public class BaremetalPingPxeResource extends BaremetalPxeResourceBase {
|
|||
sshConnection.connect(null, 60000, 60000);
|
||||
if (!sshConnection.authenticateWithPassword(_username, _password)) {
|
||||
logger.debug("SSH Failed to authenticate");
|
||||
throw new ConfigurationException(String.format("Cannot connect to PING PXE server(IP=%1$s, username=%2$s, password=%3$s", _ip, _username, _password));
|
||||
throw new ConfigurationException(String.format("Cannot connect to PING PXE server(IP=%1$s, username=%2$s", _ip, _username));
|
||||
}
|
||||
|
||||
String script =
|
||||
|
|
@ -237,7 +237,7 @@ public class BaremetalPingPxeResource extends BaremetalPxeResourceBase {
|
|||
sshConnection.connect(null, 60000, 60000);
|
||||
if (!sshConnection.authenticateWithPassword(_username, _password)) {
|
||||
logger.debug("SSH Failed to authenticate");
|
||||
throw new ConfigurationException(String.format("Cannot connect to PING PXE server(IP=%1$s, username=%2$s, password=%3$s", _ip, _username, _password));
|
||||
throw new ConfigurationException(String.format("Cannot connect to PING PXE server(IP=%1$s, username=%2$s", _ip, _username));
|
||||
}
|
||||
|
||||
String script = String.format("python /usr/bin/baremetal_user_data.py '%s'", arg);
|
||||
|
|
|
|||
|
|
@ -117,8 +117,8 @@ public class HeuristicRuleHelper {
|
|||
accountId = ((SnapshotInfo) obj).getAccountId();
|
||||
break;
|
||||
case VOLUME:
|
||||
presetVariables.setVolume(setVolumePresetVariable((VolumeVO) obj));
|
||||
accountId = ((VolumeVO) obj).getAccountId();
|
||||
presetVariables.setVolume(setVolumePresetVariable((com.cloud.storage.Volume) obj));
|
||||
accountId = ((com.cloud.storage.Volume) obj).getAccountId();
|
||||
break;
|
||||
}
|
||||
presetVariables.setAccount(setAccountPresetVariable(accountId));
|
||||
|
|
@ -191,14 +191,14 @@ public class HeuristicRuleHelper {
|
|||
return template;
|
||||
}
|
||||
|
||||
protected Volume setVolumePresetVariable(VolumeVO volumeVO) {
|
||||
Volume volume = new Volume();
|
||||
protected Volume setVolumePresetVariable(com.cloud.storage.Volume volumeVO) {
|
||||
Volume volumePresetVariable = new Volume();
|
||||
|
||||
volume.setName(volumeVO.getName());
|
||||
volume.setFormat(volumeVO.getFormat());
|
||||
volume.setSize(volumeVO.getSize());
|
||||
volumePresetVariable.setName(volumeVO.getName());
|
||||
volumePresetVariable.setFormat(volumeVO.getFormat());
|
||||
volumePresetVariable.setSize(volumeVO.getSize());
|
||||
|
||||
return volume;
|
||||
return volumePresetVariable;
|
||||
}
|
||||
|
||||
protected Snapshot setSnapshotPresetVariable(SnapshotInfo snapshotInfo) {
|
||||
|
|
|
|||
|
|
@ -500,8 +500,12 @@ public class UriUtils {
|
|||
if ((user != null) && (password != null)) {
|
||||
httpclient.getParams().setAuthenticationPreemptive(true);
|
||||
Credentials defaultcreds = new UsernamePasswordCredentials(user, password);
|
||||
httpclient.getState().setCredentials(new AuthScope(hostAndPort.first(), hostAndPort.second(), AuthScope.ANY_REALM), defaultcreds);
|
||||
LOGGER.info("Added username=" + user + ", password=" + password + "for host " + hostAndPort.first() + ":" + hostAndPort.second());
|
||||
httpclient.getState().setCredentials(
|
||||
new AuthScope(hostAndPort.first(), hostAndPort.second(), AuthScope.ANY_REALM), defaultcreds);
|
||||
LOGGER.info("Added username={} along with password for host {}:{}"
|
||||
, user
|
||||
, hostAndPort.first()
|
||||
, hostAndPort.second());
|
||||
}
|
||||
// Execute the method.
|
||||
GetMethod method = new GetMethod(url);
|
||||
|
|
|
|||
Loading…
Reference in New Issue