commit | 0d631eb2e283141a2bf1861132d130f5b9712ed8 | [log] [tgz] |
---|---|---|
author | Andy Bavier <andy@onlab.us> | Wed Oct 17 18:05:04 2018 -0700 |
committer | Andy Bavier <andy@onlab.us> | Thu Oct 18 18:40:55 2018 -0700 |
tree | 6e7ecf4aaa35f9575dcb849bf21b6263856d25bc | |
parent | 4fed289a719dd457b9d73d1d01edd7a661fab61b [diff] |
SEBA-301 Only save changed state Change-Id: I177e2d6eee878551cc2236deabfddc920a553868
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" }