commit | 507a2a082935d21b6ffb12aa877f644c09fd8eac | [log] [tgz] |
---|---|---|
author | Matteo Scandolo <teo@opennetworking.org> | Mon Sep 17 15:08:25 2018 -0700 |
committer | Matteo Scandolo <teo@opennetworking.org> | Tue Sep 18 13:53:22 2018 -0700 |
tree | 1199fc6b6af4bae34eda2a3cecf078b337398755 | |
parent | c6ac74aed0b5a6b3677162c4fd081d0a884a84d9 [diff] |
Do not disable ONU as result of an onu.disabled event, save the subscriber from dhcp only if something has changed. Change-Id: I4a97bb7fe2e08e408341aa36617709b554e9e5bb
This service implements the ONU and Subscriber management logic required by AT&T. It's also a good start if you need to implement a different logic to suit your use-case.
NOTE: This service depends on RCORDSubscriber and ONUDevice so make sure that the
rcord-synchronizer
andvolt-synchronzier
are running
Make sure you have xos-core
, rcord-lite
and kafka
running.
To install from master:
helm install -n att-workflow xos-services/att-workflow-driver/
To install from the local docker
daemon in minikube:
helm install -n att-workflow xos-services/att-workflow-driver/ -f examples/image-tag-candidate.yaml -f examples/imagePullPolicy-IfNotPresent.yaml
Topic | Event | Actions | ONU State | Subscriber State | Message |
---|---|---|---|---|---|
onu.events | status: activated | Validate against whitelist (successful) | enabled | awaiting-auth | ONU has been validated |
onu.events | status: activated | Validate against whitelist (failed, missing) | disabled | awaiting-auth | ONU not found in whitelist |
onu.events | status: activated | Validate against whitelist (failed, location) | disabled | awaiting-auth | ONU activated in wrong location |
onu.events | status: disabled | Mark ONU as disabled and revoke subscriber authentication | disabled | awaiting-auth | ONU has been disabled, revoked subscriber authentication |
authentication.events | authenticationState: STARTED | Update subscriber status | enabled | awaiting-auth | Authentication started |
authentication.events | authenticationState: REQUESTED | Update subscriber status | enabled | awaiting-auth | Authentication requested |
authentication.events | authenticationState: APPROVED | Update subscriber status | enabled | enabled | Authentication succeded |
authentication.events | authenticationState: DENIED | Update subscriber status | enabled | auth-failed | Authentication denied |
dhcp.events | -- | Update subscriber ip and mac address | enabled | enabled | DHCP information added |
This events are generated by various applications running on top of ONOS and published on a Kafka bus. Here is the structure of the events and their topics.
{ "timestamp": "2018-09-11T01:00:49.506Z", "status": "activated", // or disabled "serial_number": "ALPHe3d1cfde", // ONU serial number "uni_port_id": 16, // uni port "of_dpid": "of:000000000a5a0072" // OLT OpenFlow Id }
{ "timestamp": "2018-09-11T00:41:47.483Z", "deviceId": "of:000000000a5a0072", // OLT OpenFlow Id "portNumber": "16", // uni port "authenticationState": "STARTED" // REQUESTED, APPROVED, DENIED }
{ "deviceId" : "of:000000000a5a0072", "portNumber" : "16", "macAddress" : "90:e2:ba:82:fa:81", "ipAddress" : "10.11.1.1" }