From aece9d8a0097ab9b1598126a83b68bd8bdf1a940 Mon Sep 17 00:00:00 2001 From: Ali Fahs Date: Wed, 29 Jun 2022 01:09:44 +0200 Subject: [PATCH 1/2] Add the EDGE NodeType to task builder --- .../main/java/org/activeeon/morphemic/PAGateway.java | 12 ++++++++++++ .../org/activeeon/morphemic/service/TaskBuilder.java | 9 ++++++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/scheduling-abstraction-layer/src/main/java/org/activeeon/morphemic/PAGateway.java b/scheduling-abstraction-layer/src/main/java/org/activeeon/morphemic/PAGateway.java index ffb8ceb0..60134262 100644 --- a/scheduling-abstraction-layer/src/main/java/org/activeeon/morphemic/PAGateway.java +++ b/scheduling-abstraction-layer/src/main/java/org/activeeon/morphemic/PAGateway.java @@ -873,11 +873,17 @@ public class PAGateway { newDeployment.setDeploymentType(NodeType.BYON); newDeployment.setByonNode(byonNode); + SSHCredentials sshCred = new SSHCredentials(); + sshCred.setUsername(byonNode.getLoginCredential().getUsername()); + sshCred.setUsername(byonNode.getLoginCredential().getPassword()); + sshCred.setUsername(byonNode.getLoginCredential().getPrivateKey()); + PACloud cloud = new PACloud(); String nodeSourceName = "BYON_NS_" + byonNode.getId(); cloud.setCloudID(nodeSourceName); cloud.setNodeSourceNamePrefix(nodeSourceName); cloud.setCloudType(CloudType.BYON); + cloud.setSshCredentials(sshCred); cloud.addDeployment(newDeployment); newDeployment.setPaCloud(cloud); EntityManagerHelper.persist(cloud); @@ -926,11 +932,17 @@ public class PAGateway { newDeployment.setDeploymentType(NodeType.EDGE); newDeployment.setEdgeNode(edgeNode); + SSHCredentials sshCred = new SSHCredentials(); + sshCred.setUsername(edgeNode.getLoginCredential().getUsername()); + sshCred.setUsername(edgeNode.getLoginCredential().getPassword()); + sshCred.setUsername(edgeNode.getLoginCredential().getPrivateKey()); + PACloud cloud = new PACloud(); String nodeSourceName = "EDGE_"+edgeNode.getSystemArch()+"_NS_" + edgeNode.getId(); cloud.setCloudID(nodeSourceName); cloud.setNodeSourceNamePrefix(nodeSourceName); cloud.setCloudType(CloudType.EDGE); + cloud.setSshCredentials(sshCred); cloud.addDeployment(newDeployment); newDeployment.setPaCloud(cloud); EntityManagerHelper.persist(cloud); diff --git a/scheduling-abstraction-layer/src/main/java/org/activeeon/morphemic/service/TaskBuilder.java b/scheduling-abstraction-layer/src/main/java/org/activeeon/morphemic/service/TaskBuilder.java index 3d964d5b..b05404a7 100644 --- a/scheduling-abstraction-layer/src/main/java/org/activeeon/morphemic/service/TaskBuilder.java +++ b/scheduling-abstraction-layer/src/main/java/org/activeeon/morphemic/service/TaskBuilder.java @@ -148,6 +148,7 @@ public class TaskBuilder { case IAAS: return createInfraIAASTask(task, deployment, taskNameSuffix, nodeToken); case BYON: + case EDGE: return createInfraBYONTask(task, deployment, taskNameSuffix, nodeToken); } @@ -269,9 +270,11 @@ public class TaskBuilder { } private ScriptTask createInfraBYONTask(Task task, Deployment deployment, String taskNameSuffix, String nodeToken) { - LOGGER.debug("Acquiring node BYON script file: " + getClass().getResource(File.separator + "acquire_node_BYON_script.groovy").toString()); - ScriptTask deployNodeTask = PAFactory.createGroovyScriptTaskFromFile("acquireBYONNode_" + task.getName() + taskNameSuffix, - "acquire_node_BYON_script.groovy"); + String nodeType= deployment.getDeploymentType().getName(); + System.out.println("the nodeType name is: "+ nodeType); + LOGGER.debug("Acquiring node "+nodeType+" script file: " + getClass().getResource(File.separator + "acquire_node_BYON_script.groovy").toString()); + ScriptTask deployNodeTask = PAFactory.createGroovyScriptTaskFromFile("acquire"+nodeType+"Node_" + task.getName() + taskNameSuffix, + "acquire_node_BYON_script.groovy"); deployNodeTask.setPreScript(PAFactory.createSimpleScriptFromFIle("pre_acquire_node_script.groovy", "groovy")); -- GitLab From 568c8e2070cec69e51fd184a67ba84a15bd2de0a Mon Sep 17 00:00:00 2001 From: Ali Fahs Date: Wed, 6 Jul 2022 11:31:02 +0200 Subject: [PATCH 2/2] Khalil's review --- .../java/org/activeeon/morphemic/service/TaskBuilder.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scheduling-abstraction-layer/src/main/java/org/activeeon/morphemic/service/TaskBuilder.java b/scheduling-abstraction-layer/src/main/java/org/activeeon/morphemic/service/TaskBuilder.java index b05404a7..73b65f2a 100644 --- a/scheduling-abstraction-layer/src/main/java/org/activeeon/morphemic/service/TaskBuilder.java +++ b/scheduling-abstraction-layer/src/main/java/org/activeeon/morphemic/service/TaskBuilder.java @@ -149,7 +149,7 @@ public class TaskBuilder { return createInfraIAASTask(task, deployment, taskNameSuffix, nodeToken); case BYON: case EDGE: - return createInfraBYONTask(task, deployment, taskNameSuffix, nodeToken); + return createInfraBYONandEDGETask(task, deployment, taskNameSuffix, nodeToken); } return new ScriptTask(); @@ -269,10 +269,10 @@ public class TaskBuilder { return new ScriptTask(); } - private ScriptTask createInfraBYONTask(Task task, Deployment deployment, String taskNameSuffix, String nodeToken) { - String nodeType= deployment.getDeploymentType().getName(); + private ScriptTask createInfraBYONandEDGETask(Task task, Deployment deployment, String taskNameSuffix, String nodeToken) { + String nodeType = deployment.getDeploymentType().getName(); System.out.println("the nodeType name is: "+ nodeType); - LOGGER.debug("Acquiring node "+nodeType+" script file: " + getClass().getResource(File.separator + "acquire_node_BYON_script.groovy").toString()); + LOGGER.debug("Acquiring node " + nodeType + " script file: " + getClass().getResource(File.separator + "acquire_node_BYON_script.groovy").toString()); ScriptTask deployNodeTask = PAFactory.createGroovyScriptTaskFromFile("acquire"+nodeType+"Node_" + task.getName() + taskNameSuffix, "acquire_node_BYON_script.groovy"); -- GitLab