X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=tests%2Fmain.py;h=7714d7da666c066bb71a23720cf48e273adf2cd5;hb=9ee9b136ebec5d21f5165acc5e4441c3e91a56dd;hp=50e0821b5f0aa5a6949ed97b206a68e071ed6969;hpb=d5918a87f12fdef9bd7408c4554c42606c4896d8;p=doctor.git diff --git a/tests/main.py b/tests/main.py index 50e0821b..7714d7da 100644 --- a/tests/main.py +++ b/tests/main.py @@ -6,12 +6,18 @@ # 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('doctor').getLogger() @@ -20,42 +26,69 @@ class DoctorTest(object): def __init__(self, conf): self.conf = conf - self.image = Image(self.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() - # preparing VM image... - self.image.create() + # creating test user... + self.user.create() + self.user.update_quota() - # creating test user... + # creating VM... + self.network.create() + self.instance.create() + self.instance.wait_for_vm_launch() - # creating VM... + # creating alarm... + self.alarm.create() - # creating alarm... + # starting doctor sample components... + self.inspector.start() + + 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, Exception=%s' % e) sys.exit(1) finally: - self.image.delete() + 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(sys.path[0]) + 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() - - -if __name__ == '__main__': - sys.exit(main())