From 89d9902774768e7bbbfa0a56c163d635cfbee1f9 Mon Sep 17 00:00:00 2001 From: Mark Chappell Date: Fri, 13 Nov 2020 12:47:52 +0100 Subject: [PATCH 01/30] Flag aws_ssm as unstable rather than disabled --- tests/integration/targets/connection_aws_ssm/aliases | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tests/integration/targets/connection_aws_ssm/aliases b/tests/integration/targets/connection_aws_ssm/aliases index ef80db1cad5..63ca7c019de 100644 --- a/tests/integration/targets/connection_aws_ssm/aliases +++ b/tests/integration/targets/connection_aws_ssm/aliases @@ -1,6 +1,4 @@ -# reason: unstable -# reason: slow -disabled +unstable cloud/aws shippable/aws/group4 From 561763542824c9eaba112639929ea25fc9f5f1db Mon Sep 17 00:00:00 2001 From: Mark Chappell Date: Fri, 13 Nov 2020 18:29:18 +0100 Subject: [PATCH 02/30] Try tweaking the policy --- .../aws_ssm_integration_test_setup/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml index 082dc7cc2f9..38c691af2da 100644 --- a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml +++ b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml @@ -60,7 +60,7 @@ state: present create_instance_profile: yes managed_policy: - - AmazonEC2RoleforSSM + - AmazonSSMManagedInstanceCore register: role_output - name: Create S3 bucket From 6e196be5e0527af0d2f22f1aa0bd418ac802e942 Mon Sep 17 00:00:00 2001 From: Mark Chappell Date: Sat, 13 Feb 2021 16:32:13 +0100 Subject: [PATCH 03/30] no security_token --- .../aws_ssm_integration_test_setup/templates/aws-env-vars.j2 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/aws-env-vars.j2 b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/aws-env-vars.j2 index 1e3821ad847..b28729b13fb 100644 --- a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/aws-env-vars.j2 +++ b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/aws-env-vars.j2 @@ -1,4 +1,6 @@ export AWS_ACCESS_KEY_ID={{aws_access_key}} export AWS_SECRET_ACCESS_KEY={{aws_secret_key}} +{% if security_token is defined %} export AWS_SECURITY_TOKEN={{security_token}} +{% endif %} export AWS_REGION={{aws_region}} From 864234802d8b09beab726e2c1e61d5dde7940dd6 Mon Sep 17 00:00:00 2001 From: Mark Chappell Date: Fri, 13 Nov 2020 19:04:31 +0100 Subject: [PATCH 04/30] Use module_defaults rather than fact hack --- .../aws_ssm_integration_test_setup/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml index 38c691af2da..4c1d376b84d 100644 --- a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml +++ b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml @@ -1,4 +1,5 @@ --- +## Task file for setup/teardown AWS resources for aws_ssm integration testing - name: 'aws_ssm connection plugin integration test resource creation' collections: - amazon.aws @@ -9,7 +10,6 @@ security_token: '{{ security_token | default(omit) }}' region: '{{ aws_region }}' block: - - name: AMI Lookup ec2_ami_info: owners: 'amazon' From 48fda761ed0daf6c89e75cdd15349fe06efc1f4e Mon Sep 17 00:00:00 2001 From: Mark Chappell Date: Tue, 24 Nov 2020 10:52:48 +0100 Subject: [PATCH 05/30] Fix session token env var --- .../aws_ssm_integration_test_setup/templates/aws-env-vars.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/aws-env-vars.j2 b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/aws-env-vars.j2 index b28729b13fb..1ae02f8a551 100644 --- a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/aws-env-vars.j2 +++ b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/aws-env-vars.j2 @@ -1,6 +1,6 @@ export AWS_ACCESS_KEY_ID={{aws_access_key}} export AWS_SECRET_ACCESS_KEY={{aws_secret_key}} {% if security_token is defined %} -export AWS_SECURITY_TOKEN={{security_token}} +export AWS_SESSION_TOKEN={{security_token}} {% endif %} export AWS_REGION={{aws_region}} From 0ecfd2a7e5cd2ec47d44a6fbe4a2a7fcb2701e46 Mon Sep 17 00:00:00 2001 From: Mark Chappell Date: Tue, 24 Nov 2020 11:23:26 +0100 Subject: [PATCH 06/30] Move bucket creation to avoid aws-terminator whacking it. --- .../aws_ssm_integration_test_setup/tasks/main.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml index 4c1d376b84d..4af3521feaf 100644 --- a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml +++ b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml @@ -63,11 +63,6 @@ - AmazonSSMManagedInstanceCore register: role_output - - name: Create S3 bucket - s3_bucket: - name: "{{resource_prefix}}-aws-ssm-s3" - register: s3_output - - name: Wait for IAM Role getting created pause: seconds: 10 @@ -105,6 +100,11 @@ wait_for_connection: delay: 300 + - name: Create S3 bucket + s3_bucket: + name: "{{resource_prefix}}-aws-ssm-s3" + register: s3_output + - name: Create Inventory file for Linux host template: dest: "{{playbook_dir}}/inventory-linux.aws_ssm" From c6a27acfea1a317efa5918dabef96dabd4b8b017 Mon Sep 17 00:00:00 2001 From: Mark Chappell Date: Tue, 24 Nov 2020 11:24:03 +0100 Subject: [PATCH 07/30] Change the order of Instance creation, Windows takes longer to start. --- .../tasks/main.yml | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml index 4af3521feaf..e3d0d535a1c 100644 --- a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml +++ b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml @@ -67,19 +67,6 @@ pause: seconds: 10 - - name: Create Linux EC2 instance - ec2_instance: - instance_type: "{{instance_type}}" - image_id: "{{linux_ami_id}}" - wait: "yes" - instance_role: "{{role_output.iam_role.role_name}}" - name: "{{resource_prefix}}-integration-test-aws-ssm-linux" - user_data: | - #!/bin/sh - sudo systemctl start amazon-ssm-agent - state: present - register: linux_output - - name: Create Windows EC2 instance ec2_instance: instance_type: "{{instance_type}}" @@ -96,6 +83,19 @@ state: present register: windows_output + - name: Create Linux EC2 instance + ec2_instance: + instance_type: "{{instance_type}}" + image_id: "{{linux_ami_id}}" + wait: "yes" + instance_role: "{{role_output.iam_role.role_name}}" + name: "{{resource_prefix}}-integration-test-aws-ssm-linux" + user_data: | + #!/bin/sh + sudo systemctl start amazon-ssm-agent + state: present + register: linux_output + - name: Wait for EC2 to be available wait_for_connection: delay: 300 From 57c3fa6ae567d02ab9d5cd35a621d045dbd40b9d Mon Sep 17 00:00:00 2001 From: Mark Chappell Date: Tue, 24 Nov 2020 13:58:03 +0100 Subject: [PATCH 08/30] Add reset call to aws_ssm --- plugins/connection/aws_ssm.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/plugins/connection/aws_ssm.py b/plugins/connection/aws_ssm.py index c5fd3e22eef..3bd985d1b1c 100644 --- a/plugins/connection/aws_ssm.py +++ b/plugins/connection/aws_ssm.py @@ -286,6 +286,11 @@ def _connect(self): self.start_session() return self + def reset(self): + ''' start a fresh ssm session ''' + display.vvvv('reset called on ssm connection') + return self.start_session() + def start_session(self): ''' start ssm session ''' From aee502add7d51d823a3eaf85f367c6893323d862 Mon Sep 17 00:00:00 2001 From: Mark Chappell Date: Tue, 24 Nov 2020 14:00:45 +0100 Subject: [PATCH 09/30] Add a wait_for_connection call at the start of the connection tests. Reduce the delay waiting on the EC2 instances --- tests/integration/targets/connection/test_connection.yml | 3 +++ .../aws_ssm_integration_test_setup/tasks/main.yml | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/integration/targets/connection/test_connection.yml b/tests/integration/targets/connection/test_connection.yml index 21699422ff8..bb5f451b92b 100644 --- a/tests/integration/targets/connection/test_connection.yml +++ b/tests/integration/targets/connection/test_connection.yml @@ -3,6 +3,9 @@ serial: 1 tasks: + ### test wait_for_connection plugin + - wait_for_connection: + ### raw with unicode arg and output - name: raw with unicode arg and output diff --git a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml index e3d0d535a1c..fb6446247fe 100644 --- a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml +++ b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml @@ -98,7 +98,7 @@ - name: Wait for EC2 to be available wait_for_connection: - delay: 300 + delay: 150 - name: Create S3 bucket s3_bucket: From 9413141a45b47c59e7ef92de5768063dfbd2d313 Mon Sep 17 00:00:00 2001 From: Mark Chappell Date: Tue, 24 Nov 2020 14:27:23 +0100 Subject: [PATCH 10/30] Explicitly call community.aws.aws_ssm - looks like 2.9 isn't redirecting properly --- .../templates/inventory-linux.aws_ssm.j2 | 2 +- .../templates/inventory-windows.aws_ssm.j2 | 2 +- .../targets/connection_aws_ssm/inventory.aws_ssm.template | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-linux.aws_ssm.j2 b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-linux.aws_ssm.j2 index 5d4d2718717..11c9e6dcc2f 100644 --- a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-linux.aws_ssm.j2 +++ b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-linux.aws_ssm.j2 @@ -2,7 +2,7 @@ {{ linux_output.instances[0].instance_id }} ansible_aws_ssm_instance_id={{ linux_output.instances[0].instance_id }} ansible_aws_ssm_region={{ aws_region }} [aws_ssm:vars] -ansible_connection=aws_ssm +ansible_connection=community.aws.aws_ssm ansible_aws_ssm_bucket_name={{s3_output.name}} ansible_aws_ssm_plugin=/usr/local/sessionmanagerplugin/bin/session-manager-plugin ansible_python_interpreter=/usr/bin/env python diff --git a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-windows.aws_ssm.j2 b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-windows.aws_ssm.j2 index 8da68e65c75..2b7eb521eba 100644 --- a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-windows.aws_ssm.j2 +++ b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-windows.aws_ssm.j2 @@ -3,7 +3,7 @@ [aws_ssm:vars] ansible_shell_type=powershell -ansible_connection=aws_ssm +ansible_connection=community.aws.aws_ssm ansible_aws_ssm_bucket_name={{s3_output.name}} ansible_aws_ssm_plugin=/usr/local/sessionmanagerplugin/bin/session-manager-plugin diff --git a/tests/integration/targets/connection_aws_ssm/inventory.aws_ssm.template b/tests/integration/targets/connection_aws_ssm/inventory.aws_ssm.template index afbee1aeeca..dc32793baac 100644 --- a/tests/integration/targets/connection_aws_ssm/inventory.aws_ssm.template +++ b/tests/integration/targets/connection_aws_ssm/inventory.aws_ssm.template @@ -2,7 +2,7 @@ @NAME ansible_aws_ssm_instance_id=@HOST ansible_aws_ssm_region=@AWS_REGION [aws_ssm:vars] -ansible_connection=aws_ssm +ansible_connection=community.aws.aws_ssm ansible_aws_ssm_bucket_name=@S3_BUCKET # support tests that target testhost From 15e9666ac51261a85a6dde9b2a7e1e7de4b4daeb Mon Sep 17 00:00:00 2001 From: Mark Chappell Date: Tue, 24 Nov 2020 16:06:54 +0100 Subject: [PATCH 11/30] Try running SSM connection tests in parallel. --- .../targets/connection/test_connection.yml | 2 +- .../tasks/main.yml | 11 ++------ .../templates/inventory-combined.aws_ssm.j2 | 28 +++++++++++++++++++ .../templates/inventory-linux.aws_ssm.j2 | 9 ++++-- .../templates/inventory-windows.aws_ssm.j2 | 9 ++++-- .../inventory.aws_ssm.template | 10 ------- .../targets/connection_aws_ssm/runme.sh | 14 ++-------- 7 files changed, 48 insertions(+), 35 deletions(-) create mode 100644 tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-combined.aws_ssm.j2 delete mode 100644 tests/integration/targets/connection_aws_ssm/inventory.aws_ssm.template diff --git a/tests/integration/targets/connection/test_connection.yml b/tests/integration/targets/connection/test_connection.yml index bb5f451b92b..b746d8bc243 100644 --- a/tests/integration/targets/connection/test_connection.yml +++ b/tests/integration/targets/connection/test_connection.yml @@ -1,6 +1,6 @@ - hosts: "{{ target_hosts }}" gather_facts: no - serial: 1 + strategy: free tasks: ### test wait_for_connection plugin diff --git a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml index fb6446247fe..e1c6b323f75 100644 --- a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml +++ b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml @@ -105,15 +105,10 @@ name: "{{resource_prefix}}-aws-ssm-s3" register: s3_output - - name: Create Inventory file for Linux host + - name: Create Inventory file template: - dest: "{{playbook_dir}}/inventory-linux.aws_ssm" - src: inventory-linux.aws_ssm.j2 - - - name: Create Inventory file for Windows host - template: - dest: "{{playbook_dir}}/inventory-windows.aws_ssm" - src: inventory-windows.aws_ssm.j2 + dest: "{{playbook_dir}}/ssm_inventory" + src: inventory-combined.aws_ssm.j2 - name: Create AWS Keys Environement template: diff --git a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-combined.aws_ssm.j2 b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-combined.aws_ssm.j2 new file mode 100644 index 00000000000..02df5d8cb1a --- /dev/null +++ b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-combined.aws_ssm.j2 @@ -0,0 +1,28 @@ +[aws_ssm_linux] +linux_{{linux_output.instance_ids[0]}} ansible_aws_ssm_instance_id={{linux_output.instance_ids[0]}} ansible_aws_ssm_region={{aws_region}} + +[aws_ssm_linux:vars] +remote_tmp=/tmp/ansible-remote +action_prefix= + +[aws_ssm_windows] +windows_{{windows_output.instance_ids[0]}} ansible_aws_ssm_instance_id={{windows_output.instance_ids[0]}} ansible_aws_ssm_region={{aws_region}} + +[aws_ssm_windows:vars] +ansible_shell_type=powershell +remote_tmp=c:/windows/temp/ansible-remote +action_prefix=win_ + +[aws_ssm:children] +aws_ssm_linux +aws_ssm_windows + +[aws_ssm:vars] +ansible_connection=community.aws.aws_ssm +ansible_aws_ssm_bucket_name={{s3_output.name}} +ansible_aws_ssm_plugin=/usr/local/sessionmanagerplugin/bin/session-manager-plugin +ansible_python_interpreter=/usr/bin/env python + +# support tests that target testhost +[testhost:children] +aws_ssm diff --git a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-linux.aws_ssm.j2 b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-linux.aws_ssm.j2 index 11c9e6dcc2f..056086b58f0 100644 --- a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-linux.aws_ssm.j2 +++ b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-linux.aws_ssm.j2 @@ -1,11 +1,16 @@ -[aws_ssm] +[aws_ssm_linux] {{ linux_output.instances[0].instance_id }} ansible_aws_ssm_instance_id={{ linux_output.instances[0].instance_id }} ansible_aws_ssm_region={{ aws_region }} -[aws_ssm:vars] +[aws_ssm_linux:vars] ansible_connection=community.aws.aws_ssm ansible_aws_ssm_bucket_name={{s3_output.name}} ansible_aws_ssm_plugin=/usr/local/sessionmanagerplugin/bin/session-manager-plugin ansible_python_interpreter=/usr/bin/env python +remote_tmp=/tmp/ansible-remote +action_prefix= + +[aws_ssm:children] +aws_ssm_linux # support tests that target testhost [testhost:children] diff --git a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-windows.aws_ssm.j2 b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-windows.aws_ssm.j2 index 2b7eb521eba..2cbe6b82be8 100644 --- a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-windows.aws_ssm.j2 +++ b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-windows.aws_ssm.j2 @@ -1,11 +1,16 @@ -[aws_ssm] +[aws_ssm_windows] {{ windows_output.instances[0].instance_id }} ansible_aws_ssm_instance_id={{ windows_output.instances[0].instance_id }} ansible_aws_ssm_region={{ aws_regioni }} -[aws_ssm:vars] +[aws_ssm_windows:vars] ansible_shell_type=powershell ansible_connection=community.aws.aws_ssm ansible_aws_ssm_bucket_name={{s3_output.name}} ansible_aws_ssm_plugin=/usr/local/sessionmanagerplugin/bin/session-manager-plugin +remote_tmp=c:/windows/temp/ansible-remote +action_prefix=win_ + +[aws_ssm:children] +aws_ssm_linux # support tests that target testhost [testhost:children] diff --git a/tests/integration/targets/connection_aws_ssm/inventory.aws_ssm.template b/tests/integration/targets/connection_aws_ssm/inventory.aws_ssm.template deleted file mode 100644 index dc32793baac..00000000000 --- a/tests/integration/targets/connection_aws_ssm/inventory.aws_ssm.template +++ /dev/null @@ -1,10 +0,0 @@ -[aws_ssm] -@NAME ansible_aws_ssm_instance_id=@HOST ansible_aws_ssm_region=@AWS_REGION - -[aws_ssm:vars] -ansible_connection=community.aws.aws_ssm -ansible_aws_ssm_bucket_name=@S3_BUCKET - -# support tests that target testhost -[testhost:children] -aws_ssm diff --git a/tests/integration/targets/connection_aws_ssm/runme.sh b/tests/integration/targets/connection_aws_ssm/runme.sh index 1d9b38733de..9d354b8812d 100755 --- a/tests/integration/targets/connection_aws_ssm/runme.sh +++ b/tests/integration/targets/connection_aws_ssm/runme.sh @@ -25,18 +25,8 @@ set -x cd ../connection -# Execute Integration tests for Linux -INVENTORY=../connection_aws_ssm/inventory-linux.aws_ssm ./test.sh \ +# Execute Integration tests +INVENTORY=../connection_aws_ssm/ssm_inventory ./test.sh \ -e target_hosts=aws_ssm \ -e local_tmp=/tmp/ansible-local \ - -e remote_tmp=/tmp/ansible-remote \ - -e action_prefix= \ - "$@" - -# Execute Integration tests for Windows -INVENTORY=../connection_aws_ssm/inventory-windows.aws_ssm ./test.sh \ - -e target_hosts=aws_ssm \ - -e local_tmp=/tmp/ansible-local \ - -e remote_tmp=c:/windows/temp/ansible-remote \ - -e action_prefix=win_ \ "$@" From 07de9a9230e2d23c2c85a964d7cfe11a3f1b100b Mon Sep 17 00:00:00 2001 From: Mark Chappell Date: Tue, 24 Nov 2020 16:37:08 +0100 Subject: [PATCH 12/30] Delay a little more --- .../aws_ssm_integration_test_setup/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml index e1c6b323f75..240e5e085e5 100644 --- a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml +++ b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml @@ -98,7 +98,7 @@ - name: Wait for EC2 to be available wait_for_connection: - delay: 150 + delay: 300 - name: Create S3 bucket s3_bucket: From 6ccdc5ac2c02a551cb3e3ac1dad0a1823138e10d Mon Sep 17 00:00:00 2001 From: Mark Chappell Date: Wed, 25 Nov 2020 10:52:03 +0100 Subject: [PATCH 13/30] Turn file names into a variable, and make sure they're unique to the host. --- .../targets/connection/test_connection.yml | 21 ++++++++++++------- .../tasks/main.yml | 2 +- .../templates/inventory-combined.aws_ssm.j2 | 1 + .../targets/connection_aws_ssm/runme.sh | 1 - 4 files changed, 15 insertions(+), 10 deletions(-) diff --git a/tests/integration/targets/connection/test_connection.yml b/tests/integration/targets/connection/test_connection.yml index b746d8bc243..e763ce35c75 100644 --- a/tests/integration/targets/connection/test_connection.yml +++ b/tests/integration/targets/connection/test_connection.yml @@ -1,6 +1,11 @@ - hosts: "{{ target_hosts }}" gather_facts: no strategy: free + vars: + local_dir: '{{ local_tmp }}-{{ inventory_hostname }}-汉语' + local_file: '{{ local_dir }}/汉语.txt' + remote_dir: '{{ remote_tmp }}-汉语' + remote_file: '{{ remote_dir }}/汉语.txt' tasks: ### test wait_for_connection plugin @@ -20,27 +25,27 @@ ### copy local file with unicode filename and content - name: create local file with unicode filename and content - local_action: lineinfile dest={{ local_tmp }}-汉语/汉语.txt create=true line=汉语 + local_action: lineinfile dest={{ local_file }} create=true line=汉语 - name: remove remote file with unicode filename and content - action: "{{ action_prefix }}file path={{ remote_tmp }}-汉语/汉语.txt state=absent" + action: "{{ action_prefix }}file path={{ remote_file }} state=absent" - name: create remote directory with unicode name - action: "{{ action_prefix }}file path={{ remote_tmp }}-汉语 state=directory" + action: "{{ action_prefix }}file path={{ remote_dir }} state=directory" - name: copy local file with unicode filename and content - action: "{{ action_prefix }}copy src={{ local_tmp }}-汉语/汉语.txt dest={{ remote_tmp }}-汉语/汉语.txt" + action: "{{ action_prefix }}copy src={{ local_file }} dest={{ remote_file }}" ### fetch remote file with unicode filename and content - name: remove local file with unicode filename and content - local_action: file path={{ local_tmp }}-汉语/汉语.txt state=absent + local_action: file path={{ local_file }} state=absent - name: fetch remote file with unicode filename and content - fetch: src={{ remote_tmp }}-汉语/汉语.txt dest={{ local_tmp }}-汉语/汉语.txt fail_on_missing=true validate_checksum=true flat=true + fetch: src={{ remote_file }} dest={{ local_file }} fail_on_missing=true validate_checksum=true flat=true ### remove local and remote temp files - name: remove local temp file - local_action: file path={{ local_tmp }}-汉语 state=absent + local_action: file path={{ local_file }} state=absent - name: remove remote temp file - action: "{{ action_prefix }}file path={{ remote_tmp }}-汉语 state=absent" + action: "{{ action_prefix }}file path={{ remote_file }} state=absent" ### test wait_for_connection plugin - wait_for_connection: diff --git a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml index 240e5e085e5..a2aab0a3380 100644 --- a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml +++ b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml @@ -98,7 +98,7 @@ - name: Wait for EC2 to be available wait_for_connection: - delay: 300 + delay: 360 - name: Create S3 bucket s3_bucket: diff --git a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-combined.aws_ssm.j2 b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-combined.aws_ssm.j2 index 02df5d8cb1a..c32f60d95c2 100644 --- a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-combined.aws_ssm.j2 +++ b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-combined.aws_ssm.j2 @@ -22,6 +22,7 @@ ansible_connection=community.aws.aws_ssm ansible_aws_ssm_bucket_name={{s3_output.name}} ansible_aws_ssm_plugin=/usr/local/sessionmanagerplugin/bin/session-manager-plugin ansible_python_interpreter=/usr/bin/env python +local_tmp=/tmp/ansible-local- # support tests that target testhost [testhost:children] diff --git a/tests/integration/targets/connection_aws_ssm/runme.sh b/tests/integration/targets/connection_aws_ssm/runme.sh index 9d354b8812d..e40675a5f3e 100755 --- a/tests/integration/targets/connection_aws_ssm/runme.sh +++ b/tests/integration/targets/connection_aws_ssm/runme.sh @@ -28,5 +28,4 @@ cd ../connection # Execute Integration tests INVENTORY=../connection_aws_ssm/ssm_inventory ./test.sh \ -e target_hosts=aws_ssm \ - -e local_tmp=/tmp/ansible-local \ "$@" From da992c5964ba236f6296ec8af9246fb245a44fd8 Mon Sep 17 00:00:00 2001 From: Mark Chappell Date: Wed, 25 Nov 2020 13:53:12 +0100 Subject: [PATCH 14/30] Try bumping up the instance size --- .../aws_ssm_integration_test_setup/defaults/main.yml | 4 ++-- .../aws_ssm_integration_test_setup/tasks/main.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/defaults/main.yml b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/defaults/main.yml index f158bf3f4b5..f8766ca3474 100644 --- a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/defaults/main.yml +++ b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/defaults/main.yml @@ -1,5 +1,5 @@ --- -instance_type: t2.micro -linux_ami_name: amzn-ami-hvm-2018.03.0.20190611-x86_64-ebs +instance_type: m1.large +linux_ami_name: amzn-ami-hvm-2018.03*x86_64-ebs # Windows AMIs get replaced every few months, don't be too specific windows_ami_name: Windows_Server-2019-English-Full-Base-* diff --git a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml index a2aab0a3380..240e5e085e5 100644 --- a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml +++ b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml @@ -98,7 +98,7 @@ - name: Wait for EC2 to be available wait_for_connection: - delay: 360 + delay: 300 - name: Create S3 bucket s3_bucket: From 639c5ff61adc2f7c5d7b2aeb423354503120d284 Mon Sep 17 00:00:00 2001 From: Mark Chappell Date: Fri, 4 Dec 2020 10:45:04 +0100 Subject: [PATCH 15/30] More delays... --- .../aws_ssm_integration_test_setup/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml index 240e5e085e5..a2aab0a3380 100644 --- a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml +++ b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml @@ -98,7 +98,7 @@ - name: Wait for EC2 to be available wait_for_connection: - delay: 300 + delay: 360 - name: Create S3 bucket s3_bucket: From dc7f488e5ddef4dffed99fca27661bf0c4e0c830 Mon Sep 17 00:00:00 2001 From: Mark Chappell Date: Sat, 13 Feb 2021 17:11:11 +0100 Subject: [PATCH 16/30] Remove unused imports --- plugins/connection/aws_ssm.py | 2 -- tests/unit/plugins/connection/test_aws_ssm.py | 8 +------- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/plugins/connection/aws_ssm.py b/plugins/connection/aws_ssm.py index 3bd985d1b1c..339a89a5ac5 100644 --- a/plugins/connection/aws_ssm.py +++ b/plugins/connection/aws_ssm.py @@ -179,10 +179,8 @@ from botocore.client import Config from functools import wraps -from ansible import constants as C from ansible.errors import AnsibleConnectionFailure, AnsibleError, AnsibleFileNotFound from ansible.module_utils.basic import missing_required_lib -from ansible.module_utils.six import PY3 from ansible.module_utils.six.moves import xrange from ansible.module_utils._text import to_bytes, to_native, to_text from ansible.plugins.connection import ConnectionBase diff --git a/tests/unit/plugins/connection/test_aws_ssm.py b/tests/unit/plugins/connection/test_aws_ssm.py index 27c4ddbec46..5d1db52efec 100644 --- a/tests/unit/plugins/connection/test_aws_ssm.py +++ b/tests/unit/plugins/connection/test_aws_ssm.py @@ -5,15 +5,9 @@ from io import StringIO import pytest import sys -from ansible import constants as C -from ansible.compat.selectors import SelectorKey, EVENT_READ from ansible_collections.community.aws.tests.unit.compat import unittest -from ansible_collections.community.aws.tests.unit.compat.mock import patch, MagicMock, PropertyMock -from ansible.errors import AnsibleError, AnsibleConnectionFailure, AnsibleFileNotFound -from ansible.module_utils.six.moves import shlex_quote -from ansible.module_utils._text import to_bytes +from ansible_collections.community.aws.tests.unit.compat.mock import patch, MagicMock from ansible.playbook.play_context import PlayContext -from ansible_collections.community.aws.plugins.connection import aws_ssm from ansible.plugins.loader import connection_loader From 43a38149bbd187fa7070e8d53b2bf15def54e041 Mon Sep 17 00:00:00 2001 From: Mark Chappell Date: Sat, 13 Feb 2021 17:11:53 +0100 Subject: [PATCH 17/30] Move botocore import into HAS_BOTO3 try block --- plugins/connection/aws_ssm.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/connection/aws_ssm.py b/plugins/connection/aws_ssm.py index 339a89a5ac5..626167c62d9 100644 --- a/plugins/connection/aws_ssm.py +++ b/plugins/connection/aws_ssm.py @@ -172,11 +172,11 @@ try: import boto3 + from botocore.client import Config HAS_BOTO_3 = True except ImportError as e: HAS_BOTO_3_ERROR = str(e) HAS_BOTO_3 = False -from botocore.client import Config from functools import wraps from ansible.errors import AnsibleConnectionFailure, AnsibleError, AnsibleFileNotFound From 1ea16047bb3659c7d0fcb4ec6e6e3f774557d88a Mon Sep 17 00:00:00 2001 From: Mark Chappell Date: Sat, 13 Feb 2021 20:41:19 +0100 Subject: [PATCH 18/30] Make sure that path_unescaped initial string is unicode because out_path can be --- plugins/connection/aws_ssm.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/connection/aws_ssm.py b/plugins/connection/aws_ssm.py index 626167c62d9..994eb55f278 100644 --- a/plugins/connection/aws_ssm.py +++ b/plugins/connection/aws_ssm.py @@ -528,7 +528,7 @@ def _get_boto_client(self, service, region_name=None): def _file_transport_command(self, in_path, out_path, ssm_action): ''' transfer a file from using an intermediate S3 bucket ''' - path_unescaped = "{0}/{1}".format(self.instance_id, out_path) + path_unescaped = u"{0}/{1}".format(self.instance_id, out_path) s3_path = path_unescaped.replace('\\', '/') bucket_url = 's3://%s/%s' % (self.get_option('bucket_name'), s3_path) From edb708f7d62f96d731f200268dd23c6da5ee31c2 Mon Sep 17 00:00:00 2001 From: Mark Chappell Date: Sat, 13 Feb 2021 21:13:39 +0100 Subject: [PATCH 19/30] Don't wait for the Windows VM before starting the Linux one --- .../tasks/main.yml | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml index a2aab0a3380..1b9d06a7b1f 100644 --- a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml +++ b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml @@ -71,7 +71,7 @@ ec2_instance: instance_type: "{{instance_type}}" image_id: "{{windows_ami_id}}" - wait: "yes" + wait: no instance_role: "{{role_output.iam_role.role_name}}" name: "{{resource_prefix}}-integration-test-aws-ssm-windows" user_data: | @@ -81,6 +81,8 @@ Restart-Service AmazonSSMAgent state: present + tags: + TestPrefix: '{{ resource_prefix }}' register: windows_output - name: Create Linux EC2 instance @@ -94,12 +96,25 @@ #!/bin/sh sudo systemctl start amazon-ssm-agent state: present + tags: + TestPrefix: '{{ resource_prefix }}' register: linux_output + # This is just a delay, current host is localhost - name: Wait for EC2 to be available wait_for_connection: delay: 360 + - name: Fetch info about instances + ec2_instance_info: + filters: + "tag:TestPrefix": '{{ resource_prefix }}' + register: instances_info + + - name: Display instance info + debug: + var: instances_info + - name: Create S3 bucket s3_bucket: name: "{{resource_prefix}}-aws-ssm-s3" From 5c9b77fa4fab135086f89c5df9b364c50c460cd9 Mon Sep 17 00:00:00 2001 From: Mark Chappell Date: Sat, 13 Feb 2021 21:16:41 +0100 Subject: [PATCH 20/30] Add a note why the test is 'unstable' --- tests/integration/targets/connection_aws_ssm/aliases | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/integration/targets/connection_aws_ssm/aliases b/tests/integration/targets/connection_aws_ssm/aliases index 63ca7c019de..4f28d1ebf75 100644 --- a/tests/integration/targets/connection_aws_ssm/aliases +++ b/tests/integration/targets/connection_aws_ssm/aliases @@ -1,3 +1,5 @@ +# reason: slow +# This test suite can take almost 25 minutes (on a good day) unstable cloud/aws From fb5456c83bbbd2a62d24206e597a8ef09fffc613 Mon Sep 17 00:00:00 2001 From: Mark Chappell Date: Sat, 13 Feb 2021 21:25:38 +0100 Subject: [PATCH 21/30] Use EBS optimized volumes to improve Windows boot speed. --- .../aws_ssm_integration_test_setup/tasks/main.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml index 1b9d06a7b1f..c5f9695c487 100644 --- a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml +++ b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml @@ -70,6 +70,7 @@ - name: Create Windows EC2 instance ec2_instance: instance_type: "{{instance_type}}" + ebs_optimized: True image_id: "{{windows_ami_id}}" wait: no instance_role: "{{role_output.iam_role.role_name}}" @@ -88,6 +89,7 @@ - name: Create Linux EC2 instance ec2_instance: instance_type: "{{instance_type}}" + ebs_optimized: True image_id: "{{linux_ami_id}}" wait: "yes" instance_role: "{{role_output.iam_role.role_name}}" From 9c89b9d9eac76ae9c35c84a602658e1a6cde7047 Mon Sep 17 00:00:00 2001 From: Mark Chappell Date: Sun, 14 Feb 2021 09:07:01 +0100 Subject: [PATCH 22/30] Try disabling the Windows connection test - Windows is very slow to start --- .../templates/inventory-combined.aws_ssm.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-combined.aws_ssm.j2 b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-combined.aws_ssm.j2 index c32f60d95c2..e62b076789b 100644 --- a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-combined.aws_ssm.j2 +++ b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-combined.aws_ssm.j2 @@ -15,7 +15,7 @@ action_prefix=win_ [aws_ssm:children] aws_ssm_linux -aws_ssm_windows +# aws_ssm_windows [aws_ssm:vars] ansible_connection=community.aws.aws_ssm From 468908b954045d18c7aaa7c9874e7e171820d6f1 Mon Sep 17 00:00:00 2001 From: Mark Chappell Date: Sun, 14 Feb 2021 09:10:38 +0100 Subject: [PATCH 23/30] instances sometimes isn't there if the host took to long to start, use instance_ids --- .../templates/ec2_linux_vars_to_delete.yml.j2 | 2 +- .../templates/ec2_windows_vars_to_delete.yml.j2 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/ec2_linux_vars_to_delete.yml.j2 b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/ec2_linux_vars_to_delete.yml.j2 index 966444d3ac4..06a2f8fd9d6 100644 --- a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/ec2_linux_vars_to_delete.yml.j2 +++ b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/ec2_linux_vars_to_delete.yml.j2 @@ -1,2 +1,2 @@ --- -linux_instance_id: {{ linux_output.instances[0].instance_id }} +linux_instance_id: {{ linux_output.instance_ids[0] }} diff --git a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/ec2_windows_vars_to_delete.yml.j2 b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/ec2_windows_vars_to_delete.yml.j2 index c123bb2e83b..67c00ebf8aa 100644 --- a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/ec2_windows_vars_to_delete.yml.j2 +++ b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/ec2_windows_vars_to_delete.yml.j2 @@ -1,2 +1,2 @@ --- -windows_instance_id: {{ windows_output.instances[0].instance_id }} +windows_instance_id: {{ windows_output.instance_ids[0] }} From c3c775b69713a3162239c536b6f6e18b50a474a7 Mon Sep 17 00:00:00 2001 From: Mark Chappell Date: Mon, 15 Feb 2021 15:19:48 +0100 Subject: [PATCH 24/30] changelog --- changelogs/fragments/295-connection-aws_ssm.yml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 changelogs/fragments/295-connection-aws_ssm.yml diff --git a/changelogs/fragments/295-connection-aws_ssm.yml b/changelogs/fragments/295-connection-aws_ssm.yml new file mode 100644 index 00000000000..049d3d9f334 --- /dev/null +++ b/changelogs/fragments/295-connection-aws_ssm.yml @@ -0,0 +1,2 @@ +bugfixes: +- aws_ssm - fixed ``UnicodeEncodeError`` error when using unicode file names (https://github.com/ansible-collections/community.aws/pull/295). From 790e93a34990e9de090b1f1c403ff5babb503722 Mon Sep 17 00:00:00 2001 From: Mark Chappell Date: Mon, 15 Feb 2021 21:00:00 +0100 Subject: [PATCH 25/30] Remove duplicate wait --- tests/integration/targets/connection/test_connection.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/tests/integration/targets/connection/test_connection.yml b/tests/integration/targets/connection/test_connection.yml index e763ce35c75..a873c2b5526 100644 --- a/tests/integration/targets/connection/test_connection.yml +++ b/tests/integration/targets/connection/test_connection.yml @@ -46,6 +46,3 @@ local_action: file path={{ local_file }} state=absent - name: remove remote temp file action: "{{ action_prefix }}file path={{ remote_file }} state=absent" - - ### test wait_for_connection plugin - - wait_for_connection: From 1d9570b2d6afd6fff777a15fedd3f3ae081678ee Mon Sep 17 00:00:00 2001 From: Mark Chappell Date: Mon, 15 Feb 2021 21:06:48 +0100 Subject: [PATCH 26/30] Move to more modern instance type --- .../aws_ssm_integration_test_setup/defaults/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/defaults/main.yml b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/defaults/main.yml index f8766ca3474..30c2ccddc51 100644 --- a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/defaults/main.yml +++ b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/defaults/main.yml @@ -1,5 +1,5 @@ --- -instance_type: m1.large +instance_type: t3.micro linux_ami_name: amzn-ami-hvm-2018.03*x86_64-ebs # Windows AMIs get replaced every few months, don't be too specific windows_ami_name: Windows_Server-2019-English-Full-Base-* From 33e0f7d882f4587fd887bb45ca20812018e088b6 Mon Sep 17 00:00:00 2001 From: Mark Chappell Date: Mon, 15 Feb 2021 21:07:05 +0100 Subject: [PATCH 27/30] Don't try installing boto, it's already available in the images --- .../aws_ssm_integration_test_setup/tasks/main.yml | 8 -------- 1 file changed, 8 deletions(-) diff --git a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml index c5f9695c487..fb6ee5aa386 100644 --- a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml +++ b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml @@ -45,14 +45,6 @@ - install_plugin_debian is skipped - install_plugin_redhat is skipped - - name: Install Boto3 - pip: - name: boto3 - - - name: Install Boto - pip: - name: boto - - name: Ensure IAM instance role exists iam_role: name: "ansible-test-{{resource_prefix}}-aws-ssm-role" From 0add76f582adae4acc1412db5c9b660e1d1ade5d Mon Sep 17 00:00:00 2001 From: Mark Chappell Date: Mon, 15 Feb 2021 21:07:14 +0100 Subject: [PATCH 28/30] remove debugging --- .../aws_ssm_integration_test_setup/tasks/main.yml | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml index fb6ee5aa386..2b1cc70d8be 100644 --- a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml +++ b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/tasks/main.yml @@ -99,16 +99,6 @@ wait_for_connection: delay: 360 - - name: Fetch info about instances - ec2_instance_info: - filters: - "tag:TestPrefix": '{{ resource_prefix }}' - register: instances_info - - - name: Display instance info - debug: - var: instances_info - - name: Create S3 bucket s3_bucket: name: "{{resource_prefix}}-aws-ssm-s3" From c49c95862aa093f76bf19a1c2e096a87bc506e9b Mon Sep 17 00:00:00 2001 From: Mark Chappell Date: Mon, 15 Feb 2021 21:08:33 +0100 Subject: [PATCH 29/30] Remove old (unused) inventory templates --- .../templates/inventory-linux.aws_ssm.j2 | 17 ----------------- .../templates/inventory-windows.aws_ssm.j2 | 17 ----------------- 2 files changed, 34 deletions(-) delete mode 100644 tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-linux.aws_ssm.j2 delete mode 100644 tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-windows.aws_ssm.j2 diff --git a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-linux.aws_ssm.j2 b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-linux.aws_ssm.j2 deleted file mode 100644 index 056086b58f0..00000000000 --- a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-linux.aws_ssm.j2 +++ /dev/null @@ -1,17 +0,0 @@ -[aws_ssm_linux] -{{ linux_output.instances[0].instance_id }} ansible_aws_ssm_instance_id={{ linux_output.instances[0].instance_id }} ansible_aws_ssm_region={{ aws_region }} - -[aws_ssm_linux:vars] -ansible_connection=community.aws.aws_ssm -ansible_aws_ssm_bucket_name={{s3_output.name}} -ansible_aws_ssm_plugin=/usr/local/sessionmanagerplugin/bin/session-manager-plugin -ansible_python_interpreter=/usr/bin/env python -remote_tmp=/tmp/ansible-remote -action_prefix= - -[aws_ssm:children] -aws_ssm_linux - -# support tests that target testhost -[testhost:children] -aws_ssm diff --git a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-windows.aws_ssm.j2 b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-windows.aws_ssm.j2 deleted file mode 100644 index 2cbe6b82be8..00000000000 --- a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-windows.aws_ssm.j2 +++ /dev/null @@ -1,17 +0,0 @@ -[aws_ssm_windows] -{{ windows_output.instances[0].instance_id }} ansible_aws_ssm_instance_id={{ windows_output.instances[0].instance_id }} ansible_aws_ssm_region={{ aws_regioni }} - -[aws_ssm_windows:vars] -ansible_shell_type=powershell -ansible_connection=community.aws.aws_ssm -ansible_aws_ssm_bucket_name={{s3_output.name}} -ansible_aws_ssm_plugin=/usr/local/sessionmanagerplugin/bin/session-manager-plugin -remote_tmp=c:/windows/temp/ansible-remote -action_prefix=win_ - -[aws_ssm:children] -aws_ssm_linux - -# support tests that target testhost -[testhost:children] -aws_ssm From 25772727b17e3454d2b8773868c387d041513878 Mon Sep 17 00:00:00 2001 From: Mark Chappell Date: Mon, 15 Feb 2021 21:09:27 +0100 Subject: [PATCH 30/30] Add comment --- .../templates/inventory-combined.aws_ssm.j2 | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-combined.aws_ssm.j2 b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-combined.aws_ssm.j2 index e62b076789b..1788a9a8445 100644 --- a/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-combined.aws_ssm.j2 +++ b/tests/integration/targets/connection_aws_ssm/aws_ssm_integration_test_setup/templates/inventory-combined.aws_ssm.j2 @@ -15,6 +15,7 @@ action_prefix=win_ [aws_ssm:children] aws_ssm_linux +## To run the connection test uncomment here # aws_ssm_windows [aws_ssm:vars]