+# ============LICENSE_START==========================================
+# ===================================================================
+# Copyright (c) 2017 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.
+#============LICENSE_END============================================
+
###########################################################
# This Blueprint installs ONAP Message Router on Openstack
###########################################################
#!/bin/sh
+# ============LICENSE_START==========================================
+# ===================================================================
+# Copyright (c) 2017 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.
+#============LICENSE_END============================================
+
#
PUBIP="$1"
PVTIP="$2"
+# ============LICENSE_START==========================================
+# ===================================================================
+# Copyright (c) 2017 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.
+#============LICENSE_END============================================
+
###########################################################
# This Blueprint installs ONAP appc on Openstack
###########################################################
#!/bin/sh
+# ============LICENSE_START==========================================
+# ===================================================================
+# Copyright (c) 2017 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.
+#============LICENSE_END============================================
+
#
PUBIP="$1"
PVTIP="$2"
+# ============LICENSE_START==========================================
+# ===================================================================
+# Copyright (c) 2017 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.
+#============LICENSE_END============================================
+
###########################################################
# This Blueprint installs ONAP policy on Openstack
###########################################################
#!/bin/sh
+# ============LICENSE_START==========================================
+# ===================================================================
+# Copyright (c) 2017 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.
+#============LICENSE_END============================================
+
#
PUBIP="$1"
PVTIP="$2"
#!/bin/sh
+# ============LICENSE_START==========================================
+# ===================================================================
+# Copyright (c) 2017 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.
+#============LICENSE_END============================================
+
#
PUBIP="$1"
PVTIP="$2"
+# ============LICENSE_START==========================================
+# ===================================================================
+# Copyright (c) 2017 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.
+#============LICENSE_END============================================
+
###########################################################
# This Blueprint installs ONAP SO on Openstack
###########################################################
ssh-authorized-keys:
- { get_secret: agent_key_public }
write_files:
+ - path: /etc/yum.repos.d/docker.repo
+ owner: root:root
+ permissions: '0444'
+ content: |
+ # installed by cloud-init
+ [dockerrepo]
+ name=Docker Repository
+ baseurl=https://yum.dockerproject.org/repo/main/centos/7
+ enabled=1
+ gpgcheck=1
+ gpgkey=https://yum.dockerproject.org/gpg
- path: /etc/yum.repos.d/kubernetes.repo
owner: root:root
permissions: '0444'
net.bridge.bridge-nf-call-iptables = 1
packages:
- - [docker, 1.12.6]
- - [kubelet, 1.8.6-0]
- - [kubeadm, 1.8.6-0]
- - [kubectl, 1.8.6-0]
+ - [docker-engine, 17.03.0.ce-1.el7.centos]
+ - [kubelet, 1.8.10-0]
+ - [kubeadm, 1.8.10-0]
+ - [kubectl, 1.8.10-0]
- [kubernetes-cni, 0.5.1-1]
- [nfs-utils]
- git
runcmd:
- [ setenforce, 0 ]
- [ sysctl , '--system' ]
+ - [ update-ca-trust, force-enable ]
+ - "sed -i 's|/usr/bin/dockerd|/usr/bin/dockerd --exec-opt native.cgroupdriver=systemd|g' /usr/lib/systemd/system/docker.service"
- [ systemctl, enable, docker ]
- [ systemctl, start, docker ]
+ - [ chmod, 655, /etc/systemd/system/kubelet.service ]
+ - [ chmod, 655, /etc/systemd/system/kubelet.service.d/10-kubeadm.conf ]
- [ systemctl, enable, kubelet ]
- [ systemctl, start, kubelet ]
+ - [ iptables, --flush ]
+ - [ iptables, -tnat, --flush ]
- [ mkdir, '-p', /tmp/data ]
- [ chcon, '-Rt', svirt_sandbox_file_t, /tmp/data ]
- [ mkdir, '-p', /dockerdata-nfs ]
helm_version:
description: helm version to be installed
- default: v2.7.0
+ default: v2.8.2
dsl_definitions:
apiVersion: v1
kind: Service
metadata:
- name: {{ template "common.servicename" . }}
+ name: {{ include "common.servicename" . }}
namespace: {{ include "common.namespace" . }}
labels:
- app: {{ template "common.fullname" . }}
- chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
- release: "{{ .Release.Name }}"
- heritage: "{{ .Release.Service }}"
+ app: {{ include "common.name" . }}
+ chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+ release: {{ .Release.Name }}
+ heritage: {{ .Release.Service }}
+ annotations:
+ service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
spec:
- clusterIP: None
type: {{ .Values.service.type }}
+# Not working, open k8s bug: https://github.com/kubernetes/kubernetes/issues/58662
+ publishNotReadyAddresses: true
ports:
- - name: cql
- port: {{ default 9042 .Values.config.ports.cql }}
- targetPort: {{ default 9042 .Values.config.ports.cql }}
- - name: thrift
- port: {{ default 9160 .Values.config.ports.thrift }}
- targetPort: {{ default 9160 .Values.config.ports.thrift }}
- {{- if .Values.config.ports.agent }}
- - name: agent
- port: {{ .Values.config.ports.agent }}
- targetPort: {{ .Values.config.ports.agent }}
- {{- end }}
+ {{if eq .Values.service.type "NodePort" -}}
+ - 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.portName3 }}
+ - port: {{ .Values.service.internalPort3 }}
+ nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort3 }}
+ name: {{ .Values.service.portName3 }}
+ {{- else -}}
+ - port: {{ .Values.service.internalPort }}
+ name: {{ .Values.service.portName }}
+ - port: {{ .Values.service.internalPort2 }}
+ name: {{ .Values.service.portName2 }}
+ - port: {{ .Values.service.internalPort3 }}
+ name: {{ .Values.service.portName3 }}
+ {{- end}}
selector:
- app: {{ template "common.fullname" . }}
+ app: {{ include "common.name" . }}
+ release: {{ .Release.Name }}
+ clusterIP: None
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
spec:
- serviceName: {{ include "common.fullname" . }}
+ serviceName: {{ include "common.servicename" . }}
replicas: {{ .Values.replicaCount }}
podManagementPolicy: {{ .Values.podManagementPolicy }}
updateStrategy:
- containerPort: {{ .Values.service.internalPort }}
- containerPort: {{ .Values.service.internalPort2 }}
- containerPort: {{ .Values.service.internalPort3 }}
- - containerPort: {{ .Values.service.internalPort4 }}
{{- if eq .Values.liveness.enabled true }}
livenessProbe:
exec:
- name: HEAP_NEWSIZE
value: {{ .Values.config.heap.min }}
- name: CASSANDRA_SEEDS
- value: "{{- range $i, $e := until $seed_size }}{{ template "common.fullname" $global }}-{{ $i }},{{- end }}"
+ value: "{{- range $i, $e := until $seed_size }}{{ template "common.fullname" $global }}-{{ $i }}.{{ include "common.servicename" $global }},{{- end }}"
- name: JVM_OPTS
value: {{ .Values.config.jvmOpts | quote }}
- name: CASSANDRA_CLUSTER_NAME
service:
type: ClusterIP
name: aai-cassandra
- internalPort: 7000
- internalPort2: 7001
- internalPort3: 7199
- internalPort4: 9042
+ internalPort: 9042
+ portName: cql
+ internalPort2: 9160
+ portName2: thrift
+ internalPort3: 61621
+ portName3: agent
podManagementPolicy: OrderedReady
updateStrategy:
{{- $global := . }}
storage.backend=cassandra
-storage.hostname={{- range $i, $e := until $seed_size }}{{ $global.Release.Name }}-aai-cassandra-{{ $i }},{{- end }}
+storage.hostname={{- range $i, $e := until $seed_size }}{{ $global.Release.Name }}-{{$global.Values.global.cassandra.serviceName}}-{{ $i }}.{{$global.Values.global.cassandra.serviceName}},{{- end }}
storage.cassandra.keyspace=aaigraph
# the following parameters are not reloaded automatically and require a manual bounce
storage.backend=cassandra
-storage.hostname={{- range $i, $e := until $seed_size }}{{ $global.Release.Name }}-aai-cassandra-{{ $i }},{{- end }}
-
+storage.hostname={{- range $i, $e := until $seed_size }}{{ $global.Release.Name }}-{{$global.Values.global.cassandra.serviceName}}-{{ $i }}.{{$global.Values.global.cassandra.serviceName}},{{- end }}
storage.cassandra.keyspace=aaigraph
storage.cassandra.read-consistency-level=LOCAL_QUORUM
apiVersion: v1
kind: Service
metadata:
- name: {{ include "common.name" . }}
+ name: {{ include "common.servicename" . }}
namespace: {{ include "common.namespace" . }}
labels:
app: {{ include "common.name" . }}
{{if eq .Values.service.type "NodePort" -}}
- port: {{ .Values.service.internalPort }}
nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
- name: {{ .Values.service.name }}
+ name: {{ .Values.service.portName }}
- port: {{ .Values.service.internalPort2 }}
nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
- name: {{ .Values.service.name }}2
+ name: {{ .Values.service.portName2 }}
{{- else -}}
- port: {{ .Values.service.internalPort }}
- name: {{ .Values.service.name }}
+ name: {{ .Values.service.portName }}
- port: {{ .Values.service.internalPort2 }}
- name: {{ .Values.service.name }}2
+ name: {{ .Values.service.portName2 }}
{{- end}}
selector:
app: {{ include "common.name" . }}
service:
type: ClusterIP
- name: aai-resources
+ portName: aai-resources-8447
internalPort: 8447
+ portName2: aai-resources-5005
internalPort2: 5005
{{- $global := . }}
storage.backend=cassandra
-storage.hostname={{- range $i, $e := until $seed_size }}{{ $global.Release.Name }}-aai-cassandra-{{ $i }},{{- end }}
+storage.hostname={{- range $i, $e := until $seed_size }}{{ $global.Release.Name }}-{{$global.Values.global.cassandra.serviceName}}-{{ $i }}.{{$global.Values.global.cassandra.serviceName}},{{- end }}
storage.cassandra.keyspace=aaigraph
# the following parameters are not reloaded automatically and require a manual bounce
storage.backend=cassandra
-storage.hostname={{- range $i, $e := until $seed_size }}{{ $global.Release.Name }}-aai-cassandra-{{ $i }},{{- end }}
+storage.hostname={{- range $i, $e := until $seed_size }}{{ $global.Release.Name }}-{{$global.Values.global.cassandra.serviceName}}-{{ $i }}.{{$global.Values.global.cassandra.serviceName}},{{- end }}
storage.cassandra.keyspace=aaigraph
apiVersion: v1
kind: Service
metadata:
- name: {{ include "common.name" . }}
+ name: {{ include "common.servicename" . }}
namespace: {{ include "common.namespace" . }}
labels:
app: {{ include "common.name" . }}
{{if eq .Values.service.type "NodePort" -}}
- port: {{ .Values.service.internalPort }}
nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
- name: {{ .Values.service.name }}
+ name: {{ .Values.service.portName }}
- port: {{ .Values.service.internalPort2 }}
nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort2 }}
- name: {{ .Values.service.name }}2
+ name: {{ .Values.service.portName2 }}
{{- else -}}
- port: {{ .Values.service.internalPort }}
- name: {{ .Values.service.name }}
+ name: {{ .Values.service.portName }}
- port: {{ .Values.service.internalPort2 }}
- name: {{ .Values.service.name }}2
+ name: {{ .Values.service.portName2 }}
{{- end}}
selector:
app: {{ include "common.name" . }}
service:
type: ClusterIP
- name: aai-traversal
+ portName: aai-traversal-8446
internalPort: 8446
+ portName2: aai-traversal-5005
internalPort2: 5005
ingress:
#TODO would like to make this conditional, as with the other input templates
# but having template expansion issues trying to do that
-cbs_image: {{ .Values.componentImages.config_binding_service }}
+{{ if .Values.componentImages.config_binding_service }}
+cbs_image: {{ include "common.repository" . }}/{{ .Values.componentImages.config_binding_service }}
+{{ end }}
#
# ECOMP is a trademark and service mark of AT&T Intellectual Property.
{{ if .Values.componentImages.deployment_handler }}
-deployment_handler_image: {{ .Values.componentImages.deployment_handler }}
+deployment_handler_image: {{ include "common.repository" . }}/{{ .Values.componentImages.deployment_handler }}
{{ end }}
application_config:
cloudify:
{
{{ if .Values.componentImages.holmes_engine }}
- "he_image" : "{{ .Values.componentImages.holmes_engine }}",
+ "he_image" : '{{ include "common.repository" . }}/{{ .Values.componentImages.holmes_engine }}',
{{ end }}
"msb_hostname": "{{ .Values.config.address.msb_discovery }}.{{include "common.namespace" . }}",
"dcae_CL_publish_url": "http://{{ .Values.config.address.message_router }}.{{include "common.namespace" . }}:3904/events/unauthenticated.DCAE_CL_OUTPUT",
# ============LICENSE_END=========================================================
{
+{{ if .Values.componentImages.holmes_rules }}
+ "hr_image" : '{{ include "common.repository" . }}/{{ .Values.componentImages.holmes_rules }}',
+{{ end }}
+
"msb_hostname": "{{ .Values.config.address.msb_discovery }}.{{include "common.namespace" . }}",
"pgaas_cluster_name" : "{{ .Values.postgres.service.name2 }}.{{include "common.namespace" . }}",
"database_name":"holmes"
sdc_msg_bus_address: '{{ .Values.config.address.message_router }}.{{include "common.namespace" . }}'
postgres_user_inventory: "postgres"
postgres_password_inventory: "onap123"
-service_change_handler_image: {{ .Values.componentImages.service_change_handler }}
+{{ if .Values.componentImages.service_change_handler }}
+service_change_handler_image: '{{ include "common.repository" . }}/{{ .Values.componentImages.service_change_handler }}'
+{{ end }}
{{ if .Values.componentImages.inventory }}
-inventory_image: "{{ .Values.componentImages.inventory }}"
+inventory_image: '{{ include "common.repository" . }}/{{ .Values.componentImages.inventory }}'
{{ end }}
# ============LICENSE_END=========================================================
{{ if .Values.componentImages.policy_handler }}
-policy_handler_image: {{ .Values.componentImages.policy_handler }}
+policy_handler_image: {{ include "common.repository" . }}/{{ .Values.componentImages.policy_handler }}
{{ end }}
application_config:
policy_handler :
# ============LICENSE_END=========================================================
{{ if .Values.componentImages.tca }}
-tca_image: {{ .Values.componentImages.tca }}
+tag_version: {{ include "common.repository" . }}/{{ .Values.componentImages.tca }}
{{ end }}
dmaap_host: {{ .Values.config.address.message_router }}.{{include "common.namespace" . }}
consul_host: {{ .Values.config.address.consul.host }}.{{include "common.namespace" . }}
# ============LICENSE_END=========================================================
{{ if .Values.componentImages.ves }}
-tag_version: {{ .Values.componentImages.ves }}
+tag_version: {{ include "common.repository" . }}/{{ .Values.componentImages.ves }}
{{ end }}
external_port : "30235"
ves_other_publish_url: "http://{{ .Values.config.address.message_router }}:3904/events/unauthenticated.SEC_OTHER_OUTPUT/"
key: password
- name: CONSUL
value: {{ .Values.config.address.consul.host }}:{{ .Values.config.address.consul.port }}
+ - name: DCAE_NAMESPACE
+ value: {{ .Values.dcae_ns | default "" }}
+ - name: ONAP_NAMESPACE
+ value: {{ include "common.namespace" . }}
volumes:
- name: {{ include "common.fullname" . }}-dcae-inputs
configMap:
# application image
repository: nexus3.onap.org:10001
-image: onap/org.onap.dcaegen2.deployments.k8s-bootstrap-container:latest
+image: onap/org.onap.dcaegen2.deployments.k8s-bootstrap-container:1.1.10
# DCAE component images to be deployed via Cloudify Manager
# Use to override default setting in blueprints
componentImages:
#TODO for further investigation: input template expansion issues if we comment this out
- config_binding_service: nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.configbinding:2.1.5
-# deployment_handler: nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.deployment-handler:2.1.1
-# holmes_engine: nexus3.onap.org:10001//onap/holmes/engine-management:v1.0.0
-# holmes_rules: nexus3.onap.org:10001/onap/holmes/rule-management:v1.0.0
- inventory: nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.inventory-api:3.0.1
- policy_handler: nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.policy-handler:2.4.1
- service_change_handler: nexus3.onap.org:10001/onap/org.onap.dcaegen2.platform.servicechange-handler:1.1.3
-# tca: nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.tca-cdap-container.tca-cdap-container:1.0.0
-# ves: nexus3.onap.org:10001/onap/org.onap.dcaegen2.collectors.ves.vescollector:1.1-latest
+ config_binding_service: onap/org.onap.dcaegen2.platform.configbinding:latest
+ deployment_handler: onap/org.onap.dcaegen2.platform.deployment-handler:latest
+ holmes_engine: onap/holmes/engine-management:latest
+ holmes_rules: onap/holmes/rule-management:latest
+ 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
+ ves: onap/org.onap.dcaegen2.collectors.ves.vescollector:latest
# Kubernetes namespace for components deployed via Cloudify manager
# If empty, use the common namespace
-dcae_ns: "dcae"
+# dcae_ns: "onap"
type: ExternalName
externalName: {{ .Values.service.name }}.{{ include "common.namespace" . }}.svc.cluster.local
{{ end }}
+---
# Provide alternate name for consul in common namespace to support CM plugin discovery
apiVersion: v1
kind: Service
# Kubernetes namespace for components deployed via Cloudify manager
# If empty, use the common namespace
-dcae_ns: "dcae"
+# dcae_ns: "dcae"
periodSeconds: 10
# application image
repository: nexus3.onap.org:10001
-image: onap/org.onap.dcaegen2.deployments.healthcheck-container:1.0.0
+image: onap/org.onap.dcaegen2.deployments.healthcheck-container:1.1.0
# Kubernetes namespace for components deployed via Cloudify manager
# If empty, use the common namespace
-dcae_ns: "dcae"
+# dcae_ns: "onap"