From b61913b50ea99bcc9108915458ccc6b7aaf5091c Mon Sep 17 00:00:00 2001 From: Roopa Prabhu Date: Thu, 4 Aug 2016 09:03:00 -0700 Subject: [PATCH] addons: vlan: fix checking of vlan device in query-running Ticket: CM-11804 Reviewed By: julien, nikhil Testing Done: Tested with failing config in the bug This patch makes sure macvlan devices are ignored by ifquery -ra Signed-off-by: Roopa Prabhu --- addons/vlan.py | 4 ++-- ifupdown/ifupdownmain.py | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/addons/vlan.py b/addons/vlan.py index 111d432..fff1d07 100644 --- a/addons/vlan.py +++ b/addons/vlan.py @@ -188,12 +188,12 @@ class vlan(moduleBase): def _query_running(self, ifaceobjrunning): if not self.ipcmd.link_exists(ifaceobjrunning.name): return - if not self.ipcmd.get_vlandev_attrs(ifaceobjrunning.name): + (vlanrawdev, vlanid) = self.ipcmd.get_vlandev_attrs(ifaceobjrunning.name) + if not vlanid: return # If vlan name is not in the dot format, get the # vlan dev and vlan id if not '.' in ifaceobjrunning.name: - (vlanrawdev, vlanid) = self.ipcmd.get_vlandev_attrs(ifaceobjrunning.name) ifaceobjrunning.update_config_dict({(k, v) for k, v in {'vlan-raw-device' : vlanrawdev, 'vlan-id' : vlanid}.items() diff --git a/ifupdown/ifupdownmain.py b/ifupdown/ifupdownmain.py index dd2ac06..70b7d2a 100644 --- a/ifupdown/ifupdownmain.py +++ b/ifupdown/ifupdownmain.py @@ -2049,7 +2049,9 @@ class ifupdownMain(ifupdownBase): for i in ifacenames: for ifaceobj in self.get_ifaceobjs(i): if ((not running and self.is_ifaceobj_noconfig(ifaceobj)) or - (running and not ifaceobj.is_config_present())): + (running and not ifaceobj.is_config_present() and + not self.is_iface_builtin_byname(i) and + not ifaceobj.upperifaces)): continue ifaceobjs.append(ifaceobj) if (ifupdownflags.flags.WITH_DEPENDS and