X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=tests%2Fmain.py;h=182680cedf288d9cdb5c312900f9ee8796e75a84;hb=0b2494f01dc11091636b46fa49aeab43292f9d28;hp=e36bb4f0ac6aa411c79c856e4bbbbe6eaeaad4e9;hpb=e3f9edb5064e280056addd6fc47535d3ee1a2435;p=doctor.git diff --git a/tests/main.py b/tests/main.py index e36bb4f0..182680ce 100644 --- a/tests/main.py +++ b/tests/main.py @@ -6,46 +6,89 @@ # 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 +from alarm import Alarm import config +from image import Image +from instance import Instance +from inspector import get_inspector import logger as doctor_log +from user import User +from network import Network - -LOG = doctor_log.Logger(__name__).getLogger() +LOG = doctor_log.Logger('doctor').getLogger() class DoctorTest(object): def __init__(self, conf): self.conf = conf + self.image = Image(self.conf, LOG) + self.user = User(self.conf, LOG) + self.network = Network(self.conf, LOG) + self.instance = Instance(self.conf, LOG) + self.alarm = Alarm(self.conf, LOG) + self.inspector = get_inspector(self.conf, LOG) - def run(self): - """run doctor test""" - try: - LOG.info('doctor test starting.......') - # prepare the cloud env + def setup(self): + # prepare the cloud env + + # preparing VM image... + self.image.create() + + # creating test user... + self.user.create() + self.user.update_quota() - # preparing VM image... + # creating VM... + self.network.create() + self.instance.create() + self.instance.wait_for_vm_launch() - # creating test user... + # creating alarm... + self.alarm.create() - # creating VM... + # starting doctor sample components... + self.inspector.start() - # creating alarm... + def run(self): + """run doctor test""" + try: + LOG.info('doctor test starting.......') - # starting doctor sample components... + self.setup() # injecting host failure... # verify the test results + except Exception as e: - LOG.error('doctor test failed: %s ', e) + LOG.error('doctor test failed, Exception=%s' % e) + sys.exit(1) + finally: + self.cleanup() + + def cleanup(self): + self.alarm.delete() + self.instance.delete() + self.network.delete() + self.image.delete() + self.user.delete() + self.inspector.stop() 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()