This Plugin will utilize the ONAP helm chart to install, uninstall, upgrade, and rollback ONAP components.

Plugin Requirements:

  • Python versions:
    • 2.7.x
  • Helm client should available on CM 

Compatibility

  • OOM master branch 
  • OOM Beijing release
  • OOM Casablanca release


Type

ONAP.nodes.component


example

so:
  type: onap.nodes.component
  properties:
    component-name: so
    config-path: '/tmp/so.yaml'
    chart-repo-url: { get_input: chart-repo-url }
    chart-version: { get_input: chart-version }
    namespace: { get_input: namespace }
    config: { get_input: jsonConfig}

Derived From: cloudify.nodes.Root

Properties:

    • tiller-server-ip:

      description: IP of tiller server
      type: string
    • tiller-server-port:

      description: Port of tiller server
      type: string
    • chart-repo-url

      description:  helm chart repo url
      default: http://127.0.0.1:8879/charts
    • component-name

      description: the helm chart name of the ONAP component
    • chart-version

      description: The version of ONAP helm chart.
    • namespace

      description: The kubernetes namespace to deploy the helm chart.
      default: onap
    • config

      description: String format json object. To save the input config.
      default: ' '
    • config-url

      description: The input config file URL
      default: ' '
    • config-format

      description: The URL input config file format, json or yaml.
      default: 'json '
    • runtime-config

      description:  String format json object. To save the runtime config generate from other nodes.
      default:''
    • tls-enable

      description:  enable TSL between tiller and helm client. please check this link "SSL/TLS connection between HELM and Tiller" 
      default: false
      type: boolean
    • ca

      description: value of tls-ca-cert
      default: ''
    • cert

      description: value of tls-cert
      default: ''
    • key

      description: value of tls-key
      default: ''

Runtime properties

 Runtime Properties are execution-time details of node instances. 

 Runtime Properties are saved to the database so that they can be consumed by plugins or by users.

  • Current-helm-value

    The all the current helm value same as a JSON object.
    This property will be updated during install, upgrade and rollback.

  • helm-history

    This property contains historical revisions. 
    This property will be updated during install, upgrade and rollback.

  • install-status

    This property contains the output from 'helm status'

Operations:

  • configure

    Based on the config and dmaap-topic generate the value yaml file on config-path.
  • start

    Find the ONAP helm chart on chart repo. Install that helm chart with the value yaml file which be generated on config operation.
  • stop

    Delete the ONAP componment. 
  • upgrade

    Upgrate the helm value or helm chats.
  • rollback:

    Rollback to some revision.
  • status

    Get helm deployment status

Workflows:

  • install

    1. Execute  configure operation
    2. Execute  start operation


  • uninstall

    Execute stop operation

  • upgrade

    Execute upgrade operation
    Workflow parameters:
    • node_instance_id :The ID of the node instance that needs upgrade.
    • config_json: The json object to override the current helm value.

    • chartVersion: Helm chart version.
    • chartRepo: Helm chart repo url.

  • rollback

    Execute rollback  operation
    Workflow parameters:
    • node_instance_id :The ID of the node instance that needs rollback.
    • revision: The revision number you want to rollack to. You can find the revision number in runtime property helm history.


  • status

    Execute status operation
    Workflow parameters:
  • No labels