From 3245d36acf452ea394a1437a7329d2a7b07d5819 Mon Sep 17 00:00:00 2001
From: Krish Moodbidri <krish94@uab.edu>
Date: Mon, 26 Feb 2024 19:08:27 -0600
Subject: [PATCH] Move Ansible Playbook Execution to OHPC Instance User Data

---
 main.tf               | 12 ++++++------
 ohpc-instance/main.tf |  6 +++++-
 2 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/main.tf b/main.tf
index 32afcc6..8fee4ae 100644
--- a/main.tf
+++ b/main.tf
@@ -133,12 +133,12 @@ resource "null_resource" "ops" {
   }
 
   # compute node registration on ohpc
-  provisioner "remote-exec" {
-    inline = [
-     for node, net in module.nodes.network:
-    "ansible-playbook -c local -i /CRI_XCBC/hosts -l `hostname -s` -e  \"{'cod_deploy':'false', 'compute_nodes':[{'name':'${node}', 'ip':'${net[0].fixed_ip_v4}', 'mac':'${net[0].mac}', 'vnfs':'', 'sockets':'1', 'corespersocket':'1'}]}\" /CRI_XCBC/site-ops.yaml -b -v"
-    ]
-  }
+#  provisioner "remote-exec" {
+#    inline = [
+#     for node, net in module.nodes.network:
+#    "ansible-playbook -c local -i /CRI_XCBC/hosts -l `hostname -s` -e  \"{'cod_deploy':'false', 'compute_nodes':[{'name':'${node}', 'ip':'${net[0].fixed_ip_v4}', 'mac':'${net[0].mac}', 'vnfs':'', 'sockets':'1', 'corespersocket':'1'}]}\" /CRI_XCBC/site-ops.yaml -b -v"
+#    ]
+#  }
 
   # ood node
 #  provisioner "remote-exec" {
diff --git a/ohpc-instance/main.tf b/ohpc-instance/main.tf
index 4d1668c..0da561d 100644
--- a/ohpc-instance/main.tf
+++ b/ohpc-instance/main.tf
@@ -49,7 +49,11 @@ resource "openstack_compute_instance_v2" "ohpc" {
 
     # Clone CRI_Cluster_Monitor repository
     - git clone https://github.com/eesaanatluri/CRI_Cluster_Monitor.git /CRI_Cluster_Monitor
-     EOF
+
+    # Run Ansible playbook
+    runcmd:
+      - ansible-playbook -c local -i /CRI_XCBC/hosts -l `hostname -s` -e  "{'cod_deploy':'false', 'compute_nodes':[{'name':'${var.ohpc_instance_name}', 'ip':'${var.internal_ip}', 'mac':'${mac_address}', 'vnfs':'', 'sockets':'1', 'corespersocket':'1'}]}" /CRI_XCBC/site-ops.yaml -b -v
+    EOF
 
 # defines the networks of the instance
   network {
-- 
GitLab