blob: 51d8fbd0dc43d9332d468a89fd95332302b862e6 [file] [log] [blame]
Carmelo Cascone43989982021-10-12 00:01:19 -07001ONOS Configuration Loader
2=========================
3
4Config loader is a Kubernetes pod installed by the SD-Fabric Helm
5chart which implements a reconciliation loop to update the ONOS network
6configuration and component configuration.
7
8Config loader will periodically read the running configurations from ONOS and eventually
9push updates to ONOS if the running state isn't same as the desired state.
10
11.. image:: ../images/config-loader.svg
12
13.. note::
14 We recommend using the Helm values below to update the ONOS configuration instead
15 of manually changing it via ONOS REST APIs or CLI, otherwise, manual changes
16 will be overridden by config loader. If you need to apply config changes
17 during debugging or testing we recommend disabling the reconciliation loop
18 (``reconcile_mode: false``).
19
20Below is a reference of the available configuration parameters and their default values:
21
22.. code-block::
23
24 onos:
25 config:
26 reconcile_mode: true
27 reconcile_interval: 30s
28 image:
29 registry: ""
30 repository: opencord/onos-classic-helm-utils
31 tag: 0.1.0
32 pullPolicy: "IfNotPresent"
33 service_account_name: onos-config-loader
34 # NOTE these values won't change the credentials inside ONOS, they
35 # are only used by config loader for authenticating REST API calls.
36 username: karaf
37 password: karaf
38 netcfg: >
39 # {
40 # "devices" : {
41 # "device:leaf1" : {
42 # ...
43 # }
44 componentConfig:
45 # "org.onosproject.provider.lldp.impl.LldpLinkProvider": >
46 # {
47 # "enabled": "false"
48 # }
49
50
51* ``reconcile_mode``: If disable, config loader will only update the configuration once. Useful for debugging/testing.
52* ``reconcile_interval``: The interval in seconds between reconciliation checks.
53* ``image``: to pull the container image of the config loader.
54 Use the default values unless you have special requirements.
55
56 * ``registry``: If empty, the config loader image will be downloaded from Docker Hub.
57 * ``repository``: The repository of config push.
58 * ``tag``: The image tag of config loader.
59 * ``pullPolicy``: How Kubernetes pulls the image, available options are `Never, Always, IfNotPresent`.
60
61* ``service_account_name``: Name of the Kubernetes Service Account used by the config loader pods to read
62 information from Kubernetes.
63* ``username``: Username used in ONOS REST API calls.
64* ``password``: Password used in ONOS REST API calls.
65* ``netcfg``: ONOS network configuration as JSON blob.
66* ``componentConfig``: A map of ONOS component IDs and corresponding list of configurations as a JSON map.