Merge "Extend CNF to add sFTP"
diff --git a/operations/a1-pe-sim-packages/resources/oran-sim-cba-data-dictionary/ftp-host.json b/operations/a1-pe-sim-packages/resources/oran-sim-cba-data-dictionary/ftp-host.json
new file mode 100644
index 0000000..6d13d10
--- /dev/null
+++ b/operations/a1-pe-sim-packages/resources/oran-sim-cba-data-dictionary/ftp-host.json
@@ -0,0 +1,27 @@
+{
+  "name": "ftp-host",
+  "tags": "ftp-host",
+  "data_type": "string",
+  "description": "Host name or IP address of the FTP server",
+  "entry_schema": "string",
+  "updatedBy": "Krystian Kedron <k.kedron@partner.samsung.com>",
+  "definition": {
+    "tags": "ftp-host",
+    "name": "ftp-host",
+    "property": {
+      "description": "Host name or IP address of the FTP server",
+      "type": "string"
+    },
+    "group": "default",
+    "updated-by": "Krystian Kedron <k.kedron@partner.samsung.com>",
+    "sources": {
+      "input": {
+        "type": "source-input"
+      },
+      "default": {
+        "type": "source-default",
+        "properties": {}
+      }
+    }
+  }
+}
diff --git a/operations/a1-pe-sim-packages/resources/oran-sim-cba-data-dictionary/ftp-port.json b/operations/a1-pe-sim-packages/resources/oran-sim-cba-data-dictionary/ftp-port.json
new file mode 100644
index 0000000..c79b0cb
--- /dev/null
+++ b/operations/a1-pe-sim-packages/resources/oran-sim-cba-data-dictionary/ftp-port.json
@@ -0,0 +1,27 @@
+{
+  "name": "ftp-port",
+  "tags": "oran, a1pesim",
+  "data_type": "string",
+  "description": "Port value of the FTP server",
+  "entry_schema": "string",
+  "updatedBy": "Krystian Kedron <k.kedron@partner.samsung.com>",
+  "definition": {
+    "tags": "oran, a1pesim",
+    "name": "ftp-port",
+    "property": {
+      "description": "Port value of the FTP server",
+      "type": "string"
+    },
+    "group": "default",
+    "updated-by": "Krystian Kedron <k.kedron@partner.samsung.com>",
+    "sources": {
+      "input": {
+        "type": "source-input"
+      },
+      "default": {
+        "type": "source-default",
+        "properties": {}
+      }
+    }
+  }
+}
diff --git a/operations/a1-pe-sim-packages/resources/oran-sim-cba/Definitions/data_types.json b/operations/a1-pe-sim-packages/resources/oran-sim-cba/Definitions/data_types.json
index 8e48f70..4bff88f 100644
--- a/operations/a1-pe-sim-packages/resources/oran-sim-cba/Definitions/data_types.json
+++ b/operations/a1-pe-sim-packages/resources/oran-sim-cba/Definitions/data_types.json
@@ -11,6 +11,13 @@
         "vnf-id": {
           "type": "string"
         },
+        "ftp-host": {
+          "type": "string"
+        },
+        "ftp-port": {
+          "type": "string",
+          "default": "32022"
+        },
         "cells-payload": {
           "type": "string",
           "default": ""
diff --git a/operations/a1-pe-sim-packages/resources/oran-sim-cba/Definitions/resources_definition_types.json b/operations/a1-pe-sim-packages/resources/oran-sim-cba/Definitions/resources_definition_types.json
index f5fb852..d8b5733 100644
--- a/operations/a1-pe-sim-packages/resources/oran-sim-cba/Definitions/resources_definition_types.json
+++ b/operations/a1-pe-sim-packages/resources/oran-sim-cba/Definitions/resources_definition_types.json
@@ -73,6 +73,44 @@
       }
     }
   },
+  "ftp-host": {
+    "tags": "oran, a1pesim",
+    "name": "ftp-host",
+    "property": {
+      "description": "Host address of the FTP server",
+      "type": "string"
+    },
+    "group": "default",
+    "updated-by": "Krystian Kedron <k.kedron@partner.samsung.com>",
+    "sources": {
+      "input": {
+        "type": "source-input"
+      },
+      "default": {
+        "type": "source-default",
+        "properties": {}
+      }
+    }
+  },
+  "ftp-port": {
+    "tags": "oran, a1pesim",
+    "name": "ftp-port",
+    "property": {
+      "description": "Port value of the FTP server",
+      "type": "string"
+    },
+    "group": "default",
+    "updated-by": "Krystian Kedron <k.kedron@partner.samsung.com>",
+    "sources": {
+      "input": {
+        "type": "source-input"
+      },
+      "default": {
+        "type": "source-default",
+        "properties": {}
+      }
+    }
+  },
   "oran_name": {
     "tags": "oran_name",
     "name": "oran_name",
diff --git a/operations/a1-pe-sim-packages/resources/oran-sim-cba/Templates/ves-mapping.json b/operations/a1-pe-sim-packages/resources/oran-sim-cba/Templates/ves-mapping.json
index 423617d..62792b4 100644
--- a/operations/a1-pe-sim-packages/resources/oran-sim-cba/Templates/ves-mapping.json
+++ b/operations/a1-pe-sim-packages/resources/oran-sim-cba/Templates/ves-mapping.json
@@ -75,6 +75,27 @@
     "dependencies": []
   },
   {
+    "name": "ftp-host",
+    "input-param": true,
+    "property": {
+      "type": "string"
+    },
+    "dictionary-name": "ftp-host",
+    "dictionary-source": "input",
+    "dependencies": []
+  },
+  {
+    "name": "ftp-port",
+    "input-param": true,
+    "property": {
+      "type": "string",
+      "default": "32022"
+    },
+    "dictionary-name": "ftp-port",
+    "dictionary-source": "default",
+    "dependencies": []
+  },
+  {
     "name": "rep-period",
     "input-param": true,
     "property": {
diff --git a/operations/a1-pe-sim-packages/resources/oran-sim-cba/Templates/ves-template.vtl b/operations/a1-pe-sim-packages/resources/oran-sim-cba/Templates/ves-template.vtl
index 8466e65..e888244 100644
--- a/operations/a1-pe-sim-packages/resources/oran-sim-cba/Templates/ves-template.vtl
+++ b/operations/a1-pe-sim-packages/resources/oran-sim-cba/Templates/ves-template.vtl
@@ -5,4 +5,6 @@
 vesPort=$ves-port
 vesPassword=$ves-user
 vesUser=$ves-password
+ftpHost=$ftp-host
+ftpPort=$ftp-port
 repPeriod=$rep-period
diff --git a/operations/a1-pe-sim-packages/resources/oran-sim-csar/MANIFEST.json b/operations/a1-pe-sim-packages/resources/oran-sim-csar/MANIFEST.json
index c605362..2ab6a85 100644
--- a/operations/a1-pe-sim-packages/resources/oran-sim-csar/MANIFEST.json
+++ b/operations/a1-pe-sim-packages/resources/oran-sim-csar/MANIFEST.json
@@ -1,6 +1,6 @@
 {
-  "name": "SamsungORANSimulator",
-  "description": "ORAN Simulator; Samsung Electronics.",
+  "name": "Samsung A1 PE Simulator",
+  "description": "A1 PE Simulator; Samsung Electronics.",
   "data": [
     {
       "file": "oran-sim-cba.zip",
diff --git a/operations/a1-pe-sim-packages/resources/oran-sim-csar/o-ran-simulator/templates/_deployment.tpl b/operations/a1-pe-sim-packages/resources/oran-sim-csar/o-ran-simulator/templates/_deployment.tpl
index 1bfc3a9..e4b7353 100644
--- a/operations/a1-pe-sim-packages/resources/oran-sim-csar/o-ran-simulator/templates/_deployment.tpl
+++ b/operations/a1-pe-sim-packages/resources/oran-sim-csar/o-ran-simulator/templates/_deployment.tpl
@@ -24,6 +24,14 @@
       value: {{ tpl .value $dot.dot | quote }}
     {{- end }}
   {{- end }}
+  {{- with $containerSpec.command }}
+  command:
+    - {{ $containerSpec.command }}
+  {{- end }}
+  {{- with $containerSpec.args }}
+  args:
+    - {{ $containerSpec.args }}
+  {{- end }}
   {{- with $containerSpec.volumeMounts }}
   volumeMounts:
     {{- range $containerSpec.volumeMounts }}
diff --git a/operations/a1-pe-sim-packages/resources/oran-sim-csar/o-ran-simulator/templates/a1-pe-sim-deployment.yaml b/operations/a1-pe-sim-packages/resources/oran-sim-csar/o-ran-simulator/templates/a1-pe-sim-deployment.yaml
index c5690b6..01b3f45 100644
--- a/operations/a1-pe-sim-packages/resources/oran-sim-csar/o-ran-simulator/templates/a1-pe-sim-deployment.yaml
+++ b/operations/a1-pe-sim-packages/resources/oran-sim-csar/o-ran-simulator/templates/a1-pe-sim-deployment.yaml
@@ -20,3 +20,5 @@
         - name: config
           configMap:
             name: {{ include "handover-simulator.utils.name" (list .Release.Name $name "app-cm") }}
+        - name: pmfiles
+          emptyDir: {}
diff --git a/operations/a1-pe-sim-packages/resources/oran-sim-csar/o-ran-simulator/values.yaml b/operations/a1-pe-sim-packages/resources/oran-sim-csar/o-ran-simulator/values.yaml
index 3bec165..5913207 100644
--- a/operations/a1-pe-sim-packages/resources/oran-sim-csar/o-ran-simulator/values.yaml
+++ b/operations/a1-pe-sim-packages/resources/oran-sim-csar/o-ran-simulator/values.yaml
@@ -4,27 +4,43 @@
 
 #To easier define node ports:
 backendRESTNodePort: 32766
-a1NodePort: 32085
+managementNodePort: 32022
 
-#oran_name can be provided from onap and will set custom label
+#oran_name can be provided from ONAP and will set custom label
 oran_name: null
 
 a1pesimulator:
   name: a1-pe-simulator
   replicaCount: 1
   containers:
-    backend:
+    a1-simulator:
       image:
         repository: nexus3.onap.org:10001/onap/integration/simulators/a1-pe-simulator
         tag: latest
         pullPolicy: Always
       volumeMounts:
         - name: config
-          mountPath: /var/a1pesim
+          mountPath: /a1-pe-simulator/config
+        - name: pmfiles
+          mountPath: /a1-pe-simulator/generated_pm_bulks
+    sftp:
+      image:
+        repository: atmoz/sftp
+        tag: latest
+        pullPolicy: Always
+      command: ./entrypoint
+      args: admin:samsung:::upload
+      volumeMounts:
+        - name: pmfiles
+          mountPath: /home/admin/upload
   service:
     type: NodePort
     ports:
       - port: 9998
-        name: a1-pe-simulator-http
-        owner: a1pesimulator
+        name: a1-sim-http
+        owner: a1-simulator
         nodePort: "{{ .Values.backendRESTNodePort }}"
+      - port: 22
+        owner: sftp
+        name: sftp-1
+        nodePort: "{{ .Values.managementNodePort }}"