OOM Developer Testing Deployment

Developing and testing changes to the existing OOM project can be done locally by setting up some additional tools to host the updated helm charts.

Step 1. Clone the OOM repository from ONAP gerrit:

> git clone http://gerrit.onap.org/r/oom

> cd oom/kubernetes

Step 2. Install Helm Plugin required to push helm charts to local repo:

> helm plugin install https://github.com/chartmuseum/helm-push.git --version 0.9.0

Note

The --version 0.9.0 is required as new version of helm (3.7.0 and up) is now using push directly and helm-push is using cm-push starting version 0.10.0 and up.

Step 3. Install Chartmuseum

Chart museum is required to host the helm charts locally when deploying in a development environment:

> curl https://raw.githubusercontent.com/helm/chartmuseum/main/scripts/get-chartmuseum | bash

Step 4. To setup a local Helm server to store the ONAP charts:

> mkdir -p ~/helm3-storage

> chartmuseum --storage local --storage-local-rootdir ~/helm3-storage -port 8879 &

Note the port number that is listed and use it in the Helm repo add as follows:

> helm repo add local http://127.0.0.1:8879

Step 5. Verify your Helm repository setup with:

> helm repo list
NAME   URL
local  http://127.0.0.1:8879

Step 6. Build a local Helm repository (from the kubernetes directory):

> make SKIP_LINT=TRUE [HELM_BIN=<HELM_PATH>] all
HELM_BIN

Sets the helm binary to be used. The default value use helm from PATH

Step 7. Display the onap charts that are available to be deployed:

> helm repo update

> helm search repo local
Helm search repo output
NAME                    CHART VERSION    APP VERSION    DESCRIPTION
local/onap                    15.0.0     Oslo           Open Network Automation Platform (ONAP)
local/a1policymanagement      13.0.0                    ONAP A1 Policy Management
local/aai                     15.0.1                    ONAP Active and Available Inventory
local/authentication          15.0.0                    ONAP Realm creation, Oauth2Proxy installation and configuration
local/cassandra               13.1.1                    ONAP cassandra
local/cds                     13.0.2                    ONAP Controller Design Studio (CDS)
local/common                  13.2.10                   Common templates for inclusion in other charts
local/cps                     13.0.1                    ONAP Configuration Persistene Service (CPS)
local/dcaegen2                15.0.1                    ONAP DCAE Gen2
local/mariadb-galera          13.2.3                    Chart for MariaDB Galera cluster
local/multicloud              15.0.2                    ONAP multicloud broker
local/platform                13.0.1                    ONAP platform components
local/policy                  15.0.1                    ONAP Policy Administration Point
local/portal-ng               13.0.1                    ONAP Next Generation Portal
local/postgres                13.1.0                    ONAP Postgres Server
local/repository-wrapper      13.0.0                    Wrapper chart to allow docker secret to be shared all instances
local/robot                   13.0.0                    A helm Chart for kubernetes-ONAP Robot
local/roles-wrapper           13.0.0                    Wrapper chart to allow default roles to be shared among onap instances
local/sdc                     13.0.1                    Service Design and Creation Umbrella Helm charts
local/sdnc                    15.1.0                    SDN Controller
local/so                      13.0.1                    ONAP Service Orchestrator
local/strimzi                 13.0.2                    ONAP Strimzi Apache Kafka
local/uui                     13.1.0                    ONAP uui

Note

The setup of the Helm repository is a one time activity. If you make changes to your deployment charts or values be sure to use make to update your local Helm repository.