support config file 89/36789/2
authordongwenjuan <dong.wenjuan@zte.com.cn>
Thu, 22 Jun 2017 11:26:05 +0000 (19:26 +0800)
committerdongwenjuan <dong.wenjuan@zte.com.cn>
Fri, 30 Jun 2017 09:13:24 +0000 (17:13 +0800)
Change-Id: Ib8e696acfe21787904fce6838341f3a256aa0267
Signed-off-by: dongwenjuan <dong.wenjuan@zte.com.cn>
etc/doctor.sample.conf [new file with mode: 0644]
tests/config.py
tests/main.py

diff --git a/etc/doctor.sample.conf b/etc/doctor.sample.conf
new file mode 100644 (file)
index 0000000..8a1ddc3
--- /dev/null
@@ -0,0 +1,26 @@
+##############################################################################
+# Copyright (c) 2017 ZTE Corporation and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+[DEFAULT]
+image_name = cirros
+image_format = qcow2
+image_filename = cirros.img
+image_download_url = https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-disk.img
+
+glance_version = 2
+nova_version = 2.34
+
+doctor_user = doctor
+doctor_passwd = doctor
+doctor_project = doctor
+doctor_role = _member_
+quota_instances = 1
+quota_cores = 1
+
+
+
index 7a0bef2..3cacd0a 100644 (file)
@@ -7,6 +7,7 @@
 # http://www.apache.org/licenses/LICENSE-2.0\r
 ##############################################################################\r
 import itertools\r
+\r
 from oslo_config import cfg\r
 \r
 import image\r
@@ -23,7 +24,7 @@ def list_opts():
     ]\r
 \r
 \r
-def prepare_conf(conf=None):\r
+def prepare_conf(args=None, conf=None, config_files=None):\r
     if conf is None:\r
         conf = cfg.ConfigOpts()\r
 \r
@@ -31,4 +32,7 @@ def prepare_conf(conf=None):
         conf.register_opts(list(options),\r
                            group=None if group == 'DEFAULT' else group)\r
 \r
+    conf(args, project='doctor', validate_default_values=True,\r
+         default_config_files=config_files)\r
+\r
     return conf\r
index 46f0c89..bb2c912 100644 (file)
@@ -6,6 +6,8 @@
 # which accompanies this distribution, and is available at
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
+import os
+from os.path import isfile, join
 import sys
 
 import config
@@ -58,7 +60,13 @@ class DoctorTest(object):
 
 def main():
     """doctor main"""
-    conf = config.prepare_conf()
+    doctor_root_dir = os.path.dirname(os.getcwd())
+    config_file_dir = '{0}/{1}'.format(doctor_root_dir, 'etc/')
+    config_files = [join(config_file_dir, f) for f in os.listdir(config_file_dir)
+                    if isfile(join(config_file_dir, f))]
+
+    conf = config.prepare_conf(args=sys.argv[1:],
+                               config_files=config_files)
 
     doctor = DoctorTest(conf)
     doctor.run()