summaryrefslogtreecommitdiffstats
path: root/roles/ands_storage
diff options
context:
space:
mode:
Diffstat (limited to 'roles/ands_storage')
-rw-r--r--roles/ands_storage/defaults/main.yml5
-rw-r--r--roles/ands_storage/tasks/ipecompute2.yml17
-rw-r--r--roles/ands_storage/tasks/ipecompute4.yml42
-rw-r--r--roles/ands_storage/tasks/main.yml15
-rw-r--r--roles/ands_storage/tasks/nfs.yml15
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
+