diff --git a/os_net_config/impl_ifcfg.py b/os_net_config/impl_ifcfg.py index dfbf889c..c871296c 100644 --- a/os_net_config/impl_ifcfg.py +++ b/os_net_config/impl_ifcfg.py @@ -57,13 +57,13 @@ class IfcfgNetConfig(os_net_config.NetConfig): logger.info('Ifcfg net config provider created.') def child_members(self, name): - children = [] + children = set() try: for member in self.member_names[name]: - #children.append(member) - children.extend(self.child_members(member)) + children.add(member) + children.update(self.child_members(member)) except KeyError: - children.append(name) + children.add(name) return children def _add_common(self, base_opt): diff --git a/os_net_config/tests/test_cli.py b/os_net_config/tests/test_cli.py index 505301cf..6c13068a 100644 --- a/os_net_config/tests/test_cli.py +++ b/os_net_config/tests/test_cli.py @@ -49,8 +49,10 @@ class TestCli(base.TestCase): def test_bond_noop_output(self): bond_yaml = os.path.join(SAMPLE_BASE, 'bond.yaml') bond_json = os.path.join(SAMPLE_BASE, 'bond.json') - stdout_yaml, stderr = self.run_cli('ARG0 -d --noop -c %s' % bond_yaml) - stdout_json, stderr = self.run_cli('ARG0 -d --noop -c %s' % bond_json) + stdout_yaml, stderr = self.run_cli('ARG0 -d --provider=ifcfg --noop ' + '-c %s' % bond_yaml) + stdout_json, stderr = self.run_cli('ARG0 -d --provider=ifcfg --noop ' + '-c %s' % bond_json) self.assertEqual(stdout_yaml, stdout_json) def test_bridge_noop_output(self):