Once all the components needed for the R-CORD 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 you will need to create your own, but the following can serve as a reference:
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 description: Configures a full R-CORD POD topology_template: node_templates: # Fabric configuration switch#my_fabric_switch: type: tosca.nodes.Switch properties: driver: ofdpa3 ipv4Loopback: 192.168.0.201 ipv4NodeSid: 17 isEdgeRouter: True name: my_fabric_switch ofId: of:0000000000000001 routerMac: 00:00:02:01:06:01 # Setup the OLT switch port port#olt_port: type: tosca.nodes.SwitchPort properties: portId: 1 host_learning: false requirements: - switch: node: switch#my_fabric_switch 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: type: tosca.nodes.SwitchPort properties: portId: 31 requirements: - switch: node: switch#my_fabric_switch relationship: tosca.relationships.BelongsToOne # Setup the fabric switch port interface where the # external router is connected to interface#vrouter_interface: type: tosca.nodes.PortInterface properties: name: vrouter_interface vlanUntagged: 40 ips: 10.231.254.2/29 requirements: - port: node: port#vrouter_port relationship: tosca.relationships.BelongsToOne # Add a vRouter (ONOS) vrouter#my_vrouter: type: tosca.nodes.VRouterServiceInstance properties: name: my_vrouter # 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 # Setup the OLT service 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 device_type: openolt host: 10.90.0.114 port: 9191 switch_datapath_id: of:0000000000000001 switch_port: "1" outer_tpid: "0x8100" uplink: "128" requirements: - volt_service: node: service#volt relationship: tosca.relationships.BelongsToOne
For instructions on how to push TOSCA into a CORD POD, please refer to this guide.
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.)
To create a subscriber, you need to retrieve some information:
Once your POD is set up and the OLT has been pushed and activated in VOLTHA, XOS will discover the ONUs available in the system.
You can find them through:
vOLT > ONUDevices
http://<pod-id>:<chameleon-port|30006>/xosapi/v1/volt/onudevices
If you are connected to the VOLTHA CLI you can use the following command to list all the existing devices:
(voltha) devices Devices: +------------------+--------------+------+------------------+-------------+-------------+----------------+----------------+------------------+----------+-------------------------+----------------------+------------------------------+ | id | type | root | parent_id | admin_state | oper_status | connect_status | parent_port_no | host_and_port | vendor_id| proxy_address.device_id | proxy_address.onu_id | proxy_address.onu_session_id | +------------------+--------------+------+------------------+-------------+-------------+----------------+----------------+------------------+----------+-------------------------+----------------------+------------------------------+ | 0001941bd45e71d8 | openolt | True | 000100000a5a0072 | ENABLED | ACTIVE | REACHABLE | | 10.90.0.114:9191 | | | | | | 00015698e67dc060 | broadcom_onu | True | 0001941bd45e71d8 | ENABLED | ACTIVE | REACHABLE | 536870912 | | BRCM| 0001941bd45e71d8 | 1 | 1 | +------------------+--------------+------+------------------+-------------+-------------+----------------+----------------+------------------+----------+-------------------------+----------------------+------------------------------+
Locate the correct ONU, then:
(voltha) device 00015698e67dc060 (device 00015698e67dc060) show Device 00015698e67dc060 +------------------------------+------------------+ | field | value | +------------------------------+------------------+ | id | 00015698e67dc060 | | type | broadcom_onu | | root | True | | parent_id | 0001941bd45e71d8 | | vendor | Broadcom | | model | n/a | | hardware_version | to be filled | | firmware_version | to be filled | | images.image | 1 item(s) | | serial_number | BRCM22222222 | +------------------------------+------------------+ | adapter | broadcom_onu | | admin_state | 3 | | oper_status | 4 | | connect_status | 2 | | proxy_address.device_id | 0001941bd45e71d8 | | proxy_address.onu_id | 1 | | proxy_address.onu_session_id | 1 | | parent_port_no | 536870912 | | vendor_id | BRCM | | ports | 2 item(s) | +------------------------------+------------------+ | flows.items | 5 item(s) | +------------------------------+------------------+
to find the correct serial number.
Once you have this information, you can create the subscriber by customizing the following TOSCA and passing it into the POD:
tosca_definitions_version: tosca_simple_yaml_1_0 imports: - custom_types/rcordsubscriber.yaml description: Create a test subscriber topology_template: node_templates: # A subscriber my_house: type: tosca.nodes.RCORDSubscriber properties: name: My House c_tag: 111 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 refer to this guide.