diff --git a/roles/aws_common/defaults/main.yml b/roles/aws_common/defaults/main.yml new file mode 100644 index 0000000..08808bc --- /dev/null +++ b/roles/aws_common/defaults/main.yml @@ -0,0 +1,5 @@ +--- + +# See https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/download-cloudwatch-agent-commandline.html +aws_download_region: "{{ ansible_ec2_placement_region | default('us-west-2') }}" +aws_cloudwatch_agent_rpm: "https://s3.{{ aws_download_region }}.amazonaws.com/amazoncloudwatch-agent-{{ aws_download_region }}/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm" diff --git a/roles/aws_common/molecule/default/tests/test_default.py b/roles/aws_common/molecule/default/tests/test_default.py index 9f4b6c8..cf68ac4 100644 --- a/roles/aws_common/molecule/default/tests/test_default.py +++ b/roles/aws_common/molecule/default/tests/test_default.py @@ -10,7 +10,8 @@ testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner( @pytest.mark.parametrize('exe', [ '/usr/bin/ec2-metadata', '/usr/bin/amazon-ssm-agent', - '/sbin/mount.efs' + '/sbin/mount.efs', + '/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent' ]) def test_package_exes(host, exe): assert host.file(exe).exists diff --git a/roles/aws_common/tasks/amazon.yml b/roles/aws_common/tasks/amazon.yml index 4c2aebb..2f0ba7f 100644 --- a/roles/aws_common/tasks/amazon.yml +++ b/roles/aws_common/tasks/amazon.yml @@ -6,3 +6,4 @@ - ec2-utils - amazon-ssm-agent - amazon-efs-utils + - "{{ aws_cloudwatch_agent_rpm }}" diff --git a/roles/aws_common/tasks/main.yml b/roles/aws_common/tasks/main.yml index 087b681..0f4b0cd 100644 --- a/roles/aws_common/tasks/main.yml +++ b/roles/aws_common/tasks/main.yml @@ -1,13 +1,13 @@ --- -- name: Install distro-specific prerequisites - include_tasks: "{{ ansible_distribution|lower }}.yml" - - name: Fetch local EC2 metadata ec2_metadata_facts: tags: - notest +- name: Install distro-specific prerequisites + include_tasks: "{{ ansible_distribution|lower }}.yml" + - name: Use EC2 instance ID for cluster node ID set_fact: atl_cluster_node_id: "{{ ansible_ec2_instance_id }}"