[VOL-1036] Device management implementation. This update includes
the the ability to reboot and delete a device. It contains changes
to both the Go Core and the Twisted ponsim adapters.
Change-Id: I15539827c654d7186cdae3300a107ffc8e921756
diff --git a/adapters/kafka/adapter_request_facade.py b/adapters/kafka/adapter_request_facade.py
index 2517a31..f4898a3 100644
--- a/adapters/kafka/adapter_request_facade.py
+++ b/adapters/kafka/adapter_request_facade.py
@@ -156,10 +156,12 @@
return self.adapter.self_test_device(device)
def delete_device(self, device):
- # Remove all child devices
- self.delete_all_child_devices(device.id)
-
- return self.adapter.delete_device(device)
+ d = Device()
+ if device:
+ device.Unpack(d)
+ return (True, self.adapter.delete_device(d))
+ else:
+ return (False, d)
def get_device_details(self, device):
return self.adapter.get_device_details(device)
diff --git a/adapters/kafka/core_proxy.py b/adapters/kafka/core_proxy.py
index 32a4c9d..512262f 100644
--- a/adapters/kafka/core_proxy.py
+++ b/adapters/kafka/core_proxy.py
@@ -259,6 +259,31 @@
connect_status=c_status)
returnValue(res)
+
+ @wrap_request(None)
+ @inlineCallbacks
+ def children_state_update(self, device_id,
+ oper_status=None,
+ connect_status=None):
+ id = ID()
+ id.id = device_id
+ o_status = IntType()
+ if oper_status or oper_status==OperStatus.UNKNOWN:
+ o_status.val = oper_status
+ else:
+ o_status.val = -1
+ c_status = IntType()
+ if connect_status or connect_status==ConnectStatus.UNKNOWN:
+ c_status.val = connect_status
+ else:
+ c_status.val = -1
+
+ res = yield self.invoke(rpc="ChildrenStateUpdate",
+ device_id=id,
+ oper_status=o_status,
+ connect_status=c_status)
+ returnValue(res)
+
@wrap_request(None)
@inlineCallbacks
def port_state_update(self,