From 084094bb2741f8e89f9d15d8e352a979417bfee3 Mon Sep 17 00:00:00 2001 From: Pim van Pelt Date: Sat, 26 Mar 2022 22:45:52 +0000 Subject: [PATCH] Add get_bvis() plus unittest --- config/bridgedomain.py | 11 +++++++++++ config/test_bridgedomain.py | 7 +++++++ 2 files changed, 18 insertions(+) diff --git a/config/bridgedomain.py b/config/bridgedomain.py index 4c2f313..6c1f3df 100644 --- a/config/bridgedomain.py +++ b/config/bridgedomain.py @@ -16,6 +16,17 @@ import config.interface as interface import config.lcp as lcp import config.address as address +def get_bvis(yaml): + """ Return a list of all bridgedomains which have an LCP (ie bvi*). """ + ret = [] + if not 'bridgedomains' in yaml: + return ret + for ifname, iface in yaml['bridgedomains'].items(): + if 'lcp' in iface: + instance = int(ifname[2:]) + ret.append("bvi%d" % instance) + return ret + def get_bridgedomains(yaml): """ Return a list of all bridgedomains. """ ret = [] diff --git a/config/test_bridgedomain.py b/config/test_bridgedomain.py index c5f14f1..0f66414 100644 --- a/config/test_bridgedomain.py +++ b/config/test_bridgedomain.py @@ -74,3 +74,10 @@ class TestBridgeDomainMethods(unittest.TestCase): def test_get_bridgedomains(self): ifs = bridgedomain.get_bridgedomains(self.cfg) self.assertEqual(len(ifs), 3) + + def test_get_bvis(self): + ifs = bridgedomain.get_bvis(self.cfg) + self.assertEqual(len(ifs), 2) + self.assertNotIn("bvi10", ifs) + self.assertIn("bvi11", ifs) + self.assertIn("bvi12", ifs)