Missing modifications for DistributeTraffic actions 99/88099/2
authorLukasz Rajewski <lukasz.rajewski@orange.com>
Tue, 14 May 2019 12:07:20 +0000 (14:07 +0200)
committerLukasz Rajewski <lukasz.rajewski@orange.com>
Tue, 21 May 2019 14:32:51 +0000 (16:32 +0200)
Added input parameters for DistributeTraffic and
DistributeTrafficCheck action

Change-Id: I423979f6e8a682bff2aaff02bba4d79d2fbe22c8
Issue-ID: SO-1553
Signed-off-by: Lukasz Rajewski <lukasz.rajewski@orange.com>
adapters/mso-catalog-db-adapter/src/main/resources/db/migration/R__WorkflowDesignerData.sql
bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/appc/payload/PayloadClient.java
bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/appc/payload/beans/ConfigurationParametersDistributeTraffic.java [new file with mode: 0644]
bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/appc/payload/beans/DistributeTrafficAction.java [new file with mode: 0644]
bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/appc/payload/beans/DistributeTrafficCheckAction.java [new file with mode: 0644]
bpmn/MSOCommonBPMN/src/main/java/org/onap/so/client/appc/ApplicationControllerAction.java

index 054fb1a..fd7fcd4 100644 (file)
@@ -148,6 +148,9 @@ VALUES
 ('existing_software_version','userParams','Existing Software Version','text','',1,50,''),
 ('tenantId','cloudConfiguration','Tenant/Project ID','text','',1,36,''),
 ('new_software_version','userParams','New Software Version','text','',1,50,''),
+('book_name','userParams','Name of Commands Book Set','text','',1,50,''),
+('node_list','userParams','List of Nodes','text','',1,200,''),
+('file_parameter_content','userParams','Configuration File Content','text','',1,50000,''),
 ('lcpCloudRegionId','cloudConfiguration','Cloud Region ID','text','',1,7,'');
 
 INSERT INTO `activity_spec_to_user_parameters`(`ACTIVITY_SPEC_ID`,`USER_PARAMETERS_ID`)
@@ -166,6 +169,18 @@ VALUES
 (select ID from user_parameters where NAME='tenantId')),
 ((select ID from activity_spec where NAME='VNFQuiesceTrafficActivity' and VERSION=1.0),
 (select ID from user_parameters where NAME='operations_timeout')),
+((select ID from activity_spec where NAME='DistributeTrafficActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='book_name')),
+((select ID from activity_spec where NAME='DistributeTrafficActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='node_list')),
+((select ID from activity_spec where NAME='DistributeTrafficActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='file_parameter_content')),
+((select ID from activity_spec where NAME='DistributeTrafficCheckActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='book_name')),
+((select ID from activity_spec where NAME='DistributeTrafficCheckActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='node_list')),
+((select ID from activity_spec where NAME='DistributeTrafficCheckActivity' and VERSION=1.0),
+(select ID from user_parameters where NAME='file_parameter_content')),
 ((select ID from activity_spec where NAME='VNFUpgradeBackupActivity' and VERSION=1.0),
 (select ID from user_parameters where NAME='existing_software_version')),
 ((select ID from activity_spec where NAME='VNFUpgradeBackupActivity' and VERSION=1.0),
index 3b768cb..9e9c4b5 100644 (file)
@@ -24,11 +24,14 @@ import java.util.Optional;
 import org.onap.so.bpmn.appc.payload.beans.ConfigurationParametersHealthCheck;
 import org.onap.so.bpmn.appc.payload.beans.ConfigurationParametersQuiesce;
 import org.onap.so.bpmn.appc.payload.beans.ConfigurationParametersResumeTraffic;
+import org.onap.so.bpmn.appc.payload.beans.ConfigurationParametersDistributeTraffic;
 import org.onap.so.bpmn.appc.payload.beans.ConfigurationParametersUpgrade;
 import org.onap.so.bpmn.appc.payload.beans.HealthCheckAction;
 import org.onap.so.bpmn.appc.payload.beans.QuiesceTrafficAction;
 import org.onap.so.bpmn.appc.payload.beans.RequestParametersHealthCheck;
 import org.onap.so.bpmn.appc.payload.beans.ResumeTrafficAction;
+import org.onap.so.bpmn.appc.payload.beans.DistributeTrafficAction;
+import org.onap.so.bpmn.appc.payload.beans.DistributeTrafficCheckAction;
 import org.onap.so.bpmn.appc.payload.beans.SnapshotAction;
 import org.onap.so.bpmn.appc.payload.beans.StartStopAction;
 import org.onap.so.bpmn.appc.payload.beans.UpgradeAction;
@@ -56,6 +59,38 @@ public class PayloadClient {
         return Optional.of(mapper.writeValueAsString(payloadResult));
     }
 
+    public static Optional<String> distributeTrafficFormat(Optional<String> payload, String vnfName)
+            throws JsonProcessingException {
+        DistributeTrafficAction payloadResult = new DistributeTrafficAction();
+        ConfigurationParametersDistributeTraffic configParams = new ConfigurationParametersDistributeTraffic();
+        String payloadString = payload.isPresent() ? payload.get() : "";
+        String bookName = JsonUtils.getJsonValue(payloadString, "book_name");
+        String nodeList = JsonUtils.getJsonValue(payloadString, "node_list");
+        String fileParameterContent = JsonUtils.getJsonValue(payloadString, "file_parameter_content");
+        configParams.setBookName(bookName);
+        configParams.setNodeList(nodeList);
+        configParams.setFileParameterContent(fileParameterContent);
+        configParams.setVnfName(vnfName);
+        payloadResult.setConfigurationParameters(configParams);
+        return Optional.of(mapper.writeValueAsString(payloadResult));
+    }
+
+    public static Optional<String> distributeTrafficCheckFormat(Optional<String> payload, String vnfName)
+            throws JsonProcessingException {
+        DistributeTrafficCheckAction payloadResult = new DistributeTrafficCheckAction();
+        ConfigurationParametersDistributeTraffic configParams = new ConfigurationParametersDistributeTraffic();
+        String payloadString = payload.isPresent() ? payload.get() : "";
+        String bookName = JsonUtils.getJsonValue(payloadString, "book_name");
+        String nodeList = JsonUtils.getJsonValue(payloadString, "node_list");
+        String fileParameterContent = JsonUtils.getJsonValue(payloadString, "file_parameter_content");
+        configParams.setBookName(bookName);
+        configParams.setNodeList(nodeList);
+        configParams.setFileParameterContent(fileParameterContent);
+        configParams.setVnfName(vnfName);
+        payloadResult.setConfigurationParameters(configParams);
+        return Optional.of(mapper.writeValueAsString(payloadResult));
+    }
+
     public static Optional<String> resumeTrafficFormat(String vnfName) throws JsonProcessingException {
         ResumeTrafficAction payloadResult = new ResumeTrafficAction();
         ConfigurationParametersResumeTraffic configParams = new ConfigurationParametersResumeTraffic();
diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/appc/payload/beans/ConfigurationParametersDistributeTraffic.java b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/appc/payload/beans/ConfigurationParametersDistributeTraffic.java
new file mode 100644 (file)
index 0000000..a4ffdbf
--- /dev/null
@@ -0,0 +1,78 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.bpmn.appc.payload.beans;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@JsonPropertyOrder({"vnf_name", "book_name", "node_list", "file_parameter_content"})
+public class ConfigurationParametersDistributeTraffic {
+    @JsonProperty("vnf_name")
+    private String vnfName;
+    @JsonProperty("book_name")
+    private String bookName;
+    @JsonProperty("node_list")
+    private String nodeList;
+    @JsonProperty("file_parameter_content")
+    private String fileParameterContent;
+
+    @JsonProperty("vnf_name")
+    public String getVnfName() {
+        return vnfName;
+    }
+
+    @JsonProperty("vnf_name")
+    public void setVnfName(String vnfName) {
+        this.vnfName = vnfName;
+    }
+
+    @JsonProperty("book_name")
+    public String getBookName() {
+        return bookName;
+    }
+
+    @JsonProperty("book_name")
+    public void setBookName(String bookName) {
+        this.bookName = bookName;
+    }
+
+    @JsonProperty("node_list")
+    public String getNodeList() {
+        return nodeList;
+    }
+
+    @JsonProperty("node_list")
+    public void setNodeList(String nodeList) {
+        this.nodeList = nodeList;
+    }
+
+    @JsonProperty("file_parameter_content")
+    public String getFileParameterContent() {
+        return fileParameterContent;
+    }
+
+    @JsonProperty("file_parameter_content")
+    public void setFileParameterContent(String fileParameterContent) {
+        this.fileParameterContent = fileParameterContent;
+    }
+}
diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/appc/payload/beans/DistributeTrafficAction.java b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/appc/payload/beans/DistributeTrafficAction.java
new file mode 100644 (file)
index 0000000..9b7856e
--- /dev/null
@@ -0,0 +1,44 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2019 Orange Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.bpmn.appc.payload.beans;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@JsonPropertyOrder({"configuration-parameters"})
+public class DistributeTrafficAction {
+
+    @JsonProperty("configuration-parameters")
+    private ConfigurationParametersDistributeTraffic configurationParameters;
+
+    @JsonProperty("configuration-parameters")
+    public ConfigurationParametersDistributeTraffic getConfigurationParameters() {
+        return configurationParameters;
+    }
+
+    @JsonProperty("configuration-parameters")
+    public void setConfigurationParameters(ConfigurationParametersDistributeTraffic configurationParameters) {
+        this.configurationParameters = configurationParameters;
+    }
+}
+
diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/appc/payload/beans/DistributeTrafficCheckAction.java b/bpmn/MSOCommonBPMN/src/main/java/org/onap/so/bpmn/appc/payload/beans/DistributeTrafficCheckAction.java
new file mode 100644 (file)
index 0000000..b9831a9
--- /dev/null
@@ -0,0 +1,44 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2019 Orange Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.bpmn.appc.payload.beans;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+
+@JsonInclude(JsonInclude.Include.NON_NULL)
+@JsonPropertyOrder({"configuration-parameters"})
+public class DistributeTrafficCheckAction {
+
+    @JsonProperty("configuration-parameters")
+    private ConfigurationParametersDistributeTraffic configurationParameters;
+
+    @JsonProperty("configuration-parameters")
+    public ConfigurationParametersDistributeTraffic getConfigurationParameters() {
+        return configurationParameters;
+    }
+
+    @JsonProperty("configuration-parameters")
+    public void setConfigurationParameters(ConfigurationParametersDistributeTraffic configurationParameters) {
+        this.configurationParameters = configurationParameters;
+    }
+}
+
index eccd812..b97b9ac 100644 (file)
@@ -68,6 +68,12 @@ public class ApplicationControllerAction {
                 case QuiesceTraffic:
                     appCStatus = quiesceTrafficAction(msoRequestId, vnfId, payload, vnfName, controllerType);
                     break;
+                case DistributeTraffic:
+                    appCStatus = distributeTrafficAction(msoRequestId, vnfId, payload, vnfName, controllerType);
+                    break;
+                case DistributeTrafficCheck:
+                    appCStatus = distributeTrafficCheckAction(msoRequestId, vnfId, payload, vnfName, controllerType);
+                    break;
                 case HealthCheck:
                     appCStatus = healthCheckAction(msoRequestId, vnfId, vnfName, vnfHostIpAddress, controllerType);
                     break;
@@ -91,8 +97,6 @@ public class ApplicationControllerAction {
                     break;
                 case ConfigModify:
                 case ConfigScaleOut:
-                case DistributeTraffic:
-                case DistributeTrafficCheck:
                     appCStatus = payloadAction(action, msoRequestId, vnfId, payload, controllerType);
                     break;
                 case UpgradePreCheck:
@@ -158,6 +162,29 @@ public class ApplicationControllerAction {
         return client.vnfCommand(action, msoRequestId, vnfId, Optional.empty(), payload, controllerType);
     }
 
+    private Status distributeTrafficAction(String msoRequestId, String vnfId, Optional<String> payload, String vnfName,
+            String controllerType)
+            throws JsonProcessingException, IllegalArgumentException, ApplicationControllerOrchestratorException {
+        if (!(payload.isPresent())) {
+            throw new IllegalArgumentException("Payload is not present for " + Action.DistributeTraffic.toString());
+        }
+        payload = PayloadClient.distributeTrafficFormat(payload, vnfName);
+        return client.vnfCommand(Action.DistributeTraffic, msoRequestId, vnfId, Optional.empty(), payload,
+                controllerType);
+    }
+
+    private Status distributeTrafficCheckAction(String msoRequestId, String vnfId, Optional<String> payload,
+            String vnfName, String controllerType)
+            throws JsonProcessingException, IllegalArgumentException, ApplicationControllerOrchestratorException {
+        if (!(payload.isPresent())) {
+            throw new IllegalArgumentException(
+                    "Payload is not present for " + Action.DistributeTrafficCheck.toString());
+        }
+        payload = PayloadClient.distributeTrafficCheckFormat(payload, vnfName);
+        return client.vnfCommand(Action.DistributeTrafficCheck, msoRequestId, vnfId, Optional.empty(), payload,
+                controllerType);
+    }
+
     private Status resumeTrafficAction(String msoRequestId, String vnfId, String vnfName, String controllerType)
             throws JsonProcessingException, ApplicationControllerOrchestratorException {
         Optional<String> payload = PayloadClient.resumeTrafficFormat(vnfName);