From 5846a7a8bb490569f81a556e73b57affc4d7859c Mon Sep 17 00:00:00 2001
From: Chris Hines <chris.hines@monash.edu>
Date: Tue, 26 Oct 2021 12:41:28 +1100
Subject: [PATCH] simplify variables

---
 CICD/infra/os_create.yml              | 54 +++++++++++++--------------
 CICD/infra/os_delete.yml              | 32 ++++++++--------
 CICD/infra/os_vars.yml.j2             |  5 +--
 CICD/make_files.py                    | 17 +++++----
 CICD/pre_templates/filesystems_yml.j2 | 16 ++++----
 CICD/pre_templates/slurm_vars.j2      |  2 +-
 6 files changed, 63 insertions(+), 63 deletions(-)

diff --git a/CICD/infra/os_create.yml b/CICD/infra/os_create.yml
index fc8a8efb..c3a50322 100644
--- a/CICD/infra/os_create.yml
+++ b/CICD/infra/os_create.yml
@@ -11,7 +11,7 @@
   - name: network
     openstack.cloud.network:
       state: present
-      name: "{{ project_name }}-network"
+      name: "{{ clustername }}-network"
     register: network
   - name: debug network
     debug:
@@ -19,7 +19,7 @@
 
   - openstack.cloud.subnet:
       state: present
-      name:  "{{ project_name }}-subnet"
+      name:  "{{ clustername }}-subnet"
       network_name: "{{ network.network.name }}"
       ip_version: 4
       cidr: 192.168.0.0/24
@@ -30,29 +30,29 @@
 
   - openstack.cloud.router:
       state: present
-      name: "{{ project_name }}-router"
+      name: "{{ clustername }}-router"
       network: "{{ ext_network }}"
       interfaces:
-        - "{{ project_name }}-subnet"
+        - "{{ clustername }}-subnet"
 
   - openstack.cloud.security_group:
       state: present
-      name: "{{ project_name }}-secgroup"
+      name: "{{ clustername }}-secgroup"
     register: secgroup
   - name: debug secgroup
     debug:
       var: secgroup
 
   - openstack.cloud.security_group_rule:
-      security_group: "{{ project_name}}-secgroup"
-      remote_group: "{{ project_name}}-secgroup"
+      security_group: "{{ clustername}}-secgroup"
+      remote_group: "{{ clustername}}-secgroup"
       protocol: "tcp"
   - openstack.cloud.security_group_rule:
-      security_group: "{{ project_name}}-secgroup"
-      remote_group: "{{ project_name}}-secgroup"
+      security_group: "{{ clustername}}-secgroup"
+      remote_group: "{{ clustername}}-secgroup"
       protocol: "icmp"
   - openstack.cloud.security_group_rule:
-      security_group: "{{ project_name}}-secgroup"
+      security_group: "{{ clustername}}-secgroup"
       remote_ip_prefix: "0.0.0.0/0"
       protocol: "tcp"
       port_range_min: 22
@@ -75,9 +75,9 @@
       auto_ip: false
       security_groups:
         - default
-        - "{{ project_name}}-secgroup"
+        - "{{ clustername}}-secgroup"
       meta:
-         project_name: "{{ project_name }}"
+         clustername: "{{ clustername }}"
          ansible_user: ubuntu
          ansible_host_groups: '[ "BastionNodes" ]'
       nics:
@@ -85,7 +85,7 @@
       userdata: "{{ os_userdata }}"
       name: "{{ item.vmname }}"
     loop:
-      - { vmname: "{{ project_name}}-bastion0", flavor: t3.xsmall }
+      - { vmname: "{{ clustername}}-bastion0", flavor: t3.xsmall }
 
 - name: create login nodes
   hosts: localhost
@@ -100,9 +100,9 @@
       auto_ip: false
       security_groups:
         - default
-        - "{{ project_name}}-secgroup"
+        - "{{ clustername}}-secgroup"
       meta:
-         project_name: "{{ project_name }}"
+         clustername: "{{ clustername }}"
          ansible_user: ubuntu
          ansible_host_groups: '[ "LoginNodes", "ManagementNodes", "LdapNodes" ]'
       nics:
@@ -110,8 +110,8 @@
       userdata: "{{ os_userdata }}"
       name: "{{ item.vmname }}"
     loop:
-      - { vmname: "{{ project_name }}-login0", flavor: m3.small }
-      - { vmname: "{{ project_name }}-login1", flavor: m3.small }
+      - { vmname: "{{ clustername }}-login0", flavor: m3.small }
+      - { vmname: "{{ clustername }}-login1", flavor: m3.small }
 
 - name: create volumes for slurmstate and homedir
   hosts: localhost
@@ -121,7 +121,7 @@
       state: present
       availability_zone: "{{ availability_zone }}"
       size: 2
-      display_name: "{{project_name}}_slurm_state"
+      display_name: "{{clustername}}_slurm_state"
     register: slurm_state_volume
 
   - name: slurm volume
@@ -129,7 +129,7 @@
       state: present
       availability_zone: "{{ availability_zone }}"
       size: 10
-      display_name: "{{ project_name }}_userdata"
+      display_name: "{{ clustername }}_userdata"
     register: user_volume
   - name: debug slurm_state
     debug:
@@ -148,9 +148,9 @@
       auto_ip: false
       security_groups:
         - default
-        - "{{ project_name}}-secgroup"
+        - "{{ clustername}}-secgroup"
       meta:
-         project_name: "{{ project_name }}"
+         clustername: "{{ clustername }}"
          ansible_user: ubuntu
          ansible_host_groups: '[ "SQLNodes", "NFSNodes" ]'
       nics:
@@ -159,7 +159,7 @@
       name: "{{ item.vmname }}"
       volumes: [ "{{ slurm_state_volume.volume.id }}", "{{ user_volume.volume.id }}"]
     loop:
-      - { vmname: "{{ project_name }}-sql0", flavor: m3.small }
+      - { vmname: "{{ clustername }}-sql0", flavor: m3.small }
 
 
   - name: create compute nodes 
@@ -173,9 +173,9 @@
       auto_ip: false
       security_groups:
         - default
-        - "{{ project_name}}-secgroup"
+        - "{{ clustername}}-secgroup"
       meta:
-         project_name: "{{ project_name }}"
+         clustername: "{{ clustername }}"
          ansible_user: ubuntu
          ansible_host_groups: '[ "ComputeNodes" ]'
       nics:
@@ -183,12 +183,12 @@
       userdata: "{{ os_userdata }}"
       name: "{{ item.vmname }}"
     loop:
-      - { vmname: "{{ project_name }}-node00", flavor: m3.small }
-      - { vmname: "{{ project_name }}-node01", flavor: m3.small }
+      - { vmname: "{{ clustername }}-node00", flavor: m3.small }
+      - { vmname: "{{ clustername }}-node01", flavor: m3.small }
 
   - name: attach floating ip
     openstack.cloud.floating_ip:
       state: present
-      server: "{{ project_name }}-bastion0"
+      server: "{{ clustername }}-bastion0"
       network: "{{ ext_network }}"
       reuse: true
diff --git a/CICD/infra/os_delete.yml b/CICD/infra/os_delete.yml
index 9a0c4ae1..85e1c6e9 100644
--- a/CICD/infra/os_delete.yml
+++ b/CICD/infra/os_delete.yml
@@ -20,12 +20,12 @@
       security_groups:
         - default
       meta:
-         project_name: "{{ project_name }}"
+         clustername: "{{ clustername }}"
          ansible_user: ubuntu
          ansible_host_groups: '[ "BastionNodes" ]'
       name: "{{ item.vmname }}"
     loop:
-      - { vmname: "{{ project_name}}-bastion0", flavor: t3.xsmall }
+      - { vmname: "{{ clustername}}-bastion0", flavor: t3.xsmall }
 
 - name: create login nodes
   hosts: localhost
@@ -41,13 +41,13 @@
       security_groups:
         - default
       meta:
-         project_name: "{{ project_name }}"
+         clustername: "{{ clustername }}"
          ansible_user: ubuntu
          ansible_host_groups: '[ "LoginNodes", "ManagementNodes", "LdapNodes" ]'
       name: "{{ item.vmname }}"
     loop:
-      - { vmname: "{{ project_name }}-login0", flavor: t3.medium }
-      - { vmname: "{{ project_name }}-login1", flavor: t3.medium }
+      - { vmname: "{{ clustername }}-login0", flavor: t3.medium }
+      - { vmname: "{{ clustername }}-login1", flavor: t3.medium }
 
 
 - name: create sql node
@@ -64,12 +64,12 @@
       security_groups:
         - default
       meta:
-         project_name: "{{ project_name }}"
+         clustername: "{{ clustername }}"
          ansible_user: ubuntu
          ansible_host_groups: '[ "SQLNodes", "NFSNodes" ]'
       name: "{{ item.vmname }}"
     loop:
-      - { vmname: "{{ project_name }}-sql0", flavor: t3.medium }
+      - { vmname: "{{ clustername }}-sql0", flavor: t3.medium }
 
 - name: create volumes for slurmstate and homedir
   hosts: localhost
@@ -79,14 +79,14 @@
       state: absent
       availability_zone: "{{ availability_zone }}"
       size: 2
-      display_name: "{{project_name}}_slurm_state"
+      display_name: "{{clustername}}_slurm_state"
 
   - name: slurm volume
     openstack.cloud.volume:
       state: absent
       availability_zone: "{{ availability_zone }}"
       size: 10
-      display_name: "{{project_name}}_userdata"
+      display_name: "{{clustername}}_userdata"
     register: user_volume
 
   - name: create compute nodes 
@@ -101,24 +101,24 @@
       security_groups:
         - default
       meta:
-         project_name: "{{ project_name }}"
+         clustername: "{{ clustername }}"
          ansible_user: ubuntu
          ansible_host_groups: '[ "ComputeNodes" ]'
       name: "{{ item.vmname }}"
     loop:
-      - { vmname: "{{ project_name }}-node00", flavor: t3.medium }
-      - { vmname: "{{ project_name }}-node01", flavor: t3.medium }
+      - { vmname: "{{ clustername }}-node00", flavor: t3.medium }
+      - { vmname: "{{ clustername }}-node01", flavor: t3.medium }
 
   - openstack.cloud.router:
       state: absent
-      name: "{{ project_name }}-router"
+      name: "{{ clustername }}-router"
   - openstack.cloud.subnet:
       state: absent
-      name:  "{{ project_name }}-subnet"
+      name:  "{{ clustername }}-subnet"
 
   - openstack.cloud.security_group:
       state: absent
-      name: "{{ project_name }}-secgroup"
+      name: "{{ clustername }}-secgroup"
    
 
 - name: create network
@@ -127,7 +127,7 @@
   - name: network
     openstack.cloud.network:
       state: absent
-      name: "{{ project_name }}-network"
+      name: "{{ clustername }}-network"
     register: network
   - name: debug network
     debug:
diff --git a/CICD/infra/os_vars.yml.j2 b/CICD/infra/os_vars.yml.j2
index 00540e03..1d98e78c 100644
--- a/CICD/infra/os_vars.yml.j2
+++ b/CICD/infra/os_vars.yml.j2
@@ -1,9 +1,6 @@
 ---
-#variables to configure the vms
-clustername: "{{ clustername }}"
-project_name: "{{ clustername }}"
-domain: "{{ clustername }}.org.au"
 # variabls for openstack
+clustername: "{{ clustername }}"
 image: 356ff1ed-5960-4ac2-96a1-0c0198e6a999
 availability_zone: monash-02
 ext_network: monash
diff --git a/CICD/make_files.py b/CICD/make_files.py
index b038b46f..b928facd 100644
--- a/CICD/make_files.py
+++ b/CICD/make_files.py
@@ -54,27 +54,27 @@ ff02::2 ip6-allrouters
 def make_vars_filesystems(choices, inventory):
     import jinja2
     data = {}
-    data['domain'] = choices['domain']
-    data['project_name'] = choices['project_name']
-    project_name = choices['project_name']
+    data['clustername'] = choices['clustername']
+    data['domain'] = "{}.org.au".format(choices['clustername'])
+    clustername = choices['clustername']
     # ATM we have only one NFS server, and its hostname ends in -sql because it does double duty as the SQL server for slurm accounting logs
-    nfsserver = "{}-sql0".format(choices['project_name'])
+    nfsserver = "{}-sql0".format(choices['clustername'])
 
     for vol in ['userdata','slurm_state']:
-        data['{}_disk'.format(vol)] = inventory['all']['children']['hostvars']['hosts'][nfsserver]['ansible_host_volumes']["{}_{}".format(project_name,vol)]['dev']
+        data['{}_disk'.format(vol)] = inventory['all']['children']['hostvars']['hosts'][nfsserver]['ansible_host_volumes']["{}_{}".format(clustername,vol)]['dev']
 
     with open('pre_templates/filesystems_yml.j2') as f:
         template = jinja2.Template(f.read())
 
 
     with open('vars/filesystems.yml','w') as f:
-        f.write(template.render(**data))
+        f.write(template.render(**data))_
 
 def make_ssh_cfg(choices, inventory):
     import jinja2
     #data = choices | inventory
     data = { **choices, **inventory }
-    bastion_server = "{}-bastion0".format(choices['project_name'])
+    bastion_server = "{}-bastion0".format(choices['clustername'])
     ansible_user = inventory['all']['children']['hostvars']['hosts'][bastion_server]['ansible_user']
     bastion_floating_ip = inventory['all']['children']['hostvars']['hosts'][bastion_server]['ext_ip']
     data['ansible_user'] = ansible_user
@@ -115,6 +115,9 @@ def make_slurm_config(choices, inventory):
     choices['controller']=mgmtnodes[0]
     choices['backup']=mgmtnodes[1]
     choices['sqlnode']=sqlnodes[0]
+
+    choices['domain'] = "{}.org.au".format(choices['clustername'])
+
     with open('pre_templates/slurm_vars.j2') as f:
         template = jinja2.Template(f.read())
     with open('vars/slurm.yml','w') as f:
diff --git a/CICD/pre_templates/filesystems_yml.j2 b/CICD/pre_templates/filesystems_yml.j2
index e5d4c52f..26bd480b 100644
--- a/CICD/pre_templates/filesystems_yml.j2
+++ b/CICD/pre_templates/filesystems_yml.j2
@@ -1,13 +1,13 @@
 domain: {{ domain }}
 volumes:
-  - host: {{ project_name}}-sql0
+  - host: {{ clustername}}-sql0
     dev: {{ slurm_state_disk }}
     mnt: /mnt/slurm_state
-  - host: {{ project_name }}-sql0
+  - host: {{ clustername }}-sql0
     dev: {{ userdata_disk }}
     mnt: /mnt/userdata
 nfsexports:
-  - host: {{ project_name }}-sql0
+  - host: {{ clustername }}-sql0
     exportList:
       - src: /mnt/userdata
       - src: /mnt/slurm_state
@@ -16,31 +16,31 @@ nfsmounts:
   - group: LoginNodes
     nfsMounts:
     - name: /userdata
-      ipv4: {{ project_name }}-sql0
+      ipv4: {{ clustername }}-sql0
       src: /mnt/userdata
       fstype: nfs4
       opts: "defaults,rw"
     - name: /home
-      ipv4: {{ project_name }}-sql0
+      ipv4: {{ clustername }}-sql0
       src: /home
       fstype: nfs4
       opts: "defaults,rw"
   - group: ComputeNodes
     nfsMounts:
     - name: /userdata
-      ipv4: {{ project_name }}-sql0
+      ipv4: {{ clustername }}-sql0
       src: /mnt/userdata
       fstype: nfs4
       opts: "defaults,rw"
     - name: /home
-      ipv4: {{ project_name }}-sql0
+      ipv4: {{ clustername }}-sql0
       src: /home
       fstype: nfs4
       opts: "defaults,rw"
   - group: ManagementNodes
     nfsMounts:
     - name: /slurm_state
-      ipv4: {{ project_name }}-sql0
+      ipv4: {{ clustername }}-sql0
       src: /mnt/slurm_state
       fstype: nfs4
       opts: "defaults,rw"
diff --git a/CICD/pre_templates/slurm_vars.j2 b/CICD/pre_templates/slurm_vars.j2
index 8c798cd7..5f8a3094 100644
--- a/CICD/pre_templates/slurm_vars.j2
+++ b/CICD/pre_templates/slurm_vars.j2
@@ -10,7 +10,7 @@ slurm_version: {{ slurm_version }}
 munge_version: {{ munge_version }}
 nhc_version: {{ nhc_version }}
 ucx_version: {{ ucx_version }}
-clustername: "{{ project_name }}"
+clustername: "{{ clustername }}"
 
 
 nhc_src_url: {{ nhc_src_url }}
-- 
GitLab