diff options
Diffstat (limited to 'roles/ands_storage')
-rw-r--r-- | roles/ands_storage/defaults/main.yml | 5 | ||||
-rw-r--r-- | roles/ands_storage/tasks/ipecompute2.yml | 17 | ||||
-rw-r--r-- | roles/ands_storage/tasks/ipecompute4.yml | 42 | ||||
-rw-r--r-- | roles/ands_storage/tasks/main.yml | 15 | ||||
-rw-r--r-- | roles/ands_storage/tasks/nfs.yml | 15 |
5 files changed, 94 insertions, 0 deletions
diff --git a/roles/ands_storage/defaults/main.yml b/roles/ands_storage/defaults/main.yml new file mode 100644 index 0000000..af631f8 --- /dev/null +++ b/roles/ands_storage/defaults/main.yml @@ -0,0 +1,5 @@ +compute2_ip: "{{ ands_network | ipaddr(ands_compute_baseip + 2) | ipaddr('address') }}" +compute4_ip: "{{ ands_network | ipaddr(ands_compute_baseip + 4) | ipaddr('address') }}" + +compute4_ssds: ['sda','sdb','sdc','sdd','sde','sdf','sdg','sdh'] + diff --git a/roles/ands_storage/tasks/ipecompute2.yml b/roles/ands_storage/tasks/ipecompute2.yml new file mode 100644 index 0000000..9b2cef8 --- /dev/null +++ b/roles/ands_storage/tasks/ipecompute2.yml @@ -0,0 +1,17 @@ +- name: Delete partitions + parted: device="/dev/sda" label="gpt" number="{{ item }}" state="absent" + with_items: [ 2, 3, 4 ] + +- name: Create partition + parted: + device: "/dev/sda" + label: "gpt" + number: 1 + name: "fast" + state: "present" + +- name: arrays | Creating Array(s) Filesystem + filesystem: dev="/dev/sda1" fstype="xfs" + +- name: arrays | Mounting Array(s) + mount: name="/mnt/fast" src="/dev/sda1" fstype="xfs" state="mounted" diff --git a/roles/ands_storage/tasks/ipecompute4.yml b/roles/ands_storage/tasks/ipecompute4.yml new file mode 100644 index 0000000..c226519 --- /dev/null +++ b/roles/ands_storage/tasks/ipecompute4.yml @@ -0,0 +1,42 @@ +--- +#- name: Delete partitions +# parted: device="/dev/{{ item[0] }}" label="gpt" number="{{ item[1] }}" state="absent" +# with_nested: +# - "{{ compute4_ssds }}" +# - [ 2, 3, 4 ] + +- name: Find SSD devices + shell: "ls /dev/disk/by-id/*SSD_850_PRO* | grep -v part" + changed_when: false + register: ssds + +- name: Create partition + parted: + device: "/dev/{{ item }}" + label: "gpt" + number: 1 + name: "softraid" + flags: [raid] + state: "present" + failed_when: false + with_items: "{{ ssds.stdout_lines }}" +# with_items: "{{ compute4_ssds }}" + +- name: arrays | Checking Status Of Array(s) + shell: "cat /proc/mdstat | grep md10" + register: "array_check" + changed_when: false + failed_when: false + check_mode: no + +- name: arrays | Creating Array(s) +# shell: "yes | mdadm --create /dev/md10 --level=0 --raid-devices={{ compute4_ssds | count }} {{ compute4_ssds | map('regex_replace', '(.*)', '/dev/\\1') | join ('1 ') }}1" + shell: "yes | mdadm --create /dev/md10 --level=0 --raid-devices={{ ssds.stdout_lines | count }} {{ ssds.stdout_lines | join ('1 ') }}1" + register: "array_created" + when: array_check.rc != 0 + +- name: arrays | Creating Array(s) Filesystem + filesystem: dev="/dev/md10" fstype="xfs" + +- name: arrays | Mounting Array(s) + mount: name="/mnt/fast" src="/dev/md10" fstype="xfs" state="mounted" diff --git a/roles/ands_storage/tasks/main.yml b/roles/ands_storage/tasks/main.yml new file mode 100644 index 0000000..351b529 --- /dev/null +++ b/roles/ands_storage/tasks/main.yml @@ -0,0 +1,15 @@ +--- +- name: Ensure required software is installed. + package: name="{{ item }}" state=present + with_items: [ 'parted', 'mdadm', 'nfs-utils' ] + +- name: configure network fs + include_tasks: nfs.yml + +- name: configure ipepdvcompute2 + include_tasks: ipecompute2.yml + when: inventory_hostname == compute2_ip + +- name: configure ipepdvcompute4 + include_tasks: ipecompute4.yml + when: inventory_hostname == compute4_ip diff --git a/roles/ands_storage/tasks/nfs.yml b/roles/ands_storage/tasks/nfs.yml new file mode 100644 index 0000000..f8bb310 --- /dev/null +++ b/roles/ands_storage/tasks/nfs.yml @@ -0,0 +1,15 @@ +--- +- name: Create mountable dir + file: path=/mnt/ands state=directory mode=755 owner=root group=root + +- name: Create mountable dir + file: path=/mnt/pdv state=directory mode=755 owner=root group=root + +- name: set mountpoints + mount: name=/mnt/ands src="{{ ands_nfs_server }}:/mnt/ands" fstype=nfs4 opts=defaults,minorversion=1,_netdev,nofail,soft,nodiratime,noatime dump=0 passno=0 state="{{ ands_mount_nfs | default(false) | ternary ('mounted', 'absent') }}" + when: ands_nfs_server is defined + +- name: set mountpoints + mount: name=/mnt/pdv src="{{ ands_pdv_server }}:/pdv" fstype=nfs opts=defaults,_netdev,nofail,soft,nodiratime,noatime dump=0 passno=0 state=mounted + when: ands_pdv_server is defined + |