From 7c16d7d2ce8ae928e140750584728fa520cfcad7 Mon Sep 17 00:00:00 2001
From: Krish Moodbidri <krish94@uab.edu>
Date: Thu, 7 Mar 2024 16:10:51 -0600
Subject: [PATCH] Added cloud-init configuration for instance initialization

Updated user_data block to include cloud-config and bash script sections
Cloud-config sets up hosts file with specific permissions
Bash script performs additional initialization tasks during instance boot
Fixed formatting issues for proper execution during instance initialization
---
 main.tf               |  1 -
 ohpc-instance/main.tf | 22 ++++++++++++++++------
 2 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/main.tf b/main.tf
index 07b82b0..8b516bb 100644
--- a/main.tf
+++ b/main.tf
@@ -86,7 +86,6 @@ module "create-ohpc-instance" {
     ohpc_user =  var.ohpc_user
     ssh_private_key = var.ssh_private_key
     vol_id = data.openstack_blockstorage_volume_v3.disk.id
-    user_data_script    = var.user_data_script
 }
 
 # runs the ood-instance module - creates ood instance using variables defined above
diff --git a/ohpc-instance/main.tf b/ohpc-instance/main.tf
index f968629..db7651f 100644
--- a/ohpc-instance/main.tf
+++ b/ohpc-instance/main.tf
@@ -37,12 +37,22 @@ resource "openstack_compute_instance_v2" "ohpc" {
   security_groups = ["default"]
   user_data = <<-EOF
      #cloud-config
-     write_files:
-     - content: |
-         10.1.1.10 ohpc ohpc.novalocal
-       owner: centos:centos
-       path: /etc/hosts
-       permissions: 0644
+    write_files:
+    - content: |
+        10.1.1.10 ohpc ohpc.novalocal
+        owner: centos:centos
+        path: /etc/hosts
+        permissions: '0644'
+
+      runcmd:
+      - |
+          #!/bin/bash
+          sudo mkdir -p /data/xdmod/queues
+          sudo df -h
+          sudo systemctl restart mariadb
+          sudo sed -i -E 's/xdmod..nip.io/xdmod.rc.uab.edu/g' /etc/httpd/conf.d/xdmod.conf
+          sudo sed -i -E 's/xdmod..nip.io/xdmod.rc.uab.edu/g' /etc/xdmod/simplesamlphp/config/config.php
+          sudo systemctl restart httpd
      EOF
 
 # defines the networks of the instance
-- 
GitLab