ansible-ops-management/tasks/efs_mount.yml

62 lines
1.4 KiB
YAML

---
# Requires amazon-efs-utils; included, but should probably be split out?
#
- name: "Create directories"
ansible.builtin.file:
name: "{{ item.mount_point }}"
mode: '0755'
owner: root
group: root
state: directory
- name: "Install rocky-release-cloud"
become: true
become_user: root
ansible.builtin.dnf:
name: "rocky-release-cloud"
state: present
tags:
- amazon_efs_utils
- packages
- mounts
- name: "Installing amazon-efs-utils"
become: true
become_user: root
ansible.builtin.dnf:
name: "amazon-efs-utils"
state: present
tags:
- amazon_efs_utils
- packages
- mounts
- name: "Gathering ec2 facts"
amazon.aws.ec2_metadata_facts:
tags:
- mounts
# "you can use /etc/hosts" https://github.com/aws/efs-utils/issues/1
- name: "Install custom hosts file because fmlC-w amazon said so."
become: true
become_user: root
ansible.builtin.lineinfile:
path: /etc/hosts
line: "{{ item.ip_map[ansible_ec2_placement_availability_zone] }} {{ item.fsid }}.efs.{{ ansible_ec2_placement_region }}.amazonaws.com"
create: true
tags:
- mounts
- name: "Creating and mounting {{ item.fsid }} at {{ item.mount_point }}"
become: true
become_user: root
ansible.posix.mount:
path: "{{ item.mount_point }}"
src: "{{ item.fsid }}:/"
fstype: "{{ item.fstype }}"
opts: "{{ item.fsopts | join(',') }}"
state: "{{ item.state | default('mounted') }}"
tags:
- mounts
...