Do not disable ONU as result of an onu.disabled event,
save the subscriber from dhcp only if something has changed.
Change-Id: I4a97bb7fe2e08e408341aa36617709b554e9e5bb
diff --git a/Dockerfile.synchronizer b/Dockerfile.synchronizer
index 28ab55e..d9c1c4e 100644
--- a/Dockerfile.synchronizer
+++ b/Dockerfile.synchronizer
@@ -16,7 +16,7 @@
# xosproject/att-workflow-driver-synchronizer
-FROM xosproject/xos-synchronizer-base:master
+FROM xosproject/xos-synchronizer-base:2.1.4
COPY xos/synchronizer /opt/xos/synchronizers/att-workflow-driver
COPY VERSION /opt/xos/synchronizers/att-workflow-driver/
diff --git a/xos/synchronizer/event_steps/dhcp_event.py b/xos/synchronizer/event_steps/dhcp_event.py
index d6a789f..eec273d 100644
--- a/xos/synchronizer/event_steps/dhcp_event.py
+++ b/xos/synchronizer/event_steps/dhcp_event.py
@@ -47,6 +47,9 @@
# NOTE it will be better to update the SI and use the model policy to update the subscriber,
# if this fails for any reason the event is lost
- subscriber.ip_address = value["ipAddress"]
- subscriber.mac_address = value["macAddress"]
- subscriber.save()
+ if subscriber.ip_address != value["ipAddress"] or \
+ subscriber.mac_address != value["macAddress"]:
+
+ subscriber.ip_address = value["ipAddress"]
+ subscriber.mac_address = value["macAddress"]
+ subscriber.save()
diff --git a/xos/synchronizer/model_policies/model_policy_att_workflow_driver_serviceinstance.py b/xos/synchronizer/model_policies/model_policy_att_workflow_driver_serviceinstance.py
index a664dcd..fb8a9d6 100644
--- a/xos/synchronizer/model_policies/model_policy_att_workflow_driver_serviceinstance.py
+++ b/xos/synchronizer/model_policies/model_policy_att_workflow_driver_serviceinstance.py
@@ -44,9 +44,6 @@
# we validate the ONU state only if it is enabled or awaiting,
# if it's disabled it means someone has disabled it
self.validate_onu_state(si)
- else:
- # but we still verify that the device is actually down
- self.update_onu(si.serial_number, "DISABLED")
# handling the subscriber status
subscriber = self.get_subscriber(si.serial_number)