diff options
-rw-r--r-- | .gitignore | 10 | ||||
-rw-r--r-- | apex/clean.py | 3 | ||||
-rw-r--r-- | apex/network/jumphost.py | 10 | ||||
-rw-r--r-- | apex/tests/test_apex_network_jumphost.py | 23 |
4 files changed, 32 insertions, 14 deletions
@@ -1,17 +1,11 @@ *~ *.pyc -.*.sw? -.coverage /docs_build/ /docs_output/ /releng/ -.build/ -.cache/ -ci/apex_build.log -ci/apex_deploy.log -.tox/ apex.egg-info/ /apex/tests/playbooks/*.retry coverage.xml nosetests.xml -ci/apex_clean.log +ci/*.log +.* diff --git a/apex/clean.py b/apex/clean.py index 81ae1770..9d0e648e 100644 --- a/apex/clean.py +++ b/apex/clean.py @@ -95,7 +95,7 @@ def clean_ssh_keys(key_file='/root/.ssh/authorized_keys'): def main(): clean_parser = argparse.ArgumentParser() - clean_parser.add_argument('-f', + clean_parser.add_argument('-i', dest='inv_file', required=False, default=None, @@ -134,5 +134,6 @@ def main(): logging.info('Apex clean complete!') + if __name__ == '__main__': main() diff --git a/apex/network/jumphost.py b/apex/network/jumphost.py index 2ecb7f4e..c28c105e 100644 --- a/apex/network/jumphost.py +++ b/apex/network/jumphost.py @@ -227,15 +227,14 @@ def detach_interface_from_ovs(network): orig_ifcfg_file = os.path.join(NET_CFG_PATH, "ifcfg-{}.orig".format(real_interface)) ifcfg_file = orig_ifcfg_file[:-len('.orig')] + bridge_ifcfg_file = os.path.join(NET_CFG_PATH, + "ifcfg-{}".format(bridge)) if os.path.isfile(orig_ifcfg_file): logging.debug("Original interface file found: " "{}".format(orig_ifcfg_file)) - shutil.move(orig_ifcfg_file, ifcfg_file) else: logging.info("No original ifcfg file found...will attempt to use " - "bridge icfg file and re-create") - bridge_ifcfg_file = os.path.join(NET_CFG_PATH, - "ifcfg-{}".format(bridge)) + "bridge ifcfg file and re-create") if os.path.isfile(bridge_ifcfg_file): ifcfg_params = generate_ifcfg_params(bridge_ifcfg_file, network) if_content = """DEVICE={} @@ -298,6 +297,7 @@ def remove_ovs_bridge(network): "ifcfg-{}".format(bridge)) if os.path.isfile(bridge_ifcfg_file): os.remove(bridge_ifcfg_file) - logging.debug("Bridge ifcfg file removed: {}".format) + logging.debug("Bridge ifcfg file removed: {}".format( + bridge_ifcfg_file)) else: logging.debug('Bridge ifcfg file not found') diff --git a/apex/tests/test_apex_network_jumphost.py b/apex/tests/test_apex_network_jumphost.py index a23f1c56..da9703e3 100644 --- a/apex/tests/test_apex_network_jumphost.py +++ b/apex/tests/test_apex_network_jumphost.py @@ -203,6 +203,29 @@ class TestNetworkJumpHost: os.remove(ifcfg_path) @patch('subprocess.check_call') + @patch('apex.network.jumphost.is_ovs_bridge', return_value=True) + @patch('apex.network.jumphost.dump_ovs_ports', return_value=['enpfakes0']) + def test_detach_interface_orig_exists(self, dump_ports_func, + is_bridge_func, subprocess_func): + ifcfg_dir = con.TEST_DUMMY_CONFIG + shutil.copyfile(os.path.join(ifcfg_dir, 'ifcfg-br-dummy'), + os.path.join(ifcfg_dir, 'ifcfg-br-admin')) + shutil.copyfile(os.path.join(ifcfg_dir, 'ifcfg-dummy'), + os.path.join(ifcfg_dir, 'ifcfg-enpfakes0.orig')) + jumphost.NET_CFG_PATH = ifcfg_dir + output = jumphost.detach_interface_from_ovs('admin') + assert output is None + assert os.path.isfile(os.path.join(ifcfg_dir, 'ifcfg-enpfakes0')) + assert os.path.isfile(os.path.join(ifcfg_dir, 'ifcfg-br-admin')) + assert not os.path.isfile(os.path.join(ifcfg_dir, + 'ifcfg-enpfakes0.orig')) + for ifcfg in ('ifcfg-enpfakes0', 'ifcfg-enpfakes0.orig', + 'ifcfg-br-admin'): + ifcfg_path = os.path.join(ifcfg_dir, ifcfg) + if os.path.isfile(ifcfg_path): + os.remove(ifcfg_path) + + @patch('subprocess.check_call') @patch('apex.network.jumphost.is_ovs_bridge', return_value=False) @patch('apex.network.jumphost.dump_ovs_ports', return_value=[]) def test_detach_interface_no_bridge(self, dump_ports_func, |