blob: 194c219634379bbf87c0cb3dc43ebc481c2dc8b0 [file] [log] [blame]
Charles Chan0bc8bf52021-10-07 12:53:55 -07001Configuration Pusher
2====================
3
4Once the SD-Fabric has been deployed to the Kubernetes, a special Kubernetes
5pod, config pusher will enter to a reconciliation loop to update both
6network configuration and component configuration to ONOS controller.
7
8Config pusher will read running state from ONOS controller and
9then 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
16Config Pusher supports variety options to adjust its behavior and you can change it via Helm Chart's value file.
17
18Below 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.