From e44d170a71178fd3515310ddd8503577deb56012 Mon Sep 17 00:00:00 2001 From: Sylvain Desbureaux Date: Mon, 7 May 2018 20:39:16 +0200 Subject: Add External Interface NBI project into OOM NBI (North Bound Interface) is one of the new project added for Beijing release. Features added ============== MongoDB common chart -------------------- Ability to start a mongo container, with a chart consistent with other common charts (readiness, liveness, persistence, resources, nfs, service, ...). Specific configuration: * name of the db to create if needed NBI chart --------- Ability to start a mariadb container, with a chart consistent with other common charts (readiness, liveness, persistence, resources, nfs, service, ...). Specific configuration: * name of the db to create if needed * name of the user that has access to the db * password of the user that has access to the db * root password of the database Ability to start a NBI container, with a chart consistent with other common charts (readiness, liveness, persistence, resources, nfs, service, ...). Specific configuration: * log level * cloudOwner * ecompInstanceId * openStackRegion * openStackServiceTenantName * sdc_authorization * aai_authorization * so_authorization ONAP chart ---------- Added a requirement on NBI chart, possibility to enable/disable and configuration to push to the chart. Current Status ============== - [*] adding a common chart for mongodb - [*] make mongo chart compiling - [*] testing the mongodb common role - [*] creating a mariadb chart inside nbi helm - [*] testing the mariadb chart - [*] make mariadb chart compiling - [*] make nbi use these charts - [*] make nbi chart compiling - [*] test the whole solution - [*] create a service for nbi Change-Id: I8dd3e79768c83b1553a05c892cf418f840931255 Issue-ID: EXTAPI-54 Signed-off-by: Sylvain Desbureaux --- kubernetes/common/mongo/templates/service.yaml | 97 ++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 kubernetes/common/mongo/templates/service.yaml (limited to 'kubernetes/common/mongo/templates/service.yaml') diff --git a/kubernetes/common/mongo/templates/service.yaml b/kubernetes/common/mongo/templates/service.yaml new file mode 100644 index 0000000000..df55854ee5 --- /dev/null +++ b/kubernetes/common/mongo/templates/service.yaml @@ -0,0 +1,97 @@ +{{/* +# Copyright © 2018 Orange +# +# 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: {{ include "common.servicename" . }} + namespace: {{ include "common.namespace" . }} + labels: + app: {{ include "common.name" . }} + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + ports: + - port: {{ .Values.service.internalPort }} + name: {{ .Values.service.portName }} + selector: + app: {{ include "common.name" . }} + release: {{ .Release.Name }} + clusterIP: None +#{{ if not .Values.disableNfsProvisioner }} +--- +kind: Service +apiVersion: v1 +metadata: + name: {{ .Values.nfsprovisionerPrefix }}-nfs-provisioner + namespace: {{ include "common.namespace" . }} + labels: + app: {{ .Values.nfsprovisionerPrefix }}-nfs-provisioner +spec: + ports: + - name: nfs + port: {{ .Values.service.nfsPort }} + - name: mountd + port: {{ .Values.service.mountdPort }} + - name: rpcbind + port: {{ .Values.service.rpcbindPort }} + - name: rpcbind-udp + port: {{ .Values.service.rpcbindUdpPort }} + protocol: UDP + selector: + app: {{ .Values.nfsprovisionerPrefix }}-nfs-provisioner +#{{ end }} +--- +# Client service for connecting to any Mongo instance for reads. +apiVersion: v1 +kind: Service +metadata: + name: {{ include "common.servicename" . }}-read + namespace: {{ include "common.namespace" . }} + labels: + app: {{ include "common.name" . }} +spec: + ports: + - port: {{ .Values.service.internalPort }} + name: {{ .Values.service.portName }} + selector: + app: {{ include "common.name" . }} + release: {{ .Release.Name }} +--- +{{ if .Values.geoEnabled }} +apiVersion: v1 +kind: Service +metadata: + name: {{ include "common.servicename" . }}-nodeport + namespace: {{ include "common.namespace" . }} + labels: + statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-0 +spec: + ports: + - name: {{ .Values.service.internalPort }} + port: {{ .Values.service.internalPort }} + targetPort: {{ .Values.service.internalPort }} + nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.externalPort1 }} + - name: {{ .Values.xtrabackup.internalPort }} + port: {{ .Values.xtrabackup.internalPort }} + targetPort: {{ .Values.xtrabackup.internalPort }} + nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.externalPort2 }} + type: NodePort + selector: + statefulset.kubernetes.io/pod-name: {{ include "common.fullname" . }}-0 + release: {{ .Release.Name }} +{{ end }} -- cgit 1.2.3-korg