...
Code Block |
---|
chmod +x master_nfs_node.sh sudo ./master_nfs_node.sh {list kubernetes worker nodes ip} example from the WinLab setup: sudo ./master_nfs_node.sh 10.31.34.3921 10.31.34.2422 10.31.34.5223 10.31.34.824 10.31.34.3425 10.31.34.4726 10.31.34.1527 10.31.34.928 10.31.34.529 10.31.3.21 10.31.3.1 10.31.3.684.30 |
Login into each kubernetes worker node, i.e. onap-k8s VMs and perform the below commands
...
Make charts from oom repository
Note |
---|
Do not use sudo to perform the 'make' operation |
This will take somewhere around 20-30 minutes of time to make all the helm charts and save the charts into local helm repository.
Code Block |
---|
ubuntu@onap-control-01:~$ cd ~/oom/kubernetes; make all -e SKIP_LINT=TRUE; make onap -e SKIP_LINT=TRUE Using Helm binary helm which is helm version v3.5.2 [common] make[1]: Entering directory '/home/ubuntu/oom/kubernetes' make[2]: Entering directory '/home/ubuntu/oom/kubernetes/common' [common] make[3]: Entering directory '/home/ubuntu/oom/kubernetes/common' ==> Linting common [INFO] Chart.yaml: icon is recommended 1 chart(s) linted, 0 chart(s) failed Pushing common-8.0.0.tgz to local... Done. make[3]: Leaving directory '/home/ubuntu/oom/kubernetes/common' [repositoryGenerator] make[3]: Entering directory '/home/ubuntu/oom/kubernetes/common' ==> Linting repositoryGenerator [INFO] Chart.yaml: icon is recommended 1 chart(s) linted, 0 chart(s) failed Pushing repositoryGenerator-8.0.0.tgz to local... Done. make[3]: Leaving directory '/home/ubuntu/oom/kubernetes/common' [readinessCheck] make[3]: Entering directory '/home/ubuntu/oom/kubernetes/common' Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "local" chart repository Update Complete. ⎈Happy Helming!⎈ Saving 2 charts Deleting outdated charts ==> Linting readinessCheck [INFO] Chart.yaml: icon is recommended .. .. .. .. [onap] make[1]: Entering directory '/home/ubuntu/oom/kubernetes' Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the "local" chart repository Update Complete. ⎈Happy Helming!⎈ Saving 39 charts Downloading aaf from repo http://127.0.0.1:8080 Downloading aai from repo http://127.0.0.1:8080 Downloading appc from repo http://127.0.0.1:8080 Downloading cassandra from repo http://127.0.0.1:8080 Downloading cds from repo http://127.0.0.1:8080 Downloading cli from repo http://127.0.0.1:8080 Downloading common from repo http://127.0.0.1:8080 Downloading consul from repo http://127.0.0.1:8080 Downloading contrib from repo http://127.0.0.1:8080 Downloading cps from repo http://127.0.0.1:8080 Downloading dcaegen2 from repo http://127.0.0.1:8080 Downloading dcaegen2-services from repo http://127.0.0.1:8080 Downloading dcaemod from repo http://127.0.0.1:8080 Downloading holmes from repo http://127.0.0.1:8080 Downloading dmaap from repo http://127.0.0.1:8080 Downloading esr from repo http://127.0.0.1:8080 Downloading log from repo http://127.0.0.1:8080 Downloading sniro-emulator from repo http://127.0.0.1:8080 Downloading mariadb-galera from repo http://127.0.0.1:8080 Downloading msb from repo http://127.0.0.1:8080 Downloading multicloud from repo http://127.0.0.1:8080 Downloading nbi from repo http://127.0.0.1:8080 Downloading policy from repo http://127.0.0.1:8080 Downloading portal from repo http://127.0.0.1:8080 Downloading oof from repo http://127.0.0.1:8080 Downloading repository-wrapper from repo http://127.0.0.1:8080 Downloading robot from repo http://127.0.0.1:8080 Downloading sdc from repo http://127.0.0.1:8080 Downloading sdnc from repo http://127.0.0.1:8080 Downloading so from repo http://127.0.0.1:8080 Downloading uui from repo http://127.0.0.1:8080 Downloading vfc from repo http://127.0.0.1:8080 Downloading vid from repo http://127.0.0.1:8080 Downloading vnfsdk from repo http://127.0.0.1:8080 Downloading modeling from repo http://127.0.0.1:8080 Downloading platform from repo http://127.0.0.1:8080 Downloading a1policymanagement from repo http://127.0.0.1:8080 Downloading cert-wrapper from repo http://127.0.0.1:8080 Downloading roles-wrapper from repo http://127.0.0.1:8080 Deleting outdated charts Skipping linting of onap Pushing onap-8.0.0.tgz to local... Done. make[1]: Leaving directory '/home/ubuntu/oom/kubernetes' ubuntu@onap-control-01:~/oom/kubernetes$ |
Edit the values.yaml file
Code Block |
---|
...
# Add sdnrwt as true at the end of the config
config:
...
sdnrwt: true
|
Add sdnrwt value under config in the file.
Save the file.
navigate to templates folder:
Code Block |
---|
cd templates/ |
Edit the statefulset.yaml file
Code Block |
---|
...
spec:
...
template:
...
spec:
...
containers:
- name: {{ include "common.name" . }}
...
...
# add sdnrwt flag set to true under env
env:
...
- name: SDNRWT
value: "{{ .Values.config.sdnrwt}}" |
Add SDNRWT environment parameter and its value reference.
Save the file.
Edit the service.yaml file
Code Block |
---|
...
spec:
type: {{ .Values.service.type }}
ports:
{{if eq .Values.service.type "NodePort" -}}
...
- port: {{ .Values.service.externalPort4 }}
targetPort: {{ .Values.service.internalPort4 }}
nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort4 }}
name: "{{ .Values.service.portName }}-8443"
{{- else -}}
- port: {{ .Values.service.externalPort }}
targetPort: {{ .Values.service.internalPort }}
name: {{ .Values.service.portName }}
{{- end}}
selector:
app: {{ include "common.name" . }}
release: {{ .Release.Name }}
type: NodePort
sessionAffinity: ClientIP
externalTrafficPolicy: Cluster
sessionAffinityConfig:
clientIP:
timeoutSeconds: 10800
status:
loadBalancer: {}
--- |
Append type NodePort, session affinity, session affinity config and load balancer parameters in service.
Copy override files
Code Block |
---|
cd
cp -r ~/oom/kubernetes/onap/resources/overrides .
cd overrides/ |
Edit the onap-all.yaml file
Code Block |
---|
# 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
cds:
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
config:
sdnrwt: true
so:
enabled: true
uui:
enabled: true
vfc:
enabled: true
vid:
enabled: true
vnfsdk:
enabled: true
modeling:
enabled: true
|
Save the file.
Verify helm repository
Code Block |
---|
helm repo list |
output:
Code Block |
---|
ubuntu@onap-control-1:~$ helm repo list
NAME URL
local http://127.0.0.1:8879/charts
ubuntu@onap-control-1:~$ |
Make onap helm charts available in local helm repository
Code Block |
---|
cd ~/oom/kubernetes
make all; make onap |
Note |
---|
Do not use sudo to perform the above 'make' operation |
This take somewhere around 10-15 minutes of time to make all the helm charts and save the charts into local helm repository
output:
Code Block |
---|
ubuntu@onap-control-1:~$ cd ~/oom/kubernetes/
ubuntu@onap-control-1:~/oom/kubernetes$ make all; make onap
[common]
make[1]: Entering directory '/home/ubuntu/oom/kubernetes'
make[2]: Entering directory '/home/ubuntu/oom/kubernetes/common'
[common]
make[3]: Entering directory '/home/ubuntu/oom/kubernetes/common'
==> Linting common
[INFO] Chart.yaml: icon is recommended
1 chart(s) linted, no failures
Successfully packaged chart and saved it to: /home/ubuntu/oom/kubernetes/dist/packages/common-4.0.0.tgz
make[3]: Leaving directory '/home/ubuntu/oom/kubernetes/common'
...
...
...
[onap]
make[1]: Entering directory '/home/ubuntu/oom/kubernetes'
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "local" chart repository
...Successfully got an update from the "stable" chart repository
Update Complete. ⎈Happy Helming!⎈
Saving 33 charts
Downloading aaf from repo http://127.0.0.1:8879
Downloading aai from repo http://127.0.0.1:8879
Downloading appc from repo http://127.0.0.1:8879
Downloading cassandra from repo http://127.0.0.1:8879
Downloading clamp from repo http://127.0.0.1:8879
Downloading cli from repo http://127.0.0.1:8879
Downloading common from repo http://127.0.0.1:8879
Downloading consul from repo http://127.0.0.1:8879
Downloading contrib from repo http://127.0.0.1:8879
Downloading dcaegen2 from repo http://127.0.0.1:8879
Downloading dmaap from repo http://127.0.0.1:8879
Downloading esr from repo http://127.0.0.1:8879
Downloading log from repo http://127.0.0.1:8879
Downloading sniro-emulator from repo http://127.0.0.1:8879
Downloading mariadb-galera from repo http://127.0.0.1:8879
Downloading msb from repo http://127.0.0.1:8879
Downloading multicloud from repo http://127.0.0.1:8879
Downloading nbi from repo http://127.0.0.1:8879
Downloading nfs-provisioner from repo http://127.0.0.1:8879
Downloading pnda from repo http://127.0.0.1:8879
Downloading policy from repo http://127.0.0.1:8879
Downloading pomba from repo http://127.0.0.1:8879
Downloading portal from repo http://127.0.0.1:8879
Downloading oof from repo http://127.0.0.1:8879
Downloading robot from repo http://127.0.0.1:8879
Downloading sdc from repo http://127.0.0.1:8879
Downloading sdnc from repo http://127.0.0.1:8879
Downloading so from repo http://127.0.0.1:8879
Downloading uui from repo http://127.0.0.1:8879
Downloading vfc from repo http://127.0.0.1:8879
Downloading vid from repo http://127.0.0.1:8879
Downloading vnfsdk from repo http://127.0.0.1:8879
Downloading modeling from repo http://127.0.0.1:8879
Deleting outdated charts
==> Linting onap
Lint OK
1 chart(s) linted, no failures
Successfully packaged chart and saved it to: /home/ubuntu/oom/kubernetes/dist/packages/onap-4.0.0.tgz
make[1]: Leaving directory '/home/ubuntu/oom/kubernetes'
ubuntu@onap-control-1:~/oom/kubernetes$
|
Deploy ONAP
The name of the release as 'demo', the namespace as 'onap' and the timeout of 300 seconds to deploy 'dmaap' and 'so' which takes some time to deploy these charts waiting for other components.
Perform these below commands in onap-control-1 where git was cloned.
Code Block |
---|
helm deploy demo local/onap --namespace onap -f ~/overrides/onap-all.yaml -f ~/overrides/environment.yaml --timeout 900 |
Takes some 60-70 minutes due to added timeout parameter and environment file.
The environment file provides module wise delay required to process the deployment.
The output:
Code Block |
---|
ubuntu@onap-control-1:~/oom/kubernetes$ helm deploy demo local/onap --namespace onap -f ~/overrides/onap-all.yaml --timeout 900
fetching local/onap
release "demo" deployed
release "demo-aaf" deployed
release "demo-aai" deployed
release "demo-appc" deployed
release "demo-cassandra" deployed
release "demo-cds" deployed
release "demo-clamp" deployed
release "demo-cli" deployed
release "demo-consul" deployed
release "demo-contrib" deployed
release "demo-dcaegen2" deployed
release "demo-dmaap" deployed
release "demo-esr" deployed
release "demo-log" deployed
release "demo-mariadb-galera" deployed
release "demo-modeling" deployed
release "demo-msb" deployed
release "demo-multicloud" deployed
release "demo-nbi" deployed
release "demo-oof" deployed
release "demo-policy" deployed
release "demo-pomba" deployed
release "demo-portal" deployed
release "demo-robot" deployed
release "demo-sdc" deployed
release "demo-sdnc" deployed
release "demo-sniro-emulator" deployed
release "demo-so" deployed
release "demo-uui" deployed
release "demo-vfc" deployed
release "demo-vid" deployed
release "demo-vnfsdk" deployed
ubuntu@onap-control-1:~/oom/kubernetes$ |
Deploying ONAP
Deploying ONAP with helm command
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
ubuntu@onap-control-01:~/oom/kubernetes$ helm deploy demo local/onap --namespace onap --set global.masterPassword=WinLab_NetworkSlicing -f onap/resources/overrides/onap-all.yaml -f onap/resources/overrides/environment.yaml -f onap/resources/overrides/openstack.yaml --timeout 900s |
Verify the deploy
Code Block |
---|
ubuntu@onap-control-101:~/overrides$~$ helm ls -n onap< NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE demo 1 Fri Nov 29 16:26:16 2019 DEPLOYED onap-5.0.0 El Alto onap demo-aaf 1 Fri Nov 29 16:26:17 2019 DEPLOYED aaf-5.0.0 onap demo-aai 1 Fri Nov 29 16:26:28 2019 DEPLOYED aai-5.0.0 onap demo-appc 1 Fri Nov 29 16:27:30 2019 DEPLOYED appc-5.0.0 onap demo-cassandra 1 Fri Nov 29 16:27:41 2019 DEPLOYED cassandra-5.0.0 onap demo-cds 1 Fri Nov 29 16:27:56 2019 DEPLOYED cds-5.0.0 onap demo-clamp 1 Fri Nov 29 16:28:58 2019 DEPLOYED clamp-5.0.0 onap demo-cli 1 Fri Nov 29 16:29:31 2019 DEPLOYED cli-5.0.0 onap demo-consul 1 Fri Nov 29 16:29:45 2019 DEPLOYED consul-5.0.0 onap demo-contrib 1 Fri Nov 29 16:30:04 2019 DEPLOYED contrib-5.0.0 onap demo-dcaegen2 1 Fri Nov 29 16:31:03 2019 DEPLOYED dcaegen2-5.0.0 onap demo-dmaap 1 Fri Nov 29 16:35:47 2019 DEPLOYED dmaap-5.0.0 onap demo-esr 1 Fri Nov 29 16:50:24 2019 DEPLOYED esr-5.0.0 onap demo-log 1 Fri Nov 29 16:50:38 2019 DEPLOYED log-5.0.0 onap demo-mariadb-galera 1 Fri Nov 29 16:51:08 2019 DEPLOYED mariadb-galera-5.0.0 onap demo-modeling 1 Fri Nov 29 16:51:29 2019 DEPLOYED modeling-5.0.0 onap demo-msb 1 Fri Nov 29 16:51:45 2019 DEPLOYED msb-5.0.0 onap demo-multicloud 1 Fri Nov 29 16:52:23 2019 DEPLOYED multicloud-5.0.0 onap demo-nbi 1 Fri Nov 29 16:53:26 2019 DEPLOYED nbi-5.0.0 onap demo-oof 1 Fri Nov 29 16:54:03 2019 DEPLOYED oof-5.0.0 onap demo-policy 1 Fri Nov 29 16:56:27 2019 DEPLOYED policy-5.0.0 onap demo-pomba 1 Fri Nov 29 16:59:13 2019 DEPLOYED pomba-5.0.0 onap demo-portal 1 Fri Nov 29 17:01:44 2019 DEPLOYED portal-5.0.0 onap demo-robot 1 Fri Nov 29 17:03:10 2019 DEPLOYED robot-5.0.0 onap demo-sdc 1 Fri Nov 29 17:03:24 2019 DEPLOYED sdc-5.0.0 onap demo-sdnc 1 Fri Nov 29 17:05:27 2019 DEPLOYED sdnc-5.0.0 onap demo-sniro-emulator 1 Fri Nov 29 17:08:24 2019 DEPLOYED sniro-emulator-5.0.0 onap demo-so 1 Fri Nov 29 17:10:33 2019 DEPLOYED so-5.0.0 onap demo-uui 1 Fri Nov 29 17:24:55 2019 DEPLOYED uui-5.0.0 onap demo-vfc 1 Fri Nov 29 17:24:59 2019 DEPLOYED vfc-5.0.0 onap demo-vid 1 Fri Nov 29 17:26:05 2019 DEPLOYED vid-5.0.0 onap demo-vnfsdk 1 Fri Nov 29 17:26:38 2019 DEPLOYED vnfsdk-5.0.0 onap ubuntu@onap-control-1:~/oom/kubernetes$ |
...