aws_codebuild tests - add retries and delay instead of a pause task (#61731)
- Add retries instead of a pause task - Shorten the IAM role name length - Put the IAM role name in defaults/main.yml instead - Fix the aws_codepipeline tests too
This commit is contained in:
parent
91ccb03552
commit
9ee0deea24
4 changed files with 18 additions and 11 deletions
|
@ -1,2 +1,7 @@
|
|||
---
|
||||
# defaults file for aws_codebuild
|
||||
|
||||
# IAM role names have to be less than 64 characters
|
||||
# The 8 digit identifier at the end of resource_prefix helps determine during
|
||||
# which test something was created and allows tests to be run in parallel
|
||||
iam_role_name: "ansible-test-sts-{{ resource_prefix | regex_search('([0-9]+)$') }}-codebuild-service-role"
|
||||
|
|
|
@ -18,17 +18,13 @@
|
|||
|
||||
- name: create IAM role needed for CodeBuild
|
||||
iam_role:
|
||||
name: "ansible-test-sts-{{ resource_prefix }}-codebuild-service-role"
|
||||
name: "{{ iam_role_name }}"
|
||||
description: Role with permissions for CodeBuild actions.
|
||||
assume_role_policy_document: "{{ lookup('file', 'codebuild_iam_trust_policy.json') }}"
|
||||
state: present
|
||||
<<: *aws_connection_info
|
||||
register: codebuild_iam_role
|
||||
|
||||
- name: Wait until IAM role is available
|
||||
pause:
|
||||
seconds: 10
|
||||
|
||||
- name: Set variable with aws account id
|
||||
set_fact:
|
||||
aws_account_id: "{{ codebuild_iam_role.iam_role.arn.split(':')[4] }}"
|
||||
|
@ -61,6 +57,9 @@
|
|||
state: present
|
||||
<<: *aws_connection_info
|
||||
register: output
|
||||
retries: 10
|
||||
delay: 5
|
||||
until: output is success
|
||||
|
||||
- assert:
|
||||
that:
|
||||
|
@ -115,6 +114,6 @@
|
|||
|
||||
- name: cleanup IAM role created for CodeBuild test
|
||||
iam_role:
|
||||
name: "{{ resource_prefix }}-codebuild-service-role"
|
||||
name: "{{ iam_role_name }}"
|
||||
state: absent
|
||||
<<: *aws_connection_info
|
||||
|
|
|
@ -2,4 +2,8 @@
|
|||
# defaults file for aws_codepipeline
|
||||
|
||||
codepipeline_name: "{{ resource_prefix }}-test-codepipeline"
|
||||
codepipeline_service_role_name: "ansible-test-sts-{{ resource_prefix }}-codepipeline-role"
|
||||
|
||||
# IAM role names have to be less than 64 characters
|
||||
# The 8 digit identifier at the end of resource_prefix helps determine during
|
||||
# which test something was created and allows tests to be run in parallel
|
||||
codepipeline_service_role_name: "ansible-test-sts-{{ resource_prefix | regex_search('([0-9]+)$') }}-codebuild-service-role"
|
||||
|
|
|
@ -25,10 +25,6 @@
|
|||
<<: *aws_connection_info
|
||||
register: codepipeline_iam_role
|
||||
|
||||
- name: Pause a few seconds to ensure IAM role is available to next task
|
||||
pause:
|
||||
seconds: 10
|
||||
|
||||
# ================== integration test ==========================================
|
||||
|
||||
- name: create CodePipeline
|
||||
|
@ -69,6 +65,9 @@
|
|||
state: present
|
||||
<<: *aws_connection_info
|
||||
register: output
|
||||
retries: 10
|
||||
delay: 5
|
||||
until: output is success
|
||||
|
||||
- assert:
|
||||
that:
|
||||
|
|
Loading…
Reference in a new issue