open-vault/enos/modules
Ryan Cragun deeb1ece5b
[QT-530] enos: allow-list all public IP addresses (#20304)
The security groups that allow access to remote machines in Enos
scenarios have been configured to only allow port 22 (SSH) from the
public IP address of machine executing the Enos scenario. To achieve
this we previously utilized the `enos_environment.public_ip_address`
attribute. Sometime in mid March we started seeing sporadic SSH i/o
timeout errors when attempting to execute Enos resources against SSH
transport targets. We've only ever seen this when communicating from
Azure hosted runners to AWS hosted machines.

While testing we were able to confirm that in some cases the public IP
address resolved using DNS over UDP4 to Google and OpenDNS name servers
did not match what was resolved when using the HTTPS/TCP IP address
service hosted by AWS. The Enos data source was implemented in a way
that we'd attempt resolution of a single name server and only attempt
resolving from the next if previous name server could not get a result.
We'd then allow-list that single IP address. That's a problem if we can
resolve two different public IP addresses depending our endpoint address.

This change utlizes the new `enos_environment.public_ip_addresses`
attribute and subsequent behavior change. Now the data source will
attempt to resolve our public IP address via name servers hosted by
Google, OpenDNS, Cloudflare, and AWS. We then return a unique set of
these IP addresses and allow-list all of them in our security group. It
is our hope that this resolves these i/o timeout errors that seem like
they're caused by the security group black-holing our attempted access
because the IP we resolved does not match what we're actually exiting
with.

Signed-off-by: Ryan Cragun <me@ryan.ec>
2023-04-23 16:25:32 -06:00
..
autopilot_upgrade_storageconfig adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
az_finder adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
backend_raft adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
build_crt adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
build_local adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
generate_secondary_token adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
get_local_metadata adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
k8s_deploy_vault [QT-523] Remove copyright/license header from raft config used in the Docker/K8S integration test (#19584) 2023-03-16 17:39:59 -04:00
k8s_vault_verify_build_date adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
k8s_vault_verify_replication adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
k8s_vault_verify_ui adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
k8s_vault_verify_version adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
k8s_vault_verify_write_data adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
load_docker_image adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
local_kind_cluster adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
read_license adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
shutdown_multiple_nodes adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
shutdown_node adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
target_ec2_instances [QT-530] enos: allow-list all public IP addresses (#20304) 2023-04-23 16:25:32 -06:00
target_ec2_spot_fleet [QT-530] enos: allow-list all public IP addresses (#20304) 2023-04-23 16:25:32 -06:00
vault_agent adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_artifactory_artifact adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_cluster [QT-525] enos: use spot instances for Vault targets (#20037) 2023-04-13 15:44:43 -04:00
vault_get_cluster_ips adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_raft_remove_peer adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_setup_perf_primary adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_setup_perf_secondary adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_test_ui adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_unseal_nodes adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_upgrade adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_verify_agent_output adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_verify_autopilot adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_verify_performance_replication adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_verify_raft_auto_join_voter adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_verify_read_data adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_verify_replication adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_verify_ui adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_verify_undo_logs adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_verify_unsealed adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_verify_version adding copyright header (#19555) 2023-03-15 09:00:52 -07:00
vault_verify_write_data adding copyright header (#19555) 2023-03-15 09:00:52 -07:00