mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Tower callback fixes (#35927)
* Fix tower_callback script return code * Add ec2_key parameter to integration tests
This commit is contained in:
parent
c3523cdd60
commit
f4d896c716
2 changed files with 18 additions and 6 deletions
|
@ -639,21 +639,19 @@ def tower_callback_script(tower_conf, windows=False, passwd=None):
|
||||||
if p not in tower_conf:
|
if p not in tower_conf:
|
||||||
module.fail_json(msg="Incomplete tower_callback configuration. tower_callback.{0} not set.".format(p))
|
module.fail_json(msg="Incomplete tower_callback configuration. tower_callback.{0} not set.".format(p))
|
||||||
|
|
||||||
tpl = string.Template(textwrap.dedent("""
|
tpl = string.Template(textwrap.dedent("""#!/bin/bash
|
||||||
#!/bin/bash
|
|
||||||
exec > /tmp/tower_callback.log 2>&1
|
|
||||||
set -x
|
set -x
|
||||||
|
|
||||||
retry_attempts=10
|
retry_attempts=10
|
||||||
attempt=0
|
attempt=0
|
||||||
while [[ $attempt -lt $retry_attempts ]]
|
while [[ $attempt -lt $retry_attempts ]]
|
||||||
do
|
do
|
||||||
status_code=`curl -k -s -i \
|
status_code=`curl --max-time 10 -v -k -s -i \
|
||||||
--data "host_config_key=${host_config_key}" \
|
--data "host_config_key=${host_config_key}" \
|
||||||
https://${tower_address}/api/v1/job_templates/${template_id}/callback/ \
|
https://${tower_address}/api/v1/job_templates/${template_id}/callback/ \
|
||||||
| head -n 1 \
|
| head -n 1 \
|
||||||
| awk '{print $2}'`
|
| awk '{print $2}'`
|
||||||
if [[ $status_code == 202 ]]
|
if [[ $status_code == 201 ]]
|
||||||
then
|
then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
@ -928,7 +926,7 @@ def build_top_level_options(params):
|
||||||
if params.get('detailed_monitoring', False):
|
if params.get('detailed_monitoring', False):
|
||||||
spec['Monitoring'] = {'Enabled': True}
|
spec['Monitoring'] = {'Enabled': True}
|
||||||
if params.get('cpu_credit_specification') is not None:
|
if params.get('cpu_credit_specification') is not None:
|
||||||
spec['CreditSpecification'] = params.get('cpu_credit_specification')
|
spec['CreditSpecification'] = {'CpuCredits': params.get('cpu_credit_specification')}
|
||||||
if params.get('tenancy') is not None:
|
if params.get('tenancy') is not None:
|
||||||
spec['Placement'] = {'Tenancy': params.get('tenancy')}
|
spec['Placement'] = {'Tenancy': params.get('tenancy')}
|
||||||
if (params.get('network') or {}).get('ebs_optimized') is not None:
|
if (params.get('network') or {}).get('ebs_optimized') is not None:
|
||||||
|
|
|
@ -22,9 +22,14 @@
|
||||||
<<: *aws_connection_info
|
<<: *aws_connection_info
|
||||||
register: eni_b
|
register: eni_b
|
||||||
|
|
||||||
|
- ec2_key:
|
||||||
|
name: "{{ resource_prefix }}_test_key"
|
||||||
|
<<: *aws_connection_info
|
||||||
|
|
||||||
- name: Make instance in the testing subnet created in the test VPC
|
- name: Make instance in the testing subnet created in the test VPC
|
||||||
ec2_instance:
|
ec2_instance:
|
||||||
name: "{{ resource_prefix }}-test-eni-vpc"
|
name: "{{ resource_prefix }}-test-eni-vpc"
|
||||||
|
key_name: "{{ resource_prefix }}_test_key"
|
||||||
network:
|
network:
|
||||||
interfaces:
|
interfaces:
|
||||||
- id: "{{ eni_a.interface.id }}"
|
- id: "{{ eni_a.interface.id }}"
|
||||||
|
@ -36,6 +41,11 @@
|
||||||
<<: *aws_connection_info
|
<<: *aws_connection_info
|
||||||
register: in_test_vpc
|
register: in_test_vpc
|
||||||
|
|
||||||
|
- assert:
|
||||||
|
that:
|
||||||
|
- 'in_test_vpc.instances[0].key_name == "{{ resource_prefix }}_test_key"'
|
||||||
|
- '(in_test_vpc.instances[0].network_interfaces | length) == 1'
|
||||||
|
|
||||||
- name: Add a second interface
|
- name: Add a second interface
|
||||||
ec2_instance:
|
ec2_instance:
|
||||||
name: "{{ resource_prefix }}-test-eni-vpc"
|
name: "{{ resource_prefix }}-test-eni-vpc"
|
||||||
|
@ -68,6 +78,10 @@
|
||||||
- assert:
|
- assert:
|
||||||
that: not result.changed
|
that: not result.changed
|
||||||
|
|
||||||
|
- ec2_key:
|
||||||
|
name: "{{ resource_prefix }}_test_key"
|
||||||
|
state: absent
|
||||||
|
<<: *aws_connection_info
|
||||||
|
|
||||||
- ec2_eni:
|
- ec2_eni:
|
||||||
eni_id: "{{ item }}"
|
eni_id: "{{ item }}"
|
||||||
|
|
Loading…
Reference in a new issue