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