From 2932812260b57e7f67cef655ee2e043bf66b4887 Mon Sep 17 00:00:00 2001 From: liyuenan Date: Tue, 14 Mar 2017 15:55:08 +0800 Subject: Support bond created JIRA: - You can add bond according to deploy/conf/network_cfg.yaml. Change-Id: I70f2f03581cf763dbaf7a8a47bdbd46b66620fcb Signed-off-by: liyuenan --- deploy/bonding.py | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 deploy/bonding.py (limited to 'deploy/bonding.py') diff --git a/deploy/bonding.py b/deploy/bonding.py new file mode 100644 index 00000000..27e76daa --- /dev/null +++ b/deploy/bonding.py @@ -0,0 +1,41 @@ +import os +import sys +import yaml + + +def exec_cmd(cmd): + print cmd + os.system(cmd) + + +def create_bonding(network_info, rsa_file, compass_ip): + for bond in network_info['bond_mappings']: + bond_name = bond['name'] + host_name = bond.get('host') + interfaces = bond.get('bond-slaves') + bond_mode = bond['bond-mode'] + bond_miimon = bond['bond-miimon'] + lacp_rate = bond['bond-lacp_rate'] + xmit_hash_policy = bond['bond-xmit_hash_policy'] + bond_mtu = bond['mtu'] + if interfaces: + for host in host_name: + for interface in interfaces: + exec_cmd("ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null \ + -i %s root@%s \ + 'cobbler system edit --name=%s --interface=%s --interface-type=bond_slave --interface-master=%s'" # noqa + % (rsa_file, compass_ip, host, interface, bond_name)) # noqa + + exec_cmd("ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null \ + -i %s root@%s \ + 'cobbler system edit --name=%s --interface=%s --interface-type=bond --bonding-opts=\"miimon=%s mode=%s lacp_rate=%s xmit_hash_policy=%s mtu=%s\"'" # noqa + % (rsa_file, compass_ip, host, bond_name, bond_miimon, bond_mode, lacp_rate, xmit_hash_policy, bond_mtu)) # noqa + +if __name__ == "__main__": + assert(len(sys.argv) == 4) + create_bonding( + yaml.load( + open( + sys.argv[1])), + sys.argv[2], + sys.argv[3]) -- cgit 1.2.3-korg