Merge "SEBA-786 Update Helm chart documentation"
diff --git a/SUMMARY.md b/SUMMARY.md
index 6429f19..ee5862e 100644
--- a/SUMMARY.md
+++ b/SUMMARY.md
@@ -112,13 +112,10 @@
* [SimpleExampleService](simpleexampleservice/simple-example-service.md)
* [Helm Reference](charts/helm.md)
* [Base Kubernetes](charts/base-kubernetes.md)
- * [Base OpenStack](charts/base-openstack.md)
- * [OpenStack](prereqs/openstack-helm.md)
- * [VTN Setup](prereqs/vtn-setup.md)
* [BBSim](charts/bbsim.md)
* [Kafka](charts/kafka.md)
* [Logging and Monitoring](charts/logging-monitoring.md)
- * [M-CORD](charts/mcord.md)
+ * [Mininet](charts/mininet.md)
* [ONOS](charts/onos.md)
* [Persistent Storage](charts/storage.md)
* [PONNET](charts/ponnet.md)
@@ -128,4 +125,3 @@
* [VOLTHA](charts/voltha.md)
* [XOS-CORE](charts/xos-core.md)
* [XOSSH](charts/xossh.md)
-
diff --git a/charts/mininet.md b/charts/mininet.md
new file mode 100644
index 0000000..4a81d93
--- /dev/null
+++ b/charts/mininet.md
@@ -0,0 +1,25 @@
+# Mininet Helm Chart
+
+The `mininet` chart deploys Mininet for use by [SiaB](../profiles/seba/siab.md).
+It creates a virtual agg switch (Open vSwitch) that connects the downstream
+Ponsim OLTs to an upstream virtual BNG.
+
+You must install the [PONNET](ponnet.md) chart before installing this one.
+
+{% include "../partials/helm/add-cord-repo.md" %}
+
+To install:
+
+```shell
+helm install -n mininet cord/mininet \
+ --set numOlts=1 \
+ --set numOnus=1
+```
+
+Arguments _numOlts_ and _numOnus_ can be set between 1 and 4. The chart connects bridge _nniX_
+to the agg switch for _X_ between 0 and _numOlts_ - 1.
+
+For each _X_ above, a double-tagged interface is created on the virtual BNG for _Y_ between 0 and
+_numOnus_ - 1. This interface has an IP address of _172.(18 + X).Y.10_, an outer VLAN of 222 + _X_,
+and an inner VLAN of 111 + _Y_. The virtual BNG also runs a DHCP server on each interface serving
+addresses in the _172.(18 + X).Y.0/24_ subnet.
diff --git a/charts/ponnet.md b/charts/ponnet.md
index b40f402..04eda55 100644
--- a/charts/ponnet.md
+++ b/charts/ponnet.md
@@ -1,8 +1,8 @@
# PONNET Helm Chart
The `ponnet` Helm chart installs and configures Kubernetes CNI plugins
-for [PONSIM](ponsimv2.md). Currently it creates two Linux bridges, `pon0`
-and `pon1`, that allow a L2 dataplane to be created between the PONSIM
+for [PONSIM](ponsimv2.md). It creates Linux bridges
+that allow a L2 dataplane to be created between the PONSIM
RG and components upstream of the PONSIM OLT. Note that the bridges
are not actually created until [PONSIM](ponsimv2.md) is installed.
@@ -11,7 +11,13 @@
You can then install the chart using:
```bash
-helm install -n ponnet cord/ponnet
+helm install -n ponnet cord/ponnet \
+ --set numOlts=1 \
+ --set numOnus=1
```
-The chart modifies the underlying Kubernetes setup by installing the *bridge* CNI and adding configuration files to create the two bridges. Kubernetes must be configured with CNI enabled. Note that this chart does not seem to work on *minikube*.
+The chart modifies the underlying Kubernetes setup by installing the *bridge* CNI and adding configuration files in `/etc/cni/net.d`
+to create Linux bridges for Ponsim. Arguments _numOlts_ and _numOnus_ can be set between 1 and 4. The chart writes `nniX.conf` for
+_X_ between 0 and _numOlts_ - 1; for each _X_, it writes `ponX.Y.conf` for _Y_ between 0 and _numOnus_ - 1.
+
+In order to use this chart, Kubernetes must be configured with CNI enabled. Note that this chart does not seem to work on *minikube*.
diff --git a/charts/ponsim-pod.md b/charts/ponsim-pod.md
index a8329f8..5ead734 100644
--- a/charts/ponsim-pod.md
+++ b/charts/ponsim-pod.md
@@ -7,5 +7,9 @@
You can then install it using:
```shell
-helm install -n ponsim-pod cord/ponsim-pod
+helm install -n ponsim-pod cord/ponsim-pod \
+ --set numOlts=1 \
+ --set numOnus=1
```
+
+Arguments _numOlts_ and _numOnus_ can be set between 1 and 4.
\ No newline at end of file
diff --git a/charts/ponsimv2.md b/charts/ponsimv2.md
index 599740e..32c382d 100644
--- a/charts/ponsimv2.md
+++ b/charts/ponsimv2.md
@@ -9,25 +9,27 @@
{% include "../partials/helm/add-cord-repo.md" %}
-Then, install ponsim doing:
+To install:
```shell
-helm install -n ponsimv2 cord/ponsimv2
+helm install -n ponsimv2 cord/ponsimv2 \
+ --set numOlts=1 \
+ --set numOnus=1
```
+Arguments _numOlts_ and _numOnus_ can be set between 1 and 4.
+
After a successful install you will see containers like these running in the
VOLTHA namespace:
```bash
-$ kubectl -n voltha get pod
-NAME READY STATUS RESTARTS AGE
-...
-olt-77468cfccd-7ltzr 1/1 Running 0 10m
-onu-6d7d5db8f-pk59s 1/1 Running 0 10m
-rg-5fbddf9bdf-b292r 1/1 Running 0 10m
-...
+$ kubectl -n voltha get pod -l app=ponsim
+NAME READY STATUS RESTARTS AGE
+olt0-fb58fb79f-26g46 1/1 Running 0 22h
+onu0-0-5db946744d-bh5ms 1/1 Running 0 22h
+rg0-0-69cdbf6b58-dx6lm 1/1 Running 0 21h
```
If any of the containers do not come up successfully, the issue is likely
that the [PONNET](ponnet.md) chart is not loaded or was not able to create
-the two Linux bridges.
+the necessary Linux bridges.
diff --git a/charts/voltha.md b/charts/voltha.md
index cf35276..0cacc64 100644
--- a/charts/voltha.md
+++ b/charts/voltha.md
@@ -1,6 +1,6 @@
# Deploy VOLTHA
-## First Time Installation
+## Prerequisites
Install the etcd-operator helm chart first. This chart provides a convenient way of creating and managing etcd clusters. When VOLTHA installs it will attempt to use etcd-operator to create its etcd cluster. Once installed etcd-operator can be left running.
@@ -8,34 +8,32 @@
helm install -n etcd-operator stable/etcd-operator --version 0.8.3
```
-Allow etcd-operator enough time to create the EtdCluster CustomResourceDefinitions. This should only be a couple of seconds after the etcd-operator pods are running. Check the CRD are ready by running the following:
+Wait for etcd-operator to create the EtdCluster CustomResourceDefinitions. This should only be a couple of seconds after the etcd-operator pods are running. Check the CRD are ready by running the following:
```shell
kubectl get crd | grep etcd
```
+## Install
+
{% include "../partials/helm/add-cord-repo.md" %}
-Then, install the VOLTHA helm chart. This will create the VOLTHA pods and will create the etcd-cluster pods.
+To install the VOLTHA helm chart:
```shell
-helm install -n voltha cord/voltha
+helm install -n voltha cord/voltha --version=1.0.6 \
+ --set etcd-cluster.clusterSize=3
```
-Allow enough time for the 3 etcd-cluster pods to start before using the VOLTHA pods.
+Allow all etcd-cluster pods to start before using VOLTHA. If not all etcd-cluster pods are starting successfully,
+you may want to try `--set etcd-cluster.clusterSize=1` above.
-## Standard Uninstall
+## Uninstall
```shell
helm delete --purge voltha
```
-## Standard Install
-
-```shell
-helm install -n voltha cord/voltha
-```
-
## Nodeports Exposed
* Voltha CLI
@@ -105,5 +103,5 @@
Then, install VOLTHA using:
```shell
-helm install -n voltha -f voltha-values.yaml cord/voltha
+helm install -n voltha -f voltha-values.yaml cord/voltha --version=1.0.6
```
diff --git a/profiles/seba/siab-with-fabric-switch.md b/profiles/seba/siab-with-fabric-switch.md
index 9305456..f4ac493 100644
--- a/profiles/seba/siab-with-fabric-switch.md
+++ b/profiles/seba/siab-with-fabric-switch.md
@@ -12,19 +12,19 @@
1. Fabric switch bringup. To bring up the fabric switch, follow the procedure [here](../../installation/fabric-setup.md) and verify the fabric switch is discovered by onos (`ssh -p 30115 onos@K8S_NODE_IP devices`).
-1. Enable EAPOL on linux-bridge `pon0` and add the physical interface on the k8node, running PONSIM-OLT to `pon1` bridge.
+1. Enable EAPOL on Linux bridge `pon0.0` and add the physical interface on the Kubernetes node running PONSIM-OLT to `nni0` bridge.
```bash
- $ sudo brctl addif pon1 ens1d1
+ $ sudo brctl addif nni0 ens1d1
$ brctl show
bridge name bridge id STP enabled interfaces
docker0 8000.02426df5adb1 no
- pon0 8000.52f6b00415e4 no veth212f887a
- veth84cbf365
- pon1 8000.0a580a170001 no veth6abcdca3
+ nni0 8000.0a580a170001 no veth6abcdca3
ens1d1
- $ echo 8 > /tmp/pon0_group_fwd_mask
- $ sudo cp /tmp/pon0_group_fwd_mask /sys/class/net/pon0/bridge/group_fwd_mask
+ pon0.0 8000.52f6b00415e4 no veth212f887a
+ veth84cbf365
+ $ echo 8 > /tmp/group_fwd_mask
+ $ sudo cp /tmp/group_fwd_mask /sys/class/net/pon0.0/bridge/group_fwd_mask
```
1. Modify `~/cord/helm-charts/xos-profiles/ponsim-pod/tosca/020-pod-olt.yaml`. Update `switch_datapath_id` to your fabric-switch dpid and `switch_port` to the port number of Fabric-switch to which the Kubernetes node running OLT is connected.
diff --git a/profiles/seba/siab.md b/profiles/seba/siab.md
index d81a26c..7e91f42 100644
--- a/profiles/seba/siab.md
+++ b/profiles/seba/siab.md
@@ -181,7 +181,7 @@
Install the `cordctl` command line tool:
```bash
-export CORDCTL_VERSION=1.1.1
+export CORDCTL_VERSION=1.1.2
export CORDCTL_PLATFORM=linux-amd64
curl -L -o /tmp/cordctl "https://github.com/opencord/cordctl/releases/download/$CORDCTL_VERSION/cordctl-$CORDCTL_PLATFORM"
sudo mv /tmp/cordctl /usr/local/bin/cordctl