---
# Copyright 2018-present Open Networking Foundation
# Copyright 2018 Intel Corporation
#
# 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.

---
apiVersion: v1
kind: Service
metadata:
  name: accelleran
spec:
  selector:
    app: accelleran
  clusterIP: None
  ports:
    - name: s1ap
      port: {{ .Values.accelleran.ports.s1ap }}
      protocol: TCP

---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: accelleran
  labels:
    app: accelleran
spec:
  replicas: {{ .Values.accelleran.replicas }}
  selector:
    matchLabels:
      app: accelleran
  serviceName: "accelleran"
  template:
    metadata:
      labels:
        app: accelleran
      annotations:
        k8s.v1.cni.cncf.io/networks: '[
          { "name": "bbu-net", "interface": "vbbu-net", "namespace": "default" }
        ]'
    spec:
      initContainers:
      - name: init-iptables
        image: {{ .Values.accelleran.images.init }}
        command: [ "sh", "-c"]
        args:
        - iptables -I OUTPUT -p icmp --icmp-type destination-unreachable -j DROP;
        securityContext:
          capabilities:
            add:
            - NET_ADMIN
      terminationGracePeriodSeconds: 1
      containers:
      - name: nats
        image: {{ .Values.accelleran.images.nats }}
        imagePullPolicy: IfNotPresent
        stdin: true
        tty: true
        env:
        - name: NATS_SERVICE_NAME
          value: {{ .Values.accelleran.nats_service_name }}
        command: [ "sh", "-c"]
        args:
        - gnatsd -DV -c /etc/gnatsd.conf;
        resources:
          limits:
            cpu: {{ .Values.accelleran.resources.cpu }}
            memory: {{ .Values.accelleran.resources.mem }}
            intel.com/sriov: '2'
        securityContext:
          capabilities:
            add:
            - NET_ADMIN
            - IPC_LOCK
      - name: redis
        image: {{ .Values.accelleran.images.redis }}
        imagePullPolicy: IfNotPresent
        stdin: true
        tty: true
        command: ["sh", "-c"]
        args:
        # FIXME: Redis can't support with dns resolution, can't set hostname at here.
        - (sleep 5; redis-cli -h localhost -p 6379 set NATS_SERVICE_URL "nat://$(ip route get 116 | awk '{print $NF;exit}'):4222";) &
          /usr/local/bin/redis-server
        resources:
          limits:
            cpu: {{ .Values.accelleran.resources.cpu }}
            memory: {{ .Values.accelleran.resources.mem }}
            intel.com/sriov: '2'
        securityContext:
          capabilities:
            add:
            - NET_ADMIN
            - IPC_LOCK
      - name: bbu
        image: {{ .Values.accelleran.images.bbu }}
        imagePullPolicy: Always
        env:
          - name: MME_IP
            value: {{ .Values.mme_hostname }}
        stdin: true
        tty: true
        command: ["sh", "-c"]
        args:
        - sqlite3 /mnt/app/datastore.db "insert into enbSctpSocketInterface ('interfaceName') values ('eth0');";
          sqlite3 /mnt/app/datastore.db "update logging set severity=7 where id=25;"
          sleep 10;
          /l3/l3start;
        volumeMounts:
        - name: bbu-config
          mountPath: /mnt/app/bootstrap.txt
          subPath: bootstrap.txt
        resources:
          limits:
            cpu: {{ .Values.accelleran.resources.cpu }}
            memory: {{ .Values.accelleran.resources.mem }}
            intel.com/sriov: '2'
        securityContext:
          capabilities:
            add:
            - NET_ADMIN
            - IPC_LOCK
            - SYS_NICE
      volumes:
        - name: bbu-config
          configMap:
            name: l3-config
            items:
              - key: bootstrap.txt
                path: bootstrap.txt

