use of com.sun.enterprise.config.serverbeans.SshConnector in project Payara by payara.
the class NodeUtils method pingDcomConnection.
/**
* Make sure we can make a DCOM connection using an existing node.
* Exception...
* @param node Node to connect to
* @throws CommandValidationException
*/
private void pingDcomConnection(Node node) throws CommandValidationException {
try {
SshConnector connector = node.getSshConnector();
SshAuth auth = connector.getSshAuth();
String host = connector.getSshHost();
if (!StringUtils.ok(host)) {
host = node.getNodeHost();
}
String username = auth.getUserName();
String password = resolvePassword(auth.getPassword());
String installdir = node.getInstallDirUnixStyle();
String domain = node.getWindowsDomain();
if (!StringUtils.ok(domain)) {
domain = host;
}
if (!StringUtils.ok(installdir)) {
throw new CommandValidationException(Strings.get("dcom.no.installdir"));
}
pingDcomConnection(host, domain, username, password, getInstallRoot(installdir));
}// very complicated catch copied from pingssh above...
catch (CommandValidationException cve) {
throw cve;
} catch (Exception e) {
String m1 = e.getMessage();
String m2 = "";
Throwable e2 = e.getCause();
if (e2 != null) {
m2 = e2.getMessage();
}
String msg = Strings.get("ssh.bad.connect", node.getNodeHost(), "DCOM");
logger.warning(StringUtils.cat(": ", msg, m1, m2));
throw new CommandValidationException(StringUtils.cat(NL, msg, m1, m2));
}
}
use of com.sun.enterprise.config.serverbeans.SshConnector in project Payara by payara.
the class UpdateNodeRemoteCommand method createValidationParameters.
/**
* Creates map used for validation, based on current node's values.
* Values which are not set
*/
private ParameterMap createValidationParameters(final Node node) {
final ParameterMap parameters = new ParameterMap();
parameters.insert("DEFAULT", name);
parameters.insert(PARAM_TYPE, getType().toString());
parameters.insert(PARAM_NODEHOST, nodehost, node.getNodeHost());
parameters.insert(PARAM_INSTALLDIR, installdir, node.getInstallDir());
parameters.insert(PARAM_NODEDIR, nodedir, node.getNodeDir());
parameters.insert(PARAM_WINDOWSDOMAINNAME, windowsdomain, node.getWindowsDomain());
final SshConnector sshc = node.getSshConnector();
parameters.insert(PARAM_REMOTEPORT, remotePort, getSupplier(sshc, sshc::getSshPort));
final SshAuth ssha = sshc.getSshAuth();
parameters.insert(PARAM_REMOTEUSER, remoteUser, getSupplier(ssha, ssha::getUserName));
parameters.insert(PARAM_SSHAUTHTYPE, sshAuthType, getSupplier(ssha, () -> null));
if (sshAuthType == null) {
if (sshkeyfile == null && remotepassword == null) {
parameters.insert(PARAM_SSHPASSWORD, null, getSupplier(ssha, ssha::getPassword));
parameters.insert(PARAM_SSHKEYFILE, null, getSupplier(ssha, ssha::getKeyfile));
parameters.insert(PARAM_SSHKEYPASSPHRASE, null, getSupplier(ssha, ssha::getKeyPassphrase));
} else if (remotepassword != null) {
parameters.insert(PARAM_SSHPASSWORD, remotepassword, getSupplier(ssha, ssha::getPassword));
} else {
parameters.insert(PARAM_SSHKEYFILE, sshkeyfile, getSupplier(ssha, ssha::getKeyfile));
parameters.insert(PARAM_SSHKEYPASSPHRASE, sshkeypassphrase, getSupplier(ssha, ssha::getKeyPassphrase));
}
} else {
if (SshAuthType.KEY.name().equals(sshAuthType)) {
parameters.insert(PARAM_SSHKEYFILE, sshkeyfile, getSupplier(ssha, ssha::getKeyfile));
parameters.insert(PARAM_SSHKEYPASSPHRASE, sshkeypassphrase, getSupplier(ssha, ssha::getKeyPassphrase));
} else if (SshAuthType.PASSWORD.name().equals(sshAuthType)) {
parameters.insert(PARAM_SSHPASSWORD, remotepassword, getSupplier(ssha, ssha::getPassword));
}
}
return parameters;
}
Aggregations