Charles Chan | 0bc8bf5 | 2021-10-07 12:53:55 -0700 | [diff] [blame] | 1 | Configuration Pusher |
| 2 | ==================== |
| 3 | |
| 4 | Once the SD-Fabric has been deployed to the Kubernetes, a special Kubernetes |
| 5 | pod, config pusher will enter to a reconciliation loop to update both |
| 6 | network configuration and component configuration to ONOS controller. |
| 7 | |
| 8 | Config pusher will read running state from ONOS controller and |
| 9 | then update the ONOS with desired state if running state isn't same as desired state. |
| 10 | |
| 11 | .. image:: ../images/config-pusher.svg |
| 12 | |
| 13 | .. note:: |
| 14 | 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. |
| 15 | |
| 16 | Config Pusher supports variety options to adjust its behavior and you can change it via Helm Chart's value file. |
| 17 | |
| 18 | Below is the default values of config pusher and please change it to meet your environment. |
| 19 | |
| 20 | |
| 21 | .. code-block:: |
| 22 | |
| 23 | onos: |
| 24 | config: |
| 25 | reconcile_mode: true |
| 26 | reconcile_interval: 30s |
| 27 | image: |
| 28 | registry: "" |
| 29 | repository: opencord/onos-classic-helm-utils |
| 30 | tag: 0.1.0 |
| 31 | pullPolicy: "IfNotPresent" |
| 32 | service_account_name: onos-config-loader |
| 33 | # NOTE that these values won't change the configuration in the ONOS container, they are only used in the script that loads the config |
| 34 | username: karaf |
| 35 | password: karaf |
| 36 | # netcfg: > |
| 37 | # {} |
| 38 | # componentConfig: |
| 39 | # "org.onosproject.provider.lldp.impl.LldpLinkProvider": > |
| 40 | # { |
| 41 | # "enabled": "false" |
| 42 | # } |
| 43 | |
| 44 | |
| 45 | * ``reconcile_mode``: If disable, config pusher will only update the configuration once, it's useful for debugging. |
| 46 | * ``reconcile_interval``: The interval(seconds) config pusher used to perform reconciliation loop. |
| 47 | * ``image``: About how to pull config pusher's container image, keep it default unless you have special requirement. |
| 48 | |
| 49 | * ``registry``: If empty, the config pusher image will be downloaded from Docker Hub. |
| 50 | * ``repository``: The repository of config push. |
| 51 | * ``tag``: The image tag of config pusher. |
| 52 | * ``pullPolicy``: How Kubernetes pull the image, available options are `Never, Always, IfNotPresent`. |
| 53 | |
| 54 | * ``service_account_name``: Name of the Kubernetes Service Account, config pusher pods needs the permission to read |
| 55 | information from Kubernetes. |
| 56 | * ``username``: Username is used to access ONOS, |
| 57 | * ``password``: Password is used to access ONOS. |
| 58 | * ``netcfg``: Json data for network configuration. |
| 59 | * ``componentConfig``: A map contains "component-name": "json config" that will be iterated |
| 60 | over and sent via POST to ONOS. |