From 1e73bee176dd77f9dc87cd666cb5412195c13b59 Mon Sep 17 00:00:00 2001
From: Eesaan Atluri <atlurie@uab.edu>
Date: Wed, 30 Nov 2022 21:11:43 +0000
Subject: [PATCH] Rearrange tasks between roles to build a base image.

This will install compute packages on top of a pristine CentOS.
---
 ansible/node.yml                              |  1 -
 ansible/roles/cheaha.node/tasks/main.yml      | 31 -------------------
 ansible/roles/compute_packages/tasks/main.yml | 27 ++++++++++++++++
 3 files changed, 27 insertions(+), 32 deletions(-)

diff --git a/ansible/node.yml b/ansible/node.yml
index 68bfcf2..0ec04f0 100644
--- a/ansible/node.yml
+++ b/ansible/node.yml
@@ -3,5 +3,4 @@
   hosts: default
   become: true
   roles:
-    - { name: 'cheaha.node', tags: 'cheaha.node' }
     - { name: 'compute_packages', tags: 'compute_packages' }
diff --git a/ansible/roles/cheaha.node/tasks/main.yml b/ansible/roles/cheaha.node/tasks/main.yml
index a308992..cf2641c 100644
--- a/ansible/roles/cheaha.node/tasks/main.yml
+++ b/ansible/roles/cheaha.node/tasks/main.yml
@@ -13,27 +13,9 @@
     path: /etc/dhcp/dhclient.conf
     insertbefore: BOF
     line: 'append domain-name " cm.cluster rc.uab.edu ib.cluster drac.cluster eth.cluster ib-hdr.cluster";'
-- name: Install prerequisite packages
-  yum:
-    name: epel-release
-    state: present
 - name: Disable SELinux
   ansible.posix.selinux:
     state: disabled
-- name: Copy cm.repo into place (consider making this a template)
-  ansible.builtin.copy:
-    src: cm.repo
-    dest: /etc/yum.repos.d/cm.repo
-    owner: root
-    group: root
-    mode: 0644
-- name: Copy CM repo GPG key
-  ansible.builtin.copy:
-    src: RPM-GPG-KEY-cm
-    dest: /etc/pki/rpm-gpg/RPM-GPG-KEY-cm
-    owner: root
-    group: root
-    mode: 0644
 - name: Create slurm group
   ansible.builtin.group:
     name: slurm
@@ -45,19 +27,6 @@
     state: present
     uid: 450
     group: slurm
-- name: Install required packages
-  yum:
-    name:
-      - slurm-client-18.08.9
-      - munge-0.5.13
-      - openldap-servers-2.4.48
-      - Lmod-7.7.14
-      - cm-modules-init-client-8.2
-      - cmdaemon
-      - nss-pam-ldapd
-      - ruby
-      - python3
-    state: present
 - name: Update nsswitch.conf to look for ldap
   ansible.builtin.replace:
     dest: /etc/nsswitch.conf
diff --git a/ansible/roles/compute_packages/tasks/main.yml b/ansible/roles/compute_packages/tasks/main.yml
index 2dafc21..76c3be4 100644
--- a/ansible/roles/compute_packages/tasks/main.yml
+++ b/ansible/roles/compute_packages/tasks/main.yml
@@ -1,5 +1,9 @@
 ---
 # tasks file for cheaha.packages
+- name: Install prerequisite packages
+  yum:
+    name: epel-release
+    state: present
 
 - name: Copy yum repo files into place
   ansible.builtin.copy:
@@ -9,17 +13,40 @@
     group: root
     mode: 0644
   loop:
+    - cm.repo
     - ceph.repo
     - dell-system-update.repo
     - elastic.repo
     - nux-dextop.repo
     - TurboVNC.repo
 
+- name: Copy CM repo GPG key
+  ansible.builtin.copy:
+    src: RPM-GPG-KEY-cm
+    dest: /etc/pki/rpm-gpg/RPM-GPG-KEY-cm
+    owner: root
+    group: root
+    mode: 0644
+
 - name: Install openstack-rocky repo
   ansible.builtin.yum:
     name: centos-release-openstack-rocky
     state: present
 
+- name: Install required packages
+  yum:
+    name:
+      - slurm-client-18.08.9
+      - munge-0.5.13
+      - openldap-servers-2.4.48
+      - Lmod-7.7.14
+      - cm-modules-init-client-8.2
+      - cmdaemon
+      - nss-pam-ldapd
+      - ruby
+      - python3
+    state: present
+
 - name: Install system packages
   ansible.builtin.yum:
     name: "{{ lookup('file', '{{ pkg_list_file }}').splitlines() }}"
-- 
GitLab