Refactor SD-Fabric helm chart README
Change-Id: Id53d1ee0138ff848e7392be6c993c523ba0e0bf5
diff --git a/VERSION b/VERSION
index e6d5cb8..e4c0d46 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.0.2
\ No newline at end of file
+1.0.3
\ No newline at end of file
diff --git a/sdfabric/Chart.yaml b/sdfabric/Chart.yaml
index 4dccf58..b98b024 100644
--- a/sdfabric/Chart.yaml
+++ b/sdfabric/Chart.yaml
@@ -7,7 +7,7 @@
description: A chart to deploy all SD-Fabric components
kubeVersion: ">=1.18.0"
type: application
-version: 1.0.2
+version: 1.0.3
keywords:
- aether
- sdn
diff --git a/sdfabric/README.md b/sdfabric/README.md
index ea558e9..425218c 100644
--- a/sdfabric/README.md
+++ b/sdfabric/README.md
@@ -4,12 +4,123 @@
SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
-->
-# SD-Fabric chart
+# SD-Fabric Helm chart
-## Prerequest
+## Prerequisites
-See [SD-Fabric deployment guide](https://docs.sd-fabric.org/master/deployment.html) and
-deploy all necessary components like Kubernetes and switch.
+There are several preparation work that need to be done before deploying SD-Fabric.
+1. All switches have been provisioned with Docker and Kubernetes
+2. All switches have been configured as special Kubernetes nodes
+3. Prepare access for SD-Fabric images hosted on private registry
+4. Prepare ONOS network config
+5. Prepare Stratum chassis config for each switch
+
+Please refer to step 1 to 5 in [SD-Fabric deployment guide](https://docs.sd-fabric.org/master/deployment.html)
+for prerequisites, and come back here for the rest of the installation instructions.
+
+## Installation
+
+Here are steps to deploy the sdfabric helm chart:
+
+1. **Clone SD-Fabric Helm chart**
+
+ ```bash
+ git clone ssh://gerrit.opencord.org:29418/sdfabric-helm-charts
+ cd sdfabric-helm-charts/sdfabric
+ ```
+
+2. **Update Helm dependencies**
+
+ ```bash
+ helm dep update
+ ```
+
+3. **Prepare your Helm value**
+
+ You can modify existing `values.yaml` directly, but we recommend composing another value file `myvalues.yaml` using `values.yaml` as an example.
+
+ We are highlighting a few things we need to modify here.
+ More explanation of the supported Helm values can be found in the [Configuration](#configuration) section below.
+
+ - **Stratum `nodeSelector` and `tolerations`**
+
+ This has to be consistent with the information in prerequisite step 2.
+ Here's an example:
+
+ ```
+ stratum:
+ nodeSelector:
+ node-role.kubernetes.io: switch
+
+ tolerations:
+ - effect: NoSchedule
+ value: switch
+ key: node-role.kubernetes.io
+ ```
+
+ - **SD-Fabric image access credential**
+
+ This has to be consistent with the information in prerequisite step 3.
+ ```
+ image:
+ credential:
+ username: my_username
+ password: my_access_token
+ ```
+
+ - **ONOS network config**
+
+ This has to be consistent with the information in prerequisite step 4.
+ ```
+ 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": []
+ }
+ }
+ }
+ }
+ ```
+
+4. **Verify custom values**
+
+ ```bash
+ helm template -f myvaules.yaml .
+ ```
+
+5. **Supply Stratum chassis config**
+
+ Please refer to [Provide Chassis Config](https://github.com/stratum/stratum-helm-charts/tree/master/stratum#provide-chassis-config).
+ This has to be consistent with the information in prerequisite step 5.
+
+6. **Install SD-Fabric helm chart**
+
+ The following command will deploy the SD-Fabric helm chart with release name `sdfabric` in the `sdfabric` namesapce.
+ ```bash
+ helm install -n sdfabric --create-namespace -f myvaules.yaml sdfabric .
+ ```
+
+ To verify the installation:
+ ```bash
+ helm -n sdfabric ls
+ ```
+
+ To uninstall:
+ ```bash
+ helm -n sdfabric uninstall sdfabric
+ kubectl delete namespace sdfabric # also remove the sdfabric if needed
+ ```
+
## Configuration
@@ -25,29 +136,3 @@
| stratum | See <https://github.com/stratum/stratum-helm-charts/tree/master/stratum> |
| pfcp-agent | See [values.yaml](../pfcp-agent/values.yaml) file of the PFCP agent chart |
| dbuf | See [values.yaml](../dbuf/values.yaml) file of the DBuf chart |
-
-## Installation
-
-Here are steps to deploy the sdfabric helm chart:
-
-1. Modify `values.yaml` according to the explanations above
-2. Use the following command to create a namespace `sdfabric`, :
-
- ```bash
- kubectl create namespace sdfabric
- ```
-
-3. Use the helm command to deploy the chart:
-
- ```bash
- helm upgrade --install -n sdfabric -f my-values.yaml sdfabric .
- ```
-
-This command will deploy the SD-Fabric helm chart with release name `sdfabric` in the `sdfabric` namesapce.
-
-To uninstall the helm chart, simply use:
-
-```bash
-helm -n sdfabric uninstall sdfabric
-kubectl delete namespace sdfabric # also remove the sdfabric if needed
-```