blob: f3328e300aeaa396b3487d7465861bf26fe80e07 [file] [log] [blame]
David Bainbridge2f9b76f2019-05-15 13:48:11 -07001# Copyright 2019-present Open Networking Foundation
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15{{- $root := . -}}
David Bainbridge5cb5d172019-07-24 02:30:19 +000016{{- $tag := tpl ( tpl .Values.images.rw_core.tag . ) . }}
David Bainbridgecd30e542019-05-31 20:52:56 +000017{{- $repository := tpl .Values.images.rw_core.repository . }}
18{{- $registry := tpl .Values.images.rw_core.registry . }}
19{{- $pullpolicy := tpl .Values.images.rw_core.pullPolicy . }}
20{{- $core_timeout := tpl $root.Values.rw_core.core_timeout . }}
21{{- $long_request_timeout := tpl $root.Values.rw_core.timeout_long_request . }}
22{{- $request_timeout := tpl $root.Values.rw_core.timeout_request . }}
David Bainbridge50cb1ef2019-07-23 22:36:17 +000023{{- $set_log_level := tpl .Values.rw_core.log_level . | upper }}
24{{- $log_level := 3 }}
25{{- if eq $set_log_level "DEBUG" }}
26{{- $log_level = 0 }}
27{{- else if eq $set_log_level "INFO" }}
28{{- $log_level = 1 }}
29{{- else if eq $set_log_level "WARN" }}
30{{- $log_level = 2 }}
31{{- else if eq $set_log_level "ERROR" }}
32{{- $log_level = 3 }}
33{{- else if eq $set_log_level "PANIC" }}
34{{- $log_level = 4 }}
35{{- else if eq $set_log_level "FATAL" }}
36{{- $log_level = 5 }}
37{{- else }}
38{{- $log_level = 3 }}
39{{- end }}
Kent Hagerman1b333b92019-07-22 16:57:20 -040040{{- range $i, $e := until (int .Values.replicas.rw_core) }}
41{{- $cluster := add1 $i }}
42{{- range $i, $e := until 2 }}
43{{- $cluster_core_id := add1 $i }}
44---
45apiVersion: v1
46kind: Service
47metadata:
48 name: voltha-rw-core-{{ $cluster }}{{ $cluster_core_id }}
49 serviceAccountName: {{ $root.Values.serviceaccount }}
50spec:
51 serviceAccountName: {{ $root.Values.serviceaccount }}
52 clusterIP: None
53 ports:
54 - name: grpc
55 port: 50057
56 targetPort: 50057
57 selector:
58 app: rw-core
59 affinity-group: {{ quote $cluster }}
60 affinity-group-core-id: {{ quote $cluster_core_id }}
61
David Bainbridge2f9b76f2019-05-15 13:48:11 -070062---
63apiVersion: apps/v1
64kind: Deployment
65metadata:
Kent Hagerman1b333b92019-07-22 16:57:20 -040066 name: voltha-rw-core-{{ $cluster }}{{ $cluster_core_id }}
David Bainbridge2f9b76f2019-05-15 13:48:11 -070067 serviceAccountName: {{ $root.Values.serviceaccount }}
68spec:
69 replicas: 1
70 selector:
71 matchLabels:
72 app: rw-core
Kent Hagerman1b333b92019-07-22 16:57:20 -040073 affinity-group: {{ quote $cluster }}
74 affinity-group-core-id: {{ quote $cluster_core_id }}
David Bainbridge2f9b76f2019-05-15 13:48:11 -070075 template:
76 metadata:
77 labels:
78 app: rw-core
Kent Hagerman1b333b92019-07-22 16:57:20 -040079 affinity-group: {{ quote $cluster }}
80 affinity-group-core-id: {{ quote $cluster_core_id }}
David Bainbridge1f888042019-06-24 18:02:01 +000081 app.kubernetes.io/name: "read-write-core"
82 app.kubernetes.io/version: {{ quote $root.Chart.AppVersion }}
83 app.kubernetes.io/component: "core"
84 app.kubernetes.io/part-of: "voltha"
85 app.kubernetes.io/managed-by: {{ quote $root.Release.Service }}
86 helm.sh/chart: "{{ $root.Chart.Name }}-{{ $root.Chart.Version }}"
David Bainbridge2f9b76f2019-05-15 13:48:11 -070087 annotations:
88 cni: "calico"
89 spec:
90 affinity:
91 podAntiAffinity:
Kent Hagerman1b333b92019-07-22 16:57:20 -040092 requiredDuringSchedulingIgnoredDuringExecution:
93 - topologyKey: "kubernetes.io/hostname"
David Bainbridge53af8ba2019-05-24 14:41:34 +000094 labelSelector:
95 matchExpressions:
96 - key: app
97 operator: In
98 values:
Kent Hagerman1b333b92019-07-22 16:57:20 -040099 - rw-core
100 - key: affinity-group
101 operator: In
102 values:
103 - {{ quote $cluster }}
David Bainbridge2f9b76f2019-05-15 13:48:11 -0700104 serviceAccountName: {{ $root.Values.serviceaccount }}
105 containers:
106 - name: voltha
David Bainbridgecd30e542019-05-31 20:52:56 +0000107 image: {{ $registry }}{{ $repository }}:{{ $tag }}
108 imagePullPolicy: {{ $pullpolicy }}
David Bainbridge2f9b76f2019-05-15 13:48:11 -0700109 env:
110 - name: NAMESPACE
111 value: {{ quote $root.Release.Namespace }}
112 - name: POD_IP
113 valueFrom:
114 fieldRef:
115 fieldPath: status.podIP
David Bainbridge2f9b76f2019-05-15 13:48:11 -0700116 args:
117 - "/app/rw_core"
118 - "-kv_store_type=etcd"
David Bainbridgecd30e542019-05-31 20:52:56 +0000119 - "-kv_store_host={{ $root.Values.services.etcd.service }}"
120 - "-kv_store_port={{ $root.Values.services.etcd.port }}"
David Bainbridge2f9b76f2019-05-15 13:48:11 -0700121 - "-grpc_host=$(POD_IP)"
122 - "-grpc_port=50057"
123 - "-banner=true"
David Bainbridgecd30e542019-05-31 20:52:56 +0000124 - "-kafka_adapter_host={{ $root.Values.services.kafka.adapter.service }}"
125 - "-kafka_adapter_port={{ $root.Values.services.kafka.adapter.port }}"
126 - "-kafka_cluster_host={{ $root.Values.services.kafka.cluster.port }}"
127 - "-kafka_cluster_port={{ $root.Values.services.kafka.cluster.port }}"
David Bainbridge2f9b76f2019-05-15 13:48:11 -0700128 - "-rw_core_topic=rwcore"
129 - "-kv_store_data_prefix=service/voltha"
130 - "-in_competing_mode=true"
David Bainbridgecd30e542019-05-31 20:52:56 +0000131 - "-core_timeout={{ $core_timeout }}"
132 - "-timeout_long_request={{ $long_request_timeout }}"
133 - "-timeout_request={{ $request_timeout }}"
David Bainbridge50cb1ef2019-07-23 22:36:17 +0000134 - "-log_level={{ $log_level }}"
David Bainbridge2f9b76f2019-05-15 13:48:11 -0700135 ports:
136 - containerPort: 50057
137 name: grpc-port
138{{end}}
Kent Hagerman1b333b92019-07-22 16:57:20 -0400139{{end}}