--- /dev/null
+{
+ "url":"https://aaf-sms.{{ include "common.namespace" . }}:10443",
+ "cafile": "/quorumclient/certs/aaf_root_ca.cer",
+ "clientcert":"client.cert",
+ "clientkey":"client.key",
+ "timeout":"10s"
+}
\ No newline at end of file
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
data:
- config.json: |
- {{ .Values.config | toJson }}
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
\ No newline at end of file
- name : {{ include "common.name" . }}
configMap:
name: {{ include "common.fullname" . }}
+ items:
+ - key: config.json
+ path: config.json
+ mode: 0755
- name: {{ include "common.fullname" . }}-auth
persistentVolumeClaim:
claimName: {{ include "common.fullname" . }}
# application configuration
# Example:
-config:
- url: "http://aaf-sms:10443"
- cafile: "selfsignedca.pem"
- clientcert: "server.cert"
- clientkey: "server.key"
- timeout: "60s"
- disable_tls: true
-
# default number of instances
replicaCount: 3
- containerPort: {{ .Values.service.internalPort }}
{{- if eq .Values.liveness.enabled true }}
livenessProbe:
- tcpSocket:
+ httpGet:
port: {{ .Values.service.internalPort }}
+ scheme: HTTPS
+ path: /v1/sms/quorum/status
initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
periodSeconds: {{ .Values.liveness.periodSeconds }}
{{ end -}}
readinessProbe:
- tcpSocket:
+ httpGet:
port: {{ .Values.service.internalPort }}
+ scheme: HTTPS
+ path: /v1/sms/quorum/status
initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
periodSeconds: {{ .Values.readiness.periodSeconds }}
volumeMounts:
# Example:
config:
smsdbaddress: "http://aaf-sms-db:8200"
- cafile: "/sms/auth/selfsignedca.pem"
- servercert: "/sms/auth/server.cert"
- serverkey: "/sms/auth/server.key"
- disable_tls: true
+ cafile: "/sms/certs/aaf_root_ca.cer"
+ servercert: "/sms/certs/aaf-sms.pub"
+ serverkey: "/sms/certs/aaf-sms.pr"
+ password: "c2VjcmV0bWFuYWdlbWVudHNlcnZpY2VzZWNyZXRwYXNzd29yZA=="
# subchart configuration
vault:
# probe configuration parameters
liveness:
initialDelaySeconds: 10
- periodSeconds: 20
+ periodSeconds: 30
# necessary to disable liveness probe when setting breakpoints
# in debugger so K8s doesn't restart unresponsive container
enabled: true
readiness:
initialDelaySeconds: 10
- periodSeconds: 20
+ periodSeconds: 30
service:
type: NodePort
aai.transaction.logging.get=false
aai.transaction.logging.post=false
-aai.realtime.clients=SDNC,MSO,SO
+aai.realtime.clients=SDNC,MSO,SO,robot-ete
#timeout for crud enabled flag
aai.crud.timeoutenabled=true
aai.transaction.logging.get=false
aai.transaction.logging.post=false
-aai.realtime.clients=SDNC,MSO,SO
+aai.realtime.clients=SDNC,MSO,SO,robot-ete
#timeout for traversal enabled flag
aai.traversal.timeoutenabled=true
appc.LCM.provider.user=admin
appc.LCM.provider.pass=admin
appc.LCM.provider.url=http://localhost:8181/restconf/operations/appc-provider-lcm
+appc.LCM.scopeOverlap.endpoint=http://localhost:8181/restconf/operations/interfaces-service:execute-service
# properties from appc-netconf-adapter-bundle, appc-dg-common, appc-dmaap-adapter-bundle
poolMembers=message-router.{{.Release.Namespace}}:3904
# By default, Elasticsearch will bind to the available loopback addresses and will scan ports 9300 to 9305 to try
# to connect to other nodes running on the same server.
#
-#discovery.zen.ping.unicast.hosts: ["elasticsearch.{{.Values.nsPrefix}}"
#$discovery.zen.ping.unicast.hosts
#
# This setting tells Elasticsearch to not elect a master unless there are enough master-eligible nodes
# application image
loggingRepository: docker.elastic.co
-image: elasticsearch/elasticsearch:5.6.8
-pullPolicy: IfNotPresent
+image: elasticsearch/elasticsearch:5.6.9
+pullPolicy: Always
# flag to enable debugging - application support required
debugEnabled: false
size: 4Gi
mountPath: /dockerdata-nfs
mountSubPath: clamp/dashboard-elasticsearch/data
+ mountSubPathLogs: clamp
service:
type: ClusterIP
# application image
loggingRepository: docker.elastic.co
-image: kibana/kibana:5.6.8
-pullPolicy: IfNotPresent
+image: kibana/kibana:5.6.9
+pullPolicy: Always
# flag to enable debugging - application support required
debugEnabled: false
# application image
loggingRepository: docker.elastic.co
-image: logstash/logstash:5.6.8
-pullPolicy: IfNotPresent
+image: logstash/logstash:5.6.9
+pullPolicy: Always
# flag to enable debugging - application support required
debugEnabled: false
--- /dev/null
+{
+ "sdc-connections":{
+ "sdc-controller":{
+ "user": "clamp",
+ "consumerGroup": "clamp",
+ "consumerId": "clamp",
+ "environmentName": "AUTO",
+ "sdcAddress": "sdc-be.{{ include "common.namespace" . }}:8443",
+ "password": "b7acccda32b98c5bb7acccda32b98c5b05D511BD6D93626E90D18E9D24D9B78CD34C7EE8012F0A189A28763E82271E50A5D4EC10C7D93E06E0A2D27CAE66B981",
+ "pollingInterval":30,
+ "pollingTimeout":30,
+ "activateServerTLSAuth":"false",
+ "keyStorePassword":"",
+ "keyStorePath":"",
+ "messageBusAddresses":["message-router.{{ include "common.namespace" . }}"]
+ }
+ }
+}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
data:
- spring_application_json: {{ tpl .Values.config.springApplicationJson . | quote }}
+{{ tpl (.Files.Glob "resources/config/*").AsConfig . | indent 2 }}
+ spring_application_json: {{ tpl .Values.config.springApplicationJson . | quote }}
port: {{ .Values.service.internalPort }}
initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
periodSeconds: {{ .Values.readiness.periodSeconds }}
+ volumeMounts:
+ - mountPath: /opt/clamp/sdc-controllers-config.json
+ name: {{ include "common.fullname" . }}-config
+ subPath: sdc-controllers-config.json
env:
- name: SPRING_APPLICATION_JSON
valueFrom:
affinity:
{{ toYaml .Values.affinity | indent 10 }}
{{- end }}
+ volumes:
+ - name: {{ include "common.fullname" . }}-config
+ configMap:
+ name: {{ include "common.fullname" . }}
+ items:
+ - key: sdc-controllers-config.json
+ path: sdc-controllers-config.json
imagePullSecrets:
- name: "{{ include "common.namespace" . }}-docker-registry-key"
dataRootDir: /dockerdata-nfs
springApplicationJson: >
{
- "spring.datasource.cldsdb.url": "jdbc:mariadb:sequential://clampdb:3306/cldsdb4?autoReconnect=true&connectTimeout=10000&socketTimeout=10000&retriesAllDown=3",
- "clamp.config.sdc.catalog.url": "https://sdc-be:8443/sdc/v1/catalog/",
- "clamp.config.sdc.hostUrl": "https://sdc-be:8443/",
- "clamp.config.sdc.serviceUrl": "https://sdc-be:8443/sdc/v1/catalog/services",
+ "spring.datasource.cldsdb.url": "jdbc:mariadb:sequential://clampdb.{{ include "common.namespace" . }}:3306/cldsdb4?autoReconnect=true&connectTimeout=10000&socketTimeout=10000&retriesAllDown=3",
+ "clamp.config.sdc.catalog.url": "http://sdc-be.{{ include "common.namespace" . }}:8080/sdc/v1/catalog/",
+ "clamp.config.sdc.hostUrl": "http://sdc-be.{{ include "common.namespace" . }}:8080/",
+ "clamp.config.sdc.serviceUrl": "http://sdc-be.{{ include "common.namespace" . }}:8080/sdc/v1/catalog/services",
"clamp.config.sdc.serviceUsername": "clamp",
"clamp.config.sdc.servicePassword": "b7acccda32b98c5bb7acccda32b98c5b05D511BD6D93626E90D18E9D24D9B78CD34C7EE8012F0A189A28763E82271E50A5D4EC10C7D93E06E0A2D27CAE66B981",
- "clamp.config.dcae.inventory.url": "http://dcaegen2:8080",
- "clamp.config.dcae.dispatcher.url": "http://dcaegen2:8080",
- "clamp.config.policy.pdpUrl1": "https://policy-pdp:9091/pdp/ , testpdp, alpha123",
- "clamp.config.policy.pdpUrl2": "https://policy-pdp:9091/pdp/ , testpdp, alpha123",
- "clamp.config.policy.papUrl": "https://policy-pap:8443/pap/ , testpap, alpha123",
+ "clamp.config.files.sdcController": "file:/opt/clamp/sdc-controllers-config.json",
+ "clamp.config.dcae.inventory.url": "http://dcaegen2.{{ include "common.namespace" . }}:8080",
+ "clamp.config.dcae.dispatcher.url": "http://dcaegen2.{{ include "common.namespace" . }}:8080",
+ "clamp.config.policy.pdpUrl1": "https://pdp.{{ include "common.namespace" . }}:9091/pdp/ , testpdp, alpha123",
+ "clamp.config.policy.pdpUrl2": "https://pdp.{{ include "common.namespace" . }}:9091/pdp/ , testpdp, alpha123",
+ "clamp.config.policy.papUrl": "https://pap.{{ include "common.namespace" . }}:8443/pap/ , testpap, alpha123",
"clamp.config.policy.clientKey": "5CE79532B3A2CB4D132FC0C04BF916A7"
}
--- /dev/null
+{
+ "service": {
+ "name": "Health Check: Policy",
+ "checks": [
+ {
+ "id": "Policy-mariadb-healthcheck",
+ "name": "Policy Mariadb Health Check",
+ "script": "/consul/scripts/policy-mariadb-script.sh",
+ "interval": "10s",
+ "timeout": "1s"
+ },
+ {
+ "id": "policy-nexus-local-status",
+ "name": "Policy Nexus Local Status",
+ "http": "http://nexus:8081/nexus/service/local/status?pretty",
+ "method": "GET",
+ "header": {
+ "Authorization": ["Basic YWRtaW46YWRtaW4xMjM="],
+ "Cache-Control": ["no-cache"],
+ "Content-Type": ["application/json"],
+ "Accept": ["application/json"]
+ },
+ "tls_skip_verify": true,
+ "interval": "15s",
+ "timeout": "1s"
+ },
+ {
+ "id": "policy-nexus-internal-metrics",
+ "name": "Policy Nexus Internal Metrics",
+ "http": "http://nexus:8081/nexus/internal/metrics?pretty",
+ "method": "GET",
+ "header": {
+ "Authorization": ["Basic YWRtaW46YWRtaW4xMjM="],
+ "Cache-Control": ["no-cache"],
+ "Content-Type": ["application/json"],
+ "Accept": ["application/json"]
+ },
+ "tls_skip_verify": true,
+ "interval": "15s",
+ "timeout": "1s"
+ },
+ {
+ "id": "policy-nexus-internal-healthcheck",
+ "name": "Policy Nexus Internal Healthcheck",
+ "http": "http://nexus:8081/nexus/internal/healthcheck?pretty",
+ "method": "GET",
+ "header": {
+ "Authorization": ["Basic YWRtaW46YWRtaW4xMjM="],
+ "Cache-Control": ["no-cache"],
+ "Content-Type": ["application/json"],
+ "Accept": ["application/json"]
+ },
+ "tls_skip_verify": true,
+ "interval": "15s",
+ "timeout": "1s"
+ },
+ {
+ "id": "brmsgw-tcp",
+ "name": "BRMSGW Health Check",
+ "tcp": "brmsgw:9989",
+ "interval": "15s",
+ "timeout": "1s"
+ },
+ {
+ "id": "drools",
+ "name": "Drools Health Check",
+ "http": "http://drools:6969/healthcheck?pretty",
+ "method": "GET",
+ "header": {
+ "Authorization": ["Basic aGVhbHRoY2hlY2s6emIhWHp0RzM0"],
+ "Cache-Control": ["no-cache"],
+ "Content-Type": ["application/json"],
+ "Accept": ["application/json"]
+ },
+ "tls_skip_verify": true,
+ "interval": "15s",
+ "timeout": "1s"
+ },
+ {
+ "id": "pap",
+ "name": "PAP Health Check",
+ "http": "http://pap:9091/pap/test?pretty",
+ "method": "GET",
+ "header": {
+ "Authorization": ["Basic dGVzdHBhcDphbHBoYTEyMw=="],
+ "Cache-Control": ["no-cache"],
+ "Content-Type": ["application/json"],
+ "Accept": ["application/json"]
+ },
+ "tls_skip_verify": true,
+ "interval": "15s",
+ "timeout": "1s"
+ },
+ {
+ "id": "pdp",
+ "name": "PDP Health Check",
+ "http": "http://pdp:8081/pdp/test?pretty",
+ "method": "GET",
+ "header": {
+ "Authorization": ["Basic dGVzdHBkcDphbHBoYTEyMw=="],
+ "Cache-Control": ["no-cache"],
+ "Content-Type": ["application/json"],
+ "Accept": ["application/json"]
+ },
+ "tls_skip_verify": true,
+ "interval": "15s",
+ "timeout": "1s"
+ }
+ ]
+ }
+}
--- /dev/null
+NAME=$(/consul/bin/kubectl -n {{ include "common.namespace" . }} get pod | grep -o "[^[:space:]]*-policydb[^[:space:]]*")
+
+ if [ -n "$NAME" ]; then
+ if /consul/bin/kubectl -n {{ include "common.namespace" . }} exec -it $NAME -- bash -c 'mysqladmin status -u root -p$MYSQL_ROOT_PASSWORD' > /dev/null; then
+ echo Success. mariadb process is running. 2>&1
+ exit 0
+ else
+ echo Failed. mariadb process is not running. 2>&1
+ exit 1
+ fi
+ else
+ echo Failed. mariadb container is offline. 2>&1
+ exit 1
+ fi
inventory: onap/org.onap.dcaegen2.platform.inventory-api:latest
policy_handler: onap/org.onap.dcaegen2.platform.policy-handler:latest
service_change_handler: onap/org.onap.dcaegen2.platform.servicechange-handler:latest
- tca: onap/org.onap.dcaegen2.deployments.tca-cdap-container.tca-cdap-container:latest
+ tca: onap/org.onap.dcaegen2.deployments.tca-cdap-container:latest
ves: onap/org.onap.dcaegen2.collectors.ves.vescollector:latest
# Kubernetes namespace for components deployed via Cloudify manager
#################################################################
# Application configuration defaults.
#################################################################
-#nsPrefix: onap
pullPolicy: Always
# application images
# By default, Elasticsearch will bind to the available loopback addresses and will scan ports 9300 to 9305 to try
# to connect to other nodes running on the same server.
#
-#discovery.zen.ping.unicast.hosts: ["elasticsearch.{{.Values.nsPrefix}}"
#$discovery.zen.ping.unicast.hosts
#
# This setting tells Elasticsearch to not elect a master unless there are enough master-eligible nodes
optf_has: onap/optf-has:latest
filebeat: docker.elastic.co/beats/filebeat:5.5.0
-nsPrefix: onap
pullPolicy: Always
nodePortPrefix: 302
dataRootDir: /dockerdata-nfs
${POLICY_HOME}/bin/features enable healthcheck
+${POLICY_HOME}/bin/features enable pooling-dmaap
+${POLICY_HOME}/bin/features enable distributed-locking
+
+${POLICY_HOME}/bin/db-migrator -s pooling -o upgrade
--- /dev/null
+# Copyright 2018 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.
+
+POOLING_TOPIC=POOLING
- mountPath: /tmp/policy-install/config/feature-healthcheck.conf
name: drools-secret
subPath: feature-healthcheck.conf
+ - mountPath: /tmp/policy-install/config/feature-pooling-dmaap.conf
+ name: drools-config
+ subPath: feature-pooling-dmaap.conf
- mountPath: /tmp/policy-install/config/base.conf
name: drools-config
subPath: base.conf
- key: base.conf
path: base.conf
mode: 0755
+ - key: feature-pooling-dmaap.conf
+ path: feature-pooling-dmaap.conf
+ mode: 0755
- key: policy-management.conf
path: policy-management.conf
mode: 0755
periodSeconds: 10
# necessary to disable liveness probe when setting breakpoints
# in debugger so K8s doesn't restart unresponsive container
- enabled: false
+ enabled: true
readiness:
initialDelaySeconds: 10
#!/bin/bash -xv
-for db in support onap_sdk log
+for db in support onap_sdk log migration operationshistory10 pooling
do
mysql -uroot -p"${MYSQL_ROOT_PASSWORD}" --execute "CREATE DATABASE IF NOT EXISTS ${db};"
mysql -uroot -p"${MYSQL_ROOT_PASSWORD}" --execute "GRANT ALL PRIVILEGES ON \`${db}\`.* TO '${MYSQL_USER}'@'%' ;"
REST_ADMIN_WORKSPACE=workspace
# PDP related properties
-PAP_PDP_URL=http://{{ .Release.Name }}-{{ .Values.global.pdp.nameOverride }}-0.{{ .Values.global.pdp.nameOverride }}.{{ include "common.namespace" . }}.svc.cluster.local:{{ .Values.config.pdpPort }}/pdp/,testpdp,alpha123;http://{{ .Release.Name }}-{{ .Values.global.pdp.nameOverride }}-1.{{ .Values.global.pdp.nameOverride }}.{{ include "common.namespace" . }}.svc.cluster.local:{{ .Values.config.pdpPort }}/pdp/
+PAP_PDP_URL=http://{{ .Release.Name }}-{{ .Values.global.pdp.nameOverride }}-0.{{ .Values.global.pdp.nameOverride }}.{{ include "common.namespace" . }}.svc.cluster.local:{{ .Values.config.pdpPort }}/pdp/,testpdp,alpha123;http://{{ .Release.Name }}-{{ .Values.global.pdp.nameOverride }}-1.{{ .Values.global.pdp.nameOverride }}.{{ include "common.namespace" . }}.svc.cluster.local:{{ .Values.config.pdpPort }}/pdp/,testpdp,alpha123;http://{{ .Release.Name }}-{{ .Values.global.pdp.nameOverride }}-3.{{ .Values.global.pdp.nameOverride }}.{{ include "common.namespace" . }}.svc.cluster.local:{{ .Values.config.pdpPort }}/pdp/,testpdp,alpha123;http://{{ .Release.Name }}-{{ .Values.global.pdp.nameOverride }}-4.{{ .Values.global.pdp.nameOverride }}.{{ include "common.namespace" . }}.svc.cluster.local:{{ .Values.config.pdpPort }}/pdp/
PAP_PDP_HTTP_USER_ID=testpdp
PAP_PDP_HTTP_PASSWORD=alpha123
# probe configuration parameters
liveness:
- initialDelaySeconds: 10
+ initialDelaySeconds: 300
periodSeconds: 10
# necessary to disable liveness probe when setting breakpoints
# in debugger so K8s doesn't restart unresponsive container
enabled: true
readiness:
- initialDelaySeconds: 10
+ initialDelaySeconds: 300
periodSeconds: 10
## Persist data to a persitent volume
VARIABLES="$VARIABLES -v WEB_PASSWORD:$WEB_PASSWORD"
shift
if [ $# -eq 2 ];then
- VARIABLES="$VARIABLES -v HOSTS_PREFIX:$2"
+ VARIABLES="$VARIABLES -v HOSTS_PREFIX:$1"
fi
shift
;;
TAG="InitDistribution"
shift
if [ $# -eq 1 ];then
- VARIABLES="$VARIABLES -v DEMO_PREFIX:$2"
+ VARIABLES="$VARIABLES -v DEMO_PREFIX:$1"
fi
shift
;;
TAG="PreloadDemo"
shift
if [ $# -ne 2 ];then
- echo "Usage: demo.sh preload <vnf_name> <module_name>"
+ echo "Usage: demo.sh <namespace> preload <vnf_name> <module_name>"
exit
fi
- VARIABLES="$VARIABLES -v VNF_NAME:$2"
+ VARIABLES="$VARIABLES -v VNF_NAME:$1"
shift
- VARIABLES="$VARIABLES -v MODULE_NAME:$2"
+ VARIABLES="$VARIABLES -v MODULE_NAME:$1"
shift
;;
appc)
- TAG="APPCMountPointDemo"
- shift
- if [ $# -ne 1 ];then
- echo "Usage: demo.sh appc <module_name>"
- exit
- fi
- VARIABLES="$VARIABLES -v MODULE_NAME:$2"
- shift
- ;;
+ TAG="APPCMountPointDemo"
+ shift
+ if [ $# -ne 1 ];then
+ echo "Usage: demo.sh <namespace> appc <module_name>"
+ exit
+ fi
+ VARIABLES="$VARIABLES -v MODULE_NAME:$1"
+ shift
+ ;;
instantiateVFW)
TAG="instantiateVFW"
VARIABLES="$VARIABLES -v GLOBAL_BUILD_NUMBER:$$"
TAG="deleteVNF"
shift
if [ $# -ne 1 ];then
- echo "Usage: demo.sh deleteVNF <module_name from instantiateVFW>"
+ echo "Usage: demo.sh <namespace> deleteVNF <module_name from instantiateVFW>"
exit
fi
- VARFILE=$2.py
+ VARFILE=$1.py
if [ -e /opt/eteshare/${VARFILE} ]; then
VARIABLES="$VARIABLES -V /share/${VARFILE}"
else
TAG="heatbridge"
shift
if [ $# -ne 3 ];then
- echo "Usage: demo.sh heatbridge <stack_name> <service_instance_id> <service>"
+ echo "Usage: demo.sh <namespace> heatbridge <stack_name> <service_instance_id> <service>"
exit
fi
- VARIABLES="$VARIABLES -v HB_STACK:$2"
+ VARIABLES="$VARIABLES -v HB_STACK:$1"
shift
- VARIABLES="$VARIABLES -v HB_SERVICE_INSTANCE_ID:$2"
+ VARIABLES="$VARIABLES -v HB_SERVICE_INSTANCE_ID:$1"
shift
- VARIABLES="$VARIABLES -v HB_SERVICE:$2"
+ VARIABLES="$VARIABLES -v HB_SERVICE:$1"
shift
;;
*)
},
"VnfRepo": {
"vnfRepoPort": "{{.Values.config.environment.vnfRepoPort}}",
- "vnfRepoHost": "{{.Values.config.environment.vnfRepoHost}}"
+ "vnfRepoHost": "refrepo.{{include "common.namespace" .}}"
}
},
"override_attributes": {
dcaeUrl: 10.0.2.15
workflowUrl: 10.0.2.15
vnfRepoPort: 8702
- vnfRepoHost: 192.168.50.5
sdc-es:
service:
- name: SDNC_REPLICAS
value: "{{ .Values.replicaCount }}"
- name: MYSQL_HOST
- value: "{{.Values.mysql.service.name}}.{{.Release.Namespace}}"
+ value: "{{.Release.Name}}-{{.Values.mysql.nameOverride}}-0.{{.Values.mysql.service.name}}.{{.Release.Namespace}}"
volumeMounts:
- mountPath: /etc/localtime
name: localtime