| .. SPDX-FileCopyrightText: 2021 Open Networking Foundation <info@opennetworking.org> |
| .. SPDX-License-Identifier: Apache-2.0 |
| |
| ONOS Configuration Loader |
| ========================= |
| |
| Config loader is a Kubernetes pod installed by the SD-Fabric Helm |
| chart which implements a reconciliation loop to update the ONOS network |
| configuration and component configuration. |
| |
| Config loader will periodically read the running configurations from ONOS and eventually |
| push updates to ONOS if the running state isn't same as the desired state. |
| |
| .. image:: ../images/config-loader.svg |
| |
| .. note:: |
| We recommend using the Helm values below to update the ONOS configuration instead |
| of manually changing it via ONOS REST APIs or CLI, otherwise, manual changes |
| will be overridden by config loader. If you need to apply config changes |
| during debugging or testing we recommend disabling the reconciliation loop |
| (``reconcile_mode: false``). |
| |
| Below is a reference of the available configuration parameters and their default values: |
| |
| .. code-block:: |
| |
| onos: |
| config: |
| reconcile_mode: true |
| reconcile_interval: 30s |
| image: |
| registry: "" |
| repository: opencord/onos-classic-helm-utils |
| tag: 0.1.0 |
| pullPolicy: "IfNotPresent" |
| service_account_name: onos-config-loader |
| # NOTE these values won't change the credentials inside ONOS, they |
| # are only used by config loader for authenticating REST API calls. |
| username: karaf |
| password: karaf |
| netcfg: > |
| # { |
| # "devices" : { |
| # "device:leaf1" : { |
| # ... |
| # } |
| componentConfig: |
| # "org.onosproject.provider.lldp.impl.LldpLinkProvider": > |
| # { |
| # "enabled": "false" |
| # } |
| |
| |
| * ``reconcile_mode``: If disable, config loader will only update the configuration once. Useful for debugging/testing. |
| * ``reconcile_interval``: The interval in seconds between reconciliation checks. |
| * ``image``: to pull the container image of the config loader. |
| Use the default values unless you have special requirements. |
| |
| * ``registry``: If empty, the config loader image will be downloaded from Docker Hub. |
| * ``repository``: The repository of config push. |
| * ``tag``: The image tag of config loader. |
| * ``pullPolicy``: How Kubernetes pulls the image, available options are `Never, Always, IfNotPresent`. |
| |
| * ``service_account_name``: Name of the Kubernetes Service Account used by the config loader pods to read |
| information from Kubernetes. |
| * ``username``: Username used in ONOS REST API calls. |
| * ``password``: Password used in ONOS REST API calls. |
| * ``netcfg``: ONOS network configuration as JSON blob. |
| * ``componentConfig``: A map of ONOS component IDs and corresponding list of configurations as a JSON map. |