Search in sources :

Example 6 with SshAuth

use of com.sun.enterprise.config.serverbeans.SshAuth 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));
    }
}
Also used : SshConnector(com.sun.enterprise.config.serverbeans.SshConnector) SshAuth(com.sun.enterprise.config.serverbeans.SshAuth) ProcessManagerException(com.sun.enterprise.universal.process.ProcessManagerException) IOException(java.io.IOException) UnknownHostException(java.net.UnknownHostException) FileNotFoundException(java.io.FileNotFoundException)

Example 7 with SshAuth

use of com.sun.enterprise.config.serverbeans.SshAuth 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;
}
Also used : SshConnector(com.sun.enterprise.config.serverbeans.SshConnector) ParameterMap(org.glassfish.api.admin.ParameterMap) SshAuth(com.sun.enterprise.config.serverbeans.SshAuth)

Aggregations

SshAuth (com.sun.enterprise.config.serverbeans.SshAuth)7 SshConnector (com.sun.enterprise.config.serverbeans.SshConnector)7 Node (com.sun.enterprise.config.serverbeans.Node)2 ParameterMap (org.glassfish.api.admin.ParameterMap)2 Nodes (com.sun.enterprise.config.serverbeans.Nodes)1 ProcessManagerException (com.sun.enterprise.universal.process.ProcessManagerException)1 PropertyVetoException (java.beans.PropertyVetoException)1 FileNotFoundException (java.io.FileNotFoundException)1 IOException (java.io.IOException)1 UnknownHostException (java.net.UnknownHostException)1 ActionReport (org.glassfish.api.ActionReport)1 CommandInvocation (org.glassfish.api.admin.CommandRunner.CommandInvocation)1 ConfigBeanProxy (org.jvnet.hk2.config.ConfigBeanProxy)1 SingleConfigCode (org.jvnet.hk2.config.SingleConfigCode)1 Transaction (org.jvnet.hk2.config.Transaction)1 TransactionFailure (org.jvnet.hk2.config.TransactionFailure)1