blob: b1a2c1ab688d16c9a33374c0bfe55cfeeedb5e8d [file] [log] [blame]
Hyunsun Moon06f98552019-08-15 13:44:47 -06001{{/*
2Copyright 2018-present Open Networking Foundation
3Copyright 2018 Intel Corporation
4
5Licensed under the Apache License, Version 2.0 (the "License");
6you may not use this file except in compliance with the License.
7You may obtain a copy of the License at
8
9http://www.apache.org/licenses/LICENSE-2.0
10
11Unless required by applicable law or agreed to in writing, software
12distributed under the License is distributed on an "AS IS" BASIS,
13WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14See the License for the specific language governing permissions and
15limitations under the License.
16*/}}
Hyunsun Moona24d3f92019-06-19 03:04:58 -050017---
18apiVersion: apps/v1
19kind: StatefulSet
20metadata:
Hyunsun Moon06f98552019-08-15 13:44:47 -060021 name: spgwu
Hyunsun Moona24d3f92019-06-19 03:04:58 -050022 labels:
Hyunsun Moon7a007bb2019-08-19 16:41:36 -060023{{ tuple "spgwu" . | include "omec-data-plane.metadata_labels" | indent 4 }}
Hyunsun Moona24d3f92019-06-19 03:04:58 -050024spec:
25 replicas: 1
26 selector:
27 matchLabels:
Hyunsun Moon7a007bb2019-08-19 16:41:36 -060028{{ tuple "spgwu" . | include "omec-data-plane.metadata_labels" | indent 6 }}
Hyunsun Moon06f98552019-08-15 13:44:47 -060029 serviceName: spgwu
Hyunsun Moona24d3f92019-06-19 03:04:58 -050030 template:
31 metadata:
32 labels:
Hyunsun Moon7a007bb2019-08-19 16:41:36 -060033{{ tuple "spgwu" . | include "omec-data-plane.metadata_labels" | indent 8 }}
Hyunsun Moona24d3f92019-06-19 03:04:58 -050034 annotations:
35 k8s.v1.cni.cncf.io/networks: '[
Hyunsun Moon06f98552019-08-15 13:44:47 -060036 { "name": "s1u-net", "interface": "s1u-net" },
37 { "name": "sgi-net", "interface": "sgi-net" }
Hyunsun Moona24d3f92019-06-19 03:04:58 -050038 ]'
39 spec:
Hyunsun Moon06f98552019-08-15 13:44:47 -060040 {{- if .Values.nodeSelectors.enabled }}
Woojoong Kim314d57c2019-07-09 17:08:11 -070041 nodeSelector:
Hyunsun Moon06f98552019-08-15 13:44:47 -060042 {{ .Values.nodeSelectors.spgwu.label }}: {{ .Values.nodeSelectors.spgwu.value }}
43 {{- end }}
Hyunsun Moon7a007bb2019-08-19 16:41:36 -060044 {{- if not .Values.config.sriov.enabled }}
Hyunsun Moona24d3f92019-06-19 03:04:58 -050045 initContainers:
46 - name: spgwu-iptables-init
Hyunsun Moon06f98552019-08-15 13:44:47 -060047 image: {{ .Values.images.tags.init | quote }}
48 imagePullPolicy: {{ .Values.images.pullPolicy | quote }}
Hyunsun Moona24d3f92019-06-19 03:04:58 -050049 command: [ "sh", "-xec"]
50 securityContext:
51 capabilities:
52 add:
53 - NET_ADMIN
54 args:
55 - iptables -I OUTPUT -p icmp --icmp-type destination-unreachable -j DROP;
56 - name: spgwu-af-iface-init
Hyunsun Moon06f98552019-08-15 13:44:47 -060057 image: {{ .Values.images.tags.init | quote }}
58 imagePullPolicy: {{ .Values.images.pullPolicy | quote }}
Hyunsun Moona24d3f92019-06-19 03:04:58 -050059 securityContext:
60 capabilities:
61 add:
62 - NET_ADMIN
63 command:
64 - /opt/dp/scripts/setup-af-iface.sh
65 volumeMounts:
66 - name: dp-script
67 mountPath: /opt/dp/scripts/setup-af-iface.sh
68 subPath: setup-af-iface.sh
Hyunsun Moon06f98552019-08-15 13:44:47 -060069 {{- end }}
Hyunsun Moona24d3f92019-06-19 03:04:58 -050070 containers:
Hyunsun Moon06f98552019-08-15 13:44:47 -060071 - name: spgwu
72 image: {{ .Values.images.tags.spgwu | quote }}
73 imagePullPolicy: {{ .Values.images.pullPolicy | quote }}
Hyunsun Moona24d3f92019-06-19 03:04:58 -050074 stdin: true
75 tty: true
76 env:
77 - name: MEM_LIMIT
78 valueFrom:
79 resourceFieldRef:
Hyunsun Moon06f98552019-08-15 13:44:47 -060080 containerName: spgwu
Hyunsun Moona24d3f92019-06-19 03:04:58 -050081 resource: limits.memory
82 divisor: 1Mi
83 - name: S1U_DEVNAME
Hyunsun Moon7a007bb2019-08-19 16:41:36 -060084 {{- if .Values.config.sriov.enabled }}
Hyunsun Moona24d3f92019-06-19 03:04:58 -050085 value: s1u-net
Hyunsun Moon06f98552019-08-15 13:44:47 -060086 {{- else }}
Hyunsun Moon7a007bb2019-08-19 16:41:36 -060087 value: {{ .Values.config.spgwu.s1uAfDev | quote }}
Hyunsun Moon06f98552019-08-15 13:44:47 -060088 {{- end }}
Hyunsun Moona24d3f92019-06-19 03:04:58 -050089 - name: SGI_DEVNAME
Hyunsun Moon7a007bb2019-08-19 16:41:36 -060090 {{- if .Values.config.sriov.enabled }}
Hyunsun Moona24d3f92019-06-19 03:04:58 -050091 value: sgi-net
Hyunsun Moon06f98552019-08-15 13:44:47 -060092 {{- else }}
Hyunsun Moon7a007bb2019-08-19 16:41:36 -060093 value: {{ .Values.config.spgwu.sgiAfDev | quote }}
Hyunsun Moon06f98552019-08-15 13:44:47 -060094 {{- end }}
Hyunsun Moona24d3f92019-06-19 03:04:58 -050095 - name: DEVICES
Hyunsun Moon7a007bb2019-08-19 16:41:36 -060096 value: {{ .Values.config.spgwu.devices | quote }}
Hyunsun Moona24d3f92019-06-19 03:04:58 -050097 - name: CP_ADDR
Hyunsun Moon7a007bb2019-08-19 16:41:36 -060098 value: {{ .Values.config.spgwu.spgwc.addr | quote }}
99 - name: CP_PORT
100 value: {{ .Values.config.spgwu.spgwc.port | quote }}
Hyunsun Moona24d3f92019-06-19 03:04:58 -0500101 - name: DP_ADDR
102 valueFrom:
103 fieldRef:
104 fieldPath: status.podIP
105 - name: RTR_SGI_IP
Hyunsun Moon7a007bb2019-08-19 16:41:36 -0600106 value: {{ .Values.config.spgwu.rtrSgiIp | quote }}
Hyunsun Moona24d3f92019-06-19 03:04:58 -0500107 - name: SGI_MASK
Hyunsun Moon7a007bb2019-08-19 16:41:36 -0600108 value: {{ .Values.config.spgwu.sgiMask | quote }}
Hyunsun Moona24d3f92019-06-19 03:04:58 -0500109 command: ["bash", "-xc"]
110 args:
111 - ip a;
Hyunsun Moon06f98552019-08-15 13:44:47 -0600112 /opt/dp/scripts/run.sh;
Hyunsun Moona24d3f92019-06-19 03:04:58 -0500113 volumeMounts:
114 - name: dp-script
Hyunsun Moon06f98552019-08-15 13:44:47 -0600115 mountPath: /opt/dp/scripts/run.sh
116 subPath: run.sh
Hyunsun Moona24d3f92019-06-19 03:04:58 -0500117 - name: dp-config
118 mountPath: /etc/dp/config
Hyunsun Moona24d3f92019-06-19 03:04:58 -0500119 resources:
Hyunsun Moon06f98552019-08-15 13:44:47 -0600120 requests:
121 {{- if .Values.resources.enabled }}
122{{ toYaml .Values.resources.spgwu.requests | indent 12 }}
123 {{- end }}
Hyunsun Moon7a007bb2019-08-19 16:41:36 -0600124 {{- if .Values.config.sriov.enabled }}
Woojoong Kime455aab2019-07-12 10:53:43 -0700125 intel.com/sriov_vfio: 2
Hyunsun Moon06f98552019-08-15 13:44:47 -0600126 {{- end }}
127 limits:
128 {{- if .Values.resources.enabled }}
129{{ toYaml .Values.resources.spgwu.limits | indent 12 }}
130 {{- end }}
Hyunsun Moon7a007bb2019-08-19 16:41:36 -0600131 {{- if .Values.config.sriov.enabled }}
Hyunsun Moon06f98552019-08-15 13:44:47 -0600132 intel.com/sriov_vfio: 2
133 {{- end }}
Hyunsun Moona24d3f92019-06-19 03:04:58 -0500134 securityContext:
135 capabilities:
136 add:
137 - IPC_LOCK
138 volumes:
139 - name: dp-script
140 configMap:
Hyunsun Moon06f98552019-08-15 13:44:47 -0600141 name: spgwu
Hyunsun Moona24d3f92019-06-19 03:04:58 -0500142 defaultMode: 493
143 - name: dp-config
144 configMap:
Hyunsun Moon06f98552019-08-15 13:44:47 -0600145 name: spgwu
Hyunsun Moona24d3f92019-06-19 03:04:58 -0500146 defaultMode: 420