VOL-3139 - add name helper template

- includes the {{ .Release.Name }} be default
- can be overriden with
  - nameOverride: override the {{ .Release.Name }}-{{ .Chart.Name }}
    porition
  - fullNameOverride: override everything

Change-Id: I0e1dbccba8f1e484e13e6f9ae43ea35ce97aac4f
diff --git a/voltha/templates/_helpers.tpl b/voltha/templates/_helpers.tpl
new file mode 100644
index 0000000..bf89b45
--- /dev/null
+++ b/voltha/templates/_helpers.tpl
@@ -0,0 +1,23 @@
+# Copyright 2020-present Open Networking Foundation
+#
+# 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.
+{{/* Expand the name of the chart. */}}
+{{- define "name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+{{/* Create a default fully qualified app name. We truncate at 63 chars because . . . */}}
+{{- define "fullname" -}}
+{{- $name := default .Chart.Name .Values.nameOverride -}}
+{{- $fullname := default (printf "%s-%s" .Release.Name $name) .Values.fullNameOverride -}}
+{{- $fullname | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
diff --git a/voltha/templates/api-svc.yaml b/voltha/templates/api-svc.yaml
index 1804875..7edc0ea 100644
--- a/voltha/templates/api-svc.yaml
+++ b/voltha/templates/api-svc.yaml
@@ -15,7 +15,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: voltha-api
+  name: "{{ template "fullname" . }}-api"
   namespace: "{{ .Release.Namespace }}"
 spec:
   ports:
diff --git a/voltha/templates/core-deploy.yaml b/voltha/templates/core-deploy.yaml
index 699afce..0d1210a 100644
--- a/voltha/templates/core-deploy.yaml
+++ b/voltha/templates/core-deploy.yaml
@@ -16,7 +16,7 @@
 apiVersion: apps/v1beta1
 kind: Deployment
 metadata:
-  name: voltha-rw-core
+  name: "{{ template "fullname" . }}-rw-core"
   namespace: {{ .Release.Namespace }}
   {{- if or (hasKey .Values "extra_deployment_labels") (hasKey .Values "rw_core_deployment_labels") }}
   labels:
diff --git a/voltha/templates/core-profile-svc.yaml b/voltha/templates/core-profile-svc.yaml
index 49f16da..3705440 100644
--- a/voltha/templates/core-profile-svc.yaml
+++ b/voltha/templates/core-profile-svc.yaml
@@ -16,7 +16,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: voltha-rw-core-profiler
+  name: "{{ template "fullname" . }}-rw-core-profiler"
   namespace: {{ .Release.Namespace }}
 spec:
   clusterIP: None
diff --git a/voltha/templates/ofagent-deploy.yaml b/voltha/templates/ofagent-deploy.yaml
index 2c38a5f..e1fcfc3 100644
--- a/voltha/templates/ofagent-deploy.yaml
+++ b/voltha/templates/ofagent-deploy.yaml
@@ -16,7 +16,7 @@
 apiVersion: apps/v1beta1
 kind: Deployment
 metadata:
-  name: voltha-ofagent
+  name: "{{ template "fullname" . }}-ofagent"
   namespace: {{ .Release.Namespace }}
   {{- if or (hasKey .Values "extra_deployment_labels") (hasKey .Values "ofagent_deployment_labels") }}
   labels:
@@ -77,7 +77,7 @@
         {{- range .Values.services.controller }}
         - "--controller={{ .service }}:{{ .port }}"
         {{- end }}
-        - "--voltha=voltha-api.{{ .Release.Namespace }}.svc:55555"
+        - "--voltha={{ template "fullname" . }}-api.{{ .Release.Namespace }}.svc:55555"
         - "--kv_store_host=etcd.{{ .Release.Namespace }}.svc"
         - "--kv_store_port=2379"
         - "--kv_store_type=etcd"
diff --git a/voltha/templates/ofagent-profile-svc.yaml b/voltha/templates/ofagent-profile-svc.yaml
index 1e77a08..5d091c3 100644
--- a/voltha/templates/ofagent-profile-svc.yaml
+++ b/voltha/templates/ofagent-profile-svc.yaml
@@ -16,7 +16,7 @@
 apiVersion: v1
 kind: Service
 metadata:
-  name: voltha-of-agent-profiler
+  name: "{{ template "fullname" .  }}-of-agent-profiler"
   namespace: {{ .Release.Namespace }}
 spec:
   clusterIP: None