Search in sources :

Example 21 with Node

use of com.sun.enterprise.config.serverbeans.Node in project Payara by payara.

the class DeleteNodeTempCommand method execute.

@Override
public void execute(AdminCommandContext context) {
    ActionReport actionReport = context.getActionReport();
    Node node = nodes.getNode(name);
    if (node == null) {
        // No node to delete nothing to do here
        actionReport.setActionExitCode(FAILURE);
        actionReport.setMessage("No node found with given name: " + name);
        return;
    }
    if (!(node.getType().equals("TEMP"))) {
        // No node to delete nothing to do here
        actionReport.setActionExitCode(FAILURE);
        actionReport.setMessage("Node with given name is not a temp node: " + name);
        return;
    }
    CommandRunner.CommandInvocation commandInvocation = commandRunner.getCommandInvocation("_delete-node", actionReport, context.getSubject());
    ParameterMap commandParameters = new ParameterMap();
    commandParameters.add("DEFAULT", name);
    commandInvocation.parameters(commandParameters);
    commandInvocation.execute();
}
Also used : Node(com.sun.enterprise.config.serverbeans.Node) ParameterMap(org.glassfish.api.admin.ParameterMap) ActionReport(org.glassfish.api.ActionReport) CommandRunner(org.glassfish.api.admin.CommandRunner)

Example 22 with Node

use of com.sun.enterprise.config.serverbeans.Node in project Payara by payara.

the class ListNodesDockerCommand method execute.

@Override
public void execute(AdminCommandContext adminCommandContext) {
    ColumnFormatter columnFormatter = new ColumnFormatter(OUTPUT_HEADERS);
    for (Node node : nodes.getNode()) {
        if (node.getType().equals("DOCKER")) {
            Object[] nodeInfo = new Object[] { node.getName(), node.getNodeHost(), node.getDockerImage(), node.getDockerPort(), node.getUseTls() };
            columnFormatter.addRow(nodeInfo);
        }
    }
    adminCommandContext.getActionReport().setMessage(columnFormatter.toString());
}
Also used : Node(com.sun.enterprise.config.serverbeans.Node) ColumnFormatter(com.sun.enterprise.util.ColumnFormatter)

Example 23 with Node

use of com.sun.enterprise.config.serverbeans.Node in project Payara by payara.

the class JsonRequestConstructorTest method testEnvConfig.

@Test
public void testEnvConfig() {
    Node node = new NodeStub();
    Server server = new ServerStub();
    Properties properties = new Properties();
    properties.put("Env", "[Wibble:Wobble|Humpty:Dumpty]");
    JsonObject actual = JsonRequestConstructor.constructJsonRequest(properties, node, server, "localhost", "4848");
    JsonObject expected = Json.createObjectBuilder().add(DockerConstants.DOCKER_IMAGE_KEY, node.getDockerImage()).add(DockerConstants.DOCKER_CONTAINER_ENV, Json.createArrayBuilder().add("Wibble=Wobble").add("Humpty=Dumpty").add(DockerConstants.PAYARA_DAS_HOST + "=" + "localhost").add(DockerConstants.PAYARA_DAS_PORT + "=" + "4848").add(DockerConstants.PAYARA_NODE_NAME + "=" + node.getName()).add(DockerConstants.PAYARA_CONFIG_NAME + "=" + server.getConfigRef()).add(DockerConstants.PAYARA_INSTANCE_NAME + "=" + server.getName())).add(DockerConstants.DOCKER_HOST_CONFIG_KEY, Json.createObjectBuilder().add(DockerConstants.DOCKER_MOUNTS_KEY, Json.createArrayBuilder().add(Json.createObjectBuilder().add(DockerConstants.DOCKER_MOUNTS_TYPE_KEY, "bind").add(DockerConstants.DOCKER_MOUNTS_SOURCE_KEY, node.getDockerPasswordFile()).add(DockerConstants.DOCKER_MOUNTS_TARGET_KEY, DockerConstants.PAYARA_PASSWORD_FILE).add(DockerConstants.DOCKER_MOUNTS_READONLY_KEY, true))).add(DockerConstants.DOCKER_NETWORK_MODE_KEY, "host")).build();
    Assert.assertEquals(expected.toString(), actual.toString());
}
Also used : Server(com.sun.enterprise.config.serverbeans.Server) Node(com.sun.enterprise.config.serverbeans.Node) JsonObject(javax.json.JsonObject) Properties(java.util.Properties) Test(org.junit.Test)

Example 24 with Node

use of com.sun.enterprise.config.serverbeans.Node in project Payara by payara.

the class JsonRequestConstructorTest method testNestedProperties.

@Test
public void testNestedProperties() {
    Node node = new NodeStub();
    Server server = new ServerStub();
    Properties properties = new Properties();
    properties.put("Wibbly.Wobbly.Timey.Wimey", "Testy");
    properties.put("Wibbly.Wobbly.Timey.Whiney", "Westy");
    properties.put("Wibbly.Wobbly.Bobbly", "[Nibbly:Nubbly,Bibbly:Bubbly|Tibbly:Tobbly,Giggly:Goggly]");
    properties.put("Wibbly.Wubbly", "[Bibbly|Bobbly]");
    properties.put("Lovely", "Jabbly");
    JsonObject actual = JsonRequestConstructor.constructJsonRequest(properties, node, server, "localhost", "4848");
    JsonObject expected = Json.createObjectBuilder().add(DockerConstants.DOCKER_IMAGE_KEY, node.getDockerImage()).add("Wibbly", Json.createObjectBuilder().add("Wobbly", Json.createObjectBuilder().add("Bobbly", Json.createArrayBuilder().add(Json.createObjectBuilder().add("Nibbly", "Nubbly").add("Bibbly", "Bubbly")).add(Json.createObjectBuilder().add("Tibbly", "Tobbly").add("Giggly", "Goggly"))).add("Timey", Json.createObjectBuilder().add("Whiney", "Westy").add("Wimey", "Testy"))).add("Wubbly", Json.createArrayBuilder().add("Bibbly").add("Bobbly"))).add("Lovely", "Jabbly").add(DockerConstants.DOCKER_HOST_CONFIG_KEY, Json.createObjectBuilder().add(DockerConstants.DOCKER_MOUNTS_KEY, Json.createArrayBuilder().add(Json.createObjectBuilder().add(DockerConstants.DOCKER_MOUNTS_TYPE_KEY, "bind").add(DockerConstants.DOCKER_MOUNTS_SOURCE_KEY, node.getDockerPasswordFile()).add(DockerConstants.DOCKER_MOUNTS_TARGET_KEY, DockerConstants.PAYARA_PASSWORD_FILE).add(DockerConstants.DOCKER_MOUNTS_READONLY_KEY, true))).add(DockerConstants.DOCKER_NETWORK_MODE_KEY, "host")).add(DockerConstants.DOCKER_CONTAINER_ENV, Json.createArrayBuilder().add(DockerConstants.PAYARA_DAS_HOST + "=" + "localhost").add(DockerConstants.PAYARA_DAS_PORT + "=" + "4848").add(DockerConstants.PAYARA_NODE_NAME + "=" + node.getName()).add(DockerConstants.PAYARA_CONFIG_NAME + "=" + server.getConfigRef()).add(DockerConstants.PAYARA_INSTANCE_NAME + "=" + server.getName())).build();
    Assert.assertEquals(expected.toString(), actual.toString());
}
Also used : Server(com.sun.enterprise.config.serverbeans.Server) Node(com.sun.enterprise.config.serverbeans.Node) JsonObject(javax.json.JsonObject) Properties(java.util.Properties) Test(org.junit.Test)

Example 25 with Node

use of com.sun.enterprise.config.serverbeans.Node in project Payara by payara.

the class DeleteNodeDockerCommand method execute.

/**
 * Executes the command with the command parameters passed as Properties
 * where the keys are the parameter names and the values are the parameter values
 *
 * @param context information
 */
@Override
public void execute(AdminCommandContext context) {
    ActionReport actionReport = context.getActionReport();
    Node node = nodes.getNode(name);
    if (node == null) {
        // No node to delete nothing to do here
        actionReport.setActionExitCode(FAILURE);
        actionReport.setMessage("No node found with given name: " + name);
        return;
    }
    if (!(node.getType().equals("DOCKER"))) {
        // No node to delete nothing to do here
        actionReport.setActionExitCode(FAILURE);
        actionReport.setMessage("Node with given name is not a docker node: " + name);
        return;
    }
    CommandRunner.CommandInvocation commandInvocation = commandRunner.getCommandInvocation("_delete-node", actionReport, context.getSubject());
    ParameterMap commandParameters = new ParameterMap();
    commandParameters.add("DEFAULT", name);
    commandInvocation.parameters(commandParameters);
    commandInvocation.execute();
}
Also used : Node(com.sun.enterprise.config.serverbeans.Node) ParameterMap(org.glassfish.api.admin.ParameterMap) ActionReport(org.glassfish.api.ActionReport) CommandRunner(org.glassfish.api.admin.CommandRunner)

Aggregations

Node (com.sun.enterprise.config.serverbeans.Node)38 Server (com.sun.enterprise.config.serverbeans.Server)15 ActionReport (org.glassfish.api.ActionReport)13 File (java.io.File)9 ArrayList (java.util.ArrayList)7 Properties (java.util.Properties)7 ParameterMap (org.glassfish.api.admin.ParameterMap)7 Nodes (com.sun.enterprise.config.serverbeans.Nodes)6 IOException (java.io.IOException)6 Logger (java.util.logging.Logger)5 Domain (com.sun.enterprise.config.serverbeans.Domain)4 JsonObject (javax.json.JsonObject)4 CommandInvocation (org.glassfish.api.admin.CommandRunner.CommandInvocation)4 Test (org.junit.Test)4 TransactionFailure (org.jvnet.hk2.config.TransactionFailure)4 WindowsRemoteFile (com.sun.enterprise.util.cluster.windows.io.WindowsRemoteFile)3 WindowsRemoteFileSystem (com.sun.enterprise.util.cluster.windows.io.WindowsRemoteFileSystem)3 WindowsException (com.sun.enterprise.util.cluster.windows.process.WindowsException)3 SFTPv3DirectoryEntry (com.trilead.ssh2.SFTPv3DirectoryEntry)3 PropertyVetoException (java.beans.PropertyVetoException)3