COMAC-114 Write helm chart for OAI eNB and UE

Add helm chart to deploy OAI eNB and UE needed for COMAC-in-a-Box.

Change-Id: I5157d86c77eeb5f2041e9fa09f7661aca5528b8f
diff --git a/oaisim/templates/bin/_enb-init.sh.tpl b/oaisim/templates/bin/_enb-init.sh.tpl
new file mode 100644
index 0000000..7852f5b
--- /dev/null
+++ b/oaisim/templates/bin/_enb-init.sh.tpl
@@ -0,0 +1,28 @@
+#!/bin/bash
+#
+# Copyright 2019-present Open Networking Foundation
+#
+# 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.
+
+set -ex
+
+cp /opt/oaisim/enb/config/nfapi.conf /etc/oaisim/enb/nfapi.conf
+
+S1_MME_IFACE={{ .Values.conf.enb.networks.s1_mme.interface }}
+S1_MME_IP=$(ip addr show $S1_MME_IFACE | grep inet | grep -v inet6 | awk '{print $2}' | cut -d'/' -f1)
+sed -i "s/S1_MME_IP_ADDRESS/\"$S1_MME_IP\"/g" /etc/oaisim/enb/nfapi.conf
+
+S1U_IFACE={{ .Values.conf.enb.networks.s1u.interface }}
+S1U_IP=$(ip addr show $S1U_IFACE | grep inet | grep -v inet6 | awk '{print $2}' | cut -d'/' -f1)
+sed -i "s/S1U_IP_ADDRESS/\"$S1U_IP\"/g" /etc/oaisim/enb/nfapi.conf
+sed -i "s/X2C_IP_ADDRESS/\"$ENB_LOCAL_IP\"/g" /etc/oaisim/enb/nfapi.conf
diff --git a/oaisim/templates/bin/_enb-run.sh.tpl b/oaisim/templates/bin/_enb-run.sh.tpl
new file mode 100644
index 0000000..3d11097
--- /dev/null
+++ b/oaisim/templates/bin/_enb-run.sh.tpl
@@ -0,0 +1,31 @@
+#!/bin/bash
+#
+# Copyright 2019-present Open Networking Foundation
+#
+# 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.
+
+set -ex
+COMMAND="${@:-start}"
+
+function start () {
+  cd /openairinterface5g/cmake_targets
+
+  cat /etc/oaisim/enb/nfapi.conf
+  exec ./lte_build_oai/build/lte-softmodem -O /etc/oaisim/enb/nfapi.conf
+}
+
+function stop () {
+  kill -TERM 1
+}
+
+$COMMAND
diff --git a/oaisim/templates/bin/_ue-gen-usim.sh.tpl b/oaisim/templates/bin/_ue-gen-usim.sh.tpl
new file mode 100644
index 0000000..85ebaa5
--- /dev/null
+++ b/oaisim/templates/bin/_ue-gen-usim.sh.tpl
@@ -0,0 +1,25 @@
+#!/bin/bash
+#
+# Copyright 2019-present Open Networking Foundation
+#
+# 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.
+
+set -ex
+
+# Generate USIM data
+conf_nvram_path=/opt/oaisim/ue/config/ue_comac_test.conf
+gen_nvram_path=/etc/oaisim/ue
+
+cd /openairinterface5g/cmake_targets
+./nvram --gen -c $conf_nvram_path -o $gen_nvram_path
+./usim --gen -c $conf_nvram_path -o $gen_nvram_path
diff --git a/oaisim/templates/bin/_ue-init.sh.tpl b/oaisim/templates/bin/_ue-init.sh.tpl
new file mode 100644
index 0000000..c9787aa
--- /dev/null
+++ b/oaisim/templates/bin/_ue-init.sh.tpl
@@ -0,0 +1,31 @@
+#!/bin/bash
+#
+# Copyright 2019-present Open Networking Foundation
+#
+# 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.
+
+set -ex
+
+LTE_IF=oip1
+
+ip link set $LTE_IF up
+if ! grep -q lte /etc/iproute2/rt_tables; then
+  echo "200 lte " >> /etc/iproute2/rt_tables
+fi
+
+ip rule add fwmark 1 table lte
+ip route add default dev $LTE_IF table lte || true
+
+# enable inet6 for lo interface
+# lte-uesoftmodem uses AF_INET6 for UDP socket
+echo 0 > /proc/sys/net/ipv6/conf/lo/disable_ipv6
diff --git a/oaisim/templates/bin/_ue-run.sh.tpl b/oaisim/templates/bin/_ue-run.sh.tpl
new file mode 100644
index 0000000..f20f7ec
--- /dev/null
+++ b/oaisim/templates/bin/_ue-run.sh.tpl
@@ -0,0 +1,37 @@
+#!/bin/bash
+#
+# Copyright 2019-present Open Networking Foundation
+#
+# 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.
+
+set -ex
+
+COMMAND="${@:-start}"
+
+function start () {
+  cd /openairinterface5g/cmake_targets
+  cp /opt/oaisim/ue/config/nfapi.conf /etc/oaisim/ue/nfapi.conf
+
+  # Copy USIM data
+  cp /etc/oaisim/ue/.u* .
+  cp /etc/oaisim/ue/.u* ./lte_build_oai/build/
+
+  exec ./lte_build_oai/build/lte-uesoftmodem -O /etc/oaisim/ue/nfapi.conf --L2-emul 3 --num-ues 1 --nums_ue_thread 1
+}
+
+function stop () {
+  # TODO: clean up ip tables and rules
+  kill -TERM 1
+}
+
+$COMMAND