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                    12.0.0     London         Open Network Automation Platform (ONAP)
local/a1policymanagement      12.0.0                    ONAP A1 Policy Management
local/aai                     12.0.0                    ONAP Active and Available Inventory
local/cassandra               12.0.0                    ONAP cassandra
local/cds                     12.0.0                    ONAP Controller Design Studio (CDS)
local/cli                     12.0.0                    ONAP Command Line Interface
local/common                  12.0.0                    Common templates for inclusion in other charts
local/cps                     12.0.0                    ONAP Configuration Persistene Service (CPS)
local/dcaegen2                12.0.0                    ONAP DCAE Gen2
local/dmaap                   12.0.0                    ONAP DMaaP components
local/mariadb-galera          12.0.0                    Chart for MariaDB Galera cluster
local/msb                     12.0.0                    ONAP MicroServices Bus
local/multicloud              12.0.0                    ONAP multicloud broker
local/nbi                     12.0.0                    ONAP Northbound Interface
local/nfs-provisioner         12.0.0                    NFS provisioner
local/oof                     12.0.0                    ONAP Optimization Framework
local/policy                  12.0.0                    ONAP Policy Administration Point
local/postgres                12.0.0                    ONAP Postgres Server
local/robot                   12.0.0                    A helm Chart for kubernetes-ONAP Robot
local/sdc                     12.0.0                    Service Design and Creation Umbrella Helm charts
local/sdnc                    12.0.0                    SDN Controller
local/sdnc-prom               12.0.0                    ONAP SDNC Policy Driven Ownership Management
local/sniro-emulator          12.0.0                    ONAP Mock Sniro Emulator
local/so                      12.0.0                    ONAP Service Orchestrator
local/strimzi                 12.0.0                    ONAP Strimzi Apache Kafka
local/uui                     12.0.0                    ONAP uui
local/vfc                     12.0.0                    ONAP Virtual Function Controller (VF-C)
local/vnfsdk                  12.0.0                    ONAP VNF SDK

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.