diff --git a/ansible.cfg b/ansible.cfg new file mode 100644 index 0000000..5f907dd --- /dev/null +++ b/ansible.cfg @@ -0,0 +1,2 @@ +[default] +retry_files_enabled = False diff --git a/aws_jira_dc_node.yml b/aws_jira_dc_node.yml index 5ca9c76..80d5083 100644 --- a/aws_jira_dc_node.yml +++ b/aws_jira_dc_node.yml @@ -9,3 +9,4 @@ - aws_linux2_common - aws_linux2_product_common - product_base + - aws_efs_config diff --git a/bin/ansible-with-atl-env b/bin/ansible-with-atl-env index 32fd8fa..99060ff 100755 --- a/bin/ansible-with-atl-env +++ b/bin/ansible-with-atl-env @@ -13,4 +13,3 @@ source $ENV_FILE set +a ansible-playbook -v -i $INV $PLAYBOOK - diff --git a/group_vars/all.yml b/group_vars/all.yml index 9e57c0d..e50f9b9 100644 --- a/group_vars/all.yml +++ b/group_vars/all.yml @@ -2,3 +2,9 @@ java_version: "1.8.0" postgres_version: "9.6" git_version: "2.14.4" +atl_shared_mountpoint: "/media/atl" + +# The following are imports from the environment. These are generally +# set in /etc/atl by the CloudFormation template and sourced before +# Ansible is run. +atl_efs_id: "{{ lookup('env', 'ATL_EFS_ID') }}" diff --git a/roles/aws_efs_config/defaults/main.yml b/roles/aws_efs_config/defaults/main.yml new file mode 100644 index 0000000..64a2f99 --- /dev/null +++ b/roles/aws_efs_config/defaults/main.yml @@ -0,0 +1,2 @@ +--- +efs_target: "{{ ansible_ec2_placement_availability_zone }}.{{ atl_efs_id }}.efs.{{ ansible_ec2_placement_region }}.amazonaws.com" diff --git a/roles/aws_efs_config/meta/main.yml b/roles/aws_efs_config/meta/main.yml new file mode 100644 index 0000000..a2ee36a --- /dev/null +++ b/roles/aws_efs_config/meta/main.yml @@ -0,0 +1,3 @@ +--- +dependencies: + - aws_metadata diff --git a/roles/aws_efs_config/tasks/main.yml b/roles/aws_efs_config/tasks/main.yml new file mode 100644 index 0000000..3d6145d --- /dev/null +++ b/roles/aws_efs_config/tasks/main.yml @@ -0,0 +1,13 @@ +--- + +- name: Enable mountpoint in fstab + # lineinfile: + # path: "/etc/fstab" + # line: "{{ efs_target }}:/ /media/atl nfs4 rw,vers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 0 0" + # notify: mount_all + mount: + path: "{{ atl_shared_mountpoint }}" + src: "{{ efs_target }}:/" + fstype: nfs4 + opts: "rw,vers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2" + state: mounted diff --git a/roles/aws_metadata/tasks/main.yml b/roles/aws_metadata/tasks/main.yml new file mode 100644 index 0000000..1df971b --- /dev/null +++ b/roles/aws_metadata/tasks/main.yml @@ -0,0 +1,8 @@ +--- + +# This role is primarily intended to be depended on via `meta` by +# roles that need runtime information available. + +- name: Fetch local EC2 metadata + ec2_metadata_facts: + diff --git a/roles/product_base/tasks/main.yml b/roles/product_base/tasks/main.yml index 4758609..d072768 100644 --- a/roles/product_base/tasks/main.yml +++ b/roles/product_base/tasks/main.yml @@ -4,3 +4,10 @@ user: name: "{{ product_user }}" comment: "Product runtime user" + +- name: Create mountpoint + file: + state: directory + path: "{{ atl_shared_mount }}" + owner: "{{ product_user }}" + mode: 0755