Before auto-discovery is implemented, you can follow the steps below to activate a Maple PON. These steps assume:
cd ~/voltha . env.sh docker-compose -f compose/docker-compose-system-test.yml up -d \ consul zookeeper kafka fluentd registrator shovel grafana
cd ~/voltha . env.sh ./voltha/main.py --kafka=@kafka
cd ~/voltha . env.sh ./chamaleon/main.py -f pki/voltha.crt -k pki/voltha.key
In a third terminal, issue the following REST requests:
curl -k -s https://localhost:8881/api/v1/local/adapters | jq
This should list (among other entries) two entries for Broadcom devices: one for the Maple OLT and one for the Broadcom ONU.
The following request should show the device types supported:
curl -k -s https://localhost:8881/api/v1/local/device_types | jq
This should include two entries for Broadcom devices, one for the OLT and one for the ONU.
Issue the following command to pre-provision the Maple OLT:
curl -k -s -X POST -d '{"type": "maple_olt", "ipv4_address": "111.111.111.111"}' \ https://localhost:8881/api/v1/local/devices | jq '.' | tee olt.json
This shall return with a complete Device JSON object, including a 12-character id of the new device and a preprovisioned state as admin state (it also saved the json blob in a olt.json file):
{ "vendor": "", "software_version": "", "parent_port_no": 0, "connect_status": "UNKNOWN", "root": false, "adapter": "tibit_olt", "vlan": 0, "hardware_version": "", "ports": [], "parent_id": "", "oper_status": "UNKNOWN", "admin_state": "PREPROVISIONED", "mac_address": "00:00:00:00:00:01", "serial_number": "", "model": "", "type": "maple_olt", "id": "2db8e16804ec", "firmware_version": "" }
For simplicity, store the device id as shell variable:
OLT_ID=$(jq .id olt.json | sed 's/"//g')
To activate the OLT, issue the following using the OLT_ID memorized above:
curl -k -s -X POST https://localhost:8881/api/v1/local/devices/$OLT_ID/activate
After this, if you retrieve the state of the OLT device, it should be enabled and in the 'ACTIVATING' operational status:
curl -k -s https://localhost:8881/api/v1/local/devices/$OLT_ID | jq '.oper_status,.admin_state' "ACTIVATING" "ENABLED"
When the device is ACTIVE, the logical devices and logical ports should be created. To check the logical devices and logical ports, use the following commands.
curl -k -s https://localhost:8881/api/v1/local/logical_devices | jq '.' # Note: Need to pull out logical device id. curl -k -s https://localhost:8881/api/v1/local/logical_devices/47d2bb42a2c6/ports | jq '.'
[This will be moved to some other place soon.]
To get the EOAM stack to work with the ONOS olt-test, the following command was used in the shell to launch the olt-test.
NOTE: This command should soon be eliminated as the adapter should be started by VOLTHA. By running the commands as listed below, then the olt-test can take advantage of the virtual environment.
$ cd <LOCATION_OF_VOLTHA> $ sudo -s # . ./env.sh (venv-linux) # PYTHONPATH=$HOME/dev/voltha/voltha/adapters/tibit ./oftest/oft --test-dir=olt-oftest/ -i 1@enp1s0f0 -i 2@enp1s0f1 --port 6653 -V 1.3 -t "olt_port=1;onu_port=2;in_out_port=1;device_type='tibit'" olt-complex.TestScenario1SingleOnu