blob: 194c219634379bbf87c0cb3dc43ebc481c2dc8b0 [file] [log] [blame]
Configuration Pusher
====================
Once the SD-Fabric has been deployed to the Kubernetes, a special Kubernetes
pod, config pusher will enter to a reconciliation loop to update both
network configuration and component configuration to ONOS controller.
Config pusher will read running state from ONOS controller and
then update the ONOS with desired state if running state isn't same as desired state.
.. image:: ../images/config-pusher.svg
.. note::
We highly recommend using the Helm Chart to update the configuration instead of manually changing the ONOS unless you're working on debugging or testing.
Config Pusher supports variety options to adjust its behavior and you can change it via Helm Chart's value file.
Below is the default values of config pusher and please change it to meet your environment.
.. 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 that these values won't change the configuration in the ONOS container, they are only used in the script that loads the config
username: karaf
password: karaf
# netcfg: >
# {}
# componentConfig:
# "org.onosproject.provider.lldp.impl.LldpLinkProvider": >
# {
# "enabled": "false"
# }
* ``reconcile_mode``: If disable, config pusher will only update the configuration once, it's useful for debugging.
* ``reconcile_interval``: The interval(seconds) config pusher used to perform reconciliation loop.
* ``image``: About how to pull config pusher's container image, keep it default unless you have special requirement.
* ``registry``: If empty, the config pusher image will be downloaded from Docker Hub.
* ``repository``: The repository of config push.
* ``tag``: The image tag of config pusher.
* ``pullPolicy``: How Kubernetes pull the image, available options are `Never, Always, IfNotPresent`.
* ``service_account_name``: Name of the Kubernetes Service Account, config pusher pods needs the permission to read
information from Kubernetes.
* ``username``: Username is used to access ONOS,
* ``password``: Password is used to access ONOS.
* ``netcfg``: Json data for network configuration.
* ``componentConfig``: A map contains "component-name": "json config" that will be iterated
over and sent via POST to ONOS.