VVP w/ OOM deployment
IMPORTANT
As of the Dublin release, the web components of VVP are deprecated and no longer maintained. The associated repositories in VVP have been locked, but they remain available for reference and historical purposes. OOM support has been removed in Dublin, but the Casablanca version still supports the Casablanca version of VVP.
Installation
Deployment
Installation is performed by OOM - see http://onap.readthedocs.io/en/latest/submodules/oom.git/docs/oom_user_guide.html#user-guide-label for instructions. This guide assumes you are using a kubernetes cluster w/ rancher to deploy OOM.
In the instructions/examples below, I am using the following infrastructure:
rancher node: 1.2.3.4
kubernetes master node: 1.2.3.5
kubernetes slave node 1: 1.2.3.6
kubernetes slave node 0: 1.2.3.7
After Infrastructure is deployed, install VVP w/ OOM:
# clone oom repo
# update kubernetes/onap/values.yaml to enable/disable components. # make sure VVP is enabled. cd kubernetes helm init --upgrade helm serve & helm repo add local http://127.0.0.1:8879 make all helm install local/onap --name dev --namespace onap
root@rancher:~# kubectl get pods
NAME READY STATUS RESTARTS AGE dev-ci-uwsgi-688f759846-dcm5t 1/1 Running 0 54m dev-cms-uwsgi-564b5b5d86-mpgkl 1/1 Running 0 54m dev-em-645d6bf559-h9tdq 1/1 Running 0 54m dev-ext-haproxy-6597f77789-ql5vn 1/1 Running 0 54m dev-imagescanner-54fb84dfb8-6hwx6 3/3 Running 2 54m dev-int-haproxy-57945994cf-rj2pr 1/1 Running 0 54m dev-vvp-79b59c4f55-g84r2 1/1 Running 0 54m dev-vvp-gitlab-5f48c7cf6c-nmbrf 1/1 Running 0 54m dev-vvp-jenkins-69758c6dc8-cbm99 1/1 Running 0 54m dev-vvp-postgres-d9bf9fd55-9vb4g 1/1 Running 0 54m dev-vvp-redis-7c7448c5f4-5ls98 1/1 Running 0 54m
Post Deployment
After deployment has been initiated, it will take ~10 minutes for the containers to come up and become functional.
To access the portal, you will need to login to the kubernetes dashboard and figure out what port is being used by the ext-haproxy pod mapped to internal port 80
Once you have the port, access the portal by navigating in a web browser to http://1.2.3.5:31601 .
To create an account
Sign up like normal (email, pwd)
No activation email will be sent, you can find the activation link with the command
root@rancher:~# kubectl logs dev-em-645d6bf559-h9tdq
There will be a message with the activation link to navigate to in your web browser.
login to your new account and create an engagement
Add a public ssh key your profile
To login to the admin account
From the sign up page, click the 'reset password' button
use email admin@na.com
Perform the same exercise as signing up, by browsing the engagement manager pod logs for the password reset link
Paste the password reset link into your browser, and use the temp password from the logs
Create a new password
Create an engagement
Once you create an engagement from the portal, a corresponding git repository will be created in the vvp-gitlab pod. To access the gitlab dashboard, you need to figure out what port is mapped for it. To do this, perform the same exercise as for the ext-haproxy pod, except instead now find the vvp-gitlab external port.
Navigate to http://1.2.3.5:<gitlab port> in your web browser. The root password is stored in the gitlab configmap and is base64 encoded. You should change the password as soon as possible.
Validation Scripts
Once heat templates are uploaded to gitlab, add those files to the checklist in the engagement manager portal
After updating the checklist, jenkins pod will clone and run the validation-scripts against the heat templates. The results will be reported back to the jenkins log on the portal.
Once satisfied, move engagement to completed
Known Issues
If you are intending to only use VVP as an internal tool and not accessible publicly, you can mark the new git repo as "public" in the settings of the gitlab dashboard.
Need to manually install validation-scripts python requirements. Clone validation scripts repo to jenkins pod after deployment, and run pip install -r requirements.txt.
If VVP is available publicly but you wish to keep the heat templates stored in it private, you will need to modify the jenkins container file /usr/local/bin/ice-testengine to include the username/password for gitlab when cloning the heat templates from the gitlab instance.
To clone the git repo from gitlab, you will only be able to use http.