From 54ebaf3ef02be61b2a5e73ed273b04ae437375b7 Mon Sep 17 00:00:00 2001 From: Roopa Prabhu Date: Thu, 28 Jul 2016 22:55:50 -0700 Subject: [PATCH] ifupdown: scheduler: add dependency debug dump function Signed-off-by: Roopa Prabhu --- ifupdown/scheduler.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/ifupdown/scheduler.py b/ifupdown/scheduler.py index 09ac1a6..c79278f 100644 --- a/ifupdown/scheduler.py +++ b/ifupdown/scheduler.py @@ -411,6 +411,23 @@ class ifaceScheduler(): if continueonfailure: ifupdownobj.logger.warn('%s' %str(e)) + @classmethod + def _dump_dependency_info(cls, ifupdownobj, ifacenames, + dependency_graph=None, indegrees=None): + ifupdownobj.logger.info('{\n') + ifupdownobj.logger.info('\nifaceobjs:') + for iname in ifacenames: + iobjs = ifupdownobj.get_ifaceobjs(iname) + for iobj in iobjs: + iobj.dump(ifupdownobj.logger) + if (dependency_graph): + ifupdownobj.logger.info('\nDependency Graph:') + ifupdownobj.logger.info(dependency_graph) + if (indegrees): + ifupdownobj.logger.info('\nIndegrees:') + ifupdownobj.logger.info(indegrees) + ifupdownobj.logger.info('}\n') + @classmethod def get_sorted_iface_list(cls, ifupdownobj, ifacenames, ops, dependency_graph, indegrees=None): @@ -421,6 +438,10 @@ class ifaceScheduler(): indegrees = OrderedDict() for ifacename in dependency_graph.keys(): indegrees[ifacename] = ifupdownobj.get_iface_refcnt(ifacename) + + #cls._dump_dependency_info(ifupdownobj, ifacenames, + # dependency_graph, indegrees) + ifacenames_all_sorted = graph.topological_sort_graphs_all( dependency_graph, indegrees) # if ALL was set, return all interfaces