aboutsummaryrefslogtreecommitdiffstats
path: root/process_conf.py
diff options
context:
space:
mode:
authorHarry Huang <huangxiangyu5@huawei.com>2017-01-10 16:11:55 +0800
committerHarry Huang <huangxiangyu5@huawei.com>2017-01-25 17:34:08 +0800
commit1eb8d4ccfbc9c34723586980d5a912e2ffa903cd (patch)
treeb1764b819ef45ea93b5f263211a736748b7c57c4 /process_conf.py
parent495994be89cc04be704767ed3f6630c6663c11eb (diff)
Opera deploy scripts
JIRA: OPERA-2 Requirement: After compass4nfv deployment Function: 1. Launch a VM (defaultly CentOS 7) 2. Launch Open-O dockers inside VM 3. Launch juju inside openstack Directory conf/ need config according to local environment Change-Id: Iac24051668e15b60f76f4819760f7b7c9b1867f3 Signed-off-by: Harry Huang <huangxiangyu5@huawei.com>
Diffstat (limited to 'process_conf.py')
-rw-r--r--process_conf.py73
1 files changed, 73 insertions, 0 deletions
diff --git a/process_conf.py b/process_conf.py
new file mode 100644
index 0000000..7693396
--- /dev/null
+++ b/process_conf.py
@@ -0,0 +1,73 @@
+import os
+import yaml
+import sys
+import subprocess
+import traceback
+
+
+def load_file(file):
+ with open(file) as fd:
+ try:
+ return yaml.load(fd)
+ except:
+ traceback.print_exc()
+ return None
+
+
+def generate_vm_conf(vm_config, scripts_dir):
+ """generate opera/work/scripts_dir/openo-vm.conf"""
+ print vm_config["openo"]["cpu"]
+ with open(scripts_dir + "/openo-vm.conf", "w") as fd:
+ fd.write("OPENO_VIRT_CPUS=" + str(vm_config["openo"]["cpu"]) + "\n")
+ fd.write("OPENO_VIRT_MEM=" + str(vm_config["openo"]["memory"]) + "\n")
+ fd.write("OPENO_VIRT_DISK=" + str(vm_config["openo"]["disk"]) + "\n")
+ fd.write("OPENO_VM_NET=" + vm_config["openo"]["vnet"] + "\n")
+
+
+def generate_net_conf(net_config, scripts_dir):
+ """generate opera/work/scripts_dir/network.conf"""
+ with open(scripts_dir + "/network.conf", "w") as fd:
+ for i in net_config["openo_net"].keys():
+ fd.write(i.upper() + "=" + net_config["openo_net"][i])
+ fd.write("\n")
+
+ for i in net_config["openo_docker_net"].keys():
+ fd.write(i.upper() + "=" + net_config["openo_docker_net"][i])
+ fd.write("\n")
+
+ for i in net_config["juju_net"].keys():
+ fd.write(i.upper() + "=" + net_config["juju_net"][i])
+ fd.write("\n")
+
+
+if __name__ == "__main__":
+ if len(sys.argv) != 3:
+ print("parameter wrong%d %s" % (len(sys.argv), sys.argv))
+ sys.exit(1)
+
+ _, vm_file, net_file = sys.argv
+
+ if not os.path.exists(vm_file):
+ print("openo-vm.yml doesn't exit")
+ sys.exit(1)
+ if not os.path.exists(net_file):
+ print("network.yml doesn't exit")
+ sys.exit(1)
+
+ vm_config = load_file(vm_file)
+ net_config = load_file(net_file)
+ if not vm_config:
+ print('format error in %s' % vm_file)
+ sys.exit(1)
+ if not net_config:
+ print('format error in %s' % net_file)
+ sys.exit(1)
+
+ opera_dir = os.getenv('OPERA_DIR')
+ scripts_dir = os.path.join(opera_dir, 'work/scripts')
+ if not os.path.exists(scripts_dir):
+ print("dir opera/work/scripts doesn't exit")
+ sys.exit(1)
+
+ generate_vm_conf(vm_config, scripts_dir)
+ generate_net_conf(net_config, scripts_dir)