X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=tests%2Fmain.py;h=45683d1e4b26e6e539ce04db142902295bb6e643;hb=7e0ab6e2149df22455e58eb363eb291a985514de;hp=e36bb4f0ac6aa411c79c856e4bbbbe6eaeaad4e9;hpb=51b2ad855f0dad6527e5ec436f6b29758c21fb80;p=doctor.git diff --git a/tests/main.py b/tests/main.py index e36bb4f0..45683d1e 100644 --- a/tests/main.py +++ b/tests/main.py @@ -6,46 +6,83 @@ # 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 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) - 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... + # preparing VM image... + self.image.create() - # creating test user... + # creating test user... + self.user.create() + self.user.update_quota() - # creating VM... + # creating VM... + self.network.create() + self.instance.create() + self.instance.wait_for_vm_launch() - # creating alarm... + # creating alarm... + self.alarm.create() - # starting doctor sample components... + def run(self): + """run doctor test""" + try: + LOG.info('doctor test starting.......') + + 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() 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()