diff --git a/src/test/cord-api/Tests/xos-scale-tests/utils/devices.py b/src/test/cord-api/Tests/xos-scale-tests/utils/devices.py
index fe93488..a9978c8 100644
--- a/src/test/cord-api/Tests/xos-scale-tests/utils/devices.py
+++ b/src/test/cord-api/Tests/xos-scale-tests/utils/devices.py
@@ -68,6 +68,7 @@
                 'switch_datapath_id': 'of:0000000000000001',
                 'switch_port': str(index),
                 'of_id': 'of:000000%s' % index,
+                'dp_id': 'of:000000%s' % index,
             }
             # logger.info('Created OLT %s' % olt, also_console=True)
             olts.append(olt)
@@ -102,9 +103,9 @@
 
         ports = []
         for olt in self.olts.all():
-            for index in range(1, int(num_pon) +1):
+            for index in range(1, int(num_pon) + 1):
                 port = {
-                    'name': 'Test PonPort %s' % index,
+                    'name': 'Test PonPort %s Olt %s' % (index, olt['id']),
                     'port_no': index,
                     'olt_device_id': olt['id']
                 }
@@ -216,6 +217,30 @@
             events.append(ev)
         return events
 
+    def generate_auth_events(self):
+        events = []
+        for onu in self.onus.all():
+            ev = {
+                'authenticationState': "APPROVED",
+                'deviceId': self._find_olt_by_onu(onu)['dp_id'],
+                'portNumber': self._find_uni_by_onu(onu)['port_no'],
+            }
+            events.append(ev)
+        return events
+
+    def generate_dhcp_events(self):
+        events = []
+        for onu in self.onus.all():
+            ev = {
+                'deviceId': self._find_olt_by_onu(onu)['dp_id'],
+                'portNumber': self._find_uni_by_onu(onu)['port_no'],
+                "macAddress": "aa:bb:cc:ee:ff",
+                "ipAddress": "10.10.10.10",
+                "messageType": "DHCPACK"
+            }
+            events.append(ev)
+        return events
+
 ###############################################################
 #                             HELPERS                         #
 ###############################################################
@@ -226,6 +251,7 @@
         return self.uni_ports.search(Uni.onu_device_id == onu['id'])[0]
 
     def _find_pon_port_by_onu(self, onu):
+        # this does not care about the olt id...
         PonPort = Query()
         return self.pon_ports.search(PonPort.id == onu['pon_port_id'])[0]
 
diff --git a/src/test/cord-api/Tests/xos-scale-tests/xos-scale-att-workflow.robot b/src/test/cord-api/Tests/xos-scale-tests/xos-scale-att-workflow.robot
index a2bae1a..47e7dfe 100644
--- a/src/test/cord-api/Tests/xos-scale-tests/xos-scale-att-workflow.robot
+++ b/src/test/cord-api/Tests/xos-scale-tests/xos-scale-att-workflow.robot
@@ -66,7 +66,6 @@
     \   Send Kafka Event    onu.events    ${e}
     ${start} =   Get Time
     Wait Until Keyword Succeeds    ${timeout}    5s    Validate ATT_SI Number    ${events}
-    # need to increase modelpolicy creation timeout
     Wait Until Keyword Succeeds    ${timeout}    5s    ModelPolicy completed
     ${end} =   Get Time
     Log To Console      Test started at: ${start}
@@ -74,6 +73,40 @@
     ${duration} =       Subtract Date From Date    ${end}   ${start}
     Log To Console      Test duration: ${duration}
 
+Authenticate Subscribers
+    [Documentation]    Send authentication events for all the ONUs and waits for the model_policies of ATT Workflow Driver Service Instances to have completed
+    ${events} =     Generate Auth Events
+    : FOR   ${e}  IN  @{events}
+    \   Send Kafka Event    authentication.events    ${e}
+    ${start} =   Get Time
+    Wait Until Keyword Succeeds    ${timeout}    5s    AuthCompleted
+    Wait Until Keyword Succeeds    ${timeout}    5s    ModelPolicy completed
+    # TODO validate that:
+    # - subscriber status has changed
+    # - vOLT SI have been created and policed (we can't test sync'ed without a backend)
+    # - fabric-xconnect have been created and policed (we can't test sync'ed without a backend)
+    ${end} =   Get Time
+    Log To Console      Test started at: ${start}
+    Log To Console      Test ended at: ${end}
+    ${duration} =       Subtract Date From Date    ${end}   ${start}
+    Log To Console      Test duration: ${duration}
+
+DHCP Subscribers
+    [Documentation]    Send dhcp events for all the ONUs and waits for the model_policies of ATT Workflow Driver Service Instances to have completed
+    ${events} =     Generate Dhcp Events
+    : FOR   ${e}  IN  @{events}
+    \   Send Kafka Event    dhcp.events    ${e}
+    ${start} =   Get Time
+    Wait Until Keyword Succeeds    ${timeout}    5s    DHCPCompleted
+    Wait Until Keyword Succeeds    ${timeout}    5s    ModelPolicy completed
+    # TODO validate that:
+    # - subscriber has an IP address
+    ${end} =   Get Time
+    Log To Console      Test started at: ${start}
+    Log To Console      Test ended at: ${end}
+    ${duration} =       Subtract Date From Date    ${end}   ${start}
+    Log To Console      Test duration: ${duration}
+
 
 *** Keywords ***
 
@@ -86,16 +119,33 @@
     Log To Console      ${length} Service Instances created, expecting ${total}
     Should Be Equal    ${length}    ${total}
 
-ModelPolicy completed
-    [Documentation]     Check that model_policies had run for all the items in the list
-    # TODO print something to the console to notify the user that this test is still running
+DHCPCompleted
+    [Documentation]     Check that all ATT_SI have an ip address
     ${res} =   CORD Get    /xosapi/v1/att-workflow-driver/attworkflowdriverserviceinstances
     ${jsondata} =    To Json    ${res.content}
+    Log To Console      Checking DHCP
     : FOR   ${i}  IN  @{jsondata['items']}
-    \   Should Be Equal As Integers     ${i['policy_code']}     1
-    \   Log To Console    \n Waiting for model_policies to run for all Service Instance
+    \   Should Not Be Empty     ${i['ip_address']}
+
+AuthCompleted
+    [Documentation]     Check that all ATT_SI have status=authenticated
+    ${res} =   CORD Get    /xosapi/v1/att-workflow-driver/attworkflowdriverserviceinstances
+    ${jsondata} =    To Json    ${res.content}
+    Log To Console      Checking Authentication
+    : FOR   ${i}  IN  @{jsondata['items']}
+    \   Should Be Equal     ${i['authentication_state']}     APPROVED
+
+ModelPolicy completed
+    # TODO make this method configurable to check model_policies on arbitrary models
+    [Documentation]    Check that model_policies had run for all the items in the list
+    ${res} =   CORD Get    /xosapi/v1/att-workflow-driver/attworkflowdriverserviceinstances
+    ${jsondata} =    To Json    ${res.content}
+    Log To Console      Checking ModelPolicy
+    : FOR   ${i}  IN  @{jsondata['items']}
+    \   Should Be True      ${i['policed']} >= ${i['updated']}
 
 Setup
+    # TODO remove all JSON files that a previous run may have left around
     ${target} =     Evaluate    ${num_olts} * ${num_pon_ports} * ${num_onus}
     Log     Testing with ${target} ONUs
     Log To Console      Testing with ${target} ONUs
@@ -113,6 +163,7 @@
 Teardown
     [Documentation]    Delete all models created
     Log     Teardown
+    Log To Console      Teardown
     Delete OLTs
     Delete Whitelist
     Delete ServiceInstances
@@ -136,6 +187,7 @@
     ${olts} =   Get Rest Olts
     : FOR   ${OLT}  IN  @{olts}
     \   Log     ${OLT}
+    \   Log To Console      Creating OLT ${OLT['name']}
     \   ${res} =    CORD Post   /xosapi/v1/volt/oltdevices    ${OLT}
     \   ${jsondata} =    To Json    ${res.content}
     \   Update Olt Id       ${OLT}  ${jsondata['id']}
@@ -144,6 +196,7 @@
     ${pon_ports} =   Get Rest Pon Ports
     : FOR   ${port}  IN  @{pon_ports}
     \   Log     ${port}
+    \   Log To Console      Creating PON Port ${port['name']}
     \   ${res} =    CORD Post   /xosapi/v1/volt/ponports    ${port}
     \   ${jsondata} =    To Json    ${res.content}
     \   Update Pon Port Id       ${port}  ${jsondata['id']}
@@ -152,6 +205,7 @@
     ${onus} =   Get Rest Onus
     : FOR   ${onu}  IN  @{onus}
     \   Log     ${onu}
+    \   Log To Console      Creating ONU ${onu['serial_number']}
     \   ${res} =    CORD Post   /xosapi/v1/volt/onudevices    ${onu}
     \   ${jsondata} =    To Json    ${res.content}
     \   Update Onu Id       ${onu}  ${jsondata['id']}
@@ -160,6 +214,7 @@
     ${unis} =   Get Rest Unis
     : FOR   ${uni}  IN  @{unis}
     \   Log     ${uni}
+    \   Log To Console      Creating UNI ${uni['name']}
     \   ${res} =    CORD Post   /xosapi/v1/volt/uniports    ${uni}
     \   ${jsondata} =    To Json    ${res.content}
     \   Update Uni Id       ${uni}  ${jsondata['id']}
@@ -169,6 +224,7 @@
     ${whitelist} =      Create Mock Whitelist   ${attworkflowservice_id}
     : FOR   ${e}  IN  @{whitelist}
     \   Log     ${e}
+    \   Log To Console      Creating Whitelist Entry ${e['serial_number']}
     \   ${res} =    CORD Post   /xosapi/v1/att-workflow-driver/attworkflowdriverwhitelistentries    ${e}
 
 Delete Olts
