Solution: provide k8s based oam solution

- single node k8s/kubernetes cluster
- OAM based on ONAP NewDelhi release
- performance metric dashboard

Issue-ID: OAM-416
Change-Id: Icc45a81b528692fcfcc81df3b797e147776dc5a9
Signed-off-by: Alexander Dehn <alexander.dehn@highstreet-technologies.com>
diff --git a/solution_k8s/tests/network-simulation/du-sim.override.yaml b/solution_k8s/tests/network-simulation/du-sim.override.yaml
new file mode 100644
index 0000000..2427d37
--- /dev/null
+++ b/solution_k8s/tests/network-simulation/du-sim.override.yaml
@@ -0,0 +1,134 @@
+# Copyright © 2021-2022 AT&T Intellectual Property
+#
+# 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.
+
+# Static Defaults
+# image:
+#   repository: 'nexus3.o-ran-sc.org:10002/o-ran-sc'
+#   name: nts-ng-o-ran-du 
+#   tag: 1.5.0
+#   pullPolicy: IfNotPresent
+
+# service:
+#   type: NodePort
+#   ports:
+#     port: 830
+
+# dus:
+#   - name: o-du-1122
+#     operational:
+#       administrativeState: locked
+#       operationalState: enabled
+#     running:
+#       administrativeState: unlocked
+#     cell:
+#       name: cell-1
+#       trafficState: active
+#       localId: 1
+#       physicalCellId: 1
+#       operational:
+#         administrativeState: locked
+#         operationalState: enabled
+#       running:
+#         administrativeState: unlocked
+#     radioResourcePolicy:
+#       name: rrm-pol-1 
+#       resourceType: prb
+#       operational:
+#         administrativeState: locked
+#         operationalState: enabled
+#       running:
+#         administrativeState: unlocked
+  
+#     simulatedFaults:
+#       - name: fault1
+#         condition: "CPRI Port Down"
+#         severity: MAJOR
+#         specificProblem: "CPRI Port Down"
+#         faultSeverity: MAJOR
+#         cleared: false
+#         text: "CPRI Port Down"
+#         object: "Slot-0-Port-A"
+#       - name: fault1-close
+#         condition: "CPRI Port Down"
+#         severity: NORMAL
+#         specificProblem: "CPRI Port Down"
+#         faultSeverity: MAJOR
+#         cleared: true
+#         text: "CPRI Port Down"
+#         object: "Slot-0-Port-A"
+
+#       - name: fault2
+#         condition: "CPRI Port Down"
+#         severity: MAJOR
+#         specificProblem: "CPRI Port Down"
+#         faultSeverity: MAJOR
+#         cleared: false
+#         text: "CPRI Port Down"
+#         object: "Slot-0-Port-C"
+#       - name: fault2-close
+#         condition: "CPRI Port Down"
+#         severity: NORMAL
+#         specificProblem: "CPRI Port Down"
+#         faultSeverity: MAJOR
+#         cleared: true
+#         text: "CPRI Port Down"
+#         object: "Slot-0-Port-C"
+#       - name: fault3
+#         condition: "CPRI Port Down"
+#         severity: MAJOR
+#         specificProblem: "CPRI Port Down"
+#         faultSeverity: MAJOR
+#         cleared: false
+#         text: "CPRI Port Down"
+#         object: "Slot-2-Port-B"
+#       - name: fault3-close
+#         condition: "CPRI Port Down"
+#         severity: NORMAL
+#         specificProblem: "CPRI Port Down"
+#         faultSeverity: MAJOR
+#         cleared: true
+#         text: "CPRI Port Down"
+#         object: "Slot-2-Port-B"
+
+
+# NTS NG settings
+ntsimNg:
+  ipV6Enabled: false
+  sshConnections: 1
+  tlsConnections: 0
+  ntsHostBasePort: 50000
+  ntsHostNetconfSshBasePort: 1000
+  ntsHostNetconfTlsBasePort: 1500
+  ntsHostTransferFtpBasePort: 2000
+  ntsHostTransferSftpBasePort: 2000
+  ntsNfMountPointAddressingMethod: docker-mapping
+
+  sdnControllerProtocol: http
+  sdnControllerCallHomeAddress: sdnc-callhome.onap
+  sdnControllerCallHomePort: 4334
+  sdnControllerUsername: admin
+    #  sdnControllerPassword: Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
+  sdnControllerPassword: admin  
+  sdnControllerPort: 8282
+  sdnControllerAddress: sdnc.onap
+
+  vesCommonHeaderVersion: 7.2.1
+  vesEndpointProtocol: http
+  vesEndpointAddress: dcae-ves-collector.onap
+  vesEndpointPort: 8080
+  vesEndpointAuthMethod: basic-auth
+  vesEndpointUsername: sample1
+  vesEndpointPassword: sample1
+
+  ntsNfStandaloneStartFeatures: datastore-populate ves-heartbeat ves-file-ready ves-pnf-registration web-cut-through
diff --git a/solution_k8s/tests/network-simulation/ru-sim.override.yaml b/solution_k8s/tests/network-simulation/ru-sim.override.yaml
new file mode 100644
index 0000000..9c4e13d
--- /dev/null
+++ b/solution_k8s/tests/network-simulation/ru-sim.override.yaml
@@ -0,0 +1,100 @@
+# Copyright © 2021-2022 AT&T Intellectual Property
+#
+# 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.
+
+# Static Defaults
+# image:
+#   repository: 'nexus3.o-ran-sc.org:10002/o-ran-sc'
+#   name: nts-ng-o-ran-ru-fh 
+#   tag: 1.5.0
+#   pullPolicy: IfNotPresent
+
+# service:
+#   type: NodePort
+#   ports:
+#     port: 830
+
+# rus:
+#   - name: o-ru-11221
+#     simulatedFaults:
+#       - name: fault1 
+#         condition: "C/U-plane logical Connection faulty"
+#         severity: CRITICAL
+#         specificProblem: "C/U-plane logical Connection faulty"
+#         faultSeverity: CRITICAL
+#         cleared: false
+#         text: "O-RU Port Down"
+#         faultId: 28
+#         object: "09a95e08-5b53-4734-815f-a9c12300fc62"
+#       - name: fault1-close
+#         condition: "C/U-plane logical Connection faulty"
+#         severity: NORMAL
+#         specificProblem: "C/U-plane logical Connection faulty"
+#         faultSeverity: CRITICAL
+#         cleared: true
+#         text: "O-RU Port Down"
+#         faultId: 28
+#         object: "09a95e08-5b53-4734-815f-a9c12300fc62"
+
+#   - name: o-ru-11222
+#     simulatedFaults:
+#       - name: fault1
+#         condition: "C/U-plane logical Connection faulty"
+#         severity: CRITICAL
+#         specificProblem: "C/U-plane logical Connection faulty"
+#         faultSeverity: CRITICAL
+#         cleared: false
+#         text: "O-RU Port Down"
+#         faultId: 28
+#         object: "09a95e08-5b53-4734-815f-a9c12300fc63"
+#       - name: fault1-close
+#         condition: "C/U-plane logical Connection faulty"
+#         severity: NORMAL  
+#         specificProblem: "C/U-plane logical Connection faulty"
+#         faultSeverity: CRITICAL
+#         cleared: true 
+#         text: "O-RU Port Down"
+#         faultId: 28
+#         object: "09a95e08-5b53-4734-815f-a9c12300fc63"
+
+
+# NTS NG settings
+ntsimNg:
+  ipV6Enabled: false
+  sshConnections: 1
+  tlsConnections: 0
+  ntsHostBasePort: 50000
+  ntsHostNetconfSshBasePort: 1000
+  ntsHostNetconfTlsBasePort: 1500
+  ntsHostTransferFtpBasePort: 2000
+  ntsHostTransferSftpBasePort: 2000
+  ntsNfMountPointAddressingMethod: docker-mapping
+
+  sdnControllerProtocol: http
+  sdnControllerCallHomeAddress: sdnc-callhome.onap
+  sdnControllerCallHomePort: 4334
+  sdnControllerUsername: admin
+  #sdnControllerPassword: Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
+  sdnControllerPassword: admin
+  sdnControllerPort: 8282
+  sdnControllerAddress: sdnc.onap
+
+  vesCommonHeaderVersion: 7.2.1
+  vesEndpointProtocol: https
+  vesEndpointAddress: dcae-ves-collector.onap
+  vesEndpointPort: 8443
+  vesEndpointAuthMethod: basic-auth
+  vesEndpointUsername: sample1
+  vesEndpointPassword: sample1
+
+  ntsNfStandaloneStartFeatures: datastore-populate netconf-call-home web-cut-through
diff --git a/solution_k8s/tests/network-simulation/start-network-simulation.sh b/solution_k8s/tests/network-simulation/start-network-simulation.sh
new file mode 100755
index 0000000..b005d6f
--- /dev/null
+++ b/solution_k8s/tests/network-simulation/start-network-simulation.sh
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+# Copyright 2022 highstreet technologies
+#
+# 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.
+
+dep_dir=o-ran-sc-dep-repo
+rm -rf ./$dep_dir
+git clone https://gerrit.o-ran-sc.org/r/it/dep.git $dep_dir
+
+helm cm-push -f $dep_dir/smo-install/tests_oom/ru-simulator local
+helm cm-push -f $dep_dir/smo-install/tests_oom/du-simulator local
+
+helm repo update
+
+helm install --debug oran-ru-simulator local/ru-simulator -n network --create-namespace -f ru-sim.override.yaml
+helm install --debug oran-du-simulator local/du-simulator -n network --create-namespace -f du-sim.override.yaml
\ No newline at end of file
diff --git a/solution_k8s/tests/network-simulation/stop-network-simulation.sh b/solution_k8s/tests/network-simulation/stop-network-simulation.sh
new file mode 100755
index 0000000..4ec8833
--- /dev/null
+++ b/solution_k8s/tests/network-simulation/stop-network-simulation.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+# Copyright 2023 highstreet technologies
+#
+# 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.
+
+helm delete oran-du-simulator -n network
+helm delete oran-ru-simulator -n network
\ No newline at end of file