blob: fc0a50da0ee0a0eae59575bdb36ffe54a1395772 [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: olt{{ $i }}
22 namespace: {{ $.Values.global.namespace }}
Andy Bavier2259a6b2018-07-12 15:27:48 -070023 labels:
Andy Baviere21a5f52019-05-28 15:39:52 -070024 name: olt{{ $i }}
Andy Bavier2259a6b2018-07-12 15:27:48 -070025spec:
26 ports:
27 - name: grpc
28 port: 50060
29 targetPort: 50060
30 selector:
Andy Bavier8c0a03d2019-07-02 14:54:28 -070031 olt: olt{{ $i }}
Andy Bavier2259a6b2018-07-12 15:27:48 -070032---
33apiVersion: apps/v1beta1
34kind: Deployment
35metadata:
Andy Baviere21a5f52019-05-28 15:39:52 -070036 name: olt{{ $i }}
37 namespace: {{ $.Values.global.namespace }}
Andy Bavier2259a6b2018-07-12 15:27:48 -070038spec:
39 replicas: 1
40 template:
41 metadata:
42 labels:
Andy Bavier8c0a03d2019-07-02 14:54:28 -070043 app: ponsim
44 olt: olt{{ $i }}
Andy Bavier2259a6b2018-07-12 15:27:48 -070045 annotations:
Andy Baviere21a5f52019-05-28 15:39:52 -070046 cni: "calico,nni{{ $i }}"
Andy Bavier2259a6b2018-07-12 15:27:48 -070047 spec:
Andy Bavier8c0a03d2019-07-02 14:54:28 -070048 affinity:
49 podAffinity:
50 preferredDuringSchedulingIgnoredDuringExecution:
51 - weight: 100
52 podAffinityTerm:
53 labelSelector:
54 matchExpressions:
55 - key: app
56 operator: In
57 values:
58 - mininet
59 topologyKey: kubernetes.io/hostname
Andy Bavier2259a6b2018-07-12 15:27:48 -070060 containers:
Andy Baviere21a5f52019-05-28 15:39:52 -070061 - name: olt{{ $i }}
62 image: "{{ $.Values.global.registry }}{{ $.Values.images.olt.repository }}:{{ tpl $.Values.images.olt.tag $ }}"
63 imagePullPolicy: {{ $.Values.images.olt.pullPolicy }}
Andy Bavier2259a6b2018-07-12 15:27:48 -070064 env:
65 - name: POD_IP
66 valueFrom:
67 fieldRef:
68 fieldPath: status.podIP
69 - name: NAMESPACE
70 valueFrom:
71 fieldRef:
72 fieldPath: metadata.namespace
Andy Bavier2259a6b2018-07-12 15:27:48 -070073 args:
74 - "/app/ponsim"
75 - "-device_type"
76 - "OLT"
77 - "-onus"
78 - "4"
79 - "-internal_if"
Jonathan Hart26867b22018-08-14 14:53:28 -070080 - "eth1"
Andy Bavier2259a6b2018-07-12 15:27:48 -070081 - "-external_if"
Jonathan Hart26867b22018-08-14 14:53:28 -070082 - "eth1"
Andy Bavier2259a6b2018-07-12 15:27:48 -070083 - "-vcore_endpoint"
84 - "vcore"
85 - "-promiscuous"
Andy Bavier2259a6b2018-07-12 15:27:48 -070086 ports:
87 - containerPort: 50060
88 name: grpc-port
Andy Baviere21a5f52019-05-28 15:39:52 -070089{{- end }}