blob: debb01348538f31f554423ed00277d33ab197b06 [file] [log] [blame]
Andy Bavier2259a6b2018-07-12 15:27:48 -07001---
2# Copyright 2017-present Open Networking Foundation
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15
Andy Baviere21a5f52019-05-28 15:39:52 -070016{{- range $i, $junk := until (.Values.numOlts|int) }}
17---
Andy Bavier2259a6b2018-07-12 15:27:48 -070018apiVersion: v1
19kind: Service
20metadata:
Andy Baviere21a5f52019-05-28 15:39:52 -070021 name: onu{{ $i }}
22 namespace: {{ $.Values.global.namespace }}
Andy Bavier2259a6b2018-07-12 15:27:48 -070023 labels:
Andy Baviere21a5f52019-05-28 15:39:52 -070024 name: onu{{ $i }}
Andy Bavier2259a6b2018-07-12 15:27:48 -070025spec:
26 ports:
27 - name: grpc
28 port: 50061
29 targetPort: 50061
30 selector:
Andy Baviere21a5f52019-05-28 15:39:52 -070031 app: onu{{ $i }}
Andy Bavier2259a6b2018-07-12 15:27:48 -070032---
33apiVersion: apps/v1beta1
34kind: Deployment
35metadata:
Andy Baviere21a5f52019-05-28 15:39:52 -070036 name: onu{{ $i }}
37 namespace: {{ $.Values.global.namespace }}
Andy Bavier2259a6b2018-07-12 15:27:48 -070038spec:
39 replicas: 1
40 template:
41 metadata:
42 labels:
Andy Baviere21a5f52019-05-28 15:39:52 -070043 app: onu{{ $i }}
Andy Bavier2259a6b2018-07-12 15:27:48 -070044 annotations:
Andy Baviere21a5f52019-05-28 15:39:52 -070045 cni: "calico,pon{{ $i }}"
Andy Bavier2259a6b2018-07-12 15:27:48 -070046 spec:
47 affinity:
48 podAffinity:
49 preferredDuringSchedulingIgnoredDuringExecution:
50 - weight: 100
51 podAffinityTerm:
52 labelSelector:
53 matchExpressions:
54 - key: app
55 operator: In
56 values:
Andy Baviere21a5f52019-05-28 15:39:52 -070057 - rg{{ $i }}
Andy Bavier2259a6b2018-07-12 15:27:48 -070058 topologyKey: kubernetes.io/hostname
Andy Bavier2259a6b2018-07-12 15:27:48 -070059 containers:
Andy Baviere21a5f52019-05-28 15:39:52 -070060 - name: onu{{ $i }}
61 image: "{{ $.Values.global.registry }}{{ $.Values.images.onu.repository }}:{{ tpl $.Values.images.onu.tag $ }}"
62 imagePullPolicy: {{ $.Values.images.onu.pullPolicy }}
Andy Bavier2259a6b2018-07-12 15:27:48 -070063 env:
64 - name: POD_IP
65 valueFrom:
66 fieldRef:
67 fieldPath: status.podIP
68 - name: NAMESPACE
69 valueFrom:
70 fieldRef:
71 fieldPath: metadata.namespace
Andy Bavier2259a6b2018-07-12 15:27:48 -070072 args:
73 - "/app/ponsim"
74 - "-device_type"
75 - "ONU"
76 - "-parent_addr"
Andy Baviere21a5f52019-05-28 15:39:52 -070077 - "olt{{ $i }}"
Andy Bavier2259a6b2018-07-12 15:27:48 -070078 - "-grpc_port"
79 - "50061"
80 - "-internal_if"
81 - "eth0"
82 - "-external_if"
83 - "eth1"
84 - "-promiscuous"
Andy Baviere21a5f52019-05-28 15:39:52 -070085{{- if not $.Values.legacyPonsim }}
86 - "-serial_number"
87 - "PSMO{{ printf "%04d" $i }}0000"
88{{- end }}
Andy Bavier2259a6b2018-07-12 15:27:48 -070089
90 ports:
91 - containerPort: 50061
92 name: grpc-port
Andy Baviere21a5f52019-05-28 15:39:52 -070093{{- end }}