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