Updating the installation guide
Change-Id: Ic30dd64f4a7e7ccf31dd9eb9cc91eff9ac96495e
diff --git a/SUMMARY.md b/SUMMARY.md
index 2b4143b..c9bb961 100644
--- a/SUMMARY.md
+++ b/SUMMARY.md
@@ -111,7 +111,7 @@
* [ONOS](charts/onos.md)
* [VOLTHA](charts/voltha.md)
* [Kafka](charts/kafka.md)
- * [Hippie OSS](charts/hippie-oss.md)
+ * [Base Kubernetes](charts/base-kubernetes.md)
* [Base OpenStack](charts/base-openstack.md)
* [VTN Setup](prereqs/vtn-setup.md)
* [R-CORD](charts/rcord.md)
diff --git a/charts/base-kubernetes.md b/charts/base-kubernetes.md
new file mode 100644
index 0000000..efe12f9
--- /dev/null
+++ b/charts/base-kubernetes.md
@@ -0,0 +1,10 @@
+# Base Kubernets
+
+This chart contains all the XOS services that interacts with Kubernetes.
+
+You can install it using:
+
+```bash
+helm dep update xos-profiles/base-kubernetes
+helm install -n base-kubernetes xos-profiles/base-kubernetes/
+```
\ No newline at end of file
diff --git a/charts/hippie-oss.md b/charts/hippie-oss.md
deleted file mode 100644
index 7afdb4c..0000000
--- a/charts/hippie-oss.md
+++ /dev/null
@@ -1,8 +0,0 @@
-# Deploy Hippie OSS
-
-To insall a minimal (permissive) OSS container in support of subscriber
-provisioning for R-CORD, run the following:
-
-```shell
-helm install -n hippie-oss xos-services/hippie-oss
-```
diff --git a/developer/configuration_rcord.md b/developer/configuration_rcord.md
index ceb4200..b1ea813 100644
--- a/developer/configuration_rcord.md
+++ b/developer/configuration_rcord.md
@@ -1,5 +1,7 @@
# Working on R-CORD Without an OLT/ONU
+> OUTDATED!!!
+
This section describes a developer workflow that works in scenarios
where you do not have a real OLT or ONU. It combines steps from
the "bottom-up" and "top-down" subscriber provisioning sequences
@@ -59,10 +61,6 @@
~
```
-- Deploy `kafka` as described in [these instructions](../charts/kafka.md).
-
-- Deploy `hippie-oss` as described in [these instructions](../charts/hippie-oss.md).
-
## Push "onu-event" to Kafka
The following event needs to be pushed manually.
diff --git a/platform.md b/platform.md
index 46b4851..f66fc1b 100644
--- a/platform.md
+++ b/platform.md
@@ -1,24 +1,24 @@
# Install Platform
Once the prerequisites have been met, the next step to installing CORD is
-to bring up the Helm charts for the platform components. This includes the
-following steps:
+to bring up the Helm charts for the platform components.
-## Install ONOS
+## CORD Platform as a whole
-Install [onos](./charts/onos.md#onos-manages-fabric--voltha).
-It will manage the fabric infrastructure.
+To install the CORD Platform you can use the corresponding chart:
-## Install XOS
+```shell
+helm install -n cord-platform cord/cord-platform --version=6.1.0
+```
-Install [xos-core](./charts/xos-core.md). It will orchestrate the services.
+## CORD Platform as separate components
-## Install Kafka
+The main reason to install the CORD Platform by installing its standalone components
+is if you're developing on it and you need granular control.
-Install [cord-kafka](./charts/kafka.md). It will implement a shared
-message bus.
+There are the components included in the `cord-platform` chart:
-## Install Logging and Monitoring
-
-Install [loggin-monitoring](./charts/logging-monitoring.md). Log and monitor
-events in the POD.
+- [ONOS](./charts/onos.md#onos-manages-fabric--voltha)
+- [xos-core](./charts/xos-core.md)
+- [cord-kafka](./charts/kafka.md)
+- [logging-monitoring](./charts/logging-monitoring.md)
diff --git a/profiles/seba/configuration.md b/profiles/seba/configuration.md
index 8a2a271..a98975c 100644
--- a/profiles/seba/configuration.md
+++ b/profiles/seba/configuration.md
@@ -2,34 +2,48 @@
Once all the components needed for the SEBA profile are up and
running on your POD, you will need to configure it. This is typically
-done using TOSCA. This configuration is environment specific, so
+done using TOSCA.
+
+In this page we are describing the process as a three steps process:
+
+- [Fabric Setup](./configuration.md#fabric-setup)
+- [OLT Provisioning](./configuration.md#olt-provisioning)
+- [Subscriber Provisioning](./configuration.md#subscriber-provisioning)
+
+as that is what logically makes sense, but be aware that all the configurations
+can be unified in a single TOSCA file.
+
+This configuration is environment specific, so
you will need to create your own, but the following can serve as a
reference:
+## Fabric Setup
+
```yaml
tosca_definitions_version: tosca_simple_yaml_1_0
imports:
- - custom_types/oltdevice.yaml
- custom_types/switch.yaml
- custom_types/switchport.yaml
- custom_types/portinterface.yaml
- - custom_types/voltservice.yaml
- - custom_types/vrouterserviceinstance.yaml
- - custom_types/vrouterstaticroute.yaml
+ - custom_types/bngportmapping.yaml
+ - custom_types/attworkflowdriverwhitelistentry.yaml
+ - custom_types/attworkflowdriverservice.yaml
+ - custom_types/serviceinstanceattribute.yaml
+ - custom_types/onosapp.yaml
description: Configures a full SEBA POD
topology_template:
node_templates:
# Fabric configuration
- switch#my_fabric_switch:
+ switch#leaf_1:
type: tosca.nodes.Switch
properties:
driver: ofdpa3
ipv4Loopback: 192.168.0.201
ipv4NodeSid: 17
isEdgeRouter: True
- name: my_fabric_switch
+ name: AGG_SWITCH
ofId: of:0000000000000001
routerMac: 00:00:02:01:06:01
@@ -41,80 +55,85 @@
host_learning: false
requirements:
- switch:
- node: switch#my_fabric_switch
+ node: switch#leaf_1
relationship: tosca.relationships.BelongsToOne
- # Setup the OLT switch port interface
- interface#olt_interface:
- type: tosca.nodes.PortInterface
- properties:
- ips: 192.168.0.254/24
- name: olt_interface
- requirements:
- - port:
- node: port#olt_port
- relationship: tosca.relationships.BelongsToOne
-
- # Setup the fabric switch port where the external
- # router is connected to
- port#vrouter_port:
+ # Port connected to the BNG
+ port#bng_port:
type: tosca.nodes.SwitchPort
properties:
portId: 31
requirements:
- switch:
- node: switch#my_fabric_switch
+ node: switch#leaf_1
relationship: tosca.relationships.BelongsToOne
- # Setup the fabric switch port interface where the
- # external router is connected to
- interface#vrouter_interface:
- type: tosca.nodes.PortInterface
+ # Setup the fabric switch port where the external
+ # router is connected to
+ bngmapping:
+ type: tosca.nodes.BNGPortMapping
properties:
- name: vrouter_interface
- vlanUntagged: 40
- ips: 10.231.254.2/29
+ s_tag: any
+ switch_port: 31
+
+ # DHCP L2 Relay config
+ onos_app#dhcpl2relay:
+ type: tosca.nodes.ONOSApp
+ properties:
+ name: dhcpl2relay
+ must-exist: true
+
+ dhcpl2relay-config-attr:
+ type: tosca.nodes.ServiceInstanceAttribute
+ properties:
+ name: /onos/v1/network/configuration/apps/org.opencord.dhcpl2relay
+ value: >
+ {
+ "dhcpl2relay" : {
+ "useOltUplinkForServerPktInOut" : false,
+ "dhcpServerConnectPoints" : [ "of:0000000000000001/31" ]
+ }
+ }
requirements:
- - port:
- node: port#vrouter_port
+ - service_instance:
+ node: onos_app#dhcpl2relay
relationship: tosca.relationships.BelongsToOne
+```
- # Add a vRouter (ONOS)
- vrouter#my_vrouter:
- type: tosca.nodes.VRouterServiceInstance
- properties:
- name: my_vrouter
+For instructions on how to push TOSCA into a CORD POD, please
+refer to this [guide](../../xos-tosca/README.md).
- # Add a static route to the vRouter (ONOS)
- route#my_route:
- type: tosca.nodes.VRouterStaticRoute
- properties:
- prefix: "0.0.0.0/0"
- next_hop: "10.231.254.1"
- requirements:
- - vrouter:
- node: vrouter#my_vrouter
- relationship: tosca.relationships.BelongsToOne
+## OLT Provisioning
- # Setup the OLT service
+```yaml
+tosca_definitions_version: tosca_simple_yaml_1_0
+imports:
+ - custom_types/oltdevice.yaml
+ - custom_types/onudevice.yaml
+ - custom_types/voltservice.yaml
+description: Create an OLT Device in VOLTHA
+topology_template:
+ node_templates:
+
service#volt:
type: tosca.nodes.VOLTService
properties:
name: volt
must-exist: true
- # Setup the OLT device
olt_device:
type: tosca.nodes.OLTDevice
properties:
- name: volt-1
+ name: My OLT
device_type: openolt
- host: 10.90.0.114
+ host: 10.90.0.122
port: 9191
- switch_datapath_id: of:0000000000000001
- switch_port: "1"
+ switch_datapath_id: of:0000000000000002 # the openflow switch to with the OLT is connected
+ switch_port: "1" # the port on the switch on which the OLT is connected
outer_tpid: "0x8100"
- uplink: "128"
+ uplink: "65536"
+ nas_id: "NAS_ID"
+ serial_number: "10.90.0.122:9191"
requirements:
- volt_service:
node: service#volt
@@ -124,17 +143,12 @@
For instructions on how to push TOSCA into a CORD POD, please
refer to this [guide](../../xos-tosca/README.md).
-## Top-Down Subscriber Provisioning
+## Subscriber Provisioning
-Once the POD has been configured, you can create a subscriber. This
-section describes a "top-down" approach for doing that. (The following
-section describes an alternative, "bottom up" approach.)
+Once the POD has been configured, you can create a subscriber.
-To create a subscriber, you need to retrieve some information:
-
-- ONU Serial Number
-- Mac Address
-- IP Address
+To create a subscriber, you'll need to know the serial number of the ONU it is
+attached to.
### Find ONU Serial Number
@@ -216,9 +230,8 @@
properties:
name: My House
c_tag: 111
+ s_tag: 222
onu_device: BRCM1234 # Serial Number of the ONU Device to which this subscriber is connected
- mac_address: 00:AA:00:00:00:01 # subscriber mac address
- ip_address: 10.8.2.1 # subscriber IP
```
For instructions on how to push TOSCA into a CORD POD, please
diff --git a/profiles/seba/install.md b/profiles/seba/install.md
index f37dcbc..c3c8dc8 100644
--- a/profiles/seba/install.md
+++ b/profiles/seba/install.md
@@ -4,12 +4,25 @@
bring up the SEBA profile. It assumes the Platform has already been
installed.
-## Install VOLTHA
+## Installing SEBA
-Install [voltha](../../charts/voltha.md).
-It will manage the OLT devices.
+In order to run SEBA you need to have the [CORD Platform](../../platform.md) installed.
-## Install Seba-Services
+### SEBA as a whole
-Install [seba-services](../../charts/seba-services.md).
-This will run all the XOS services necessary to manage the data plane.
+To install the SEBA Profile you can use the corresponding chart:
+
+```shell
+helm install -n seba cord/seba --version=1.0.0
+```
+
+### SEBA as separate components
+
+The main reason to install the SEBA Profile by installing its standalone
+components is if you're developing on it and you need granular control.
+
+There are the components included in the `seba` chart:
+
+- [VOLTHA and etcd-operator](../../charts/voltha.md)
+- [seba-services](../../charts/seba-services.md)
+- [base-kubernetes](../../charts/base-kubernetes.md)
diff --git a/profiles/seba/workflows/att-install.md b/profiles/seba/workflows/att-install.md
index c3a77ae..4b86649 100644
--- a/profiles/seba/workflows/att-install.md
+++ b/profiles/seba/workflows/att-install.md
@@ -5,10 +5,13 @@
## Install the `att-workflow` chart
```shell
-helm dep update xos-profiles/att-workflow
-helm install -n att-workflow xos-profiles/att-workflow
+helm install -n att-workflow cord/att-workflow --version=1.0.0
```
+> NOTE: if you have installed the `cord-platform` chart as a sum of its components,
+> then you need to specify `--set att-workflow-driver.kafkaService=cord-kafka`
+> during the installation command to match the name of the kafka service.
+
## Workflow description
1. ONT discovered bottom-up