CPS-OOM Deployment for Kubernetes VM
Request access to VM
Login to https://selfservice-dev.est.tech/login to create a 'booking' for OpenVPN
Read through the instructions and tips to get familiar with the process (also make sure, that you generate an RSA keypair, seem like that's the only one they accept)
Request Andrew Fenner and/or Robert Tomczyk for a new account on 'our' VM' (172.16.3.229)
After you are able to log in you can check the kube config file on the VM. Its recommended to merge that file with your computer's local kube config file. This way you will be able to work from your computer, so you only have to connect to the VPN.
You can use this command to connect from the same directory where your .ovpn is located:
sudo openvpn --config YOUR_USERNAME.xerces.onap.ovpn --auth-nocache
Uninstall CPS
To unistall CPS from a given namespace use this command:
helm uninstall $ONAP_INSTALL_RELEASE_NAME --namespace $ONAP_INSTALL_NAMESPACE
Optionally we can delete the namespace as well
kubectl delete $NAMESPACE
Install (minimal) CPS
First of all we should create a namespace within Kubernetes:
Add Xerces Helm repository:
(note: the IP address might change. This value worked for us, but if it's not reachable contact Andrew Fenner)
Install the chart with the following command:
The value of $ONAP_INSTALL_VALUES_YAML must be a relative path from the oom/kubernetes/onap/Chart.yaml to the configuration YAML file that we place under the overrides folder (eg ./resources/overrides/cps-minimal.yaml ).
When the installation is complete we must provide an Ingress srevice to expose CPS to the wider world.
Update CPS
Upgrade the installment:
Override YAML
This basic .yaml information should be enough to deploy a CPS instance. Check the comments for explanations.
Compile onap chart
When you modify the deployment yaml you need to recompile the onap chart (it is not necessary for installation or when you just modify the values.yaml)
compile onap
navigate to the <git>/oom/kubernetes folder
upload onap
missing dependencies
When you run this compilation first you must compile every dependency as well.
First you need to start a local chartmuseum
add local repository to helm
after that you can compile the whole onap project. It has a make file so it is quiet easy, but take a long time ca. an hour
then you can continue with the second step
Pnf-simulator
Open pnf-simulator's directory in your terminal. Compile and upload must be run once for each cluster.
compile pnf-simulator
upload pnf-simulator
install pnf-simulator
uninstall pnf-simulator
Troubleshooting
helm repository unreachable on xerces
restart charmuseum on xerces as root:
EOF Exception
sometimes when you start an install you can see an error message
It is a bug in helm, not necessary to do anything, just rerun the installation
Strimzi-kafka can not start
You can run only one strimzi-kafka per cluster. When your strimzi-kafka can not start, maybe there is another one on the cluster in a different namespace. Uninstall the other and then restart your strimzi-kafka
Misc
Cps images:
registry.nordix.org/onaptest/cps-and-ncmp:3.1.1-SNAPSHOT-20221013T094139Z
registry.nordix.org/onaptest/cps-and-ncmp:3.1.1-SNAPSHOT-20221013T121804Z
Expose services:
kubectl expose service cps-core --port 9001 --target-port=8080 --name=cps-core-loop-back -n onap --type=NodePort
kubectl expose service pnfsim --port 9001 --target-port=6513 --name=pnfsim-loop-back -n onap --type=NodePort
kubectl expose service ncmp-dmi-plugin --port 9001 --target-port=8080 --name=ncmp-dmi-plugin-loop-back -n onap --type=NodePort
Install helm-push plugin:
helm plugin install https://github.com/chartmuseum/helm-push
Compile pnp-simulator:
docker build --tag registry.nordix.org/onaptest/netconf-pnp-simulator:2.8.6-mocked .
docker run -ti -p 6513:6513 registry.nordix.org/onaptest/netconf-pnp-simulator:2.8.6-mocked
docker push registry.nordix.org/onaptest/netconf-pnp-simulator:2.8.6-mocked
Install pnfsim:
helm package ~/git/cps/pnfsim --dependency-update
helm cm-push pnfsim-0.1.0.tgz xerces -f
helm uninstall pnfsim --namespace cps
helm install pnfsim xerces/pnfsim -f ~/git/cps/pnfsim/values.yaml --namespace cps --set global.masterPassword=mySec --debug