[SDFAB-590] - Update deployment doc
Change-Id: I3c2bb305ba9d74c3706e09d76ee02a3be09fd4b6
diff --git a/deployment.rst b/deployment.rst
index 9dc50f9..66bbe30 100644
--- a/deployment.rst
+++ b/deployment.rst
@@ -77,12 +77,16 @@
compute3 <none>
leaf1 [map[effect:NoSchedule key:node-role.kubernetes.io value:switch]]
leaf2 [map[effect:NoSchedule key:node-role.kubernetes.io value:switch]]
- ╰─$ kubectl get nodes -lnode-role.kubernetes.io=switch 130 ↵
+ ╰─$ kubectl get nodes -lnode-role.kubernetes.io=switch
NAME STATUS ROLES AGE VERSION
leaf1 Ready worker 27d v1.18.8
leaf2 Ready worker 27d v1.18.8
+Please follow the :ref:`Install SD-Fabric section <install_sd_fabric>` to
+check how to use Taint and NodeSelector during installation.
+
+
# TODO
Build Image
-----------
@@ -100,15 +104,111 @@
.. code-block::
- ╰─$ docker login registry.aetherproject.org --username hwchiu 255 ↵
+ ╰─$ docker login registry.aetherproject.org --username hwchiu
Password:
Login Succeeded
-Please follow the `Kubernetes official document <https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/>`_ to see how to
-download the image from the private registry with a valid credential
+Please follow the :ref:`Install SD-Fabric section <install_sd_fabric>` to
+check how to use Taint and NodeSelector during installation.
+.. _install_sd_fabric:
-# TODO, wait for the umbrella chart
Install SD-Fabric
-----------------
+
+To install SD-Fabric into your Kubernetes cluster, follow instructions
+described on the `SD-Fabric Helm Chart Repository <https://gerrit.opencord.org/plugins/gitiles/sdfabric-helm-charts/+/HEAD/sdfabric/README.md>`_
+
+A workflow to install the SD-Fabric should be look like
+
+1. Clone the Helm Charts files from the `SD-Fabric Helm Chart Repository <https://gerrit.opencord.org/plugins/gitiles/sdfabric-helm-charts/+/HEAD/sdfabric/README.md>`_
+2. Customize the value file based on your environment
+3. Deploy it via Helm command
+
+Below is an example how to install SD-Fabric
+
+.. note::
+ Please ensure you have installed switch into Kubernetes cluster and have configured them with proper taints and label,
+ and have the permission to fetch the container image from the `Aether Harbor Registry <https://registry.aetherproject.org/harbor/sign-in?redirect_url=%2Fharbor%2Fprojects>`_.
+
+
+1. Use the git command to clone the `SD-Fabric Helm Chart Repository <https://gerrit.opencord.org/plugins/gitiles/sdfabric-helm-charts/+/HEAD/sdfabric/README.md>`_
+2. Update dependencies
+
+.. code-block::
+
+ ╰─$ cd sdfabric
+ ╰─$ helm dep update 146 ↵
+ Downloading onos-classic from repo https://charts.onosproject.org
+ Downloading stratum from repo https://charts.stratumproject.org/
+ Deleting outdated charts
+
+3. Prepare your value file, you can modify an existing ``values.yaml`` or use a standalone
+value file, use the later approach in this example.
+
+.. code-block::
+
+ ╰─$ cat myvaules.yaml
+ image:
+ credential:
+ username: my_username
+ password: my_access_token
+
+ onos-classic:
+ config:
+ netcfg: >
+ {
+ "devices": {
+ "device:leaf1": {
+ "segmentrouting": {
+ "ipv4NodeSid": 101,
+ "ipv4Loopback": "10.11.22.33",
+ "routerMac": "aa:bb:cc:dd:ee:ff",
+ "pairDeviceId" : "device:leaf2",
+ "pairLocalPort" : 260,
+ "isEdgeRouter": true,
+ "adjacencySids": []
+ }
+ }
+ }
+ }
+
+
+ stratum:
+ nodeSelector:
+ node-role.kubernetes.io: switch
+
+ tolerations:
+ - effect: NoSchedule
+ value: switch
+ key: node-role.kubernetes.io
+
+Please pay attention to the following fields.
+
+ * Configure your ``registry username and password`` on image.credential
+ * Configure the ``label`` on stratum.nodeSelector
+ * Configure the ``taint`` on stratum.tolerations
+ * Configure the ``network configuration`` on onos-classic.config.netcfg
+
+4. Verify your Configuration to ensure no YAML/Helm syntax errors
+
+.. code-block::
+
+ ╰─$ helm template -f myvaules.yaml .
+
+5. Using the helm command to install it. (``helm version is above v3.2``)
+Following command will install the release `sdfabric` to namespace `sdfabric`.
+
+.. code-block::
+
+ ╰─$ helm install -n sdfabric --create-namespace -f myvaules.yaml sdfabric .
+ NAME: sdfabric
+ LAST DEPLOYED: Mon Oct 11 11:12:59 2021
+ NAMESPACE: sdfabric
+ STATUS: deployed
+ REVISION: 1
+ TEST SUITE: None
+ ╰─$ helm -n sdfabric ls
+ NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
+ sdfabric sdfabric 1 2021-10-11 11:12:59.178789 -0700 PDT deployed sdfabric-1.0.1
diff --git a/dict.txt b/dict.txt
index 624908b..2247e57 100644
--- a/dict.txt
+++ b/dict.txt
@@ -39,12 +39,14 @@
Scalability
Subnetting
TLS
+TRex
ToR
ToRs
Tofino
UE
UPF
Unicast
+YAML
analytics
backdoors
backend
@@ -86,8 +88,10 @@
microservice
misconfiguration
multicast
+namespace
natively
netcfg
+nodeSelector
onos
orchestrator
patchset
@@ -109,6 +113,7 @@
subnets
telco
tna
+tolerations
topologies
unconfigured
unicast
@@ -120,4 +125,4 @@
watchlist
whitebox
whitepaper
-TRex
+yaml