amazon.aws
amazon.aws copied to clipboard
fix incomplete enforce_count() return values
SUMMARY
This is the Ansible way.
Since a call to enforce_count() requires that a call to find_instances() has already been made, the information required to populate the instances
return key is already held by the variable existing_matches
. There are zero use cases where it makes sense not to output this information; if I want exactly one such instance and an existing instance matches the filter, I definitely always want to know its details.
Fixes #963, #859
ISSUE TYPE
- Bugfix Pull Request
COMPONENT NAME
ec2_instance
ADDITIONAL INFORMATION
See linked issues.
Before:
{
"changed": false,
"invocation": {
"module_args": {
"availability_zone": null,
"aws_access_key": null,
"aws_ca_bundle": null,
"aws_config": null,
"aws_secret_key": null,
"count": null,
"cpu_credit_specification": null,
"cpu_options": null,
"debug_botocore_endpoint_logs": false,
"detailed_monitoring": false,
"ebs_optimized": true,
"ec2_url": null,
"exact_count": 1,
"filters": {
"tag:Name": "something",
"tag:env": "prod"
},
"image": null,
"image_id": "REDACTED",
"instance_ids": [],
"instance_initiated_shutdown_behavior": null,
"instance_role": "REDACTED",
"instance_type": "m5.2xlarge",
"key_name": "REDACTED",
"launch_template": null,
"metadata_options": null,
"name": null,
"network": {
"source_dest_check": true
},
"placement_group": null,
"profile": null,
"purge_tags": false,
"region": "us-west-2",
"security_group": null,
"security_groups": [
"default"
],
"security_token": null,
"state": "present",
"tags": {
"Name": "something",
"env": "prod",
},
"tenancy": null,
"termination_protection": null,
"tower_callback": null,
"user_data": "REDACTED",
"validate_certs": true,
"volumes": [
{
"device_name": "/dev/sda1",
"ebs": {
"delete_on_termination": true,
"encrypted": true,
"volume_size": 20,
"volume_type": "gp3"
}
},
{
"device_name": "/dev/xvdo",
"ebs": {
"delete_on_termination": true,
"encrypted": true,
"volume_size": 20,
"volume_type": "gp3"
}
},
{
"device_name": "/dev/xvdp",
"ebs": {
"delete_on_termination": true,
"encrypted": true,
"volume_size": 10,
"volume_type": "gp3"
}
},
{
"device_name": "/dev/xvdi",
"ebs": {
"delete_on_termination": true,
"encrypted": true,
"volume_size": 100,
"volume_type": "gp3"
}
}
],
"vpc_subnet_id": "REDACTED",
"wait": true,
"wait_timeout": 300
}
},
"msg": "1 instances already running, nothing to do."
}
After:
{
"changed": false,
"instance_ids": [
"REDACTED"
],
"instances": [
{
"ami_launch_index": 0,
"architecture": "x86_64",
"block_device_mappings": [
{
"device_name": "/dev/sda1",
"ebs": {
"attach_time": "2022-08-10T19:50:24+00:00",
"delete_on_termination": true,
"status": "attached",
"volume_id": "REDACTED"
}
},
{
"device_name": "/dev/xvdo",
"ebs": {
"attach_time": "2022-08-10T19:50:24+00:00",
"delete_on_termination": true,
"status": "attached",
"volume_id": "REDACTED"
}
},
{
"device_name": "/dev/xvdp",
"ebs": {
"attach_time": "2022-08-10T19:50:24+00:00",
"delete_on_termination": true,
"status": "attached",
"volume_id": "REDACTED"
}
},
{
"device_name": "/dev/xvdi",
"ebs": {
"attach_time": "2022-08-10T19:50:24+00:00",
"delete_on_termination": true,
"status": "attached",
"volume_id": "REDACTED"
}
}
],
"capacity_reservation_specification": {
"capacity_reservation_preference": "open"
},
"client_token": "REDACTED",
"cpu_options": {
"core_count": 4,
"threads_per_core": 2
},
"ebs_optimized": true,
"ena_support": true,
"enclave_options": {
"enabled": false
},
"hibernation_options": {
"configured": false
},
"hypervisor": "xen",
"iam_instance_profile": {
"arn": "REDACTED",
"id": "REDACTED"
},
"image_id": "REDACTED",
"instance_id": "REDACTED",
"instance_type": "m5.2xlarge",
"key_name": "REDACTED",
"launch_time": "2022-08-10T19:50:23+00:00",
"maintenance_options": {
"auto_recovery": "default"
},
"metadata_options": {
"http_endpoint": "enabled",
"http_protocol_ipv6": "disabled",
"http_put_response_hop_limit": 1,
"http_tokens": "optional",
"instance_metadata_tags": "disabled",
"state": "applied"
},
"monitoring": {
"state": "disabled"
},
"network_interfaces": [
{
"attachment": {
"attach_time": "2022-08-10T19:50:23+00:00",
"attachment_id": "REDACTED",
"delete_on_termination": true,
"device_index": 0,
"network_card_index": 0,
"status": "attached"
},
"description": "",
"groups": [
{
"group_id": "REDACTED",
"group_name": "REDACTED"
}
],
"interface_type": "interface",
"ipv6_addresses": [],
"mac_address": "REDACTED",
"network_interface_id": "REDACTED",
"owner_id": "REDACTED",
"private_dns_name": "REDACTED",
"private_ip_address": "REDACTED",
"private_ip_addresses": [
{
"primary": true,
"private_dns_name": "REDACTED",
"private_ip_address": "REDACTED"
}
],
"source_dest_check": true,
"status": "in-use",
"subnet_id": "REDACTED",
"vpc_id": "REDACTED"
}
],
"placement": {
"availability_zone": "us-west-2a",
"group_name": "",
"tenancy": "default"
},
"platform_details": "Linux/UNIX",
"private_dns_name": "REDACTED",
"private_dns_name_options": {
"enable_resource_name_dns_a_record": false,
"enable_resource_name_dns_aaaa_record": false,
"hostname_type": "ip-name"
},
"private_ip_address": "REDACTED",
"product_codes": [],
"public_dns_name": "",
"root_device_name": "/dev/sda1",
"root_device_type": "ebs",
"security_groups": [
{
"group_id": "REDACTED",
"group_name": "REDACTED"
}
],
"source_dest_check": true,
"state": {
"code": 16,
"name": "running"
},
"state_transition_reason": "",
"subnet_id": "REDACTED",
"tags": {
"Name": "something",
"env": "prod",
},
"usage_operation": "RunInstances",
"usage_operation_update_time": "2022-08-10T19:50:23+00:00",
"virtualization_type": "hvm",
"vpc_id": "REDACTED"
}
],
"invocation": {
"module_args": {
"availability_zone": null,
"aws_access_key": null,
"aws_ca_bundle": null,
"aws_config": null,
"aws_secret_key": null,
"count": null,
"cpu_credit_specification": null,
"cpu_options": null,
"debug_botocore_endpoint_logs": false,
"detailed_monitoring": false,
"ebs_optimized": true,
"ec2_url": null,
"exact_count": 1,
"filters": {
"tag:Name": "something",
"tag:env": "prod"
},
"image": null,
"image_id": "REDACTED",
"instance_ids": [],
"instance_initiated_shutdown_behavior": null,
"instance_role": "REDACTED",
"instance_type": "m5.2xlarge",
"key_name": "REDACTED",
"launch_template": null,
"metadata_options": null,
"name": null,
"network": {
"source_dest_check": true
},
"placement_group": null,
"profile": null,
"purge_tags": false,
"region": "us-west-2",
"security_group": null,
"security_groups": [
"default"
],
"security_token": null,
"state": "present",
"tags": {
"Name": "something",
"env": "prod",
},
"tenancy": null,
"termination_protection": null,
"tower_callback": null,
"user_data": "REDACTED",
"validate_certs": true,
"volumes": [
{
"device_name": "/dev/sda1",
"ebs": {
"delete_on_termination": true,
"encrypted": true,
"volume_size": 20,
"volume_type": "gp3"
}
},
{
"device_name": "/dev/xvdo",
"ebs": {
"delete_on_termination": true,
"encrypted": true,
"volume_size": 20,
"volume_type": "gp3"
}
},
{
"device_name": "/dev/xvdp",
"ebs": {
"delete_on_termination": true,
"encrypted": true,
"volume_size": 10,
"volume_type": "gp3"
}
},
{
"device_name": "/dev/xvdi",
"ebs": {
"delete_on_termination": true,
"encrypted": true,
"volume_size": 100,
"volume_type": "gp3"
}
}
],
"vpc_subnet_id": "REDACTED",
"wait": true,
"wait_timeout": 300
}
},
"msg": "1 instances already running, nothing to do."
}
Hi @nethershaw,
Thanks for taking the time to submit this PR. I agree with you on the general premise of the change.
There are integration tests under tests/integration/targets/ec2_instance
(just an ansible role/playbook). If possible, please would you add some additional tests to cover this use case. This helps to avoid regressions creeping in over time.
Will try my best. I should be able to reproduce existing tests that look for this return key so as to be consistent with earlier work.
cc @jillr @ryansb @s-hertel click here for bot help
Build failed.
:heavy_check_mark: ansible-galaxy-importer SUCCESS in 3m 44s :heavy_check_mark: build-ansible-collection SUCCESS in 5m 30s :heavy_check_mark: ansible-test-sanity-aws-ansible-python38 SUCCESS in 9m 17s :heavy_check_mark: ansible-test-sanity-aws-ansible-2.12-python38 SUCCESS in 9m 05s :heavy_check_mark: ansible-test-sanity-aws-ansible-2.13-python38 SUCCESS in 8m 41s :heavy_check_mark: ansible-test-units-amazon-aws-python38 SUCCESS in 6m 00s :heavy_check_mark: ansible-test-units-amazon-aws-python39 SUCCESS in 6m 42s :heavy_check_mark: ansible-test-splitter SUCCESS in 2m 25s :x: integration-amazon.aws-1 FAILURE in 46m 56s :warning: integration-amazon.aws-2 SKIPPED :warning: integration-amazon.aws-3 SKIPPED :warning: integration-amazon.aws-4 SKIPPED :warning: integration-amazon.aws-5 SKIPPED :warning: integration-amazon.aws-6 SKIPPED :warning: integration-amazon.aws-7 SKIPPED :warning: integration-amazon.aws-8 SKIPPED :warning: integration-amazon.aws-9 SKIPPED :warning: integration-amazon.aws-10 SKIPPED :warning: integration-amazon.aws-11 SKIPPED :warning: integration-amazon.aws-12 SKIPPED :warning: integration-amazon.aws-13 SKIPPED :warning: integration-community.aws-1 SKIPPED :warning: integration-community.aws-2 SKIPPED :warning: integration-community.aws-3 SKIPPED :warning: integration-community.aws-4 SKIPPED :warning: integration-community.aws-5 SKIPPED :warning: integration-community.aws-6 SKIPPED :warning: integration-community.aws-7 SKIPPED :warning: integration-community.aws-8 SKIPPED :warning: integration-community.aws-9 SKIPPED :warning: integration-community.aws-10 SKIPPED :warning: integration-community.aws-11 SKIPPED :warning: integration-community.aws-12 SKIPPED :warning: integration-community.aws-13 SKIPPED
Docs Build 📝
Thank you for contribution!✨
This PR has been merged and your docs changes will be incorporated when they are next published.
Examining the integration tests forced me to consider slightly expanding the scope of my modifications to ensure consistency wherever the result keys instance_ids
or instances
should appear. These additional modifications are principally to the cases where exact_count
is defined and the number requested differs from the number existing, resulting in a subset of either launches or terminations. In these cases, the result values should always be sufficient to use set theory operations to distinguish between and extract either the unmodified instances, the modified instances, or both.
I had intended to keep it simple. Sorry about that.
Build failed.
:heavy_check_mark: ansible-galaxy-importer SUCCESS in 4m 14s :heavy_check_mark: build-ansible-collection SUCCESS in 6m 17s :x: ansible-test-sanity-aws-ansible-python38 FAILURE in 8m 28s :x: ansible-test-sanity-aws-ansible-2.12-python38 FAILURE in 10m 31s :x: ansible-test-sanity-aws-ansible-2.13-python38 FAILURE in 10m 14s :heavy_check_mark: ansible-test-units-amazon-aws-python38 SUCCESS in 6m 16s :heavy_check_mark: ansible-test-units-amazon-aws-python39 SUCCESS in 8m 00s :heavy_check_mark: ansible-test-splitter SUCCESS in 2m 45s :x: integration-amazon.aws-1 FAILURE in 45m 54s :warning: integration-amazon.aws-2 SKIPPED :warning: integration-amazon.aws-3 SKIPPED :warning: integration-amazon.aws-4 SKIPPED :warning: integration-amazon.aws-5 SKIPPED :warning: integration-amazon.aws-6 SKIPPED :warning: integration-amazon.aws-7 SKIPPED :warning: integration-amazon.aws-8 SKIPPED :warning: integration-amazon.aws-9 SKIPPED :warning: integration-amazon.aws-10 SKIPPED :warning: integration-amazon.aws-11 SKIPPED :warning: integration-amazon.aws-12 SKIPPED :warning: integration-amazon.aws-13 SKIPPED :warning: integration-community.aws-1 SKIPPED :warning: integration-community.aws-2 SKIPPED :warning: integration-community.aws-3 SKIPPED :warning: integration-community.aws-4 SKIPPED :warning: integration-community.aws-5 SKIPPED :warning: integration-community.aws-6 SKIPPED :warning: integration-community.aws-7 SKIPPED :warning: integration-community.aws-8 SKIPPED :warning: integration-community.aws-9 SKIPPED :warning: integration-community.aws-10 SKIPPED :warning: integration-community.aws-11 SKIPPED :warning: integration-community.aws-12 SKIPPED :warning: integration-community.aws-13 SKIPPED
My general experience has been that working on the integration tests results in the author thinking more deeply about the consequences of the change, so it's certainly not a bad thing that this has resulted in the PR growing a bit it just highlights that things were inconsistent in multiple places, and it's still a nice self-contained change.
What you may find is that when wait
isn't specified the return results contain partial results (since some instances don't exist yet)
It looks like some of the tests are failing, the links in the bot's comment go to Zuul where the CI tests are being run and from there it's possible to see why the tests are failing. The sanity test results are a little spammy, I tend to do a search in the raw logs for "ERROR". In this case it looks like there's a little trailing whitespace on line 1953:
ERROR: plugins/modules/ec2_instance.py:1953:110: W291: trailing whitespace
Build failed. https://ansible.softwarefactory-project.io/zuul/buildset/b05d672252ec4d29ad6a289a991244d6
:heavy_check_mark: ansible-galaxy-importer SUCCESS in 4m 13s :heavy_check_mark: build-ansible-collection SUCCESS in 12m 34s :heavy_check_mark: ansible-test-sanity-aws-ansible-python38 SUCCESS in 10m 36s (non-voting) :heavy_check_mark: ansible-test-sanity-aws-ansible-2.12-python38 SUCCESS in 10m 43s :heavy_check_mark: ansible-test-sanity-aws-ansible-2.13-python38 SUCCESS in 10m 25s :x: ansible-test-sanity-aws-ansible-2.14 POST_FAILURE in 10m 09s :heavy_check_mark: ansible-test-units-amazon-aws-python36 SUCCESS in 11m 31s :heavy_check_mark: ansible-test-units-amazon-aws-python38 SUCCESS in 10m 19s :heavy_check_mark: ansible-test-units-amazon-aws-python39 SUCCESS in 10m 24s :heavy_check_mark: ansible-test-units-amazon-aws-python310 SUCCESS in 9m 39s :heavy_check_mark: cloud-tox-py3 SUCCESS in 6m 45s :heavy_check_mark: ansible-test-changelog SUCCESS in 4m 06s :heavy_check_mark: ansible-test-splitter SUCCESS in 4m 33s :heavy_check_mark: integration-amazon.aws-1 SUCCESS in 26m 28s :heavy_check_mark: integration-amazon.aws-2 SUCCESS in 15m 56s :heavy_check_mark: integration-amazon.aws-3 SUCCESS in 13m 53s :heavy_check_mark: integration-amazon.aws-4 SUCCESS in 11m 28s :heavy_check_mark: integration-amazon.aws-5 SUCCESS in 12m 24s :heavy_check_mark: integration-amazon.aws-6 SUCCESS in 7m 12s :heavy_check_mark: integration-amazon.aws-7 SUCCESS in 11m 21s :heavy_check_mark: integration-amazon.aws-8 SUCCESS in 12m 35s :heavy_check_mark: integration-amazon.aws-9 SUCCESS in 6m 59s :heavy_check_mark: integration-amazon.aws-10 SUCCESS in 13m 04s :heavy_check_mark: integration-amazon.aws-11 SUCCESS in 8m 01s :x: integration-amazon.aws-12 RETRY_LIMIT in 1m 27s :heavy_check_mark: integration-amazon.aws-13 SUCCESS in 7m 49s :heavy_check_mark: integration-amazon.aws-14 SUCCESS in 15m 55s :heavy_check_mark: integration-amazon.aws-15 SUCCESS in 12m 23s :heavy_check_mark: integration-amazon.aws-16 SUCCESS in 8m 45s :heavy_check_mark: integration-amazon.aws-17 SUCCESS in 8m 13s :heavy_check_mark: integration-community.aws-1 SUCCESS in 5m 02s Skipped 26 jobs
Build failed (gate pipeline). For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing
https://ansible.softwarefactory-project.io/zuul/buildset/e90a68f4c681420a9728b7568faf7d3d
:heavy_check_mark: ansible-galaxy-importer SUCCESS in 4m 01s :heavy_check_mark: build-ansible-collection SUCCESS in 12m 19s :heavy_check_mark: ansible-test-splitter SUCCESS in 4m 34s :heavy_check_mark: integration-amazon.aws-1 SUCCESS in 28m 33s :heavy_check_mark: integration-amazon.aws-2 SUCCESS in 15m 30s :heavy_check_mark: integration-amazon.aws-3 SUCCESS in 12m 07s :heavy_check_mark: integration-amazon.aws-4 SUCCESS in 10m 56s :heavy_check_mark: integration-amazon.aws-5 SUCCESS in 12m 36s :heavy_check_mark: integration-amazon.aws-6 SUCCESS in 11m 37s :heavy_check_mark: integration-amazon.aws-7 SUCCESS in 11m 51s :heavy_check_mark: integration-amazon.aws-8 SUCCESS in 8m 02s :heavy_check_mark: integration-amazon.aws-9 SUCCESS in 7m 09s :heavy_check_mark: integration-amazon.aws-10 SUCCESS in 12m 55s :heavy_check_mark: integration-amazon.aws-11 SUCCESS in 11m 08s :heavy_check_mark: integration-amazon.aws-12 SUCCESS in 10m 22s :heavy_check_mark: integration-amazon.aws-13 SUCCESS in 7m 08s :heavy_check_mark: integration-amazon.aws-14 SUCCESS in 9m 54s :heavy_check_mark: integration-amazon.aws-15 SUCCESS in 10m 50s :heavy_check_mark: integration-amazon.aws-16 SUCCESS in 7m 42s :x: integration-amazon.aws-17 RETRY_LIMIT in 1m 26s Skipped 27 jobs
regate
Build failed (gate pipeline). For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing
https://ansible.softwarefactory-project.io/zuul/buildset/f364119011b54be4b20838a97cb06eee
:heavy_check_mark: ansible-galaxy-importer SUCCESS in 3m 39s :heavy_check_mark: build-ansible-collection SUCCESS in 12m 54s :heavy_check_mark: ansible-test-splitter SUCCESS in 4m 46s :x: integration-amazon.aws-1 FAILURE in 9m 22s :heavy_check_mark: integration-amazon.aws-2 SUCCESS in 12m 16s :heavy_check_mark: integration-amazon.aws-3 SUCCESS in 14m 26s :heavy_check_mark: integration-amazon.aws-4 SUCCESS in 11m 30s :heavy_check_mark: integration-amazon.aws-5 SUCCESS in 9m 49s :heavy_check_mark: integration-amazon.aws-6 SUCCESS in 10m 26s :heavy_check_mark: integration-amazon.aws-7 SUCCESS in 12m 12s :heavy_check_mark: integration-amazon.aws-8 SUCCESS in 13m 36s :heavy_check_mark: integration-amazon.aws-9 SUCCESS in 6m 54s :heavy_check_mark: integration-amazon.aws-10 SUCCESS in 12m 25s :heavy_check_mark: integration-amazon.aws-11 SUCCESS in 12m 41s :heavy_check_mark: integration-amazon.aws-12 SUCCESS in 13m 33s :heavy_check_mark: integration-amazon.aws-13 SUCCESS in 8m 01s :heavy_check_mark: integration-amazon.aws-14 SUCCESS in 14m 38s :heavy_check_mark: integration-amazon.aws-15 SUCCESS in 13m 58s :heavy_check_mark: integration-amazon.aws-16 SUCCESS in 9m 36s :heavy_check_mark: integration-amazon.aws-17 SUCCESS in 10m 18s :heavy_check_mark: integration-community.aws-1 SUCCESS in 7m 45s Skipped 26 jobs
regate
Build failed (gate pipeline). For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing
https://ansible.softwarefactory-project.io/zuul/buildset/07080cc00e2e4168835bcb1745cc4bc9
:heavy_check_mark: ansible-galaxy-importer SUCCESS in 4m 25s :heavy_check_mark: build-ansible-collection SUCCESS in 12m 24s :heavy_check_mark: ansible-test-splitter SUCCESS in 4m 32s :heavy_check_mark: integration-amazon.aws-1 SUCCESS in 25m 05s :heavy_check_mark: integration-amazon.aws-2 SUCCESS in 14m 17s :heavy_check_mark: integration-amazon.aws-3 SUCCESS in 11m 03s :heavy_check_mark: integration-amazon.aws-4 SUCCESS in 12m 34s :heavy_check_mark: integration-amazon.aws-5 SUCCESS in 8m 52s :heavy_check_mark: integration-amazon.aws-6 SUCCESS in 11m 51s :heavy_check_mark: integration-amazon.aws-7 SUCCESS in 13m 33s :heavy_check_mark: integration-amazon.aws-8 SUCCESS in 12m 51s :heavy_check_mark: integration-amazon.aws-9 SUCCESS in 9m 29s :heavy_check_mark: integration-amazon.aws-10 SUCCESS in 13m 11s :heavy_check_mark: integration-amazon.aws-11 SUCCESS in 8m 21s :heavy_check_mark: integration-amazon.aws-12 SUCCESS in 10m 45s :heavy_check_mark: integration-amazon.aws-13 SUCCESS in 9m 10s :heavy_check_mark: integration-amazon.aws-14 SUCCESS in 9m 25s :heavy_check_mark: integration-amazon.aws-15 SUCCESS in 8m 22s :heavy_check_mark: integration-amazon.aws-16 SUCCESS in 7m 57s :x: integration-amazon.aws-17 RETRY_LIMIT in 1m 31s Skipped 27 jobs
regate
Build failed (gate pipeline). For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing
https://ansible.softwarefactory-project.io/zuul/buildset/c4b8cb9994c44f0d9d95a2e3305d0ffa
:heavy_check_mark: ansible-galaxy-importer SUCCESS in 4m 43s :heavy_check_mark: build-ansible-collection SUCCESS in 12m 38s :heavy_check_mark: ansible-test-splitter SUCCESS in 4m 36s :heavy_check_mark: integration-amazon.aws-1 SUCCESS in 27m 57s :x: integration-amazon.aws-2 RETRY_LIMIT in 1m 30s :heavy_check_mark: integration-amazon.aws-3 SUCCESS in 16m 40s :heavy_check_mark: integration-amazon.aws-4 SUCCESS in 10m 49s :heavy_check_mark: integration-amazon.aws-5 SUCCESS in 12m 00s :heavy_check_mark: integration-amazon.aws-6 SUCCESS in 14m 27s :heavy_check_mark: integration-amazon.aws-7 SUCCESS in 11m 03s :x: integration-amazon.aws-8 RETRY_LIMIT in 1m 31s :heavy_check_mark: integration-amazon.aws-9 SUCCESS in 11m 20s :heavy_check_mark: integration-amazon.aws-10 SUCCESS in 15m 38s :heavy_check_mark: integration-amazon.aws-11 SUCCESS in 10m 54s :heavy_check_mark: integration-amazon.aws-12 SUCCESS in 11m 23s :heavy_check_mark: integration-amazon.aws-13 SUCCESS in 12m 34s :heavy_check_mark: integration-amazon.aws-14 SUCCESS in 9m 57s :heavy_check_mark: integration-amazon.aws-15 SUCCESS in 10m 00s :heavy_check_mark: integration-amazon.aws-16 SUCCESS in 9m 12s :heavy_check_mark: integration-amazon.aws-17 SUCCESS in 10m 25s Skipped 27 jobs
regate
Build failed (gate pipeline). For information on how to proceed, see http://docs.openstack.org/infra/manual/developers.html#automated-testing
https://ansible.softwarefactory-project.io/zuul/buildset/968b8f3e8de647078f8017ff4bb8de1d
:heavy_check_mark: ansible-galaxy-importer SUCCESS in 4m 36s :heavy_check_mark: build-ansible-collection SUCCESS in 12m 36s :heavy_check_mark: ansible-test-splitter SUCCESS in 4m 35s :x: integration-amazon.aws-1 FAILURE in 9m 14s :heavy_check_mark: integration-amazon.aws-2 SUCCESS in 17m 58s :heavy_check_mark: integration-amazon.aws-3 SUCCESS in 10m 22s :heavy_check_mark: integration-amazon.aws-4 SUCCESS in 13m 23s :heavy_check_mark: integration-amazon.aws-5 SUCCESS in 9m 30s :heavy_check_mark: integration-amazon.aws-6 SUCCESS in 8m 29s :heavy_check_mark: integration-amazon.aws-7 SUCCESS in 9m 24s :heavy_check_mark: integration-amazon.aws-8 SUCCESS in 9m 25s :heavy_check_mark: integration-amazon.aws-9 SUCCESS in 13m 29s :heavy_check_mark: integration-amazon.aws-10 SUCCESS in 12m 26s :heavy_check_mark: integration-amazon.aws-11 SUCCESS in 7m 00s :heavy_check_mark: integration-amazon.aws-12 SUCCESS in 9m 31s :heavy_check_mark: integration-amazon.aws-13 SUCCESS in 9m 49s :heavy_check_mark: integration-amazon.aws-14 SUCCESS in 11m 37s :heavy_check_mark: integration-amazon.aws-15 SUCCESS in 12m 27s :heavy_check_mark: integration-amazon.aws-16 SUCCESS in 8m 16s :heavy_check_mark: integration-amazon.aws-17 SUCCESS in 12m 48s Skipped 27 jobs
regate
Build succeeded (gate pipeline). https://ansible.softwarefactory-project.io/zuul/buildset/12b5cf71238e427eb2fcb39bf53eae32
:heavy_check_mark: ansible-galaxy-importer SUCCESS in 3m 58s :heavy_check_mark: build-ansible-collection SUCCESS in 12m 23s :heavy_check_mark: ansible-test-splitter SUCCESS in 4m 45s :heavy_check_mark: integration-amazon.aws-1 SUCCESS in 26m 00s :heavy_check_mark: integration-amazon.aws-2 SUCCESS in 12m 35s :heavy_check_mark: integration-amazon.aws-3 SUCCESS in 11m 44s :heavy_check_mark: integration-amazon.aws-4 SUCCESS in 7m 28s :heavy_check_mark: integration-amazon.aws-5 SUCCESS in 7m 42s :heavy_check_mark: integration-amazon.aws-6 SUCCESS in 7m 13s :heavy_check_mark: integration-amazon.aws-7 SUCCESS in 11m 14s :heavy_check_mark: integration-amazon.aws-8 SUCCESS in 8m 38s :heavy_check_mark: integration-amazon.aws-9 SUCCESS in 7m 07s :heavy_check_mark: integration-amazon.aws-10 SUCCESS in 14m 48s :heavy_check_mark: integration-amazon.aws-11 SUCCESS in 11m 14s :heavy_check_mark: integration-amazon.aws-12 SUCCESS in 10m 59s :heavy_check_mark: integration-amazon.aws-13 SUCCESS in 9m 18s :heavy_check_mark: integration-amazon.aws-14 SUCCESS in 8m 30s :heavy_check_mark: integration-amazon.aws-15 SUCCESS in 8m 15s :heavy_check_mark: integration-amazon.aws-16 SUCCESS in 7m 44s :heavy_check_mark: integration-amazon.aws-17 SUCCESS in 9m 43s Skipped 27 jobs
Backport to stable-5: 💔 cherry-picking failed — conflicts found
❌ Failed to cleanly apply 0ef8359fd96c5b141683bd526564def5399501f0 on top of patchback/backports/stable-5/0ef8359fd96c5b141683bd526564def5399501f0/pr-964
Backporting merged PR #964 into main
- Ensure you have a local repo clone of your fork. Unless you cloned it
from the upstream, this would be your
origin
remote. - Make sure you have an upstream repo added as a remote too. In these
instructions you'll refer to it by the name
upstream
. If you don't have it, here's how you can add it:$ git remote add upstream https://github.com/ansible-collections/amazon.aws.git
- Ensure you have the latest copy of upstream and prepare a branch
that will hold the backported code:
$ git fetch upstream $ git checkout -b patchback/backports/stable-5/0ef8359fd96c5b141683bd526564def5399501f0/pr-964 upstream/stable-5
- Now, cherry-pick PR #964 contents into that branch:
If it'll yell at you with something like$ git cherry-pick -x 0ef8359fd96c5b141683bd526564def5399501f0
fatal: Commit 0ef8359fd96c5b141683bd526564def5399501f0 is a merge but no -m option was given.
, add-m 1
as follows instead:$ git cherry-pick -m1 -x 0ef8359fd96c5b141683bd526564def5399501f0
- At this point, you'll probably encounter some merge conflicts. You must resolve them in to preserve the patch from PR #964 as close to the original as possible.
- Push this branch to your fork on GitHub:
$ git push origin patchback/backports/stable-5/0ef8359fd96c5b141683bd526564def5399501f0/pr-964
- Create a PR, ensure that the CI is green. If it's not — update it so that the tests and any other checks pass. This is it! Now relax and wait for the maintainers to process your pull request when they have some cycles to do reviews. Don't worry — they'll tell you if any improvements are necessary when the time comes!
🤖 @patchback I'm built with octomachinery and my source is open — https://github.com/sanitizers/patchback-github-app.