Please use for recent updates:

https://docs.onap.org/projects/onap-oom/en/latest/oom_user_guide.html


With H-Release helm3 is mandatory for oom based deployment.

This how to describes basic steps to run successfully

  • 'make all; make onap'
  • helm deploy ...

Step-by-step guide

  1. Install helm3
  2. Install push plugin
  3. setup local chartmuseum
  4. Install postgres
  5. Install ONAP helm plugins

 Install helm3

https://helm.sh/docs/intro/install/

export HELM_VERSION=v3.3.4  # Guilin
export HELM_VERSION=v3.5.2  # Honolulu
wget https://get.helm.sh/helm-$HELM_VERSION-linux-amd64.tar.gz
tar -zxvf helm-$HELM_VERSION-linux-amd64.tar.gz
sudo mv linux-amd64/helm /usr/local/bin/helm-$HELM_VERSION
sudo rm /usr/local/bin/helm
sudo ln -s /usr/local/bin/helm-$HELM_VERSION /usr/local/bin/helm
helm version


Install push plugin

https://github.com/chartmuseum/helm-push

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


Setup local chartmuseum

https://github.com/helm/chartmuseum

Example for installer:

curl https://raw.githubusercontent.com/helm/chartmuseum/main/scripts/get-chartmuseum | bash
mkdir ~/chartstorage
chartmuseum --debug --port=8080 \
  --storage="local" \
  --storage-local-rootdir="~/chartstorage" &
helm repo add local http://localhost:8080


Example docker-compose:

version: '3.1'
services:
  chartmuseum:
    image: docker.io/bitnami/chartmuseum:0-debian-10
    ports:
      - '8080:8080'
    volumes:
      - chartmuseum_data:/bitnami/data
volumes:
  chartmuseum_data:
    driver_opts:
      type: none
      device: /var/lib/docker/chartmuseum
      o: bind
sudo mkdir /var/lib/docker/chartmuseum
sudo docker-compose up -d
helm repo add local http://localhost:8080
helm repo list


Install postgress

example for docker-compose:

docker-compose.yaml

version: '3.1'

services:

  db:
    image: postgres
    restart: always
    ports:
      - "5432:5432"
    env_file:
      - database.env # configure postgres
    volumes:
      - database-data:/var/lib/postgresql/data/ # persist data even if container shuts down
volumes:
  database-data:
    driver_opts:
      type: none
      device: /var/lib/docker/postgres
      o: bind

database.env

database.env
# database.env
POSTGRES_USER=helm
POSTGRES_PASSWORD=changeme
POSTGRES_DB=helm

sudo mkdir  /var/lib/docker/postgres
sudo docker-compose up -d
export HELM_DRIVER=sql
export HELM_DRIVER_SQL_CONNECTION_STRING=postgresql://helm:changeme@localhost:5432/helm?sslmode=disable


Install ONAP Helm plugins


helm plugins
cd <oom_path>/oom
helm plugin install ./kubernetes/helm/plugins/undeploy
helm plugin install ./kubernetes/helm/plugins/deploy
helm plugin list
NAME            VERSION DESCRIPTION
deploy          1.0.0   install (upgrade if release exists) parent charty and all subcharts as separate but related releases
push            0.9.0   Push chart package to ChartMuseum
undeploy        1.0.0   delete parent chart and subcharts that were deployed as separate releases

Deploy ONAP

as usual.

  • namepace 'onap' must exist, otherwise helm ls will show up all deployments as 'failed'





1 Comment

  1. Very helpful instruction for getting ONAP installed. Thank you very much.

    Why do I need the postgres installation? It is not used during ONAP installation