url = ../aai/oom
branch = .
ignore = dirty
+[submodule "kubernetes/robot"]
+ path = kubernetes/robot
+ url = ../testsuite/oom
+ branch = .
+ ignore = dirty
+
\ No newline at end of file
company: 'Huawei'
id: 'xuyang11'
timezone: 'America/New_York'
+ - name: 'Sylvain Desbureaux'
+ email: 'sylvain.desbureaux@orange.com'
+ company: 'Orange'
+ id: 'sdesbure'
+ timezone: 'Paris/France'
tsc:
approval: 'https://lists.onap.org/pipermail/onap-tsc'
changes:
--- /dev/null
+global:
+ repository: 10.12.5.2:5000
+ pullPolicy: IfNotPresent
+#################################################################
+# This override file configures openstack parameters for ONAP
+#################################################################
+robot:
+ enabled: true
+ flavor: large
+ appcUsername: "appc@appc.onap.org"
+ appcPassword: "demo123456!"
+ # KEYSTONE Version 3 Required for Rocky and beyond
+ openStackKeystoneAPIVersion: "v3"
+ # OS_AUTH_URL without the /v3 from the openstack .RC file
+ openStackKeyStoneUrl: "http://10.12.25.2:5000"
+ # OS_PROJECT_ID from the openstack .RC file
+ openStackTenantId: "09d8566ea45e43aa974cf447ed591d77"
+ # OS_USERNAME from the openstack .RC file
+ openStackUserName: "OS_USERNAME_HERE"
+ # OS_PROJECT_DOMAIN_ID from the openstack .RC file
+ # in some environments it is a string but in other environmens it may be a numeric
+ openStackDomainId: "default"
+ # OS_USER_DOMAIN_NAME from the openstack .RC file
+ openStackUserDomain: "Default"
+ openStackProjectName: "OPENSTACK_PROJECT_NAME_HERE"
+ ubuntu14Image: "ubuntu-14-04-cloud-amd64"
+ ubuntu16Image: "ubuntu-16-04-cloud-amd64"
+ openStackPublicNetId: "971040b2-7059-49dc-b220-4fab50cb2ad4"
+ openStackPrivateNetId: "83c84b68-80be-4990-8d7f-0220e3c6e5c8"
+ openStackPrivateSubnetId: "e571c1d1-8ac0-4744-9b40-c3218d0a53a0"
+ openStackPrivateNetCidr: "10.0.0.0/16"
+ openStackOamNetworkCidrPrefix: "10.0"
+ openStackSecurityGroup: "bbe028dc-b64f-4f11-a10f-5c6d8d26dc89"
+ dcaeCollectorIp: "10.12.6.109"
+ vnfPubKey: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKXDgoo3+WOqcUG8/5uUbk81+yczgwC4Y8ywTmuQqbNxlY1oQ0YxdMUqUnhitSXs5S/yRuAVOYHwGg2mCs20oAINrP+mxBI544AMIb9itPjCtgqtE2EWo6MmnFGbHB4Sx3XioE7F4VPsh7japsIwzOjbrQe+Mua1TGQ5d4nfEOQaaglXLLPFfuc7WbhbJbK6Q7rHqZfRcOwAMXgDoBqlyqKeiKwnumddo2RyNT8ljYmvB6buz7KnMinzo7qB0uktVT05FH9Rg0CTWH5norlG5qXgP2aukL0gk1ph8iAt7uYLf1ktp+LJI2gaF6L0/qli9EmVCSLr1uJ38Q8CBflhkh"
+ demoArtifactsVersion: "1.4.0"
+ demoArtifactsRepoUrl: "https://nexus.onap.org/content/repositories/releases"
+ scriptVersion: "1.4.0"
+ rancherIpAddress: "10.12.6.160"
+ config:
+ # use the python utility to encrypt the OS_PASSWORD for the OS_USERNAME
+ openStackEncryptedPasswordHere: "XXXXXXXXXXXXXXXXXXXXXXXX_OPENSTACK_PYTHON_PASSWORD_HERE_XXXXXXXXXXXXXXXX"
+ openStackSoEncryptedPassword: "YYYYYYYYYYYYYYYYYYYYYYYY_OPENSTACK_JAVA_PASSWORD_HERE_YYYYYYYYYYYYYYYY"
+so:
+ enabled: true
+ so-catalog-db-adapter:
+ config:
+ openStackUserName: "OS_USERNAME_HERE"
+ # OS_AUTH_URL (keep the /v3) from the openstack .RC file
+ openStackKeyStoneUrl: "http://10.12.25.2:5000/v3"
+ # use the SO Java utility to encrypt the OS_PASSWORD for the OS_USERNAME
+ openStackEncryptedPasswordHere: "YYYYYYYYYYYYYYYYYYYYYYYY_OPENSTACK_JAVA_PASSWORD_HERE_YYYYYYYYYYYYYYYY"
+appc:
+ enabled: true
+ replicaCount: 3
+ config:
+ enableClustering: true
+ openStackType: "OpenStackProvider"
+ openStackName: "OpenStack"
+ openStackKeyStoneUrl: "http://10.12.25.2:5000/v3"
+ openStackServiceTenantName: "OPENSTACK_PROJECT_NAME_HERE"
+ openStackDomain: "OPEN_STACK_DOMAIN_NAME_HERE"
+ openStackUserName: "OS_USER_NAME_HERE"
+ openStackEncryptedPassword: "OPENSTACK_CLEAR_TEXT_PASSWORD_HERE"
OpenStack tenant information.
.. note::
- Standard and example override files (e.g. onap-all.yaml, openstack.yaml) can be found in
+ Standard and example override files (e.g. onap-all.yaml, openstack.yaml) can be found in
the oom/kubernetes/onap/resources/overrides/ directory.
ROBOT uses in Dublin.
.. note::
- To generate SO openStackEncryptedPasswordHere :
+ To generate SO openStackEncryptedPasswordHere and openStackSoEncryptedPassword:
+
+ SO_ENCRYPTION_KEY=`cat ~/oom/kubernetes/so/resources/config/mso/encryption.key`
- SO_ENCRYPTION_KEY=`cat ~/oom/kubenertes/so/resources/config/mso/encrypt.key`
OS_PASSWORD=XXXX_OS_CLEARTESTPASSWORD_XXXX
git clone http://gerrit.onap.org/r/integration
cd integration/deployment/heat/onap-rke/scripts
+
+
javac Crypto.java
+
+ [ if javac is not installed 'apt-get update ; apt-get install default-jdk' ]
+
java Crypto "$OS_PASSWORD" "$SO_ENCRYPTION_KEY"
d. Update the OpenStack parameters:
+There are assumptions in the demonstration VNF heat templates about the networking
+available in the environment. To get the most value out of these templates and the
+automation that can help confirm the setup is correct, please observe the following
+constraints.
+
+openStackPublicNetId:
+
+This network should allow heat templates to add interfaces.
+This need not be an external network, floating IPs can be assigned to the ports on
+the VMs that are created by the heat template but its important that neutron allow
+ports to be created on them.
+
+openStackPrivateNetCidr: "10.0.0.0/16"
+
+This ip address block is used to assign OA&M addresses on VNFs to allow ONAP connectivity.
+The demonstration heat templates assume that 10.0 prefix can be used by the VNFs and the
+demonstration ip addressing plan embodied in the preload template prevent conflicts when
+instantiating the various VNFs. If you need to change this, you will need to modify the preload
+data in the robot helm chart like integration_preload_parametes.py and the demo/heat/preload_data
+in the robot container. The size of the CIDR should be sufficient for ONAP and the VMs you expect
+to create.
+
+openStackOamNetworkCidrPrefix: "10.0"
+
+This ip prefix mush match the openStackPrivateNetCidr and is a helper variable to some of the
+robot scripts for demonstration. A production deployment need not worry about this
+setting but for the demonstration VNFs the ip asssignment strategy assumes 10.0 ip prefix.
+
+
+Example Keystone v2.0
.. literalinclude:: example-integration-override.yaml
:language: yaml
+Example Keystone v3 (required for Rocky and later releases)
+.. literalinclude:: example-integration-override-v3.yaml
+ :language: yaml
+
+
+
**Step 4.** To setup a local Helm server to server up the ONAP charts::
> helm serve &
The --timeout 900 is currently required in Dublin to address long running initialization tasks
for DMaaP and SO. Without this timeout value both applications may fail to deploy.
- a. To deploy all ONAP applications use this command::
+To deploy all ONAP applications use this command::
> cd oom/kubernetes
- > helm deploy dev local/onap --namespace onap -f onap/resources/overrides/onap-all.yaml -f onap/resources/overrides/openstack.yaml --timeout 900
+ > helm deploy dev local/onap --namespace onap -f onap/resources/overrides/onap-all.yaml -f onap/resources/overrides/environment.yaml -f onap/resources/overrides/openstack.yaml --timeout 900
- b. If you are using a custom override (e.g. integration-override.yaml) use this command::
+All override files may be customized (or replaced by other overrides) as per needs.
- > helm deploy dev local/onap -f /root/integration-override.yaml --namespace onap --timeout 900
+onap-all.yaml
+ Enables the modules in the ONAP deployment. As ONAP is very modular, it is possible to customize ONAP and disable some components through this configuration file.
- c. If you have a slower cloud environment you may want to use the public-cloud.yaml
- which has longer delay intervals on database updates.::
+environment.yaml
- > helm deploy dev local/onap -f /root/oom/kubernetes/onap/resources/environments/public-cloud.yaml -f /root/integration-override.yaml --namespace onap --timeout 900
+ Includes configuration values specific to the deployment environment.
+ Example: adapt readiness and liveness timers to the level of performance of your infrastructure
-**Step 9.** Commands to interact with the OOM installation
+openstack.yaml
-Use the following to monitor your deployment and determine when ONAP is
-ready for use::
+ Includes all the Openstack related information for the default target tenant you want to use to deploy VNFs from ONAP and/or additional parameters for the embedded tests.
+
+**Step 9.** Verify ONAP installation
+
+Use the following to monitor your deployment and determine when ONAP is ready for use::
> kubectl get pods -n onap -o=wide
-Undeploying onap can be done using the following command::
+.. note::
+ While all pods may be in a Running state, it is not a guarantee that all components are running fine.
+
+ Launch the healthcheck tests using Robot to verify that the components are healthy.
+
+ > ~/oom/kubernetes/robot/ete-k8s.sh onap health
- > helm undeploy dev --purge
+**Step 10.** Undeploy ONAP
+> helm undeploy dev --purge
More examples of using the deploy and undeploy plugins can be found here: https://wiki.onap.org/display/DW/OOM+Helm+%28un%29Deploy+plugins
The result at the end of this tutorial will be:
-*1.* Creation of a Key Pair to use with Open Stack and RKE
+#. Creation of a Key Pair to use with Open Stack and RKE
-*2.* Creation of OpenStack VMs to host Kubernetes Control Plane
+#. Creation of OpenStack VMs to host Kubernetes Control Plane
-*3.* Creation of OpenStack VMs to host Kubernetes Workers
+#. Creation of OpenStack VMs to host Kubernetes Workers
-*4.* Installation and configuration of RKE to setup an HA Kubernetes
+#. Installation and configuration of RKE to setup an HA Kubernetes
-*5.* Installation and configuration of kubectl
+#. Installation and configuration of kubectl
-*5.* Installation and configuration of helm
+#. Installation and configuration of helm
-*7.* Creation of an NFS Server to be used by ONAP as shared persistance
+#. Creation of an NFS Server to be used by ONAP as shared persistance
There are many ways one can execute the above steps. Including automation through the use of HEAT to setup the OpenStack VMs.
To better illustrate the steps involved, we have captured the manual creation of such an environment using the ONAP Wind River Open Lab.
For the purpose of this guide, we will assume a new local key called "onap-key"
has been downloaded and is copied into **~/.ssh/**, from which it can be referenced.
-Example:
+Example::
+
> mv onap-key ~/.ssh
> chmod 600 ~/.ssh/onap-key
Run RKE
-------
-From within the same directory as the cluster.yml file, simply execute:
+From within the same directory as the cluster.yml file, simply execute::
> rke up
-The output will look something like:
-
-.. code-block::
+The output will look something like::
INFO[0000] Initiating Kubernetes cluster
INFO[0000] [certificates] Generating admin certificates and kubeconfig
Validate deployment
-------------------
+
+::
+
> cp kube_config_cluster.yml ~/.kube/config.onap
> export KUBECONFIG=~/.kube/config.onap
> kubectl get nodes -o=wide
-.. code-block::
+::
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
onap-control-1 Ready controlplane,etcd 3h53m v1.13.5 10.0.0.8 <none> Ubuntu 18.04 LTS 4.15.0-22-generic docker://18.9.5
Install Helm
============
-Example Helm client install on Linux:
+Example Helm client install on Linux::
+
> wget http://storage.googleapis.com/kubernetes-helm/helm-v2.12.3-linux-amd64.tar.gz
> tar -zxvf helm-v2.12.3-linux-amd64.tar.gz
Initialize Kubernetes Cluster for use by Helm
---------------------------------------------
+
+::
+
> kubectl -n kube-system create serviceaccount tiller
> kubectl create clusterrolebinding tiller --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
ONAP Operations Manager Release Notes
=====================================
+Version 5.0.0 (El Alto Early Drop)
+----------------------------------
+
+:Release Date: 2019-08-19
+
+Summary
+-------
+
+**Software Requirements**
+
+* Upgraded to Kubernetes 1.15.x and Helm 1.14.x
+
+
Version 4.0.0 (Dublin Release)
------------------------------
* In default deployment OOM (consul-server-ui) exposes HTTP port 30270 outside of cluster. [`OJSI-134 <https://jira.onap.org/browse/OJSI-134>`_]
* Hard coded password used for all oom deployments [`OJSI-188 <https://jira.onap.org/browse/OJSI-188>`_]
+* CVE-2019-12127 - OOM exposes unprotected API/UI on port 30270 [`OJSI-202 <https://jira.onap.org/browse/OJSI-202>`_]
*Known Vulnerabilities in Used Modules*
apiVersion: v1
description: ONAP Application Authorization Framework
name: aaf
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP AAF cassandra
name: aaf-cass
-version: 4.0.0
+version: 5.0.0
spec:
containers:
- name: {{ include "common.name" . }}
- image: {{ .Values.global.repository }}/onap/aaf/aaf_cass:{{.Values.global.aaf.imageVersion}}
+ image: {{ .Values.global.repository }}/{{.Values.global.aaf.cass.image}}
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
# installing with cmd "onap" will not only initialize the DB, but add ONAP bootstrap data as well
command: ["/bin/bash","/opt/app/aaf/cass_init/cmd.sh","onap"]
apiVersion: v1
description: ONAP AAF Certificate Manager
name: aaf-cm
-version: 4.0.0
+version: 5.0.0
spec:
initContainers:
- name: {{ include "common.name" . }}-config-container
- image: {{ .Values.global.repository }}/onap/aaf/aaf_config:{{.Values.global.aaf.imageVersion}}
+ image: {{ .Values.global.repository }}/{{.Values.global.aaf.config.image}}
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
command: ["bash","-c","cd /opt/app/aaf_config && bin/pod_wait.sh config aaf-service remove && bin/agent.sh"]
volumeMounts:
value: "{{ .Values.global.aaf.aaf_release }}"
- name: aaf_locator_container_ns
value: "{{ .Release.Namespace }}"
- - name: aaf_locator_container
- value: "oom"
- name: aaf_locator_public_fqdn
value: "{{.Values.global.aaf.public_fqdn}}"
- name: aaf_locator_name
value: "{{.Values.global.aaf.aaf_locator_name}}"
- name: aaf_locator_name_oom
value: "{{.Values.global.aaf.aaf_locator_name_oom}}"
+ - name: cm_always_ignore_ips
+ value: "true"
- name: CASSANDRA_CLUSTER
value: "{{.Values.global.aaf.cass.fqdn}}.{{ .Release.Namespace }}"
# - name: CASSANDRA_USER
containers:
- name: {{ include "common.name" . }}
command: ["/bin/bash","-c","cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-cm aaf-locate && exec bin/cm"]
- image: {{ .Values.global.repository }}/onap/aaf/aaf_cm:{{.Values.global.aaf.imageVersion}}
+ image: {{ .Values.global.repository }}/{{.Values.global.aaf.image}}
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
volumeMounts:
- mountPath: "/opt/app/osaaf"
apiVersion: v1
description: ONAP AAF File Server
name: aaf-fs
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
spec:
initContainers:
- name: {{ include "common.name" . }}-config-container
- image: {{ .Values.global.repository }}/onap/aaf/aaf_config:{{.Values.global.aaf.imageVersion}}
+ image: {{ .Values.global.repository }}/{{.Values.global.aaf.config.image}}
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
command: ["bash","-c","cd /opt/app/aaf_config && bin/pod_wait.sh config aaf-service remove && bin/agent.sh"]
volumeMounts:
value: "{{ .Values.global.aaf.aaf_release }}"
- name: aaf_locator_container_ns
value: "{{ .Release.Namespace }}"
- - name: aaf_locator_container
- value: "oom"
- name: aaf_locator_public_fqdn
value: "{{.Values.global.aaf.public_fqdn}}"
- name: aaf_locator_name
value: "{{.Values.global.aaf.aaf_locator_name}}"
- name: aaf_locator_name_oom
value: "{{.Values.global.aaf.aaf_locator_name_oom}}"
+ - name: cm_always_ignore_ips
+ value: "true"
- name: CASSANDRA_CLUSTER
value: "{{.Values.global.aaf.cass.fqdn}}.{{ .Release.Namespace }}"
# - name: CASSANDRA_USER
# - name: CASSANDRA_PASSWORD
# value: ""
# - name: CASSANDRA_PORT
+# value: ""
containers:
- name: {{ include "common.name" . }}
command: ["/bin/bash","-c","cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-fs aaf-locate && exec bin/fs"]
- image: {{ .Values.global.repository }}/onap/aaf/aaf_fs:{{.Values.global.aaf.imageVersion}}
+ image: {{ .Values.global.repository }}/{{.Values.global.aaf.image}}
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
volumeMounts:
- mountPath: "/opt/app/osaaf"
apiVersion: v1
description: ONAP AAF GUI
name: aaf-gui
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
spec:
initContainers:
- name: {{ include "common.name" . }}-config-container
- image: {{ .Values.global.repository }}/onap/aaf/aaf_config:{{.Values.global.aaf.imageVersion}}
+ image: {{ .Values.global.repository }}/{{.Values.global.aaf.config.image}}
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
command: ["bash","-c","cd /opt/app/aaf_config && bin/pod_wait.sh config aaf-service remove && bin/agent.sh"]
volumeMounts:
value: "{{ .Values.global.aaf.aaf_release }}"
- name: aaf_locator_container_ns
value: "{{ .Release.Namespace }}"
- - name: aaf_locator_container
- value: "oom"
- name: aaf_locator_public_fqdn
value: "{{.Values.global.aaf.public_fqdn}}"
- name: aaf_locator_name
value: "{{.Values.global.aaf.aaf_locator_name}}"
- name: aaf_locator_name_oom
value: "{{.Values.global.aaf.aaf_locator_name_oom}}"
+ - name: cm_always_ignore_ips
+ value: "true"
- name: CASSANDRA_CLUSTER
value: "{{.Values.global.aaf.cass.fqdn}}.{{ .Release.Namespace }}"
# - name: CASSANDRA_USER
# - name: CASSANDRA_PASSWORD
# value: ""
# - name: CASSANDRA_PORT
+# value: ""
containers:
- name: {{ include "common.name" . }}
command: ["/bin/bash","-c","cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-gui aaf-locate && exec bin/gui"]
- image: {{ .Values.global.repository }}/onap/aaf/aaf_gui:{{.Values.global.aaf.imageVersion}}
+ image: {{ .Values.global.repository }}/{{.Values.global.aaf.image}}
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
volumeMounts:
- mountPath: "/opt/app/osaaf"
apiVersion: v1
description: ONAP AAF Hello
name: aaf-hello
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
# See the License for the specific language governing permissions and
# limitations under the License.
-1. Get the application URL by running these commands:
-{{- if .Values.ingress.enabled }}
-{{- range .Values.ingress.hosts }}
- http://{{ . }}
-{{- end }}
-{{- else if contains "NodePort" .Values.service.type }}
- export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.name" . }})
- export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}")
- echo http://$NODE_IP:$NODE_PORT
-{{- else if contains "LoadBalancer" .Values.service.type }}
- NOTE: It may take a few minutes for the LoadBalancer IP to be available.
- You can watch the status of by running 'kubectl get svc -w {{ include "common.name" . }}'
- export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
- echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
-{{- else if contains "ClusterIP" .Values.service.type }}
- export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ include "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
- echo "Visit http://127.0.0.1:8080 to use your application"
- kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
-{{- end }}
--- /dev/null
+{{- if and .Values.global.persistence.enabled (not .Values.persistence.existingClaim) -}}
+#########
+## ============LICENSE_START====================================================
+## org.onap.aaf
+## ===========================================================================
+## Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
+## ===========================================================================
+## 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.
+## ============LICENSE_END====================================================
+##
+
+kind: PersistentVolume
+apiVersion: v1
+metadata:
+ name: {{ .Release.Name }}-aaf-hello-pv
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ .Chart.Name }}-hello
+ chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
+ release: "{{ .Release.Name }}"
+ heritage: "{{ .Release.Service }}"
+ name: {{ include "common.fullname" . }}
+spec:
+ capacity:
+ storage: {{ .Values.persistence.config.size}}
+ accessModes:
+ - {{ .Values.persistence.config.accessMode }}
+ persistentVolumeReclaimPolicy: {{ .Values.persistence.config.volumeReclaimPolicy }}
+ hostPath:
+ path: {{ .Values.persistence.config.mountPath }}
+{{- if .Values.persistence.config.storageClass }}
+{{- if (eq "-" .Values.persistence.config.storageClass) }}
+ storageClassName: ""
+{{- else }}
+ storageClassName: "{{ .Values.persistence.config.storageClass }}"
+{{- end }}
+{{- end }}
+{{- end -}}
--- /dev/null
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+#########
+## ============LICENSE_START====================================================
+## org.onap.aaf
+## ===========================================================================
+## Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
+## ===========================================================================
+## 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.
+## ============LICENSE_END====================================================
+##
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+ name: {{ .Release.Name }}-aaf-hello-pvc
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+ release: "{{ .Release.Name }}"
+ heritage: "{{ .Release.Service }}"
+{{- if .Values.persistence.annotations }}
+ annotations:
+{{ toYaml .Values.persistence.annotations | indent 4 }}
+{{- end }}
+spec:
+ selector:
+ matchLabels:
+ app: {{ include "common.name" . }}-hello
+ accessModes:
+ - {{ .Values.persistence.config.accessMode }}
+ resources:
+ requests:
+ storage: {{ .Values.persistence.config.size }}
+{{- if .Values.persistence.config.storageClass }}
+{{- if (eq "-" .Values.persistence.config.storageClass) }}
+ storageClassName: ""
+{{- else }}
+ storageClassName: "{{ .Values.persistence.config.storageClass }}"
+{{- end }}
+{{- end }}
+{{- end -}}
+
# 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: extensions/v1beta1
kind: Deployment
metadata:
app: {{ include "common.name" . }}
release: {{ .Release.Name }}
spec:
+ volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
+ - name: aaf-hello-vol
+ persistentVolumeClaim:
+ claimName: {{ .Release.Name }}-aaf-hello-pvc
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
initContainers:
- - name: {{ include "common.name" . }}-config-container
- image: {{ .Values.global.repository }}/onap/aaf/aaf_agent:{{.Values.global.aaf.imageVersion}}
+ - name: {{ include "common.name" . }}-config
+ image: {{ .Values.global.repository }}/{{.Values.aaf_init.image}}
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
volumeMounts:
- - mountPath: "/opt/app/osaaf/local"
+ - mountPath: "/opt/app/osaaf"
name: aaf-hello-vol
- command: ["bash","-c","/opt/app/aaf_config/bin/pod_wait.sh config nc aaf-cm.{{.Release.Namespace}} 8150 remove && cd /opt/app/osaaf/local && /opt/app/aaf_config/bin/agent.sh"]
+# NOTE: Before this, need Liveness Attached to aaf-certman
+ command: ["bash","-c","exec /opt/app/aaf_config/bin/agent.sh"]
env:
- - name: aaf_env
- value: "{{ .Values.global.aaf.aaf_env }}"
- - name: cadi_latitude
- value: "{{ .Values.global.aaf.cadi_latitude }}"
- - name: cadi_longitude
- value: "{{ .Values.global.aaf.cadi_longitude }}"
+ - name: APP_FQI
+ value: "{{ .Values.aaf_init.fqi }}"
- name: aaf_locate_url
- value: "https://aaf-locate.{{ .Release.Namespace}}:{{.Values.global.aaf.locate.internal_port}}"
- - name: aaf_locator_container
- value: "oom"
- - name: aaf_release
- value: "{{ .Values.global.aaf.aaf_release }}"
- - name: aaf_locator_container_ns
- value: "{{ .Release.Namespace }}"
+ value: "https://aaf-locate.{{ .Release.Namespace}}:8095"
- name: aaf_locator_container
value: "oom"
- name: aaf_locator_container_ns
value: "{{ .Release.Namespace }}"
+ - name: aaf_locator_fqdn
+ value: "{{ .Values.aaf_init.fqdn }}"
- name: aaf_locator_app_ns
- value: "org.osaaf.aaf"
- - name: "APP_FQDN"
- value: "{{ .Values.global.aaf.hello.fqdn }}"
- - name: "APP_FQI"
- value: "aaf@aaf.osaaf.org"
- - name: "DEPLOY_FQI"
+ value: "{{ .Values.aaf_init.app_ns }}"
+ - name: DEPLOY_FQI
value: "deployer@people.osaaf.org"
- - name: "DEPLOY_PASSWORD"
+# Note: We want to put this in Secrets or at LEAST ConfigMaps
+ - name: DEPLOY_PASSWORD
value: "demo123456!"
-# Hello specific. Clients don't necessarily need this
+# Note: want to put this on Nodes, evenutally
+ - name: cadi_longitude
+ value: "{{ .Values.aaf_init.cadi_longitude }}"
+ - name: cadi_latitude
+ value: "{{ .Values.aaf_init.cadi_latitude }}"
+# Hello specific. Clients don't don't need this, unless Registering with AAF Locator
- name: aaf_locator_public_fqdn
value: "{{.Values.global.aaf.public_fqdn}}"
- - name: aaf_locator_name
- value: "{{.Values.global.aaf.aaf_locator_name}}"
- - name: aaf_locator_name_oom
- value: "{{.Values.global.aaf.aaf_locator_name_oom}}"
- - name: aaf_locator_fqdn_oom
- value: "%N.%CNS"
containers:
- name: {{ include "common.name" . }}
- command: ["/bin/bash","-c","cd /opt/app/aaf && exec bin/hello"]
- image: {{ .Values.global.repository }}/onap/aaf/aaf_hello:{{.Values.global.aaf.imageVersion}}
+ command: ["bash","-c","cd /opt/app/aaf && if [ ! -d /opt/app/osaaf/etc ]; then cp -Rf etc logs /opt/app/osaaf; fi && exec bin/hello"]
+ image: {{ .Values.global.repository }}/{{.Values.service.image }}
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
volumeMounts:
- - mountPath: "/opt/app/osaaf/local"
+ - mountPath: "/opt/app/osaaf"
name: aaf-hello-vol
- - mountPath: "/opt/app/aaf/status"
- name: aaf-status-vol
- mountPath: /etc/localtime
name: localtime
readOnly: true
{{- if eq .Values.liveness.enabled true }}
livenessProbe:
tcpSocket:
- port: {{ .Values.service.internalPort }}
+ port: {{ .Values.service.port }}
initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
periodSeconds: {{ .Values.liveness.periodSeconds }}
{{ end -}}
readinessProbe:
tcpSocket:
- port: {{ .Values.service.internalPort }}
+ port: {{ .Values.service.port }}
initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
periodSeconds: {{ .Values.readiness.periodSeconds }}
resources:
affinity:
{{ toYaml .Values.affinity | indent 10 }}
{{- end }}
- volumes:
- - name: localtime
- hostPath:
- path: /etc/localtime
- - name: aaf-status-vol
- persistentVolumeClaim:
- claimName: {{ .Release.Name }}-aaf-status-pvc
- - name: aaf-hello-vol
- emptyDir: {}
- imagePullSecrets:
- - name: "{{ include "common.namespace" . }}-docker-registry-key"
heritage: {{ .Release.Service }}
spec:
ports:
- - port: {{ .Values.global.aaf.hello.internal_port }}
- nodePort: {{ .Values.global.aaf.hello.public_port }}
+ - port: {{ .Values.service.port }}
+ nodePort: {{ .Values.service.public_port }}
name: aaf-hello
selector:
app: {{ include "common.name" . }}
# Application configuration defaults.
#################################################################
# application image
+aaf_init:
+ # You might want this in your own app. For AAF, we store in global
+ # replicas: 1
+ fqdn: "aaf-hello"
+ image: onap/aaf/aaf_agent:2.1.15
+ app_ns: "org.osaaf.aaf"
+ fqi: "aaf@aaf.osaaf.org"
+ fqdn: "aaf-hello"
+ public_fqdn: "aaf.osaaf.org"
+ deploy_fqi: "deployer@people.osaaf.org"
+ cadi_latitude: "38.0"
+ cadi_longitude: "-72.0"
+service:
+ image: onap/aaf/aaf_hello:2.1.15
+ port: "8130"
+ public_port: "31119"
+
+persistence:
+ enabled: true
+ config:
+ #existingClaim:
+ # You will want "Reatan" in non-Hello Example.
+ volumeReclaimPolicy: Delete
+ accessMode: ReadWriteMany
+ size: 40M
+ storageClass: "manual"
+ mountPath: "/mnt/data/aaf/hello"
nodeSelector: {}
initialDelaySeconds: 5
periodSeconds: 10
-service:
- name: aaf-hello
- type: ClusterIP
- portName: aaf-hello
- #targetPort
- internalPort: 8130
- #port
- externalPort: 8130
-
ingress:
enabled: false
apiVersion: v1
description: ONAP AAF Locate
name: aaf-locate
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
spec:
initContainers:
- name: {{ include "common.name" . }}-config-container
- image: {{ .Values.global.repository }}/onap/aaf/aaf_config:{{.Values.global.aaf.imageVersion}}
+ image: {{ .Values.global.repository }}/{{.Values.global.aaf.config.image}}
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
command: ["bash","-c","cd /opt/app/aaf_config && bin/pod_wait.sh config aaf-service remove && bin/agent.sh"]
volumeMounts:
value: "{{ .Values.global.aaf.aaf_release }}"
- name: aaf_locator_container_ns
value: "{{ .Release.Namespace }}"
- - name: aaf_locator_container
- value: "oom"
- name: aaf_locator_public_fqdn
value: "{{.Values.global.aaf.public_fqdn}}"
- name: aaf_locator_name
value: "{{.Values.global.aaf.aaf_locator_name}}"
- name: aaf_locator_name_oom
value: "{{.Values.global.aaf.aaf_locator_name_oom}}"
+ - name: cm_always_ignore_ips
+ value: "true"
- name: CASSANDRA_CLUSTER
value: "{{.Values.global.aaf.cass.fqdn}}.{{ .Release.Namespace }}"
# - name: CASSANDRA_USER
# - name: CASSANDRA_PASSWORD
# value: ""
# - name: CASSANDRA_PORT
+# value: ""
containers:
- name: {{ include "common.name" . }}
command: ["/bin/bash","-c","cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-locate aaf-service && exec bin/locate"]
- image: {{ .Values.global.repository }}/onap/aaf/aaf_locate:{{.Values.global.aaf.imageVersion}}
+ image: {{ .Values.global.repository }}/{{.Values.global.aaf.image}}
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
volumeMounts:
- mountPath: "/opt/app/osaaf"
apiVersion: v1
description: ONAP AAF OAuth
name: aaf-oauth
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
spec:
initContainers:
- name: {{ include "common.name" . }}-config-container
- image: {{ .Values.global.repository }}/onap/aaf/aaf_config:{{.Values.global.aaf.imageVersion}}
+ image: {{ .Values.global.repository }}/{{.Values.global.aaf.config.image}}
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
command: ["bash","-c","cd /opt/app/aaf_config && bin/pod_wait.sh config aaf-service remove && bin/agent.sh"]
volumeMounts:
value: "{{ .Values.global.aaf.aaf_release }}"
- name: aaf_locator_container_ns
value: "{{ .Release.Namespace }}"
- - name: aaf_locator_container
- value: "oom"
- name: aaf_locator_public_fqdn
value: "{{.Values.global.aaf.public_fqdn}}"
- name: aaf_locator_name
value: "{{.Values.global.aaf.aaf_locator_name}}"
- name: aaf_locator_name_oom
value: "{{.Values.global.aaf.aaf_locator_name_oom}}"
+ - name: cm_always_ignore_ips
+ value: "true"
- name: CASSANDRA_CLUSTER
value: "{{.Values.global.aaf.cass.fqdn}}.{{ .Release.Namespace }}"
# - name: CASSANDRA_USER
# - name: CASSANDRA_PASSWORD
# value: ""
# - name: CASSANDRA_PORT
+# value: ""
containers:
- name: {{ include "common.name" . }}
command: ["/bin/bash","-c","cd /opt/app/aaf && /bin/bash bin/pod_wait.sh aaf-oauth aaf-service && exec bin/oauth"]
- image: {{ .Values.global.repository }}/onap/aaf/aaf_oauth:{{.Values.global.aaf.imageVersion}}
+ image: {{ .Values.global.repository }}/{{.Values.global.aaf.image}}
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
volumeMounts:
- mountPath: "/opt/app/osaaf"
apiVersion: v1
description: ONAP AAF Service
name: aaf-service
-version: 4.0.0
+version: 5.0.0
spec:
initContainers:
- name: {{ include "common.name" . }}-config-container
- image: {{ .Values.global.repository }}/onap/aaf/aaf_config:{{.Values.global.aaf.imageVersion}}
+ image: {{ .Values.global.repository }}/{{.Values.global.aaf.config.image}}
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
command: ["bash","-c","cd /opt/app/aaf_config && bin/pod_wait.sh config nc aaf-cass.{{ .Release.Namespace }} 9042 sleep 15 remove && bin/agent.sh"]
volumeMounts:
value: "{{.Values.global.aaf.aaf_locator_name}}"
- name: aaf_locator_name_oom
value: "{{.Values.global.aaf.aaf_locator_name_oom}}"
+ - name: cm_always_ignore_ips
+ value: "true"
- name: CASSANDRA_CLUSTER
value: "{{.Values.global.aaf.cass.fqdn}}.{{ .Release.Namespace }}"
# - name: CASSANDRA_USER
# value: ""
containers:
- name: {{ include "common.name" . }}
- command: ["/bin/bash","-c","cd /opt/app/aaf && bin/pod_wait.sh aaf-service aaf-cass && exec bin/service"]
- image: {{ .Values.global.repository }}/onap/aaf/aaf_service:{{.Values.global.aaf.imageVersion}}
+ command: ["/bin/bash","-c","cd /opt/app/aaf && bin/pod_wait.sh aaf-service aaf-cass && exec bin/service"]
+ image: {{.Values.global.repository}}/{{.Values.global.aaf.image}}
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ env:
+ - name: cm_always_ignore_ips
+ value: "true"
lifecycle:
preStop:
exec:
apiVersion: v1
description: ONAP Secret Management Service
name: aaf-sms
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP Secret Management Service Quorum Client
name: aaf-sms-quorumclient
-version: 4.0.0
+version: 5.0.0
description: Chart to launch Vault as SMS backend
name: aaf-sms-vault
appVersion: 0.9.5
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP Hardware Security Components
name: aaf-sshsm
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP Trusted Platform Module Resource Manager
name: aaf-sshsm-abrmd
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP Trusted Platform Module Distribution Center
name: aaf-sshsm-distcenter
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP Trusted Platform Module Test CA Service
name: aaf-sshsm-testca
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
\ No newline at end of file
ubuntuInitImage: oomk8s/ubuntu-init:2.0.0
persistence:
enabled: true
- pullPolicy: Always
+ # Standard OOM
+ pullPolicy: "Always"
repository: "nexus3.onap.org:10001"
- # pullPolicy: IfNotPresent
- # repository: "nexus3.onap.org:10003"
+
+ # Use Local
+ #pullPolicy: IfNotPresent
+ #repository: "nexus3.onap.org:10003"
aaf:
- imageVersion: 2.1.13
- #imageVersion: latest
readiness: false
+ image: onap/aaf/aaf_core:2.1.15
aaf_env: "DEV"
public_fqdn: "aaf.osaaf.org"
- aaf_release: "Dublin"
+ aaf_release: "El Alto"
# DUBLIN ONLY - for M4 compatibility with Casablanca
- aaf_locator_name: "public.%NS.%N"
- aaf_locator_name_oom: "%NS.%N"
+ # aaf_locator_name: "public.%NS.%N"
+ # aaf_locator_name_oom: "%NS.%N"
# EL ALTO and Beyond
- # aaf_locator_name: "%NS.%N"
- # aaf_locator_name_oom: "%CNS.%NS.%N"
+ aaf_locator_name: "%NS.%N"
+ aaf_locator_name_oom: "%CNS.%NS.%N"
cadi_latitude: "38.0"
cadi_longitude: "-72.0"
cadi_x509_issuers: "CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_7, OU=OSAAF, O=ONAP, C=US"
+ config:
+ image: onap/aaf/aaf_config:2.1.15
cass:
replicas: 1
+ image: onap/aaf/aaf_cass:2.1.15
fqdn: "aaf-cass"
cluster_name: "osaaf"
heap_new_size: "512M"
public_port: 31115
hello:
replicas: 0
- fqdn: "aaf-hello"
- internal_port: 8130
- public_port: 31116
#################################################################
# Application configuration defaults.
-Subproject commit 6509a172751b3c85995100e3d3a205abe73b116c
+Subproject commit 55cb73cadc59537643c0fe5cb7ededadc9ff2b48
apiVersion: v1
description: Application Controller
name: appc
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP APPC Ansible Server
name: appc-ansible-server
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
kind: PersistentVolume
apiVersion: v1
metadata:
- name: {{ include "common.fullname" $global }}-data{{$i}}
+ name: {{ include "common.fullname" $global }}-playbook{{$i}}
namespace: {{ include "common.namespace" $global }}
labels:
app: {{ include "common.fullname" $global }}
storage: {{ $global.Values.persistence.size}}
accessModes:
- {{ $global.Values.persistence.accessMode }}
- storageClassName: "{{ include "common.fullname" $global }}-data"
+ storageClassName: "{{ include "common.fullname" $global }}-playbook"
persistentVolumeReclaimPolicy: {{ $global.Values.persistence.volumeReclaimPolicy }}
hostPath:
path: {{ $global.Values.global.persistence.mountPath | default $global.Values.persistence.mountPath }}/{{ $global.Release.Name }}/{{ $global.Values.persistence.mountSubPath }}{{$i}}
app: {{ include "common.name" . }}
release: {{ .Release.Name }}
spec:
+ initContainers:
+ - name: {{ include "common.name" . }}-chown
+ image: "busybox"
+ command: ["sh", "-c", "chown -R {{ .Values.config.ansibleUid }}:{{ .Values.config.ansibleGid}} {{ .Values.persistence.playbookPath }}"]
+ volumeMounts:
+ - mountPath: {{ .Values.persistence.playbookPath }}
+ name: {{ include "common.fullname" . }}-playbook
containers:
- name: {{ include "common.name" . }}
command: ["/bin/bash"]
name: config
subPath: RestServer_config
- mountPath: {{ .Values.persistence.playbookPath }}
- name: {{ include "common.fullname" . }}-data
+ name: {{ include "common.fullname" . }}-playbook
resources:
{{ include "common.resources" . | indent 12 }}
{{- if .Values.nodeSelector }}
name: {{ include "common.fullname" . }}
defaultMode: 0644
{{ if not .Values.persistence.enabled }}
- - name: {{ include "common.fullname" . }}-data
+ - name: {{ include "common.fullname" . }}-playbook
emptyDir: {}
{{ else }}
volumeClaimTemplates:
- metadata:
- name: {{ include "common.fullname" . }}-data
+ name: {{ include "common.fullname" . }}-playbook
labels:
name: {{ include "common.fullname" . }}
spec:
accessModes: [ {{ .Values.persistence.accessMode }} ]
- storageClassName: {{ include "common.fullname" . }}-data
+ storageClassName: {{ include "common.fullname" . }}-playbook
resources:
requests:
storage: {{ .Values.persistence.size }}
{{ end }}
- imagePullSecrets:
- - name: "{{ include "common.namespace" . }}-docker-registry-key"
# application configuration
config:
+ ansibleUid: 100
+ ansibleGid: 101
appcChartName: appc
mysqlServiceName: appc-dbhost
configDir: /opt/onap/ccsdk
size: 1Gi
mountPath: /dockerdata-nfs
mountSubPath: appc/ansible
- playbookPath: /var/local
+ playbookPath: /home/ansible
ingress:
enabled: false
apiVersion: v1
description: ONAP APPC Self Service Controller Design Tool
name: appc-cdt
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
- name: mariadb-galera
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
- name: dgbuilder
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
+++ /dev/null
-#!/bin/bash
-
-###
-# ============LICENSE_START=======================================================
-# APPC
-# ================================================================================
-# Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
-# ================================================================================
-# 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.
-# ============LICENSE_END=========================================================
-# ECOMP is a trademark and service mark of AT&T Intellectual Property.
-###
-
-ODL_HOME=${ODL_HOME:-/opt/opendaylight/current}
-APPC_HOME=${APPC_HOME:-/opt/onap/appc}
-ENABLE_ODL_CLUSTER=${ENABLE_ODL_CLUSTER:-false}
-APPC_FEATURE_DIR=${APPC_FEATURE_DIR:-${APPC_HOME}/features}
-
-function featureInstall {
-COUNT=0
-while [ $COUNT -lt 10 ]; do
- ${ODL_HOME}/bin/client feature:install $1 2> /tmp/installErr
- cat /tmp/installErr
- if grep -q 'Failed to get the session' /tmp/installErr; then
- sleep 10
- else
- let COUNT=10
- fi
- let COUNT=COUNT+1
-done
-}
-
- APPC_FEATURES=" \
- appc-metric \
- appc-dmaap-adapter \
- appc-chef-adapter \
- appc-netconf-adapter \
- appc-rest-adapter \
- appc-lifecycle-management \
- appc-dispatcher \
- appc-provider \
- appc-dg-util \
- appc-dg-shared \
- appc-sdc-listener \
- appc-oam \
- appc-iaas-adapter \
- appc-ansible-adapter \
- appc-sequence-generator \
- appc-artifact-handler \
- appc-aai-client"
-
-APPC_FEATURES_1=" \
- onap-appc-core \
- onap-appc-metric \
- onap-appc-dmaap-adapter \
- onap-appc-chef-adapter \
- onap-appc-netconf-adapter \
- onap-appc-rest-adapter \
- onap-appc-lifecycle-management \
- onap-appc-license-manager"
-
- APPC_FEATURES_2=" \
- onap-appc-dg-util \
- onap-appc-dg-shared \
- onap-appc-sdc-listener \
- onap-appc-oam \
- onap-appc-iaas-adapter \
- onap-appc-ansible-adapter \
- onap-appc-sequence-generator \
- onap-appc-config-generator \
- onap-appc-config-data-services \
- onap-appc-config-adaptor \
- onap-appc-config-audit \
- onap-appc-config-encryption-tool \
- onap-appc-config-flow-controller \
- onap-appc-config-params \
- onap-appc-artifact-handler
- onap-appc-aai-client \
- onap-appc-event-listener \
- onap-appc-network-inventory-client \
- onap-appc-design-services \
- onap-appc-interfaces-service"
-
- APPC_FEATURES_UNZIP=" \
- appc-core \
- appc-metric \
- appc-dmaap-adapter \
- appc-event-listener \
- appc-chef-adapter \
- appc-netconf-adapter \
- appc-rest-adapter \
- appc-lifecycle-management \
- appc-dispatcher \
- appc-provider \
- appc-dg-util \
- appc-dg-shared \
- appc-sdc-listener \
- appc-oam \
- appc-iaas-adapter \
- appc-ansible-adapter \
- appc-sequence-generator \
- appc-config-generator \
- appc-config-data-services \
- appc-config-adaptor \
- appc-config-audit \
- appc-config-encryption-tool \
- appc-config-flow-controller \
- appc-config-params \
- appc-artifact-handler \
- appc-aai-client \
- appc-network-inventory-client \
- appc-design-services \
- appc-interfaces-service"
-
-
-if $ENABLE_ODL_CLUSTER
- then
- echo "Enabling core APP-C features with clustering enabled"
- featureInstall odl-netconf-connector-all
- featureInstall odl-restconf-noauth
- featureInstall odl-netconf-clustered-topology
- else
- echo "Enabling core APP-C features with clustering disabled"
- featureInstall odl-netconf-connector-all
- featureInstall odl-restconf-noauth
- featureInstall odl-netconf-topology
-fi
-
-sleep 7s
-echo "Installing APP-C Features"
-echo ""
-
-for feature in ${APPC_FEATURES_UNZIP}
-do
- if [ -f ${APPC_FEATURE_DIR}/${feature}/install-feature.sh ]
- then
- ${APPC_FEATURE_DIR}/${feature}/install-feature.sh
- else
- echo "No installer found for feature ${feature}"
- fi
-done
-
-#${ODL_HOME}/bin/client feature:install appc-metric appc-dmaap-adapter appc-event-listener appc-chef-adapter appc-netconf-adapter appc-rest-adapter appc-lifecycle-management appc-dispatcher appc-provider appc-dg-util appc-dg-shared appc-sdc-listener appc-oam appc-iaas-adapter appc-ansible-adapter appc-sequence-generator appc-config-generator appc-config-data-services appc-config-adaptor appc-config-audit appc-config-encryption-tool appc-config-flow-controller appc-config-params appc-artifact-handler appc-aai-client
-
-for feature in ${APPC_FEATURES_1}
-do
- echo "Installing ${feature}"
- start=$(date +%s)
- ${ODL_HOME}/bin/client "feature:install -r ${feature}"
- end=$(date +%s)
- echo "Install of ${feature} took $(expr $end - $start) seconds"
- sleep 7s
- echo "Sleep Finished"
-done
-
- echo "Installing dispatcher features"
- start=$(date +%s)
- ${ODL_HOME}/bin/client "feature:install -r onap-appc-request-handler onap-appc-command-executor onap-appc-lifecycle-management onap-appc-workflow-management lock-manager onap-appc-provider"
- end=$(date +%s)
- echo "Install of dispatcher features took $(expr $end - $start) seconds"
- sleep 7s
- echo "Sleep Finished"
-
-for feature in ${APPC_FEATURES_2}
-do
- echo "Installing ${feature}"
- start=$(date +%s)
- ${ODL_HOME}/bin/client "feature:install -r ${feature}"
- end=$(date +%s)
- echo "Install of ${feature} took $(expr $end - $start) seconds"
- sleep 7s
- echo "Sleep Finished"
-done
-
if $ENABLE_ODL_CLUSTER
then
- echo "Installing Opendaylight cluster features"
- ${ODL_HOME}/bin/client feature:install odl-mdsal-clustering
+ echo "Enabling Opendaylight cluster features"
enable_odl_cluster
fi
###
#hostname=localhost
-cadi_loglevel=INFO
+cadi_loglevel=DEBUG
cadi_bath_convert=/opt/onap/appc/data/properties/bath_config.csv
############################################################
aaf_locate_url=https://aaf-locate.{{.Release.Namespace}}:8095
# AAF URL
-aaf_url=https://AAF_LOCATE_URL/AAF_NS.service:2.0
+aaf_url=https://AAF_LOCATE_URL/onap.org.osaaf.aaf.service:2.1
# AAF Environment Designation
aaf_env=DEV
# OAuth2 Endpoints
-aaf_oauth2_token_url=https://AAF_LOCATE_URL/AAF_NS.token:2.0/token
-aaf_oauth2_introspect_url=https://AAF_LOCATE_URL/AAF_NS.introspect:2.0/introspect
+aaf_oauth2_token_url=https://AAF_LOCATE_URL/onap.org.osaaf.aaf.token:2.1/token
+aaf_oauth2_introspect_url=https://AAF_LOCATE_URL/onap.org.osaaf.aaf.introspect:2.1/introspect
+++ /dev/null
-#!/bin/bash
-
-###
-# ============LICENSE_START=======================================================
-# openECOMP : SDN-C
-# ================================================================================
-# Copyright (C) 2017 AT&T Intellectual Property. All rights
-# reserved.
-# Modifications Copyright © 2018 Amdocs,Bell Canada
-# ================================================================================
-# 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.
-# ============LICENSE_END=========================================================
-###
-
-
-# Install SDN-C platform components if not already installed and start container
-
-ODL_HOME=${ODL_HOME:-/opt/opendaylight/current}
-ODL_ADMIN_PASSWORD=${ODL_ADMIN_PASSWORD:-Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U}
-SDNC_HOME=${SDNC_HOME:-/opt/onap/sdnc}
-SLEEP_TIME=${SLEEP_TIME:-120}
-MYSQL_PASSWD=${MYSQL_PASSWD:-{{.Values.config.mariadbRootPassword}}}
-
-#
-# Wait for database
-#
-echo "Waiting for mariadbgalera"
-until mysql -h {{.Values.config.mariadbGaleraSVCName}}.{{.Release.Namespace}} -u root -p{{.Values.config.mariadbRootPassword}} mysql &> /dev/null
-do
- printf "."
- sleep 1
-done
-echo -e "\nmariadbgalera ready"
-
-if [ ! -f ${SDNC_HOME}/.installed ]
-then
- echo "Installing SDN-C database"
- ${SDNC_HOME}/bin/installSdncDb.sh
- echo "Starting OpenDaylight"
- ${ODL_HOME}/bin/start
- echo "Waiting ${SLEEP_TIME} seconds for OpenDaylight to initialize"
- sleep ${SLEEP_TIME}
- echo "Installing SDN-C platform features"
- ${SDNC_HOME}/bin/installFeatures.sh
- if [ -x ${SDNC_HOME}/svclogic/bin/install.sh ]
- then
- echo "Installing directed graphs"
- ${SDNC_HOME}/svclogic/bin/install.sh
- fi
-
-
- echo "Restarting OpenDaylight"
- ${ODL_HOME}/bin/stop
- echo "Installed at `date`" > ${SDNC_HOME}/.installed
-fi
-
-exec ${ODL_HOME}/bin/karaf
-
- port: {{ .Values.service.externalPort }}
targetPort: {{ .Values.service.internalPort }}
nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
- name: "{{ .Values.service.portName }}-8282"
+ name: "{{ .Values.service.portName }}-8443"
- port: {{ .Values.service.externalPort2 }}
nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
name: "{{ .Values.service.portName }}-1830"
{{- else -}}
- port: {{ .Values.service.externalPort }}
targetPort: {{ .Values.service.internalPort }}
- name: {{ .Values.service.portName }}-8282
+ name: {{ .Values.service.portName }}-8443
- port: {{ .Values.service.externalPort2 }}
targetPort: {{ .Values.service.internalPort2 }}
name: {{ .Values.service.portName }}-1830
app: {{ include "common.name" . }}
release: {{ .Release.Name }}
spec:
- imagePullSecrets:
- - name: "{{ include "common.namespace" . }}-docker-registry-key"
initContainers:
- - command:
+ - name: {{ include "common.name" . }}-readiness
+ command:
- /root/ready.py
args:
- --container-name
fieldPath: metadata.namespace
image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
- name: {{ include "common.name" . }}-readiness
+ - name: {{ include "common.name" . }}-chown
+ image: "busybox"
+ command: ["sh", "-c", "chown -R {{ .Values.config.odlUid }}:{{ .Values.config.odlGid}} {{ .Values.persistence.mdsalPath }}"]
+ volumeMounts:
+ - mountPath: {{ .Values.persistence.mdsalPath }}
+ name: {{ include "common.fullname" . }}-data
containers:
- name: {{ include "common.name" . }}
image: "{{ include "common.repository" . }}/{{ .Values.image }}"
- mountPath: /opt/onap/appc/bin/installAppcDb.sh
name: onap-appc-bin
subPath: installAppcDb.sh
- - mountPath: /opt/onap/appc/bin/installFeatures.sh
- name: onap-appc-bin
- subPath: installFeatures.sh
- mountPath: /opt/onap/appc/bin/health_check.sh
name: onap-appc-bin
subPath: health_check.sh
- mountPath: /opt/onap/ccsdk/svclogic/bin/showActiveGraphs.sh
name: onap-sdnc-svclogic-bin
subPath: showActiveGraphs.sh
- - mountPath: /opt/onap/ccsdk/bin/startODL.sh
- name: onap-sdnc-bin
- subPath: startODL.sh
- mountPath: /opt/onap/ccsdk/bin/installSdncDb.sh
name: onap-sdnc-bin
subPath: installSdncDb.sh
# application configuration
config:
+ odlUid: 100
+ odlGid: 101
ansibleServiceName: appc-ansible-server
ansiblePort: 8000
mariadbRootPassword: secretpassword
name: appc
portName: appc
#targetPort
- internalPort: 8181
+ internalPort: 8443
#port
- externalPort: 8282
+ externalPort: 8443
nodePort: 30
externalPort2: 1830
apiVersion: v1
description: ONAP Controller Design Studio (CDS)
name: cds
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP CDS Blueprints Processor
name: cds-blueprints-processor
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
\ No newline at end of file
--- /dev/null
+-----BEGIN CERTIFICATE-----
+MIIFPjCCAyagAwIBAgIJAJ6u7cCnzrWdMA0GCSqGSIb3DQEBCwUAMCwxDjAMBgNV
+BAsMBU9TQUFGMQ0wCwYDVQQKDARPTkFQMQswCQYDVQQGEwJVUzAeFw0xODA0MDUx
+NDE1MjhaFw0zODAzMzExNDE1MjhaMCwxDjAMBgNVBAsMBU9TQUFGMQ0wCwYDVQQK
+DARPTkFQMQswCQYDVQQGEwJVUzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC
+ggIBAMA5pkgRs7NhGG4ew5JouhyYakgYUyFaG121+/h8qbSdt0hVQv56+EA41Yq7
+XGie7RYDQK9NmAFF3gruE+6X7wvJiChp+Cyd7sFMnb65uWhxEdxWTM2BJFrgfzUn
+H8ZCxgaCo3XH4PzlKRy2LQQJEJECwl/RZmRCXijMt5e9h8XoZY/fKkKcZZUsWNCM
+pTo266wjvA9MXLmdgReRj0+vrCjrNqy+htwJDztoiHWiYPqT6o8EvGcgjNqjlZx7
+NUNf8MfLDByqKF6+wRbHv1GKjn3/Vijd45Fv8riyRYROiFanvbV6jIfBkv8PZbXg
+2VDWsYsgp8NAvMxK+iV8cO+Ck3lBI2GOPZbCEqpPVTYbLUz6sczAlCXwQoPzDIZY
+wYa3eR/gYLY1gP2iEVHORag3bLPap9ZX5E8DZkzTNTjovvLk8KaCmfcaUMJsBtDd
+ApcUitz10cnRyZc1sX3gE1f3DpzQM6t9C5sOVyRhDcSrKqqwb9m0Ss04XAS9FsqM
+P3UWYQyqDXSxlUAYaX892u8mV1hxnt2gjb22RloXMM6TovM3sSrJS0wH+l1nznd6
+aFXftS/G4ZVIVZ/LfT1is4StoyPWZCwwwly1z8qJQ/zhip5NgZTxQw4mi7ww35DY
+PdAQOCoajfSvFjqslQ/cPRi/MRCu079heVb5fQnnzVtnpFQRAgMBAAGjYzBhMB0G
+A1UdDgQWBBRTVTPyS+vQUbHBeJrBKDF77+rtSTAfBgNVHSMEGDAWgBRTVTPyS+vQ
+UbHBeJrBKDF77+rtSTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAN
+BgkqhkiG9w0BAQsFAAOCAgEAPx/IaK94n02wPxpnYTy+LVLIxwdq/kawNd6IbiMz
+L87zmNMDmHcGbfoRCj8OkhuggX9Lx1/CkhpXimuYsZOFQi5blr/u+v4mIbsgbmi9
+7j+cUHDP0zLycvSvxKHty51LwmaX9a4wkJl5zBU4O1sd/H9tWcEmwJ39ltKoBKBx
+c94Zc3iMm5ytRWGj+0rKzLDAXEWpoZ5bE5PLJauA6UDCxDLfs3FwhbS7uDggxYvf
+jySF5FCNET94oJ+m8s7VeHvoa8iPGKvXrIqdd7XDHnqJJlVKr7m9S0fMbyEB8ci2
+RtOXDt93ifY1uhoEtEykn4dqBSp8ezvNMnwoXdYPDvTd9uCAFeWFLVreBAWxd25h
+PsBTkZA5hpa/rA+mKv6Af4VBViYr8cz4dZCsFChuioVebe9ighrfjB//qKepFjPF
+CyjzKN1u0JKm/2x/ORqxkTONG8p3uDwoIOyimUcTtTMv42bfYD88RKakqSFXE9G+
+Z0LlaKABqfjK49o/tsAp+c5LoNlYllKhnetO3QAdraHwdmC36BhoghzR1jpX751A
+cZn2VH3Q4XKyp01cJNCJIrua+A+bx6zh3RyW6zIIkbRCbET+UD+4mr8WIcSE3mtR
+ZVlnhUDO4z9//WKMVzwS9Rh8/kuszrGFI1KQozXCHLrce3YP6RYZfOed79LXaRwX
+dYY=
+-----END CERTIFICATE-----
# limitations under the License.
#
# Web server config
+### START -Controller Blueprints Properties
+# Load Resource Source Mappings
+resourceSourceMappings=processor-db=source-db,input=source-input,default=source-default,config-data=source-rest,aai-data=source-rest,capability=source-capability
+
+# Controller Blueprints Core Configuration
+controllerblueprints.blueprintDeployPath=/opt/app/onap/blueprints/deploy
+controllerblueprints.blueprintArchivePath=/opt/app/onap/blueprints/archive
+controllerblueprints.blueprintWorkingPath=/opt/app/onap/blueprints/working
+
+# Controller Blueprint Load Configurations
+# blueprints.load.initial-data may be overridden by ENV variables
+controllerblueprints.loadInitialData=true
+controllerblueprints.loadBluePrint=true
+controllerblueprints.loadBluePrintPaths=/opt/app/onap/model-catalog/blueprint-model/service-blueprint
+controllerblueprints.loadModelType=true
+controllerblueprints.loadModeTypePaths=/opt/app/onap/model-catalog/definition-type/starter-type
+controllerblueprints.loadResourceDictionary=true
+controllerblueprints.loadResourceDictionaryPaths=/opt/app/onap/model-catalog/resource-dictionary/starter-dictionary
+
+# CBA file extension
+controllerblueprints.loadCbaExtension=zip
+
+### END -Controller Blueprints Properties
+
blueprintsprocessor.grpcEnable=true
blueprintsprocessor.httpPort=8080
blueprintsprocessor.grpcPort=9111
blueprintsprocessor.blueprintWorkingPath=/opt/app/onap/blueprints/work
# Primary Database Configuration
-blueprintsprocessor.db.primary.url=jdbc:mysql://cds-db:3306/sdnctl
-blueprintsprocessor.db.primary.username=sdnctl
-blueprintsprocessor.db.primary.password=sdnctl
-blueprintsprocessor.db.primary.driverClassName=org.mariadb.jdbc.Driver
-blueprintsprocessor.db.primary.hibernateHbm2ddlAuto=update
-blueprintsprocessor.db.primary.hibernateDDLAuto=update
-blueprintsprocessor.db.primary.hibernateNamingStrategy=org.hibernate.cfg.ImprovedNamingStrategy
-blueprintsprocessor.db.primary.hibernateDialect=org.hibernate.dialect.MySQL5InnoDBDialect
+blueprintsprocessor.db.url=jdbc:mysql://db:3306/sdnctl
+blueprintsprocessor.db.username=sdnctl
+blueprintsprocessor.db.password=sdnctl
+blueprintsprocessor.db.driverClassName=org.mariadb.jdbc.Driver
+blueprintsprocessor.db.hibernateHbm2ddlAuto=update
+blueprintsprocessor.db.hibernateDDLAuto=update
+blueprintsprocessor.db.hibernateNamingStrategy=org.hibernate.cfg.ImprovedNamingStrategy
+blueprintsprocessor.db.hibernateDialect=org.hibernate.dialect.MySQL5InnoDBDialect
# Python executor
blueprints.processor.functions.python.executor.executionPath=/opt/app/onap/scripts/jython/ccsdk_blueprints
blueprintsprocessor.grpcclient.remote-python.port=50051
blueprintsprocessor.grpcclient.remote-python.token=Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==
-# Primary Config Data REST client settings
-blueprintsprocessor.restclient.primary-config-data.type=basic-auth
-blueprintsprocessor.restclient.primary-config-data.url=http://sdnc:8282
-blueprintsprocessor.restclient.primary-config-data.username=admin
-blueprintsprocessor.restclient.primary-config-data.password=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
-
-# Primary AAI Data REST Client settings
-blueprintsprocessor.restclient.primary-aai-data.type=basic-auth
-blueprintsprocessor.restclient.primary-aai-data.url=https://aai.onap:8443
-blueprintsprocessor.restclient.primary-aai-data.username=aai@aai.onap.org
-blueprintsprocessor.restclient.primary-aai-data.password=demo123456!
+# Config Data REST client settings
+blueprintsprocessor.restclient.config-data.type=basic-auth
+blueprintsprocessor.restclient.config-data.url=http://sdnc:8282
+blueprintsprocessor.restclient.config-data.username=admin
+blueprintsprocessor.restclient.config-data.password=Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
+
+# AAI Data REST Client settings
+blueprintsprocessor.restclient.aai-data.type=basic-auth
+blueprintsprocessor.restclient.aai-data.url=https://aai.onap:8443
+blueprintsprocessor.restclient.aai-data.username=aai@aai.onap.org
+blueprintsprocessor.restclient.aai-data.password=demo123456!
+
+# Kafka-message-lib Configuration
+blueprintsprocessor.messageclient.self-service-api.topic=cds-producer
+blueprintsprocessor.messageclient.self-service-api.type=kafka-basic-auth
+
+##ONAP Message Router Kafka Service##
+blueprintsprocessor.messageclient.self-service-api.bootstrapServers=message-router-kafka:9092
+
+blueprintsprocessor.messageclient.self-service-api.consumerTopic=cds-consumer
+blueprintsprocessor.messageclient.self-service-api.groupId=cds-consumer-group
+blueprintsprocessor.messageclient.self-service-api.clientId=cds-client
+blueprintsprocessor.messageclient.self-service-api.kafkaEnable=false
args:
- --container-name
- cds-db
+ {{- if .Values.dmaapEnabled }}
+ - --container-name
+ - message-router
+ {{ end }}
env:
- name: NAMESPACE
valueFrom:
{{ if .Values.liveness.enabled }}
livenessProbe:
httpGet:
- path: /api/v1/execution-service/ping
+ path: /api/v1/execution-service/health-check
port: {{ .Values.service.http.internalPort }}
httpHeaders:
- name: Authorization
{{ end }}
readinessProbe:
httpGet:
- path: /api/v1/execution-service/ping
+ path: /api/v1/execution-service/health-check
port: {{ .Values.service.http.internalPort }}
httpHeaders:
- name: Authorization
- mountPath: {{ .Values.config.appConfigDir }}/logback.xml
name: {{ include "common.fullname" . }}-config
subPath: logback.xml
+
+ - mountPath: {{ .Values.config.appConfigDir }}/ONAP_RootCA.cer
+ name: {{ include "common.fullname" . }}-config
+ subPath: ONAP_RootCA.cer
+
- mountPath: {{ .Values.persistence.deployedBlueprint }}
name: {{ include "common.fullname" . }}-blueprints
resources:
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: onap/ccsdk-blueprintsprocessor:0.4.5
+image: onap/ccsdk-blueprintsprocessor:0.6.0
pullPolicy: Always
# flag to enable debugging - application support required
affinity: {}
+# flag for kafka-listener dependency. Set to true if you are using message-router otherwise set to false if you are using
+# custom kafka cluster.
+dmaapEnabled: true
+
# probe configuration parameters
liveness:
initialDelaySeconds: 120
internalPort: 9111
externalPort: 9111
-
persistence:
volumeReclaimPolicy: Retain
accessMode: ReadWriteMany
apiVersion: v1
description: ONAP CDS Command Executor
name: cds-command-executor
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
\ No newline at end of file
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: onap/ccsdk-commandexecutor:0.4.5
+image: onap/ccsdk-commandexecutor:0.6.0
pullPolicy: Always
# application configuration
apiVersion: v1
description: ONAP CDS Controller Blueprints
name: cds-controller-blueprints
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
\ No newline at end of file
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
# Load Resource Source Mappings
-resourceSourceMappings=processor-db=source-processor-db,primary-db=source-processor-db,input=source-input,default=source-default,primary-config-data=source-rest,primary-aai-data=source-rest,capability=source-capability
+resourceSourceMappings=processor-db=source-db,input=source-input,default=source-default,config-data=source-rest,aai-data=source-rest,capability=source-capability
# Controller Blueprints Core Configuration
controllerblueprints.blueprintDeployPath=/etc/blueprints/deploy
controllerblueprints.loadCbaExtension=zip
# Web server config
-server.port=8080
\ No newline at end of file
+server.port=8080
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: onap/ccsdk-controllerblueprints:0.4.5
+image: onap/ccsdk-controllerblueprints:0.6.0
pullPolicy: Always
# flag to enable debugging - application support required
apiVersion: v1
description: ONAP CDS SDC listener microservice
name: cds-sdc-listener
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
\ No newline at end of file
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: onap/ccsdk-sdclistener:0.4.5
+image: onap/ccsdk-sdclistener:0.6.0
name: sdc-listener
pullPolicy: Always
apiVersion: v1
description: ONAP CDS UI
name: cds-ui
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
\ No newline at end of file
env:
- name: HOST
value: 0.0.0.0
- - name: API_BLUEPRINT_CONTROLLER_BASE_URL
- value: {{ .Values.config.api.controller.baseUrl }}
- - name: API_BLUEPRINT_CONTROLLER_AUTH_TOKEN
- value: {{ .Values.config.api.controller.authToken }}
- - name: API_BLUEPRINT_PROCESSOR_BASE_URL
- value: {{ .Values.config.api.processor.baseUrl }}
- - name: API_BLUEPRINT_PROCESSOR_AUTH_TOKEN
- value: {{ .Values.config.api.processor.authToken }}
+ - name: APP_ACTION_DEPLOY_BLUEPRINT_GRPC_ENABLED
+ value: "{{ .Values.config.app.action.deployBlueprint.grpcEnabled }}"
+ - name: API_BLUEPRINT_CONTROLLER_HTTP_BASE_URL
+ value: {{ .Values.config.api.controller.http.baseUrl }}
+ - name: API_BLUEPRINT_CONTROLLER_HTTP_AUTH_TOKEN
+ value: {{ .Values.config.api.controller.http.authToken }}
+ - name: API_BLUEPRINT_PROCESSOR_HHTP_BASE_URL
+ value: {{ .Values.config.api.processor.http.baseUrl }}
+ - name: API_BLUEPRINT_PROCESSOR_HTTP_AUTH_TOKEN
+ value: {{ .Values.config.api.processor.http.authToken }}
+ - name: API_BLUEPRINT_PROCESSOR_GRPC_HOST
+ value: {{ .Values.config.api.processor.grpc.host }}
+ - name: API_BLUEPRINT_PROCESSOR_GRPC_PORT
+ value: "{{ .Values.config.api.processor.grpc.port }}"
+ - name: API_BLUEPRINT_PROCESSOR_GRPC_AUTH_TOKEN
+ value: {{ .Values.config.api.processor.grpc.authToken }}
readinessProbe:
tcpSocket:
port: {{ .Values.service.internalPort }}
# application image
repository: nexus3.onap.org:10001
-image: onap/ccsdk-cds-ui-server:0.4.5
+image: onap/ccsdk-cds-ui-server:0.6.0
pullPolicy: Always
# application configuration
config:
+ app:
+ action:
+ deployBlueprint:
+ grpcEnabled: true
api:
controller:
- baseUrl: http://cds-controller-blueprints:8080/api/v1
- authToken: Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==
+ http:
+ baseUrl: http://cds-controller-blueprints:8080/api/v1
+ authToken: Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==
processor:
- baseUrl: http://cds-blueprints-processor-http:8080/api/v1
- authToken: Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==
+ http:
+ baseUrl: http://cds-blueprints-processor-http:8080/api/v1
+ authToken: Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==
+ grpc:
+ host: cds-blueprints-processor-grpc
+ port: 9111
+ authToken: Basic Y2NzZGthcHBzOmNjc2RrYXBwcw==
# default number of instances
replicaCount: 1
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
- name: mariadb-galera
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
\ No newline at end of file
apiVersion: v1
description: ONAP Clamp
name: clamp
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP Clamp Dashboard Elasticsearch
name: clamp-dash-es
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
busyboxImage: library/busybox:latest
# application image
-loggingRepository: docker.elastic.co
-image: elasticsearch/elasticsearch-oss:6.6.2
+repository: nexus3.onap.org:10001
+image: onap/clamp-dashboard-elasticsearch:4.1.0
pullPolicy: Always
# flag to enable debugging - application support required
apiVersion: v1
description: ONAP Clamp Dashboard Kibana
name: clamp-dash-kibana
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
# The default locale. This locale can be used in certain circumstances to substitute any missing
# translations.
#i18n.defaultLocale: "en"
+
+## Search Guard
+#
+xpack.security.enabled: false
+elasticsearch.username: {{.Values.config.elasticUSR}}
+elasticsearch.password: {{.Values.config.elasticPWD}}
+
+searchguard.cookie.password: 123567818187654rwrwfsfshdhdhtegdhfzftdhncn
# application image
repository: nexus3.onap.org:10001
-image: onap/clamp-dashboard-kibana:4.0.5
+image: onap/clamp-dashboard-kibana:4.1.0
pullPolicy: Always
# flag to enable debugging - application support required
config:
elasticsearchServiceName: cdash-es
elasticsearchPort: 9200
+ elasticUSR: kibanaserver
+ elasticPWD: kibanaserver
sslEnabled: true
sslPemCertFilePath: /usr/share/kibana/config/keystore/org.onap.clamp.crt.pem
sslPemkeyFilePath: /usr/share/kibana/config/keystore/org.onap.clamp.key.pem
apiVersion: v1
description: ONAP Clamp Dashboard Logstash
name: clamp-dash-logstash
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
elasticsearch {
codec => "json"
hosts => ["${elasticsearch_base_url}"]
+ user => ["${logstash_user}"]
+ password => ["${logstash_pwd}"]
index => "errors-%{+YYYY.MM.DD}"
doc_as_upsert => true
}
elasticsearch {
codec => "json"
hosts => ["${elasticsearch_base_url}"]
+ user => ["${logstash_user}"]
+ password => ["${logstash_pwd}"]
document_id => "%{requestID}"
index => "events-cl-%{+YYYY.MM.DD}" # creates daily indexes for control loop
doc_as_upsert => true
elasticsearch {
codec => "json"
hosts => ["${elasticsearch_base_url}"]
+ user => ["${logstash_user}"]
+ password => ["${logstash_pwd}"]
index => "events-%{+YYYY.MM.DD}" # creates daily indexes
doc_as_upsert => true
}
value: "{{ .Values.config.requestTopic }}"
- name: dmaap_base_url
value: {{ .Values.config.dmaapScheme }}://{{ .Values.config.dmaapHost }}.{{ include "common.namespace" . }}:{{ .Values.config.dmaapPort }}
+ - name: logstash_user
+ value: "{{ .Values.config.logstash_user }}"
+ - name: logstash_pwd
+ value: "{{ .Values.config.logstash_pwd }}"
- name: elasticsearch_base_url
value: "http://{{.Values.config.elasticsearchServiceName}}.{{.Release.Namespace}}.svc.cluster.local:{{.Values.config.elasticsearchPort}}"
ports:
# application image
repository: nexus3.onap.org:10001
-image: onap/clamp-dashboard-logstash:4.0.5
+image: onap/clamp-dashboard-logstash:4.1.0
pullPolicy: Always
# flag to enable debugging - application support required
eventTopic: "DCAE-CL-EVENT"
notificationTopic: "POLICY-CL-MGT"
requestTopic: "APPC-CL"
+ logstash_user: "logstash"
+ logstash_pwd: "logstash"
# default number of instances
replicaCount: 1
apiVersion: v1
description: MariaDB Service
name: mariadb
-version: 4.0.0
+version: 5.0.0
ports:
{{if eq .Values.service.type "NodePort" -}}
- port: {{ .Values.service.internalPort }}
- nodePort: {{ .Values.global.nodePortPrefix | default "302" }}{{ .Values.service.nodePort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
{{- else -}}
- port: {{ .Values.service.externalPort }}
targetPort: {{ .Values.service.internalPort }}
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
# local reference to common chart, as it is
# a part of this chart's package and will not
# be published independently to a repo (at this point)
# application image
repository: nexus3.onap.org:10001
-image: onap/clamp:4.0.5
+image: onap/clamp:4.1.0
pullPolicy: Always
# flag to enable debugging - application support required
"clamp.config.sdc.serviceUsername": "clamp",
"clamp.config.sdc.servicePassword": "b7acccda32b98c5bb7acccda32b98c5b05D511BD6D93626E90D18E9D24D9B78CD34C7EE8012F0A189A28763E82271E50A5D4EC10C7D93E06E0A2D27CAE66B981",
"clamp.config.files.sdcController": "file:/opt/clamp/sdc-controllers-config.json",
- "clamp.config.dcae.inventory.url": "http://inventory.{{ include "common.namespace" . }}:8080",
+ "clamp.config.dcae.inventory.url": "https://inventory.{{ include "common.namespace" . }}:8080",
"clamp.config.dcae.dispatcher.url": "https4://deployment-handler.{{ include "common.namespace" . }}:8443",
"clamp.config.dcae.deployment.url": "https4://deployment-handler.{{ include "common.namespace" . }}:8443",
"clamp.config.dcae.deployment.userName": "none",
apiVersion: v1
description: ONAP Command Line Interface
name: cli
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
# local reference to common chart, as it is
# a part of this chart's package and will not
# be published independently to a repo (at this point)
apiVersion: v1
description: ONAP cassandra
name: cassandra
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
apiVersion: v1
description: Common templates for inclusion in other charts
name: common
-version: 4.0.0
+version: 5.0.0
--- /dev/null
+{{- define "ingress.config.port" -}}
+{{- if .Values.ingress -}}
+{{- if .Values.ingress.service -}}
+{{- range .Values.ingress.service }}
+ - path: {{ .path }}
+ backend:
+ serviceName: {{ .name }}
+ servicePort: {{ .port }}
+{{- end }}
+{{- else -}}
+ - path: {{ printf "/%s" .Chart.Name }}
+ backend:
+ serviceName: {{ .Chart.Name }}
+ servicePort: {{ .Values.service.externalPort }}
+{{- end -}}
+{{- end -}}
+{{- end -}}
+
+
+{{- define "ingress.config.annotations" -}}
+{{- if .Values.ingress -}}
+{{- if .Values.ingress.annotations -}}
+{{ toYaml .Values.ingress.annotations | indent 4 | trim }}
+{{- end -}}
+{{- end -}}
+{{- end -}}
+
+
+{{- define "common.ingress" -}}
+{{- if .Values.ingress -}}
+{{- if .Values.ingress.enabled -}}
+apiVersion: extensions/v1beta1
+kind: Ingress
+metadata:
+ name: {{ include "common.fullname" . }}-ingress
+ annotations:
+ {{ include "ingress.config.annotations" . }}
+ labels:
+ app: {{ .Chart.Name }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ rules:
+ - http:
+ paths:
+ {{- include "ingress.config.port" . }}
+{{- if .Values.ingress.tls }}
+ tls:
+{{ toYaml .Values.ingress.tls | indent 4 }}
+ {{- end -}}
+{{- end -}}
+{{- end -}}
+{{- end -}}
+
apiVersion: v1
description: D.G. Builder application
name: dgbuilder
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
\ No newline at end of file
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: onap/ccsdk-dgbuilder-image:0.4.4
+image: onap/ccsdk-dgbuilder-image:0.6.0
pullPolicy: Always
# flag to enable debugging - application support required
name: etcd
home: https://github.com/coreos/etcd
-version: 4.0.0
+version: 5.0.0
appVersion: 2.2.5
description: Distributed reliable key-value store for the most critical data of a
distributed system.
# limitations under the License
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
apiVersion: v1
description: Chart for MariaDB Galera cluster
name: mariadb-galera
-version: 4.0.0
+version: 5.0.0
keywords:
- mariadb
- mysql
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: 'file://../common'
\ No newline at end of file
apiVersion: v1
description: MongoDB Server
name: mongo
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
apiVersion: v1
description: MUSIC - Multi-site State Coordination Service
name: music
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: Cassandra Job - Run CQL Scripts after Cassandra Starts.
name: music-cassandra-job
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP - Cassandra Database
name: music-cassandra
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
\ No newline at end of file
apiVersion: v1
description: ONAP - MUSIC Tomcat Container
name: music-tomcat
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
\ No newline at end of file
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
apiVersion: v1
description: MySQL Server
name: mysql
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
apiVersion: v1\r
description: Name Generation Micro Service\r
name: network-name-gen\r
-version: 4.0.0\r
+version: 5.0.0\r
\r
dependencies:\r
- name: common\r
- version: ~4.x-0\r
+ version: ~5.x-0\r
repository: '@local'\r
- name: mariadb-galera\r
- version: ~4.x-0\r
+ version: ~5.x-0\r
repository: file://../mariadb-galera/\r
apiVersion: v1
description: NFS provisioner
name: nfs-provisioner
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
apiVersion: v1
description: ONAP Postgres Server
name: postgres
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP Postgres Server
name: pgpool
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
apiVersion: v1
description: ONAP Consul Agent
name: consul
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP Consul Server
name: consul-server
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
# local reference to common chart, as it is
# a part of this chart's package and will not
# be published independently to a repo (at this point)
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
# local reference to common chart, as it is
# a part of this chart's package and will not
# be published independently to a repo (at this point)
apiVersion: v1
description: ONAP optional tools
name: contrib
-version: 4.0.0
+version: 5.0.0
--- /dev/null
+# Copyright © 2019 Bell Canada
+#
+# 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
+description: Ansible AWX
+name: awx
+sources:
+ - https://github.com/ansible/awx
+version: 5.0.0
--- /dev/null
+# Copyright © 2019 Bell Canada
+#
+# 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.
+
+make-awx:
+ cd charts && helm dep up awx-postgres
-# Copyright © 2017 Amdocs, Bell Canada
+# Copyright © 2019 Bell Canada
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# limitations under the License.
apiVersion: v1
-description: A helm Chart for kubernetes-ONAP Robot
-name: robot
-version: 4.0.0
+description: Ansible AWX database
+name: awx-postgres
+version: 5.0.0
-# Copyright © 2018 Amdocs, Bell Canada
+# Copyright © 2019 Bell Canada
#
-# This file is licensed under the CREATIVE COMMONS ATTRIBUTION 4.0 INTERNATIONAL LICENSE
+# 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
#
-# Full license text at https://creativecommons.org/licenses/by/4.0/legalcode
+# 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.
1. Get the application URL by running these commands:
{{- if .Values.ingress.enabled }}
export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
echo http://$SERVICE_IP:{{ .Values.service.externalPort }}
{{- else if contains "ClusterIP" .Values.service.type }}
- export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
+ export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ include "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
echo "Visit http://127.0.0.1:8080 to use your application"
kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}
{{- end }}
-# Copyright © 2018 Amdocs, Bell Canada, AT&T
+{{/*
+# Copyright © 2019 Bell Canada
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# 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: extensions/v1beta1
kind: Deployment
spec:
containers:
- name: {{ include "common.name" . }}
- image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+ image: {{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
ports:
- containerPort: {{ .Values.service.internalPort }}
- {{ if .Values.liveness.enabled }}
- livenessProbe:
- tcpSocket:
- port: {{ .Values.service.internalPort }}
- initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
- periodSeconds: {{ .Values.liveness.periodSeconds }}
- {{ end }}
readinessProbe:
- tcpSocket:
- port: {{ .Values.service.internalPort }}
- initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
- periodSeconds: {{ .Values.readiness.periodSeconds }}
+ exec:
+ command:
+ - /bin/sh
+ - -i
+ - -c
+ - psql -h 127.0.0.1 -U $POSTGRES_USER -q -d {{ .Values.config.postgresDB }}
+ -c 'SELECT 1'
+ initialDelaySeconds: 5
+ timeoutSeconds: 1
+ env:
+ - name: POSTGRES_USER
+ value: "{{ .Values.config.postgresUser }}"
+ - name: POSTGRES_PASSWORD
+ value: "{{ .Values.config.postgresPassword }}"
+ - name: POSTGRES_DB
+ value: "{{ .Values.config.postgresDB }}"
volumeMounts:
- - name: dshm
- mountPath: /dev/shm
- - name: localtime
- mountPath: /etc/localtime
+ - mountPath: /etc/localtime
+ name: localtime
readOnly: true
- - name: robot-eteshare
- mountPath: /share/config
- - name: robot-logs
- mountPath: /share/logs
+ - name: {{ include "common.fullname" . }}-data
+ mountPath: /var/lib/postgresql/data
resources:
-{{ include "common.resources" . }}
+{{ include "common.resources" . | indent 12 }}
{{- if .Values.nodeSelector }}
nodeSelector:
-{{ toYaml .Values.nodeSelector | indent 8 }}
+{{ toYaml .Values.nodeSelector | indent 10 }}
{{- end -}}
{{- if .Values.affinity }}
affinity:
-{{ toYaml .Values.affinity | indent 8 }}
+{{ toYaml .Values.affinity | indent 10 }}
{{- end }}
volumes:
- {{- if .Values.persistence.enabled }}
- - name: robot-logs
- persistentVolumeClaim:
- claimName: {{ include "common.fullname" . }}
- {{- else }}
- emptyDir: {}
- {{- end }}
- - name: dshm
- emptyDir:
- medium: Memory
- - name: localtime
- hostPath:
- path: /etc/localtime
- - name: robot-eteshare
- configMap:
- name: {{ include "common.fullname" . }}-eteshare-configmap
- defaultMode: 0755
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
+ {{- if .Values.persistence.enabled }}
+ - name: {{ include "common.fullname" . }}-data
+ persistentVolumeClaim:
+ claimName: {{ include "common.fullname" . }}
+ {{- else }}
+ emptyDir: {}
+ {{- end }}
imagePullSecrets:
- name: "{{ include "common.namespace" . }}-docker-registry-key"
{{/*
-# Copyright © 2017 Amdocs, Bell Canada
+# Copyright © 2019 Bell Canada
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
*/}}
{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+{{- if not .Values.persistence.storageClass -}}
kind: PersistentVolume
apiVersion: v1
metadata:
hostPath:
path: {{ .Values.global.persistence.mountPath | default .Values.persistence.mountPath }}/{{ .Release.Name }}/{{ .Values.persistence.mountSubPath }}
{{- end -}}
+{{- end -}}
\ No newline at end of file
{{/*
-# Copyright © 2017 Amdocs, Bell Canada
+# Copyright © 2019 Bell Canada
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
heritage: "{{ .Release.Service }}"
{{- if .Values.persistence.annotations }}
annotations:
-{{ toYaml .Values.persistence.annotations | indent 4 }}
+{{ .Values.persistence.annotations | indent 4 }}
{{- end }}
spec:
+{{- if not .Values.persistence.storageClass }}
selector:
matchLabels:
name: {{ include "common.fullname" . }}
+{{- end }}
accessModes:
- {{ .Values.persistence.accessMode }}
resources:
-# Copyright © 2017 Amdocs, Bell Canada
+{{/*
+# Copyright © 2019 Bell Canada
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# 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
ports:
{{if eq .Values.service.type "NodePort" -}}
- port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
- name: {{ .Values.service.portName | default "http" }}
+ name: {{ .Values.service.portName }}
{{- else -}}
- port: {{ .Values.service.externalPort }}
targetPort: {{ .Values.service.internalPort }}
- name: {{ .Values.service.portName | default "http" }}
+ name: {{ .Values.service.portName }}
{{- end}}
selector:
app: {{ include "common.name" . }}
- release: {{ .Release.Name }}
\ No newline at end of file
+ release: {{ .Release.Name }}
--- /dev/null
+# Copyright © 2019 Bell Canada
+#
+# 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.
+
+# Default values for mariadb.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+global: # global defaults
+ nodePortPrefixExt: 304
+ persistence: {}
+
+# application image
+repository: docker.io
+image: postgres:10.4-alpine
+pullPolicy: Always
+
+# application configuration
+config:
+ postgresUser: awx
+ postgresPassword: awx
+ postgresDB: awx
+
+ingress:
+ enabled: false
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ enabled: true
+
+readiness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+
+## Persist data to a persitent volume
+persistence:
+ enabled: true
+ volumeReclaimPolicy: Retain
+
+ # Uncomment the storageClass parameter to use an existing PV
+ # that will match the following class.
+ # When uncomment the storageClass, the PV is not created anymore.
+
+ # storageClass: "nfs-dev-sc"
+
+ accessMode: ReadWriteMany
+ size: 1Gi
+
+ # When using storage class, mountPath and mountSubPath are
+ # simply ignored.
+
+ mountPath: /dockerdata-nfs
+ mountSubPath: awx/pgdata
+
+service:
+ type: ClusterIP
+ name: awx-postgresql
+ portName: awx-postgresql
+ internalPort: 5432
+ externalPort: 5432
+
+resources: {}
--- /dev/null
+# Copyright © 2019 Bell Canada
+#
+# 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
+description: Ansible AWX application
+name: awx
+version: 5.0.0
--- /dev/null
+# Copyright © 2019 Bell Canada
+#
+# 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.
+
+DATABASES = {
+ 'default': {
+ 'ATOMIC_REQUESTS': True,
+ 'ENGINE': 'awx.main.db.profiled_pg',
+ 'NAME': "{{ .Values.config.postgresDB }}",
+ 'USER': "{{ .Values.config.postgresUser }}",
+ 'PASSWORD': "{{ .Values.config.postgresPassword }}",
+ 'HOST': "awx-postgresql",
+ 'PORT': "5432",
+ }
+}
+BROKER_URL = 'amqp://{}:{}@{}:{}/{}'.format(
+ "{{ .Values.config.rabbitmqUser }}",
+ "{{ .Values.config.rabbitmqPassword }}",
+ "localhost",
+ "5672",
+ "{{ .Values.config.rabbitmqVhost }}")
+CHANNEL_LAYERS = {
+ 'default': {'BACKEND': 'asgi_amqp.AMQPChannelLayer',
+ 'ROUTING': 'awx.main.routing.channel_routing',
+ 'CONFIG': {'url': BROKER_URL}}
+}
\ No newline at end of file
--- /dev/null
+# Copyright © 2019 Bell Canada
+#
+# 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.
+
+DATABASE_USER={{ .Values.config.postgresUser }}
+DATABASE_NAME={{ .Values.config.postgresDB }}
+DATABASE_HOST=awx-postgresql
+DATABASE_PORT=5432
+DATABASE_PASSWORD={{ .Values.config.postgresPassword }}
+MEMCACHED_HOST=localhost
+RABBITMQ_HOST=localhost
+AWX_ADMIN_USER={{ .Values.config.awxAdminUser }}
+AWX_ADMIN_PASSWORD={{ .Values.config.awxAdminPassword }}
\ No newline at end of file
--- /dev/null
+{{/*
+# Copyright © 2019 Bell Canada
+#
+# 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: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-init-mgnt
+ namespace: {{ include "common.namespace" . }}
+data:
+ entrypoint: |
+ #/bin/sh
+
+ awx-manage migrate --noinput
+ if [[ `echo 'from django.contrib.auth.models import User; nsu = User.objects.filter(is_superuser=True).count(); exit(0 if nsu > 0 else 1)' | awx-manage shell` > 0 ]]
+ then
+ echo 'from django.contrib.auth.models import User; User.objects.create_superuser('{{ .Values.config.awxAdminUser }}', '{{ .Values.config.awxAdminEmail }}', '{{ .Values.config.awxAdminPassword }}')' | awx-manage shell
+ awx-manage update_password --username='{{ .Values.config.awxAdminUser }}' --password='{{ .Values.config.awxAdminPassword }}'
+ fi
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-settings
+ namespace: {{ include "common.namespace" . }}
+data:
+ awx_settings: |
+ import os
+ import socket
+ ADMINS = ()
+
+ AWX_PROOT_ENABLED = True
+
+ # Automatically deprovision pods that go offline
+ AWX_AUTO_DEPROVISION_INSTANCES = True
+
+ SYSTEM_TASK_ABS_CPU = 6
+ SYSTEM_TASK_ABS_MEM = 20
+
+ INSIGHTS_URL_BASE = "https://example.org"
+
+ #Autoprovisioning should replace this
+ CLUSTER_HOST_ID = socket.gethostname()
+ SYSTEM_UUID = '00000000-0000-0000-0000-000000000000'
+
+ SESSION_COOKIE_SECURE = False
+ CSRF_COOKIE_SECURE = False
+
+ REMOTE_HOST_HEADERS = ['HTTP_X_FORWARDED_FOR']
+
+ STATIC_ROOT = '/var/lib/awx/public/static'
+ PROJECTS_ROOT = '/var/lib/awx/projects'
+ JOBOUTPUT_ROOT = '/var/lib/awx/job_status'
+ SECRET_KEY = open('/etc/tower/SECRET_KEY', 'rb').read().strip()
+ ALLOWED_HOSTS = ['*']
+ INTERNAL_API_URL = 'http://127.0.0.1:8052'
+ SERVER_EMAIL = 'root@localhost'
+ DEFAULT_FROM_EMAIL = 'webmaster@localhost'
+ EMAIL_SUBJECT_PREFIX = '[AWX] '
+ EMAIL_HOST = 'localhost'
+ EMAIL_PORT = 25
+ EMAIL_HOST_USER = ''
+ EMAIL_HOST_PASSWORD = ''
+ EMAIL_USE_TLS = False
+
+ LOGGING['handlers']['console'] = {
+ '()': 'logging.StreamHandler',
+ 'level': 'DEBUG',
+ 'formatter': 'simple',
+ }
+
+ LOGGING['loggers']['django.request']['handlers'] = ['console']
+ LOGGING['loggers']['rest_framework.request']['handlers'] = ['console']
+ LOGGING['loggers']['awx']['handlers'] = ['console']
+ LOGGING['loggers']['awx.main.commands.run_callback_receiver']['handlers'] = ['console']
+ LOGGING['loggers']['awx.main.commands.inventory_import']['handlers'] = ['console']
+ LOGGING['loggers']['awx.main.tasks']['handlers'] = ['console']
+ LOGGING['loggers']['awx.main.scheduler']['handlers'] = ['console']
+ LOGGING['loggers']['django_auth_ldap']['handlers'] = ['console']
+ LOGGING['loggers']['social']['handlers'] = ['console']
+ LOGGING['loggers']['system_tracking_migrations']['handlers'] = ['console']
+ LOGGING['loggers']['rbac_migrations']['handlers'] = ['console']
+ LOGGING['loggers']['awx.isolated.manager.playbooks']['handlers'] = ['console']
+ LOGGING['handlers']['callback_receiver'] = {'class': 'logging.NullHandler'}
+ LOGGING['handlers']['task_system'] = {'class': 'logging.NullHandler'}
+ LOGGING['handlers']['tower_warnings'] = {'class': 'logging.NullHandler'}
+ LOGGING['handlers']['rbac_migrations'] = {'class': 'logging.NullHandler'}
+ LOGGING['handlers']['system_tracking_migrations'] = {'class': 'logging.NullHandler'}
+ LOGGING['handlers']['management_playbooks'] = {'class': 'logging.NullHandler'}
+
+ CACHES = {
+ 'default': {
+ 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
+ 'LOCATION': '{}:{}'.format("localhost", "11211")
+ },
+ 'ephemeral': {
+ 'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
+ },
+ }
+
+ USE_X_FORWARDED_PORT = True
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-rabbitmq
+ namespace: {{ include "common.namespace" . }}
+data:
+ enabled_plugins: |
+ [rabbitmq_management,rabbitmq_peer_discovery_k8s].
+ rabbitmq.conf: |
+ ## Clustering
+ management.load_definitions = /etc/rabbitmq/rabbitmq_definitions.json
+ cluster_formation.peer_discovery_backend = rabbit_peer_discovery_k8s
+ cluster_formation.k8s.host = kubernetes.default.svc
+ cluster_formation.k8s.address_type = ip
+ cluster_formation.node_cleanup.interval = 10
+ cluster_formation.node_cleanup.only_log_warning = false
+ cluster_partition_handling = autoheal
+ ## queue master locator
+ queue_master_locator=min-masters
+ ## enable guest user
+ loopback_users.guest = false
+ rabbitmq_definitions.json: |
+ {
+ "users":[{"name": "{{ .Values.config.rabbitmqUser }}", "password": "{{ .Values.config.rabbitmqPassword }}", "tags": ""}],
+ "permissions":[
+ {"user":"{{ .Values.config.rabbitmqUser }}","vhost":"{{ .Values.config.rabbitmqVhost }}","configure":".*","write":".*","read":".*"}
+ ],
+ "vhosts":[{"name":"{{ .Values.config.rabbitmqVhost }}"}],
+ "policies":[
+ {"vhost":"{{ .Values.config.rabbitmqVhost }}","name":"ha-all","pattern":".*","definition":{"ha-mode":"all","ha-sync-mode":"automatic"}}
+ ]
+ }
--- /dev/null
+{{/*
+# Copyright © 2019 Bell Canada
+#
+# 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: batch/v1
+kind: Job
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ backoffLimit: 5
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}-mgnt
+ release: {{ .Release.Name }}
+ spec:
+ serviceAccount: {{ include "common.fullname" . }}
+ serviceAccountName: {{ include "common.fullname" . }}
+ restartPolicy: Never
+ initContainers:
+ - name: {{ include "common.name" . }}-init-readiness
+ image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ command:
+ - /root/ready.py
+ args:
+ - --container-name
+ - awx-postgres
+ env:
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: metadata.namespace
+ containers:
+ - command: ["/bin/sh","-c"]
+ args: ["/etc/tower/job-entrypoint.sh"]
+ image: "{{ .Values.repository }}/{{ .Values.image.task }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: {{ include "common.name" . }}-mgnt
+ resources:
+ requests:
+ cpu: 1500m
+ memory: 2Gi
+ securityContext:
+ privileged: true
+ volumeMounts:
+ - mountPath: /etc/tower/job-entrypoint.sh
+ name: awx-mgnt
+ readOnly: true
+ subPath: job-entrypoint.py
+ - mountPath: /etc/tower/settings.py
+ name: awx-application-config
+ readOnly: true
+ subPath: settings.py
+ - mountPath: /etc/tower/conf.d/
+ name: awx-application-credentials
+ readOnly: true
+ - mountPath: /etc/tower/SECRET_KEY
+ name: awx-secret-key
+ readOnly: true
+ subPath: SECRET_KEY
+
+ volumes:
+ - configMap:
+ defaultMode: 0777
+ items:
+ - key: entrypoint
+ path: job-entrypoint.py
+ name: {{ include "common.fullname" . }}-init-mgnt
+ name: awx-mgnt
+ - configMap:
+ defaultMode: 420
+ items:
+ - key: awx_settings
+ path: settings.py
+ name: {{ include "common.fullname" . }}-settings
+ name: awx-application-config
+ - name: awx-application-credentials
+ secret:
+ defaultMode: 420
+ items:
+ - key: credentials_py
+ path: credentials.py
+ - key: environment_sh
+ path: environment.sh
+ secretName: {{ include "common.fullname" . }}-secrets
+ - name: awx-secret-key
+ secret:
+ defaultMode: 420
+ items:
+ - key: secret_key
+ path: SECRET_KEY
+ secretName: {{ include "common.fullname" . }}-secrets
+ - configMap:
+ defaultMode: 420
+ items:
+ - key: rabbitmq.conf
+ path: rabbitmq.conf
+ - key: enabled_plugins
+ path: enabled_plugins
+ - key: rabbitmq_definitions.json
+ path: rabbitmq_definitions.json
+ name: {{ include "common.fullname" . }}-rabbitmq
+ name: rabbitmq-config
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file
-# Copyright © 2017 Amdocs, Bell Canada
+{{/*
+# Copyright © 2019 Bell Canada
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# 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: ConfigMap
+kind: Secret
+type: Opaque
metadata:
- name: {{ include "common.fullname" . }}-eteshare-configmap
+ name: {{ include "common.fullname" . }}-secrets
namespace: {{ include "common.namespace" . }}
labels:
- app: {{ include "common.name" . }}
+ app: {{ include "common.fullname" . }}
chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
data:
-{{ tpl (.Files.Glob "resources/config/eteshare/config/*").AsConfig . | indent 2 }}
+ credentials_py: {{ tpl (.Files.Get "resources/config/credentials.py") . | b64enc }}
+ environment_sh: {{ tpl (.Files.Get "resources/config/environment.sh") . | b64enc }}
+ rabbitmq_erlang_cookie: {{ .Values.config.rabbitmqErlangCookie | b64enc | quote }}
+ secret_key: {{ .Values.config.secretKey | b64enc | quote }}
\ No newline at end of file
--- /dev/null
+{{/*
+# Copyright © 2019 Bell Canada
+#
+# 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" . }}-rmq-mgmt
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ type: {{ .Values.service.rmqmgmt.type }}
+ ports:
+ - port: {{ .Values.service.rmqmgmt.externalPort }}
+ targetPort: {{ .Values.service.rmqmgmt.internalPort }}
+ name: {{ .Values.service.rmqmgmt.portName }}
+ selector:
+ app: {{ include "common.fullname" . }}
+ release: {{ .Release.Name }}
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "common.servicename" . }}-web
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ type: {{ .Values.service.web.type }}
+ ports:
+ - port: {{ .Values.service.web.externalPort }}
+ targetPort: {{ .Values.service.web.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.web.nodePort }}
+ name: {{ .Values.service.web.portName }}
+ selector:
+ app: {{ include "common.fullname" . }}
+ release: {{ .Release.Name }}
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "common.servicename" . }}-rabbitmq
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.fullname" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+ type: LoadBalancer
+spec:
+ type: {{ .Values.service.rabbitmq.type }}
+ ports:
+ - port: {{ .Values.service.rabbitmq.http.externalPort }}
+ targetPort: {{ .Values.service.rabbitmq.http.internalPort }}
+ name: {{ .Values.service.rabbitmq.http.portName }}
+ - port: {{ .Values.service.rabbitmq.amqp.externalPort }}
+ targetPort: {{ .Values.service.rabbitmq.amqp.internalPort }}
+ name: {{ .Values.service.rabbitmq.amqp.portName }}
+ selector:
+ app: {{ include "common.fullname" . }}
+ release: {{ .Release.Name }}
\ No newline at end of file
--- /dev/null
+{{/*
+# Copyright © 2019 Bell Canada
+#
+# 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: ServiceAccount
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+---
+apiVersion: rbac.authorization.k8s.io/v1
+kind: Role
+metadata:
+ name: {{ include "common.fullname" . }}-endpoint-reader
+ namespace: {{ include "common.namespace" . }}
+rules:
+- apiGroups: ["", "extensions", "apps", "batch"]
+ resources: ["endpoints", "deployments", "pods", "replicasets/status", "jobs/status"]
+ verbs: ["get", "list"]
+---
+apiVersion: v1
+items:
+- apiVersion: rbac.authorization.k8s.io/v1
+ kind: RoleBinding
+ metadata:
+ name: {{ include "common.fullname" . }}-endpoint-reader
+ namespace: {{ include "common.namespace" . }}
+ roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: Role
+ name: {{ include "common.fullname" . }}-endpoint-reader
+ subjects:
+ - kind: ServiceAccount
+ name: {{ include "common.fullname" . }}
+kind: List
\ No newline at end of file
--- /dev/null
+{{/*
+# Copyright © 2019 Bell Canada
+#
+# 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: apps/v1
+kind: StatefulSet
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ podManagementPolicy: OrderedReady
+ replicas: {{ .Values.replicaCount }}
+ serviceName: {{ include "common.fullname" . }}
+ selector:
+ matchLabels:
+ app: {{ include "common.fullname" . }}
+ name: {{ include "common.name" . }}-web-deploy
+ service: django
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.fullname" . }}
+ name: {{ include "common.name" . }}-web-deploy
+ release: {{ .Release.Name }}
+ service: django
+ spec:
+
+ initContainers:
+ - name: {{ include "common.name" . }}-init-readiness
+ image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ command:
+ - /root/ready.py
+ args:
+ - --container-name
+ - {{ include "common.name" . }}-mgnt
+ env:
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: metadata.namespace
+
+ containers:
+
+ - image: "{{ .Values.repository }}/{{ .Values.image.web }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: {{ include "common.name" . }}-web
+ ports:
+ - containerPort: {{ .Values.service.web.internalPort }}
+ protocol: TCP
+ resources:
+ requests:
+ cpu: 500m
+ memory: 1Gi
+ volumeMounts:
+ - mountPath: /etc/tower/settings.py
+ name: awx-application-config
+ readOnly: true
+ subPath: settings.py
+ - mountPath: /etc/tower/conf.d/
+ name: awx-application-credentials
+ readOnly: true
+ - mountPath: /etc/tower/SECRET_KEY
+ name: awx-secret-key
+ readOnly: true
+ subPath: SECRET_KEY
+ - command: ["/bin/sh","-c"]
+ args: ["/usr/bin/launch_awx_task.sh"]
+ env:
+ - name: AWX_SKIP_MIGRATIONS
+ value: "1"
+
+ image: "{{ .Values.repository }}/{{ .Values.image.task }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: {{ include "common.name" . }}-celery
+ resources:
+ requests:
+ cpu: 1500m
+ memory: 2Gi
+ securityContext:
+ privileged: true
+ volumeMounts:
+ - mountPath: /etc/tower/settings.py
+ name: awx-application-config
+ readOnly: true
+ subPath: settings.py
+ - mountPath: /etc/tower/conf.d/
+ name: awx-application-credentials
+ readOnly: true
+ - mountPath: /etc/tower/SECRET_KEY
+ name: awx-secret-key
+ readOnly: true
+ subPath: SECRET_KEY
+ - env:
+ - name: MY_POD_IP
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: status.podIP
+ - name: RABBITMQ_USE_LONGNAME
+ value: "true"
+ - name: RABBITMQ_NODENAME
+ value: rabbit@$(MY_POD_IP)
+ - name: RABBITMQ_ERLANG_COOKIE
+ valueFrom:
+ secretKeyRef:
+ key: rabbitmq_erlang_cookie
+ name: {{ include "common.fullname" . }}-secrets
+ - name: K8S_SERVICE_NAME
+ value: {{ include "common.servicename" . }}-rabbitmq
+
+ image: "{{ .Values.repository }}/{{ .Values.image.rabbitmq }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: {{ include "common.name" . }}-rabbit
+ livenessProbe:
+ exec:
+ command:
+ - rabbitmqctl
+ - status
+ failureThreshold: 3
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ successThreshold: 1
+ timeoutSeconds: 10
+ ports:
+ - containerPort: {{ .Values.service.rabbitmq.http.internalPort }}
+ name: {{ .Values.service.rabbitmq.http.portName }}
+ protocol: TCP
+ - containerPort: {{ .Values.service.rabbitmq.amqp.internalPort }}
+ name: {{ .Values.service.rabbitmq.amqp.portName }}
+ protocol: TCP
+ readinessProbe:
+ exec:
+ command:
+ - rabbitmqctl
+ - status
+ failureThreshold: 3
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ successThreshold: 1
+ timeoutSeconds: 10
+ resources:
+ requests:
+ cpu: 500m
+ memory: 2Gi
+ volumeMounts:
+ - mountPath: /etc/rabbitmq
+ name: rabbitmq-config
+
+ - image: "{{ .Values.image.memcached }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: {{ include "common.name" . }}-memcached
+ resources:
+ requests:
+ cpu: 500m
+ memory: 1Gi
+ serviceAccount: {{ include "common.fullname" . }}
+ serviceAccountName: {{ include "common.fullname" . }}
+ volumes:
+ - configMap:
+ defaultMode: 420
+ items:
+ - key: awx_settings
+ path: settings.py
+ name: {{ include "common.fullname" . }}-settings
+ name: awx-application-config
+ - name: awx-application-credentials
+ secret:
+ defaultMode: 420
+ items:
+ - key: credentials_py
+ path: credentials.py
+ - key: environment_sh
+ path: environment.sh
+ secretName: {{ include "common.fullname" . }}-secrets
+ - name: awx-secret-key
+ secret:
+ defaultMode: 420
+ items:
+ - key: secret_key
+ path: SECRET_KEY
+ secretName: {{ include "common.fullname" . }}-secrets
+ - configMap:
+ defaultMode: 420
+ items:
+ - key: rabbitmq.conf
+ path: rabbitmq.conf
+ - key: enabled_plugins
+ path: enabled_plugins
+ - key: rabbitmq_definitions.json
+ path: rabbitmq_definitions.json
+ name: {{ include "common.fullname" . }}-rabbitmq
+ name: rabbitmq-config
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file
--- /dev/null
+# Copyright © 2019 Bell Canada
+#
+# 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.
+
+# Default values for mariadb.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+
+global: # global defaults
+ nodePortPrefixExt: 304
+ persistence: {}
+
+# application image
+repository: ansible
+image:
+ web: awx_web:latest
+ task: awx_task:latest
+ rabbitmq: awx_rabbitmq:3.7.4
+ memcached: memcached:latest
+pullPolicy: Always
+
+# application configuration
+config:
+ postgresUser: awx
+ postgresPassword: awx
+ postgresDB: awx
+# RabbitMQ Configuration
+ rabbitmqUser: awx
+ rabbitmqPassword: awxpass
+ rabbitmqVhost: awx
+ rabbitmqErlangCookie: cookiemonster3
+# This will create or update a default admin (superuser) account in AWX, if not provided
+# then these default values are used
+ awxAdminUser: admin
+ awxAdminPassword: password
+ awxAdminEmail: cds@onap.org
+# AWX Secret key
+# It's *very* important that this stay the same between upgrades or you will lose the ability to decrypt
+# your credentials
+ secretKey: awxsecret
+
+ingress:
+ enabled: false
+
+# default number of instances
+replicaCount: 1
+
+nodeSelector: {}
+
+affinity: {}
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ enabled: true
+
+## Persist data to a persitent volume
+persistence:
+ enabled: true
+ volumeReclaimPolicy: Retain
+
+ # Uncomment the storageClass parameter to use an existing PV
+ # that will match the following class.
+ # When uncomment the storageClass, the PV is not created anymore.
+
+ # storageClass: "nfs-dev-sc"
+
+ accessMode: ReadWriteMany
+ size: 5Gi
+
+ # When using storage class, mountPath and mountSubPath are
+ # simply ignored.
+
+ mountPath: /dockerdata-nfs
+ mountSubPath: awx/pgdata
+
+service:
+ rmqmgmt:
+ type: ClusterIP
+ portName: rmqmgmt
+ internalPort: 15672
+ externalPort: 15672
+ web:
+ type: NodePort
+ portName: web
+ internalPort: 8052
+ externalPort: 80
+ nodePort: 78
+ rabbitmq:
+ type: ClusterIP
+ http:
+ portName: http
+ internalPort: 15672
+ externalPort: 15672
+ amqp:
+ portName: amqp
+ internalPort: 5672
+ externalPort: 5672
+
+resources: {}
-# Copyright © 2017 Amdocs, Bell Canada
+# Copyright © 2019 Bell Canada
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
dependencies:
- name: common
version: ~4.x-0
- # local reference to common chart, as it is
- # a part of this chart's package and will not
- # be published independently to a repo (at this point)
repository: '@local'
\ No newline at end of file
--- /dev/null
+# Copyright © 2019 Bell Canada
+#
+# 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.
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefixExt: 304
+ commonConfigPrefix: awx
+ readinessRepository: oomk8s
+ readinessImage: readiness-check:2.0.2
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: hub.docker.io
+pullPolicy: Always
+
+# default number of instances
+replicaCount: 1
+nodeSelector: {}
+affinity: {}
+
+ingress:
+ enabled: false
+
+resources: {}
apiVersion: v1
description: Netbox IPAM
name: netbox
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: Netbox - Application (WSGI + Gunicorn)
name: netbox-app
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: Netbox - Nginx web server
name: netbox-nginx
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: Netbox Posgres database
name: netbox-postgres
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
\ No newline at end of file
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
\ No newline at end of file
-# Copyright © 2018 Amdocs, Bell Canada
+# Copyright © 2019 Bell Canada
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# See the License for the specific language governing permissions and
# limitations under the License.
+awx:
+ enabled: true
netbox:
enabled: true
\ No newline at end of file
apiVersion: v1
description: ONAP DCAE Gen2
name: dcaegen2
-version: 4.0.0
+version: 5.0.0
-make-dcaegen2: make-dcae-bootstrap make-dcae-cloudify-manager make-dcae-config-binding-service make-dcae-healthcheck make-dcae-redis make-dcae-servicechange-handler make-dcae-inventory-api make-dcae-deployment-handler make-dcae-policy-handler
+make-dcaegen2: make-dcae-bootstrap make-dcae-cloudify-manager make-dcae-config-binding-service make-dcae-healthcheck make-dcae-redis make-dcae-servicechange-handler make-dcae-inventory-api make-dcae-deployment-handler make-dcae-policy-handler make-dcae-dashboard
make-dcae-bootstrap:
cd charts && helm dep up dcae-bootstrap && helm lint dcae-bootstrap
make-dcae-policy-handler:
cd charts && helm dep up dcae-policy-handler && helm lint dcae-policy-handler
+
+make-dcae-dashboard:
+ cd charts && helm dep up dcae-dashboard && helm lint dcae-dashboard
apiVersion: v1
description: ONAP DCAE Bootstrap
name: dcae-bootstrap
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
- name: postgres
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
--- /dev/null
+-----BEGIN CERTIFICATE-----
+MIIFPjCCAyagAwIBAgIJAJ6u7cCnzrWdMA0GCSqGSIb3DQEBCwUAMCwxDjAMBgNV
+BAsMBU9TQUFGMQ0wCwYDVQQKDARPTkFQMQswCQYDVQQGEwJVUzAeFw0xODA0MDUx
+NDE1MjhaFw0zODAzMzExNDE1MjhaMCwxDjAMBgNVBAsMBU9TQUFGMQ0wCwYDVQQK
+DARPTkFQMQswCQYDVQQGEwJVUzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC
+ggIBAMA5pkgRs7NhGG4ew5JouhyYakgYUyFaG121+/h8qbSdt0hVQv56+EA41Yq7
+XGie7RYDQK9NmAFF3gruE+6X7wvJiChp+Cyd7sFMnb65uWhxEdxWTM2BJFrgfzUn
+H8ZCxgaCo3XH4PzlKRy2LQQJEJECwl/RZmRCXijMt5e9h8XoZY/fKkKcZZUsWNCM
+pTo266wjvA9MXLmdgReRj0+vrCjrNqy+htwJDztoiHWiYPqT6o8EvGcgjNqjlZx7
+NUNf8MfLDByqKF6+wRbHv1GKjn3/Vijd45Fv8riyRYROiFanvbV6jIfBkv8PZbXg
+2VDWsYsgp8NAvMxK+iV8cO+Ck3lBI2GOPZbCEqpPVTYbLUz6sczAlCXwQoPzDIZY
+wYa3eR/gYLY1gP2iEVHORag3bLPap9ZX5E8DZkzTNTjovvLk8KaCmfcaUMJsBtDd
+ApcUitz10cnRyZc1sX3gE1f3DpzQM6t9C5sOVyRhDcSrKqqwb9m0Ss04XAS9FsqM
+P3UWYQyqDXSxlUAYaX892u8mV1hxnt2gjb22RloXMM6TovM3sSrJS0wH+l1nznd6
+aFXftS/G4ZVIVZ/LfT1is4StoyPWZCwwwly1z8qJQ/zhip5NgZTxQw4mi7ww35DY
+PdAQOCoajfSvFjqslQ/cPRi/MRCu079heVb5fQnnzVtnpFQRAgMBAAGjYzBhMB0G
+A1UdDgQWBBRTVTPyS+vQUbHBeJrBKDF77+rtSTAfBgNVHSMEGDAWgBRTVTPyS+vQ
+UbHBeJrBKDF77+rtSTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAN
+BgkqhkiG9w0BAQsFAAOCAgEAPx/IaK94n02wPxpnYTy+LVLIxwdq/kawNd6IbiMz
+L87zmNMDmHcGbfoRCj8OkhuggX9Lx1/CkhpXimuYsZOFQi5blr/u+v4mIbsgbmi9
+7j+cUHDP0zLycvSvxKHty51LwmaX9a4wkJl5zBU4O1sd/H9tWcEmwJ39ltKoBKBx
+c94Zc3iMm5ytRWGj+0rKzLDAXEWpoZ5bE5PLJauA6UDCxDLfs3FwhbS7uDggxYvf
+jySF5FCNET94oJ+m8s7VeHvoa8iPGKvXrIqdd7XDHnqJJlVKr7m9S0fMbyEB8ci2
+RtOXDt93ifY1uhoEtEykn4dqBSp8ezvNMnwoXdYPDvTd9uCAFeWFLVreBAWxd25h
+PsBTkZA5hpa/rA+mKv6Af4VBViYr8cz4dZCsFChuioVebe9ighrfjB//qKepFjPF
+CyjzKN1u0JKm/2x/ORqxkTONG8p3uDwoIOyimUcTtTMv42bfYD88RKakqSFXE9G+
+Z0LlaKABqfjK49o/tsAp+c5LoNlYllKhnetO3QAdraHwdmC36BhoghzR1jpX751A
+cZn2VH3Q4XKyp01cJNCJIrua+A+bx6zh3RyW6zIIkbRCbET+UD+4mr8WIcSE3mtR
+ZVlnhUDO4z9//WKMVzwS9Rh8/kuszrGFI1KQozXCHLrce3YP6RYZfOed79LXaRwX
+dYY=
+-----END CERTIFICATE-----
\ No newline at end of file
--- /dev/null
+{
+ "dmaap": {
+ "username": "notused",
+ "password": "doesnotmatter",
+ "owner": "dcaecm",
+ "protocol": "http"
+ }
+}
\ No newline at end of file
"tls":
{
"cert_path": "/opt/tls/shared",
- "image": "{{ .Values.global.tlsRepository }}/{{ .Values.global.tlsImage }}"
+ "image": "{{ .Values.global.tlsRepository }}/{{ .Values.global.tlsImage }}",
+ "component_ca_cert_path": "/opt/dcae/cacert/cacert.pem",
+ "ca_cert_configmap": "{{ include "common.fullname" . }}-dcae-cacert"
}
}
database_cluster_name: {{ .Values.postgres.service.name2 }}.{{ include "common.namespace" . }}
database_cluster_fqdn: {{ .Values.postgres.service.name2 }}.{{ include "common.namespace" . }}.{{ .Values.postgres.suffix }}
database_name: "dashboard_pg"
-cloudify_ip: {{ .Values.config.address.cm }}
+cloudify_ip: {{ .Values.config.address.cm.host }}
cloudify_user: "admin"
cloudify_password: "admin"
consul_url: {{ .Values.config.address.consul_ui }}
namespace: {{ include "common.namespace" . }}
data:
{{ tpl (.Files.Glob "resources/inputs/*").AsConfig . | indent 2 }}
-
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-dcae-cacert
+ namespace: {{ include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/certs/*").AsConfig . | indent 2 }}
fieldRef:\r
apiVersion: v1\r
fieldPath: metadata.namespace\r
+ - name: init-tls\r
+ env:\r
+ - name: POD_IP\r
+ valueFrom:\r
+ fieldRef:\r
+ apiVersion: v1\r
+ fieldPath: status.podIP\r
+ image: {{ .Values.global.tlsRepository }}/{{ .Values.global.tlsImage }}\r
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}\r
+ resources: {}\r
+ volumeMounts:\r
+ - mountPath: /opt/tls/shared\r
+ name: tls-info\r
containers:\r
- name: {{ include "common.name" . }}\r
image: "{{ include "common.repository" . }}/{{ .Values.image }}"\r
- mountPath: /etc/localtime\r
name: localtime\r
readOnly: true\r
+ - mountPath: /certs\r
+ name: tls-info\r
+ readOnly: true\r
env:\r
- name: CMADDR\r
- value: {{ .Values.config.address.cm }}\r
+ value: {{ .Values.config.address.cm.host }}\r
- name: CMPASS\r
valueFrom:\r
secretKeyRef:\r
name: {{ include "common.name" . }}-cmpass\r
key: password\r
+ - name: CMPROTO\r
+ value: {{ .Values.config.address.cm.proto }}\r
+ - name: CMPORT\r
+ value: !!string {{ .Values.config.address.cm.port }}\r
- name: CONSUL\r
value: {{ .Values.config.address.consul.host }}:{{ .Values.config.address.consul.port }}\r
- name: DCAE_NAMESPACE\r
- name: localtime\r
hostPath:\r
path: /etc/localtime\r
+ - name: tls-info\r
+ emptyDir: {}\r
imagePullSecrets:\r
- name: "{{ include "common.namespace" . }}-docker-registry-key"\r
host: consul-server
port: 8500
consul_ui: consul-server-ui
- cm: dcae-cloudify-manager
+ cm:
+ host: dcae-cloudify-manager
+ port: 443
+ proto: https
+ #Temporary assignment to avoid conflict
+ #To be removed after bootstrap changes done to remove dashboard
dashboard:
- port: 30418
- portSecure: 30419
+ port: 30473
+ portSecure: 30474
datafile_collector:
port: 30223
portSecure: 30262
# application image
repository: nexus3.onap.org:10001
-image: onap/org.onap.dcaegen2.deployments.k8s-bootstrap-container:1.4.18
+image: onap/org.onap.dcaegen2.deployments.k8s-bootstrap-container:1.6.2
default_k8s_location: central
# DCAE component images to be deployed via Cloudify Manager
apiVersion: v1
description: ONAP DCAE Cloudify Manager
name: dcae-cloudify-manager
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
app: {{ include "common.name" . }}
release: {{ .Release.Name }}
spec:
+ # host alias allows local 'cfy' command to use https and match
+ # the host name in the certificate
+ hostAliases:
+ - ip: "127.0.0.1"
+ hostnames:
+ - "dcae-cloudify-manager"
initContainers:
- name: {{ include "common.name" . }}-multisite-init
image: {{ include "common.repository" . }}/{{ .Values.multisiteInitImage }}
- --configmap
- {{ .Values.multisiteConfigMapName }}
restartPolicy: Never
+ - name: init-tls
+ env:
+ - name: POD_IP
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: status.podIP
+ image: {{ .Values.global.tlsRepository }}/{{ .Values.global.tlsImage }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ resources: {}
+ volumeMounts:
+ - mountPath: /opt/tls/shared
+ name: tls-info
containers:
- name: {{ include "common.name" . }}
image: "{{ include "common.repository" . }}/{{ .Values.image }}"
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ env:
+ - name: REQUESTS_CA_BUNDLE
+ value: "/opt/onap/certs/cacert.pem"
resources:
{{ include "common.resources" . | indent 12 }}
ports:
readOnly: true
- mountPath: /cfy-persist
name: cm-persistent
+ - mountPath: /opt/onap/certs
+ name: tls-info
securityContext:
privileged: True
volumes:
- name: cm-persistent
persistentVolumeClaim:
claimName: {{ include "common.fullname" . }}-data
+ - emptyDir: {}
+ name: tls-info
imagePullSecrets:
- name: "{{ include "common.namespace" . }}-docker-registry-key"
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: onap/org.onap.dcaegen2.deployments.cm-container:1.6.2
+image: onap/org.onap.dcaegen2.deployments.cm-container:2.0.2
pullPolicy: Always
# name of shared ConfigMap with kubeconfig for multiple clusters
service:
type: ClusterIP
name: dcae-cloudify-manager
- externalPort: 80
- internalPort: 80
+ externalPort: 443
+ internalPort: 443
# Resource Limit flavor -By Default using small
flavor: small
apiVersion: v1
description: ONAP DCAE Config Binding Service
name: dcae-config-binding-service
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
fieldRef:
apiVersion: v1
fieldPath: metadata.namespace
+ {{- if .Values.service.secure.enabled }}
+ - name: init-tls
+ env:
+ - name: POD_IP
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: status.podIP
+ image: {{ .Values.global.tlsRepository }}/{{ .Values.global.tlsImage }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ resources: {}
+ volumeMounts:
+ - mountPath: /opt/tls/shared
+ name: tls-info
+ {{ end }}
containers:
+ {{- if .Values.service.secure.enabled }}
- name: {{ include "common.name" . }}
image: "{{ include "common.repository" . }}/{{ .Values.image }}"
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
resources:
{{ include "common.resources" . | indent 12 }}
ports:
- - containerPort: {{ .Values.service.internalPort }}
+ - containerPort: {{ .Values.service.secure.internalPort }}
# disable liveness probe when breakpoints set in debugger
# so K8s doesn't restart unresponsive container
{{- if eq .Values.liveness.enabled true }}
livenessProbe:
tcpSocket:
- port: {{ .Values.service.internalPort }}
+ port: {{ .Values.service.secure.internalPort }}
initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
periodSeconds: {{ .Values.liveness.periodSeconds }}
{{ end -}}
readinessProbe:
httpGet:
+ scheme: "HTTPS"
path: {{ .Values.readiness.path }}
- port: {{ .Values.service.internalPort }}
+ port: {{ .Values.service.secure.internalPort }}
initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
periodSeconds: {{ .Values.readiness.periodSeconds }}
volumeMounts:
- name: {{ include "common.fullname" . }}-logs
mountPath: /opt/logs
+ - name: tls-info
+ mountPath: /opt/tls
env:
- name: CONSUL_HOST
value: consul.{{ include "common.namespace" . }}
-
+ - name: USE_HTTPS
+ value: "1"
+ - name: HTTPS_CERT_PATH
+ value: "/opt/tls/cert.pem"
+ - name: HTTPS_KEY_PATH
+ value: "/opt/tls/key.pem"
- name: {{ include "common.name" . }}-filebeat-onap
image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
mountPath: /usr/share/filebeat/data
- name: {{ include "common.fullname" . }}-logs
mountPath: /var/log/onap
+ {{ end }}
+ {{- if .Values.service.insecure.enabled }}
+ - name: {{ include "common.name" . }}-insecure
+ image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ resources:
+{{ include "common.resources" . | indent 12 }}
+ ports:
+ - containerPort: {{ .Values.service.insecure.internalPort }}
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.insecure.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end -}}
+ readinessProbe:
+ httpGet:
+ scheme: "HTTP"
+ path: {{ .Values.readiness.path }}
+ port: {{ .Values.service.insecure.internalPort }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ volumeMounts:
+ - name: {{ include "common.fullname" . }}-logs-insecure
+ mountPath: /opt/logs
+ env:
+ - name: CONSUL_HOST
+ value: consul.{{ include "common.namespace" . }}
+ - name: {{ include "common.name" . }}-filebeat-onap-insecure
+ image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ volumeMounts:
+ - name: {{ include "common.fullname" . }}-filebeat-conf
+ mountPath: /usr/share/filebeat/filebeat.yml
+ subPath: filebeat.yml
+ - name: {{ include "common.fullname" . }}-data-filebeat-insecure
+ mountPath: /usr/share/filebeat/data
+ - name: {{ include "common.fullname" . }}-logs-insecure
+ mountPath: /var/log/onap
+ {{ end }}
volumes:
- name: {{ include "common.fullname" . }}-filebeat-conf
configMap:
name: {{ .Release.Name }}-cbs-filebeat-configmap
+ {{- if .Values.service.secure.enabled }}
- name: {{ include "common.fullname" . }}-data-filebeat
emptyDir: {}
- name: {{ include "common.fullname" . }}-logs
emptyDir: {}
+ - name: tls-info
+ emptyDir: {}
+ {{ end }}
+ {{- if .Values.service.insecure.enabled }}
+ - name: {{ include "common.fullname" . }}-data-filebeat-insecure
+ emptyDir: {}
+ - name: {{ include "common.fullname" . }}-logs-insecure
+ emptyDir: {}
+ {{ end }}
+
imagePullSecrets:
- name: "{{ include "common.namespace" . }}-docker-registry-key"
spec:
type: {{ .Values.service.type }}
ports:
- {{if eq .Values.service.type "NodePort" -}}
- - port: {{ .Values.service.externalPort }}
- nodePort: {{ .Values.global.nodePortPrefixExt| default .Values.nodePortPrefixExt }}{{ .Values.service.nodePort }}
- name: {{ .Values.service.name }}
+ {{ if eq .Values.service.type "NodePort" -}}
+ {{ if .Values.service.insecure.enabled -}}
+ - port: {{ .Values.service.insecure.externalPort }}
+ nodePort: {{ .Values.global.nodePortPrefixExt| default .Values.nodePortPrefixExt }}{{ .Values.service.insecure.nodePort }}
+ name: {{ .Values.service.name }}-insecure
+ {{- end }}
+ {{ if .Values.service.secure.enabled -}}
+ - port: {{ .Values.service.secure.externalPort }}
+ nodePort: {{ .Values.global.nodePortPrefixExt| default .Values.nodePortPrefixExt }}{{ .Values.service.secure.nodePort }}
+ name: {{ .Values.service.name }}-secure
+ {{- end }}
{{- else -}}
- - port: {{ .Values.service.externalPort }}
- targetPort: {{ .Values.service.internalPort }}
- name: {{ .Values.service.name }}
- {{- end}}
+ {{ if .Values.service.insecure.enabled -}}
+ - port: {{ .Values.service.insecure.externalPort }}
+ targetPort: {{ .Values.service.insecure.internalPort }}
+ name: {{ .Values.service.name }}-insecure
+ {{- end }}
+ {{ if .Values.service.secure.enabled -}}
+ - port: {{ .Values.service.secure.externalPort }}
+ targetPort: {{ .Values.service.secure.internalPort }}
+ name: {{ .Values.service.name }}-secure
+ {{- end }}
+ {{- end }}
selector:
app: {{ include "common.name" . }}
release: {{ .Release.Name }}
-
readinessImage: readiness-check:2.0.0
loggingRepository: docker.elastic.co
loggingImage: beats/filebeat:5.5.0
+ tlsRepository: nexus3.onap.org:10001
+ tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:1.0.3
repositoryCred:
user: docker
password: docker
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: onap/org.onap.dcaegen2.platform.configbinding.app-app:2.3.0
+image: onap/org.onap.dcaegen2.platform.configbinding:2.5.1
pullPolicy: Always
# probe configuration parameters
service:
type: NodePort
name: config-binding-service
- externalPort: 10000
- internalPort: 10000
- nodePort: 15
+ # TLS service
+ secure:
+ enabled: true
+ externalPort: 10443
+ internalPort: 10443
+ nodePort: 14
+ # Non-TLS service
+ insecure:
+ enabled: true
+ externalPort: 10000
+ internalPort: 10000
+ nodePort: 15
# Resource Limit flavor -By Default using small
flavor: small
.project
.idea/
*.tmproj
+.vscode/
--- /dev/null
+apiVersion: v1
+appVersion: "1.0"
+description: DCAE Dashboard
+name: dcae-dashboard
+version: 5.0.0
--- /dev/null
+# Copyright © 2018 AT&T, Amdocs, Bell Canada Intellectual Property. All rights reserved.
+#
+# 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.
+
+dependencies:
+ - name: common
+ version: ~5.x-0
+ repository: '@local'
+ - name: postgres
+ version: ~5.x-0
+ repository: '@local'
--- /dev/null
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2018-2019 AT&T Intellectual Property. All rights reserved.
+# Modifications Copyright © 2018 Amdocs, Bell Canada
+# ================================================================================
+# 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.
+# ============LICENSE_END=========================================================
+filebeat.prospectors:
+#it is mandatory, in our case it's log
+- input_type: log
+ #This is the canolical path as mentioned in logback.xml, *.* means it will monitor all files in the directory.
+ paths:
+ - /var/log/onap/*/*/*/*.log
+ - /var/log/onap/*/*/*.log
+ - /var/log/onap/*/*.log
+ #Files older than this should be ignored.In our case it will be 48 hours i.e. 2 days. It is a helping flag for clean_inactive
+ ignore_older: 48h
+ # Remove the registry entry for a file that is more than the specified time. In our case it will be 96 hours, i.e. 4 days. It will help to keep registry records with in limit
+ clean_inactive: 96h
+
+
+# Name of the registry file. If a relative path is used, it is considered relative to the
+# data path. Else full qualified file name.
+#filebeat.registry_file: ${path.data}/registry
+
+
+output.logstash:
+ #List of logstash server ip addresses with port number.
+ #But, in our case, this will be the loadbalancer IP address.
+ #For the below property to work the loadbalancer or logstash should expose 5044 port to listen the filebeat events or port in the property should be changed appropriately.
+ hosts: ["{{.Values.config.logstashServiceName}}.{{.Release.Namespace}}:{{.Values.config.logstashPort}}"]
+ #If enable will do load balancing among availabe Logstash, automatically.
+ loadbalance: true
+
+ #The list of root certificates for server verifications.
+ #If certificate_authorities is empty or not set, the trusted
+ #certificate authorities of the host system are used.
+ #ssl.certificate_authorities: $ssl.certificate_authorities
+
+ #The path to the certificate for SSL client authentication. If the certificate is not specified,
+ #client authentication is not available.
+ #ssl.certificate: $ssl.certificate
+
+ #The client certificate key used for client authentication.
+ #ssl.key: $ssl.key
+
+ #The passphrase used to decrypt an encrypted key stored in the configured key file
+ #ssl.key_passphrase: $ssl.key_passphrase
+
+logging:
+ level: debug
+
+ # enable file rotation with default configuration
+ to_files: true
+
+ # do not log to syslog
+ to_syslog: false
+
+ files:
+ path: /usr/share/filebeat/logs
+ name: mybeat.log
+ keepfiles: 7
--- /dev/null
+# Copyright © 2017 Amdocs, Bell Canada
+# Modifications Copyright © 2019 AT&T
+#
+# 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: ConfigMap
+metadata:
+ name: {{include "common.fullname" . }}-filebeat-configmap
+ namespace: {{include "common.namespace" . }}
+data:
+{{ tpl (.Files.Glob "resources/log/*").AsConfig . | indent 2 }}
+
--- /dev/null
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2019 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# 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.
+# ============LICENSE_END=========================================================
+
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: {{ include "common.fullname" . }}
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ replicas: 1
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ spec:
+ initContainers:
+ - name: {{ include "common.name" . }}-readiness
+ image: {{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ command:
+ - /root/ready.py
+ args:
+ - --container-name
+ - dcae-cloudify-manager
+ - --container-name
+ - consul-server
+ - --container-name
+ - dcae-inventory-api
+ - --container-name
+ - dcae-deployment-handler
+ - --container-name
+ - {{ .Values.postgres.nameOverride }}
+ - "-t"
+ - "45"
+ env:
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: metadata.namespace
+ - name: init-tls
+ env:
+ - name: POD_IP
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: status.podIP
+ image: {{ .Values.global.tlsRepository }}/{{ .Values.global.tlsImage }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ resources: {}
+ volumeMounts:
+ - mountPath: /opt/tls/shared
+ name: tls-info
+ containers:
+ - name: {{ include "common.name" . }}
+ image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ resources:
+{{ include "common.resources" . | indent 12 }}
+ ports:
+ - containerPort: {{ .Values.service.internalPort }}
+ protocol: TCP
+ # disable liveness probe when breakpoints set in debugger
+ # so K8s doesn't restart unresponsive container
+ {{- if eq .Values.liveness.enabled true }}
+ livenessProbe:
+ tcpSocket:
+ port: {{ .Values.service.internalPort }}
+ initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.liveness.periodSeconds }}
+ {{ end }}
+ readinessProbe:
+ httpGet:
+ path: {{ .Values.readiness.path }}
+ port: {{ .Values.service.internalPort }}
+ scheme: {{ .Values.readiness.scheme }}
+ initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
+ periodSeconds: {{ .Values.readiness.periodSeconds }}
+ failureThreshold: 1
+ successThreshold: 1
+ timeoutSeconds: 1
+ volumeMounts:
+ - mountPath: /usr/local/share/ca-certificates/
+ name: tls-info
+ env:
+ - name: CONSUL_HOST
+ value: consul-server.{{ include "common.namespace" . }}
+ - name: CONFIG_BINDING_SERVICE
+ value: config-binding-service
+ - name: inventory_url
+ value: {{ .Values.config.inventory_url }}
+ - name: postgres_port
+ value: "{{ .Values.postgres.config.pgPort }}"
+ - name: cloudify_password
+ value: admin
+ - name: dhandler_url
+ value: {{ .Values.config.dhandler_url }}
+ - name: cfy_url
+ value: {{ .Values.config.cfy_url }}
+ - name: cloudify_user
+ value: admin
+ - name: consul_url
+ value: http://consul-server-ui:8500
+ - name: postgres_user_dashboard
+ value: {{ .Values.postgres.config.pgUserName }}
+ - name: postgres_db_name
+ value: {{ .Values.postgres.config.pgDatabase }}
+ - name: postgres_password_dashboard
+ value: {{ .Values.postgres.config.pgUserPassword }}
+ - name: postgres_ip
+ value: {{ .Values.postgres.service.name2 }}
+ - name: POD_IP
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: status.podIP
+ - name: {{ include "common.name" . }}-filebeat
+ env:
+ - name: POD_IP
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: status.podIP
+ image: {{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}
+ imagePullPolicy: IfNotPresent
+ resources: {}
+ volumeMounts:
+ - mountPath: /var/log/onap/dashboard
+ name: component-log
+ - mountPath: /usr/share/filebeat/data
+ name: filebeat-data
+ - mountPath: /usr/share/filebeat/filebeat.yml
+ name: filebeat-conf
+ subPath: filebeat.yml
+ volumes:
+ - emptyDir: {}
+ name: component-log
+ - emptyDir: {}
+ name: filebeat-data
+ - configMap:
+ defaultMode: 420
+ name: {{ include "common.fullname" . }}-filebeat-configmap
+ name: filebeat-conf
+ - emptyDir: {}
+ name: tls-info
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
+
--- /dev/null
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2019 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# 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.
+# ============LICENSE_END=========================================================
+
+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:
+ type: {{ .Values.service.type }}
+ ports:
+ {{if eq .Values.service.type "NodePort" -}}
+ - port: {{ .Values.service.externalPort }}
+ nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.nodePort }}
+ name: {{ .Values.service.name }}
+ {{- else -}}
+ - port: {{ .Values.service.externalPort }}
+ targetPort: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.name }}
+ {{- end}}
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+
--- /dev/null
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 2019 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# 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.
+# ============LICENSE_END=========================================================
+
+#################################################################
+# Global configuration defaults.
+#################################################################
+global:
+ nodePortPrefixExt: 304
+ readinessRepository: oomk8s
+ readinessImage: readiness-check:2.0.0
+ loggingRepository: docker.elastic.co
+ loggingImage: beats/filebeat:5.5.0
+ tlsRepository: nexus3.onap.org:10001
+ tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:1.0.3
+
+config:
+ logstashServiceName: log-ls
+ logstashPort: 5044
+ dhandler_url: https://deployment-handler:8443
+ cfy_url: https://dcae-cloudify-manager/api/v3.1
+ inventory_url: https://inventory:8080
+ # Addresses of other ONAP entities
+ address:
+ consul:
+ host: consul-server
+ port: 8500
+
+#################################################################
+# Application configuration defaults.
+#################################################################
+# application image
+repository: nexus3.onap.org:10001
+image: onap/org.onap.ccsdk.dashboard.ccsdk-app-os:1.1.0
+pullPolicy: Always
+
+# probe configuration parameters
+liveness:
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ # necessary to disable liveness probe when setting breakpoints
+ # in debugger so K8s doesn't restart unresponsive container
+ # liveness not desirable for Cloudify Manager container
+ enabled: false
+
+readiness:
+ initialDelaySeconds: 30
+ periodSeconds: 30
+ path: /ccsdk-app/health
+ scheme: HTTP
+
+service:
+ type: NodePort
+ name: dashboard
+ externalPort: 8080
+ internalPort: 8080
+ nodePort: 18
+# application configuration override for postgres
+postgres:
+ nameOverride: dcae-dashboard-pg
+ service:
+ name: dcae-dashboard-postgres
+ name2: dcae-dashboard-pg-primary
+ name3: dcae-dashboard-pg-replica
+ container:
+ name:
+ primary: dcae-dashboard-pg-primary
+ replica: dcae-dashboard-pg-replica
+ config:
+ pgUserName: dashboard_pg_admin
+ pgDatabase: dashboard_pg_db_common
+ pgPrimaryPassword: onapdemodb
+ pgUserPassword: onapdemodb
+ pgRootPassword: onapdemodb
+ pgPort: "5432"
+ persistence:
+ mountSubPath: dcae-dashboard/data
+ mountInitPath: dcae-dashboard
+ pgpool:
+ nameOverride: dcae-dashboard-pgpool
+ service:
+ name: dcae-dashboard-pgpool
+ credentials:
+ pgusername: dcae_dashboard
+ pgpassword: onapdemodb
+ container:
+ name:
+ primary: dcae-dashboard-pgpool-primary
+ replica: dcae-dashboard-pgpool-replica
+
+# Resource Limit flavor -By Default using small
+flavor: small
+# Segregation for Different environment (Small and Large)
+resources:
+ small:
+ limits:
+ cpu: 2
+ memory: 2Gi
+ requests:
+ cpu: 1
+ memory: 1Gi
+ large:
+ limits:
+ cpu: 4
+ memory: 4Gi
+ requests:
+ cpu: 2
+ memory: 2Gi
+ unlimited: {}
+# Kubernetes namespace for components deployed via Cloudify manager
+# If empty, use the common namespace
+# dcae_ns: "dcae"
+
apiVersion: v1
description: ONAP DCAE Deployment Handler
name: dcae-deployment-handler
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.0.0
+ version: ~5.x-0
repository: '@local'
{
"cloudify": {
- "protocol": "http"
+ "protocol": "https"
},
"inventory": {
- "protocol": "http"
+ "protocol": "https"
}
-}
\ No newline at end of file
+}
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
args:
- --service
- - "cloudify_manager|dcae-cloudify-manager.{{ include "common.namespace" . }}|80"
+ - "cloudify_manager|dcae-cloudify-manager.{{ include "common.namespace" . }}|443"
- --service
- "inventory|inventory.{{ include "common.namespace" . }}|8080"
- --key
value: admin
- name: CONFIG_BINDING_SERVICE
value: config-binding-service
+ - name: NODE_EXTRA_CA_CERTS
+ value: /opt/app/dh/etc/cert/cacert.pem
- name: POD_IP
valueFrom:
fieldRef:
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: onap/org.onap.dcaegen2.platform.deployment-handler:4.0.1
+image: onap/org.onap.dcaegen2.platform.deployment-handler:4.2.0
pullPolicy: Always
# probe configuration parameters
apiVersion: v1
description: ONAP DCAE Health Check
name: dcae-healthcheck
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
periodSeconds: 10
# application image
repository: nexus3.onap.org:10001
-image: onap/org.onap.dcaegen2.deployments.healthcheck-container:1.2.4
+image: onap/org.onap.dcaegen2.deployments.healthcheck-container:1.2.5
# Resource Limit flavor -By Default using small
flavor: small
apiVersion: v1
description: ONAP DCAE Policy Handler
name: dcae-policy-handler
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.0.0
+ version: ~5.x-0
repository: '@local'
apiVersion: v1
description: ONAP DCAE Redis
name: dcae-redis
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
apiVersion: v1
description: ONAP DCAE Service Change Handler
name: dcae-servicechange-handler
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
apiVersion: v1
description: ONAP DCAE Inventory API Service
name: dcae-inventory-api
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
- name: postgres
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
"gzipEnabledForRequests": false,
"timeout": "5000milliseconds",
"connectionTimeout": "5000milliseconds"
+ },
+ "server": {
+ "applicationConnectors": [{
+ "type": "https",
+ "port": 8080,
+ "keyStorePath": "/opt/cert/cert.jks",
+ "keyStorePassword": "hD:!w:CxF]lGvM6Mz9l^j[7U",
+ "keyStoreType": "JKS"
+ }]
}
- }
\ No newline at end of file
+ }
fieldRef:
apiVersion: v1
fieldPath: metadata.namespace
+ - name: init-tls
+ env:
+ - name: POD_IP
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: status.podIP
+ image: {{ .Values.global.tlsRepository }}/{{ .Values.global.tlsImage }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ resources: {}
+ volumeMounts:
+ - mountPath: /opt/tls/shared
+ name: tls-info
containers:
- name: {{ include "common.name" . }}
image: "{{ include "common.repository" . }}/{{ .Values.image }}"
httpGet:
path: {{ .Values.readiness.path }}
port: {{ .Values.service.internalPort }}
+ scheme: {{ .Values.readiness.scheme }}
initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
periodSeconds: {{ .Values.readiness.periodSeconds }}
volumeMounts:
- name: {{ include "common.fullname" . }}-inv-config
mountPath: /opt/config.json
subPath: config.json
+ - mountPath: /opt/cert/
+ name: tls-info
env:
- name: CONSUL_HOST
value: consul.{{ include "common.namespace" . }}
- name: {{ include "common.fullname" . }}-inv-config
configMap:
name: {{ include "common.fullname" . }}-configmap
+ - emptyDir: {}
+ name: tls-info
imagePullSecrets:
- name: "{{ include "common.namespace" . }}-docker-registry-key"
readinessImage: readiness-check:2.0.0
loggingRepository: docker.elastic.co
loggingImage: beats/filebeat:5.5.0
+ tlsRepository: nexus3.onap.org:10001
+ tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:1.0.3
repositoryCred:
user: docker
password: docker
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: onap/org.onap.dcaegen2.platform.inventory-api:3.2.0
+image: onap/org.onap.dcaegen2.platform.inventory-api:3.4.0
pullPolicy: Always
initialDelaySeconds: 30
periodSeconds: 30
path: /dcae-service-types
+ scheme: HTTPS
service:
type: ClusterIP
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
"isFilterInEmptyResources": false
},
"dcaeInventoryClient": {
- "uri": "http://inventory:8080"
+ "uri": "https://inventory:8080"
}
}
fieldRef:
apiVersion: v1
fieldPath: metadata.namespace
+ - name: init-tls
+ env:
+ - name: POD_IP
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: status.podIP
+ image: {{ .Values.global.tlsRepository }}/{{ .Values.global.tlsImage }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ resources: {}
+ volumeMounts:
+ - mountPath: /opt/tls/shared
+ name: tls-info
containers:
- name: {{ include "common.name" . }}
image: "{{ include "common.repository" . }}/{{ .Values.image }}"
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
- command: ["java"]
- args:
- - "-jar"
- - "/opt/servicechange-handler.jar"
- - "prod"
- - "/opt/config.json"
resources:
{{ include "common.resources" . | indent 12 }}
# disable liveness probe when breakpoints set in debugger
- name: {{ include "common.fullname" . }}-sch-config
mountPath: /opt/config.json
subPath: config.json
+ # NOTE: This is tied to the PATH_TO_CACERT env variable
+ - mountPath: /opt/cert/
+ name: tls-info
env:
- name: CONSUL_HOST
value: consul.{{ include "common.namespace" . }}
+ - name: PATH_TO_CACERT
+ value: "/opt/cert/cacert.pem"
+ - name: SCH_ARGS
+ value: "prod /opt/config.json"
volumes:
- name: {{ include "common.fullname" . }}-sch-config
configMap:
name: {{ include "common.fullname" . }}-configmap
+ - emptyDir: {}
+ name: tls-info
imagePullSecrets:
- name: "{{ include "common.namespace" . }}-docker-registry-key"
readinessImage: readiness-check:2.0.0
loggingRepository: docker.elastic.co
loggingImage: beats/filebeat:5.5.0
+ tlsRepository: nexus3.onap.org:10001
+ tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:1.0.3
repositoryCred:
user: docker
password: docker
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: onap/org.onap.dcaegen2.platform.servicechange-handler:1.1.5
+image: onap/org.onap.dcaegen2.platform.servicechange-handler:1.3.2
pullPolicy: Always
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
apiVersion: v1
description: ONAP DMaaP components
name: dmaap
-version: 4.0.1
+version: 5.0.0
\ No newline at end of file
apiVersion: v1
description: a Helm chart to deploy ONAP DMaaP Bus Controller (aka dmaap-bc) in Kubernetes
name: dmaap-bc
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
- name: postgres
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: PG.enabled
apiVersion: v1
description: ONAP DMaaP Data Router Node Server
name: dmaap-dr-node
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
+++ /dev/null
-#!/bin/sh
-
-dr_prov_url="{{.Values.config.dmaapDrProv.name}}:{{.Values.config.dmaapDrProv.internalPort2}}"
-ct_header="Content-Type:application/vnd.dmaap-dr.feed"
-obo_header="X-DMAAP-DR-ON-BEHALF-OF:dradmin"
-feed_payload=/opt/app/datartr/etc/dedicatedFeed.json
-
-sleep 20
-
-if curl -k https://${dr_prov_url}/internal/prov | awk 'BEGIN{ORS=""} {print}' | egrep "\"feeds\":\s+\[\]"; then
- curl -X POST -H ${ct_header} -H ${obo_header} --data-ascii @${feed_payload} --post301 --location-trusted -k https://${dr_prov_url};
-else
- echo "NO feed creation required";
-fi
+++ /dev/null
-{
- "name": "Default PM Feed",
- "version": "m1.0",
- "description": "Default feed provisioned for PM File collector",
- "business_description": "Default Feed",
- "suspend": false,
- "deleted": false,
- "changeowner": true,
- "authorization": {
- "classification": "unclassified",
- "endpoint_addrs": [],
- "endpoint_ids": [
- {
- "password": "dradmin",
- "id": "dradmin"
- }]
- }
-}
\ No newline at end of file
# SPDX-License-Identifier: Apache-2.0
# ============LICENSE_END=========================================================
+# dmaap-dr-node filebeat.yml
filebeat.prospectors:
#it is mandatory, in our case it's log
- input_type: log
- /var/log/onap/*/*/*/*.log
- /var/log/onap/*/*/*.log
- /var/log/onap/*/*.log
- - /opt/app/datartr/logs/*.log
#Files older than this should be ignored.In our case it will be 48 hours i.e. 2 days. It is a helping flag for clean_inactive
ignore_older: 48h
# Remove the registry entry for a file that is more than the specified time. In our case it will be 96 hours, i.e. 4 days. It will help to keep registry records with in limit
#List of logstash server ip addresses with port number.
#But, in our case, this will be the loadbalancer IP address.
#For the below property to work the loadbalancer or logstash should expose 5044 port to listen the filebeat events or port in the property should be changed appropriately.
- hosts: ["{{.Values.config.logstashServiceName}}.{{.Release.Namespace}}:{{.Values.config.logstashPort}}"]
+ hosts: ["{{.Values.global.logstashServiceName}}.{{.Release.Namespace}}:{{.Values.global.logstashPort}}"]
#If enable will do load balancing among available Logstash, automatically.
loadbalance: true
SPDX-License-Identifier: Apache-2.0
============LICENSE_END=========================================================
-->
-<configuration scan="true" scanPeriod="3 seconds" debug="true">
+<configuration scan="true" scanPeriod="3 seconds" debug="false">
- <property name="generalLogName" value="apicalls" />
- <property name="errorLogName" value="errors" />
- <property name="jettyAndNodeLogName" value="node"/>
+ <property name="logDir" value="/var/log/onap/datarouter" />
+ <!-- log file names -->
+ <property name="auditLog" value="audit" />
+ <property name="errorLog" value="error" />
+ <property name="debugLog" value="debug" />
+ <property name="metricsLog" value="metrics" />
+ <property name="jettyLog" value="jetty" />
- <property name="defaultPattern" value="%d{MM/dd-HH:mm:ss.SSS}|%logger|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|%msg%n" />
- <property name="jettyAndNodeLoggerPattern" value="%d{MM/dd-HH:mm:ss.SSS}|%logger|%thread|%.-5level|%msg%n" />
- <property name="debugLoggerPattern" value="%d{MM/dd-HH:mm:ss.SSS}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|[%caller{3}]|%msg%n" />
-
- <property name="logDirectory" value="/opt/app/datartr/logs" />
+ <!-- log file names -->
+ <property name="defaultPattern" value="%d{MM/dd-HH:mm:ss.SSS}|%logger|%X{RequestId}|%X{InvocationId}|%X{ServiceInstanceId}|%thread|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}%n|%msg%n" />
+ <property name="logDirectory" value="${logDir}" />
+ <!-- Example evaluator filter applied against console appender -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${defaultPattern}</pattern>
<!-- EELF Appenders -->
<!-- ============================================================================ -->
- <appender name="EELF"
+ <!-- The EELFAppender is used to record events to the general application
+ log -->
+
+
+ <appender name="Audit"
class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/${generalLogName}.log</file>
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>INFO</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
+ <file>${logDirectory}/${auditLog}.log</file>
+ <filter class="org.onap.dmaap.datarouter.node.eelf.AuditFilter">
</filter>
<rollingPolicy
class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
- <fileNamePattern>${logDirectory}/${generalLogName}.%i.log.zip
+ <fileNamePattern>${logDirectory}/${auditLog}.%i.log.zip
</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>9</maxIndex>
</rollingPolicy>
<triggeringPolicy
class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
- <maxFileSize>5MB</maxFileSize>
+ <maxFileSize>50MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncAudit" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="Audit" />
+ </appender>
+
+ <!-- ============================================================================ -->
+
+ <appender name="Metrics"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${metricsLog}.log</file>
+ <filter class="org.onap.dmaap.datarouter.node.eelf.MetricsFilter">
+ </filter>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${metricsLog}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>50MB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>${defaultPattern}</pattern>
</encoder>
</appender>
- <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">
+ <appender name="asyncMetrics" class="ch.qos.logback.classic.AsyncAppender">
<queueSize>256</queueSize>
- <appender-ref ref="EELF" />
+ <appender-ref ref="Metrics" />
</appender>
- <appender name="EELFError"
+ <!-- ============================================================================ -->
+
+
+ <appender name="Debug"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${debugLog}.log</file>
+ <filter class="org.onap.dmaap.datarouter.node.eelf.DebugFilter">
+ </filter>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${debugLog}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>50MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncDebug" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="Debug" />
+ </appender>
+
+ <!-- ============================================================================ -->
+
+ <appender name="Error"
class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/${errorLogName}.log</file>
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>ERROR</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
+ <file>${logDirectory}/${errorLog}.log</file>
+ <filter class="org.onap.dmaap.datarouter.node.eelf.ErrorFilter">
</filter>
<rollingPolicy
class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
- <fileNamePattern>${logDirectory}/${errorLogName}.%i.log.zip
+ <fileNamePattern>${logDirectory}/${errorLog}.%i.log.zip
</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>9</maxIndex>
</rollingPolicy>
<triggeringPolicy
class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
- <maxFileSize>5MB</maxFileSize>
+ <maxFileSize>50MB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>${defaultPattern}</pattern>
</encoder>
</appender>
- <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
+ <appender name="asyncError" class="ch.qos.logback.classic.AsyncAppender">
<queueSize>256</queueSize>
- <appender-ref ref="EELFError"/>
+ <appender-ref ref="Error"/>
</appender>
<!-- ============================================================================ -->
- <appender name="jettyAndNodelog"
+ <appender name="Jetty"
class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/${jettyAndNodeLogName}.log</file>
- <filter class="org.onap.dmaap.datarouter.node.eelf.EELFFilter" />
+ <file>${logDirectory}/${jettyLog}.log</file>
+ <filter class="org.onap.dmaap.datarouter.node.eelf.JettyFilter" />
<rollingPolicy
class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
- <fileNamePattern>${logDirectory}/${jettyAndNodeLogName}.%i.log.zip
+ <fileNamePattern>${logDirectory}/${jettyLog}.%i.log.zip
</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>9</maxIndex>
</rollingPolicy>
<triggeringPolicy
class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
- <maxFileSize>5MB</maxFileSize>
+ <maxFileSize>50MB</maxFileSize>
</triggeringPolicy>
<encoder>
- <pattern>${jettyAndNodeLoggerPattern}</pattern>
+ <pattern>${defaultPattern}</pattern>
</encoder>
</appender>
- <appender name="asyncEELFjettyAndNodelog" class="ch.qos.logback.classic.AsyncAppender">
+ <appender name="asyncJettyLog" class="ch.qos.logback.classic.AsyncAppender">
<queueSize>256</queueSize>
- <appender-ref ref="jettyAndNodelog" />
+ <appender-ref ref="Jetty" />
<includeCallerData>true</includeCallerData>
</appender>
+ <!-- ============================================================================ -->
+
+
<!-- ============================================================================ -->
<!-- EELF loggers -->
<!-- ============================================================================ -->
<logger name="com.att.eelf" level="info" additivity="false">
- <appender-ref ref="asyncEELF" />
+ <appender-ref ref="asyncAudit" />
+ </logger>
+
+ <logger name="com.att.eelf" additivity="false">
+ <appender-ref ref="asyncMetrics" />
+ </logger>
+
+ <logger name="com.att.eelf" additivity="false">
+ <appender-ref ref="asyncDebug" />
</logger>
- <logger name="com.att.eelf.error" level="error" additivity="false">
- <appender-ref ref="asyncEELFError" />
- </logger>
+ <logger name="com.att.eelf.error" additivity="false">
+ <appender-ref ref="asyncError" />
+ </logger>
+
+ <logger name="log4j.logger.org.eclipse.jetty" additivity="false">
+ <appender-ref ref="asyncJettyLog"/>
+ </logger>
- <logger name="log4j.logger.org.eclipse.jetty" additivity="false" level="info">
- <appender-ref ref="asyncEELFjettyAndNodelog"/>
- </logger>
<root level="INFO">
- <appender-ref ref="asyncEELF" />
- <appender-ref ref="asyncEELFError" />
- <appender-ref ref="asyncEELFjettyAndNodelog" />
+ <appender-ref ref="asyncAudit" />
+ <appender-ref ref="asyncMetrics" />
+ <appender-ref ref="asyncDebug" />
+ <appender-ref ref="asyncError" />
+ <appender-ref ref="asyncJettyLog" />
</root>
-</configuration>
+</configuration>
\ No newline at end of file
# URL to retrieve dynamic configuration
#
#ProvisioningURL: ${DRTR_PROV_INTURL}
-ProvisioningURL=https://{{.Values.config.dmaapDrProv.name}}:{{.Values.config.dmaapDrProv.externalPort2}}/internal/prov
+ProvisioningURL=https://{{ .Values.global.dmaapDrProvName }}:{{ .Values.global.dmaapDrProvExtPort2 }}/internal/prov
#
# URL to upload PUB/DEL/EXP logs
#
#LogUploadURL: ${DRTR_LOG_URL}
-LogUploadURL=https://{{.Values.config.dmaapDrProv.name}}:{{.Values.config.dmaapDrProv.externalPort2}}/internal/logs
+LogUploadURL=https://{{ .Values.global.dmaapDrProvName }}:{{ .Values.global.dmaapDrProvExtPort2 }}/internal/logs
#
# The port number for http as seen within the server
---
apiVersion: v1
kind: ConfigMap
-metadata:
- name: {{ include "common.fullname" . }}-create-feed-configmap
- namespace: {{ include "common.namespace" . }}
- labels:
- app: {{ include "common.name" . }}
- chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
- release: {{ .Release.Name }}
- heritage: {{ .Release.Service }}
-data:
-{{ tpl (.Files.Glob "resources/config/feeds/*").AsConfig . | indent 2 }}
----
-apiVersion: v1
-kind: ConfigMap
metadata:
name: {{ include "common.fullname" . }}-log
namespace: {{ include "common.namespace" . }}
apiVersion: v1
kind: ConfigMap
metadata:
- name: {{ include "common.fullname" . }}-dmaap-filebeat-configmap
+ name: {{ include "common.fullname" . }}-dmaap-dr-node-filebeat-configmap
namespace: {{ include "common.namespace" . }}
data:
{{ tpl (.Files.Glob "resources/config/log/filebeat/filebeat.yml").AsConfig . | indent 2 }}
- mountPath: /etc/localtime
name: localtime
readOnly: false
- - mountPath: /opt/app/datartr/etc/dedicatedFeed.json
- name: {{ include "common.fullname" . }}-create-feed-config
- subPath: dedicatedFeed.json
- - mountPath: /opt/app/datartr/etc/createFeed.sh
- name: {{ include "common.fullname" . }}-create-feed-config
- subPath: createFeed.sh
- mountPath: /opt/app/datartr/etc/node.properties
name: {{ include "common.fullname" . }}-config
subPath: node.properties
- mountPath: /opt/app/datartr/etc/drNodeCadi.properties
name: {{ include "common.fullname" . }}-config
subPath: drNodeCadi.properties
- lifecycle:
- postStart:
- exec:
- command:
- - /opt/app/datartr/etc/createFeed.sh
+ - mountPath: /opt/app/datartr/etc/logback.xml
+ name: {{ include "common.fullname" . }}-log-conf
+ subPath: logback.xml
+ - mountPath: {{ .Values.global.loggingDirectory }}
+ name: {{ include "common.fullname" . }}-logs
resources:
{{ include "common.resources" . | indent 12 }}
{{- if .Values.nodeSelector }}
subPath: filebeat.yml
- name: {{ include "common.fullname" . }}-data-filebeat
mountPath: /usr/share/filebeat/data
- - name: {{ include "common.fullname" . }}-event-logs-pvc
+ - name: {{ include "common.fullname" . }}-logs
mountPath: /var/log/onap/datarouter-node
imagePullSecrets:
- name: "{{ include "common.namespace" . }}-docker-registry-key"
- name: localtime
hostPath:
path: /etc/localtime
- - name: {{ include "common.fullname" . }}-create-feed-config
- configMap:
- name: {{ include "common.fullname" . }}-create-feed-configmap
- defaultMode: 0755
- items:
- - key: createFeed.sh
- path: createFeed.sh
- - key: dedicatedFeed.json
- path: dedicatedFeed.json
- name: {{ include "common.fullname" . }}-config
configMap:
name: {{ include "common.fullname" . }}-configmap
name: {{ include "common.fullname" . }}-log
- name: {{ include "common.fullname" . }}-filebeat-conf
configMap:
- name: {{ .Release.Name }}-dmaap-filebeat-configmap
+ name: {{ include "common.fullname" . }}-dmaap-dr-node-filebeat-configmap
- name: {{ include "common.fullname" . }}-data-filebeat
emptyDir: {}
- name: {{ include "common.fullname" . }}-event-logs-pvc
emptyDir: {}
+ - name: {{ include "common.fullname" . }}-logs
+ emptyDir: {}
volumeClaimTemplates:
- metadata:
name: {{ include "common.fullname" . }}-spool-data-pvc
# Global configuration defaults.
#################################################################
global:
- nodePortPrefixExt: 304
- readinessRepository: oomk8s
- readinessImage: readiness-check:2.0.0
- loggingRepository: docker.elastic.co
- loggingImage: beats/filebeat:5.5.0
- loggingDirectory: /opt/app/datartr/logs
+ loggingDirectory: /var/log/onap/datarouter
busyBoxImage: busybox:1.30
busyBoxRepository: docker.io
# Application configuration defaults.
#################################################################
# application image
-repository: nexus3.onap.org:10001
-image: onap/dmaap/datarouter-node:2.1.0
+image: onap/dmaap/datarouter-node:2.1.1
pullPolicy: Always
# flag to enable debugging - application support required
portName2: dr-node-port2
nodePort: 93
nodePort2: 94
-
-# dr provisioning server configuration
- dmaapDrProv:
- name: dmaap-dr-prov
- externalPort2: 8443
- internalPort2: 8443
apiVersion: v1
description: ONAP DMaaP Data Router Provisioning Server
name: dmaap-dr-prov
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
- name: mariadb-galera
alias: mariadb
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
\ No newline at end of file
# SPDX-License-Identifier: Apache-2.0
# ============LICENSE_END=========================================================
+# dmaap-dr-prov filebeat.yml
filebeat.prospectors:
#it is mandatory, in our case it's log
- input_type: log
#List of logstash server ip addresses with port number.
#But, in our case, this will be the loadbalancer IP address.
#For the below property to work the loadbalancer or logstash should expose 5044 port to listen the filebeat events or port in the property should be changed appropriately.
- hosts: ["{{.Values.config.logstashServiceName}}.{{.Release.Namespace}}:{{.Values.config.logstashPort}}"]
+ hosts: ["{{.Values.global.logstashServiceName}}.{{.Release.Namespace}}:{{.Values.global.logstashPort}}"]
#If enable will do load balancing among available Logstash, automatically.
loadbalance: true
============LICENSE_END=========================================================
-->
<configuration scan="true" scanPeriod="3 seconds" debug="true">
+ <!--<jmxConfigurator /> -->
+ <!-- directory path for all other type logs -->
+ <!-- property name="logDir" value="/home/eby/dr2/logs" / -->
+ <property name="logDir" value="/opt/app/datartr/logs" />
- <property name="generalLogName" value="apicalls" />
- <property name="errorLogName" value="errors" />
- <property name="jettyLogName" value="jetty"/>
-
- <property name="defaultPattern" value="%d{MM/dd-HH:mm:ss.SSS}|%logger|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|%msg%n" />
- <property name="jettyLoggerPattern" value="%d{MM/dd-HH:mm:ss.SSS}|%logger|%thread|%.-5level|%msg%n" />
- <property name="debugLoggerPattern" value="%d{MM/dd-HH:mm:ss.SSS}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|[%caller{3}]|%msg%n" />
-
- <property name="logDirectory" value="/opt/app/datartr/logs" />
-
- <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
- <encoder>
- <pattern>${defaultPattern}</pattern>
- </encoder>
- </appender>
-
- <!-- ============================================================================ -->
- <!-- EELF Appenders -->
- <!-- ============================================================================ -->
-
- <appender name="EELF"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/${generalLogName}.log</file>
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>INFO</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
- </filter>
- <rollingPolicy
- class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
- <fileNamePattern>${logDirectory}/${generalLogName}.%i.log.zip
- </fileNamePattern>
- <minIndex>1</minIndex>
- <maxIndex>9</maxIndex>
- </rollingPolicy>
- <triggeringPolicy
- class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
- <maxFileSize>5MB</maxFileSize>
- </triggeringPolicy>
- <encoder>
- <pattern>${defaultPattern}</pattern>
- </encoder>
- </appender>
-
- <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>256</queueSize>
- <appender-ref ref="EELF" />
- </appender>
-
- <appender name="EELFError"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/${errorLogName}.log</file>
- <filter class="ch.qos.logback.classic.filter.LevelFilter">
- <level>ERROR</level>
- <onMatch>ACCEPT</onMatch>
- <onMismatch>DENY</onMismatch>
- </filter>
- <rollingPolicy
- class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
- <fileNamePattern>${logDirectory}/${errorLogName}.%i.log.zip
- </fileNamePattern>
- <minIndex>1</minIndex>
- <maxIndex>9</maxIndex>
- </rollingPolicy>
- <triggeringPolicy
- class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
- <maxFileSize>5MB</maxFileSize>
- </triggeringPolicy>
- <encoder>
- <pattern>${defaultPattern}</pattern>
- </encoder>
- </appender>
-
- <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>256</queueSize>
- <appender-ref ref="EELFError"/>
- </appender>
-
- <!-- ============================================================================ -->
- <appender name="jettylog"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/${jettyLogName}.log</file>
- <filter class="org.onap.dmaap.datarouter.provisioning.eelf.JettyFilter" />
- <rollingPolicy
- class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
- <fileNamePattern>${logDirectory}/${jettyLogName}.%i.log.zip
- </fileNamePattern>
- <minIndex>1</minIndex>
- <maxIndex>9</maxIndex>
- </rollingPolicy>
- <triggeringPolicy
- class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
- <maxFileSize>5MB</maxFileSize>
- </triggeringPolicy>
- <encoder>
- <pattern>${jettyLoggerPattern}</pattern>
- </encoder>
- </appender>
-
- <appender name="asyncEELFjettylog" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>256</queueSize>
- <appender-ref ref="jettylog" />
- <includeCallerData>true</includeCallerData>
- </appender>
-
- <!-- ============================================================================ -->
- <!-- EELF loggers -->
- <!-- ============================================================================ -->
- <logger name="com.att.eelf" level="info" additivity="false">
- <appender-ref ref="asyncEELF" />
- </logger>
-
- <logger name="com.att.eelf.error" level="error" additivity="false">
- <appender-ref ref="asyncEELFError" />
- </logger>
-
- <logger name="log4j.logger.org.eclipse.jetty" additivity="false" level="info">
+ <!-- directory path for debugging type logs -->
+ <!-- property name="debugDir" value="/home/eby/dr2/debug-logs" /-->
+
+ <!-- specify the component name
+ <ECOMP-component-name>::= "MSO" | "DCAE" | "ASDC " | "AAI" |"Policy" | "SDNC" | "AC" -->
+ <!-- This creates the MSO directory in in the LogDir which is not needed, mentioned last directory of the path-->
+ <!-- property name="componentName" value="logs"></property -->
+
+ <!-- log file names -->
+ <property name="generalLogName" value="apicalls" />
+ <!-- name="securityLogName" value="security" -->
+ <!-- name="performanceLogName" value="performance" -->
+ <!-- name="serverLogName" value="server" -->
+ <!-- name="policyLogName" value="policy"-->
+ <property name="errorLogName" value="errors" />
+ <!-- name="metricsLogName" value="metrics" -->
+ <property name="debugLogName" value="debug"/>
+ <property name="jettyLogName" value="jetty"/>
+ <property name="defaultPattern" value="%d{MM/dd-HH:mm:ss.SSS}|%logger|%X{RequestId}|%X{InvocationId}|%X{ServiceInstanceId}|%thread|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|%msg%n" />
+ <property name="jettyLoggerPattern" value="%d{MM/dd-HH:mm:ss.SSS}|%logger|%thread|%.-5level|%msg%n" />
+
+ <property name="debugLoggerPattern" value="%d{MM/dd-HH:mm:ss.SSS}|%logger|%X{RequestId}|%X{InvocationId}|%X{ServiceInstanceId}|%thread|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|[%caller{3}]|%msg%n" />
+
+ <property name="logDirectory" value="${logDir}" />
+ <!-- property name="debugLogDirectory" value="${debugDir}/${componentName}" /-->
+
+
+ <!-- Example evaluator filter applied against console appender -->
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+ <encoder>
+ <pattern>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <!-- ============================================================================ -->
+ <!-- EELF Appenders -->
+ <!-- ============================================================================ -->
+
+ <!-- The EELFAppender is used to record events to the general application
+ log -->
+
+
+ <appender name="EELF"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${generalLogName}.log</file>
+ <filter class="ch.qos.logback.classic.filter.LevelFilter">
+ <level>INFO</level>
+ <onMatch>ACCEPT</onMatch>
+ <onMismatch>DENY</onMismatch>
+ </filter>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${generalLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>50MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELF" />
+ </appender>
+
+ <!-- EELF Security Appender. This appender is used to record security events
+ to the security log file. Security events are separate from other loggers
+ in EELF so that security log records can be captured and managed in a secure
+ way separate from the other logs. This appender is set to never discard any
+ events. -->
+ <!--appender name="EELFSecurity"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${securityLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${securityLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>5MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncEELFSecurity" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <discardingThreshold>0</discardingThreshold>
+ <appender-ref ref="EELFSecurity" />
+ </appender-->
+
+ <!-- EELF Performance Appender. This appender is used to record performance
+ records. -->
+ <!--appender name="EELFPerformance"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${performanceLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${performanceLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>5MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <outputPatternAsHeader>true</outputPatternAsHeader>
+ <pattern>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+ <appender name="asyncEELFPerformance" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFPerformance" />
+ </appender-->
+
+ <!-- EELF Server Appender. This appender is used to record Server related
+ logging events. The Server logger and appender are specializations of the
+ EELF application root logger and appender. This can be used to segregate Server
+ events from other components, or it can be eliminated to record these events
+ as part of the application root log. -->
+ <!--appender name="EELFServer"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${serverLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${serverLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>5MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+ <appender name="asyncEELFServer" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFServer" />
+ </appender-->
+
+
+ <!-- EELF Policy Appender. This appender is used to record Policy engine
+ related logging events. The Policy logger and appender are specializations
+ of the EELF application root logger and appender. This can be used to segregate
+ Policy engine events from other components, or it can be eliminated to record
+ these events as part of the application root log. -->
+ <!--appender name="EELFPolicy"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${policyLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${policyLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>5MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+ <appender name="asyncEELFPolicy" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFPolicy" >
+ </appender-->
+
+
+ <!-- EELF Audit Appender. This appender is used to record audit engine
+ related logging events. The audit logger and appender are specializations
+ of the EELF application root logger and appender. This can be used to segregate
+ Policy engine events from other components, or it can be eliminated to record
+ these events as part of the application root log. -->
+
+ <!--appender name="EELFAudit"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${auditLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${auditLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>5MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+ <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFAudit" />
+ </appender-->
+
+ <!--appender name="EELFMetrics"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${metricsLogName}.log</file>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${metricsLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>5MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder-->
+ <!-- <pattern>"%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} -
+ %msg%n"</pattern> -->
+ <!--pattern>${defaultPattern}</pattern>
+ </encoder>
+</appender>
+
+
+<appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFMetrics"/>
+</appender-->
+
+ <appender name="EELFError"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${errorLogName}.log</file>
+ <filter class="ch.qos.logback.classic.filter.LevelFilter">
+ <level>ERROR</level>
+ <onMatch>ACCEPT</onMatch>
+ <onMismatch>DENY</onMismatch>
+ </filter>
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${errorLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>50MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFError"/>
+ </appender>
+
+ <!-- ============================================================================ -->
+ <appender name="jettylog"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${jettyLogName}.log</file>
+ <filter class="org.onap.dmaap.datarouter.provisioning.eelf.JettyFilter" />
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${jettyLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>50MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${jettyLoggerPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncEELFjettylog" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="jettylog" />
+ <includeCallerData>true</includeCallerData>
+ </appender>
+
+ <!-- ============================================================================ -->
+
+
+ <appender name="EELFDebug"
+ class="ch.qos.logback.core.rolling.RollingFileAppender">
+ <file>${logDirectory}/${debugLogName}.log</file>
+ <filter class="org.onap.dmaap.datarouter.provisioning.eelf.DebugTraceFilter" />
+ <rollingPolicy
+ class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
+ <fileNamePattern>${logDirectory}/${debugLogName}.%i.log.zip
+ </fileNamePattern>
+ <minIndex>1</minIndex>
+ <maxIndex>9</maxIndex>
+ </rollingPolicy>
+ <triggeringPolicy
+ class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
+ <maxFileSize>50MB</maxFileSize>
+ </triggeringPolicy>
+ <encoder>
+ <pattern>${defaultPattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>256</queueSize>
+ <appender-ref ref="EELFDebug" />
+ <includeCallerData>true</includeCallerData>
+ </appender>
+
+
+ <!-- ============================================================================ -->
+ <!-- EELF loggers -->
+ <!-- ============================================================================ -->
+ <logger name="com.att.eelf" level="info" additivity="false">
+ <appender-ref ref="asyncEELF" />
+ </logger>
+
+ <logger name="com.att.eelf.error" level="error" additivity="false">
+ <appender-ref ref="asyncEELFError" />
+ </logger>
+
+ <logger name="log4j.logger.org.eclipse.jetty" additivity="false" level="info">
<appender-ref ref="asyncEELFjettylog"/>
</logger>
- <root level="INFO">
- <appender-ref ref="asyncEELF" />
- <appender-ref ref="asyncEELFError" />
- <appender-ref ref="asyncEELFjettylog" />
- </root>
+ <logger name="com.att.eelf.debug" level="debug" additivity="false">
+ <appender-ref ref="asyncEELFDebug" />
+ </logger>
+
+ <!-- logger name="com.att.eelf.security" level="info" additivity="false">
+ <appender-ref ref="asyncEELFSecurity" />
+ </logger>
+ <logger name="com.att.eelf.perf" level="info" additivity="false">
+ <appender-ref ref="asyncEELFPerformance" />
+ </logger>
+ <logger name="com.att.eelf.server" level="info" additivity="false">
+ <appender-ref ref="asyncEELFServer" />
+ </logger>
+ <logger name="com.att.eelf.policy" level="info" additivity="false">
+ <appender-ref ref="asyncEELFPolicy" />
+ </logger>
+
+ <logger name="com.att.eelf.audit" level="info" additivity="false">
+ <appender-ref ref="asyncEELFAudit" />
+ </logger>
+
+ <logger name="com.att.eelf.metrics" level="info" additivity="false">
+ <appender-ref ref="asyncEELFMetrics" />
+ </logger>
+
+ <logger name="com.att.eelf.debug" level="debug" additivity="false">
+ <appender-ref ref="asyncEELFDebug" />
+ </logger-->
+
+
+
+
+ <root level="INFO">
+ <appender-ref ref="asyncEELF" />
+ <appender-ref ref="asyncEELFError" />
+ <appender-ref ref="asyncEELFjettylog" />
+ <appender-ref ref="asyncEELFDebug" />
+ </root>
-</configuration>
+</configuration>
\ No newline at end of file
#Jetty Server properties
-org.onap.dmaap.datarouter.provserver.http.port = {{.Values.config.dmaapDrProv.externalPort}}
-org.onap.dmaap.datarouter.provserver.https.port = {{.Values.config.dmaapDrProv.externalPort2}}
+org.onap.dmaap.datarouter.provserver.http.port = {{.Values.global.dmaapDrProvExtPort}}
+org.onap.dmaap.datarouter.provserver.https.port = {{.Values.global.dmaapDrProvExtPort2}}
org.onap.dmaap.datarouter.provserver.https.relaxation = true
org.onap.dmaap.datarouter.provserver.keymanager.password = FZNkU,B%NJzcT1v7;^v]M#ZX
apiVersion: v1
kind: ConfigMap
metadata:
- name: {{ include "common.fullname" . }}-dmaap-filebeat-configmap
+ name: {{ include "common.fullname" . }}-dmaap-dr-prov-filebeat-configmap
namespace: {{ include "common.namespace" . }}
data:
{{ tpl (.Files.Glob "resources/config/log/filebeat/filebeat.yml").AsConfig . | indent 2 }}
app: {{ include "common.name" . }}
release: {{ .Release.Name }}
spec:
- hostname: {{.Values.config.dmaapDrProv.name}}
+ hostname: {{ .Values.global.dmaapDrProvName }}
initContainers:
- command:
- /root/ready.py
args:
- --container-name
- - {{.Values.config.dmaapDrDb.mariadbContName}}
+ - {{ .Values.config.dmaapDrDb.mariadbContName }}
env:
- name: NAMESPACE
valueFrom:
image: "{{ include "common.repository" . }}/{{ .Values.image }}"
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
ports:
- - containerPort: {{.Values.config.dmaapDrProv.externalPort}}
- - containerPort: {{.Values.config.dmaapDrProv.externalPort2}}
+ - containerPort: {{ .Values.global.dmaapDrProvExtPort }}
+ - containerPort: {{ .Values.global.dmaapDrProvExtPort2 }}
{{- if eq .Values.liveness.enabled true }}
livenessProbe:
tcpSocket:
- port: {{.Values.config.dmaapDrProv.externalPort}}
+ port: {{ .Values.global.dmaapDrProvExtPort }}
initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
periodSeconds: {{ .Values.liveness.periodSeconds }}
{{ end -}}
readinessProbe:
tcpSocket:
- port: {{.Values.config.dmaapDrProv.externalPort}}
+ port: {{ .Values.global.dmaapDrProvExtPort }}
initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
periodSeconds: {{ .Values.readiness.periodSeconds }}
volumeMounts:
- mountPath: /opt/app/datartr/etc/drProvCadi.properties
name: {{ include "common.fullname" . }}-config
subPath: drProvCadi.properties
+ - mountPath: /opt/app/datartr/etc/logback.xml
+ name: {{ include "common.fullname" . }}-log-conf
+ subPath: logback.xml
- mountPath: {{ .Values.global.loggingDirectory }}
name: {{ include "common.fullname" . }}-logs
resources:
name: {{ include "common.fullname" . }}-log
- name: {{ include "common.fullname" . }}-filebeat-conf
configMap:
- name: {{ .Release.Name }}-dmaap-filebeat-configmap
+ name: {{ include "common.fullname" . }}-dmaap-dr-prov-filebeat-configmap
- name: {{ include "common.fullname" . }}-data-filebeat
emptyDir: {}
- name: {{ include "common.fullname" . }}-logs
apiVersion: v1
kind: Service
metadata:
- name: {{.Values.config.dmaapDrProv.name}}
+ name: {{ .Values.global.dmaapDrProvName }}
namespace: {{ include "common.namespace" . }}
labels:
app: {{ include "common.name" . }}
service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
msb.onap.org/service-info: '[
{
- "serviceName": "{{.Values.config.dmaapDrProv.name}}",
+ "serviceName": "{{ .Values.global.dmaapDrProvName }}",
"version": "v1",
"url": "/",
"protocol": "REST",
- "port": "{{.Values.config.dmaapDrProv.externalPort2}}",
+ "port": "{{ .Values.global.dmaapDrProvExtPort2 }}",
"visualRange":"1"
}
]'
spec:
- type: {{.Values.config.dmaapDrProv.servicetype}}
+ type: {{ .Values.config.dmaapDrProv.servicetype }}
ports:
- {{- if eq .Values.config.dmaapDrProv.servicetype "NodePort" }}
+ {{if eq .Values.config.dmaapDrProv.servicetype "NodePort" -}}
{{- if .Values.global.allow_http }}
- - port: {{.Values.config.dmaapDrProv.externalPort}}
- targetPort: {{.Values.config.dmaapDrProv.internalPort}}
- nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{.Values.config.dmaapDrProv.nodePort}}
- name: {{.Values.config.dmaapDrProv.name}}
+ - port: {{ .Values.global.dmaapDrProvExtPort }}
+ targetPort: {{ .Values.config.dmaapDrProv.internalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.config.dmaapDrProv.nodePort }}
+ name: {{ .Values.config.dmaapDrProv.portName }}
{{- end}}
- - port: {{.Values.config.dmaapDrProv.externalPort2}}
- targetPort: {{.Values.config.dmaapDrProv.internalPort2}}
- nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{.Values.config.dmaapDrProv.nodePort2}}
- name: {{.Values.config.dmaapDrProv.name}}2
+ - port: {{ .Values.global.dmaapDrProvExtPort2 }}
+ targetPort: {{ .Values.config.dmaapDrProv.internalPort2 }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.config.dmaapDrProv.nodePort2 }}
+ name: {{ .Values.config.dmaapDrProv.portName }}2
{{- else -}}
- - port: {{.Values.config.dmaapDrProv.externalPort}}
- targetPort: {{.Values.config.dmaapDrProv.internalPort}}
- name: {{.Values.config.dmaapDrProv.name}}
- - port: {{.Values.config.dmaapDrProv.externalPort2}}
- targetPort: {{.Values.config.dmaapDrProv.internalPort2}}
- name: {{.Values.config.dmaapDrProv.name}}2
+ - port: {{ .Values.global.dmaapDrProvExtPort }}
+ targetPort: {{ .Values.config.dmaapDrProv.internalPort }}
+ name: {{ .Values.config.dmaapDrProv.portName }}
+ - port: {{ .Values.global.dmaapDrProvExtPort2 }}
+ targetPort: {{ .Values.config.dmaapDrProv.internalPort2 }}
+ name: {{ .Values.config.dmaapDrProv.portName }}2
{{- end}}
selector:
app: {{ include "common.name" . }}
#################################################################
global:
nodePortPrefix: 302
- readinessRepository: oomk8s
- readinessImage: readiness-check:2.0.0
- loggingRepository: docker.elastic.co
- loggingImage: beats/filebeat:5.5.0
loggingDirectory: /opt/app/datartr/logs
#################################################################
# Application configuration defaults.
#################################################################
# application image
-repository: nexus3.onap.org:10001
-image: onap/dmaap/datarouter-prov:2.1.0
+image: onap/dmaap/datarouter-prov:2.1.1
pullPolicy: Always
# flag to enable debugging - application support required
# dr provisioning server configuration
dmaapDrProv:
servicetype: NodePort
- name: dmaap-dr-prov
- externalPort: 8080
- externalPort2: 8443
internalPort: 8080
internalPort2: 8443
portName: dr-prov-port
apiVersion: v1
description: ONAP Message Router
name: message-router
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP Message Router Kafka Service
name: message-router-kafka
-version: 4.0.0
+version: 5.0.0
--- /dev/null
+aaf_url=https://AAF_LOCATE_URL/onap.org.osaaf.aaf.service:2.1
+aaf_env=DEV
+aaf_lur=org.onap.aaf.cadi.aaf.v2_0.AAFLurPerm
+
+cadi_truststore=/opt/kafka/config/org.onap.dmaap.mr.trust.jks
+cadi_truststore_password=enc:gvXm0E9p-_SRNw5_feOUE7wqXBxgxV3S_bdAyB08Sq9F35cCUZHWgQyKIDtTAbEw
+
+cadi_keyfile=/opt/kafka/config/org.onap.dmaap.mr.keyfile
+
+cadi_alias=dmaapmr@mr.dmaap.onap.org
+cadi_keystore=/opt/kafka/config/org.onap.dmaap.mr.p12
+cadi_keystore_password=enc:pLMCzQzk-OP7IpYNi0TPtQSkNcraFAdarZG8HbdOKq4BycW6g_7mfhphLhOZo6ht
+cadi_x509_issuers=CN=intermediateCA_1, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_7, OU=OSAAF, O=ONAP, C=US:CN=intermediateCA_9, OU=OSAAF, O=ONAP, C=US
+
+
+cadi_loglevel=INFO
+cadi_protocols=TLSv1.1,TLSv1.2
+cadi_latitude=37.78187
+cadi_longitude=-122.26147
\ No newline at end of file
--- /dev/null
+log4j.rootLogger=INFO, stdout, kafkaAppender
+
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c)%n
+
+log4j.appender.kafkaAppender=org.apache.log4j.DailyRollingFileAppender
+log4j.appender.kafkaAppender.DatePattern='.'yyyy-MM-dd-HH
+log4j.appender.kafkaAppender.File=${kafka.logs.dir}/server.log
+log4j.appender.kafkaAppender.layout=org.apache.log4j.PatternLayout
+log4j.appender.kafkaAppender.layout.ConversionPattern=[%d] %p %m (%c)%n
+
+log4j.appender.stateChangeAppender=org.apache.log4j.DailyRollingFileAppender
+log4j.appender.stateChangeAppender.DatePattern='.'yyyy-MM-dd-HH
+log4j.appender.stateChangeAppender.File=${kafka.logs.dir}/state-change.log
+log4j.appender.stateChangeAppender.layout=org.apache.log4j.PatternLayout
+log4j.appender.stateChangeAppender.layout.ConversionPattern=[%d] %p %m (%c)%n
+
+log4j.appender.requestAppender=org.apache.log4j.DailyRollingFileAppender
+log4j.appender.requestAppender.DatePattern='.'yyyy-MM-dd-HH
+log4j.appender.requestAppender.File=${kafka.logs.dir}/kafka-request.log
+log4j.appender.requestAppender.layout=org.apache.log4j.PatternLayout
+log4j.appender.requestAppender.layout.ConversionPattern=[%d] %p %m (%c)%n
+
+log4j.appender.cleanerAppender=org.apache.log4j.DailyRollingFileAppender
+log4j.appender.cleanerAppender.DatePattern='.'yyyy-MM-dd-HH
+log4j.appender.cleanerAppender.File=${kafka.logs.dir}/log-cleaner.log
+log4j.appender.cleanerAppender.layout=org.apache.log4j.PatternLayout
+log4j.appender.cleanerAppender.layout.ConversionPattern=[%d] %p %m (%c)%n
+
+log4j.appender.controllerAppender=org.apache.log4j.DailyRollingFileAppender
+log4j.appender.controllerAppender.DatePattern='.'yyyy-MM-dd-HH
+log4j.appender.controllerAppender.File=${kafka.logs.dir}/controller.log
+log4j.appender.controllerAppender.layout=org.apache.log4j.PatternLayout
+log4j.appender.controllerAppender.layout.ConversionPattern=[%d] %p %m (%c)%n
+
+log4j.appender.authorizerAppender=org.apache.log4j.DailyRollingFileAppender
+log4j.appender.authorizerAppender.DatePattern='.'yyyy-MM-dd-HH
+log4j.appender.authorizerAppender.File=${kafka.logs.dir}/kafka-authorizer.log
+log4j.appender.authorizerAppender.layout=org.apache.log4j.PatternLayout
+log4j.appender.authorizerAppender.layout.ConversionPattern=[%d] %p %m (%c)%n
+
+# Change the two lines below to adjust ZK client logging
+log4j.logger.org.I0Itec.zkclient.ZkClient=INFO
+log4j.logger.org.apache.zookeeper=INFO
+
+# Change the two lines below to adjust the general broker logging level (output to server.log and stdout)
+log4j.logger.kafka=INFO
+log4j.logger.org.apache.kafka=INFO
+
+# Change to DEBUG or TRACE to enable request logging
+log4j.logger.kafka.request.logger=WARN, requestAppender
+log4j.additivity.kafka.request.logger=false
+
+# Uncomment the lines below and change log4j.logger.kafka.network.RequestChannel$ to TRACE for additional output
+# related to the handling of requests
+#log4j.logger.kafka.network.Processor=TRACE, requestAppender
+#log4j.logger.kafka.server.KafkaApis=TRACE, requestAppender
+#log4j.additivity.kafka.server.KafkaApis=false
+log4j.logger.kafka.network.RequestChannel$=WARN, requestAppender
+log4j.additivity.kafka.network.RequestChannel$=false
+
+log4j.logger.kafka.controller=TRACE, controllerAppender
+log4j.additivity.kafka.controller=false
+
+log4j.logger.kafka.log.LogCleaner=INFO, cleanerAppender
+log4j.additivity.kafka.log.LogCleaner=false
+
+log4j.logger.state.change.logger=TRACE, stateChangeAppender
+log4j.additivity.state.change.logger=false
+
+# Access denials are logged at INFO level, change to DEBUG to also log allowed accesses
+log4j.logger.kafka.authorizer.logger=INFO, authorizerAppender
+log4j.additivity.kafka.authorizer.logger=false
--- /dev/null
+############################# Socket Server Settings #############################
+
+# The address the socket server listens on. It will get the value returned from
+# java.net.InetAddress.getCanonicalHostName() if not configured.
+# FORMAT:
+# listeners = listener_name://host_name:port
+# EXAMPLE:
+# listeners = PLAINTEXT://your.host.name:9092
+listeners=EXTERNAL_SASL_PLAINTEXT://0.0.0.0:9093,INTERNAL_SASL_PLAINTEXT://0.0.0.0:9092
+
+# Maps listener names to security protocols, the default is for them to be the same. See the config documentation for more details
+listener.security.protocol.map=INTERNAL_SASL_PLAINTEXT:SASL_PLAINTEXT,EXTERNAL_SASL_PLAINTEXT:SASL_PLAINTEXT
+
+# The number of threads that the server uses for receiving requests from the network and sending responses to the network
+num.network.threads=3
+
+# The number of threads that the server uses for processing requests, which may include disk I/O
+num.io.threads=8
+
+# The send buffer (SO_SNDBUF) used by the socket server
+socket.send.buffer.bytes=102400
+
+#The number of hours to keep a log file before deleting it
+log.retention.hours=168
+#The maximum size of the log before deleting it
+log.retention.bytes=21474836480
+
+# The receive buffer (SO_RCVBUF) used by the socket server
+socket.receive.buffer.bytes=102400
+
+# The maximum size of a request that the socket server will accept (protection against OOM)
+socket.request.max.bytes=104857600
+
+
+############################# Log Basics #############################
+
+# A comma separated list of directories under which to store log files
+log.dirs=/opt/kafka/data
+
+# The default number of log partitions per topic. More partitions allow greater
+# parallelism for consumption, but this will also result in more files across
+# the brokers.
+num.partitions={{ .Values.defaultpartitions }}
+
+# The number of threads per data directory to be used for log recovery at startup and flushing at shutdown.
+# This value is recommended to be increased for installations with data dirs located in RAID array.
+num.recovery.threads.per.data.dir=1
+
+############################# Internal Topic Settings #############################
+# The replication factor for the group metadata internal topics "__consumer_offsets" and "__transaction_state"
+# For anything other than development testing, a value greater than 1 is recommended for to ensure availability such as 3.
+offsets.topic.replication.factor={{ .Values.replicaCount }}
+transaction.state.log.replication.factor=1
+transaction.state.log.min.isr=1
+
+############################# Log Flush Policy #############################
+
+# Messages are immediately written to the filesystem but by default we only fsync() to sync
+# the OS cache lazily. The following configurations control the flush of data to disk.
+# There are a few important trade-offs here:
+# 1. Durability: Unflushed data may be lost if you are not using replication.
+# 2. Latency: Very large flush intervals may lead to latency spikes when the flush does occur as there will be a lot of data to flush.
+# 3. Throughput: The flush is generally the most expensive operation, and a small flush interval may lead to excessive seeks.
+# The settings below allow one to configure the flush policy to flush data after a period of time or
+# every N messages (or both). This can be done globally and overridden on a per-topic basis.
+
+# The number of messages to accept before forcing a flush of data to disk
+#log.flush.interval.messages=10000
+
+# The maximum amount of time a message can sit in a log before we force a flush
+#log.flush.interval.ms=1000
+
+############################# Log Retention Policy #############################
+
+# The following configurations control the disposal of log segments. The policy can
+# be set to delete segments after a period of time, or after a given size has accumulated.
+# A segment will be deleted whenever *either* of these criteria are met. Deletion always happens
+# from the end of the log.
+
+# The minimum age of a log file to be eligible for deletion due to age
+log.retention.hours=168
+
+# A size-based retention policy for logs. Segments are pruned from the log unless the remaining
+# segments drop below log.retention.bytes. Functions independently of log.retention.hours.
+#log.retention.bytes=1073741824
+
+# The maximum size of a log segment file. When this size is reached a new log segment will be created.
+log.segment.bytes=1073741824
+
+# The interval at which log segments are checked to see if they can be deleted according
+# to the retention policies
+log.retention.check.interval.ms=300000
+
+############################# Zookeeper #############################
+
+# Zookeeper connection string (see zookeeper docs for details).
+# This is a comma separated host:port pairs, each corresponding to a zk
+# server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002".
+# You can also append an optional chroot string to the urls to specify the
+# root directory for all kafka znodes.
+zookeeper.connect={{.Release.Name}}-{{.Values.zookeeper.name}}-0.{{.Values.zookeeper.name}}.{{.Release.Namespace}}.svc.cluster.local:{{.Values.zookeeper.port}},{{.Release.Name}}-{{.Values.zookeeper.name}}-1.{{.Values.zookeeper.name}}.{{.Release.Namespace}}.svc.cluster.local:{{.Values.zookeeper.port}},{{.Release.Name}}-{{.Values.zookeeper.name}}-2.{{.Values.zookeeper.name}}.{{.Release.Namespace}}.svc.cluster.local:{{.Values.zookeeper.port}}
+
+# Timeout in ms for connecting to zookeeper
+zookeeper.connection.timeout.ms=6000
+
+
+############################# Group Coordinator Settings #############################
+
+# The following configuration specifies the time, in milliseconds, that the GroupCoordinator will delay the initial consumer rebalance.
+# The rebalance will be further delayed by the value of group.initial.rebalance.delay.ms as new members join the group, up to a maximum of max.poll.interval.ms.
+# The default value for this is 3 seconds.
+# We override this to 0 here as it makes for a better out-of-the-box experience for development and testing.
+# However, in production environments the default value of 3 seconds is more suitable as this will help to avoid unnecessary, and potentially expensive, rebalances during application startup.
+group.initial.rebalance.delay.ms=0
+
+inter.broker.listener.name=INTERNAL_SASL_PLAINTEXT
+default.replication.factor={{ .Values.replicaCount }}
+delete.topic.enable=true
+sasl.enabled.mechanisms=PLAIN
+authorizer.class.name=org.onap.dmaap.kafkaAuthorize.KafkaCustomAuthorizer
+version=1.1.1
+sasl.mechanism.inter.broker.protocol=PLAIN
--- /dev/null
+# Copyright © 2019 AT&T
+#
+# 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: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-server-prop-configmap
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/config/server.properties").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-cadi-prop-configmap
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/config/cadi.properties").AsConfig . | indent 2 }}
+---
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-log4j-prop-configmap
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/config/log4j.properties").AsConfig . | indent 2 }}
+---
+
- -exec
- |
chown -R 1000:1000 /opt/kafka/data;
+ cp /opt/kafka/tmpconfig/server.properties /opt/kafka/config/;
+ chown 1000:1000 /opt/kafka/config/server.properties;
+ cd /opt/kafka/config;
+ ls;
image: "{{ .Values.busyBoxRepository }}/{{ .Values.busyBoxImage }}"
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
volumeMounts:
- mountPath: /opt/kafka/data
name: kafka-data
+ - mountPath: /opt/kafka/tmpconfig/server.properties
+ subPath: server.properties
+ name: server
+ - mountPath: /opt/kafka/config
+ name: config-data
name: {{ include "common.name" . }}-permission-fixer
containers:
- name: {{ include "common.name" . }}
fieldRef:
apiVersion: v1
fieldPath: status.hostIP
- - name: KAFKA_ZOOKEEPER_CONNECT
- value: "{{.Values.zookeeper.name}}:{{.Values.zookeeper.port}}"
- - name: KAFKA_LISTENER_SECURITY_PROTOCOL_MAP
- value: "INTERNAL_SASL_PLAINTEXT:SASL_PLAINTEXT,EXTERNAL_SASL_PLAINTEXT:SASL_PLAINTEXT"
- - name: KAFKA_LISTENERS
- value: "EXTERNAL_SASL_PLAINTEXT://0.0.0.0:{{ .Values.service.externalPort }},INTERNAL_SASL_PLAINTEXT://0.0.0.0:{{ .Values.service.internalPort }}"
- - name: KAFKA_INTER_BROKER_LISTENER_NAME
- value: "INTERNAL_SASL_PLAINTEXT"
- - name: KAFKA_SASL_ENABLED_MECHANISMS
- value: "PLAIN"
- - name: KAFKA_SASL_MECHANISM_INTER_BROKER_PROTOCOL
- value: "PLAIN"
- - name: KAFKA_AUTHORIZER_CLASS_NAME
- value: "{{ .Values.kafkaCustomAuthorizer }}"
- - name: KAFKA_DELETE_TOPIC_ENABLE
- value: "{{ .Values.deleteTopicEnable }}"
- name: aaf_locate_url
- value: "https://aaf-locate:8095"
- - name: KAFKA_LOG_DIRS
- value: "/opt/kafka/data"
- - name: KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR
- value: "{{ .Values.replicaCount }}"
- - name: KAFKA_DEFAULT_REPLICATION_FACTOR
- value: "{{ .Values.replicaCount }}"
- - name: KAFKA_NUM_PARTITIONS
- value: "{{ .Values.defaultpartitions }}"
+ value: https://aaf-locate.{{ include "common.namespace" . }}:8095
+
volumeMounts:
- mountPath: /etc/localtime
name: localtime
readOnly: true
- mountPath: /var/run/docker.sock
name: docker-socket
+ - mountPath: /opt/kafka/tmpconfig/server.properties
+ subPath: server.properties
+ name: server
+ - mountPath: /opt/kafka/config/server.properties
+ subPath: server.properties
+ name: config-data
+ - mountPath: /opt/kafka/config/log4j.properties
+ subPath: log4j.properties
+ name: log4j
+ - mountPath: /opt/kafka/config/cadi.properties
+ subPath: cadi.properties
+ name: cadi
- mountPath: /opt/kafka/data
name: kafka-data
{{- if .Values.tolerations }}
- name: localtime
hostPath:
path: /etc/localtime
+ - name: config-data
+ emptyDir: {}
- name: docker-socket
hostPath:
path: /var/run/docker.sock
+ - name: server
+ configMap:
+ name: {{ include "common.fullname" . }}-server-prop-configmap
+ - name: log4j
+ configMap:
+ name: {{ include "common.fullname" . }}-log4j-prop-configmap
+ - name: cadi
+ configMap:
+ name: {{ include "common.fullname" . }}-cadi-prop-configmap
{{ if not .Values.persistence.enabled }}
- name: kafka-data
emptyDir: {}
heritage: "{{ .Release.Service }}"
{{ end }}
imagePullSecrets:
- - name: "{{ include "common.namespace" . }}-docker-registry-key"
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
\ No newline at end of file
apiVersion: v1
description: ONAP Message Router Kafka Service
name: message-router-mirrormaker
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP Dmaap Message Router Zookeeper Service
name: message-router-zookeeper
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
# local reference to common chart, as it is
# a part of this chart's package and will not
# be published independently to a repo (at this point)
## Both Cambria and Kafka make use of Zookeeper.
##
#config.zk.servers=172.18.1.1
-config.zk.servers={{.Values.zookeeper.name}}:{{.Values.zookeeper.port}}
+#config.zk.servers={{.Values.zookeeper.name}}:{{.Values.zookeeper.port}}
+config.zk.servers={{.Release.Name}}-{{.Values.zookeeper.name}}-0.{{.Values.zookeeper.name}}.{{.Release.Namespace}}.svc.cluster.local:{{.Values.zookeeper.port}},{{.Release.Name}}-{{.Values.zookeeper.name}}-1.{{.Values.zookeeper.name}}.{{.Release.Namespace}}.svc.cluster.local:{{.Values.zookeeper.port}},{{.Release.Name}}-{{.Values.zookeeper.name}}-2.{{.Values.zookeeper.name}}.{{.Release.Namespace}}.svc.cluster.local:{{.Values.zookeeper.port}}
+
#config.zk.root=/fe3c/cambria/config
## configurations (after removing "kafka.")
## if you want to change request.required.acks it can take this one value
#kafka.metadata.broker.list=localhost:9092,localhost:9093
-kafka.metadata.broker.list={{.Values.kafka.name}}:{{.Values.kafka.port}}
+#kafka.metadata.broker.list={{.Values.kafka.name}}:{{.Values.kafka.port}}
+kafka.metadata.broker.list={{.Release.Name}}-{{.Values.kafka.name}}-0.{{.Values.kafka.name}}.{{.Release.Namespace}}.svc.cluster.local:{{.Values.kafka.port}},{{.Release.Name}}-{{.Values.kafka.name}}-1.{{.Values.kafka.name}}.{{.Release.Namespace}}.svc.cluster.local:{{.Values.kafka.port}},{{.Release.Name}}-{{.Values.kafka.name}}-2.{{.Values.kafka.name}}.{{.Release.Namespace}}.svc.cluster.local:{{.Values.kafka.port}}
##kafka.request.required.acks=-1
#kafka.client.zookeeper=${config.zk.servers}
consumer.timeout.ms=100
-aaf_locate_url=https://aaf-locate:8095
-aaf_url=https://AAF_LOCATE_URL/AAF_NS.service:2.1
+aaf_locate_url=https://aaf-locate.{{ include "common.namespace" . }}:8095
+aaf_url=https://AAF_LOCATE_URL/onap.org.osaaf.aaf.service:2.1
aaf_env=DEV
aaf_lur=org.onap.aaf.cadi.aaf.v2_0.AAFLurPerm
--- /dev/null
+<!--
+ ============LICENSE_START=======================================================
+ Copyright © 2019 AT&T Intellectual Property. All rights reserved.
+ ================================================================================
+ 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.
+ ============LICENSE_END=========================================================
+ -->
+
+<configuration scan="true" scanPeriod="3 seconds" debug="false">
+ <contextName>${module.ajsc.namespace.name}</contextName>
+ <jmxConfigurator />
+ <property name="logDirectory" value="${AJSC_HOME}/log" />
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+ <filter class="ch.qos.logback.classic.filter.LevelFilter">
+ <level>ERROR</level>
+ <onMatch>ACCEPT</onMatch>
+ <onMismatch>DENY</onMismatch>
+ </filter>
+ <encoder>
+ <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{1024} - %msg%n
+ </pattern>
+ </encoder>
+ </appender>
+
+ <appender name="INFO"
+ class="ch.qos.logback.core.ConsoleAppender">
+ <filter class="ch.qos.logback.classic.filter.LevelFilter">
+ <level>INFO</level>
+ <onMatch>ACCEPT</onMatch>
+ <onMismatch>DENY</onMismatch>
+ </filter>
+ </appender>
+
+ <appender name="DEBUG" class="ch.qos.logback.core.ConsoleAppender">
+
+ <encoder>
+ <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="ERROR" class="ch.qos.logback.core.ConsoleAppender">
+ class="ch.qos.logback.core.ConsoleAppender">
+ <filter class="ch.qos.logback.classic.filter.LevelFilter">
+ <level>ERROR</level>
+ <onMatch>ACCEPT</onMatch>
+ <onMismatch>DENY</onMismatch>
+ </filter>
+ <encoder>
+ <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
+ </encoder>
+ </appender>
+
+
+ <!-- Msgrtr related loggers -->
+ <logger name="org.onap.dmaap.dmf.mr.service" level="INFO" />
+ <logger name="org.onap.dmaap.dmf.mr.service.impl" level="INFO" />
+
+ <logger name="org.onap.dmaap.dmf.mr.resources" level="INFO" />
+ <logger name="org.onap.dmaap.dmf.mr.resources.streamReaders" level="INFO" />
+
+ <logger name="org.onap.dmaap.dmf.mr.backends" level="INFO" />
+ <logger name="org.onap.dmaap.dmf.mr.backends.kafka" level="INFO" />
+ <logger name="org.onap.dmaap.dmf.mr.backends.memory" level="INFO" />
+
+ <logger name="org.onap.dmaap.dmf.mr.beans" level="INFO" />
+
+ <logger name="org.onap.dmaap.dmf.mr.constants" level="INFO" />
+
+ <logger name="org.onap.dmaap.dmf.mr.exception" level="INFO" />
+
+ <logger name="org.onap.dmaap.dmf.mr.listener" level="INFO" />
+
+ <logger name="org.onap.dmaap.dmf.mr.metabroker" level="INFO" />
+
+ <logger name="org.onap.dmaap.dmf.mr.metrics.publisher" level="INFO" />
+ <logger name="org.onap.dmaap.dmf.mr.metrics.publisher.impl" level="INFO" />
+
+
+
+ <logger name="org.onap.dmaap.dmf.mr.security" level="INFO" />
+ <logger name="org.onap.dmaap.dmf.mr.security.impl" level="INFO" />
+
+ <logger name="org.onap.dmaap.dmf.mr.transaction" level="INFO" />
+ <logger name="com.att.dmf.mr.transaction.impl" level="INFO" />
+
+ <logger name="org.onap.dmaap.dmf.mr.metabroker" level="INFO" />
+ <logger name="org.onap.dmaap.dmf.mr.metabroker" level="INFO" />
+
+ <logger name="org.onap.dmaap.dmf.mr.utils" level="INFO" />
+ <logger name="org.onap.dmaap.mr.filter" level="INFO" />
+
+ <!--<logger name="com.att.nsa.cambria.*" level="INFO" />-->
+
+ <!-- Msgrtr loggers in ajsc -->
+ <logger name="org.onap.dmaap.service" level="INFO" />
+ <logger name="org.onap.dmaap" level="INFO" />
+
+
+ <!-- Spring related loggers -->
+ <logger name="org.springframework" level="WARN" additivity="false"/>
+ <logger name="org.springframework.beans" level="WARN" additivity="false"/>
+ <logger name="org.springframework.web" level="WARN" additivity="false" />
+ <logger name="com.blog.spring.jms" level="WARN" additivity="false" />
+
+ <!-- AJSC Services (bootstrap services) -->
+ <logger name="ajsc" level="WARN" additivity="false"/>
+ <logger name="ajsc.RouteMgmtService" level="INFO" additivity="false"/>
+ <logger name="ajsc.ComputeService" level="INFO" additivity="false" />
+ <logger name="ajsc.VandelayService" level="WARN" additivity="false"/>
+ <logger name="ajsc.FilePersistenceService" level="WARN" additivity="false"/>
+ <logger name="ajsc.UserDefinedJarService" level="WARN" additivity="false" />
+ <logger name="ajsc.UserDefinedBeansDefService" level="WARN" additivity="false" />
+ <logger name="ajsc.LoggingConfigurationService" level="WARN" additivity="false" />
+
+ <!-- AJSC related loggers (DME2 Registration, csi logging, restlet, servlet
+ logging) -->
+ <logger name="ajsc.utils" level="WARN" additivity="false"/>
+ <logger name="ajsc.utils.DME2Helper" level="INFO" additivity="false" />
+ <logger name="ajsc.filters" level="DEBUG" additivity="false" />
+ <logger name="ajsc.beans.interceptors" level="DEBUG" additivity="false" />
+ <logger name="ajsc.restlet" level="DEBUG" additivity="false" />
+ <logger name="ajsc.servlet" level="DEBUG" additivity="false" />
+ <logger name="com.att" level="WARN" additivity="false" />
+ <logger name="com.att.ajsc.csi.logging" level="WARN" additivity="false" />
+ <logger name="com.att.ajsc.filemonitor" level="WARN" additivity="false"/>
+
+ <logger name="com.att.nsa.dmaap.util" level="INFO" additivity="false"/>
+ <logger name="com.att.cadi.filter" level="INFO" additivity="false" />
+
+
+ <!-- Other Loggers that may help troubleshoot -->
+ <logger name="net.sf" level="WARN" additivity="false" />
+ <logger name="org.apache.commons.httpclient" level="WARN" additivity="false"/>
+ <logger name="org.apache.commons" level="WARN" additivity="false" />
+ <logger name="org.apache.coyote" level="WARN" additivity="false"/>
+ <logger name="org.apache.jasper" level="WARN" additivity="false"/>
+
+ <!-- Camel Related Loggers (including restlet/servlet/jaxrs/cxf logging.
+ May aid in troubleshooting) -->
+ <logger name="org.apache.camel" level="WARN" additivity="false" />
+ <logger name="org.apache.cxf" level="WARN" additivity="false" />
+ <logger name="org.apache.camel.processor.interceptor" level="WARN" additivity="false"/>
+ <logger name="org.apache.cxf.jaxrs.interceptor" level="WARN" additivity="false" />
+ <logger name="org.apache.cxf.service" level="WARN" additivity="false" />
+ <logger name="org.restlet" level="DEBUG" additivity="false" />
+ <logger name="org.apache.camel.component.restlet" level="DEBUG" additivity="false" />
+ <logger name="org.apache.kafka" level="DEBUG" additivity="false" />
+ <logger name="org.apache.zookeeper" level="INFO" additivity="false" />
+ <logger name="org.I0Itec.zkclient" level="DEBUG" additivity="false" />
+
+ <!-- logback internals logging -->
+ <logger name="ch.qos.logback.classic" level="INFO" additivity="false"/>
+ <logger name="ch.qos.logback.core" level="INFO" additivity="false" />
+
+ <!-- logback jms appenders & loggers definition starts here -->
+ <!-- logback jms appenders & loggers definition starts here -->
+ <appender name="auditLogs"
+ class="ch.qos.logback.core.ConsoleAppender">
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ </filter>
+ <encoder>
+ <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
+ </encoder>
+ </appender>
+ <appender name="perfLogs"
+ class="ch.qos.logback.core.ConsoleAppender">
+ <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
+ </filter>
+ <encoder>
+ <pattern>"%d [%thread] %-5level %logger{1024} - %msg%n"</pattern>
+ </encoder>
+ </appender>
+ <appender name="ASYNC-audit" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>1000</queueSize>
+ <discardingThreshold>0</discardingThreshold>
+ <appender-ref ref="Audit-Record-Queue" />
+ </appender>
+
+ <logger name="AuditRecord" level="INFO" additivity="FALSE">
+ <appender-ref ref="STDOUT" />
+ </logger>
+ <logger name="AuditRecord_DirectCall" level="INFO" additivity="FALSE">
+ <appender-ref ref="STDOUT" />
+ </logger>
+ <appender name="ASYNC-perf" class="ch.qos.logback.classic.AsyncAppender">
+ <queueSize>1000</queueSize>
+ <discardingThreshold>0</discardingThreshold>
+ <appender-ref ref="Performance-Tracker-Queue" />
+ </appender>
+ <logger name="PerfTrackerRecord" level="INFO" additivity="FALSE">
+ <appender-ref ref="ASYNC-perf" />
+ <appender-ref ref="perfLogs" />
+ </logger>
+ <!-- logback jms appenders & loggers definition ends here -->
+
+ <root level="DEBUG">
+ <appender-ref ref="DEBUG" />
+ <appender-ref ref="ERROR" />
+ <appender-ref ref="INFO" />
+ <appender-ref ref="STDOUT" />
+ </root>
+
+</configuration>
\ No newline at end of file
data:
{{ tpl (.Files.Glob "resources/config/dmaap/cadi.properties").AsConfig . | indent 2 }}
---
+
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: {{ include "common.fullname" . }}-logback-xml-configmap
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/config/dmaap/logback.xml").AsConfig . | indent 2 }}
+---
+
apiVersion: v1
kind: ConfigMap
metadata:
- mountPath: /appl/dmaapMR1/bundleconfig/etc/appprops/MsgRtrApi.properties
subPath: MsgRtrApi.properties
name: appprops
+ - mountPath: /appl/dmaapMR1/bundleconfig/etc/logback.xml
+ subPath: logback.xml
+ name: logback
- mountPath: /appl/dmaapMR1/etc/cadi.properties
subPath: cadi.properties
name: cadi
- name: appprops
configMap:
name: {{ include "common.fullname" . }}-msgrtrapi-prop-configmap
+ - name: logback
+ configMap:
+ name: {{ include "common.fullname" . }}-logback-xml-configmap
- name: cadi
configMap:
name: {{ include "common.fullname" . }}-cadi-prop-configmap
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: onap/dmaap/dmaap-mr:1.1.14
+image: onap/dmaap/dmaap-mr:1.1.16
pullPolicy: Always
kafka:
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
- name: message-router
- version: ~4.x-0
+ version: ~5.x-0
repository: 'file://components/message-router'
condition: message-router.enabled
- name: dmaap-bc
- version: ~4.x-0
+ version: ~5.x-0
repository: 'file://components/dmaap-bc'
condition: dmaap-bc.enabled
- name: dmaap-dr-node
- version: ~4.x-0
+ version: ~5.x-0
repository: 'file://components/dmaap-dr-node'
condition: dmaap-dr-node.enabled
- name: dmaap-dr-prov
- version: ~4.x-0
+ version: ~5.x-0
repository: 'file://components/dmaap-dr-prov'
condition: dmaap-dr-prov.enabled
#List of logstash server ip addresses with port number.
#But, in our case, this will be the loadbalancer IP address.
#For the below property to work the loadbalancer or logstash should expose 5044 port to listen the filebeat events or port in the property should be changed appropriately.
- hosts: ["{{.Values.config.logstashServiceName}}.{{.Release.Namespace}}:{{.Values.config.logstashPort}}"]
+ hosts: ["{{.Values.global.logstashServiceName}}.{{.Release.Namespace}}:{{.Values.global.logstashPort}}"]
#If enable will do load balancing among available Logstash, automatically.
loadbalance: true
#################################################################
global:
nodePortPrefix: 302
+ nodePortPrefixExt: 304
readinessRepository: oomk8s
readinessImage: readiness-check:2.0.0
loggingRepository: docker.elastic.co
loggingImage: beats/filebeat:5.5.0
clientImage: onap/dmaap/dbc-client:1.0.9
+ repository: nexus3.onap.org:10001
#Global DMaaP app config
allow_http: true
-# application configuration
-config:
+ #Logstash config
logstashServiceName: log-ls
logstashPort: 5044
+ #dmaap-dr-prov server configuration
+ dmaapDrProvName: dmaap-dr-prov
+ dmaapDrProvExtPort2: 8443
+ dmaapDrProvExtPort: 8080
+
+
+#Component overrides
message-router:
enabled: true
dmaap-bc:
apiVersion: v1
description: ONAP External System Register
name: esr
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP External System Register GUI
name: esr-gui
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP External System Register GUI
name: esr-server
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
# local reference to common chart, as it is
# a part of this chart's package and will not
# be published independently to a repo (at this point)
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
# local reference to common chart, as it is
# a part of this chart's package and will not
# be published independently to a repo (at this point)
apiVersion: v1
description: <Short application description - this is visible via 'helm search'>
name: <onap-app>
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
\ No newline at end of file
apiVersion: v1
description: ONAP Logging ElasticStack
name: log
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP Logging Elasticsearch
name: log-elasticsearch
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
apiVersion: v1
description: ONAP Logging Kibana
name: log-kibana
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
--- /dev/null
+"kibana-onboarding.json" file contains initial setup of Kibana obtained using Elasticdump tool.
\ No newline at end of file
image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
name: {{ include "common.name" . }}-readiness
+ - args:
+ - --input=/config/kibana-onboarding.json
+ - --output=http://{{.Values.config.elasticsearchServiceName}}.{{ include "common.namespace" . }}:{{.Values.config.elasticsearchPort}}/.kibana
+ env:
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: metadata.namespace
+ image: "{{ .Values.elasticdumpRepository }}/{{ .Values.elasticdumpImage }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ name: {{ include "common.name" . }}-elasticdump
+ volumeMounts:
+ - mountPath: /config/kibana-onboarding.json
+ name: {{ include "common.fullname" . }}
+ subPath: kibana-onboarding.json
containers:
- name: {{ include "common.name" . }}
image: "{{ .Values.global.loggingRepository | default .Values.loggingRepository }}/{{ .Values.image }}"
items:
- key: kibana.yml
path: kibana.yml
+ - key: kibana-onboarding.json
+ path: kibana-onboarding.json
imagePullSecrets:
- name: "{{ include "common.namespace" . }}-docker-registry-key"
# Application configuration defaults.
#################################################################
+# Elasticdump image
+elasticdumpRepository: docker.io
+elasticdumpImage: taskrabbit/elasticsearch-dump
+
# BusyBox image
busyboxRepository: registry.hub.docker.com
busyboxImage: library/busybox:latest
apiVersion: v1
description: ONAP Logging Logstash
name: log-logstash
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
apiVersion: v1
description: ONAP Modeling (Modeling)
name: modeling
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP Modeling - Genericparser
name: modeling-genericparser
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
- name: mariadb-galera
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
apiVersion: v1
description: ONAP MicroServices Bus
name: msb
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP MicroServices Bus Kube2MSB Registrator
name: kube2msb
-version: 4.0.0
+version: 5.0.0
# limitations under the License.
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
apiVersion: v1
description: ONAP MicroServices Bus Consul
name: msb-consul
-version: 4.0.0
+version: 5.0.0
# limitations under the License.
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
apiVersion: v1
description: ONAP MicroServices Bus Discovery
name: msb-discovery
-version: 4.0.0
+version: 5.0.0
# limitations under the License.
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
apiVersion: v1
description: ONAP MicroServices Bus Internal API Gateway
name: msb-eag
-version: 4.0.0
+version: 5.0.0
# limitations under the License.
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
apiVersion: v1
description: ONAP MicroServices Bus Internal API Gateway
name: msb-iag
-version: 4.0.0
+version: 5.0.0
# limitations under the License.
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
# limitations under the License.
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
apiVersion: v1
description: ONAP multicloud broker
name: multicloud
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP multicloud Azure plugin
name: multicloud-azure
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP multicloud OpenStack fcaps Plugin
name: multicloud-fcaps
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP Multicloud Kubernetes Plugin
name: multicloud-k8s
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
# local reference to common chart, as it is
# a part of this chart's package and will not
# be published independently to a repo (at this point)
repository: '@local'
- name: mongo
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
- name: etcd
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
apiVersion: v1
description: ONAP multicloud OpenStack Lenovo Plugin
name: multicloud-lenovo
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP multicloud OpenStack Ocata Plugin
name: multicloud-ocata
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP multicloud OpenStack Pike Plugin
name: multicloud-pike
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP Multicloud Prometheus
name: multicloud-prometheus
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP Multicloud Prometheus Alert Manager
name: prometheus-alertmanager
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP Multicloud Grafana for Prometheus
name: prometheus-grafana
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP multicloud VIO plugin
name: multicloud-vio
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP multicloud OpenStack WindRiver Plugin
name: multicloud-windriver
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
apiVersion: v1
description: ONAP Northbound Interface
name: nbi
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP NBI MariaDB Service
name: mariadb
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
# local reference to common chart, as it is
# a part of this chart's package and will not
# be published independently to a repo (at this point)
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
# local reference to common chart, as it is
# a part of this chart's package and will not
# be published independently to a repo (at this point)
repository: '@local'
- name: mongo
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
# application image
repository: nexus3.onap.org:10001
-image: onap/externalapi/nbi:4.0.0
+image: onap/externalapi/nbi:5.0.0
pullPolicy: Always
sdc_authorization: Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=
aai_authorization: Basic QUFJOkFBSQ==
apiVersion: v1
name: onap
-version: 4.0.0
-appVersion: Dublin
+version: 5.0.0
+appVersion: El Alto
description: Open Network Automation Platform (ONAP)
home: https://www.onap.org/
sources:
- https://gerrit.onap.org/r/#/admin/projects/
-icon: https://wiki.onap.org/download/thumbnails/1015829/onap_704x271%20copy.png?version=1&modificationDate=1488326334000&api=v2
\ No newline at end of file
+icon: https://wiki.onap.org/download/thumbnails/1015829/onap_704x271%20copy.png?version=1&modificationDate=1488326334000&api=v2
# > helm repo add local http://127.0.0.1:8879
dependencies:
- name: aaf
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: aaf.enabled
- name: aai
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: aai.enabled
- name: appc
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: appc.enabled
- name: cassandra
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: cassandra.enabled
- name: clamp
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: clamp.enabled
- name: cli
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: cli.enabled
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
- name: consul
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: consul.enabled
- name: contrib
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: contrib.enabled
- name: dcaegen2
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: dcaegen2.enabled
- name: dmaap
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: dmaap.enabled
- name: esr
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: esr.enabled
- name: log
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: log.enabled
- name: sniro-emulator
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: sniro-emulator.enabled
- name: mariadb-galera
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: mariadb-galera.enabled
- name: msb
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: msb.enabled
- name: multicloud
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: multicloud.enabled
- name: nbi
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: nbi.enabled
- name: nfs-provisioner
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: nfs-provisioner.enabled
- name: pnda
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: pnda.enabled
- name: policy
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: policy.enabled
- name: pomba
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: pomba.enabled
- name: portal
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: portal.enabled
- name: oof
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: oof.enabled
- name: robot
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: robot.enabled
- name: sdc
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: sdc.enabled
- name: sdnc
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: sdnc.enabled
- name: so
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: so.enabled
- name: uui
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: uui.enabled
- name: vfc
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: vfc.enabled
- name: vid
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: vid.enabled
- name: vnfsdk
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: vnfsdk.enabled
- name: modeling
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: modeling.enabled
--- /dev/null
+# Copyright © 2017,2019 Amdocs, AT&T , Bell Canada
+#
+# 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.
+
+#################################################################
+#
+# These overrides will affect all helm charts (ie. applications)
+# that are listed below and are 'enabled'.
+#
+#
+# This is specifically for the environments which take time to
+# deploy ONAP. This increase in timeouts prevents false restarting of
+# the pods during startup configuration.
+#
+# These timers have been tuned by the ONAP integration team. They
+# have been tested and validated in the ONAP integration lab (Intel/Windriver lab).
+# They are however indicative and may be adapted to your environment as they
+# depend on the performance of the infrastructure you are installing ONAP on.
+#
+# Please note that these timers must remain reasonable, in other words, if
+# your infrastructure is not performant enough, extending the timers to very
+# large value may not fix all installation issues on over subscribed hardware.
+#
+#################################################################
+aaf:
+ aaf-cs:
+ liveness:
+ initialDelaySeconds: 240
+ readiness:
+ initialDelaySeconds: 240
+ aaf-gui:
+ liveness:
+ initialDelaySeconds: 120
+ readiness:
+ initialDelaySeconds: 120
+ aaf-oauth:
+ liveness:
+ initialDelaySeconds: 300
+ readiness:
+ initialDelaySeconds: 300
+ aaf-service:
+ liveness:
+ initialDelaySeconds: 300
+ readiness:
+ initialDelaySeconds: 300
+aai:
+ liveness:
+ initialDelaySeconds: 120
+ aai-champ:
+ liveness:
+ initialDelaySeconds: 120
+ readiness:
+ initialDelaySeconds: 120
+ aai-data-router:
+ liveness:
+ initialDelaySeconds: 120
+ aai-sparky-be:
+ liveness:
+ initialDelaySeconds: 120
+ aai-spike:
+ liveness:
+ initialDelaySeconds: 120
+ aai-cassandra:
+ liveness:
+ periodSeconds: 120
+ readiness:
+ periodSeconds: 60
+appc:
+ mariadb-galera:
+ liveness:
+ initialDelaySeconds: 180
+ periodSeconds: 60
+cassandra:
+ liveness:
+ initialDelaySeconds: 120
+ periodSeconds: 120
+ readiness:
+ initialDelaySeconds: 120
+ periodSeconds: 60
+clamp:
+ liveness:
+ initialDelaySeconds: 60
+ readiness:
+ initialDelaySeconds: 60
+dcaegen2:
+ dcae-cloudify-manager:
+ liveness:
+ initialDelaySeconds: 120
+ readiness:
+ initialDelaySeconds: 120
+dmaap:
+ dmaap-bus-controller:
+ liveness:
+ initialDelaySeconds: 120
+ readiness:
+ initialDelaySeconds: 120
+ message-router:
+ liveness:
+ initialDelaySeconds: 120
+ readiness:
+ initialDelaySeconds: 120
+ dmaap-dr-prov:
+ liveness:
+ initialDelaySeconds: 120
+ readiness:
+ initialDelaySeconds: 120
+ mariadb:
+ liveness:
+ initialDelaySeconds: 180
+ periodSeconds: 60
+ dmaap-dr-node:
+ liveness:
+ initialDelaySeconds: 120
+ readiness:
+ initialDelaySeconds: 120
+mariadb-galera:
+ liveness:
+ initialDelaySeconds: 180
+ periodSeconds: 60
+ mariadb-galera-server:
+ liveness:
+ initialDelaySeconds: 120
+ readiness:
+ initialDelaySeconds: 120
+modeling:
+ mariadb-galera:
+ liveness:
+ initialDelaySeconds: 180
+ periodSeconds: 60
+oof:
+ oof-has:
+ music:
+ music-cassandra:
+ liveness:
+ periodSeconds: 120
+ readiness:
+ periodSeconds: 60
+portal:
+ portal-app:
+ liveness:
+ initialDelaySeconds: 60
+ readiness:
+ initialDelaySeconds: 60
+ portal-cassandra:
+ liveness:
+ periodSeconds: 120
+ readiness:
+ periodSeconds: 60
+sdc:
+ sdc-be:
+ liveness:
+ initialDelaySeconds: 120
+ readiness:
+ initialDelaySeconds: 120
+ sdc-cs:
+ liveness:
+ initialDelaySeconds: 120
+ periodSeconds: 120
+ readiness:
+ initialDelaySeconds: 120
+ periodSeconds: 60
+ sdc-es:
+ liveness:
+ initialDelaySeconds: 60
+ readiness:
+ initialDelaySeconds: 120
+ sdc-onboarding-be:
+ liveness:
+ initialDelaySeconds: 120
+ readiness:
+ initialDelaySeconds: 120
+sdnc:
+ liveness:
+ initialDelaySeconds: 60
+ readiness:
+ initialDelaySeconds: 60
+ dmaap-listener:
+ liveness:
+ initialDelaySeconds: 120
+ readiness:
+ initialDelaySeconds: 120
+ mariadb-galera:
+ liveness:
+ initialDelaySeconds: 180
+ periodSeconds: 60
+ sdnc-ansible-server:
+ readiness:
+ initialDelaySeconds: 120
+ sdnc-portal:
+ readiness:
+ initialDelaySeconds: 120
+ ueb-listener:
+ liveness:
+ initialDelaySeconds: 60
+ readiness:
+ initialDelaySeconds: 60
+so:
+ liveness:
+ initialDelaySeconds: 120
+ mariadb:
+ liveness:
+ initialDelaySeconds: 900
+ readiness:
+ initialDelaySeconds: 900
+uui:
+ uui-server:
+ liveness:
+ initialDelaySeconds: 120
+ readiness:
+ initialDelaySeconds: 120
+vfc:
+ mariadb-galera:
+ liveness:
+ initialDelaySeconds: 180
+ periodSeconds: 60
--- /dev/null
+# Copyright © 2019 Amdocs, Bell Canada
+#
+# 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.
+
+###################################################################
+# This override file enables helm charts for all ONAP applications.
+###################################################################
+cassandra:
+ enabled: true
+mariadb-galera:
+ enabled: true
+
+aaf:
+ enabled: true
+aai:
+ enabled: true
+appc:
+ enabled: true
+clamp:
+ enabled: true
+cli:
+ enabled: true
+consul:
+ enabled: true
+contrib:
+ enabled: true
+dcaegen2:
+ enabled: true
+dmaap:
+ enabled: true
+esr:
+ enabled: true
+log:
+ enabled: true
+sniro-emulator:
+ enabled: true
+oof:
+ enabled: true
+msb:
+ enabled: true
+multicloud:
+ enabled: true
+nbi:
+ enabled: true
+policy:
+ enabled: true
+pomba:
+ enabled: true
+portal:
+ enabled: true
+robot:
+ enabled: true
+sdc:
+ enabled: true
+sdnc:
+ enabled: true
+so:
+ enabled: true
+uui:
+ enabled: true
+vfc:
+ enabled: true
+vid:
+ enabled: true
+ ingress:
+ enabled: true
+vnfsdk:
+ enabled: true
+nginx-ingress:
+ enabled: true
enabled: true
vnfsdk:
enabled: true
+modeling:
+ enabled: true
apiVersion: v1
description: ONAP Optimization Framework
name: oof
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: Chart for Change Management Service Orchestrator (CMSO)
name: oof-cmso
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: Chart for Change Management Service Orchestrator (CMSO) Optimizer
name: oof-cmso-optimizer
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: Chart for Change Management Service Orchestrator (CMSO) Service
name: oof-cmso-service
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: Chart for Change Management Service Orchestrator (CMSO) Ticket Management
name: oof-cmso-ticketmgt
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: Chart for Change Management Service Orchestrator (CMSO) Service
name: oof-cmso-topology
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
# local reference to common chart, as it is
# a part of this chart's package and will not
# be published independently to a repo (at this point)
repository: '@local'
- name: mariadb-galera
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
apiVersion: v1
description: ONAP Homing and Allocation Service
name: oof-has
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP Homing and Allocation Servicei - API
name: oof-has-api
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP Homing and Allocation Sservice - Controller
name: oof-has-controller
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP Homing and Allocation Service - Data Component
name: oof-has-data
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP Homing and Allocation Sevice - Reservation Component
name: oof-has-reservation
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP Homing and Allocation Service - Solver Component
name: oof-has-solver
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
- name: music
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
apiVersion: v1
description: ONAP DCAE PNDA
name: pnda
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP DCAE PNDA Bootstrap
name: dcae-pnda-bootstrap
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
apiVersion: v1
description: ONAP DCAE PNDA Mirror
name: dcae-pnda-mirror
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
apiVersion: v1
description: ONAP Policy Administration Point
name: policy
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP Policy BRMS GW
name: brmsgw
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
# local reference to common chart, as it is
# a part of this chart's package and will not
# be published independently to a repo (at this point)
BRMS_UEB_API_SECRET=
#Dependency.json file version
-BRMS_DEPENDENCY_VERSION=1.4.0
-BRMS_MODELS_DEPENDENCY_VERSION=2.0.0
+BRMS_DEPENDENCY_VERSION=1.4.2
+BRMS_MODELS_DEPENDENCY_VERSION=2.0.2
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: onap/policy-pe:1.4.1
+image: onap/policy-pe:1.5.1
pullPolicy: Always
# flag to enable debugging - application support required
apiVersion: v1
description: ONAP Drools Policy Engine
name: drools
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP Policy Nexus
name: nexus
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
# local reference to common chart, as it is
# a part of this chart's package and will not
# be published independently to a repo (at this point)
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: sonatype/nexus:2.14.8-01
+image: sonatype/nexus:2.14.13-01
pullPolicy: Always
# flag to enable debugging - application support required
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
# local reference to common chart, as it is
# a part of this chart's package and will not
# be published independently to a repo (at this point)
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: onap/policy-pdpd-cl:1.4.2
+image: onap/policy-pdpd-cl:1.5.1
pullPolicy: Always
# flag to enable debugging - application support required
apiVersion: v1
description: ONAP Policy MariaDB Service
name: mariadb
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
# local reference to common chart, as it is
# a part of this chart's package and will not
# be published independently to a repo (at this point)
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: mariadb:10.2.14
+image: mariadb:10.2.25
pullPolicy: Always
# flag to enable debugging - application support required
apiVersion: v1
description: ONAP Policy PDP
name: pdp
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
# local reference to common chart, as it is
# a part of this chart's package and will not
# be published independently to a repo (at this point)
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: onap/policy-pe:1.4.1
+image: onap/policy-pe:1.5.1
pullPolicy: Always
# flag to enable debugging - application support required
apiVersion: v1
description: ONAP Policy APEX PDP
name: policy-apex-pdp
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
"pdpType":"apex",
"description":"Pdp Heartbeat",
"supportedPolicyTypes":[{"name":"onap.policies.controlloop.operational.Apex","version":"1.0.0"}]
+ },
+ "topicParameterGroup": {
+ "topicSources" : [{
+ "topic" : "POLICY-PDP-PAP",
+ "servers" : [ "message-router" ],
+ "topicCommInfrastructure" : "dmaap"
+ }],
+ "topicSinks" : [{
+ "topic" : "POLICY-PDP-PAP",
+ "servers" : [ "message-router" ],
+ "topicCommInfrastructure" : "dmaap"
+ }]
}
}
+++ /dev/null
-# ============LICENSE_START=======================================================
-# Copyright (C) 2019 Nordix 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.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
-
-dmaap.source.topics=POLICY-PDP-PAP
-dmaap.sink.topics=POLICY-PDP-PAP
-
-dmaap.source.topics.POLICY-PDP-PAP.servers= message-router
-dmaap.sink.topics.POLICY-PDP-PAP.servers= message-router
\ No newline at end of file
- /opt/app/policy/apex-pdp/bin/apexOnapPf.sh
- -c
- /home/apexuser/config/OnapPfConfig.json
- - -p
- - /home/apexuser/config/topic.properties
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
ports:
- containerPort: {{ .Values.service.externalPort }}
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: onap/policy-apex-pdp:2.1.0
+image: onap/policy-apex-pdp:2.2.1
pullPolicy: Always
# flag to enable debugging - application support required
apiVersion: v1
description: ONAP Policy Design API
name: policy-api
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: onap/policy-api:2.0.1
+image: onap/policy-api:2.1.1
pullPolicy: Always
# flag to enable debugging - application support required
apiVersion: v1
description: ONAP Policy Common
name: policy-common
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
# local reference to common chart, as it is
# a part of this chart's package and will not
# be published independently to a repo (at this point)
apiVersion: v1
description: ONAP Policy Distribution
name: policy-distribution
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: onap/policy-distribution:2.1.0
+image: onap/policy-distribution:2.2.0
pullPolicy: Always
# flag to enable debugging - application support required
apiVersion: v1
description: ONAP Policy Administration (PAP)
name: policy-pap
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
"aaf": false
},
"pdpParameters": {
+ "heartBeatMs": 120000,
"updateParameters": {
"maxRetryCount": 1,
"maxWaitMs": 30000
"databaseUser": "policy_user",
"databasePassword": "cG9saWN5X3VzZXI=",
"persistenceUnit": "PolicyMariaDb"
+ },
+ "topicParameterGroup": {
+ "topicSources" : [{
+ "topic" : "POLICY-PDP-PAP",
+ "servers" : [ "message-router" ],
+ "topicCommInfrastructure" : "dmaap"
+ }],
+ "topicSinks" : [{
+ "topic" : "POLICY-PDP-PAP",
+ "servers" : [ "message-router" ],
+ "topicCommInfrastructure" : "dmaap"
+ }]
}
}
+++ /dev/null
-# ============LICENSE_START=======================================================
-# ONAP PAP
-# ================================================================================
-# Copyright (C) 2019 Nordix 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.
-# ============LICENSE_END=========================================================
-
-dmaap.sink.topics=POLICY-PDP-PAP
-dmaap.sink.topics.POLICY-PDP-PAP.servers=message-router
-dmaap.source.topics=POLICY-PDP-PAP
-dmaap.source.topics.POLICY-PDP-PAP.servers=message-router
image: "{{ include "common.repository" . }}/{{ .Values.image }}"
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
command: ["/opt/app/policy/pap/bin/policy-pap.sh"]
- args: ["/opt/app/policy/pap/etc/mounted/config.json", "/opt/app/policy/pap/etc/mounted/topic.properties"]
+ args: ["/opt/app/policy/pap/etc/mounted/config.json"]
ports:
- containerPort: {{ .Values.service.internalPort }}
# disable liveness probe when breakpoints set in debugger
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: onap/policy-pap:2.0.1
+image: onap/policy-pap:2.1.1
pullPolicy: Always
# flag to enable debugging - application support required
apiVersion: v1
description: ONAP Policy XACML PDP
name: policy-xacml-pdp
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
"https": true,
"aaf": false
},
- "applicationPath": "/opt/app/policy/pdpx/apps"
-}
\ No newline at end of file
+ "applicationPath": "/opt/app/policy/pdpx/apps",
+ "topicParameterGroup": {
+ "topicSources" : [{
+ "topic" : "POLICY-PDP-PAP",
+ "servers" : [ "message-router" ],
+ "topicCommInfrastructure" : "dmaap"
+ }],
+ "topicSinks" : [{
+ "topic" : "POLICY-PDP-PAP",
+ "servers" : [ "message-router" ],
+ "topicCommInfrastructure" : "dmaap"
+ }]
+ }
+}
+++ /dev/null
-# ============LICENSE_START=======================================================
-# ONAP PAP
-# ================================================================================
-# Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
-# ================================================================================
-# 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.
-# ============LICENSE_END=========================================================
-
-dmaap.sink.topics=POLICY-PDP-PAP
-dmaap.sink.topics.POLICY-PDP-PAP.servers=message-router
-dmaap.source.topics=POLICY-PDP-PAP
-dmaap.source.topics.POLICY-PDP-PAP.servers=message-router
\ No newline at end of file
image: "{{ include "common.repository" . }}/{{ .Values.image }}"
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
command: ["/opt/app/policy/pdpx/bin/policy-pdpx.sh"]
- args: ["/opt/app/policy/pdpx/etc/mounted/config.json","/opt/app/policy/pdpx/etc/mounted/topic.properties"]
+ args: ["/opt/app/policy/pdpx/etc/mounted/config.json"]
ports:
- containerPort: {{ .Values.service.internalPort }}
# disable liveness probe when breakpoints set in debugger
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: onap/policy-xacml-pdp:2.0.1
+image: onap/policy-xacml-pdp:2.1.1
pullPolicy: Always
# flag to enable debugging - application support required
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
# local reference to common chart, as it is
# a part of this chart's package and will not
# be published independently to a repo (at this point)
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: onap/policy-pe:1.4.1
+image: onap/policy-pe:1.5.1
pullPolicy: Always
subChartsOnly:
apiVersion: v1
description: ONAP Post Orchestration Model Based Audit
name: pomba
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP POMBA AAI Context Builder
name: pomba-aaictxbuilder
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
apiVersion: v1
description: ONAP POMBA Context Aggregator
name: pomba-contextaggregator
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
\ No newline at end of file
apiVersion: v1
description: ONAP POMBA Data-Router
name: pomba-data-router
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP POMBA Elasticsearch
name: pomba-elasticsearch
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
\ No newline at end of file
apiVersion: v1
description: ONAP POMBA Kibana
name: pomba-kibana
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
\ No newline at end of file
apiVersion: v1\r
description: ONAP POMBA Network Discovery\r
name: pomba-networkdiscovery\r
-version: 4.0.0\r
+version: 5.0.0\r
\r
dependencies:\r
- name: common\r
- version: ~4.x-0\r
+ version: ~5.x-0\r
repository: '@local'\r
apiVersion: v1
description: ONAP POMBA Network Discovery Context Builder
name: pomba-networkdiscoveryctxbuilder
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
apiVersion: v1
description: ONAP POMBA SDC Context Builder
name: pomba-sdcctxbuilder
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
\ No newline at end of file
apiVersion: v1
description: ONAP POMBA SDNC Context Builder
name: pomba-sdncctxbuilder
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
apiVersion: v1
description: ONAP POMBA search-data
name: pomba-search-data
-version: 4.0.0
+version: 5.0.0
apiVersion: v1\r
description: ONAP POMBA Network Discovery Service Decomposition\r
name: pomba-servicedecomposition\r
-version: 4.0.0\r
+version: 5.0.0\r
\r
dependencies:\r
- name: common\r
- version: ~4.x-0\r
+ version: ~5.x-0\r
repository: '@local'\r
apiVersion: v1
description: POMBA Validaton-Service
name: pomba-validation-service
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
# local reference to common chart, as it is
# a part of this chart's package and will not
# be published independently to a repo (at this point)
apiVersion: v1
description: ONAP Web Portal
name: portal
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP Portal application
name: portal-app
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
apiVersion: v1
description: Portal cassandra
name: portal-cassandra
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: MariaDB Service
name: portal-mariadb
-version: 4.0.0
+version: 5.0.0
ports:
{{if eq .Values.service.type "NodePort" -}}
- port: {{ .Values.service.internalPort }}
- nodePort: {{ .Values.global.nodePortPrefix | default "302" }}{{ .Values.service.externalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.externalPort }}
{{- else -}}
- port: {{ .Values.service.externalPort }}
targetPort: {{ .Values.service.internalPort }}
apiVersion: v1
description: Portal software development kit
name: portal-sdk
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: Portal widgets micro service application
name: portal-widget
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: Zookeeper for ONAP Portal
name: portal-zookeeper
-version: 4.0.0
+version: 5.0.0
ports:
{{if eq .Values.service.type "NodePort" -}}
- port: {{ .Values.service.internalPort }}
- nodePort: {{ .Values.global.nodePortPrefix | default "302" }}{{ .Values.service.externalPort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.externalPort }}
{{- else -}}
- port: {{ .Values.service.externalPort }}
targetPort: {{ .Values.service.internalPort }}
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
# setup logging
log = logging.getLogger(__name__)
handler = logging.StreamHandler(sys.stdout)
-handler.setFormatter(logging.Formatter('%(asctime)s - %(levelname)s - %(message)s'))
+formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
+handler.setFormatter(formatter)
handler.setLevel(logging.INFO)
log.addHandler(handler)
log.setLevel(logging.INFO)
DEF_TIMEOUT = 10
DESCRIPTION = "Kubernetes container job complete check utility"
-USAGE = "Usage: job_complete.py [-t <timeout>] -j <job_name> [-j <job_name> ...]\n" \
+USAGE = "Usage: job_complete.py [-t <timeout>] -j <job_name> " \
+ "[-j <job_name> ...]\n" \
"where\n" \
- "<timeout> - wait for container job complete timeout in min, default is " + str(DEF_TIMEOUT) + "\n" \
+ "<timeout> - wait for container job complete timeout in min, " \
+ "default is " + str(DEF_TIMEOUT) + "\n" \
"<job_name> - name of the job to wait for\n"
+
def main(argv):
# args are a list of job names
job_names = []
timeout = DEF_TIMEOUT
try:
- opts, args = getopt.getopt(argv, "hj:t:", ["job-name=", "timeout=", "help"])
+ opts, args = getopt.getopt(argv, "hj:t:", ["job-name=",
+ "timeout=",
+ "help"])
for opt, arg in opts:
if opt in ("-h", "--help"):
print("%s\n\n%s" % (DESCRIPTION, USAGE))
if complete is True:
break
elif time.time() > timeout:
- log.warning("timed out waiting for '" + job_name + "' to be completed")
+ log.warning("timed out waiting for '" + job_name +
+ "' to be completed")
exit(1)
else:
- # spread in time potentially parallel execution in multiple containers
+ # spread in time potentially parallel execution in multiple
+ # containers
time.sleep(random.randint(5, 11))
+
if __name__ == "__main__":
- main(sys.argv[1:])
\ No newline at end of file
+ main(sys.argv[1:])
# setup logging
log = logging.getLogger(__name__)
handler = logging.StreamHandler(sys.stdout)
-handler.setFormatter(logging.Formatter('%(asctime)s - %(levelname)s - %(message)s'))
+formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
+handler.setFormatter(formatter)
handler.setLevel(logging.INFO)
log.addHandler(handler)
log.setLevel(logging.INFO)
configuration.api_key['authorization'] = token
configuration.api_key_prefix['authorization'] = 'Bearer'
coreV1Api = client.CoreV1Api(client.ApiClient(configuration))
-api_instance=client.ExtensionsV1beta1Api(client.ApiClient(configuration))
+api_instance = client.ExtensionsV1beta1Api(client.ApiClient(configuration))
api = client.AppsV1beta1Api(client.ApiClient(configuration))
batchV1Api = client.BatchV1Api(client.ApiClient(configuration))
+
def is_job_complete(job_name):
complete = False
log.info("Checking if " + job_name + " is complete")
- response = ""
try:
response = batchV1Api.read_namespaced_job_status(job_name, namespace)
if response.status.succeeded == 1:
except Exception as e:
log.error("Exception when calling read_namespaced_job_status: %s\n" % e)
+
def wait_for_statefulset_complete(statefulset_name):
try:
response = api.read_namespaced_stateful_set(statefulset_name, namespace)
s = response.status
- if ( s.updated_replicas == response.spec.replicas and
+ if (s.updated_replicas == response.spec.replicas and
s.replicas == response.spec.replicas and
s.ready_replicas == response.spec.replicas and
s.current_replicas == response.spec.replicas and
except Exception as e:
log.error("Exception when waiting for Statefulset status: %s\n" % e)
+
def wait_for_deployment_complete(deployment_name):
try:
response = api.read_namespaced_deployment(deployment_name, namespace)
s = response.status
- if ( s.unavailable_replicas == None and
+ if (s.unavailable_replicas is None and
s.updated_replicas == response.spec.replicas and
s.replicas == response.spec.replicas and
s.ready_replicas == response.spec.replicas and
except Exception as e:
log.error("Exception when waiting for deployment status: %s\n" % e)
+
def is_ready(container_name):
ready = False
log.info("Checking if " + container_name + " is ready")
try:
- response = coreV1Api.list_namespaced_pod(namespace=namespace, watch=False)
+ response = coreV1Api.list_namespaced_pod(namespace=namespace,
+ watch=False)
for i in response.items:
# container_statuses can be None, which is non-iterable.
if i.status.container_statuses is None:
continue
for s in i.status.container_statuses:
if s.name == container_name:
- if i.metadata.owner_references[0].kind == "StatefulSet":
- ready = wait_for_statefulset_complete(i.metadata.owner_references[0].name)
+ name = read_name(i)
+ if i.metadata.owner_references[0].kind == "StatefulSet":
+ ready = wait_for_statefulset_complete(name)
elif i.metadata.owner_references[0].kind == "ReplicaSet":
- api_response = api_instance.read_namespaced_replica_set_status(i.metadata.owner_references[0].name, namespace)
- ready = wait_for_deployment_complete(api_response.metadata.owner_references[0].name)
+ deployment_name = get_deployment_name(name)
+ ready = wait_for_deployment_complete(deployment_name)
elif i.metadata.owner_references[0].kind == "Job":
- ready = is_job_complete(i.metadata.owner_references[0].name)
+ ready = is_job_complete(name)
return ready
except Exception as e:
log.error("Exception when calling list_namespaced_pod: %s\n" % e)
+
+def read_name(item):
+ return item.metadata.owner_reference[0].name
+
+
+def get_deployment_name(replicaset):
+ api_response = api_instance.read_namespaced_replica_set_status(replicaset,
+ namespace)
+ deployment_name = read_name(api_response)
+ return deployment_name
+
+
DEF_TIMEOUT = 10
DESCRIPTION = "Kubernetes container readiness check utility"
-USAGE = "Usage: ready.py [-t <timeout>] -c <container_name> [-c <container_name> ...]\n" \
+USAGE = "Usage: ready.py [-t <timeout>] -c <container_name> " \
+ "[-c <container_name> ...]\n" \
"where\n" \
- "<timeout> - wait for container readiness timeout in min, default is " + str(DEF_TIMEOUT) + "\n" \
+ "<timeout> - wait for container readiness timeout in min, " \
+ "default is " + str(DEF_TIMEOUT) + "\n" \
"<container_name> - name of the container to wait for\n"
+
def main(argv):
# args are a list of container names
container_names = []
timeout = DEF_TIMEOUT
try:
- opts, args = getopt.getopt(argv, "hc:t:", ["container-name=", "timeout=", "help"])
+ opts, args = getopt.getopt(argv, "hc:t:", ["container-name=",
+ "timeout=",
+ "help"])
for opt, arg in opts:
if opt in ("-h", "--help"):
print("%s\n\n%s" % (DESCRIPTION, USAGE))
if ready is True:
break
elif time.time() > timeout:
- log.warning("timed out waiting for '" + container_name + "' to be ready")
+ log.warning("timed out waiting for '" + container_name +
+ "' to be ready")
exit(1)
else:
- # spread in time potentially parallel execution in multiple containers
+ # spread in time potentially parallel execution in multiple
+ # containers
time.sleep(random.randint(5, 11))
+
if __name__ == "__main__":
main(sys.argv[1:])
--- /dev/null
+Subproject commit b6b5b0e6f8880e3a922a2fef97e95e5013475228
+++ /dev/null
-#!/bin/bash
-# Copyright (C) 2018 Amdocs, Bell Canada
-# Modifications Copyright (C) 2019 Samsung
-#
-# 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.
-#
-# Execute tags built to support the hands-on demo
-#
-function usage
-{
- echo "Usage: demo-k8s.sh <namespace> <command> [<parameters>]"
- echo " "
- echo " demo-k8s.sh <namespace> init"
- echo " - Execute both init_customer + distribute"
- echo " "
- echo " demo-k8s.sh <namespace> init_customer"
- echo " - Create demo customer (Demonstration) and services, etc."
- echo " "
- echo " demo-k8s.sh <namespace> distribute [<prefix>]"
- echo " - Distribute demo models (demoVFW and demoVLB)"
- echo " "
- echo " demo-k8s.sh <namespace> preload <vnf_name> <module_name>"
- echo " - Preload data for VNF for the <module_name>"
- echo " "
- echo " demo-k8s.sh <namespace> appc <module_name>"
- echo " - provide APPC with vFW module mount point for closed loop"
- echo " "
- echo " demo-k8s.sh <namespace> init_robot [ <etc_hosts_prefix> ]"
- echo " - Initialize robot after all ONAP VMs have started"
- echo " "
- echo " demo-k8s.sh <namespace> instantiateVFW"
- echo " - Instantiate vFW module for the demo customer (DemoCust<uuid>)"
- echo " "
- echo " demo-k8s.sh <namespace> instantiateVFWdirectso csar_filename"
- echo " - Instantiate vFW module using direct SO interface using previously distributed model "
- echo " that is in /tmp/csar in robot container"
- echo " "
- echo " demo-k8s.sh <namespace> deleteVNF <module_name from instantiateVFW>"
- echo " - Delete the module created by instantiateVFW"
- echo " "
- echo " demo-k8s.sh <namespace> heatbridge <stack_name> <service_instance_id> <service> <oam-ip-address>"
- echo " - Run heatbridge against the stack for the given service instance and service"
- echo " "
- echo " demo-k8s.sh <namespace> vfwclosedloop <pgn-ip-address>"
- echo " - vFWCL: Sets the packet generator to high and low rates, and checks whether the policy "
- echo " kicks in to modulate the rates back to medium"
- echo " "
-}
-
-# Set the defaults
-
-echo "Number of parameters:"
-echo $#
-
-if [ $# -lt 2 ];then
- usage
- exit
-fi
-
-NAMESPACE=$1
-shift
-
-##
-## if more than 1 tag is supplied, the must be provided with -i or -e
-##
-while [ $# -gt 0 ]
-do
- key="$1"
- echo "KEY:"
- echo $key
-
- case $key in
- init_robot)
- TAG="UpdateWebPage"
- read -s -p "WEB Site Password for user 'test': " WEB_PASSWORD
- if [ "$WEB_PASSWORD" = "" ]; then
- echo ""
- echo "WEB Password is required for user 'test'"
- exit
- fi
- VARIABLES="$VARIABLES -v WEB_PASSWORD:$WEB_PASSWORD"
- shift
- if [ $# -eq 2 ];then
- VARIABLES="$VARIABLES -v HOSTS_PREFIX:$1"
- fi
- shift
- ;;
- init)
- TAG="InitDemo"
- shift
- ;;
- init_customer)
- TAG="InitCustomer"
- shift
- ;;
- distribute)
- TAG="InitDistribution"
- shift
- if [ $# -eq 1 ];then
- VARIABLES="$VARIABLES -v DEMO_PREFIX:$1"
- fi
- shift
- ;;
- preload)
- TAG="PreloadDemo"
- shift
- if [ $# -ne 2 ];then
- echo "Usage: demo-k8s.sh <namespace> preload <vnf_name> <module_name>"
- exit
- fi
- VARIABLES="$VARIABLES -v VNF_NAME:$1"
- shift
- VARIABLES="$VARIABLES -v MODULE_NAME:$1"
- shift
- ;;
- appc)
- TAG="APPCMountPointDemo"
- shift
- if [ $# -ne 1 ];then
- echo "Usage: demo-k8s.sh <namespace> appc <module_name>"
- exit
- fi
- VARIABLES="$VARIABLES -v MODULE_NAME:$1"
- shift
- ;;
- instantiateVFW)
- TAG="instantiateVFW"
- VARIABLES="$VARIABLES -v GLOBAL_BUILD_NUMBER:$$"
- shift
- ;;
- instantiateVFWdirectso)
- TAG="instantiateVFWdirectso"
- shift
- if [ $# -ne 1 ];then
- echo "Usage: demo-k8s.sh <namespace> instantiateVFWdirectso <csar_filename>"
- exit
- fi
- VARIABLES="$VARIABLES -v CSAR_FILE:$1 -v GLOBAL_BUILD_NUMBER:$$"
- shift
- ;;
- deleteVNF)
- TAG="deleteVNF"
- shift
- if [ $# -ne 1 ];then
- echo "Usage: demo-k8s.sh <namespace> deleteVNF <module_name from instantiateVFW>"
- exit
- fi
- VARFILE=$1.py
- if [ -e /opt/eteshare/${VARFILE} ]; then
- VARIABLES="$VARIABLES -V /share/${VARFILE}"
- else
- echo "Cache file ${VARFILE} is not found"
- exit
- fi
- shift
- ;;
- heatbridge)
- TAG="heatbridge"
- shift
- if [ $# -ne 4 ];then
- echo "Usage: demo-k8s.sh <namespace> heatbridge <stack_name> <service_instance_id> <service> <oam-ip-address>"
- exit
- fi
- VARIABLES="$VARIABLES -v HB_STACK:$1"
- shift
- VARIABLES="$VARIABLES -v HB_SERVICE_INSTANCE_ID:$1"
- shift
- VARIABLES="$VARIABLES -v HB_SERVICE:$1"
- shift
- VARIABLES="$VARIABLES -v HB_IPV4_OAM_ADDRESS:$1"
- shift
- ;;
- cds)
- TAG="cds"
- shift
- ;;
- distributeVFWNG)
- TAG="distributeVFWNG"
- shift
- ;;
- distributeDemoVFWDT)
- TAG="DistributeDemoVFWDT"
- shift
- ;;
- instantiateDemoVFWDT)
- TAG="instantiateVFWDT"
- shift
- ;;
- vfwclosedloop)
- TAG="vfwclosedloop"
- shift
- VARIABLES="$VARIABLES -v PACKET_GENERATOR_HOST:$1 -v pkg_host:$1"
- shift
- ;;
- *)
- usage
- exit
- esac
-done
-
-set -x
-
-POD=$(kubectl --namespace $NAMESPACE get pods | sed 's/ .*//'| grep robot)
-
-ETEHOME=/var/opt/ONAP
-
-export GLOBAL_BUILD_NUMBER=$(kubectl --namespace $NAMESPACE exec ${POD} -- bash -c "ls -1q /share/logs/ | wc -l")
-OUTPUT_FOLDER=$(printf %04d $GLOBAL_BUILD_NUMBER)_demo_$key
-DISPLAY_NUM=$(($GLOBAL_BUILD_NUMBER + 90))
-
-VARIABLEFILES="-V /share/config/vm_properties.py -V /share/config/integration_robot_properties.py -V /share/config/integration_preload_parameters.py"
-
-kubectl --namespace $NAMESPACE exec ${POD} -- ${ETEHOME}/runTags.sh ${VARIABLEFILES} ${VARIABLES} -d /share/logs/${OUTPUT_FOLDER} -i ${TAG} --display $DISPLAY_NUM 2> ${TAG}.out
+++ /dev/null
-# Copyright © 2018 Amdocs, Bell Canada
-#
-# 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.
-
-#!/bin/bash
-
-#
-# Run the testsuite for the passed tag. Valid tags are listed in usage help
-# Please clean up logs when you are done...
-#
-if [ "$1" == "" ] || [ "$2" == "" ]; then
- echo "Usage: ete-k8s.sh [namespace] [tag]"
- echo ""
- echo " List of test case tags (filename for intent: tag)"
- echo ""
- echo " cds.robot: cds"
- echo ""
- echo " clamp.robot: clamp"
- echo ""
- echo " demo.robot: InitDemo, InitCustomer, APPCCDTPreloadDemo, APPCMountPointDemo, DistributeDemoVFWDT, DistributeVFWNG,"
- echo " InitDistribution, PreloadDemo, deleteVNF, heatbridge, instantiateDemoVFWCL, instantiateVFW, instantiateVFWCL, instantiateVFWDT"
- echo ""
- echo " health-check.robot: health, core, small, medium, 3rdparty, api, datarouter, externalapi, health-aaf, health-aai, health-appc,"
- echo " health-clamp, health-cli, health-dcae, health-dmaap, health-log, health-modeling, health-msb,"
- echo " health-multicloud, health-oof, health-policy, health-pomba, health-portal, health-sdc, health-sdnc,"
- echo " health-so, health-uui, health-vfc, health-vid, health-vnfsdk, healthdist, healthlogin, healthmr,"
- echo " healthportalapp, multicloud, oom"
- echo ""
- echo " hvves.robot: HVVES, ete"
- echo ""
- echo " model-distribution-vcpe.robot: distributevCPEResCust"
- echo ""
- echo " model-distribution.robot: distribute, distributeVFWDT, distributeVLB"
- echo ""
- echo " oof-*.robot: cmso, has, homing"
- echo ""
- echo " pnf-registration.robot: ete, pnf_registrate"
- echo ""
- echo " post-install-tests.robot dmaapacl, postinstall"
- echo ""
- echo " update_onap_page.robot: UpdateWebPage"
- echo ""
- echo " vnf-orchestration-direct-so.robot: instantiateVFWdirectso"
- echo ""
- echo " vnf-orchestration.robot: instantiate, instantiateNoDelete, stability72hr"
- exit
-fi
-
-set -x
-
-export NAMESPACE="$1"
-
-POD=$(kubectl --namespace $NAMESPACE get pods | sed 's/ .*//'| grep robot)
-
-TAGS="-i $2"
-
-ETEHOME=/var/opt/ONAP
-export GLOBAL_BUILD_NUMBER=$(kubectl --namespace $NAMESPACE exec ${POD} -- bash -c "ls -1q /share/logs/ | wc -l")
-OUTPUT_FOLDER=$(printf %04d $GLOBAL_BUILD_NUMBER)_ete_$2
-DISPLAY_NUM=$(($GLOBAL_BUILD_NUMBER + 90))
-
-VARIABLEFILES="-V /share/config/vm_properties.py -V /share/config/integration_robot_properties.py -V /share/config/integration_preload_parameters.py"
-VARIABLES="-v GLOBAL_BUILD_NUMBER:$$"
-
-kubectl --namespace $NAMESPACE exec ${POD} -- ${ETEHOME}/runTags.sh ${VARIABLEFILES} ${VARIABLES} -d /share/logs/${OUTPUT_FOLDER} ${TAGS} --display $DISPLAY_NUM
+++ /dev/null
-# Copyright (c) 2017 AT&T Intellectual Property. All rights reserved.
-#
-# 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.
-
-#!/bin/bash
-
-#
-# Run the health-check testsuites for the tags discovered by helm list
-# Please clean up logs when you are done...
-#
-if [ "$1" == "" ] ; then
- echo "Usage: eteHelm-k8s.sh [namespace]"
- echo " list projects via helm list and runs health-check with those tags except dev and dev-consul"
- exit
-fi
-
-set -x
-
-export NAMESPACE="$1"
-
-POD=$(kubectl --namespace $NAMESPACE get pods | sed 's/ .*//'| grep robot)
-
-PROJECTS=$(helm list | tail +3 | grep '-' | cut -d' ' -f1 | sed -E 's/\w+-(\w+)/health-\1/g' | grep -v consul | grep -v nfs-provision)
-
-TAGS=""
-for project in $PROJECTS ;
-do
-TAGS="$TAGS -i $project"
-done
-
-
-ETEHOME=/var/opt/ONAP
-export GLOBAL_BUILD_NUMBER=$(kubectl --namespace $NAMESPACE exec ${POD} -- bash -c "ls -1q /share/logs/ | wc -l")
-OUTPUT_FOLDER=$(printf %04d $GLOBAL_BUILD_NUMBER)_ete_helmlist
-DISPLAY_NUM=$(($GLOBAL_BUILD_NUMBER + 90))
-
-VARIABLEFILES="-V /share/config/vm_properties.py -V /share/config/integration_robot_properties.py -V /share/config/integration_preload_parameters.py"
-VARIABLES="-v GLOBAL_BUILD_NUMBER:$$"
-
-kubectl --namespace $NAMESPACE exec ${POD} -- ${ETEHOME}/runTags.sh ${VARIABLEFILES} ${VARIABLES} -d /share/logs/${OUTPUT_FOLDER} ${TAGS} --display $DISPLAY_NUM
+++ /dev/null
-# Copyright (c) 2018 Amdocs, Bell Canada
-#
-# 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.
-
-import json
-import os.path
-from itertools import chain
-from collections import defaultdict
-
-
-GLOBAL_PRELOAD_PARAMETERS = {
- # heat template parameter values common to all heat template continaing these parameters
- "defaults" : {
- 'key_name' : 'vfw_key${uuid}',
- "pub_key" : "{{ .Values.vnfPubKey }}",
- "repo_url_blob" : "https://nexus.onap.org/content/repositories/raw",
- "repo_url_artifacts" : "{{ .Values.demoArtifactsRepoUrl }}",
- "demo_artifacts_version" : "${GLOBAL_INJECTED_ARTIFACTS_VERSION}",
- "onap_private_net_id" : "${GLOBAL_INJECTED_NETWORK}",
- "onap_private_subnet_id" : "{{ .Values.openStackPrivateSubnetId }}",
- "onap_private_net_cidr" : "{{ .Values.openStackPrivateNetCidr }}",
- "sec_group" : "{{ .Values.openStackSecurityGroup }}",
- "dcae_collector_ip" : "{{ .Values.dcaeCollectorIp }}",
- "dcae_collector_port" : "30235",
- "public_net_id" : "${GLOBAL_INJECTED_PUBLIC_NET_ID}",
- "cloud_env" : "${GLOBAL_INJECTED_CLOUD_ENV}",
- "install_script_version" : "${GLOBAL_INJECTED_SCRIPT_VERSION}",
- },
- # ##
- # heat template parameter values for heat template instances created during Vnf-Orchestration test cases
- # ##
- "Vnf-Orchestration" : {
- "vfw_preload.template": {
- "unprotected_private_net_id" : "vofwl01_unprotected${hostid}",
- "unprotected_private_net_cidr" : "192.168.10.0/24",
- "protected_private_net_id" : "vofwl01_protected${hostid}",
- "protected_private_net_cidr" : "192.168.20.0/24",
- "vfw_int_unprotected_private_ip_0" : "192.168.10.100",
- "vfw_int_protected_private_ip_0" : "192.168.20.100",
- "vfw_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.1",
- "vfw_int_protected_private_floating_ip" : "192.168.10.200",
- "vpg_int_unprotected_private_ip_0" : "192.168.10.200",
- "vpg_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.2",
- "vsn_int_protected_private_ip_0" : "192.168.20.250",
- "vsn_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.3",
- "sec_group" : "{{ .Values.openStackSecurityGroup }}",
- 'vfw_name_0':'vofwl01fwl${hostid}',
- 'vpg_name_0':'vofwl01pgn${hostid}',
- "vfw_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "vfw_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "vpg_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "vpg_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "vsn_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "vsn_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- 'vsn_name_0':'vofwl01snk${hostid}'
- },
- "vfwsnk_preload.template": {
- "int_unprotected_private_net_id" : "vofwlsnk_unprotected${hostid}",
- "int_unprotected_private_subnet_id" : "vofwlsnk_unprotected_sub${hostid}",
- "unprotected_private_net_cidr" : "192.168.10.0/24",
- "int_protected_private_net_id" : "vofwlsnk_protected${hostid}",
- "int_protected_private_subnet_id" : "vofwlsnk_protected_sub${hostid}",
- "protected_private_net_cidr" : "192.168.20.0/24",
- "vfw_int_unprotected_private_ip_0" : "192.168.10.100",
- # this should be the same value as vpg_private_ip_0
- "vfw_int_protected_private_floating_ip" : "192.168.10.200",
- "vfw_int_protected_private_ip_0" : "192.168.20.100",
- "vfw_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.101",
- "vsn_int_protected_private_ip_0" : "192.168.20.250",
- "vsn_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.102",
- "sec_group" : "{{ .Values.openStackSecurityGroup }}",
- 'vfw_name_0':'vofwl01fwl${hostid}',
- 'vsn_name_0':'vofwl01snk${hostid}',
- "vfw_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "vfw_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "vsn_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "vsn_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- },
- "vpkg_preload.template": {
- # vFWSNK_ prepended to vpkg since the default behoir for vFWSNK tempalte is to concatenate vnf_name and network_name
- "unprotected_private_net_id" : "vFWSNK_vofwlsnk_unprotected${hostid}",
- "unprotected_private_subnet_id" : "vFWSNK_vofwlsnk_unprotected_sub${hostid}",
- "unprotected_private_net_cidr" : "192.168.10.0/24",
- "protected_private_net_cidr" : "192.168.20.0/24",
- "vfw_private_ip_0" : "192.168.10.100",
- "vpg_unprotected_private_ip_0" : "192.168.10.200",
- "vpg_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.103",
- "vsn_private_ip_0" : "192.168.20.250",
- "sec_group" : "{{ .Values.openStackSecurityGroup }}",
- 'vpg_name_0':'vofwl01pgn${hostid}',
- "vpg_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "vpg_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- },
- # vFWDT preload data
- "vfwdt_vpkg_preload.template": {
- "unprotected_private_net_id" : "vofwlsnk_unprotected${hostid}",
- "unprotected_private_subnet_id" : "vofwlsnk_unprotected_sub${hostid}",
- "unprotected_private_net_cidr" : "192.168.10.0/24",
- "protected_private_net_cidr" : "192.168.20.0/24",
- "vfw_private_ip_0" : "192.168.10.100",
- "vpg_private_ip_0" : "192.168.10.200",
- "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.103",
- "vsn_private_ip_0" : "192.168.20.250",
- "sec_group" : "{{ .Values.openStackSecurityGroup }}",
- 'vpg_name_0':'vofwl01pgn${hostid}',
- "vfw_name_0": "vofwl01vfw${hostid}",
- "vsn_name_0": "vofwl01snk${hostid}",
- "image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "protected_private_net_id" : "vofwlsnk01_protected${hostid}",
- "protected_private_subnet_id" : "vofwlsnk01_protected_sub${hostid}",
- "ext_private_net_id": "onap_oam_ext",
- "ext_private_subnet_id": "onap_oam_ext_sub",
- "ext_private_net_cidr": "10.100.0.0/16",
- "vfw_private_ip_1": "192.168.20.100",
- "vfw_private_ip_2": "10.0.110.1",
- "vfw_private_ip_3": "10.100.100.1",
- "vsn_private_ip_1": "10.0.110.3",
- "vsn_private_ip_0": "192.168.20.250",
- "vsn_private_ip_2": "10.100.100.3",
- },
- "vfwdt_vfwsnk0_preload.template": {
- "unprotected_private_net_id" : "vofwlsnk_unprotected${hostid}",
- "unprotected_private_subnet_id" : "vofwlsnk_unprotected_sub${hostid}",
- "unprotected_private_net_cidr" : "192.168.10.0/24",
- "protected_private_net_cidr" : "192.168.20.0/24",
- "vfw_private_ip_0" : "192.168.10.100",
- "vpg_private_ip_0" : "192.168.10.200",
- "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.103",
- "vsn_private_ip_0" : "192.168.20.250",
- "sec_group" : "{{ .Values.openStackSecurityGroup }}",
- 'vpg_name_0':'vofwl01pgn${hostid}',
- "vsn_name_0": "vofwl01snk${hostid}",
- "vfw_name_0": "vofwl01vfw${hostid}",
- "image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "protected_private_net_id" : "vofwlsnk01_protected${hostid}",
- "protected_private_subnet_id" : "vofwlsnk01_protected_sub${hostid}",
- "ext_private_net_id": "onap_oam_ext",
- "ext_private_subnet_id": "onap_oam_ext_sub",
- "ext_private_net_cidr": "10.100.0.0/16",
- "vfw_private_ip_1": "192.168.20.100",
- "vfw_private_ip_2": "10.0.110.1",
- "vfw_private_ip_3": "10.100.100.1",
- "vsn_private_ip_1": "10.0.110.3",
- "vsn_private_ip_0": "192.168.20.250",
- "vpg_private_ip_2": "10.100.100.2",
- "vsn_private_ip_1": "10.0.110.3",
- "vsn_private_ip_0": "192.168.20.250",
- "vsn_private_ip_2": "10.100.100.3"
- },
- "vfwdt_vfwsnk1_preload.template": {
- "unprotected_private_net_id" : "vofwlsnk_unprotected${hostid}",
- "unprotected_private_subnet_id" : "vofwlsnk_unprotected_sub${hostid}",
- "unprotected_private_net_cidr" : "192.168.10.0/24",
- "protected_private_net_cidr" : "192.168.20.0/24",
- "vfw_private_ip_0" : "192.168.10.110",
- "vpg_private_ip_0" : "192.168.10.200",
- "vpg_private_ip_1" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.103",
- "vsn_private_ip_0" : "192.168.20.250",
- "sec_group" : "{{ .Values.openStackSecurityGroup }}",
- 'vpg_name_0':'vofwl01pgn${hostid}',
- "vsn_name_0": "vofwl01snk${hostid}",
- "vfw_name_0": "vofwl01vfw${hostid}",
- "image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "protected_private_net_id" : "vofwlsnk01_protected${hostid}",
- "protected_private_subnet_id" : "vofwlsnk01_protected_sub${hostid}",
- "ext_private_net_id": "onap_oam_ext",
- "ext_private_subnet_id": "onap_oam_ext_sub",
- "ext_private_net_cidr": "10.100.0.0/16",
- "vfw_private_ip_1": "192.168.20.110",
- "vfw_private_ip_2": "10.0.110.4",
- "vfw_private_ip_3": "10.100.100.4",
- "vpg_private_ip_0": "192.168.10.200",
- "vpg_private_ip_1": "10.0.110.2",
- "vpg_private_ip_2": "10.100.100.2",
- "vsn_private_ip_0": "192.168.20.240",
- "vsn_private_ip_1": "10.0.110.5",
- "vsn_private_ip_2": "10.100.100.5"
- },
- "vlb_preload.template" : {
- "vlb_image_name" : "${GLOBAL_INJECTED_UBUNTU_1604_IMAGE}",
- "vlb_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "vdns_image_name" : "${GLOBAL_INJECTED_UBUNTU_1604_IMAGE}",
- "vdns_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "vpg_image_name" : "${GLOBAL_INJECTED_UBUNTU_1604_IMAGE}",
- "vpg_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- 'vlb_name_0':'vovlblb${hostid}',
- 'vdns_name_0':'vovlbdns${hostid}',
- "vpg_name_0" : "vovlbpgn${hostid}",
- "vlb_private_net_id" : "volb01_private${hostid}",
- "vlb_private_net_cidr" : "192.168.30.0/24",
- "pktgen_private_net_id" : "volb01_pktgen${hostid}",
- "pktgen_private_net_cidr" : "192.168.9.0/24",
- "vlb_int_private_ip_0" : "192.168.30.100",
- "vlb_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.4",
- "vlb_int_pktgen_private_ip_0" : "192.168.9.111",
- "vdns_int_private_ip_0" : "192.168.30.110",
- "vdns_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.5",
- "vpg_int_pktgen_private_ip_0" : "192.168.9.110",
- "vpg_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.7",
- "sec_group" : "{{ .Values.openStackSecurityGroup }}",
- "pg_int" : "192.168.9.109",
- "vip" : "192.168.9.112",
- "gre_ipaddr" : "192.168.30.112",
- "vnf_id" : "vLoadBalancer_${hostid}",
- "vf_module_id" : "vLoadBalancer"
-
- },
- "dnsscaling_preload.template" : {
- "int_private_net_id" : "vLBMS_volb01_private${hostid}",
- "int_private_subnet_id" : "vLBMS_volb01_private${hostid}_subnet",
- "vlb_int_private_ip_0" : "192.168.30.100",
- "vlb_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.4",
- "vlb_int_pktgen_private_ip_0" : "192.168.9.111",
- "vdns_int_private_ip_0" : "192.168.30.222",
- "vdns_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.6",
- "sec_group" : "{{ .Values.openStackSecurityGroup }}",
- 'vdns_name_0':'vovlbscaling${hostid}',
- "vlb_private_net_cidr" : "192.168.30.0/24"
- },
- "vims_preload.template" : {
- "bono_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "sprout_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "homer_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "homestead_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "ralf_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "ellis_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "dns_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "bono_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "sprout_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "homer_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "homestead_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "ralf_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "ellis_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "dns_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "repo_url" : "http://repo.cw-ngv.com/stable",
- "zone" : "me.cw-ngv.com",
- "dn_range_start" : "2425550000",
- "dn_range_length" : "10000",
- "dnssec_key" : "9FPdYTWhk5+LbhrqtTPQKw=="
-
- },
- "vvg_preload.template" : {
- }
- },
-# heat template parameter values for heat template instances created during Closed-Loop test cases
- "Closed-Loop" : {
- "vfw_preload.template": {
- "unprotected_private_net_id" : "clfwl01_unprotected${hostid}",
- "unprotected_private_net_cidr" : "192.168.110.0/24",
- "protected_private_net_id" : "clfwl01_protected${hostid}",
- "protected_private_net_cidr" : "192.168.120.0/24",
- "vfw_int_unprotected_private_ip_0" : "192.168.110.100",
- "vfw_int_protected_private_ip_0" : "192.168.120.100",
- "vfw_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.11",
- "vfw_int_protected_private_floating_ip" : "192.168.110.200",
- "vpg_int_unprotected_private_ip_0" : "192.168.110.200",
- "vpg_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.12",
- "vsn_int_protected_private_ip_0" : "192.168.120.250",
- "vsn_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.13",
- "sec_group" : "{{ .Values.openStackSecurityGroup }}",
- 'vfw_name_0':'clfwl01fwl${hostid}',
- 'vpg_name_0':'clfwl01pgn${hostid}',
- "vfw_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "vfw_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "vpg_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "vpg_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "vsn_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "vsn_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- 'vsn_name_0':'clfwl01snk${hostid}'
- },
- "vfwsnk_preload.template": {
- "int_unprotected_private_net_id" : "clfwlsnk_unprotected${hostid}",
- "int_unprotected_private_subnet_id" : "clfwlsnk_unprotected_sub${hostid}",
- "unprotected_private_net_cidr" : "192.168.10.0/24",
- "int_protected_private_net_id" : "clfwlsnk_protected${hostid}",
- "int_protected_private_subnet_id" : "clfwlsnk_protected_sub${hostid}",
- "protected_private_net_cidr" : "192.168.20.0/24",
- "vfw_int_unprotected_private_ip_0" : "192.168.10.100",
- # this should be the same value as vpg_private_ip_0
- "vfw_int_protected_private_floating_ip" : "192.168.10.200",
- "vfw_int_protected_private_ip_0" : "192.168.20.100",
- "vfw_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.111",
- "vsn_int_protected_private_ip_0" : "192.168.20.250",
- "vsn_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.112",
- "sec_group" : "{{ .Values.openStackSecurityGroup }}",
- 'vfw_name_0':'clfwl01fwl${hostid}',
- 'vsn_name_0':'clfwl01snk${hostid}',
- "vfw_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "vfw_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "vsn_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "vsn_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- },
- "vpkg_preload.template": {
- "unprotected_private_net_id" : "vFWSNK_clfwlsnk_unprotected${hostid}",
- "unprotected_private_subnet_id" : "vFWSNK_clfwlsnk_unprotected_sub${hostid}",
- "unprotected_private_net_cidr" : "192.168.10.0/24",
- "protected_private_net_cidr" : "192.168.20.0/24",
- "vfw_private_ip_0" : "192.168.10.100",
- "vpg_unprotected_private_ip_0" : "192.168.10.200",
- "vpg_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.113",
- "vsn_private_ip_0" : "192.168.20.250",
- "sec_group" : "{{ .Values.openStackSecurityGroup }}",
- 'vpg_name_0':'clfwl01pgn${hostid}',
- "vpg_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "vpg_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- },
- # vLBMS
- "vlb_preload.template" : {
- "vlb_image_name" : "${GLOBAL_INJECTED_UBUNTU_1604_IMAGE}",
- "vlb_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "vdns_image_name" : "${GLOBAL_INJECTED_UBUNTU_1604_IMAGE}",
- "vdns_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "vpg_image_name" : "${GLOBAL_INJECTED_UBUNTU_1604_IMAGE}",
- "vpg_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- 'vlb_name_0':'clvlblb${hostid}',
- 'vdns_name_0':'clvlbdns${hostid}',
- "vpg_name_0" : "clvlbpgn${hostid}",
- "vlb_private_net_id" : "cllb01_private${hostid}",
- "vlb_private_net_cidr" : "192.168.30.0/24",
- "pktgen_private_net_id" : "cllb01_pktgen${hostid}",
- "pktgen_private_net_cidr" : "192.168.9.0/24",
- "vlb_int_private_ip_0" : "192.168.30.100",
- "vlb_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.14",
- "vlb_int_pktgen_private_ip_0" : "192.168.9.111",
- "vdns_int_private_ip_0" : "192.168.30.110",
- "vdns_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.15",
- "vpg_int_pktgen_private_ip_0" : "192.168.9.110",
- "vpg_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.17",
- "sec_group" : "{{ .Values.openStackSecurityGroup }}",
- "pg_int" : "192.168.9.109",
- "vip" : "192.168.9.112",
- "gre_ipaddr" : "192.168.30.112",
- "vnf_id" : "vLoadBalancer_${hostid}",
- "vf_module_id" : "vLoadBalancer"
- },
- "dnsscaling_preload.template" : {
- "int_private_net_id" : "vLBMS_cllb01_private${hostid}",
- "int_private_subnet_id" : "vLBMS_cllb01_private${hostid}_subnet",
- "vlb_int_private_ip_0" : "192.168.30.100",
- "vlb_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.14",
- "vlb_int_pktgen_private_ip_0" : "192.168.9.111",
- "vdns_int_private_ip_0" : "192.168.30.222",
- "vdns_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.16",
- "sec_group" : "{{ .Values.openStackSecurityGroup }}",
- 'vdns_name_0':'clvlbscaling${hostid}',
- "vlb_private_net_cidr" : "192.168.10.0/24"
- },
- "vims_preload.template" : {
- "bono_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "sprout_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "homer_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "homestead_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "ralf_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "ellis_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "dns_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "bono_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "sprout_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "homer_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "homestead_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "ralf_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "ellis_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "dns_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "repo_url" : "http://repo.cw-ngv.com/stable",
- "zone" : "me.cw-ngv.com",
- "dn_range_start" : "2425550000",
- "dn_range_length" : "10000",
- "dnssec_key" : "9FPdYTWhk5+LbhrqtTPQKw=="
- },
- "vvg_preload.template" : {
- }
- },
- # heat template parameter values for heat template instances created for hands on demo test case
- "Demo" : {
- "vfw_preload.template": {
- "unprotected_private_net_id" : "demofwl_unprotected",
- "unprotected_private_net_cidr" : "192.168.110.0/24",
- "protected_private_net_id" : "demofwl_protected",
- "protected_private_net_cidr" : "192.168.120.0/24",
- "vfw_int_unprotected_private_ip_0" : "192.168.110.100",
- "vfw_int_protected_private_ip_0" : "192.168.120.100",
- "vfw_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.11",
- "vpg_int_unprotected_private_ip_0" : "192.168.110.200",
- "vfw_int_protected_private_floating_ip" : "192.168.110.200",
- "vpg_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.12",
- "vsn_int_protected_private_ip_0" : "192.168.120.250",
- "vsn_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.13",
- "sec_group" : "{{ .Values.openStackSecurityGroup }}",
- 'vfw_name_0':'demofwl01fwl',
- 'vpg_name_0':'demofwl01pgn',
- "vfw_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "vfw_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "vpg_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "vpg_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "vsn_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "vsn_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- 'vsn_name_0':'demofwl01snk'
- },
- "vfwsnk_preload.template": {
- "int_unprotected_private_net_id" : "demofwlsnk_unprotected${hostid}",
- "int_unprotected_private_subnet_id" : "demofwlsnk_unprotected_sub${hostid}",
- "unprotected_private_net_cidr" : "192.168.10.0/24",
- "int_protected_private_net_id" : "demofwlsnk_protected${hostid}",
- "int_protected_private_subnet_id" : "vofwlsnk_protected_sub${hostid}",
- "protected_private_net_cidr" : "192.168.20.0/24",
- "vfw_int_unprotected_private_ip_0" : "192.168.10.100",
- # this should be the same value as vpg_private_ip_0
- "vfw_int_protected_private_floating_ip" : "192.168.10.200",
- "vfw_int_protected_private_ip_0" : "192.168.20.100",
- "vfw_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.121",
- "vsn_int_protected_private_ip_0" : "192.168.20.250",
- "vsn_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.122",
- "sec_group" : "{{ .Values.openStackSecurityGroup }}",
- 'vfw_name_0':'${generic_vnf_name}',
- 'vsn_name_0':'demofwl01snk${hostid}',
- "vfw_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "vfw_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "vsn_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "vsn_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- },
- "vpkg_preload.template": {
- "unprotected_private_net_id" : "vFWSNK_demofwlsnk_unprotected${hostid}",
- "unprotected_private_subnet_id" : "vFWSNK_demofwlsnk_unprotected_sub${hostid}",
- "unprotected_private_net_cidr" : "192.168.10.0/24",
- "protected_private_net_cidr" : "192.168.20.0/24",
- "vfw_private_ip_0" : "192.168.10.100",
- "vpg_unprotected_private_ip_0" : "192.168.10.200",
- "vpg_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.123",
- "vsn_private_ip_0" : "192.168.20.250",
- "sec_group" : "{{ .Values.openStackSecurityGroup }}",
- 'vpg_name_0':'demofwl01pgn${hostid}',
- "vpg_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "vpg_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}"
- },
- # vLBMS
- "vlb_preload.template" : {
- "vlb_image_name" : "${GLOBAL_INJECTED_UBUNTU_1604_IMAGE}",
- "vlb_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "vdns_image_name" : "${GLOBAL_INJECTED_UBUNTU_1604_IMAGE}",
- "vdns_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "vpg_image_name" : "${GLOBAL_INJECTED_UBUNTU_1604_IMAGE}",
- "vpg_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- 'vlb_name_0':'demovlblb${hostid}',
- 'vdns_name_0':'demovlbdns${hostid}',
- "vpg_name_0" : "clvlbpgn${hostid}",
- "vlb_private_net_id" : "demolb_private${hostid}",
- "vlb_private_net_cidr" : "192.168.30.0/24",
- "pktgen_private_net_id" : "demolb_pktgen${hostid}",
- "pktgen_private_net_cidr" : "192.168.9.0/24",
- "vlb_int_private_ip_0" : "192.168.30.100",
- "vlb_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.24",
- "vlb_int_pktgen_private_ip_0" : "192.168.9.111",
- "vdns_int_private_ip_0" : "192.168.30.110",
- "vdns_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.25",
- "vpg_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.27",
- "vpg_int_pktgen_private_ip_0" : "192.168.9.110",
- "pg_int" : "192.168.9.109",
- "vip" : "192.168.9.112",
- "gre_ipaddr" : "192.168.30.112",
- "vnf_id" : "vLoadBalancer_${hostid}",
- "vf_module_id" : "vLoadBalancer",
- "sec_group" : "{{ .Values.openStackSecurityGroup }}"
- },
- "dnsscaling_preload.template" : {
- "int_private_net_id" : "vLBMS_demolb_private${hostid}",
- "int_private_subnet_id" : "vLBMS_demolb_private${hostid}_subnet",
- "vlb_int_private_ip_0" : "192.168.30.100",
- "vlb_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.24",
- "vlb_int_pktgen_private_ip_0" : "192.168.9.111",
- "vdns_int_private_ip_0" : "192.168.30.222",
- "vdns_onap_private_ip_0" : "{{.Values.openStackOamNetworkCidrPrefix}}.${ecompnet}.26",
- "sec_group" : "{{ .Values.openStackSecurityGroup }}",
- 'vdns_name_0':'demovlbscaling${hostid}',
- "vlb_private_net_cidr" : "192.168.30.0/24"
- },
- "vims_preload.template" : {
- "bono_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "sprout_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "homer_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "homestead_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "ralf_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "ellis_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "dns_image_name" : "${GLOBAL_INJECTED_UBUNTU_1404_IMAGE}",
- "bono_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "sprout_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "homer_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "homestead_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "ralf_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "ellis_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "dns_flavor_name" : "${GLOBAL_INJECTED_VM_FLAVOR}",
- "repo_url" : "http://repo.cw-ngv.com/stable",
- "zone" : "me.cw-ngv.com",
- "dn_range_start" : "2425550000",
- "dn_range_length" : "10000",
- "dnssec_key" : "9FPdYTWhk5+LbhrqtTPQKw=="
- },
- "vvg_preload.template" : {
- }
- }
-}
-
-
-# Create dictionaries for new MAPPING data to join to original MAPPING data
-GLOBAL_PRELOAD_PARAMETERS2 = {}
-
-
-folder=os.path.join('/var/opt/ONAP/demo/preload_data')
-subfolders = [d for d in os.listdir(folder) if os.path.isdir(os.path.join(folder, d))]
-
-for service in subfolders:
- filepath=os.path.join('/var/opt/ONAP/demo/preload_data', service, 'preload_data.json')
- with open(filepath, 'r') as f:
- preload_data = json.load(f)
- GLOBAL_PRELOAD_PARAMETERS2['Demo']=preload_data
-
-
-# Merge dictionaries
-# preload_data.json is for Demo key in GLOBAL_PRELOAD_PARAMETERS
-
-
-GLOBAL_PRELOAD_PARAMETERS3 = {'Demo':{}}
-
-for k, v in chain(GLOBAL_PRELOAD_PARAMETERS['Demo'].items(), GLOBAL_PRELOAD_PARAMETERS2['Demo'].items()):
- GLOBAL_PRELOAD_PARAMETERS3['Demo'][k] = v
-# print(k, v)
-
-GLOBAL_PRELOAD_PARAMETERS = dict(GLOBAL_PRELOAD_PARAMETERS.items() + GLOBAL_PRELOAD_PARAMETERS3.items())
-
-#print GLOBAL_PRELOAD_PARAMETERS
-
+++ /dev/null
-# Copyright (c) 2018 Amdocs, Bell Canada, and others
-#
-# 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.
-
-# aaf info - everything is from the private oam network (also called onap private network)
-GLOBAL_AAF_SERVER = 'https://aaf-service.{{include "common.namespace" .}}:8100'
-GLOBAL_AAF_USERNAME = '{{ .Values.aafUsername }}'
-GLOBAL_AAF_PASSWORD = '{{ .Values.aafPassword }}'
-# aai info - everything is from the private oam network (also called onap private network)
-GLOBAL_AAI_SERVER_PROTOCOL = "https"
-GLOBAL_AAI_SERVER_PORT = "8443"
-GLOBAL_AAI_USERNAME = '{{ .Values.aaiUsername }}'
-GLOBAL_AAI_PASSWORD = '{{ .Values.aaiPassword}}'
-# appc info - everything is from the private oam network (also called onap private network)
-GLOBAL_APPC_SERVER_PROTOCOL = "http"
-GLOBAL_APPC_SERVER_PORT = "8282"
-GLOBAL_APPC_USERNAME = '{{ .Values.appcUsername }}'
-GLOBAL_APPC_PASSWORD = '{{ .Values.appcPassword }}'
-GLOBAL_APPC_CDT_SERVER_PROTOCOL = "https"
-GLOBAL_APPC_CDT_SERVER_PORT = "18080"
-GLOBAL_APPC_CDT_USERNAME = "demo"
-# sdc info - everything is from the private oam network (also called onap private network)
-GLOBAL_ASDC_SERVER_PROTOCOL = "http"
-GLOBAL_ASDC_FE_PORT = "8181"
-GLOBAL_ASDC_BE_PORT = "8080"
-GLOBAL_ASDC_BE_ONBOARD_PORT = "8081"
-GLOBAL_ASDC_BE_USERNAME = "beep"
-GLOBAL_ASDC_BE_PASSWORD = "boop"
-# clamp info - everything is from the private oam network (also called onap private network)
-GLOBAL_CLAMP_SERVER_PROTOCOL = "https"
-GLOBAL_CLAMP_SERVER_PORT = "8443"
-# nbi info - everything is from the private oam network (also called onap private network)
-GLOBAL_NBI_SERVER_PROTOCOL = "http"
-GLOBAL_NBI_SERVER_PORT = "8080"
-# cli info - everything is from the private oam network (also called onap private network)
-GLOBAL_CLI_SERVER_PROTOCOL = "http"
-GLOBAL_CLI_SERVER_PORT = "8080"
-# dcae info - everything is from the private oam network (also called onap private network)
-GLOBAL_DCAE_SERVER_PROTOCOL = "http"
-GLOBAL_DCAE_HEALTH_SERVER_PORT = "80"
-GLOBAL_DCAE_USERNAME = '{{ .Values.dcaeUsername }}'
-GLOBAL_DCAE_PASSWORD = '{{ .Values.dcaePassword}}'
-# dcae hv-ves info
-GLOBAL_DCAE_HVVES_SERVER_NAME = 'dcae-hv-ves-collector.{{include "common.namespace" .}}'
-GLOBAL_DCAE_HVVES_SERVER_PORT = "6061"
-# data router info - everything is from the private oam network (also called onap private network)
-GLOBAL_DMAAP_DR_PROV_SERVER_PROTOCOL = "http"
-GLOBAL_DMAAP_DR_PROV_SERVER_PORT = "8080"
-GLOBAL_DMAAP_DR_NODE_SERVER_PROTOCOL = "http"
-GLOBAL_DMAAP_DR_NODE_SERVER_PORT = "8080"
-# dmaap message router info
-GLOBAL_DMAAP_MESSAGE_ROUTER_SERVER_NAME = 'message-router.{{include "common.namespace" .}}'
-GLOBAL_DMAAP_MESSAGE_ROUTER_SERVER_PORT = "3904"
-# dmaap kafka info
-GLOBAL_DMAAP_KAFKA_SERVER_NAME = 'message-router-kafka.{{include "common.namespace" .}}'
-GLOBAL_DMAAP_KAFKA_SERVER_PORT = "9092"
-GLOBAL_DMAAP_KAFKA_JAAS_USERNAME = '{{ .Values.kafkaJaasUsername }}'
-GLOBAL_DMAAP_KAFKA_JAAS_PASSWORD = '{{ .Values.kafkaJaasPassword }}'
-# DROOL server port and credentials
-GLOBAL_DROOLS_SERVER_PORT = "9696"
-GLOBAL_DROOLS_USERNAME = '{{ .Values.droolsUsername }}'
-GLOBAL_DROOLS_PASSWORD = '{{ .Values.droolsPassword }}'
-# log server config - NOTE: no log server is run in HEAT; only on OOM
-GLOBAL_LOG_SERVER_PROTOCOL = "http"
-GLOBAL_LOG_ELASTICSEARCH_PORT = "9200"
-GLOBAL_LOG_LOGSTASH_PORT = "9600"
-GLOBAL_LOG_KIBANA_PORT = "5601"
-# pomba info - NOTE: no pomba is run in HEAT; only on OOM
-GLOBAL_POMBA_SERVER_PROTOCOL_HTTP = "http"
-GLOBAL_POMBA_SERVER_PROTOCOL_HTTPS = "https"
-GLOBAL_POMBA_AAICONTEXTBUILDER_PORT = "9530"
-GLOBAL_POMBA_SDCCONTEXTBUILDER_PORT = "9530"
-GLOBAL_POMBA_NETWORKDISCCONTEXTBUILDER_PORT = "9530"
-GLOBAL_POMBA_SERVICEDECOMPOSITION_PORT = "9532"
-GLOBAL_POMBA_SDNCCXTBUILDER_PORT = "9530"
-GLOBAL_POMBA_NETWORKDISCOVERY_MICROSERVICE_PORT = "9531"
-GLOBAL_POMBA_VALIDATIONSERVICE_PORT = "9529"
-GLOBAL_POMBA_KIBANA_PORT = "5601"
-GLOBAL_POMBA_ELASTICSEARCH_PORT = "9200"
-GLOBAL_POMBA_CONTEXTAGGREGATOR_PORT = "9529"
-
-# microservice bus info - everything is from the private oam network (also called onap private network)
-GLOBAL_MSB_SERVER_PROTOCOL = "http"
-GLOBAL_MSB_SERVER_PORT = "80"
-# message router info - everything is from the private oam network (also called onap private network)
-GLOBAL_MR_SERVER_PROTOCOL = "http"
-GLOBAL_MR_SERVER_PORT = "3904"
-# bus controller info
-GLOBAL_BC_HTTPS_SERVER_PORT = "8443"
-GLOBAL_BC_USERNAME = '{{ .Values.bcUsername }}'
-GLOBAL_BC_PASSWORD = '{{ .Values.bcPassword }}'
-# mso info - everything is from the private oam network (also called onap private network)
-GLOBAL_MSO_SERVER_PROTOCOL = "http"
-GLOBAL_MSO_SERVER_PORT = "8080"
-# SO containers
-GLOBAL_MSO_APIHAND_SERVER_PORT = "8080"
-GLOBAL_MSO_ASDCHAND_SERVER_PORT = "8085"
-GLOBAL_MSO_BPMN_SERVER_PORT = "8081"
-GLOBAL_MSO_CATDB_SERVER_PORT = "8082"
-GLOBAL_MSO_OPENSTACK_SERVER_PORT = "8087"
-GLOBAL_MSO_REQDB_SERVER_PORT = "8083"
-GLOBAL_MSO_SDNC_SERVER_PORT = "8086"
-GLOBAL_MSO_VFC_SERVER_PORT = "8084"
-GLOBAL_MSO_VNFM_SERVER_PORT = "9092"
-GLOBAL_MSO_USERNAME = '{{ .Values.soUsername }}'
-GLOBAL_MSO_CATDB_USERNAME = '{{ .Values.soCatdbUsername }}'
-GLOBAL_MSO_PASSWORD = '{{ .Values.soPassword }}'
-# robot uses MSO_PASSWORD for both SO and CATDB
-# music info - everything is from the private oam network (also called onap private network)
-GLOBAL_MUSIC_SERVER_PROTOCOL = "http"
-GLOBAL_MUSIC_SERVER_PORT = "8080"
-# oof global info - everything is from the private oam network (also called onap private network)
-GLOBAL_OOF_SERVER_PROTOCOL = "https"
-# oof-homing info - everything is from the private oam network (also called onap private network)
-GLOBAL_OOF_HOMING_SERVER_PORT = "8091"
-GLOBAL_OOF_HOMING_USERNAME="{{ .Values.oofHomingUsername }}"
-GLOBAL_OOF_HOMING_PASSWORD="{{ .Values.oofHomingPassword }}"
-# oof-sniro info - everything is from the private oam network (also called onap private network)
-GLOBAL_OOF_SNIRO_SERVER_PORT = "8698"
-#oof user
-GLOBAL_OOF_OSDF_USERNAME="{{ .Values.oofUsername }}"
-GLOBAL_OOF_OSDF_PASSWORD="{{ .Values.oofPassword }}"
-#oof pci user
-GLOBAL_OOF_PCI_USERNAME="{{ .Values.oofOsdfPciOptUsername }}"
-GLOBAL_OOF_PCI_PASSWORD="{{ .Values.oofOsdfPciOptPassword }}"
-# oof cmso global info - everything is from the private oam network (also called onap private network)
-GLOBAL_OOF_CMSO_PROTOCOL = "https"
-GLOBAL_OOF_CMSO_SERVER_PORT = "8080"
-GLOBAL_OOF_CMSO_USERNAME = "{{ .Values.oofCmsoUsername }}"
-GLOBAL_OOF_CMSO_PASSWORD = "{{ .Values.oofCmsoPassword }}"
-# openstack info - info to select right info in environment
-# packet generate vnf info - everything is from the private oam network (also called onap private network)
-GLOBAL_PACKET_GENERATOR_PORT = "8183"
-GLOBAL_PACKET_GENERATOR_USERNAME = "admin"
-GLOBAL_PACKET_GENERATOR_PASSWORD = "admin"
-GLOBAL_PGN_PORT = "2831"
-# policy info - everything is from the private oam network (also called onap private network)
-GLOBAL_POLICY_SERVER_PROTOCOL = "https"
-GLOBAL_POLICY_SERVER_PORT = "8081"
-GLOBAL_POLICY_HEALTHCHECK_PORT = "6969"
-GLOBAL_POLICY_AUTH = '{{ .Values.policyAuth}}'
-GLOBAL_POLICY_CLIENTAUTH = '{{ .Values.policyClientAuth}}'
-GLOBAL_POLICY_USERNAME = '{{ .Values.policyUsername }}'
-GLOBAL_POLICY_PASSWORD = '{{ .Values.policyPassword }}'
-GLOBAL_POLICY_HEALTHCHECK_USERNAME = '{{ .Values.policyComponentUsername }}'
-GLOBAL_POLICY_HEALTHCHECK_PASSWORD = '{{ .Values.policyComponentPassword }}'
-# portal info - everything is from the private oam network (also called onap private network)
-GLOBAL_PORTAL_SERVER_PROTOCOL = "http"
-GLOBAL_PORTAL_SERVER_PORT = "8989"
-GLOBAL_PORTAL_USERNAME = '{{ .Values.portalUsername }}'
-GLOBAL_PORTAL_PASSWORD = '{{ .Values.portalPassword }}'
-# sdngc info - everything is from the private oam network (also called onap private network)
-GLOBAL_SDNGC_SERVER_PROTOCOL = "http"
-GLOBAL_SDNGC_REST_PORT = "8282"
-GLOBAL_SDNGC_ADMIN_PORT = "8843"
-GLOBAL_SDNGC_USERNAME = '{{ .Values.sdncUsername }}'
-GLOBAL_SDNGC_PASSWORD = '{{ .Values.sdncPassword }}'
-# sms (AAF) info
-GLOBAL_SMS_SERVER_PROTOCOL = "https"
-GLOBAL_SMS_SERVER_NAME = 'aaf-sms.{{include "common.namespace" .}}'
-GLOBAL_SMS_SERVER_PORT = "10443"
-# vid info - everything is from the private oam network (also called onap private network)
-GLOBAL_VID_SERVER_PROTOCOL = '{{ .Values.vidServerProtocol }}'
-GLOBAL_VID_SERVER_PORT = '{{ .Values.vidServerPort }}'
-GLOBAL_VID_USERNAME = '{{ .Values.vidUsername }}'
-GLOBAL_VID_PASSWORD = '{{ .Values.vidPassword}}'
-GLOBAL_VID_HEALTH_USERNAME = '{{ .Values.vidHealthUsername }}'
-GLOBAL_VID_HEALTH_PASSWORD = '{{ .Values.vidHealthPassword }}'
-# vnfsdk info - everything is from the private oam network (also called onap private network)
-GLOBAL_VNFSDK_SERVER_PROTOCOL = "http"
-GLOBAL_VNFSDK_SERVER_PORT = "8702"
-
-GLOBAL_DCAE_VES_PROTOCOL = "http"
-GLOBAL_DCAE_VES_SERVER_PORT = "8080"
-#global selenium info
-GLOBAL_PROXY_WARNING_TITLE=""
-GLOBAL_PROXY_WARNING_CONTINUE_XPATH=""
-# dns info
-GLOBAL_DNS_TRAFFIC_DURATION = "600"
-# location where heat templates are loaded from
-GLOBAL_HEAT_TEMPLATES_FOLDER = "/var/opt/ONAP/demo/heat"
+++ /dev/null
-# Copyright (c) 2018 Amdocs, Bell Canada
-#
-# 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.
-
-# File generated from /opt/config
-#
-GLOBAL_INJECTED_AAF_IP_ADDR = 'aaf-service.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_AAI1_IP_ADDR = 'aai.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_AAI2_IP_ADDR = 'N/A'
-GLOBAL_INJECTED_APPC_IP_ADDR = 'appc.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_APPC_CDT_IP_ADDR = 'appc-cdt.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_ARTIFACTS_VERSION = '{{.Values.demoArtifactsVersion}}'
-GLOBAL_INJECTED_CLAMP_IP_ADDR = 'clamp.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_CLI_IP_ADDR = 'cli.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_CLOUD_ENV = 'openstack'
-GLOBAL_INJECTED_DCAE_IP_ADDR = 'dcae-healthcheck.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_DCAE_VES_HOST = 'dcae-ves-collector.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_DMAAP_DR_PROV_IP_ADDR = 'dmaap-dr-prov.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_DMAAP_DR_NODE_IP_ADDR = 'dmaap-dr-node.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_DNS_IP_ADDR = 'N/A'
-GLOBAL_INJECTED_DOCKER_VERSION = '1.2-STAGING-latest'
-GLOBAL_INJECTED_EXTERNAL_DNS = 'N/A'
-GLOBAL_INJECTED_LOG_ELASTICSEARCH_IP_ADDR = 'log-es.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_LOG_KIBANA_IP_ADDR = 'log-kibana.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_LOG_LOGSTASH_IP_ADDR = 'log-ls-http.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_POMBA_AAI_CONTEXT_BUILDER_IP_ADDR = 'pomba-aaictxbuilder.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_POMBA_SDC_CONTEXT_BUILDER_IP_ADDR = 'pomba-sdcctxbuilder.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_POMBA_NETWORK_DISC_CONTEXT_BUILDER_IP_ADDR = 'pomba-networkdiscoveryctxbuilder.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_POMBA_SERVICE_DECOMPOSITION_IP_ADDR = 'pomba-servicedecomposition.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_POMBA_SDNC_CTX_BUILDER_IP_ADDR = 'pomba-sdncctxbuilder.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_POMBA_NETWORKDISCOVERY_MICROSERVICE_IP_ADDR = 'pomba-networkdiscovery.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_POMBA_VALIDATION_SERVICE_IP_ADDR = 'pomba-validation-service.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_POMBA_KIBANA_IP_ADDR = 'pomba-kibana.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_POMBA_ELASTIC_SEARCH_IP_ADDR = 'pomba-es.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_POMBA_CONTEX_TAGGREGATOR_IP_ADDR = 'pomba-contextaggregator.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_KEYSTONE = '{{ .Values.openStackKeyStoneUrl }}'
-GLOBAL_INJECTED_MR_IP_ADDR = 'message-router.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_BC_IP_ADDR = 'dmaap-bc.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_MUSIC_IP_ADDR = 'music.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_NBI_IP_ADDR = 'nbi.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_NETWORK = '{{ .Values.openStackPrivateNetId }}'
-GLOBAL_INJECTED_NEXUS_DOCKER_REPO = 'nexus3.onap.org:10001'
-GLOBAL_INJECTED_NEXUS_PASSWORD = 'docker'
-GLOBAL_INJECTED_NEXUS_REPO ='https://nexus.onap.org/content/sites/raw'
-GLOBAL_INJECTED_NEXUS_USERNAME = 'docker'
-GLOBAL_INJECTED_OOF_IP_ADDR = 'N/A'
-GLOBAL_INJECTED_OOF_HOMING_IP_ADDR = 'oof-has-api.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_OOF_SNIRO_IP_ADDR = 'oof-osdf.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_OOF_CMSO_IP_ADDR = 'oof-cmso.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_MSB_IP_ADDR = 'msb-iag.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_OPENSTACK_API_KEY = '{{ .Values.config.openStackEncryptedPasswordHere}}'
-GLOBAL_INJECTED_OPENSTACK_PASSWORD = '{{ .Values.openStackPassword }}'
-GLOBAL_INJECTED_OPENSTACK_TENANT_ID = '{{ .Values.openStackTenantId }}'
-GLOBAL_INJECTED_OPENSTACK_USERNAME = '{{ .Values.openStackUserName }}'
-GLOBAL_INJECTED_OPENSTACK_PROJECT_NAME = '{{ .Values.openStackProjectName }}'
-GLOBAL_INJECTED_OPENSTACK_DOMAIN_ID = '{{ .Values.openStackDomainId }}'
-GLOBAL_INJECTED_OPENSTACK_KEYSTONE_API_VERSION = '{{ .Values.openStackKeystoneAPIVersion }}'
-GLOBAL_INJECTED_REGION_THREE = '{{ .Values.openStackRegionRegionThree }}'
-GLOBAL_INJECTED_KEYSTONE_REGION_THREE = '{{ .Values.openStackKeyStoneUrlRegionThree }}'
-GLOBAL_INJECTED_OPENSTACK_KEYSTONE_API_VERSION_REGION_THREE = '{{ .Values.openStackKeystoneAPIVersionRegionThree }}'
-GLOBAL_INJECTED_OPENSTACK_USERNAME_REGION_THREE = '{{ .Values.openStackUserNameRegionThree }}'
-GLOBAL_INJECTED_OPENSTACK_PASSWORD_REGION_THREE = '{{ .Values.openStackPasswordRegionThree }}'
-GLOBAL_INJECTED_OPENSTACK_MSO_ENCRYPTED_PASSWORD_REGION_THREE = '{{ .Values.openSackMsoEncryptdPasswordRegionThree }}'
-GLOBAL_INJECTED_OPENSTACK_TENANT_ID_REGION_THREE = '{{ .Values.openStackTenantIdRegionThree }}'
-GLOBAL_INJECTED_OPENSTACK_PROJECT_DOMAIN_REGION_THREE = '{{ .Values.openStackProjectNameRegionThree }}'
-GLOBAL_INJECTED_OPENSTACK_USER_DOMAIN_REGION_THREE = '{{ .Values.openStackDomainIdRegionThree }}'
-GLOBAL_INJECTED_OPENSTACK_OAM_NETWORK_CIDR_PREFIX = '{{ .Values.openStackOamNetworkCidrPrefix }}'
-GLOBAL_INJECTED_OPENSTACK_PUBLIC_NETWORK = 'public'
-GLOBAL_INJECTED_POLICY_IP_ADDR = 'pdp.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_POLICY_HEALTHCHECK_IP_ADDR = 'drools.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_PORTAL_IP_ADDR = 'portal-app.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_POLICY_API_IP_ADDR = 'policy-api.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_POLICY_PAP_IP_ADDR = 'policy-pap.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_POLICY_DISTRIBUTION_IP_ADDR = 'policy-distribution.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_POLICY_PDPX_IP_ADDR = 'policy-xacml-pdp.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_POLICY_APEX_PDP_IP_ADDR = 'policy-apex-pdp.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_PUBLIC_NET_ID = '{{ .Values.openStackPublicNetId }}'
-GLOBAL_INJECTED_REGION = '{{ .Values.openStackRegion }}'
-GLOBAL_INJECTED_SCRIPT_VERSION = '{{ .Values.scriptVersion }}'
-GLOBAL_INJECTED_SDC_BE_IP_ADDR = 'sdc-be.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_SDC_BE_ONBOARD_IP_ADDR = 'sdc-onboarding-be.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_SDC_FE_IP_ADDR = 'sdc-fe.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_SDC_IP_ADDR = 'N/A'
-GLOBAL_INJECTED_SDNC_IP_ADDR = 'sdnc.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_SDNC_PORTAL_IP_ADDR = 'sdnc-portal.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_SO_APIHAND_IP_ADDR = 'so.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_SO_ASDCHAND_IP_ADDR = 'so-sdc-controller.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_SO_BPMN_IP_ADDR = 'so-bpmn-infra.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_SO_CATDB_IP_ADDR = 'so-catalog-db-adapter.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_SO_IP_ADDR = 'so.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_SO_OPENSTACK_IP_ADDR = 'so-openstack-adapter.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_SO_REQDB_IP_ADDR = 'so-request-db-adapter.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_SO_SDNC_IP_ADDR = 'so-sdnc-adapter.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_SO_VFC_IP_ADDR = 'so-vfc-adapter.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_SO_VNFM_IP_ADDR = 'so-vnfm-adapter.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_UBUNTU_1404_IMAGE = '{{ .Values.ubuntu14Image }}'
-GLOBAL_INJECTED_UBUNTU_1604_IMAGE = '{{ .Values.ubuntu16Image }}'
-GLOBAL_INJECTED_VM_IMAGE_NAME = '{{ .Values.ubuntu14Image }}'
-GLOBAL_INJECTED_VID_IP_ADDR = 'vid.{{include "common.namespace" .}}'
-GLOBAL_INJECTED_VM_FLAVOR = '{{ .Values.openStackFlavourMedium }}'
-GLOBAL_INJECTED_VNFSDK_IP_ADDR = 'refrepo.{{include "common.namespace" .}}'
-
-GLOBAL_INJECTED_PROPERTIES = {
- "GLOBAL_INJECTED_AAF_IP_ADDR" : 'aaf-service.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_AAI1_IP_ADDR" : 'aai.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_AAI2_IP_ADDR" : 'N/A',
- "GLOBAL_INJECTED_APPC_IP_ADDR" : 'appc.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_APPC_CDT_IP_ADDR" : 'appc-cdt.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_ARTIFACTS_VERSION" : '{{.Values.demoArtifactsVersion}}',
- "GLOBAL_INJECTED_CLAMP_IP_ADDR" : 'clamp.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_CLI_IP_ADDR" : 'cli.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_CLOUD_ENV" : 'openstack',
- "GLOBAL_INJECTED_DCAE_IP_ADDR" : 'dcae-healthcheck.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_DCAE_VES_HOST" : 'dcae-ves-collector.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_DMAAP_DR_PROV_IP_ADDR" : 'dmaap-dr-prov.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_DMAAP_DR_NODE_IP_ADDR" : 'dmaap-dr-node.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_DNS_IP_ADDR" : 'N/A',
- "GLOBAL_INJECTED_DOCKER_VERSION" : '1.2-STAGING-latest',
- "GLOBAL_INJECTED_EXTERNAL_DNS" : 'N/A',
- "GLOBAL_INJECTED_KEYSTONE" : '{{ .Values.openStackKeyStoneUrl }}',
- "GLOBAL_INJECTED_LOG_ELASTICSEARCH_IP_ADDR" : 'log-es.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_LOG_KIBANA_IP_ADDR" : 'log-kibana.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_LOG_LOGSTASH_IP_ADDR" : 'log-ls.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_MR_IP_ADDR" : 'message-router.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_BC_IP_ADDR" : 'dmaap-bc.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_POMBA_AAI_CONTEXT_BUILDER_IP_ADDR" : 'pomba-aaictxbuilder.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_POMBA_SDC_CONTEXT_BUILDER_IP_ADDR" : 'pomba-sdcctxbuilder.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_POMBA_NETWORK_DISC_CONTEXT_BUILDER_IP_ADDR" : 'pomba-networkdiscovery.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_POMBA_SERVICE_DECOMPOSITION_IP_ADDR" : 'pomba-servicedecomposition.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_POMBA_SDNC_CTX_BUILDER_IP_ADDR" : 'pomba-sdncctxbuilder.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_POMBA_CONTEX_TAGGREGATOR_IP_ADDR" : 'pomba-contextaggregator.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_MUSIC_IP_ADDR" : 'music.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_NBI_IP_ADDR" : 'nbi.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_NETWORK" : '{{ .Values.openStackPrivateNetId }}',
- "GLOBAL_INJECTED_NEXUS_DOCKER_REPO" : 'nexus3.onap.org:10001',
- "GLOBAL_INJECTED_NEXUS_PASSWORD" : 'docker',
- "GLOBAL_INJECTED_NEXUS_REPO" : 'https://nexus.onap.org/content/sites/raw',
- "GLOBAL_INJECTED_NEXUS_USERNAME" : 'docker',
- "GLOBAL_INJECTED_OOF_IP_ADDR" : 'N/A',
- "GLOBAL_INJECTED_OOF_HOMING_IP_ADDR" : 'oof-has-api.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_OOF_SNIRO_IP_ADDR" : 'oof-osdf.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_OOF_CMSO_IP_ADDR" : 'oof-cmso.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_MSB_IP_ADDR" : 'msb-iag.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_OPENSTACK_API_KEY" : '{{ .Values.config.openStackEncryptedPasswordHere}}',
- "GLOBAL_INJECTED_OPENSTACK_PASSWORD" : '{{ .Values.openStackPassword }}',
- "GLOBAL_INJECTED_OPENSTACK_TENANT_ID" : '{{ .Values.openStackTenantId }}',
- "GLOBAL_INJECTED_OPENSTACK_USERNAME" : '{{ .Values.openStackUserName }}',
- "GLOBAL_INJECTED_OPENSTACK_PROJECT_NAME" : '{{ .Values.openStackProjectName }}',
- "GLOBAL_INJECTED_OPENSTACK_DOMAIN_ID" : '{{ .Values.openStackDomainId }}',
- "GLOBAL_INJECTED_OPENSTACK_KEYSTONE_API_VERSION" : '{{ .Values.openStackKeystoneAPIVersion }}',
- "GLOBAL_INJECTED_REGION_THREE" : '{{ .Values.openStackRegionRegionThree }}',
- "GLOBAL_INJECTED_KEYSTONE_REGION_THREE" : '{{ .Values.openStackKeyStoneUrlRegionThree }}',
- "GLOBAL_INJECTED_OPENSTACK_KEYSTONE_API_VERSION_REGION_THREE" : '{{ .Values.openStackKeystoneAPIVersionRegionThree }}',
- "GLOBAL_INJECTED_OPENSTACK_USERNAME_REGION_THREE" : '{{ .Values.openStackUserNameRegionThree }}',
- "GLOBAL_INJECTED_OPENSTACK_PASSWORD_REGION_THREE" : '{{ .Values.openStackPasswordRegionThree }}',
- "GLOBAL_INJECTED_OPENSTACK_MSO_ENCRYPTED_PASSWORD_REGION_THREE" : '{{ .Values.openSackMsoEncryptdPasswordRegionThree }}',
- "GLOBAL_INJECTED_OPENSTACK_TENANT_ID_REGION_THREE" : '{{ .Values.openStackTenantIdRegionThree }}',
- "GLOBAL_INJECTED_OPENSTACK_PROJECT_DOMAIN_REGION_THREE" : '{{ .Values.openStackProjectNameRegionThree }}',
- "GLOBAL_INJECTED_OPENSTACK_USER_DOMAIN_REGION_THREE" : '{{ .Values.openStackDomainIdRegionThree }}',
- "GLOBAL_INJECTED_OPENSTACK_OAM_NETWORK_CIDR_PREFIX" : '{{ .Values.openStackOamNetworkCidrPrefix }}',
- "GLOBAL_INJECTED_OPENSTACK_PUBLIC_NETWORK" : 'public',
- "GLOBAL_INJECTED_POLICY_IP_ADDR" : 'pdp.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_POLICY_HEALTHCHECK_IP_ADDR" : 'drools.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_POLICY_API_IP_ADDR" : 'policy-api.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_POLICY_PAP_IP_ADDR" : 'policy-pap.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_POLICY_DISTRIBUTION_IP_ADDR" : 'policy-distribution.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_POLICY_PDPX_IP_ADDR" : 'policy-xacml-pdp.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_POLICY_APEX_PDP_IP_ADDR" : 'policy-apex-pdp.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_PORTAL_IP_ADDR" : 'portal-app.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_PUBLIC_NET_ID" : '{{ .Values.openStackPublicNetId }}',
- "GLOBAL_INJECTED_REGION" : '{{ .Values.openStackRegion }}',
- "GLOBAL_INJECTED_SDC_BE_IP_ADDR" : 'sdc-be.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_SDC_BE_ONBOARD_IP_ADDR" : 'sdc-onboarding-be.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_SDC_FE_IP_ADDR" : 'sdc-fe.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_SDC_IP_ADDR" : 'N/A',
- "GLOBAL_INJECTED_SCRIPT_VERSION" : '{{ .Values.scriptVersion }}',
- "GLOBAL_INJECTED_SDNC_IP_ADDR" : 'sdnc.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_SDNC_PORTAL_IP_ADDR" : 'sdnc-portal.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_SO_APIHAND_IP_ADDR" : 'so.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_SO_ASDCHAND_IP_ADDR" : 'so-sdc-controller.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_SO_BPMN_IP_ADDR" : 'so-bpmn-infra.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_SO_CATDB_IP_ADDR" : 'so-catalog-db-adapter.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_SO_IP_ADDR" : 'so.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_SO_OPENSTACK_IP_ADDR" : 'so-openstack-adapter.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_SO_REQDB_IP_ADDR" : 'so-request-db-adapter.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_SO_SDNC_IP_ADDR" : 'so-sdnc-adapter.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_SO_VFC_IP_ADDR" : 'so-vfc-adapter.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_SO_VNFM_IP_ADDR" : 'so-vnfm-adapter.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_UBUNTU_1404_IMAGE" : '{{.Values.ubuntu14Image}}',
- "GLOBAL_INJECTED_UBUNTU_1604_IMAGE" : '{{.Values.ubuntu16Image}}',
- "GLOBAL_INJECTED_VM_IMAGE_NAME" : '{{ .Values.ubuntu14Image }}',
- "GLOBAL_INJECTED_VID_IP_ADDR" : 'vid.{{include "common.namespace" .}}',
- "GLOBAL_INJECTED_VM_FLAVOR" : '{{ .Values.openStackFlavourMedium }}',
- "GLOBAL_INJECTED_VNFSDK_IP_ADDR" : 'refrepo.{{include "common.namespace" .}}'
-
-}
+++ /dev/null
-# Copyright © 2017 Amdocs, Bell Canada
-#
-# 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.
-
-#################################################################
-# Global configuration defaults.
-#################################################################
-global: # global defaults
- nodePortPrefix: 302
- ubuntuInitRepository: registry.hub.docker.com
- persistence: {}
-
-# application image
-repository: nexus3.onap.org:10001
-image: onap/testsuite:1.4.2
-pullPolicy: Always
-
-ubuntuInitImage: oomk8s/ubuntu-init:2.0.0
-
-# flag to enable debugging - application support required
-debugEnabled: false
-
-#################################################################
-# Application configuration defaults.
-#################################################################
-config:
-
-# openStackEncryptedPasswordHere should match the encrypted string used in SO and APPC and overridden per environment
- openStackEncryptedPasswordHere: "c124921a3a0efbe579782cde8227681e"
-
-# Demo configuration
-# Nexus demo artifact version. Maps to GLOBAL_INJECTED_ARTIFACTS_VERSION
-demoArtifactsVersion: "1.4.0"
-# Nexus demo artifact URL.
-demoArtifactsRepoUrl: "https://nexus.onap.org/content/repositories/releases"
-# Openstack medium sized flavour name. Maps GLOBAL_INJECTED_VM_FLAVOR
-openStackFlavourMedium: "m1.medium"
-# Openstack keystone URL. Maps to GLOBAL_INJECTED_KEYSTONE
-openStackKeyStoneUrl: "http://1.2.3.4:5000"
-# UUID of the Openstack network that can assign floating ips. Maps to GLOBAL_INJECTED_PUBLIC_NET_ID
-openStackPublicNetId: "e8f51958045716781ffc"
-# password for Openstack tenant where VNFs will be spawned. Maps to GLOBAL_INJECTED_OPENSTACK_PASSWORD
-openStackPassword: "tenantPassword"
-# Openstack region. Maps to GLOBAL_INJECTED_REGION
-openStackRegion: "RegionOne"
-# Openstack tenant UUID where VNFs will be spawned. Maps to GLOBAL_INJECTED_OPENSTACK_TENANT_ID
-openStackTenantId: "47899782ed714295b1151681fdfd51f5"
-# username for Openstack tenant where VNFs will be spawned. Maps to GLOBAL_INJECTED_OPENSTACK_USERNAME
-openStackUserName: "tenantUsername"
-# Project name of Openstack where VNFs will be spawned. Maps to GLOBAL_INJECTED_OPENSTACK_PROJECT_NAME
-openStackProjectName: "onap"
-# Domain id of openstack where VNFs will be deployed. Maps to GLOBAL_INJECTED_OPENSTACK_DOMAIN_ID
-openStackDomainId: "Default"
-# Openstack Keystone API version. Valid values are [ v2.0, v3 ]. Maps to GLOBAL_INJECTED_OPENSTACK_KEYSTONE_API_VERSION
-openStackKeystoneAPIVersion: "v2.0"
-# Values for second cloud instante for VNF instantiatioen testing and keystone v3
-openStackRegionRegionThree: "RegionThree"
-openStackKeyStoneUrlRegionThree: "http://1.2.3.4:5000"
-openStackKeystoneAPIVersionRegionThree: "v3"
-openStackUserNameRegionThree: "demo"
-openStackPasswordRegionThree: "tenantPassword"
-# this is the java encrypted password that is needed for SO
-openSackMsoEncryptdPasswordRegionThree: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
-openStackTenantIdRegionThree: "3583253e932845a09cd4c8ca2f31d095"
-openStackProjectNameRegionThree: "Integration-SB-RegionThree"
-openStackDomainIdRegionThree: "Default"
-#
-# Openstack glance image name for Ubuntu 14. Maps to GLOBAL_INJECTED_UBUNTU_1404_IMAGE
-ubuntu14Image: "Ubuntu_14_trusty"
-# Openstack glance image name for Ubuntu 16. Maps to GLOBAL_INJECTED_UBUNTU_1604_IMAGE
-ubuntu16Image: "Ubuntu_16_xenial"
-# GLOBAL_INJECTED_SCRIPT_VERSION. Maps to GLOBAL_INJECTED_SCRIPT_VERSION
-scriptVersion: "1.4.0"
-# Openstack network to which VNFs will bind their primary (first) interface. Maps to GLOBAL_INJECTED_NETWORK
-openStackPrivateNetId: "e8f51956-00dd-4425-af36-045716781ffc"
-# Openstack security group for instantiating VNFs
-openStackSecurityGroup: "onap_sg"
-# SDNC Preload configuration
-# Openstack subnet UUID for the network defined by openStackPrivateNetId. Maps to onap_private_subnet_id
-openStackPrivateSubnetId: "e8f51956-00dd-4425-af36-045716781ffc"
-# CIDR notation for the Openstack private network where VNFs will be spawned. Maps to onap_private_net_cidr
-openStackPrivateNetCidr: "10.0.0.0/8"
-# The first 2 octets of the private Openstack subnet where VNFs will be spawned.
-# Needed because sdnc preload templates hardcodes things like this 10.0.${ecompnet}.X
-openStackOamNetworkCidrPrefix: "10.0"
-# VID protocol/port until Selenium issue with SSL resolved
-# https/8443 vs http/8080
-vidServerProtocol: "http"
-vidServerPort: "8080"
-# Override with Pub Key for access to VNF
-vnfPubKey: "FILL_IN_WITH_PUB_KEY"
-# Override with DCAE VES Collector external IP
-dcaeCollectorIp: "FILL_IN_WITH_DCAE_VES_COLLECTOR_IP"
-
-# Credentials for ONAP Component
-# AAF
-aafUsername: "demo@people.osaaf.org"
-aafPassword: "demo123456!"
-# AAI
-aaiUsername: "aai@aai.onap.org"
-aaiPassword: "demo123456!"
-# APPC
-appcUsername: "appc@appc.onap.org"
-appcPassword: "demo123456!"
-# DCAE
-dcaeUsername: "console"
-dcaePassword: "ZjJkYjllMjljMTI2M2Iz"
-# DROOLS
-droolsUsername: "demo@people.osaaf.org"
-droolsPassword: "demo123456!"
-# OOF
-oofCmsoUsername: "oof@oof.onap.org"
-oofCmsoPassword: "demo123456!"
-# POLICY
-policyAuth: "dGVzdHBkcDphbHBoYTEyMw=="
-policyClientAuth: "cHl0aG9uOnRlc3Q="
-policyUsername: "demo@people.osaaf.org"
-policyPassword: "demo123456!"
-policyComponentUsername: "healthcheck"
-policyComponentPassword: "zb!XztG34"
-# PORTAL
-portalUsername: "demo"
-portalPassword: "Kp8bJ4SXszM0WXlhak3eHlcse"
-# SO
-soUsername: "InfraPortalClient"
-soPassword: "password1$"
-soCatdbUsername: "bpel"
-soCatdbPassword: "password1$"
-# SDNC
-sdncUsername: "admin"
-sdncPassword: "Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U"
-# VID
-vidUsername: "demo"
-vidPassword: "Kp8bJ4SXszM0WX"
-vidHealthUsername: "Default"
-vidHealthPassword: "AppPassword!1"
-# DMAAP BC
-bcUsername: "dmaap-bc@dmaap-bc.onap.org"
-bcPassword: "demo123456!"
-# DMAAP KAFKA JAAS
-kafkaJaasUsername: "admin"
-kafkaJaasPassword: "admin_secret"
-
-#OOF
-oofUsername: "oof@oof.onap.org"
-oofPassword: "demo123456!"
-cmsoUsername: "oof@oof.onap.org"
-cmsoPassword: "demo123456!"
-oofOsdfPciOptUsername: "oof@oof.onap.org"
-oofOsdfPciOptPassword: "demo123456!"
-oofHomingUsername: "admin1"
-oofHomingPassword: "plan.15"
-
-
-# default number of instances
-replicaCount: 1
-
-nodeSelector: {}
-
-affinity: {}
-
-# Resource Limit flavor -By Default using small
-flavor: small
-# Segregation for Different environment (Small and Large)
-resources:
- small:
- limits:
- cpu: 2000m
- memory: 4Gi
- requests:
- cpu: 500m
- memory: 1Gi
- large:
- limits:
- cpu: 4000m
- memory: 8Gi
- requests:
- cpu: 1000m
- memory: 2Gi
- unlimited: {}
-
-# probe configuration parameters
-liveness:
- initialDelaySeconds: 180
- periodSeconds: 10
- # necessary to disable liveness probe when setting breakpoints
- # in debugger so K8s doesn't restart unresponsive container
- enabled: true
-
-readiness:
- initialDelaySeconds: 180
- periodSeconds: 10
-
-service:
- name: robot
- type: NodePort
- portName: httpd
- externalPort: 88
- internalPort: 88
- nodePort: "09"
-
-ingress:
- enabled: false
-
-## Persist data to a persitent volume
-persistence:
- enabled: true
-
- ## A manually managed Persistent Volume and Claim
- ## Requires persistence.enabled: true
- ## If defined, PVC must be created manually before volume will be bound
- # existingClaim:
- volumeReclaimPolicy: Retain
-
- ## database data Persistent Volume Storage Class
- ## If defined, storageClassName: <storageClass>
- ## If set to "-", storageClassName: "", which disables dynamic provisioning
- ## If undefined (the default) or set to null, no storageClassName spec is
- ## set, choosing the default provisioner. (gp2 on AWS, standard on
- ## GKE, AWS & OpenStack)
- ##
- # storageClass: "-"
- accessMode: ReadWriteMany
- size: 2Gi
- mountPath: /dockerdata-nfs
- mountSubPath: robot/logs
apiVersion: v1
description: Service Design and Creation Umbrella Helm charts
name: sdc
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP Service Design and Creation Backend API
name: sdc-be
-version: 4.0.0
+version: 5.0.0
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: onap/sdc-backend:1.4.1
-backendInitImage: onap/sdc-backend-init:1.4.1
+image: onap/sdc-backend:1.5.1
+backendInitImage: onap/sdc-backend-init:1.5.1
pullPolicy: Always
# flag to enable debugging - application support required
cpu: 20m
memory: 2Gi
unlimited: {}
+
apiVersion: v1
description: ONAP Service Design and Creation Cassandra
name: sdc-cs
-version: 4.0.0
+version: 5.0.0
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: onap/sdc-cassandra:1.4.1
-cassandraInitImage: onap/sdc-cassandra-init:1.4.1
+image: onap/sdc-cassandra:1.5.1
+cassandraInitImage: onap/sdc-cassandra-init:1.5.1
pullPolicy: Always
apiVersion: v1
description: ONAP SDC DCAE Backend client of TOSCALAB and SDC
name: sdc-dcae-be
-version: 4.0.0
+version: 5.0.0
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: onap/dcae-be:1.3.0
+image: onap/dcae-be:1.3.1
pullPolicy: Always
-backendInitImage: onap/dcae-tools:1.3.0
+backendInitImage: onap/dcae-tools:1.3.1
# flag to enable debugging - application support required
debugEnabled: false
apiVersion: v1
description: ONAP DCAE desiner composition tool for creating customized templates
name: sdc-dcae-dt
-version: 4.0.0
+version: 5.0.0
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: onap/dcae-dt:1.2.0
+image: onap/dcae-dt:1.3.1
pullPolicy: IfNotPresent
config:
javaOptions: -XX:MaxPermSize=256m -Xmx1024m -Dconfig.home=config -Dlog.home=/var/lib/jetty/logs/ -Dlogging.config=config/dcae-dt/logback-spring.xml
apiVersion: v1
description: ONAP SDC DCAE UI for service monitoring and MC create and configure
name: sdc-dcae-fe
-version: 4.0.0
+version: 5.0.0
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: onap/dcae-fe:1.3.0
+image: onap/dcae-fe:1.3.1
pullPolicy: Always
config:
javaOptions: -XX:MaxPermSize=256m -Xmx1024m -Dconfig.home=config -Dlog.home=/var/lib/jetty/logs/ -Dlogging.config=config/dcae-fe/logback-spring.xml
apiVersion: v1
description: ONAP Tosca model for component monitoring and descriptors deployment
name: sdc-dcae-tosca-lab
-version: 4.0.0
+version: 5.0.0
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: onap/dcae-tosca-app:1.3.0
+image: onap/dcae-tosca-app:1.3.1
pullPolicy: Always
# flag to enable debugging - application support required
apiVersion: v1
description: ONAP Service Design and Creation Elasticsearch
name: sdc-es
-version: 4.0.0
+version: 5.0.0
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: onap/sdc-elasticsearch:1.4.1
-elasticInitImage: onap/sdc-init-elasticsearch:1.4.1
+image: onap/sdc-elasticsearch:1.5.1
+elasticInitImage: onap/sdc-init-elasticsearch:1.5.1
pullPolicy: Always
# flag to enable debugging - application support required
apiVersion: v1
description: ONAP Service Design and Creation Front End
name: sdc-fe
-version: 4.0.0
+version: 5.0.0
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: onap/sdc-frontend:1.4.1
+image: onap/sdc-frontend:1.5.1
pullPolicy: Always
config:
apiVersion: v1
description: ONAP Service Design and Creation Kibana
name: sdc-kb
-version: 4.0.0
+version: 5.0.0
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: onap/sdc-kibana:1.4.1
+image: onap/sdc-kibana:1.5.1
pullPolicy: Always
config:
apiVersion: v1
description: ONAP Service Design and Creation Onboarding API
name: sdc-onboarding-be
-version: 4.0.0
+version: 5.0.0
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: onap/sdc-onboard-backend:1.4.1
-onboardingInitImage: onap/sdc-onboard-cassandra-init:1.4.1
+image: onap/sdc-onboard-backend:1.5.1
+onboardingInitImage: onap/sdc-onboard-cassandra-init:1.5.1
pullPolicy: Always
# flag to enable debugging - application support required
apiVersion: v1
description: ONAP Service Design and Creation Workflow Designer backend
name: sdc-wfd-be
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
apiVersion: v1
description: ONAP Service Design and Creation Workflow Designer frontend
name: sdc-wfd-fe
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
# See the License for the specific language governing permissions and
# limitations under the License.
+{{- define "rules.wf" -}}
+- http:
+ paths:
+ - path: /workflows/
+ backend:
+ serviceName: {{.Values.service.name}}
+ servicePort: {{.Values.service.internalPort}}
+{{- end -}}
+
{{- if .Values.ingress.enabled }}
+
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
{{- end }}
spec:
rules:
- - http:
- paths:
- - path: /workflows/
- backend:
- serviceName: {{.Values.service.name}}
- servicePort: {{.Values.service.internalPort}}
+{{- if .Values.ingress.hosts}}
+{{- range .Values.ingress.hosts}}
+{{- include "rules.wf" $ | nindent 2}}
+{{- if .}}
+ host: {{. | quote}}
+{{- end}}
+{{- end}}
+ tls:
+ - hosts:
+{{- range .Values.ingress.hosts}}
+{{- if .}}
+ - {{ . | quote }}
+{{- end}}
+{{- end }}
+{{- else}}
+{{- include "rules.wf" . | nindent 2}}
+{{- end}}
{{ end }}
-
ingress:
enabled: false
+ hosts: ~
annotations:
ingress.kubernetes.io/secure-backends: "false"
nginx.ingress.kubernetes.io/secure-backends: "false"
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
- name: cassandra
- version: ~4.x-0
+ version: ~5.x-0
# local reference to common chart, as it is
# a part of this chart's package and will not
# be published independently to a repo (at this point)
"commitlog_dir": "/var/lib/cassandra/commitlog",
"socket_read_timeout": "20000",
"socket_connect_timeout": "20000",
- "titan_connection_timeout": "10000",
+ "janusgraph_connection_timeout": "10000",
"replication_factor": "{{.Values.global.cassandra.replicaCount}}"
}
}
apiVersion: v1
description: SDN Controller
name: sdnc
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: SDNC DMaaP Listener
name: dmaap-listener
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: onap/sdnc-dmaap-listener-image:1.5.4
+image: onap/sdnc-dmaap-listener-image:1.7.0
pullPolicy: Always
# flag to enable debugging - application support required
apiVersion: v1
description: SDN-C Ansible Server
name: sdnc-ansible-server
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
\ No newline at end of file
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: onap/sdnc-ansible-server-image:1.5.4
+image: onap/sdnc-ansible-server-image:1.7.0
pullPolicy: Always
# flag to enable debugging - application support required
apiVersion: v1
description: SDN-C Admin Portal
name: sdnc-portal
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
\ No newline at end of file
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: onap/admportal-sdnc-image:1.5.4
-pullPolicy: Always
-
-# flag to enable debugging - application support required
-debugEnabled: false
-
-# application configuration
+image: onap/admportal-sdnc-image:1.7.0
config:
dbRootPassword: secretpassword
dbSdnctlPassword: gamma
internalPort: 3306
# default number of instances
-replicaCount: 0
+replicaCount: 1
nodeSelector: {}
apiVersion: v1
description: SDNC UEB Listener
name: ueb-listener
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
#################################################################
# application image
repository: nexus3.onap.org:10001
-image: onap/sdnc-ueb-listener-image:1.5.4
+image: onap/sdnc-ueb-listener-image:1.7.0
pullPolicy: Always
# flag to enable debugging - application support required
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
- name: cds
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: cds.enabled
- name: network-name-gen
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
- name: dgbuilder
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
- name: sdnc-prom
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: config.geoEnabled
- name: mariadb-galera
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: config.localDBCluster
###
SDNC_HOME=${SDNC_HOME:-/opt/onap/sdnc}
-MYSQL_HOST=${MYSQL_HOST:-{{.Values.config.mariadbGalera.serviceName}}.{{.Release.Namespace}}}
-MYSQL_PASSWD=${MYSQL_PASSWD:-{{.Values.config.dbRootPassword}}}
+ETC_DIR=${ETC_DIR:-${SDNC_HOME}/data}
+BIN_DIR=${BIN_DIR-${SDNC_HOME}/bin}
+MYSQL_HOST=${MYSQL_HOST:-dbhost}
+MYSQL_PASSWORD=${MYSQL_PASSWORD:-openECOMP1.0}
SDNC_DB_USER=${SDNC_DB_USER:-sdnctl}
-SDNC_DB_PASSWD=${SDNC_DB_PASSWD:-gamma}
+SDNC_DB_PASSWORD=${SDNC_DB_PASSWORD:-gamma}
SDNC_DB_DATABASE=${SDN_DB_DATABASE:-sdnctl}
# Create tablespace and user account
-mysql -h ${MYSQL_HOST} -u root -p${MYSQL_PASSWD} mysql <<-END
-CREATE DATABASE ${SDNC_DB_DATABASE};
-CREATE USER '${SDNC_DB_USER}'@'localhost' IDENTIFIED BY '${SDNC_DB_PASSWD}';
-CREATE USER '${SDNC_DB_USER}'@'%' IDENTIFIED BY '${SDNC_DB_PASSWD}';
+mysql -h ${MYSQL_HOST} -u root -p${MYSQL_PASSWORD} mysql <<-END
+CREATE DATABASE IF NOT EXISTS ${SDNC_DB_DATABASE};
+CREATE USER '${SDNC_DB_USER}'@'localhost' IDENTIFIED BY '${SDNC_DB_PASSWORD}';
+CREATE USER '${SDNC_DB_USER}'@'%' IDENTIFIED BY '${SDNC_DB_PASSWORD}';
GRANT ALL PRIVILEGES ON ${SDNC_DB_DATABASE}.* TO '${SDNC_DB_USER}'@'localhost' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON ${SDNC_DB_DATABASE}.* TO '${SDNC_DB_USER}'@'%' WITH GRANT OPTION;
+flush privileges;
commit;
END
# load schema
-if [ -f ${SDNC_HOME}/data/sdnctl.dump ]
+if [ -f ${ETC_DIR}/sdnctl.dump ]
then
- mysql -h ${MYSQL_HOST} -u root -p${MYSQL_PASSWD} sdnctl < ${SDNC_HOME}/data/sdnctl.dump
+ mysql -h ${MYSQL_HOST} -u root -p${MYSQL_PASSWORD} sdnctl < ${ETC_DIR}/sdnctl.dump
fi
-for datafile in ${SDNC_HOME}/data/*.data.dump
+for datafile in ${ETC_DIR}/*.data.dump
do
- mysql -h ${MYSQL_HOST} -u root -p${MYSQL_PASSWD} sdnctl < $datafile
+ mysql -h ${MYSQL_HOST} -u root -p${MYSQL_PASSWORD} sdnctl < $datafile
done
# Create VNIs 100-199
-${SDNC_HOME}/bin/addVnis.sh 100 199
+${BIN_DIR}/addVnis.sh 100 199
# Drop FK_NETWORK_MODEL foreign key as workaround for SDNC-291.
-${SDNC_HOME}/bin/rmForeignKey.sh NETWORK_MODEL FK_NETWORK_MODEL
+${BIN_DIR}/rmForeignKey.sh NETWORK_MODEL FK_NETWORK_MODEL
+
+if [ -x ${SDNC_HOME}/svclogic/bin/install.sh ]
+then
+ echo "Installing directed graphs"
+ ${SDNC_HOME}/svclogic/bin/install.sh
+fi
+
+
+exit 0
SDNC_HOME=${SDNC_HOME:-/opt/onap/sdnc}
SDNC_BIN=${SDNC_BIN:-/opt/onap/sdnc/bin}
CCSDK_HOME=${CCSDK_HOME:-/opt/onap/ccsdk}
-SLEEP_TIME=${SLEEP_TIME:-120}
-MYSQL_PASSWD=${MYSQL_PASSWD:-{{.Values.config.dbRootPassword}}}
-MYSQL_HOST=${MYSQL_HOST:-{{.Values.config.dbServiceName}}.{{.Release.Namespace}}}
ENABLE_ODL_CLUSTER=${ENABLE_ODL_CLUSTER:-false}
GEO_ENABLED=${GEO_ENABLED:-false}
-DBINIT_DIR=${DBINIT_DIR:-/opt/opendaylight/current/daexim}
SDNRWT=${SDNRWT:-false}
SDNRWT_BOOTFEATURES=${SDNRWT_BOOTFEATURES:-sdnr-wt-feature-aggregator}
export ODL_ADMIN_PASSWORD ODL_ADMIN_USERNAME
echo " SDNC_REPLICAS=$SDNC_REPLICAS"
echo " SDNRWT=$SDNRWT"
-#
-# Wait for database to init properly
-#
-echo "Waiting for mysql"
-until mysql -h ${MYSQL_HOST} -u root -p${MYSQL_PASSWD} mysql &> /dev/null
-do
- printf "."
- sleep 1
-done
-echo -e "\nmysql ready"
-
-if [ ! -d ${DBINIT_DIR} ]
-then
- mkdir -p ${DBINIT_DIR}
-fi
-if [ ! -f ${DBINIT_DIR}/.installed ]
-then
- echo "Installing SDNC database"
- ${SDNC_HOME}/bin/installSdncDb.sh
-
- if [ -x ${SDNC_HOME}/svclogic/bin/install.sh ]
- then
- echo "Installing directed graphs"
- ${SDNC_HOME}/svclogic/bin/install.sh
- fi
-
- echo "Installed at `date`" > ${DBINIT_DIR}/.installed
-fi
if [ ! -f ${SDNC_HOME}/.installed ]
then
echo "Installing SDN-C keyStore"
${SDNC_HOME}/bin/addSdncKeyStore.sh
- # No longer needed (this was a workaround for bug in Nitrogen)
- #${CCSDK_HOME}/bin/installOdlHostKey.sh
-
if $ENABLE_ODL_CLUSTER ; then enable_odl_cluster ; fi
if $SDNRWT ; then install_sdnrwt_features ; fi
--- /dev/null
+
+odl-cluster-data {
+ akka {
+ remote {
+ artery {
+ enabled = off
+ canonical.hostname = "127.0.0.1"
+ canonical.port = 2550
+ }
+ netty.tcp {
+ hostname = "127.0.0.1"
+ port = 2550
+ }
+
+ use-passive-connections = off
+ # when under load we might trip a false positive on the failure detector
+ # transport-failure-detector {
+ # heartbeat-interval = 4 s
+ # acceptable-heartbeat-pause = 16s
+ # }
+ }
+
+ actor {
+ debug {
+ autoreceive = on
+ lifecycle = on
+ unhandled = on
+ fsm = on
+ event-stream = on
+ }
+ }
+
+ cluster {
+ # Remove ".tcp" when using artery.
+ seed-nodes = ["akka.tcp://opendaylight-cluster-data@127.0.0.1:2550"]
+
+ seed-node-timeout = {{.Values.config.odl.akka.seedNodeTimeout}}
+
+ roles = ["member-1"]
+
+ }
+
+ persistence {
+ # By default the snapshots/journal directories live in KARAF_HOME. You can choose to put it somewhere else by
+ # modifying the following two properties. The directory location specified may be a relative or absolute path.
+ # The relative path is always relative to KARAF_HOME.
+
+ # snapshot-store.local.dir = "target/snapshots"
+ # journal.leveldb.dir = "target/journal"
+
+ journal {
+ leveldb {
+ # Set native = off to use a Java-only implementation of leveldb.
+ # Note that the Java-only version is not currently considered by Akka to be production quality.
+
+ # native = off
+ }
+
+ journal-plugin-fallback {
+ circuit-breaker {
+ max-failures = {{.Values.config.odl.akka.circuitBreaker.maxFailures}}
+ call-timeout = {{.Values.config.odl.akka.circuitBreaker.callTimeout}}
+ reset-timeout = {{.Values.config.odl.akka.circuitBreaker.resetTimeout}}
+ }
+ recovery-event-timeout = {{.Values.config.odl.akka.recoveryEventTimeout}}
+ }
+
+ snapshot-store-plugin-fallback {
+ circuit-breaker {
+ max-failures = {{.Values.config.odl.akka.circuitBreaker.maxFailures}}
+ call-timeout = {{.Values.config.odl.akka.circuitBreaker.callTimeout}}
+ reset-timeout = {{.Values.config.odl.akka.circuitBreaker.resetTimeout}}
+ }
+ recovery-event-timeout = {{.Values.config.odl.akka.recoveryEventTimeout}}
+ }
+ }
+ }
+ }
+}
+
--- /dev/null
+# This file specifies property settings for the clustered data store to control its behavior. A
+# property may be applied to every data store type ("config" and "operational") or can be customized
+# differently for each data store type by prefixing the data store type + '.'. For example, specifying
+# the "shard-election-timeout-factor" property would be applied to both data stores whereas specifying
+# "operational.shard-election-timeout-factor" would only apply to the "operational" data store. Similarly,
+# specifying "config.shard-election-timeout-factor" would only apply to the "config" data store.
+
+# The multiplication factor to be used to determine shard election timeout. The shard election timeout
+# is determined by multiplying shardHeartbeatIntervalInMillis with the shardElectionTimeoutFactor.
+shard-election-timeout-factor=20
+
+# The interval at which a shard will send a heart beat message to its remote shard.
+#shard-heartbeat-interval-in-millis=500
+
+# The amount by which to divide election timeout in case of a candidate. This serves as a counter-balance
+# to shard-election-timeout-factor. The default value is 1, i.e. election timeout is the same in all
+# situations.
+#shard-candidate-election-timeout-divisor=1
+
+# The maximum amount of time to wait for a shard to elect a leader before failing an operation (eg transaction create).
+#shard-leader-election-timeout-in-seconds=30
+
+# Enable or disable data persistence.
+#persistent=true
+
+# Disable persistence for the operational data store by default.
+operational.persistent=false
+
+# The maximum amount of time a shard transaction can be idle without receiving any messages before it self-destructs.
+#shard-transaction-idle-timeout-in-minutes=10
+
+# The maximum amount of time a shard transaction three-phase commit can be idle without receiving the
+# next messages before it aborts the transaction.
+#shard-transaction-commit-timeout-in-seconds=30
+
+# The maximum allowed capacity for each shard's transaction commit queue.
+#shard-transaction-commit-queue-capacity=20000
+
+# The maximum amount of time to wait for a shard to initialize from persistence on startup before
+# failing an operation (eg transaction create and change listener registration).
+#shard-initialization-timeout-in-seconds=300
+
+# The minimum number of entries to be present in the in-memory journal log before a snapshot is to be taken.
+#shard-snapshot-batch-count=20000
+
+# The percentage of Runtime.totalMemory() used by the in-memory journal log before a snapshot is to be taken.
+#shard-snapshot-data-threshold-percentage=12
+
+# The interval at which the leader of the shard will check if its majority followers are active and
+# term itself as isolated.
+#shard-isolated-leader-check-interval-in-millis=5000
+
+# The number of transaction modification operations (put, merge, delete) to batch before sending to the
+# shard transaction actor. Batching improves performance as less modifications messages are sent to the
+# actor and thus lessens the chance that the transaction actor's mailbox queue could get full.
+#shard-batched-modification-count=1000
+
+# The maximum amount of time for akka operations (remote or local) to complete before failing.
+#operation-timeout-in-seconds=5
+
+# The initial number of transactions per second that are allowed before the data store should begin
+# applying back pressure. This number is only used as an initial guidance, subsequently the datastore
+# measures the latency for a commit and auto-adjusts the rate limit.
+#transaction-creation-initial-rate-limit=100
+
+# The maximum thread pool size for each shard's data store data change notification executor.
+#max-shard-data-change-executor-pool-size=20
+
+# The maximum queue size for each shard's data store data change notification executor.
+#max-shard-data-change-executor-queue-size=1000
+
+# The maximum queue size for each shard's data store data change listener.
+#max-shard-data-change-listener-queue-size=1000
+
+# The maximum queue size for each shard's data store executor.
+#max-shard-data-store-executor-queue-size=5000
+
+# A fully qualified java class name. The class should implement
+# org.opendaylight.controller.cluster.raft.policy.RaftPolicy. This java class should be
+# accessible to the distributed data store OSGi module so that it can be dynamically loaded via
+# reflection. For now let's assume that these classes to customize raft behaviors should be
+# present in the distributed data store module itself. If this property is set to a class which
+# cannot be found then the default raft policy will be applied
+#custom-raft-policy-implementation=
+
+# When fragmenting messages thru the akka remoting framework, this is the maximum size in bytes
+# for a message slice.
+#maximum-message-slice-size=20480000
+
+# Enable tell-based protocol between frontend (applications) and backend (shards). Using this protocol
+# should avoid AskTimeoutExceptions seen under heavy load. Defaults to false (use ask-based protocol).
+#use-tell-based-protocol=true
+
+# Tune the maximum number of entries a follower is allowed to lag behind the leader before it is
+# considered out-of-sync. This flag may require tuning in face of a large number of small transactions.
+#sync-index-threshold=10
+
+# Record new transaction allocation stack trace, useful for debugging. This makes the log include
+# the stack trace of the creator of the Tx when there is an exception when the transaction is submitted
+# (e.g. for a failed validation). Defaults to false due to performance impact.
+#transaction-debug-context-enabled=true
+persistent-actor-restart-min-backoff-in-seconds={{.Values.config.odl.datastore.persistentActorRestartMinBackoffInSeconds}}
+persistent-actor-restart-max-backoff-in-seconds={{.Values.config.odl.datastore.persistentActorRestartMaxBackoffInSeconds}}
+persistent-actor-restart-reset-backoff-in-seconds={{.Values.config.odl.datastore.persistentActorRestartResetBackoffInSeconds}}
+shard-transaction-commit-timeout-in-seconds={{.Values.config.odl.datastore.shardTransactionCommitTimeoutInSeconds}}
+shard-isolated-leader-check-interval-in-millis={{.Values.config.odl.datastore.shardIsolatedLeaderCheckIntervalInMillis}}
+operation-timeout-in-seconds={{.Values.config.odl.datastore.operationTimeoutInSeconds}}
--- /dev/null
+#!/bin/sh
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You 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.
+#
+
+#
+# handle specific scripts; the SCRIPT_NAME is exactly the name of the Karaf
+# script: client, instance, shell, start, status, stop, karaf
+#
+# if [ "${KARAF_SCRIPT}" == "SCRIPT_NAME" ]; then
+# Actions go here...
+# fi
+
+#
+# general settings which should be applied for all scripts go here; please keep
+# in mind that it is possible that scripts might be executed more than once, e.g.
+# in example of the start script where the start script is executed first and the
+# karaf script afterwards.
+#
+
+#
+# The following section shows the possible configuration options for the default
+# karaf scripts
+#
+# export JAVA_HOME # Location of Java installation
+# export JAVA_MIN_MEM # Minimum memory for the JVM
+# export JAVA_MAX_MEM # Maximum memory for the JVM
+# export JAVA_PERM_MEM # Minimum perm memory for the JVM
+# export JAVA_MAX_PERM_MEM # Maximum perm memory for the JVM
+# export EXTRA_JAVA_OPTS # Additional JVM options
+# export KARAF_HOME # Karaf home folder
+# export KARAF_DATA # Karaf data folder
+# export KARAF_BASE # Karaf base folder
+# export KARAF_ETC # Karaf etc folder
+# export KARAF_SYSTEM_OPTS # First citizen Karaf options
+# export KARAF_OPTS # Additional available Karaf options
+# export KARAF_DEBUG # Enable debug mode
+# export KARAF_REDIRECT # Enable/set the std/err redirection when using bin/start
+# export KARAF_NOROOT # Prevent execution as root if set to true
+if [ "x$JAVA_MAX_MEM" = "x" ]; then
+ export JAVA_MAX_MEM="2048m"
+fi
+
+EXTRA_JAVA_OPTS: "-XX:+UseG1GC -XX:MaxGCPauseMillis={{.Values.config.odl.javaOptions.maxGCPauseMillis}} \
+ -XX:ParallelGCThreads={{.Values.config.odl.javaOptions.parallelGCThreads}} -XX:+ParallelRefProcEnabled \
+ -XX:+UseStringDeduplication -XX:+PrintGC -XX:+PrintGCDateStamps -XX:+PrintGCDetails \
+ -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation \
+ -XX:NumberOfGCLogFiles={{.Values.config.odl.javaOptions.numberGGLogFiles}} -Xloggc:/var/log/onap/sdnc/gc-%t.log"
--- /dev/null
+sdnc:
+ image: onap/sdnc-image:1.7.0
+ sdnc-ansible-server:
+ image: onap/sdnc-ansible-server-image:1.7.0
+ dmaap-listener:
+ image: onap/sdnc-dmaap-listener-image:1.7.0
+ sdnc-portal:
+ image: onap/admportal-sdnc-image:1.7.0
+ ueb-listener:
+ image: onap/sdnc-ueb-listener-image:1.7.0
+cds:
+ cds-command-executor:
+ image: onap/ccsdk-commandexecutor:0.6.0
+ cds-blueprints-processor:
+ image: onap/ccsdk-blueprintsprocessor:0.6.0
+ cds-ui:
+ image: onap/ccsdk-cds-ui-server:0.6.0
+ cds-controller-blueprints:
+ image: onap/ccsdk-controllerblueprints:0.6.0
+ cds-sdc-listener:
+ image: onap/ccsdk-sdclistener:0.6.0
apiVersion: v1
description: ONAP SDNC Policy Driven Ownership Management
name: sdnc-prom
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
--- /dev/null
+# Copyright © 2017 Amdocs, Bell Canada, AT&T
+#
+# 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: batch/v1
+kind: Job
+metadata:
+ name: {{ include "common.fullname" . }}-dbinit-job
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+ annotations:
+ "helm.sh/hook": post-install
+ "helm.sh/hook-weight": "0"
+ "helm.sh/hook-delete-policy": before-hook-creation
+spec:
+ backoffLimit: 20
+ template:
+ metadata:
+ labels:
+ app: {{ include "common.name" . }}-job
+ release: {{ .Release.Name }}
+ name: {{ include "common.name" . }}
+ spec:
+ initContainers:
+ - name: {{ include "common.name" . }}-readiness
+ command:
+ - /root/ready.py
+ args:
+ - --container-name
+ - {{ .Values.config.mariadbGalera.chartName }}
+ env:
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: metadata.namespace
+ image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ containers:
+ - name: {{ include "common.name" . }}
+ image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ env:
+ - name: MYSQL_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: {{ template "common.fullname" . }}
+ key: db-root-password
+ - name: ODL_ADMIN_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: {{ template "common.fullname" . }}-odl
+ key: odl-password
+ - name: SDNC_DB_PASSWORD
+ valueFrom:
+ secretKeyRef:
+ name: {{ template "common.fullname" . }}-sdnctl
+ key: db-sdnctl-password
+ - name: MYSQL_HOST
+ value: "{{.Values.config.mariadbGalera.serviceName}}.{{.Release.Namespace}}"
+ - name: SDNC_HOME
+ value: "{{.Values.config.sdncHome}}"
+ - name: ETC_DIR
+ value: "{{.Values.config.etcDir}}"
+ - name: BIN_DIR
+ value: "{{.Values.config.binDir}}"
+ - name: SDNC_DB_USER
+ value: "{{.Values.config.dbSdnctlUser}}"
+ - name: SDNC_DB_DATABASE
+ value: "{{.Values.config.dbSdnctlDatabase}}"
+ volumeMounts:
+ - mountPath: {{ .Values.config.binDir }}/installSdncDb.sh
+ name: bin
+ subPath: installSdncDb.sh
+ - mountPath: {{ .Values.config.configDir }}/svclogic.properties
+ name: properties
+ subPath: svclogic.properties
+ - mountPath: /opt/onap/sdnc/svclogic/config/svclogic.properties
+ name: properties
+ subPath: svclogic.properties
+ - mountPath: {{ .Values.config.configDir }}/dblib.properties
+ name: properties
+ subPath: dblib.properties
+ command:
+ - /bin/bash
+ args:
+ - {{.Values.config.binDir }}/installSdncDb.sh
+ resources:
+{{ include "common.resources" . | indent 12 }}
+ {{- if .Values.nodeSelector }}
+ nodeSelector:
+{{ toYaml .Values.nodeSelector | indent 10 }}
+ {{- end -}}
+ {{- if .Values.affinity }}
+ affinity:
+{{ toYaml .Values.affinity | indent 10 }}
+ {{- end }}
+ volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
+ - name: docker-entrypoint-initdb-d
+ emptyDir: {}
+ - name: bin
+ configMap:
+ name: {{ include "common.fullname" . }}-bin
+ defaultMode: 0755
+ - name: properties
+ configMap:
+ name: {{ include "common.fullname" . }}-properties
+ defaultMode: 0644
+ restartPolicy: Never
+ imagePullSecrets:
+ - name: "{{ include "common.namespace" . }}-docker-registry-key"
+
{{if eq .Values.service.type "NodePort" -}}
- port: {{ .Values.service.externalPort }}
targetPort: {{ .Values.service.internalPort }}
- nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
name: "{{ .Values.service.portName }}-8282"
- port: {{ .Values.service.externalPort2 }}
targetPort: {{ .Values.service.internalPort2 }}
- nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
name: "{{ .Values.service.portName }}-8202"
- port: {{ .Values.service.externalPort3 }}
targetPort: {{ .Values.service.internalPort3 }}
name: logs
- mountPath: {{ .Values.certpersistence.certPath }}
name: {{ include "common.fullname" . }}-certs
+ - mountPath: {{ .Values.config.odl.salConfigDir }}/{{ .Values.config.odl.salConfigVersion}}/sal-clustering-config-{{ .Values.config.odl.salConfigVersion}}-akkaconf.xml
+ name: properties
+ subPath: akka.conf
+ - mountPath: {{ .Values.config.odl.etcDir }}/org.opendaylight.controller.cluster.datastore.cfg
+ name: properties
+ subPath: org.opendaylight.controller.cluster.datastore.cfg
+ - mountPath: {{ .Values.config.odl.binDir }}/setenv
+ name: properties
+ subPath: setenv
resources:
{{ include "common.resources" . | indent 12 }}
{{- if .Values.nodeSelector }}
# application images
repository: nexus3.onap.org:10001
pullPolicy: Always
-image: onap/sdnc-image:1.5.4
+image: onap/sdnc-image:1.7.0
+
# flag to enable debugging - application support required
debugEnabled: false
odlGid: 101
odlPassword: Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U
dbRootPassword: secretpassword
+ dbSdnctlUser: sdnctl
+ dbSdnctlDatabase: sdnctl
dbSdnctlPassword: gamma
enableClustering: true
+ sdncHome: /opt/onap/sdnc
binDir: /opt/onap/sdnc/bin
+ etcDir: /opt/onap/sdnc/data
geoEnabled: false
# if geoEnabled is set to true here, mysql.geoEnabled must be set to true
# if geoEnabled is set to true the following 3 values must be set to their proper values
ansiblePort: 8000
javaHome: /usr/lib/jvm/java-1.8-openjdk
+ odl:
+ etcDir: /opt/opendaylight/etc
+ binDir: /opt/opendaylight/bin
+ salConfigDir: /opt/opendaylight/system/org/opendaylight/controller/sal-clustering-config
+ salConfigVersion: 1.8.2
+ akka:
+ seedNodeTimeout: 15s
+ circuitBreaker:
+ maxFailures: 10
+ callTimeout: 90s
+ resetTimeout: 30s
+ recoveryEventTimeout: 90s
+ datastore:
+ persistentActorRestartMinBackoffInSeconds: 10
+ persistentActorRestartMaxBackoffInSeconds: 40
+ persistentActorRestartResetBackoffInSeconds: 20
+ shardTransactionCommitTimeoutInSeconds: 120
+ shardIsolatedLeaderCheckIntervalInMillis: 30000
+ operationTimeoutInSeconds: 120
+ javaOptions:
+ maxGCPauseMillis: 100
+ parallelGCThreads : 3
+ numberGGLogFiles: 10
+
+
+
#local Mariadb-galera cluster
localDBCluster: false
internalPort: 8181
internalPort2: 8101
internalPort3: 8080
- internalPort4: 2550
+ internalPort4: 8443
#port
externalPort: 8282
apiVersion: v1
description: ONAP Mock Sniro Emulator
name: sniro-emulator
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
# local reference to common chart, as it is
# a part of this chart's package and will not
# be published independently to a repo (at this point)
apiVersion: v1
description: ONAP Service Orchestrator
name: so
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
appVersion: "1.0"
description: A Helm chart for Kubernetes
name: so-bpmn-infra
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
msb-ip: msb-iag.{{ include "common.namespace" . }}
msb-port: 80
mso:
+ rainyDay:
+ retryDurationMultiplier: 2
+ maxRetries: 5
msoKey: 07a7159d3bf51a0e53be7a8f89699be7
correlation:
timeout: 60
tomcat:
max-threads: 50
spring:
+ datasource:
+ hikari:
+ jdbcUrl: jdbc:mariadb://${DB_HOST}:${DB_PORT}/camundabpmn
+ username: ${DB_USERNAME}
+ password: ${DB_PASSWORD}
+ driver-class-name: org.mariadb.jdbc.Driver
+ pool-name: bpmn-pool
+ registerMbeans: true
security:
usercredentials:
-
# Application configuration defaults.
#################################################################
repository: nexus3.onap.org:10001
-image: onap/so/bpmn-infra:1.4.4
+image: onap/so/bpmn-infra:1.5.0
pullPolicy: Always
replicaCount: 1
apiVersion: v1
description: A Helm chart for so-catalog-db-adapter
name: so-catalog-db-adapter
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
db:
auth: Basic YnBlbDpwYXNzd29yZDEk
spring:
+ datasource:
+ hikari:
+ jdbcUrl: jdbc:mariadb://${DB_HOST}:${DB_PORT}/catalogdb
+ username: ${DB_USERNAME}
+ password: ${DB_PASSWORD}
+ driver-class-name: org.mariadb.jdbc.Driver
+ pool-name: catdb-pool
+ registerMbeans: true
security:
usercredentials:
-
# Application configuration defaults.
#################################################################
repository: nexus3.onap.org:10001
-image: onap/so/catalog-db-adapter:1.4.4
+image: onap/so/catalog-db-adapter:1.5.0
pullPolicy: Always
replicaCount: 1
apiVersion: v1
description: A Helm chart for DB secrets
name: so-db-secrets
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
apiVersion: v1
description: MariaDB Service
name: so-mariadb
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
apiVersion: v1
description: A Helm chart for ONAP Service Orchestration Monitoring
name: so-monitoring
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
api:
url: http://so-request-db-adapter.{{ include "common.namespace" . }}:8083/infraActiveRequests/
auth: Basic YnBlbDpwYXNzd29yZDEk
+
+spring:
+ security:
+ usercredentials:
+ -
+ username: gui
+ password: '$2a$10$Fh9ffgPw2vnmsghsRD3ZauBL1aKXebigbq3BB1RPWtE62UDILsjke'
+ role: GUI-Client
# Application configuration defaults.
#################################################################
repository: nexus3.onap.org:10001
-image: onap/so/so-monitoring:1.4.4
+image: onap/so/so-monitoring:1.5.0
pullPolicy: Always
replicaCount: 1
nodeSelector: {}
tolerations: []
affinity: {}
-
appVersion: "1.0"
description: A Helm chart for Kubernetes
name: so-openstack-adapter
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
server:
port: {{ index .Values.containerPort }}
spring:
+ datasource:
+ hikari:
+ jdbcUrl: jdbc:mariadb://${DB_HOST}:${DB_PORT}/catalogdb
+ username: ${DB_USERNAME}
+ password: ${DB_PASSWORD}
+ driver-class-name: org.mariadb.jdbc.Driver
+ pool-name: catdb-pool
+ registerMbeans: false
security:
usercredentials:
-
#################################################################
# Application configuration defaults.
#################################################################
-image: onap/so/openstack-adapter:1.4.4
+image: onap/so/openstack-adapter:1.5.0
pullPolicy: Always
repository: nexus3.onap.org:10001
apiVersion: v1
description: A Helm chart for request-db-adapter
name: so-request-db-adapter
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
auth: Basic YnBlbDpwYXNzd29yZDEk
endpoint: http://so-request-db-adapter.{{ include "common.namespace" . }}:8083
spring:
+ datasource:
+ hikari:
+ jdbcUrl: jdbc:mariadb://${DB_HOST}:${DB_PORT}/requestdb
+ username: ${DB_USERNAME}
+ password: ${DB_PASSWORD}
+ driver-class-name: org.mariadb.jdbc.Driver
+ pool-name: reqdb-pool
+ registerMbeans: true
security:
usercredentials:
-
# Application configuration defaults.
#################################################################
repository: nexus3.onap.org:10001
-image: onap/so/request-db-adapter:1.4.4
+image: onap/so/request-db-adapter:1.5.0
pullPolicy: Always
replicaCount: 1
appVersion: "1.0"
description: A Helm chart for Kubernetes
name: so-sdc-controller
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
server:
port: {{ index .Values.containerPort }}
spring:
+ datasource:
+ hikari:
+ jdbcUrl: jdbc:mariadb://${DB_HOST}:${DB_PORT}/catalogdb
+ username: ${DB_USERNAME}
+ password: ${DB_PASSWORD}
+ driver-class-name: org.mariadb.jdbc.Driver
+ pool-name: catdb-pool
+ registerMbeans: false
security:
usercredentials:
-
role: ACTUATOR
request:
datasource:
- jdbc-url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/requestdb
- username: ${DB_USERNAME}
- password: ${DB_PASSWORD}
- driver-class-name: org.mariadb.jdbc.Driver
+ hikari:
+ jdbcUrl: jdbc:mariadb://${DB_HOST}:${DB_PORT}/requestdb
+ username: ${DB_USERNAME}
+ password: ${DB_PASSWORD}
+ driver-class-name: org.mariadb.jdbc.Driver
+ pool-name: reqdb-pool
+ registerMbeans: false
mso:
msoKey: 07a7159d3bf51a0e53be7a8f89699be7
logPath: ./logs/sdc
# Application configuration defaults.
#################################################################
repository: nexus3.onap.org:10001
-image: onap/so/sdc-controller:1.4.4
+image: onap/so/sdc-controller:1.5.0
pullPolicy: Always
replicaCount: 1
appVersion: "1.0"
description: A Helm chart for Kubernetes
name: so-sdnc-adapter
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
# Application configuration defaults.
#################################################################
repository: nexus3.onap.org:10001
-image: onap/so/sdnc-adapter:1.4.4
+image: onap/so/sdnc-adapter:1.5.0
pullPolicy: Always
replicaCount: 1
appVersion: "1.0"
description: A Helm chart for Kubernetes
name: so-vfc-adapter
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
path: logs
spring:
datasource:
- driver-class-name: org.mariadb.jdbc.Driver
- url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/requestdb
- username: ${DB_USERNAME}
- password: ${DB_PASSWORD}
+ hikari:
+ driver-class-name: org.mariadb.jdbc.Driver
+ jdbcUrl: jdbc:mariadb://${DB_HOST}:${DB_PORT}/requestdb
+ username: ${DB_USERNAME}
+ password: ${DB_PASSWORD}
+ pool-name: reqdb-pool
+ registerMbeans: true
security:
usercredentials:
- username: bpel
# Application configuration defaults.
#################################################################
repository: nexus3.onap.org:10001
-image: onap/so/vfc-adapter:1.4.4
+image: onap/so/vfc-adapter:1.5.0
pullPolicy: Always
replicaCount: 1
apiVersion: v1
description: ONAP SO VNFM Adapter
name: so-vnfm-adapter
-version: 4.0.0
+version: 5.0.0
# Application configuration defaults.
#################################################################
repository: nexus3.onap.org:10001
-image: onap/so/vnfm-adapter:1.4.4
+image: onap/so/vnfm-adapter:1.5.0
pullPolicy: Always
replicaCount: 1
# limitations under the License.
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
# local reference to common chart, as it is
# a part of this chart's package and will not
# be published independently to a repo (at this point)
repository: '@local'
- name: mariadb-galera
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
condition: global.mariadbGalera.localCluster
auth: 51EA5414022D7BE536E7516C4D1A6361416921849B72C0D6FC1C7F262FD9F2BBC2AD124190A332D9845A188AD80955567A4F975C84C221EEA8243BFD92FFE6896CDD1EA16ADD34E1E3D47D4A
publisher:
topic: com.att.ecomp.mso.operationalEnvironmentEvent
+ health:
+ auth: Basic bXNvX2FkbWlufHBhc3N3b3JkMSQ=
+ endpoints:
+ - subsystem: apih
+ uri: http://so-bpmn-infra:8081
+ - subsystem: catalogdb
+ uri: http://so-catalog-db-adapter:8082
+
spring:
+ datasource:
+ hikari:
+ jdbcUrl: jdbc:mariadb://${DB_HOST}:${DB_PORT}/catalogdb
+ username: ${DB_USERNAME}
+ password: ${DB_PASSWORD}
+ driver-class-name: org.mariadb.jdbc.Driver
+ pool-name: catdb-pool
+ registerMbeans: true
jersey:
type: filter
security:
role: ACTUATOR
request:
datasource:
- jdbc-url: jdbc:mariadb://${DB_HOST}:${DB_PORT}/requestdb
- username: ${DB_USERNAME}
- password: ${DB_PASSWORD}
- driver-class-name: org.mariadb.jdbc.Driver
+ hikari:
+ jdbcUrl: jdbc:mariadb://${DB_HOST}:${DB_PORT}/requestdb
+ username: ${DB_USERNAME}
+ password: ${DB_PASSWORD}
+ driver-class-name: org.mariadb.jdbc.Driver
+ pool-name: reqdb-pool
+ registerMbeans: true
org:
onap:
so:
serviceName: mariadb-galera
servicePort: "3306"
mariadbRootPassword: secretpassword
- #This flag allows SO to instantiate its own mariadb-galera cluster,
+ #This flag allows SO to instantiate its own mariadb-galera cluster,
#serviceName and nameOverride should be so-mariadb-galera if this flag is enabled
localCluster: false
persistence:
dbPort: 3306
dbUser: root
dbPassword: secretpassword
-
+
#################################################################
# Application configuration defaults.
#################################################################
repository: nexus3.onap.org:10001
-image: onap/so/api-handler-infra:1.4.4
+image: onap/so/api-handler-infra:1.5.0
pullPolicy: Always
replicaCount: 1
apiVersion: v1
description: ONAP uui
name: uui
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP uui server
name: uui-server
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
# local reference to common chart, as it is
# a part of this chart's package and will not
# be published independently to a repo (at this point)
apiVersion: v1
description: ONAP Virtual Function Controller (VF-C)
name: vfc
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP VFC - Catalog
name: vfc-catalog
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
apiVersion: v1
description: ONAP VFC - EMS Driver
name: vfc-ems-driver
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
apiVersion: v1
description: ONAP VFC - Generic VNFM Driver
name: vfc-generic-vnfm-driver
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
apiVersion: v1
description: ONAP VFC - Huawei VNFM Driver
name: vfc-huawei-vnfm-driver
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
apiVersion: v1
description: ONAP VFC - Juju VNFM Driver
name: vfc-juju-vnfm-driver
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
apiVersion: v1
description: ONAP VFC - MultiVIM Proxy
name: vfc-multivim-proxy
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
apiVersion: v1
description: ONAP VFC - Nokia V2VNFM Driver
name: vfc-nokia-v2vnfm-driver
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
apiVersion: v1
description: ONAP VFC - NS Life Cycle Management
name: vfc-nslcm
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
apiVersion: v1
description: ONAP VFC - DB
name: vfc-redis
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP VFC - Resource Manager
name: vfc-resmgr
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
apiVersion: v1
description: ONAP VFC - VNF Life Cycle Management
name: vfc-vnflcm
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
apiVersion: v1
description: ONAP VFC - VNF Manager
name: vfc-vnfmgr
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
apiVersion: v1
description: ONAP VFC - VNF Resource Manager
name: vfc-vnfres
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
apiVersion: v1
description: ONAP VFC - Workflow Engine
name: vfc-workflow-engine
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
apiVersion: v1
description: ONAP VFC - Workflow
name: vfc-workflow
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
apiVersion: v1
description: ONAP VFC - ZTE SDNC Driver
name: vfc-zte-sdnc-driver
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
apiVersion: v1
description: ONAP VFC - ZTE VNFM Driver
name: vfc-zte-vnfm-driver
-version: 4.0.0
\ No newline at end of file
+version: 5.0.0
\ No newline at end of file
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
- name: mariadb-galera
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
apiVersion: v1
description: ONAP Virtual Infrastructure Deployment
name: vid
-version: 4.0.0
+version: 5.0.0
apiVersion: v1
description: ONAP VID MariaDB Galera cluster
name: vid_mariadb_galera
-version: 4.0.0
+version: 5.0.0
keywords:
- mariadb
- mysql
#repository: mysql
repository: nexus3.onap.org:10001
-image: adfinissygroup/k8s-mariadb-galera-centos:v002
+image: adfinissygroup/k8s-mariadb-galera-centos:v004
imageInit: busybox
pullPolicy: IfNotPresent
# default number of instances in the StatefulSet
-# keep in mind that if the number is increased you need to update vid-galera-config-job.yaml so that the job will know to wait for all pods.
-replicaCount: 1
+replicaCount: 2
nodeSelector: {}
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
# local reference to common chart, as it is
# a part of this chart's package and will not
# be published independently to a repo (at this point)
- name: VID_MYSQL_MAXCONNECTIONS
value: "{{ .Values.config.vidmysqlmaxconnections }}"
volumeMounts:
+ - mountPath: /opt/app/vid/etc
+ name: vid-certs
- mountPath: /etc/localtime
name: localtime
readOnly: true
- mountPath: /usr/share/filebeat/data
name: vid-data-filebeat
volumes:
+ - name: vid-certs
+ secret:
+ secretName: {{ include "common.fullname" . }}-certs
- name: localtime
hostPath:
path: /etc/localtime
type: Opaque
data:
vid-password: {{ .Values.config.vidmysqlpassword | b64enc | quote }}
+---
+apiVersion: v1
+kind: Secret
+metadata:
+ name: {{ include "common.fullname" . }}-certs
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+type: Opaque
+data:
+{{ tpl (.Files.Glob "resources/certs/*").AsSecrets . | indent 2 }}
- port: {{ .Values.service.internalPort }}
nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
name: {{ .Values.service.portName }}
- - port: {{ .Values.service.internalPort2 }}
- nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
- name: {{ .Values.service.portName2 }}
{{- else -}}
- port: {{ .Values.service.externalPort }}
targetPort: {{ .Values.service.internalPort }}
name: {{ .Values.service.portName }}
- - port: {{ .Values.service.externalPort2 }}
- targetPort: {{ .Values.service.internalPort2 }}
- name: {{ .Values.service.portName2 }}
{{- end}}
selector:
app: {{ include "common.name" . }}
release: {{ .Release.Name }}
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ include "common.servicename" . }}-http
+ namespace: {{ include "common.namespace" . }}
+ labels:
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+spec:
+ type: ClusterIP
+ selector:
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ ports:
+ - name: {{ .Values.service.portName }}-http
+ port: {{ .Values.service.externalHttpPort }}
+ targetPort: {{ .Values.service.internalHttpPort }}
+ protocol: TCP
# application image
repository: nexus3.onap.org:10001
-image: onap/vid:4.3.1
+image: onap/vid:5.0.1
pullPolicy: Always
# mariadb image for initializing
externalPort: 8443
internalPort: 8443
nodePort: "00"
- portName2: vid-http
- externalPort2: 8080
- internalPort2: 8080
- nodePort2: "38"
+ externalHttpPort: 8080
+ internalHttpPort: 8080
ingress:
enabled: false
apiVersion: v1
description: ONAP VNF SDK
name: vnfsdk
-version: 4.0.0
+version: 5.0.0
dependencies:
- name: common
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
- name: postgres
- version: ~4.x-0
+ version: ~5.x-0
repository: '@local'
ports:
{{if eq .Values.service.type "NodePort" -}}
- port: {{ .Values.service.internalPort }}
- nodePort: {{ .Values.global.nodePortPrefix | default "302" }}{{ .Values.service.nodePort }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
{{- else -}}
- port: {{ .Values.service.externalPort }}
targetPort: {{ .Values.service.internalPort }}