For device updates from namespaces the netns argument is passed to device_created
method.
Signed-off-by: Jan Tluka <jtluka(a)redhat.com>
---
lnst/Controller/Machine.py | 2 +-
lnst/Controller/MessageDispatcher.py | 6 +++++-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/lnst/Controller/Machine.py b/lnst/Controller/Machine.py
index a0f2be0e..b962dcba 100644
--- a/lnst/Controller/Machine.py
+++ b/lnst/Controller/Machine.py
@@ -179,7 +179,7 @@ class Machine(object):
def remote_device_getattr(self, index, attr_name, netns):
return self.rpc_call("dev_getattr", index, attr_name, netns=netns)
- def device_created(self, dev_data):
+ def device_created(self, dev_data, netns=None):
ifindex = dev_data["ifindex"]
if ifindex not in self._device_database:
new_dev = None
diff --git a/lnst/Controller/MessageDispatcher.py b/lnst/Controller/MessageDispatcher.py
index d2dc6134..9a703c7c 100644
--- a/lnst/Controller/MessageDispatcher.py
+++ b/lnst/Controller/MessageDispatcher.py
@@ -197,7 +197,11 @@ class MessageDispatcher(ConnectionHandler):
logging.debug(msg)
elif message[1]["type"] == "dev_created":
machine = self._machines[message[0]]
- machine.device_created(message[1]["dev_data"])
+ try:
+ netns = message[1]["netns"]
+ except KeyError:
+ netns = None
+ machine.device_created(message[1]["dev_data"], netns)
elif message[1]["type"] == "dev_deleted":
machine = self._machines[message[0]]
machine.device_delete(message[1])
--
2.26.3