| 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. |