From 955277e44b9bf097cf2fe521c2da68957bc0ee1c Mon Sep 17 00:00:00 2001 From: Benjamin Bertrand <benjamin.bertrand@esss.se> Date: Thu, 7 Mar 2019 14:34:06 +0100 Subject: [PATCH] Clean trigger VM creation No need to pass interface/memory/cores to trigger_vm_creation JIRA INFRA-870 --- app/network/views.py | 7 +------ app/tasks.py | 14 +++++++------- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/app/network/views.py b/app/network/views.py index af320d3..3cdc8de 100644 --- a/app/network/views.py +++ b/app/network/views.py @@ -199,13 +199,8 @@ def view_host(name): sa.orm.attributes.flag_modified(host, "ansible_vars") except AttributeError: host.ansible_vars = csentry_vars - interface = host.interfaces[0] task = tasks.trigger_vm_creation( - name, - interface, - csentry_vars["csentry_vm_memory"], - csentry_vars["csentry_vm_cores"], - skip_post_install_job=form.skip_post_install_job.data, + host, skip_post_install_job=form.skip_post_install_job.data ) db.session.commit() current_app.logger.info(f"Creation of {name} requested: task {task.id}") diff --git a/app/tasks.py b/app/tasks.py index 52b8ccc..bbcd216 100644 --- a/app/tasks.py +++ b/app/tasks.py @@ -81,11 +81,11 @@ class TaskWorker(Worker): super().prepare_job_execution(job) -def trigger_vm_creation(name, interface, memory, cores, skip_post_install_job): +def trigger_vm_creation(host, skip_post_install_job): """Trigger a job to create a virtual machine or virtual IOC""" - domain = interface.network.domain.name - extra_vars = [f"vmname={name}", f"domain={domain}"] - if interface.is_ioc: + domain = host.main_interface.network.domain + extra_vars = [f"vmname={host.name}", f"domain={domain}"] + if host.is_ioc: task_name = "trigger_vioc_creation" job_template = current_app.config["AWX_CREATE_VIOC"] post_job_template = current_app.config["AWX_POST_INSTALL"]["VIOC"].get(domain) @@ -94,7 +94,7 @@ def trigger_vm_creation(name, interface, memory, cores, skip_post_install_job): job_template = current_app.config["AWX_CREATE_VM"] post_job_template = current_app.config["AWX_POST_INSTALL"]["VM"].get(domain) current_app.logger.info( - f"Launch new job to create the {name} VM: {job_template} with {extra_vars}" + f"Launch new job to create the {host} VM: {job_template} with {extra_vars}" ) task = current_user.launch_task( task_name, @@ -109,12 +109,12 @@ def trigger_vm_creation(name, interface, memory, cores, skip_post_install_job): "trigger_post_install_job", func="launch_job_template", job_template=post_job_template, - limit=f"{name}.{domain}", + limit=f"{host.fqdn}", depends_on=task.id, timeout=500, ) current_app.logger.info( - f"Trigger post install job: run {post_job_template} on {name}.{domain}" + f"Trigger post install job: run {post_job_template} on {host.fqdn}" ) return task -- GitLab