diff --git a/test/ci-bootstrap.py b/test/ci-bootstrap.py index 7159f50f07b0c27f4cc1b77af9f69d2b5ba04a3d..1c82d36760b3956efe6437a3eae072af8c760445 100755 --- a/test/ci-bootstrap.py +++ b/test/ci-bootstrap.py @@ -46,7 +46,7 @@ ANSIBLE_INVENTORY = './inventory.yml' def main(): # pylint: disable=too-many-statements,too-many-branches - """ does everything """ + """Do everything.""" # Parse command line arguments parser = argparse.ArgumentParser( description='Run bootstrap script' @@ -129,8 +129,8 @@ def main(): # pylint: disable=too-many-statements,too-many-branches if "CI_PIPELINE_ID" in os.environ: instance_id = os.environ['CI_PIPELINE_ID'] else: - # Use random generated ID in case we're not running in gitlab CI - # and there's no CI_PIPELINE_ID env var + # Use random generated ID in case we're not running in + # gitlab CI and there's no CI_PIPELINE_ID env var instance_id = ''.join( random.choice(string.ascii_lowercase + string.digits) for _ in range(10)) @@ -159,7 +159,8 @@ def main(): # pylint: disable=too-many-statements,too-many-branches # Create inventory with open('../ansible/inventory.yml.example', 'r') as stream: inventory = yaml.safe_load(stream) - inventory['all']['hosts'][droplet_name] = inventory['all']['hosts']['oas-dev'] + inventory['all']['hosts'][droplet_name] = \ + inventory['all']['hosts']['oas-dev'] del inventory['all']['hosts']['oas-dev'] inventory['all']['hosts'][droplet_name]['ansible_host'] = droplet_ip @@ -207,19 +208,18 @@ def main(): # pylint: disable=too-many-statements,too-many-branches if args.create_domain_records: # Create domain records domain_record = cosmos.create_domain_record( - domain='openappstack.net', name=droplet_name + '.ci', data=droplet_ip, record_type='A', - update=True) + domain='openappstack.net', name=droplet_name + '.ci', + data=droplet_ip, record_type='A', update=True) log.info("Domain record: %s", domain_record) domain_record = cosmos.create_domain_record( - domain='openappstack.net', name='*.' + droplet_name + '.ci', data=droplet_name + '.ci', - record_type='CNAME', update=True) + domain='openappstack.net', name='*.' + droplet_name + '.ci', + data=droplet_name + '.ci', record_type='CNAME', update=True) log.info("Domain record: %s", domain_record) if verbose: cosmos.list_domain_records('openappstack.net') - if args.run_ansible: run_ansible('./bootstrap.yml', args.ansible_param) @@ -229,9 +229,11 @@ def main(): # pylint: disable=too-many-statements,too-many-branches if args.terminate: cosmos.terminate_droplets_by_name(droplet_name) + cosmos.delete_domain_records_by_name('openappstack.net', droplet_name) + def run_ansible(playbook, ansible_params): - """ Calls `ansible-playbook` directly to run the specified playbook. """ + """Call `ansible-playbook` directly to run the specified playbook.""" # playbook path here is relative to private_data_dir/project, see # https://ansible-runner.readthedocs.io/en/latest/intro.html#inputdir ansible_playbook_cmd = 'ansible-playbook %s' % playbook @@ -257,8 +259,9 @@ def run_ansible(playbook, ansible_params): traceback.print_exc() sys.exit(result.returncode) + def write_behave_config(settings=None): - """ Write behave config file for later use """ + """Write behave config file for later use.""" if settings is None: with open(SETTINGS_FILE) as stream: settings = yaml.safe_load(stream) @@ -268,6 +271,7 @@ def write_behave_config(settings=None): with open('./behave/behave.ini', 'w') as configfile: behave_config.write(configfile) + def init_logging(logger, loglevel): """ Configure logging. @@ -286,6 +290,7 @@ def init_logging(logger, loglevel): logger.addHandler(stdout) logger.addHandler(stderr) + if __name__ == "__main__": # Setup logging for this script log = logging.getLogger(__name__) # pylint: disable=invalid-name