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