Skip to content
Snippets Groups Projects
Commit ee832b9c authored by Maarten de Waard's avatar Maarten de Waard :angel:
Browse files

Merge branch 'remove_dns_records' into 'master'

Remove dns records

See merge request openappstack/bootstrap!59
parents fb51d7d9 250216e0
No related branches found
No related tags found
No related merge requests found
......@@ -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
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment