--- # Copyright 2016, @WalmartLabs, Bangalore. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. #This role is to mount the drives in swift object node and is optional. #This gets executed only when the flag 'mount_drives' in swift configuration #file is set to true. - name: Mount drives in swift object servers hosts: swift_hosts user: root vars: device_path: 'opt' filesystem_to_mount: 'xfs' tasks: - name: "Set swift_vars if undefined" set_fact: swift_vars: "{}" when: swift_vars is not defined - name: "Create mount point directory" file: state: "directory" path: "{{ swift_vars.mount_point | default(swift.mount_point) }}/{{ item.name }}" with_items: swift_vars.drives when: swift_vars.drives is defined - name: "Create mount point directory" file: state: "directory" path: "{{ swift_vars.mount_point | default(swift.mount_point) }}/{{ item.name }}" with_items: swift.drives when: swift_vars.drives is not defined - name: "Format to {{ filesystem_to_mount }}" filesystem: fstype: "{{ filesystem_to_mount }}" dev: "/{{ device_path }}/{{ item.name }}" force: "yes" with_items: swift_vars.drives when: swift_vars.drives is defined - name: "Format to {{ filesystem_to_mount }}" filesystem: fstype: "{{ filesystem_to_mount }}" dev: "/{{ device_path }}/{{ item.name }}" force: "yes" with_items: swift.drives when: swift_vars.drives is not defined - name: "Mount the storage" mount: name: "{{ swift_vars.mount_point | default(swift.mount_point) }}/{{ item.name }}" src: "/{{ device_path }}/{{ item.name }}" fstype: "{{ filesystem_to_mount }}" opts: "rw,noatime,nodiratime,nobarrier,inode64,delaylog,logbufs=8,logbsize=256k,allocsize=4M" dump: 0 passno: 0 state: "mounted" with_items: swift_vars.drives when: swift_vars.drives is defined - name: "Mount the storage" mount: name: "{{ swift_vars.mount_point | default(swift.mount_point) }}/{{ item.name }}" src: "/{{ device_path }}/{{ item.name }}" fstype: "{{ filesystem_to_mount }}" opts: "rw,noatime,nodiratime,nobarrier,inode64,delaylog,logbufs=8,logbsize=256k,allocsize=4M" dump: 0 passno: 0 state: "mounted" with_items: swift.drives when: swift_vars.drives is not defined