[SDFAB-590] - Update deployment doc and config pusher
Change-Id: I3a5540ae9f354af4f6115ba5e9504dcd1ea2feab
diff --git a/configuration.rst b/configuration.rst
index d8b26ef..01e23af 100644
--- a/configuration.rst
+++ b/configuration.rst
@@ -9,3 +9,64 @@
configuration/network
configuration/component
configuration/chassis
+
+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.