<?xml version="1.0" ?>
<testsuites disabled="0" errors="0" failures="0" tests="43" time="12.6850059032440185546875">
	<testsuite disabled="0" errors="0" failures="0" name="auth_kubernetes-p8z4frvj" skipped="0" tests="43" time="12.6850059032440185546875">
		<testcase classname="tests/integration/auth_kubernetes-p8z4frvj.yml:1" name="[testhost] testhost: Gathering Facts" time="0.566677093505859375">
			<system-out>{
"ansible_facts": {
"ansible_apparmor": {
"status": "disabled"
},
"ansible_architecture": "x86_64",
"ansible_bios_date": "03/10/2025",
"ansible_bios_vendor": "INSYDE Corp.",
"ansible_bios_version": "03.03",
"ansible_board_asset_tag": "*",
"ansible_board_name": "FRANMGCP09",
"ansible_board_serial": "NA",
"ansible_board_vendor": "Framework",
"ansible_board_version": "A9",
"ansible_chassis_asset_tag": "FRANVCCPA95142000W",
"ansible_chassis_serial": "NA",
"ansible_chassis_vendor": "Framework",
"ansible_chassis_version": "A9",
"ansible_cmdline": {
"initrd": "\\initramfs-linux.img",
"root": "PARTUUID=1d5053b3-862f-4e8d-8e0d-2e07dbc0a0f5",
"rootfstype": "ext4",
"rw": true,
"splash": true,
"zswap.enabled": "0"
},
"ansible_date_time": {
"date": "2025-10-27",
"day": "27",
"epoch": "1761599046",
"epoch_int": "1761599046",
"hour": "21",
"iso8601": "2025-10-27T21:04:06Z",
"iso8601_basic": "20251027T210406938681",
"iso8601_basic_short": "20251027T210406",
"iso8601_micro": "2025-10-27T21:04:06.938681Z",
"minute": "04",
"month": "10",
"second": "06",
"time": "21:04:06",
"tz": "UTC",
"tz_dst": "UTC",
"tz_offset": "+0000",
"weekday": "Monday",
"weekday_number": "1",
"weeknumber": "43",
"year": "2025"
},
"ansible_device_links": {
"ids": {},
"labels": {},
"masters": {},
"uuids": {}
},
"ansible_devices": {
"nvme0n1": {
"holders": [],
"host": "",
"links": {
"ids": [],
"labels": [],
"masters": [],
"uuids": []
},
"model": "Samsung SSD 980 PRO 2TB",
"partitions": {
"nvme0n1p1": {
"holders": [],
"links": {
"ids": [],
"labels": [],
"masters": [],
"uuids": []
},
"sectors": 2097152,
"sectorsize": 512,
"size": "1.00 GB",
"start": "2048",
"uuid": null
},
"nvme0n1p2": {
"holders": [],
"links": {
"ids": [],
"labels": [],
"masters": [],
"uuids": []
},
"sectors": 3904929792,
"sectorsize": 512,
"size": "1.82 TB",
"start": "2099200",
"uuid": null
}
},
"removable": "0",
"rotational": "0",
"sas_address": null,
"sas_device_handle": null,
"scheduler_mode": "none",
"sectors": 3907029168,
"sectorsize": "512",
"serial": "S736NU0W103345A",
"size": "1.82 TB",
"support_discard": "512",
"vendor": null,
"virtual": 1
},
"zram0": {
"holders": [],
"host": "",
"links": {
"ids": [],
"labels": [],
"masters": [],
"uuids": []
},
"model": null,
"partitions": {},
"removable": "0",
"rotational": "0",
"sas_address": null,
"sas_device_handle": null,
"scheduler_mode": "",
"sectors": 1048576,
"sectorsize": "4096",
"size": "4.00 GB",
"support_discard": "4096",
"vendor": null,
"virtual": 1
}
},
"ansible_distribution": "Ubuntu",
"ansible_distribution_file_parsed": true,
"ansible_distribution_file_path": "/etc/os-release",
"ansible_distribution_file_variety": "Debian",
"ansible_distribution_major_version": "24",
"ansible_distribution_release": "noble",
"ansible_distribution_version": "24.04",
"ansible_dns": {
"nameservers": [
"10.89.1.1"
],
"search": [
"dns.podman",
"home"
]
},
"ansible_domain": "",
"ansible_effective_group_id": 0,
"ansible_effective_user_id": 0,
"ansible_env": {
"ANSIBLE_CALLBACKS_ENABLED": "junit",
"ANSIBLE_COLLECTIONS_PATH": "/root",
"ANSIBLE_CONFIG": "/root/ansible_collections/community/hashi_vault/tests/output/.tmp/integration/auth_kubernetes-kuzp4yt3-ÅÑŚÌβŁÈ/tests/integration/integration.cfg",
"ANSIBLE_DEPRECATION_WARNINGS": "false",
"ANSIBLE_DEVEL_WARNING": "false",
"ANSIBLE_DISPLAY_TRACEBACK": "never",
"ANSIBLE_FORCE_COLOR": "false",
"ANSIBLE_FORCE_HANDLERS": "true",
"ANSIBLE_HOST_KEY_CHECKING": "false",
"ANSIBLE_HOST_PATTERN_MISMATCH": "error",
"ANSIBLE_INVENTORY": "/dev/null",
"ANSIBLE_LIBRARY": "/dev/null",
"ANSIBLE_PLAYBOOK_DIR": "/root/ansible_collections/community/hashi_vault/tests/output/.tmp/integration/auth_kubernetes-kuzp4yt3-ÅÑŚÌβŁÈ/tests/integration",
"ANSIBLE_PYTHON_INTERPRETER": "/set/ansible_python_interpreter/in/inventory",
"ANSIBLE_PYTHON_MODULE_RLIMIT_NOFILE": "1024",
"ANSIBLE_RETRY_FILES_ENABLED": "false",
"ANSIBLE_ROLES_PATH": "/root/ansible_collections/community/hashi_vault/tests/output/.tmp/integration/auth_kubernetes-kuzp4yt3-ÅÑŚÌβŁÈ/tests/integration/targets",
"ANSIBLE_TEST_ANSIBLE_LIB_ROOT": "/root/ansible/lib/ansible",
"ANSIBLE_TEST_CI": "",
"ANSIBLE_TEST_COVERAGE": "",
"ANSIBLE_TEST_PYTHON_INTERPRETER": "/usr/bin/python3.13",
"ANSIBLE_TEST_PYTHON_VERSION": "3.13",
"ANSIBLE_WORKER_SHUTDOWN_POLL_COUNT": "100",
"ANSIBLE_WORKER_SHUTDOWN_POLL_DELAY": "0.1",
"HOME": "/root",
"INVENTORY_PATH": "/root/ansible_collections/community/hashi_vault/tests/output/.tmp/integration/auth_kubernetes-kuzp4yt3-ÅÑŚÌβŁÈ/tests/integration/inventory",
"JUNIT_OUTPUT_DIR": "/root/ansible_collections/community/hashi_vault/tests/output/junit",
"JUNIT_REPLACE_OUT_OF_TREE_PATH": "out-of-tree:",
"JUNIT_TASK_RELATIVE_PATH": "/root/ansible_collections/community/hashi_vault/tests/output/.tmp/integration/auth_kubernetes-kuzp4yt3-ÅÑŚÌβŁÈ",
"LC_ALL": "en_US.UTF-8",
"OUTPUT_DIR": "/root/ansible_collections/community/hashi_vault/tests/output/.tmp/output_dir",
"PAGER": "/bin/cat",
"PATH": "/tmp/ansible-test-pw13ppgo-injector:/tmp/python-jefrg5at-ansible:/root/ansible/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"PWD": "/root/ansible_collections/community/hashi_vault/tests/output/.tmp/integration/auth_kubernetes-kuzp4yt3-ÅÑŚÌβŁÈ/tests/integration",
"PYTHONPATH": "/root/ansible/lib"
},
"ansible_fibre_channel_wwn": [],
"ansible_fips": false,
"ansible_flags": [
"fpu",
"vme",
"de",
"pse",
"tsc",
"msr",
"pae",
"mce",
"cx8",
"apic",
"sep",
"mtrr",
"pge",
"mca",
"cmov",
"pat",
"pse36",
"clflush",
"mmx",
"fxsr",
"sse",
"sse2",
"ht",
"syscall",
"nx",
"mmxext",
"fxsr_opt",
"pdpe1gb",
"rdtscp",
"lm",
"constant_tsc",
"rep_good",
"amd_lbr_v2",
"nopl",
"xtopology",
"nonstop_tsc",
"cpuid",
"extd_apicid",
"aperfmperf",
"rapl",
"pni",
"pclmulqdq",
"monitor",
"ssse3",
"fma",
"cx16",
"sse4_1",
"sse4_2",
"movbe",
"popcnt",
"aes",
"xsave",
"avx",
"f16c",
"rdrand",
"lahf_lm",
"cmp_legacy",
"svm",
"extapic",
"cr8_legacy",
"abm",
"sse4a",
"misalignsse",
"3dnowprefetch",
"osvw",
"ibs",
"skinit",
"wdt",
"tce",
"topoext",
"perfctr_core",
"perfctr_nb",
"bpext",
"perfctr_llc",
"mwaitx",
"cpuid_fault",
"cpb",
"cat_l3",
"cdp_l3",
"hw_pstate",
"ssbd",
"mba",
"perfmon_v2",
"ibrs",
"ibpb",
"stibp",
"ibrs_enhanced",
"vmmcall",
"fsgsbase",
"tsc_adjust",
"bmi1",
"avx2",
"smep",
"bmi2",
"erms",
"invpcid",
"cqm",
"rdt_a",
"avx512f",
"avx512dq",
"rdseed",
"adx",
"smap",
"avx512ifma",
"clflushopt",
"clwb",
"avx512cd",
"sha_ni",
"avx512bw",
"avx512vl",
"xsaveopt",
"xsavec",
"xgetbv1",
"xsaves",
"cqm_llc",
"cqm_occup_llc",
"cqm_mbm_total",
"cqm_mbm_local",
"user_shstk",
"avx_vnni",
"avx512_bf16",
"clzero",
"irperf",
"xsaveerptr",
"rdpru",
"wbnoinvd",
"cppc",
"arat",
"npt",
"lbrv",
"svm_lock",
"nrip_save",
"tsc_scale",
"vmcb_clean",
"flushbyasid",
"decodeassists",
"pausefilter",
"pfthreshold",
"avic",
"v_vmsave_vmload",
"vgif",
"x2avic",
"v_spec_ctrl",
"vnmi",
"avx512vbmi",
"umip",
"pku",
"ospke",
"avx512_vbmi2",
"gfni",
"vaes",
"vpclmulqdq",
"avx512_vnni",
"avx512_bitalg",
"avx512_vpopcntdq",
"rdpid",
"bus_lock_detect",
"movdiri",
"movdir64b",
"overflow_recov",
"succor",
"smca",
"fsrm",
"avx512_vp2intersect",
"flush_l1d",
"amd_lbr_pmc_freeze"
],
"ansible_form_factor": "Notebook",
"ansible_fqdn": "2a80e2d260a0",
"ansible_hostname": "2a80e2d260a0",
"ansible_hostnqn": "",
"ansible_is_chroot": false,
"ansible_iscsi_iqn": "",
"ansible_kernel": "6.17.5-arch1-1",
"ansible_kernel_version": "#1 SMP PREEMPT_DYNAMIC Thu, 23 Oct 2025 18:49:03 +0000",
"ansible_loadavg": {
"15m": 1.8134765625,
"1m": 4.06201171875,
"5m": 2.62060546875
},
"ansible_local": {},
"ansible_lsb": {
"codename": "noble",
"description": "Ubuntu 24.04.2 LTS",
"id": "Ubuntu",
"major_release": "24",
"release": "24.04"
},
"ansible_lvm": "N/A",
"ansible_machine": "x86_64",
"ansible_machine_id": "a2fec4ebad41437e8dc917f61aed4647",
"ansible_memfree_mb": 40746,
"ansible_memory_mb": {
"nocache": {
"free": 49296,
"used": 14278
},
"real": {
"free": 40746,
"total": 63574,
"used": 22828
},
"swap": {
"cached": 0,
"free": 4095,
"total": 4095,
"used": 0
}
},
"ansible_memtotal_mb": 63574,
"ansible_mounts": [],
"ansible_nodename": "2a80e2d260a0",
"ansible_os_family": "Debian",
"ansible_pkg_mgr": "apt",
"ansible_proc_cmdline": {
"initrd": "\\initramfs-linux.img",
"root": "PARTUUID=1d5053b3-862f-4e8d-8e0d-2e07dbc0a0f5",
"rootfstype": "ext4",
"rw": true,
"splash": true,
"zswap.enabled": "0"
},
"ansible_processor": [
"0",
"AuthenticAMD",
"AMD Ryzen AI 9 HX 370 w/ Radeon 890M",
"1",
"AuthenticAMD",
"AMD Ryzen AI 9 HX 370 w/ Radeon 890M",
"2",
"AuthenticAMD",
"AMD Ryzen AI 9 HX 370 w/ Radeon 890M",
"3",
"AuthenticAMD",
"AMD Ryzen AI 9 HX 370 w/ Radeon 890M",
"4",
"AuthenticAMD",
"AMD Ryzen AI 9 HX 370 w/ Radeon 890M",
"5",
"AuthenticAMD",
"AMD Ryzen AI 9 HX 370 w/ Radeon 890M",
"6",
"AuthenticAMD",
"AMD Ryzen AI 9 HX 370 w/ Radeon 890M",
"7",
"AuthenticAMD",
"AMD Ryzen AI 9 HX 370 w/ Radeon 890M",
"8",
"AuthenticAMD",
"AMD Ryzen AI 9 HX 370 w/ Radeon 890M",
"9",
"AuthenticAMD",
"AMD Ryzen AI 9 HX 370 w/ Radeon 890M",
"10",
"AuthenticAMD",
"AMD Ryzen AI 9 HX 370 w/ Radeon 890M",
"11",
"AuthenticAMD",
"AMD Ryzen AI 9 HX 370 w/ Radeon 890M",
"12",
"AuthenticAMD",
"AMD Ryzen AI 9 HX 370 w/ Radeon 890M",
"13",
"AuthenticAMD",
"AMD Ryzen AI 9 HX 370 w/ Radeon 890M",
"14",
"AuthenticAMD",
"AMD Ryzen AI 9 HX 370 w/ Radeon 890M",
"15",
"AuthenticAMD",
"AMD Ryzen AI 9 HX 370 w/ Radeon 890M",
"16",
"AuthenticAMD",
"AMD Ryzen AI 9 HX 370 w/ Radeon 890M",
"17",
"AuthenticAMD",
"AMD Ryzen AI 9 HX 370 w/ Radeon 890M",
"18",
"AuthenticAMD",
"AMD Ryzen AI 9 HX 370 w/ Radeon 890M",
"19",
"AuthenticAMD",
"AMD Ryzen AI 9 HX 370 w/ Radeon 890M",
"20",
"AuthenticAMD",
"AMD Ryzen AI 9 HX 370 w/ Radeon 890M",
"21",
"AuthenticAMD",
"AMD Ryzen AI 9 HX 370 w/ Radeon 890M",
"22",
"AuthenticAMD",
"AMD Ryzen AI 9 HX 370 w/ Radeon 890M",
"23",
"AuthenticAMD",
"AMD Ryzen AI 9 HX 370 w/ Radeon 890M"
],
"ansible_processor_cores": 12,
"ansible_processor_count": 1,
"ansible_processor_nproc": 24,
"ansible_processor_threads_per_core": 2,
"ansible_processor_vcpus": 24,
"ansible_product_name": "Laptop 13 (AMD Ryzen AI 300 Series)",
"ansible_product_serial": "NA",
"ansible_product_uuid": "NA",
"ansible_product_version": "A9",
"ansible_python": {
"executable": "/usr/bin/python3.13",
"has_sslcontext": true,
"type": "cpython",
"version": {
"major": 3,
"micro": 3,
"minor": 13,
"releaselevel": "final",
"serial": 0
},
"version_info": [
3,
13,
3,
"final",
0
]
},
"ansible_python_version": "3.13.3",
"ansible_real_group_id": 0,
"ansible_real_user_id": 0,
"ansible_selinux": {
"status": "disabled"
},
"ansible_selinux_python_present": true,
"ansible_service_mgr": "systemd",
"ansible_ssh_host_key_ecdsa_public": "AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBItO4GxtrearIfrk8AAPRGsdbV2lccl9gTSt29YOsiNV3PncHRkqrBXN3Mh7C/YyENHhGm/AnTNxIKGmeBWoEWE=",
"ansible_ssh_host_key_ecdsa_public_keytype": "ecdsa-sha2-nistp256",
"ansible_ssh_host_key_ed25519_public": "AAAAC3NzaC1lZDI1NTE5AAAAIDNEQhJ8vwqJDnXvC2BPYAISM5NYdonRm/et0Jt2mlw2",
"ansible_ssh_host_key_ed25519_public_keytype": "ssh-ed25519",
"ansible_ssh_host_key_rsa_public": "AAAAB3NzaC1yc2EAAAADAQABAAABgQCwk9EaveeyPViz8nJ5gif8zdhakO1Mn/xkSVMkDjFqGcyCyTzpR3voxal492FxGKQs4RE3mWe9EliKNvPtvXPDxnyUANwsr3I/Xw8LrEypGByZ8ORp0s5hMuA7LvyJU2BzSzOhQWfJ78ofboauvmicukeRmhyVgLRTbhCRArJvv/yqKGpI9SQyuScecDibj+FTwImyzuzdEXts9wu0VHx6NKD5dZ8l73FJHRKwGO9rfXFR9C2gsJxrzw0wYJdPsNa1N0XFxUwAla6SlDaN+K7ql6T9O5fvfYlMfS3qzx498l35xgbhd1lv2vRMZZRbYhmSoOxl7EZtGmdFO8nlFRmlUkQ5eKfsy+HDY5Evf3cmZceZPzeyng7HzFEyNyNpeh7PmPQyeuhQyylbT8gCP07SLXl8dLEz31AflPyWBUY9Qr5C0+bloIZA+Oh0TbRLBOcPh+0aRA5XJqIw6UeiooSRQqkjUQcjTuaK7EVmveqeyWAJXPgPokwXzhVJVC5WGb8=",
"ansible_ssh_host_key_rsa_public_keytype": "ssh-rsa",
"ansible_swapfree_mb": 4095,
"ansible_swaptotal_mb": 4095,
"ansible_system": "Linux",
"ansible_system_capabilities": "N/A",
"ansible_system_capabilities_enforced": "N/A",
"ansible_system_vendor": "Framework",
"ansible_systemd": {
"features": "+PAM +AUDIT +SELINUX +APPARMOR +IMA +SMACK +SECCOMP +GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 -PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD -BPF_FRAMEWORK -XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified",
"version": 255
},
"ansible_uptime_seconds": 81849,
"ansible_user_dir": "/root",
"ansible_user_gecos": "root",
"ansible_user_gid": 0,
"ansible_user_id": "root",
"ansible_user_shell": "/bin/bash",
"ansible_user_uid": 0,
"ansible_userspace_architecture": "x86_64",
"ansible_userspace_bits": "64",
"ansible_virtualization_role": "guest",
"ansible_virtualization_tech_guest": [
"docker",
"container"
],
"ansible_virtualization_tech_host": [
"virtualbox",
"kvm"
],
"ansible_virtualization_type": "container",
"gather_subset": [
"all"
],
"module_setup": true
},
"changed": false
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/setup_vault_configure/tasks/main.yml:11" name="[testhost] testhost: setup_vault_configure : Canary for Vault basic setup path={{ vault_configure_canary.path }}" time="0.451081752777099609375">
			<system-out>{
"changed": true,
"result": null
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/setup_vault_configure/tasks/main.yml:16" name="[testhost] testhost: setup_vault_configure : Configure Vault basic setup _raw_params=configure.yml" time="0.0245826244354248046875">
			<system-out>{
"changed": false,
"include": "configure.yml",
"include_args": {}
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/setup_vault_configure/tasks/main.yml:16" name="[include] testhost: setup_vault_configure : Configure Vault basic setup _raw_params=configure.yml" time="0.03895282745361328125">
			<system-out>/root/ansible_collections/community/hashi_vault/tests/output/.tmp/integration/auth_kubernetes-kuzp4yt3-ÅÑŚÌβŁÈ/tests/integration/targets/setup_vault_configure/tasks/configure.yml (args={} vars={}): [testhost]</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/setup_vault_configure/tasks/configure.yml:2" name="[testhost] testhost: setup_vault_configure : Create KV v1 secrets engine backend_type=kv, path={{ vault_kv1_mount_point }}, options={'version': 1}" time="0.4801528453826904296875">
			<system-out>{
"changed": true
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/setup_vault_configure/tasks/configure.yml:9" name="[testhost] testhost: setup_vault_configure : Create KV v2 secrets engine backend_type=kv, path={{ vault_kv2_mount_point }}, options={'version': 2}" time="0.3445851802825927734375">
			<system-out>{
"changed": true
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/setup_vault_configure/tasks/configure.yml:16" name="[testhost] testhost: setup_vault_configure : Create KV v2 secrets engine to test unauthorized access backend_type=kv, path={{ unauthorized_vault_kv2_mount_point }}, options={'version': 2}" time="0.302329540252685546875">
			<system-out>{
"changed": true
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/setup_vault_configure/tasks/configure.yml:23" name="[testhost] testhost: setup_vault_configure : Create KV v2 secrets engine for cas_required=True backend_type=kv, path={{ cas_required_vault_kv2_mount_point }}, options={'version': 2}" time="0.3160655498504638671875">
			<system-out>{
"changed": true
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/setup_vault_configure/tasks/configure.yml:30" name="[testhost] testhost: setup_vault_configure : Set cas_required=True path={{ cas_required_vault_kv2_mount_point }}/config, data={'cas_required': True}" time="0.43478870391845703125">
			<system-out>{
"changed": true,
"result": {
"_content": "b''",
"_content_consumed": true,
"_next": null,
"connection": {
"_pool_block": false,
"_pool_connections": 10,
"_pool_maxsize": 10,
"config": {},
"max_retries": {
"allowed_methods": "frozenset({'HEAD', 'PUT', 'TRACE', 'GET', 'DELETE', 'OPTIONS'})",
"backoff_factor": 0,
"backoff_jitter": 0.0,
"backoff_max": 120,
"connect": null,
"history": [],
"other": null,
"raise_on_redirect": true,
"raise_on_status": true,
"read": false,
"redirect": null,
"remove_headers_on_redirect": "frozenset({'cookie', 'authorization', 'proxy-authorization'})",
"respect_retry_after_header": true,
"status": null,
"status_forcelist": "set()",
"total": 0
},
"poolmanager": {
"connection_pool_kw": {
"block": false,
"maxsize": 10
},
"headers": {},
"key_fn_by_scheme": {
"http": {},
"https": {}
},
"pool_classes_by_scheme": {
"http": "{'__module__': 'urllib3.connectionpool', '__firstlineno__': 120, '__annotations__': {'ConnectionCls': 'type[BaseHTTPConnection] | type[BaseHTTPSConnection]'}, '__doc__': '\\nThread-safe connection pool for one host.\\n\\n:param host:\\n    Host used for this HTTP Connection (e.g. \"localhost\"), passed into\\n    :class:`http.client.HTTPConnection`.\\n\\n:param port:\\n    Port used for this HTTP Connection (None is equivalent to 80), passed\\n    into :class:`http.client.HTTPConnection`.\\n\\n:param timeout:\\n    Socket timeout in seconds for each individual connection. This can\\n    be a float or integer, which sets the timeout for the HTTP request,\\n    or an instance of :class:`urllib3.util.Timeout` which gives you more\\n    fine-grained control over request timeouts. After the constructor has\\n    been parsed, this is always a `urllib3.util.Timeout` object.\\n\\n:param maxsize:\\n    Number of connections to save that can be reused. More than 1 is useful\\n    in multithreaded situations. If ``block`` is set to False, more\\n    connections will be created but they will not be saved once they\\'ve\\n    been used.\\n\\n:param block:\\n    If set to True, no more than ``maxsize`` connections will be used at\\n    a time. When no free connections are available, the call will block\\n    until a connection has been released. This is a useful side effect for\\n    particular multithreaded situations where one does not want to use more\\n    than maxsize connections per host to prevent flooding.\\n\\n:param headers:\\n    Headers to include with all requests, unless other headers are given\\n    explicitly.\\n\\n:param retries:\\n    Retry configuration to use by default with requests in this pool.\\n\\n:param _proxy:\\n    Parsed proxy URL, should not be used directly, instead, see\\n    :class:`urllib3.ProxyManager`\\n\\n:param _proxy_headers:\\n    A dictionary with proxy headers, should not be used directly,\\n    instead, see :class:`urllib3.ProxyManager`\\n\\n:param \\\\**conn_kw:\\n    Additional parameters are used to create fresh :class:`urllib3.connection.HTTPConnection`,\\n    :class:`urllib3.connection.HTTPSConnection` instances.\\n', 'scheme': 'http', 'ConnectionCls': &lt;class 'urllib3.connection.HTTPConnection'&gt;, '__init__': &lt;function HTTPConnectionPool.__init__ at 0x7f26a2fe85e0&gt;, '_new_conn': &lt;function HTTPConnectionPool._new_conn at 0x7f26a2fe8680&gt;, '_get_conn': &lt;function HTTPConnectionPool._get_conn at 0x7f26a2fe8720&gt;, '_put_conn': &lt;function HTTPConnectionPool._put_conn at 0x7f26a2fe87c0&gt;, '_validate_conn': &lt;function HTTPConnectionPool._validate_conn at 0x7f26a2fe8860&gt;, '_prepare_proxy': &lt;function HTTPConnectionPool._prepare_proxy at 0x7f26a2fe8900&gt;, '_get_timeout': &lt;function HTTPConnectionPool._get_timeout at 0x7f26a2fe89a0&gt;, '_raise_timeout': &lt;function HTTPConnectionPool._raise_timeout at 0x7f26a2fe8a40&gt;, '_make_request': &lt;function HTTPConnectionPool._make_request at 0x7f26a2fe8ae0&gt;, 'close': &lt;function HTTPConnectionPool.close at 0x7f26a2fe8b80&gt;, 'is_same_host': &lt;function HTTPConnectionPool.is_same_host at 0x7f26a2fe8c20&gt;, 'urlopen': &lt;function HTTPConnectionPool.urlopen at 0x7f26a2fe8cc0&gt;, '__static_attributes__': ('block', 'conn_kw', 'num_connections', 'num_requests', 'pool', 'proxy', 'proxy_config', 'proxy_headers', 'retries', 'timeout')}",
"https": "{'__module__': 'urllib3.connectionpool', '__firstlineno__': 963, '__annotations__': {'ConnectionCls': 'type[BaseHTTPSConnection]'}, '__doc__': '\\nSame as :class:`.HTTPConnectionPool`, but HTTPS.\\n\\n:class:`.HTTPSConnection` uses one of ``assert_fingerprint``,\\n``assert_hostname`` and ``host`` in this order to verify connections.\\nIf ``assert_hostname`` is False, no verification is done.\\n\\nThe ``key_file``, ``cert_file``, ``cert_reqs``, ``ca_certs``,\\n``ca_cert_dir``, ``ssl_version``, ``key_password`` are only used if :mod:`ssl`\\nis available and are fed into :meth:`urllib3.util.ssl_wrap_socket` to upgrade\\nthe connection socket into an SSL socket.\\n', 'scheme': 'https', 'ConnectionCls': &lt;class 'urllib3.connection.HTTPSConnection'&gt;, '__init__': &lt;function HTTPSConnectionPool.__init__ at 0x7f26a2fe8ea0&gt;, '_prepare_proxy': &lt;function HTTPSConnectionPool._prepare_proxy at 0x7f26a2fe8f40&gt;, '_new_conn': &lt;function HTTPSConnectionPool._new_conn at 0x7f26a2fe8fe0&gt;, '_validate_conn': &lt;function HTTPSConnectionPool._validate_conn at 0x7f26a2fe9080&gt;, '__static_attributes__': ('assert_fingerprint', 'assert_hostname', 'ca_cert_dir', 'ca_certs', 'cert_file', 'cert_reqs', 'key_file', 'key_password', 'ssl_maximum_version', 'ssl_minimum_version', 'ssl_version')}"
},
"pools": {
"_container": {},
"_maxsize": 10,
"dispose_func": null,
"lock": "&lt;unlocked _thread.RLock object owner=0 count=0 at 0x7f26a2ae6000&gt;"
}
},
"proxy_manager": {}
},
"cookies": {
"_cookies": {},
"_cookies_lock": "&lt;unlocked _thread.RLock object owner=0 count=0 at 0x7f26a3aec380&gt;",
"_now": 1761599049,
"_policy": {
"_allowed_domains": null,
"_blocked_domains": [],
"_now": 1761599049,
"hide_cookie2": false,
"netscape": true,
"rfc2109_as_netscape": null,
"rfc2965": false,
"secure_protocols": [
"https",
"wss"
],
"strict_domain": false,
"strict_ns_domain": 0,
"strict_ns_set_initial_dollar": false,
"strict_ns_set_path": false,
"strict_ns_unverifiable": false,
"strict_rfc2965_unverifiable": true
}
},
"elapsed": "0:00:00.002267",
"encoding": "utf-8",
"headers": {
"_store": {
"cache-control": [
"Cache-Control",
"no-store"
],
"content-type": [
"Content-Type",
"application/json"
],
"date": [
"Date",
"Mon, 27 Oct 2025 21:04:09 GMT"
],
"strict-transport-security": [
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
]
}
},
"history": [],
"raw": {
"_body": null,
"_connection": null,
"_decoded_buffer": {
"_size": 0,
"buffer": "deque([])"
},
"_decoder": null,
"_fp": {
"__IOBase_closed": true,
"_method": "POST",
"chunk_left": "UNKNOWN",
"chunked": false,
"code": 204,
"debuglevel": 0,
"fp": null,
"headers": {
"_charset": null,
"_default_type": "text/plain",
"_headers": [
[
"Cache-Control",
"no-store"
],
[
"Content-Type",
"application/json"
],
[
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
],
[
"Date",
"Mon, 27 Oct 2025 21:04:09 GMT"
]
],
"_payload": "",
"_unixfrom": null,
"defects": [],
"epilogue": null,
"policy": {},
"preamble": null
},
"length": 0,
"msg": {
"_charset": null,
"_default_type": "text/plain",
"_headers": [
[
"Cache-Control",
"no-store"
],
[
"Content-Type",
"application/json"
],
[
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
],
[
"Date",
"Mon, 27 Oct 2025 21:04:09 GMT"
]
],
"_payload": "",
"_unixfrom": null,
"defects": [],
"epilogue": null,
"policy": {},
"preamble": null
},
"reason": "No Content",
"status": 204,
"version": 11,
"will_close": false
},
"_fp_bytes_read": 0,
"_has_decoded_content": false,
"_original_response": {
"__IOBase_closed": true,
"_method": "POST",
"chunk_left": "UNKNOWN",
"chunked": false,
"code": 204,
"debuglevel": 0,
"fp": null,
"headers": {
"_charset": null,
"_default_type": "text/plain",
"_headers": [
[
"Cache-Control",
"no-store"
],
[
"Content-Type",
"application/json"
],
[
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
],
[
"Date",
"Mon, 27 Oct 2025 21:04:09 GMT"
]
],
"_payload": "",
"_unixfrom": null,
"defects": [],
"epilogue": null,
"policy": {},
"preamble": null
},
"length": 0,
"msg": {
"_charset": null,
"_default_type": "text/plain",
"_headers": [
[
"Cache-Control",
"no-store"
],
[
"Content-Type",
"application/json"
],
[
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
],
[
"Date",
"Mon, 27 Oct 2025 21:04:09 GMT"
]
],
"_payload": "",
"_unixfrom": null,
"defects": [],
"epilogue": null,
"policy": {},
"preamble": null
},
"reason": "No Content",
"status": 204,
"version": 11,
"will_close": false
},
"_pool": {
"_tunnel_host": "vault",
"block": false,
"ca_cert_dir": null,
"ca_certs": null,
"cert_reqs": "CERT_NONE",
"conn_kw": {
"blocksize": 16384
},
"headers": {},
"host": "vault",
"num_connections": 1,
"num_requests": 1,
"pool": {
"all_tasks_done": {
"_lock": "&lt;unlocked _thread.lock object at 0x7f26a3b7b690&gt;",
"_waiters": "deque([])",
"acquire": "&lt;built-in method acquire of _thread.lock object at 0x7f26a3b7b690&gt;",
"release": "&lt;built-in method release of _thread.lock object at 0x7f26a3b7b690&gt;"
},
"is_shutdown": false,
"maxsize": 10,
"mutex": "&lt;unlocked _thread.lock object at 0x7f26a3b7b690&gt;",
"not_empty": {
"_lock": "&lt;unlocked _thread.lock object at 0x7f26a3b7b690&gt;",
"_waiters": "deque([])",
"acquire": "&lt;built-in method acquire of _thread.lock object at 0x7f26a3b7b690&gt;",
"release": "&lt;built-in method release of _thread.lock object at 0x7f26a3b7b690&gt;"
},
"not_full": {
"_lock": "&lt;unlocked _thread.lock object at 0x7f26a3b7b690&gt;",
"_waiters": "deque([])",
"acquire": "&lt;built-in method acquire of _thread.lock object at 0x7f26a3b7b690&gt;",
"release": "&lt;built-in method release of _thread.lock object at 0x7f26a3b7b690&gt;"
},
"queue": [
null,
null,
null,
null,
null,
null,
null,
null,
null,
{
"_HTTPConnection__response": {
"__IOBase_closed": true,
"_method": "POST",
"chunk_left": "UNKNOWN",
"chunked": false,
"code": 204,
"debuglevel": 0,
"fp": null,
"headers": {
"_charset": null,
"_default_type": "text/plain",
"_headers": [
[
"Cache-Control",
"no-store"
],
[
"Content-Type",
"application/json"
],
[
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
],
[
"Date",
"Mon, 27 Oct 2025 21:04:09 GMT"
]
],
"_payload": "",
"_unixfrom": null,
"defects": [],
"epilogue": null,
"policy": {},
"preamble": null
},
"length": 0,
"msg": {
"_charset": null,
"_default_type": "text/plain",
"_headers": [
[
"Cache-Control",
"no-store"
],
[
"Content-Type",
"application/json"
],
[
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
],
[
"Date",
"Mon, 27 Oct 2025 21:04:09 GMT"
]
],
"_payload": "",
"_unixfrom": null,
"defects": [],
"epilogue": null,
"policy": {},
"preamble": null
},
"reason": "No Content",
"status": 204,
"version": 11,
"will_close": false
},
"_HTTPConnection__state": "Idle",
"_buffer": [],
"_create_connection": {},
"_dns_host": "vault",
"_has_connected_to_proxy": false,
"_method": "POST",
"_raw_proxy_headers": null,
"_response_options": null,
"_tunnel_headers": {},
"_tunnel_host": null,
"_tunnel_port": null,
"_tunnel_scheme": null,
"blocksize": 16384,
"port": 8200,
"proxy": null,
"proxy_config": null,
"sock": "&lt;socket.socket fd=4, family=2, type=1, proto=6, laddr=('10.89.1.6', 48286), raddr=('10.89.1.2', 8200)&gt;",
"socket_options": [
[
6,
1,
1
]
],
"source_address": null,
"timeout": 30
}
],
"unfinished_tasks": 11
},
"port": 8200,
"proxy": null,
"proxy_config": null,
"proxy_headers": {},
"retries": {
"allowed_methods": "frozenset({'HEAD', 'PUT', 'TRACE', 'GET', 'DELETE', 'OPTIONS'})",
"backoff_factor": 0,
"backoff_jitter": 0.0,
"backoff_max": 120,
"connect": null,
"history": [],
"other": null,
"raise_on_redirect": true,
"raise_on_status": true,
"read": null,
"redirect": null,
"remove_headers_on_redirect": "frozenset({'cookie', 'authorization', 'proxy-authorization'})",
"respect_retry_after_header": true,
"status": null,
"status_forcelist": "set()",
"total": 3
},
"timeout": {
"_connect": {
"__objclass__": "{'_generate_next_value_': &lt;staticmethod(&lt;function Enum._generate_next_value_ at 0x7f26a3e3bec0&gt;)&gt;, '__module__': 'urllib3.util.timeout', '__firstlineno__': 14, '__static_attributes__': (), '_new_member_': &lt;built-in method __new__ of type object at 0x9b1660&gt;, '_use_args_': False, '_member_names_': ['token'], '_member_map_': {'token': &lt;_TYPE_DEFAULT.token: -1&gt;}, '_value2member_map_': {-1: &lt;_TYPE_DEFAULT.token: -1&gt;}, '_hashable_values_': [-1], '_unhashable_values_': [], '_unhashable_values_map_': {}, '_member_type_': &lt;class 'object'&gt;, '_value_repr_': None, '__doc__': None, 'token': &lt;_TYPE_DEFAULT.token: -1&gt;, '__new__': &lt;function Enum.__new__ at 0x7f26a3e3bc40&gt;}",
"_name_": "token",
"_sort_order_": 0,
"_value_": -1
},
"_read": {
"__objclass__": "{'_generate_next_value_': &lt;staticmethod(&lt;function Enum._generate_next_value_ at 0x7f26a3e3bec0&gt;)&gt;, '__module__': 'urllib3.util.timeout', '__firstlineno__': 14, '__static_attributes__': (), '_new_member_': &lt;built-in method __new__ of type object at 0x9b1660&gt;, '_use_args_': False, '_member_names_': ['token'], '_member_map_': {'token': &lt;_TYPE_DEFAULT.token: -1&gt;}, '_value2member_map_': {-1: &lt;_TYPE_DEFAULT.token: -1&gt;}, '_hashable_values_': [-1], '_unhashable_values_': [], '_unhashable_values_map_': {}, '_member_type_': &lt;class 'object'&gt;, '_value_repr_': None, '__doc__': None, 'token': &lt;_TYPE_DEFAULT.token: -1&gt;, '__new__': &lt;function Enum.__new__ at 0x7f26a3e3bc40&gt;}",
"_name_": "token",
"_sort_order_": 0,
"_value_": -1
},
"_start_connect": null,
"total": null
}
},
"_request_url": "/v1/kv2_cas/config",
"_retries": {
"allowed_methods": "frozenset({'HEAD', 'PUT', 'TRACE', 'GET', 'DELETE', 'OPTIONS'})",
"backoff_factor": 0,
"backoff_jitter": 0.0,
"backoff_max": 120,
"connect": null,
"history": [],
"other": null,
"raise_on_redirect": true,
"raise_on_status": true,
"read": false,
"redirect": null,
"remove_headers_on_redirect": "frozenset({'cookie', 'authorization', 'proxy-authorization'})",
"respect_retry_after_header": true,
"status": null,
"status_forcelist": "set()",
"total": 0
},
"_sock_shutdown": "&lt;built-in method shutdown of socket object at 0x7f26a2d87e00&gt;",
"auto_close": true,
"chunk_left": null,
"chunked": false,
"decode_content": false,
"enforce_content_length": true,
"headers": {
"_container": {
"cache-control": [
"Cache-Control",
"no-store"
],
"content-type": [
"Content-Type",
"application/json"
],
"date": [
"Date",
"Mon, 27 Oct 2025 21:04:09 GMT"
],
"strict-transport-security": [
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
]
}
},
"length_remaining": 0,
"msg": null,
"reason": "No Content",
"status": 204,
"version": 11,
"version_string": "HTTP/1.1"
},
"reason": "No Content",
"request": {
"_body_position": null,
"_cookies": {
"_cookies": {},
"_cookies_lock": "&lt;unlocked _thread.RLock object owner=0 count=0 at 0x7f26a2ae57c0&gt;",
"_now": 1761599049,
"_policy": {
"_allowed_domains": null,
"_blocked_domains": [],
"_now": 1761599049,
"hide_cookie2": false,
"netscape": true,
"rfc2109_as_netscape": null,
"rfc2965": false,
"secure_protocols": [
"https",
"wss"
],
"strict_domain": false,
"strict_ns_domain": 0,
"strict_ns_set_initial_dollar": false,
"strict_ns_set_path": false,
"strict_ns_unverifiable": false,
"strict_rfc2965_unverifiable": true
}
},
"body": "b'{\"cas_required\": true}'",
"headers": {
"_store": {
"accept": [
"Accept",
"*/*"
],
"accept-encoding": [
"Accept-Encoding",
"gzip, deflate"
],
"connection": [
"Connection",
"keep-alive"
],
"content-length": [
"Content-Length",
"22"
],
"content-type": [
"Content-Type",
"application/json"
],
"user-agent": [
"User-Agent",
"python-requests/2.32.3"
],
"x-vault-request": [
"X-Vault-Request",
"true"
],
"x-vault-token": [
"X-Vault-Token",
"47542cbc-6bf8-4fba-8eda-02e0a0d29a0a"
]
}
},
"hooks": {
"response": []
},
"method": "POST",
"url": "http://vault:8200/v1/kv2_cas/config"
},
"status_code": 204,
"url": "http://vault:8200/v1/kv2_cas/config"
}
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/setup_vault_configure/tasks/configure.yml:36" name="[testhost] testhost: setup_vault_configure : Create a test policy name=test-policy, policy={{ vault_test_policy }}" time="0.4393870830535888671875">
			<system-out>{
"changed": true
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/setup_vault_configure/tasks/configure.yml:41" name="[testhost] testhost: setup_vault_configure : Create an alternate policy name=alt-policy, policy={{ vault_alt_policy }}" time="0.3613522052764892578125">
			<system-out>{
"changed": true
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/setup_vault_configure/tasks/configure.yml:46" name="[testhost] testhost: setup_vault_configure : Create a token creator policy name=token-creator, policy={{ vault_token_creator_policy }}" time="0.3736002445220947265625">
			<system-out>{
"changed": true
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/setup_vault_configure/tasks/configure.yml:51" name="[testhost] testhost: setup_vault_configure : Create an orphan creator policy name=orphan-creator, policy={{ vault_orphan_creator_policy }}" time="0.3080971240997314453125">
			<system-out>{
"changed": true
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/setup_vault_configure/tasks/configure.yml:56" name="[testhost] testhost: setup_vault_configure : Create a policy allowing access to invalid kv2 paths name=invalid-kv2, policy={{ vault_invalid_kv2_path_policy }}" time="0.360402584075927734375">
			<system-out>{
"changed": true
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/setup_vault_configure/tasks/configure.yml:61" name="[testhost] testhost: setup_vault_configure : Create KV v1 secrets path={{ vault_kv1_path }}/secret{{ item }}, version=1, mount_point={{ vault_kv1_mount_point }}, secret={'value': 'foo{{ item }}'}" time="0.9318430423736572265625">
			<system-out>{
"changed": true,
"msg": "All items completed",
"results": [
{
"ansible_loop_var": "item",
"changed": true,
"failed": false,
"invocation": {
"module_args": {
"mount_point": "kv1",
"path": "testproject/secret1",
"secret": {
"value": "foo1"
},
"token": "47542cbc-6bf8-4fba-8eda-02e0a0d29a0a",
"url": "http://vault:8200",
"version": 1
}
},
"item": 1
},
{
"ansible_loop_var": "item",
"changed": true,
"failed": false,
"invocation": {
"module_args": {
"mount_point": "kv1",
"path": "testproject/secret2",
"secret": {
"value": "foo2"
},
"token": "47542cbc-6bf8-4fba-8eda-02e0a0d29a0a",
"url": "http://vault:8200",
"version": 1
}
},
"item": 2
},
{
"ansible_loop_var": "item",
"changed": true,
"failed": false,
"invocation": {
"module_args": {
"mount_point": "kv1",
"path": "testproject/secret3",
"secret": {
"value": "foo3"
},
"token": "47542cbc-6bf8-4fba-8eda-02e0a0d29a0a",
"url": "http://vault:8200",
"version": 1
}
},
"item": 3
}
]
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/setup_vault_configure/tasks/configure.yml:70" name="[testhost] testhost: setup_vault_configure : Create KV v2 secrets path={{ vault_kv2_path }}/secret{{ item }}, version=2, mount_point={{ vault_kv2_mount_point }}, secret={'value': 'foo{{ item }}'}" time="1.4992258548736572265625">
			<system-out>{
"changed": true,
"msg": "All items completed",
"results": [
{
"ansible_loop_var": "item",
"changed": true,
"failed": false,
"invocation": {
"module_args": {
"mount_point": "kv2",
"path": "testproject/secret1",
"secret": {
"value": "foo1"
},
"token": "47542cbc-6bf8-4fba-8eda-02e0a0d29a0a",
"url": "http://vault:8200",
"version": 2
}
},
"item": 1
},
{
"ansible_loop_var": "item",
"changed": true,
"failed": false,
"invocation": {
"module_args": {
"mount_point": "kv2",
"path": "testproject/secret2",
"secret": {
"value": "foo2"
},
"token": "47542cbc-6bf8-4fba-8eda-02e0a0d29a0a",
"url": "http://vault:8200",
"version": 2
}
},
"item": 2
},
{
"ansible_loop_var": "item",
"changed": true,
"failed": false,
"invocation": {
"module_args": {
"mount_point": "kv2",
"path": "testproject/secret3",
"secret": {
"value": "foo3"
},
"token": "47542cbc-6bf8-4fba-8eda-02e0a0d29a0a",
"url": "http://vault:8200",
"version": 2
}
},
"item": 3
},
{
"ansible_loop_var": "item",
"changed": true,
"failed": false,
"invocation": {
"module_args": {
"mount_point": "kv2",
"path": "testproject/secret4",
"secret": {
"value": "foo4"
},
"token": "47542cbc-6bf8-4fba-8eda-02e0a0d29a0a",
"url": "http://vault:8200",
"version": 2
}
},
"item": 4
},
{
"ansible_loop_var": "item",
"changed": true,
"failed": false,
"invocation": {
"module_args": {
"mount_point": "kv2",
"path": "testproject/secret5",
"secret": {
"value": "foo5"
},
"token": "47542cbc-6bf8-4fba-8eda-02e0a0d29a0a",
"url": "http://vault:8200",
"version": 2
}
},
"item": 5
}
]
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/setup_vault_configure/tasks/configure.yml:79" name="[testhost] testhost: setup_vault_configure : Create KV v2 secrets in unauthorized path path={{ vault_kv2_path }}/secret{{ item }}, version=2, mount_point={{ unauthorized_vault_kv2_mount_point }}, secret={'value': 'foo{{ item }}'}" time="1.27904033660888671875">
			<system-out>{
"changed": true,
"msg": "All items completed",
"results": [
{
"ansible_loop_var": "item",
"changed": true,
"failed": false,
"invocation": {
"module_args": {
"mount_point": "kv2_noauth",
"path": "testproject/secret1",
"secret": {
"value": "foo1"
},
"token": "47542cbc-6bf8-4fba-8eda-02e0a0d29a0a",
"url": "http://vault:8200",
"version": 2
}
},
"item": 1
},
{
"ansible_loop_var": "item",
"changed": true,
"failed": false,
"invocation": {
"module_args": {
"mount_point": "kv2_noauth",
"path": "testproject/secret2",
"secret": {
"value": "foo2"
},
"token": "47542cbc-6bf8-4fba-8eda-02e0a0d29a0a",
"url": "http://vault:8200",
"version": 2
}
},
"item": 2
},
{
"ansible_loop_var": "item",
"changed": true,
"failed": false,
"invocation": {
"module_args": {
"mount_point": "kv2_noauth",
"path": "testproject/secret3",
"secret": {
"value": "foo3"
},
"token": "47542cbc-6bf8-4fba-8eda-02e0a0d29a0a",
"url": "http://vault:8200",
"version": 2
}
},
"item": 3
},
{
"ansible_loop_var": "item",
"changed": true,
"failed": false,
"invocation": {
"module_args": {
"mount_point": "kv2_noauth",
"path": "testproject/secret4",
"secret": {
"value": "foo4"
},
"token": "47542cbc-6bf8-4fba-8eda-02e0a0d29a0a",
"url": "http://vault:8200",
"version": 2
}
},
"item": 4
},
{
"ansible_loop_var": "item",
"changed": true,
"failed": false,
"invocation": {
"module_args": {
"mount_point": "kv2_noauth",
"path": "testproject/secret5",
"secret": {
"value": "foo5"
},
"token": "47542cbc-6bf8-4fba-8eda-02e0a0d29a0a",
"url": "http://vault:8200",
"version": 2
}
},
"item": 5
}
]
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/setup_vault_configure/tasks/configure.yml:88" name="[testhost] testhost: setup_vault_configure : Update KV v2 secret4 with new value to create version path={{ vault_kv2_path }}/secret4, version=2, mount_point={{ vault_kv2_mount_point }}, secret={'value': 'foo5'}" time="0.2385385036468505859375">
			<system-out>{
"changed": true
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/setup_vault_configure/tasks/configure.yml:96" name="[testhost] testhost: setup_vault_configure : Create multiple KV v2 secrets under one path path={{ vault_kv2_multi_path }}/secrets, version=2, mount_point={{ vault_kv2_mount_point }}, secret={'value1': 'foo1', 'value2': 'foo2', 'value3': 'foo3'}" time="0.28363323211669921875">
			<system-out>{
"changed": true
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/setup_vault_configure/tasks/configure.yml:106" name="[testhost] testhost: setup_vault_configure : Remove existing two-versioned secret mount_point={{ vault_kv2_mount_point }}, path={{ vault_kv2_versioned_path }}/twover" time="0.2901227474212646484375">
			<system-out>{
"changed": true
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/setup_vault_configure/tasks/configure.yml:111" name="[testhost] testhost: setup_vault_configure : Set up a two-versioned secret (v1) version=2, mount_point={{ vault_kv2_mount_point }}, path={{ vault_kv2_versioned_path }}/twover, secret={'a': 'one', 'v': 1}" time="0.2867686748504638671875">
			<system-out>{
"changed": true
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/setup_vault_configure/tasks/configure.yml:120" name="[testhost] testhost: setup_vault_configure : Set up a two-versioned secret (v2) version=2, mount_point={{ vault_kv2_mount_point }}, path={{ vault_kv2_versioned_path }}/twover, secret={'a': 'two', 'v': 2}" time="0.2213001251220703125">
			<system-out>{
"changed": true
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/setup_vault_configure/tasks/configure.yml:129" name="[testhost] testhost: setup_vault_configure : Write Canary path={{ vault_configure_canary.path }}, data={'value': '{{ vault_configure_canary.value }}'}" time="0.2467992305755615234375">
			<system-out>{
"changed": true,
"result": {
"_content": "b''",
"_content_consumed": true,
"_next": null,
"connection": {
"_pool_block": false,
"_pool_connections": 10,
"_pool_maxsize": 10,
"config": {},
"max_retries": {
"allowed_methods": "frozenset({'OPTIONS', 'GET', 'TRACE', 'PUT', 'DELETE', 'HEAD'})",
"backoff_factor": 0,
"backoff_jitter": 0.0,
"backoff_max": 120,
"connect": null,
"history": [],
"other": null,
"raise_on_redirect": true,
"raise_on_status": true,
"read": false,
"redirect": null,
"remove_headers_on_redirect": "frozenset({'cookie', 'proxy-authorization', 'authorization'})",
"respect_retry_after_header": true,
"status": null,
"status_forcelist": "set()",
"total": 0
},
"poolmanager": {
"connection_pool_kw": {
"block": false,
"maxsize": 10
},
"headers": {},
"key_fn_by_scheme": {
"http": {},
"https": {}
},
"pool_classes_by_scheme": {
"http": "{'__module__': 'urllib3.connectionpool', '__firstlineno__': 120, '__annotations__': {'ConnectionCls': 'type[BaseHTTPConnection] | type[BaseHTTPSConnection]'}, '__doc__': '\\nThread-safe connection pool for one host.\\n\\n:param host:\\n    Host used for this HTTP Connection (e.g. \"localhost\"), passed into\\n    :class:`http.client.HTTPConnection`.\\n\\n:param port:\\n    Port used for this HTTP Connection (None is equivalent to 80), passed\\n    into :class:`http.client.HTTPConnection`.\\n\\n:param timeout:\\n    Socket timeout in seconds for each individual connection. This can\\n    be a float or integer, which sets the timeout for the HTTP request,\\n    or an instance of :class:`urllib3.util.Timeout` which gives you more\\n    fine-grained control over request timeouts. After the constructor has\\n    been parsed, this is always a `urllib3.util.Timeout` object.\\n\\n:param maxsize:\\n    Number of connections to save that can be reused. More than 1 is useful\\n    in multithreaded situations. If ``block`` is set to False, more\\n    connections will be created but they will not be saved once they\\'ve\\n    been used.\\n\\n:param block:\\n    If set to True, no more than ``maxsize`` connections will be used at\\n    a time. When no free connections are available, the call will block\\n    until a connection has been released. This is a useful side effect for\\n    particular multithreaded situations where one does not want to use more\\n    than maxsize connections per host to prevent flooding.\\n\\n:param headers:\\n    Headers to include with all requests, unless other headers are given\\n    explicitly.\\n\\n:param retries:\\n    Retry configuration to use by default with requests in this pool.\\n\\n:param _proxy:\\n    Parsed proxy URL, should not be used directly, instead, see\\n    :class:`urllib3.ProxyManager`\\n\\n:param _proxy_headers:\\n    A dictionary with proxy headers, should not be used directly,\\n    instead, see :class:`urllib3.ProxyManager`\\n\\n:param \\\\**conn_kw:\\n    Additional parameters are used to create fresh :class:`urllib3.connection.HTTPConnection`,\\n    :class:`urllib3.connection.HTTPSConnection` instances.\\n', 'scheme': 'http', 'ConnectionCls': &lt;class 'urllib3.connection.HTTPConnection'&gt;, '__init__': &lt;function HTTPConnectionPool.__init__ at 0x7f71de26c5e0&gt;, '_new_conn': &lt;function HTTPConnectionPool._new_conn at 0x7f71de26c680&gt;, '_get_conn': &lt;function HTTPConnectionPool._get_conn at 0x7f71de26c720&gt;, '_put_conn': &lt;function HTTPConnectionPool._put_conn at 0x7f71de26c7c0&gt;, '_validate_conn': &lt;function HTTPConnectionPool._validate_conn at 0x7f71de26c860&gt;, '_prepare_proxy': &lt;function HTTPConnectionPool._prepare_proxy at 0x7f71de26c900&gt;, '_get_timeout': &lt;function HTTPConnectionPool._get_timeout at 0x7f71de26c9a0&gt;, '_raise_timeout': &lt;function HTTPConnectionPool._raise_timeout at 0x7f71de26ca40&gt;, '_make_request': &lt;function HTTPConnectionPool._make_request at 0x7f71de26cae0&gt;, 'close': &lt;function HTTPConnectionPool.close at 0x7f71de26cb80&gt;, 'is_same_host': &lt;function HTTPConnectionPool.is_same_host at 0x7f71de26cc20&gt;, 'urlopen': &lt;function HTTPConnectionPool.urlopen at 0x7f71de26ccc0&gt;, '__static_attributes__': ('block', 'conn_kw', 'num_connections', 'num_requests', 'pool', 'proxy', 'proxy_config', 'proxy_headers', 'retries', 'timeout')}",
"https": "{'__module__': 'urllib3.connectionpool', '__firstlineno__': 963, '__annotations__': {'ConnectionCls': 'type[BaseHTTPSConnection]'}, '__doc__': '\\nSame as :class:`.HTTPConnectionPool`, but HTTPS.\\n\\n:class:`.HTTPSConnection` uses one of ``assert_fingerprint``,\\n``assert_hostname`` and ``host`` in this order to verify connections.\\nIf ``assert_hostname`` is False, no verification is done.\\n\\nThe ``key_file``, ``cert_file``, ``cert_reqs``, ``ca_certs``,\\n``ca_cert_dir``, ``ssl_version``, ``key_password`` are only used if :mod:`ssl`\\nis available and are fed into :meth:`urllib3.util.ssl_wrap_socket` to upgrade\\nthe connection socket into an SSL socket.\\n', 'scheme': 'https', 'ConnectionCls': &lt;class 'urllib3.connection.HTTPSConnection'&gt;, '__init__': &lt;function HTTPSConnectionPool.__init__ at 0x7f71de26cea0&gt;, '_prepare_proxy': &lt;function HTTPSConnectionPool._prepare_proxy at 0x7f71de26cf40&gt;, '_new_conn': &lt;function HTTPSConnectionPool._new_conn at 0x7f71de26cfe0&gt;, '_validate_conn': &lt;function HTTPSConnectionPool._validate_conn at 0x7f71de26d080&gt;, '__static_attributes__': ('assert_fingerprint', 'assert_hostname', 'ca_cert_dir', 'ca_certs', 'cert_file', 'cert_reqs', 'key_file', 'key_password', 'ssl_maximum_version', 'ssl_minimum_version', 'ssl_version')}"
},
"pools": {
"_container": {},
"_maxsize": 10,
"dispose_func": null,
"lock": "&lt;unlocked _thread.RLock object owner=0 count=0 at 0x7f71ddd69fc0&gt;"
}
},
"proxy_manager": {}
},
"cookies": {
"_cookies": {},
"_cookies_lock": "&lt;unlocked _thread.RLock object owner=0 count=0 at 0x7f71ded9aa80&gt;",
"_now": 1761599056,
"_policy": {
"_allowed_domains": null,
"_blocked_domains": [],
"_now": 1761599056,
"hide_cookie2": false,
"netscape": true,
"rfc2109_as_netscape": null,
"rfc2965": false,
"secure_protocols": [
"https",
"wss"
],
"strict_domain": false,
"strict_ns_domain": 0,
"strict_ns_set_initial_dollar": false,
"strict_ns_set_path": false,
"strict_ns_unverifiable": false,
"strict_rfc2965_unverifiable": true
}
},
"elapsed": "0:00:00.001252",
"encoding": "utf-8",
"headers": {
"_store": {
"cache-control": [
"Cache-Control",
"no-store"
],
"content-type": [
"Content-Type",
"application/json"
],
"date": [
"Date",
"Mon, 27 Oct 2025 21:04:16 GMT"
],
"strict-transport-security": [
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
]
}
},
"history": [],
"raw": {
"_body": null,
"_connection": null,
"_decoded_buffer": {
"_size": 0,
"buffer": "deque([])"
},
"_decoder": null,
"_fp": {
"__IOBase_closed": true,
"_method": "POST",
"chunk_left": "UNKNOWN",
"chunked": false,
"code": 204,
"debuglevel": 0,
"fp": null,
"headers": {
"_charset": null,
"_default_type": "text/plain",
"_headers": [
[
"Cache-Control",
"no-store"
],
[
"Content-Type",
"application/json"
],
[
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
],
[
"Date",
"Mon, 27 Oct 2025 21:04:16 GMT"
]
],
"_payload": "",
"_unixfrom": null,
"defects": [],
"epilogue": null,
"policy": {},
"preamble": null
},
"length": 0,
"msg": {
"_charset": null,
"_default_type": "text/plain",
"_headers": [
[
"Cache-Control",
"no-store"
],
[
"Content-Type",
"application/json"
],
[
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
],
[
"Date",
"Mon, 27 Oct 2025 21:04:16 GMT"
]
],
"_payload": "",
"_unixfrom": null,
"defects": [],
"epilogue": null,
"policy": {},
"preamble": null
},
"reason": "No Content",
"status": 204,
"version": 11,
"will_close": false
},
"_fp_bytes_read": 0,
"_has_decoded_content": false,
"_original_response": {
"__IOBase_closed": true,
"_method": "POST",
"chunk_left": "UNKNOWN",
"chunked": false,
"code": 204,
"debuglevel": 0,
"fp": null,
"headers": {
"_charset": null,
"_default_type": "text/plain",
"_headers": [
[
"Cache-Control",
"no-store"
],
[
"Content-Type",
"application/json"
],
[
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
],
[
"Date",
"Mon, 27 Oct 2025 21:04:16 GMT"
]
],
"_payload": "",
"_unixfrom": null,
"defects": [],
"epilogue": null,
"policy": {},
"preamble": null
},
"length": 0,
"msg": {
"_charset": null,
"_default_type": "text/plain",
"_headers": [
[
"Cache-Control",
"no-store"
],
[
"Content-Type",
"application/json"
],
[
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
],
[
"Date",
"Mon, 27 Oct 2025 21:04:16 GMT"
]
],
"_payload": "",
"_unixfrom": null,
"defects": [],
"epilogue": null,
"policy": {},
"preamble": null
},
"reason": "No Content",
"status": 204,
"version": 11,
"will_close": false
},
"_pool": {
"_tunnel_host": "vault",
"block": false,
"ca_cert_dir": null,
"ca_certs": null,
"cert_reqs": "CERT_NONE",
"conn_kw": {
"blocksize": 16384
},
"headers": {},
"host": "vault",
"num_connections": 1,
"num_requests": 1,
"pool": {
"all_tasks_done": {
"_lock": "&lt;unlocked _thread.lock object at 0x7f71ddd7c1d0&gt;",
"_waiters": "deque([])",
"acquire": "&lt;built-in method acquire of _thread.lock object at 0x7f71ddd7c1d0&gt;",
"release": "&lt;built-in method release of _thread.lock object at 0x7f71ddd7c1d0&gt;"
},
"is_shutdown": false,
"maxsize": 10,
"mutex": "&lt;unlocked _thread.lock object at 0x7f71ddd7c1d0&gt;",
"not_empty": {
"_lock": "&lt;unlocked _thread.lock object at 0x7f71ddd7c1d0&gt;",
"_waiters": "deque([])",
"acquire": "&lt;built-in method acquire of _thread.lock object at 0x7f71ddd7c1d0&gt;",
"release": "&lt;built-in method release of _thread.lock object at 0x7f71ddd7c1d0&gt;"
},
"not_full": {
"_lock": "&lt;unlocked _thread.lock object at 0x7f71ddd7c1d0&gt;",
"_waiters": "deque([])",
"acquire": "&lt;built-in method acquire of _thread.lock object at 0x7f71ddd7c1d0&gt;",
"release": "&lt;built-in method release of _thread.lock object at 0x7f71ddd7c1d0&gt;"
},
"queue": [
null,
null,
null,
null,
null,
null,
null,
null,
null,
{
"_HTTPConnection__response": {
"__IOBase_closed": true,
"_method": "POST",
"chunk_left": "UNKNOWN",
"chunked": false,
"code": 204,
"debuglevel": 0,
"fp": null,
"headers": {
"_charset": null,
"_default_type": "text/plain",
"_headers": [
[
"Cache-Control",
"no-store"
],
[
"Content-Type",
"application/json"
],
[
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
],
[
"Date",
"Mon, 27 Oct 2025 21:04:16 GMT"
]
],
"_payload": "",
"_unixfrom": null,
"defects": [],
"epilogue": null,
"policy": {},
"preamble": null
},
"length": 0,
"msg": {
"_charset": null,
"_default_type": "text/plain",
"_headers": [
[
"Cache-Control",
"no-store"
],
[
"Content-Type",
"application/json"
],
[
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
],
[
"Date",
"Mon, 27 Oct 2025 21:04:16 GMT"
]
],
"_payload": "",
"_unixfrom": null,
"defects": [],
"epilogue": null,
"policy": {},
"preamble": null
},
"reason": "No Content",
"status": 204,
"version": 11,
"will_close": false
},
"_HTTPConnection__state": "Idle",
"_buffer": [],
"_create_connection": {},
"_dns_host": "vault",
"_has_connected_to_proxy": false,
"_method": "POST",
"_raw_proxy_headers": null,
"_response_options": null,
"_tunnel_headers": {},
"_tunnel_host": null,
"_tunnel_port": null,
"_tunnel_scheme": null,
"blocksize": 16384,
"port": 8200,
"proxy": null,
"proxy_config": null,
"sock": "&lt;socket.socket fd=4, family=2, type=1, proto=6, laddr=('10.89.1.6', 49552), raddr=('10.89.1.2', 8200)&gt;",
"socket_options": [
[
6,
1,
1
]
],
"source_address": null,
"timeout": 30
}
],
"unfinished_tasks": 11
},
"port": 8200,
"proxy": null,
"proxy_config": null,
"proxy_headers": {},
"retries": {
"allowed_methods": "frozenset({'OPTIONS', 'GET', 'TRACE', 'PUT', 'DELETE', 'HEAD'})",
"backoff_factor": 0,
"backoff_jitter": 0.0,
"backoff_max": 120,
"connect": null,
"history": [],
"other": null,
"raise_on_redirect": true,
"raise_on_status": true,
"read": null,
"redirect": null,
"remove_headers_on_redirect": "frozenset({'cookie', 'proxy-authorization', 'authorization'})",
"respect_retry_after_header": true,
"status": null,
"status_forcelist": "set()",
"total": 3
},
"timeout": {
"_connect": {
"__objclass__": "{'_generate_next_value_': &lt;staticmethod(&lt;function Enum._generate_next_value_ at 0x7f71df053ec0&gt;)&gt;, '__module__': 'urllib3.util.timeout', '__firstlineno__': 14, '__static_attributes__': (), '_new_member_': &lt;built-in method __new__ of type object at 0x9b1660&gt;, '_use_args_': False, '_member_names_': ['token'], '_member_map_': {'token': &lt;_TYPE_DEFAULT.token: -1&gt;}, '_value2member_map_': {-1: &lt;_TYPE_DEFAULT.token: -1&gt;}, '_hashable_values_': [-1], '_unhashable_values_': [], '_unhashable_values_map_': {}, '_member_type_': &lt;class 'object'&gt;, '_value_repr_': None, '__doc__': None, 'token': &lt;_TYPE_DEFAULT.token: -1&gt;, '__new__': &lt;function Enum.__new__ at 0x7f71df053c40&gt;}",
"_name_": "token",
"_sort_order_": 0,
"_value_": -1
},
"_read": {
"__objclass__": "{'_generate_next_value_': &lt;staticmethod(&lt;function Enum._generate_next_value_ at 0x7f71df053ec0&gt;)&gt;, '__module__': 'urllib3.util.timeout', '__firstlineno__': 14, '__static_attributes__': (), '_new_member_': &lt;built-in method __new__ of type object at 0x9b1660&gt;, '_use_args_': False, '_member_names_': ['token'], '_member_map_': {'token': &lt;_TYPE_DEFAULT.token: -1&gt;}, '_value2member_map_': {-1: &lt;_TYPE_DEFAULT.token: -1&gt;}, '_hashable_values_': [-1], '_unhashable_values_': [], '_unhashable_values_map_': {}, '_member_type_': &lt;class 'object'&gt;, '_value_repr_': None, '__doc__': None, 'token': &lt;_TYPE_DEFAULT.token: -1&gt;, '__new__': &lt;function Enum.__new__ at 0x7f71df053c40&gt;}",
"_name_": "token",
"_sort_order_": 0,
"_value_": -1
},
"_start_connect": null,
"total": null
}
},
"_request_url": "/v1/cubbyhole/configure_basic",
"_retries": {
"allowed_methods": "frozenset({'OPTIONS', 'GET', 'TRACE', 'PUT', 'DELETE', 'HEAD'})",
"backoff_factor": 0,
"backoff_jitter": 0.0,
"backoff_max": 120,
"connect": null,
"history": [],
"other": null,
"raise_on_redirect": true,
"raise_on_status": true,
"read": false,
"redirect": null,
"remove_headers_on_redirect": "frozenset({'cookie', 'proxy-authorization', 'authorization'})",
"respect_retry_after_header": true,
"status": null,
"status_forcelist": "set()",
"total": 0
},
"_sock_shutdown": "&lt;built-in method shutdown of socket object at 0x7f71de007e00&gt;",
"auto_close": true,
"chunk_left": null,
"chunked": false,
"decode_content": false,
"enforce_content_length": true,
"headers": {
"_container": {
"cache-control": [
"Cache-Control",
"no-store"
],
"content-type": [
"Content-Type",
"application/json"
],
"date": [
"Date",
"Mon, 27 Oct 2025 21:04:16 GMT"
],
"strict-transport-security": [
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
]
}
},
"length_remaining": 0,
"msg": null,
"reason": "No Content",
"status": 204,
"version": 11,
"version_string": "HTTP/1.1"
},
"reason": "No Content",
"request": {
"_body_position": null,
"_cookies": {
"_cookies": {},
"_cookies_lock": "&lt;unlocked _thread.RLock object owner=0 count=0 at 0x7f71ddd69780&gt;",
"_now": 1761599056,
"_policy": {
"_allowed_domains": null,
"_blocked_domains": [],
"_now": 1761599056,
"hide_cookie2": false,
"netscape": true,
"rfc2109_as_netscape": null,
"rfc2965": false,
"secure_protocols": [
"https",
"wss"
],
"strict_domain": false,
"strict_ns_domain": 0,
"strict_ns_set_initial_dollar": false,
"strict_ns_set_path": false,
"strict_ns_unverifiable": false,
"strict_rfc2965_unverifiable": true
}
},
"body": "b'{\"value\": \"complete\"}'",
"headers": {
"_store": {
"accept": [
"Accept",
"*/*"
],
"accept-encoding": [
"Accept-Encoding",
"gzip, deflate"
],
"connection": [
"Connection",
"keep-alive"
],
"content-length": [
"Content-Length",
"21"
],
"content-type": [
"Content-Type",
"application/json"
],
"user-agent": [
"User-Agent",
"python-requests/2.32.3"
],
"x-vault-request": [
"X-Vault-Request",
"true"
],
"x-vault-token": [
"X-Vault-Token",
"47542cbc-6bf8-4fba-8eda-02e0a0d29a0a"
]
}
},
"hooks": {
"response": []
},
"method": "POST",
"url": "http://vault:8200/v1/cubbyhole/configure_basic"
},
"status_code": 204,
"url": "http://vault:8200/v1/cubbyhole/configure_basic"
}
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/auth_kubernetes/tasks/main.yml:4" name="[testhost] testhost: auth_kubernetes : Persist defaults {{ item.key }}={{ lookup('vars', item.key) }}" time="0.036522388458251953125">
			<system-out>{
"changed": false,
"msg": "All items completed",
"results": [
{
"ansible_facts": {
"ansible_hashi_vault_url": "http://vault:8200"
},
"ansible_loop_var": "item",
"changed": false,
"failed": false,
"item": {
"key": "ansible_hashi_vault_url",
"value": "{{ vault_test_server_http }}"
}
},
{
"ansible_facts": {
"ansible_hashi_vault_auth_method": "kubernetes"
},
"ansible_loop_var": "item",
"changed": false,
"failed": false,
"item": {
"key": "ansible_hashi_vault_auth_method",
"value": "kubernetes"
}
},
{
"ansible_facts": {
"auth_paths": [
"kubernetes"
]
},
"ansible_loop_var": "item",
"changed": false,
"failed": false,
"item": {
"key": "auth_paths",
"value": [
"kubernetes"
]
}
},
{
"ansible_facts": {
"vault_kubernetes_canary": {
"path": "cubbyhole/configure_kubernetes",
"value": "complete"
}
},
"ansible_loop_var": "item",
"changed": false,
"failed": false,
"item": {
"key": "vault_kubernetes_canary",
"value": {
"path": "cubbyhole/configure_kubernetes",
"value": "complete"
}
}
}
]
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/auth_kubernetes/tasks/main.yml:17" name="[testhost] testhost: auth_kubernetes : Canary for Kubernetes auth path={{ vault_kubernetes_canary.path }}" time="0.2506935596466064453125">
			<system-out>{
"changed": true,
"result": null
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/auth_kubernetes/tasks/main.yml:22" name="[testhost] testhost: auth_kubernetes : Configure Kubernetes apply={'vars': {'default_path': '{{ ansible_hashi_vault_auth_method }}', 'this_path': '{{ item }}'}}, _raw_params=kubernetes_setup.yml" time="0.02013683319091796875">
			<system-out>{
"changed": false,
"msg": "All items completed",
"results": [
{
"ansible_loop_var": "item",
"include": "kubernetes_setup.yml",
"include_args": {
"apply": {
"vars": {
"default_path": "kubernetes",
"this_path": "kubernetes"
}
}
},
"item": "kubernetes"
}
]
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/auth_kubernetes/tasks/main.yml:22" name="[include] testhost: auth_kubernetes : Configure Kubernetes apply={'vars': {'default_path': '{{ ansible_hashi_vault_auth_method }}', 'this_path': '{{ item }}'}}, _raw_params=kubernetes_setup.yml" time="0.0255718231201171875">
			<system-out>/root/ansible_collections/community/hashi_vault/tests/output/.tmp/integration/auth_kubernetes-kuzp4yt3-ÅÑŚÌβŁÈ/tests/integration/targets/auth_kubernetes/tasks/kubernetes_setup.yml (args={'apply': {'vars': {'default_path': 'kubernetes', 'this_path': 'kubernetes'}}} vars={'item': 'kubernetes', 'ansible_loop_var': 'item', '_ansible_item_label': 'kubernetes'}): [testhost]</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/auth_kubernetes/tasks/kubernetes_setup.yml:15" name="[testhost] testhost: auth_kubernetes : Enable the Kubernetes auth method method_type=kubernetes, path={{ omit if is_default_path else this_path }}, config={'default_lease_ttl': '60m'}" time="0.486306667327880859375">
			<system-out>{
"changed": true
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/auth_kubernetes/tasks/kubernetes_setup.yml:22" name="[testhost] testhost: auth_kubernetes : Configure the Kubernetes auth method path=auth/{{ this_path }}/config, data={'kubernetes_host': 'http://mmock:8900', 'pem_keys': '{{ jwt_public_key }}\n', 'disable_local_ca_jwt': True, 'disable_iss_validation': True}" time="0.2442607879638671875">
			<system-out>{
"changed": true,
"result": {
"_content": "b''",
"_content_consumed": true,
"_next": null,
"connection": {
"_pool_block": false,
"_pool_connections": 10,
"_pool_maxsize": 10,
"config": {},
"max_retries": {
"allowed_methods": "frozenset({'DELETE', 'GET', 'TRACE', 'HEAD', 'PUT', 'OPTIONS'})",
"backoff_factor": 0,
"backoff_jitter": 0.0,
"backoff_max": 120,
"connect": null,
"history": [],
"other": null,
"raise_on_redirect": true,
"raise_on_status": true,
"read": false,
"redirect": null,
"remove_headers_on_redirect": "frozenset({'cookie', 'authorization', 'proxy-authorization'})",
"respect_retry_after_header": true,
"status": null,
"status_forcelist": "set()",
"total": 0
},
"poolmanager": {
"connection_pool_kw": {
"block": false,
"maxsize": 10
},
"headers": {},
"key_fn_by_scheme": {
"http": {},
"https": {}
},
"pool_classes_by_scheme": {
"http": "{'__module__': 'urllib3.connectionpool', '__firstlineno__': 120, '__annotations__': {'ConnectionCls': 'type[BaseHTTPConnection] | type[BaseHTTPSConnection]'}, '__doc__': '\\nThread-safe connection pool for one host.\\n\\n:param host:\\n    Host used for this HTTP Connection (e.g. \"localhost\"), passed into\\n    :class:`http.client.HTTPConnection`.\\n\\n:param port:\\n    Port used for this HTTP Connection (None is equivalent to 80), passed\\n    into :class:`http.client.HTTPConnection`.\\n\\n:param timeout:\\n    Socket timeout in seconds for each individual connection. This can\\n    be a float or integer, which sets the timeout for the HTTP request,\\n    or an instance of :class:`urllib3.util.Timeout` which gives you more\\n    fine-grained control over request timeouts. After the constructor has\\n    been parsed, this is always a `urllib3.util.Timeout` object.\\n\\n:param maxsize:\\n    Number of connections to save that can be reused. More than 1 is useful\\n    in multithreaded situations. If ``block`` is set to False, more\\n    connections will be created but they will not be saved once they\\'ve\\n    been used.\\n\\n:param block:\\n    If set to True, no more than ``maxsize`` connections will be used at\\n    a time. When no free connections are available, the call will block\\n    until a connection has been released. This is a useful side effect for\\n    particular multithreaded situations where one does not want to use more\\n    than maxsize connections per host to prevent flooding.\\n\\n:param headers:\\n    Headers to include with all requests, unless other headers are given\\n    explicitly.\\n\\n:param retries:\\n    Retry configuration to use by default with requests in this pool.\\n\\n:param _proxy:\\n    Parsed proxy URL, should not be used directly, instead, see\\n    :class:`urllib3.ProxyManager`\\n\\n:param _proxy_headers:\\n    A dictionary with proxy headers, should not be used directly,\\n    instead, see :class:`urllib3.ProxyManager`\\n\\n:param \\\\**conn_kw:\\n    Additional parameters are used to create fresh :class:`urllib3.connection.HTTPConnection`,\\n    :class:`urllib3.connection.HTTPSConnection` instances.\\n', 'scheme': 'http', 'ConnectionCls': &lt;class 'urllib3.connection.HTTPConnection'&gt;, '__init__': &lt;function HTTPConnectionPool.__init__ at 0x7f79820f45e0&gt;, '_new_conn': &lt;function HTTPConnectionPool._new_conn at 0x7f79820f4680&gt;, '_get_conn': &lt;function HTTPConnectionPool._get_conn at 0x7f79820f4720&gt;, '_put_conn': &lt;function HTTPConnectionPool._put_conn at 0x7f79820f47c0&gt;, '_validate_conn': &lt;function HTTPConnectionPool._validate_conn at 0x7f79820f4860&gt;, '_prepare_proxy': &lt;function HTTPConnectionPool._prepare_proxy at 0x7f79820f4900&gt;, '_get_timeout': &lt;function HTTPConnectionPool._get_timeout at 0x7f79820f49a0&gt;, '_raise_timeout': &lt;function HTTPConnectionPool._raise_timeout at 0x7f79820f4a40&gt;, '_make_request': &lt;function HTTPConnectionPool._make_request at 0x7f79820f4ae0&gt;, 'close': &lt;function HTTPConnectionPool.close at 0x7f79820f4b80&gt;, 'is_same_host': &lt;function HTTPConnectionPool.is_same_host at 0x7f79820f4c20&gt;, 'urlopen': &lt;function HTTPConnectionPool.urlopen at 0x7f79820f4cc0&gt;, '__static_attributes__': ('block', 'conn_kw', 'num_connections', 'num_requests', 'pool', 'proxy', 'proxy_config', 'proxy_headers', 'retries', 'timeout')}",
"https": "{'__module__': 'urllib3.connectionpool', '__firstlineno__': 963, '__annotations__': {'ConnectionCls': 'type[BaseHTTPSConnection]'}, '__doc__': '\\nSame as :class:`.HTTPConnectionPool`, but HTTPS.\\n\\n:class:`.HTTPSConnection` uses one of ``assert_fingerprint``,\\n``assert_hostname`` and ``host`` in this order to verify connections.\\nIf ``assert_hostname`` is False, no verification is done.\\n\\nThe ``key_file``, ``cert_file``, ``cert_reqs``, ``ca_certs``,\\n``ca_cert_dir``, ``ssl_version``, ``key_password`` are only used if :mod:`ssl`\\nis available and are fed into :meth:`urllib3.util.ssl_wrap_socket` to upgrade\\nthe connection socket into an SSL socket.\\n', 'scheme': 'https', 'ConnectionCls': &lt;class 'urllib3.connection.HTTPSConnection'&gt;, '__init__': &lt;function HTTPSConnectionPool.__init__ at 0x7f79820f4ea0&gt;, '_prepare_proxy': &lt;function HTTPSConnectionPool._prepare_proxy at 0x7f79820f4f40&gt;, '_new_conn': &lt;function HTTPSConnectionPool._new_conn at 0x7f79820f4fe0&gt;, '_validate_conn': &lt;function HTTPSConnectionPool._validate_conn at 0x7f79820f5080&gt;, '__static_attributes__': ('assert_fingerprint', 'assert_hostname', 'ca_cert_dir', 'ca_certs', 'cert_file', 'cert_reqs', 'key_file', 'key_password', 'ssl_maximum_version', 'ssl_minimum_version', 'ssl_version')}"
},
"pools": {
"_container": {},
"_maxsize": 10,
"dispose_func": null,
"lock": "&lt;unlocked _thread.RLock object owner=0 count=0 at 0x7f7981bf2740&gt;"
}
},
"proxy_manager": {}
},
"cookies": {
"_cookies": {},
"_cookies_lock": "&lt;unlocked _thread.RLock object owner=0 count=0 at 0x7f79828e3740&gt;",
"_now": 1761599057,
"_policy": {
"_allowed_domains": null,
"_blocked_domains": [],
"_now": 1761599057,
"hide_cookie2": false,
"netscape": true,
"rfc2109_as_netscape": null,
"rfc2965": false,
"secure_protocols": [
"https",
"wss"
],
"strict_domain": false,
"strict_ns_domain": 0,
"strict_ns_set_initial_dollar": false,
"strict_ns_set_path": false,
"strict_ns_unverifiable": false,
"strict_rfc2965_unverifiable": true
}
},
"elapsed": "0:00:00.003984",
"encoding": "utf-8",
"headers": {
"_store": {
"cache-control": [
"Cache-Control",
"no-store"
],
"content-type": [
"Content-Type",
"application/json"
],
"date": [
"Date",
"Mon, 27 Oct 2025 21:04:17 GMT"
],
"strict-transport-security": [
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
]
}
},
"history": [],
"raw": {
"_body": null,
"_connection": null,
"_decoded_buffer": {
"_size": 0,
"buffer": "deque([])"
},
"_decoder": null,
"_fp": {
"__IOBase_closed": true,
"_method": "POST",
"chunk_left": "UNKNOWN",
"chunked": false,
"code": 204,
"debuglevel": 0,
"fp": null,
"headers": {
"_charset": null,
"_default_type": "text/plain",
"_headers": [
[
"Cache-Control",
"no-store"
],
[
"Content-Type",
"application/json"
],
[
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
],
[
"Date",
"Mon, 27 Oct 2025 21:04:17 GMT"
]
],
"_payload": "",
"_unixfrom": null,
"defects": [],
"epilogue": null,
"policy": {},
"preamble": null
},
"length": 0,
"msg": {
"_charset": null,
"_default_type": "text/plain",
"_headers": [
[
"Cache-Control",
"no-store"
],
[
"Content-Type",
"application/json"
],
[
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
],
[
"Date",
"Mon, 27 Oct 2025 21:04:17 GMT"
]
],
"_payload": "",
"_unixfrom": null,
"defects": [],
"epilogue": null,
"policy": {},
"preamble": null
},
"reason": "No Content",
"status": 204,
"version": 11,
"will_close": false
},
"_fp_bytes_read": 0,
"_has_decoded_content": false,
"_original_response": {
"__IOBase_closed": true,
"_method": "POST",
"chunk_left": "UNKNOWN",
"chunked": false,
"code": 204,
"debuglevel": 0,
"fp": null,
"headers": {
"_charset": null,
"_default_type": "text/plain",
"_headers": [
[
"Cache-Control",
"no-store"
],
[
"Content-Type",
"application/json"
],
[
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
],
[
"Date",
"Mon, 27 Oct 2025 21:04:17 GMT"
]
],
"_payload": "",
"_unixfrom": null,
"defects": [],
"epilogue": null,
"policy": {},
"preamble": null
},
"length": 0,
"msg": {
"_charset": null,
"_default_type": "text/plain",
"_headers": [
[
"Cache-Control",
"no-store"
],
[
"Content-Type",
"application/json"
],
[
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
],
[
"Date",
"Mon, 27 Oct 2025 21:04:17 GMT"
]
],
"_payload": "",
"_unixfrom": null,
"defects": [],
"epilogue": null,
"policy": {},
"preamble": null
},
"reason": "No Content",
"status": 204,
"version": 11,
"will_close": false
},
"_pool": {
"_tunnel_host": "vault",
"block": false,
"ca_cert_dir": null,
"ca_certs": null,
"cert_reqs": "CERT_NONE",
"conn_kw": {
"blocksize": 16384
},
"headers": {},
"host": "vault",
"num_connections": 1,
"num_requests": 1,
"pool": {
"all_tasks_done": {
"_lock": "&lt;unlocked _thread.lock object at 0x7f7981bf3cd0&gt;",
"_waiters": "deque([])",
"acquire": "&lt;built-in method acquire of _thread.lock object at 0x7f7981bf3cd0&gt;",
"release": "&lt;built-in method release of _thread.lock object at 0x7f7981bf3cd0&gt;"
},
"is_shutdown": false,
"maxsize": 10,
"mutex": "&lt;unlocked _thread.lock object at 0x7f7981bf3cd0&gt;",
"not_empty": {
"_lock": "&lt;unlocked _thread.lock object at 0x7f7981bf3cd0&gt;",
"_waiters": "deque([])",
"acquire": "&lt;built-in method acquire of _thread.lock object at 0x7f7981bf3cd0&gt;",
"release": "&lt;built-in method release of _thread.lock object at 0x7f7981bf3cd0&gt;"
},
"not_full": {
"_lock": "&lt;unlocked _thread.lock object at 0x7f7981bf3cd0&gt;",
"_waiters": "deque([])",
"acquire": "&lt;built-in method acquire of _thread.lock object at 0x7f7981bf3cd0&gt;",
"release": "&lt;built-in method release of _thread.lock object at 0x7f7981bf3cd0&gt;"
},
"queue": [
null,
null,
null,
null,
null,
null,
null,
null,
null,
{
"_HTTPConnection__response": {
"__IOBase_closed": true,
"_method": "POST",
"chunk_left": "UNKNOWN",
"chunked": false,
"code": 204,
"debuglevel": 0,
"fp": null,
"headers": {
"_charset": null,
"_default_type": "text/plain",
"_headers": [
[
"Cache-Control",
"no-store"
],
[
"Content-Type",
"application/json"
],
[
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
],
[
"Date",
"Mon, 27 Oct 2025 21:04:17 GMT"
]
],
"_payload": "",
"_unixfrom": null,
"defects": [],
"epilogue": null,
"policy": {},
"preamble": null
},
"length": 0,
"msg": {
"_charset": null,
"_default_type": "text/plain",
"_headers": [
[
"Cache-Control",
"no-store"
],
[
"Content-Type",
"application/json"
],
[
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
],
[
"Date",
"Mon, 27 Oct 2025 21:04:17 GMT"
]
],
"_payload": "",
"_unixfrom": null,
"defects": [],
"epilogue": null,
"policy": {},
"preamble": null
},
"reason": "No Content",
"status": 204,
"version": 11,
"will_close": false
},
"_HTTPConnection__state": "Idle",
"_buffer": [],
"_create_connection": {},
"_dns_host": "vault",
"_has_connected_to_proxy": false,
"_method": "POST",
"_raw_proxy_headers": null,
"_response_options": null,
"_tunnel_headers": {},
"_tunnel_host": null,
"_tunnel_port": null,
"_tunnel_scheme": null,
"blocksize": 16384,
"port": 8200,
"proxy": null,
"proxy_config": null,
"sock": "&lt;socket.socket fd=4, family=2, type=1, proto=6, laddr=('10.89.1.6', 49578), raddr=('10.89.1.2', 8200)&gt;",
"socket_options": [
[
6,
1,
1
]
],
"source_address": null,
"timeout": 30
}
],
"unfinished_tasks": 11
},
"port": 8200,
"proxy": null,
"proxy_config": null,
"proxy_headers": {},
"retries": {
"allowed_methods": "frozenset({'DELETE', 'GET', 'TRACE', 'HEAD', 'PUT', 'OPTIONS'})",
"backoff_factor": 0,
"backoff_jitter": 0.0,
"backoff_max": 120,
"connect": null,
"history": [],
"other": null,
"raise_on_redirect": true,
"raise_on_status": true,
"read": null,
"redirect": null,
"remove_headers_on_redirect": "frozenset({'cookie', 'authorization', 'proxy-authorization'})",
"respect_retry_after_header": true,
"status": null,
"status_forcelist": "set()",
"total": 3
},
"timeout": {
"_connect": {
"__objclass__": "{'_generate_next_value_': &lt;staticmethod(&lt;function Enum._generate_next_value_ at 0x7f7982f3fec0&gt;)&gt;, '__module__': 'urllib3.util.timeout', '__firstlineno__': 14, '__static_attributes__': (), '_new_member_': &lt;built-in method __new__ of type object at 0x9b1660&gt;, '_use_args_': False, '_member_names_': ['token'], '_member_map_': {'token': &lt;_TYPE_DEFAULT.token: -1&gt;}, '_value2member_map_': {-1: &lt;_TYPE_DEFAULT.token: -1&gt;}, '_hashable_values_': [-1], '_unhashable_values_': [], '_unhashable_values_map_': {}, '_member_type_': &lt;class 'object'&gt;, '_value_repr_': None, '__doc__': None, 'token': &lt;_TYPE_DEFAULT.token: -1&gt;, '__new__': &lt;function Enum.__new__ at 0x7f7982f3fc40&gt;}",
"_name_": "token",
"_sort_order_": 0,
"_value_": -1
},
"_read": {
"__objclass__": "{'_generate_next_value_': &lt;staticmethod(&lt;function Enum._generate_next_value_ at 0x7f7982f3fec0&gt;)&gt;, '__module__': 'urllib3.util.timeout', '__firstlineno__': 14, '__static_attributes__': (), '_new_member_': &lt;built-in method __new__ of type object at 0x9b1660&gt;, '_use_args_': False, '_member_names_': ['token'], '_member_map_': {'token': &lt;_TYPE_DEFAULT.token: -1&gt;}, '_value2member_map_': {-1: &lt;_TYPE_DEFAULT.token: -1&gt;}, '_hashable_values_': [-1], '_unhashable_values_': [], '_unhashable_values_map_': {}, '_member_type_': &lt;class 'object'&gt;, '_value_repr_': None, '__doc__': None, 'token': &lt;_TYPE_DEFAULT.token: -1&gt;, '__new__': &lt;function Enum.__new__ at 0x7f7982f3fc40&gt;}",
"_name_": "token",
"_sort_order_": 0,
"_value_": -1
},
"_start_connect": null,
"total": null
}
},
"_request_url": "/v1/auth/kubernetes/config",
"_retries": {
"allowed_methods": "frozenset({'DELETE', 'GET', 'TRACE', 'HEAD', 'PUT', 'OPTIONS'})",
"backoff_factor": 0,
"backoff_jitter": 0.0,
"backoff_max": 120,
"connect": null,
"history": [],
"other": null,
"raise_on_redirect": true,
"raise_on_status": true,
"read": false,
"redirect": null,
"remove_headers_on_redirect": "frozenset({'cookie', 'authorization', 'proxy-authorization'})",
"respect_retry_after_header": true,
"status": null,
"status_forcelist": "set()",
"total": 0
},
"_sock_shutdown": "&lt;built-in method shutdown of socket object at 0x7f7981e93e00&gt;",
"auto_close": true,
"chunk_left": null,
"chunked": false,
"decode_content": false,
"enforce_content_length": true,
"headers": {
"_container": {
"cache-control": [
"Cache-Control",
"no-store"
],
"content-type": [
"Content-Type",
"application/json"
],
"date": [
"Date",
"Mon, 27 Oct 2025 21:04:17 GMT"
],
"strict-transport-security": [
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
]
}
},
"length_remaining": 0,
"msg": null,
"reason": "No Content",
"status": 204,
"version": 11,
"version_string": "HTTP/1.1"
},
"reason": "No Content",
"request": {
"_body_position": null,
"_cookies": {
"_cookies": {},
"_cookies_lock": "&lt;unlocked _thread.RLock object owner=0 count=0 at 0x7f7981bf1c00&gt;",
"_now": 1761599057,
"_policy": {
"_allowed_domains": null,
"_blocked_domains": [],
"_now": 1761599057,
"hide_cookie2": false,
"netscape": true,
"rfc2109_as_netscape": null,
"rfc2965": false,
"secure_protocols": [
"https",
"wss"
],
"strict_domain": false,
"strict_ns_domain": 0,
"strict_ns_set_initial_dollar": false,
"strict_ns_set_path": false,
"strict_ns_unverifiable": false,
"strict_rfc2965_unverifiable": true
}
},
"body": "b'{\"kubernetes_host\": \"http://mmock:8900\", \"pem_keys\": \"-----BEGIN PUBLIC KEY-----\\\\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvUJ8sf9bUQtAyESZ73mw\\\\nLCHjA8cj2ly3GTy5fxsyniUvkl6x+fVOXYqxgDYc9m14iaUXjE2eUIdQOnmRNIAz\\\\nxIhxKvXMhJVRSnjCcdQZ9FUPyvQ1bcNo6rISOEEroUdQ6ymX6/DKhW/tXPrYPFyK\\\\n502UF+YhuP+t/OdKT4qbIxHvkDyGorJDlfKDx9wIr88xY4+KFLKSkaCsO6fZvmhw\\\\nL2pVl5UfJ/mYXZdeJ8b8pJLSnWmKzXwamGNnvJK3Z4DwicL6Z9PS8ryZWMAUswFR\\\\nmenCQdtebBuaKi401N9SlPl/qb3nFW3YVO1NrqGvF9nprdtBNN3++0a1fuMUmPhb\\\\n1QIDAQAB\\\\n-----END PUBLIC KEY-----\\\\n\", \"disable_local_ca_jwt\": true, \"disable_iss_validation\": true}'",
"headers": {
"_store": {
"accept": [
"Accept",
"*/*"
],
"accept-encoding": [
"Accept-Encoding",
"gzip, deflate"
],
"connection": [
"Connection",
"keep-alive"
],
"content-length": [
"Content-Length",
"578"
],
"content-type": [
"Content-Type",
"application/json"
],
"user-agent": [
"User-Agent",
"python-requests/2.32.3"
],
"x-vault-request": [
"X-Vault-Request",
"true"
],
"x-vault-token": [
"X-Vault-Token",
"47542cbc-6bf8-4fba-8eda-02e0a0d29a0a"
]
}
},
"hooks": {
"response": []
},
"method": "POST",
"url": "http://vault:8200/v1/auth/kubernetes/config"
},
"status_code": 204,
"url": "http://vault:8200/v1/auth/kubernetes/config"
}
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/auth_kubernetes/tasks/kubernetes_setup.yml:32" name="[testhost] testhost: auth_kubernetes : Create a named role path=auth/{{ this_path }}/role/test-role, data={'bound_service_account_names': '*', 'bound_service_account_namespaces': '*', 'policies': &quot;{{ 'test-policy' if is_default_path else 'alt-policy' }}&quot;, 'ttl': '60m', 'audience': 'test'}" time="0.2994048595428466796875">
			<system-out>{
"changed": true,
"result": {
"_content": "b''",
"_content_consumed": true,
"_next": null,
"connection": {
"_pool_block": false,
"_pool_connections": 10,
"_pool_maxsize": 10,
"config": {},
"max_retries": {
"allowed_methods": "frozenset({'PUT', 'OPTIONS', 'TRACE', 'DELETE', 'HEAD', 'GET'})",
"backoff_factor": 0,
"backoff_jitter": 0.0,
"backoff_max": 120,
"connect": null,
"history": [],
"other": null,
"raise_on_redirect": true,
"raise_on_status": true,
"read": false,
"redirect": null,
"remove_headers_on_redirect": "frozenset({'authorization', 'cookie', 'proxy-authorization'})",
"respect_retry_after_header": true,
"status": null,
"status_forcelist": "set()",
"total": 0
},
"poolmanager": {
"connection_pool_kw": {
"block": false,
"maxsize": 10
},
"headers": {},
"key_fn_by_scheme": {
"http": {},
"https": {}
},
"pool_classes_by_scheme": {
"http": "{'__module__': 'urllib3.connectionpool', '__firstlineno__': 120, '__annotations__': {'ConnectionCls': 'type[BaseHTTPConnection] | type[BaseHTTPSConnection]'}, '__doc__': '\\nThread-safe connection pool for one host.\\n\\n:param host:\\n    Host used for this HTTP Connection (e.g. \"localhost\"), passed into\\n    :class:`http.client.HTTPConnection`.\\n\\n:param port:\\n    Port used for this HTTP Connection (None is equivalent to 80), passed\\n    into :class:`http.client.HTTPConnection`.\\n\\n:param timeout:\\n    Socket timeout in seconds for each individual connection. This can\\n    be a float or integer, which sets the timeout for the HTTP request,\\n    or an instance of :class:`urllib3.util.Timeout` which gives you more\\n    fine-grained control over request timeouts. After the constructor has\\n    been parsed, this is always a `urllib3.util.Timeout` object.\\n\\n:param maxsize:\\n    Number of connections to save that can be reused. More than 1 is useful\\n    in multithreaded situations. If ``block`` is set to False, more\\n    connections will be created but they will not be saved once they\\'ve\\n    been used.\\n\\n:param block:\\n    If set to True, no more than ``maxsize`` connections will be used at\\n    a time. When no free connections are available, the call will block\\n    until a connection has been released. This is a useful side effect for\\n    particular multithreaded situations where one does not want to use more\\n    than maxsize connections per host to prevent flooding.\\n\\n:param headers:\\n    Headers to include with all requests, unless other headers are given\\n    explicitly.\\n\\n:param retries:\\n    Retry configuration to use by default with requests in this pool.\\n\\n:param _proxy:\\n    Parsed proxy URL, should not be used directly, instead, see\\n    :class:`urllib3.ProxyManager`\\n\\n:param _proxy_headers:\\n    A dictionary with proxy headers, should not be used directly,\\n    instead, see :class:`urllib3.ProxyManager`\\n\\n:param \\\\**conn_kw:\\n    Additional parameters are used to create fresh :class:`urllib3.connection.HTTPConnection`,\\n    :class:`urllib3.connection.HTTPSConnection` instances.\\n', 'scheme': 'http', 'ConnectionCls': &lt;class 'urllib3.connection.HTTPConnection'&gt;, '__init__': &lt;function HTTPConnectionPool.__init__ at 0x7f76281b45e0&gt;, '_new_conn': &lt;function HTTPConnectionPool._new_conn at 0x7f76281b4680&gt;, '_get_conn': &lt;function HTTPConnectionPool._get_conn at 0x7f76281b4720&gt;, '_put_conn': &lt;function HTTPConnectionPool._put_conn at 0x7f76281b47c0&gt;, '_validate_conn': &lt;function HTTPConnectionPool._validate_conn at 0x7f76281b4860&gt;, '_prepare_proxy': &lt;function HTTPConnectionPool._prepare_proxy at 0x7f76281b4900&gt;, '_get_timeout': &lt;function HTTPConnectionPool._get_timeout at 0x7f76281b49a0&gt;, '_raise_timeout': &lt;function HTTPConnectionPool._raise_timeout at 0x7f76281b4a40&gt;, '_make_request': &lt;function HTTPConnectionPool._make_request at 0x7f76281b4ae0&gt;, 'close': &lt;function HTTPConnectionPool.close at 0x7f76281b4b80&gt;, 'is_same_host': &lt;function HTTPConnectionPool.is_same_host at 0x7f76281b4c20&gt;, 'urlopen': &lt;function HTTPConnectionPool.urlopen at 0x7f76281b4cc0&gt;, '__static_attributes__': ('block', 'conn_kw', 'num_connections', 'num_requests', 'pool', 'proxy', 'proxy_config', 'proxy_headers', 'retries', 'timeout')}",
"https": "{'__module__': 'urllib3.connectionpool', '__firstlineno__': 963, '__annotations__': {'ConnectionCls': 'type[BaseHTTPSConnection]'}, '__doc__': '\\nSame as :class:`.HTTPConnectionPool`, but HTTPS.\\n\\n:class:`.HTTPSConnection` uses one of ``assert_fingerprint``,\\n``assert_hostname`` and ``host`` in this order to verify connections.\\nIf ``assert_hostname`` is False, no verification is done.\\n\\nThe ``key_file``, ``cert_file``, ``cert_reqs``, ``ca_certs``,\\n``ca_cert_dir``, ``ssl_version``, ``key_password`` are only used if :mod:`ssl`\\nis available and are fed into :meth:`urllib3.util.ssl_wrap_socket` to upgrade\\nthe connection socket into an SSL socket.\\n', 'scheme': 'https', 'ConnectionCls': &lt;class 'urllib3.connection.HTTPSConnection'&gt;, '__init__': &lt;function HTTPSConnectionPool.__init__ at 0x7f76281b4ea0&gt;, '_prepare_proxy': &lt;function HTTPSConnectionPool._prepare_proxy at 0x7f76281b4f40&gt;, '_new_conn': &lt;function HTTPSConnectionPool._new_conn at 0x7f76281b4fe0&gt;, '_validate_conn': &lt;function HTTPSConnectionPool._validate_conn at 0x7f76281b5080&gt;, '__static_attributes__': ('assert_fingerprint', 'assert_hostname', 'ca_cert_dir', 'ca_certs', 'cert_file', 'cert_reqs', 'key_file', 'key_password', 'ssl_maximum_version', 'ssl_minimum_version', 'ssl_version')}"
},
"pools": {
"_container": {},
"_maxsize": 10,
"dispose_func": null,
"lock": "&lt;unlocked _thread.RLock object owner=0 count=0 at 0x7f7627ca9f40&gt;"
}
},
"proxy_manager": {}
},
"cookies": {
"_cookies": {},
"_cookies_lock": "&lt;unlocked _thread.RLock object owner=0 count=0 at 0x7f7628d46880&gt;",
"_now": 1761599057,
"_policy": {
"_allowed_domains": null,
"_blocked_domains": [],
"_now": 1761599057,
"hide_cookie2": false,
"netscape": true,
"rfc2109_as_netscape": null,
"rfc2965": false,
"secure_protocols": [
"https",
"wss"
],
"strict_domain": false,
"strict_ns_domain": 0,
"strict_ns_set_initial_dollar": false,
"strict_ns_set_path": false,
"strict_ns_unverifiable": false,
"strict_rfc2965_unverifiable": true
}
},
"elapsed": "0:00:00.001932",
"encoding": "utf-8",
"headers": {
"_store": {
"cache-control": [
"Cache-Control",
"no-store"
],
"content-type": [
"Content-Type",
"application/json"
],
"date": [
"Date",
"Mon, 27 Oct 2025 21:04:17 GMT"
],
"strict-transport-security": [
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
]
}
},
"history": [],
"raw": {
"_body": null,
"_connection": null,
"_decoded_buffer": {
"_size": 0,
"buffer": "deque([])"
},
"_decoder": null,
"_fp": {
"__IOBase_closed": true,
"_method": "POST",
"chunk_left": "UNKNOWN",
"chunked": false,
"code": 204,
"debuglevel": 0,
"fp": null,
"headers": {
"_charset": null,
"_default_type": "text/plain",
"_headers": [
[
"Cache-Control",
"no-store"
],
[
"Content-Type",
"application/json"
],
[
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
],
[
"Date",
"Mon, 27 Oct 2025 21:04:17 GMT"
]
],
"_payload": "",
"_unixfrom": null,
"defects": [],
"epilogue": null,
"policy": {},
"preamble": null
},
"length": 0,
"msg": {
"_charset": null,
"_default_type": "text/plain",
"_headers": [
[
"Cache-Control",
"no-store"
],
[
"Content-Type",
"application/json"
],
[
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
],
[
"Date",
"Mon, 27 Oct 2025 21:04:17 GMT"
]
],
"_payload": "",
"_unixfrom": null,
"defects": [],
"epilogue": null,
"policy": {},
"preamble": null
},
"reason": "No Content",
"status": 204,
"version": 11,
"will_close": false
},
"_fp_bytes_read": 0,
"_has_decoded_content": false,
"_original_response": {
"__IOBase_closed": true,
"_method": "POST",
"chunk_left": "UNKNOWN",
"chunked": false,
"code": 204,
"debuglevel": 0,
"fp": null,
"headers": {
"_charset": null,
"_default_type": "text/plain",
"_headers": [
[
"Cache-Control",
"no-store"
],
[
"Content-Type",
"application/json"
],
[
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
],
[
"Date",
"Mon, 27 Oct 2025 21:04:17 GMT"
]
],
"_payload": "",
"_unixfrom": null,
"defects": [],
"epilogue": null,
"policy": {},
"preamble": null
},
"length": 0,
"msg": {
"_charset": null,
"_default_type": "text/plain",
"_headers": [
[
"Cache-Control",
"no-store"
],
[
"Content-Type",
"application/json"
],
[
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
],
[
"Date",
"Mon, 27 Oct 2025 21:04:17 GMT"
]
],
"_payload": "",
"_unixfrom": null,
"defects": [],
"epilogue": null,
"policy": {},
"preamble": null
},
"reason": "No Content",
"status": 204,
"version": 11,
"will_close": false
},
"_pool": {
"_tunnel_host": "vault",
"block": false,
"ca_cert_dir": null,
"ca_certs": null,
"cert_reqs": "CERT_NONE",
"conn_kw": {
"blocksize": 16384
},
"headers": {},
"host": "vault",
"num_connections": 1,
"num_requests": 1,
"pool": {
"all_tasks_done": {
"_lock": "&lt;unlocked _thread.lock object at 0x7f7628d1f610&gt;",
"_waiters": "deque([])",
"acquire": "&lt;built-in method acquire of _thread.lock object at 0x7f7628d1f610&gt;",
"release": "&lt;built-in method release of _thread.lock object at 0x7f7628d1f610&gt;"
},
"is_shutdown": false,
"maxsize": 10,
"mutex": "&lt;unlocked _thread.lock object at 0x7f7628d1f610&gt;",
"not_empty": {
"_lock": "&lt;unlocked _thread.lock object at 0x7f7628d1f610&gt;",
"_waiters": "deque([])",
"acquire": "&lt;built-in method acquire of _thread.lock object at 0x7f7628d1f610&gt;",
"release": "&lt;built-in method release of _thread.lock object at 0x7f7628d1f610&gt;"
},
"not_full": {
"_lock": "&lt;unlocked _thread.lock object at 0x7f7628d1f610&gt;",
"_waiters": "deque([])",
"acquire": "&lt;built-in method acquire of _thread.lock object at 0x7f7628d1f610&gt;",
"release": "&lt;built-in method release of _thread.lock object at 0x7f7628d1f610&gt;"
},
"queue": [
null,
null,
null,
null,
null,
null,
null,
null,
null,
{
"_HTTPConnection__response": {
"__IOBase_closed": true,
"_method": "POST",
"chunk_left": "UNKNOWN",
"chunked": false,
"code": 204,
"debuglevel": 0,
"fp": null,
"headers": {
"_charset": null,
"_default_type": "text/plain",
"_headers": [
[
"Cache-Control",
"no-store"
],
[
"Content-Type",
"application/json"
],
[
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
],
[
"Date",
"Mon, 27 Oct 2025 21:04:17 GMT"
]
],
"_payload": "",
"_unixfrom": null,
"defects": [],
"epilogue": null,
"policy": {},
"preamble": null
},
"length": 0,
"msg": {
"_charset": null,
"_default_type": "text/plain",
"_headers": [
[
"Cache-Control",
"no-store"
],
[
"Content-Type",
"application/json"
],
[
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
],
[
"Date",
"Mon, 27 Oct 2025 21:04:17 GMT"
]
],
"_payload": "",
"_unixfrom": null,
"defects": [],
"epilogue": null,
"policy": {},
"preamble": null
},
"reason": "No Content",
"status": 204,
"version": 11,
"will_close": false
},
"_HTTPConnection__state": "Idle",
"_buffer": [],
"_create_connection": {},
"_dns_host": "vault",
"_has_connected_to_proxy": false,
"_method": "POST",
"_raw_proxy_headers": null,
"_response_options": null,
"_tunnel_headers": {},
"_tunnel_host": null,
"_tunnel_port": null,
"_tunnel_scheme": null,
"blocksize": 16384,
"port": 8200,
"proxy": null,
"proxy_config": null,
"sock": "&lt;socket.socket fd=4, family=2, type=1, proto=6, laddr=('10.89.1.6', 49592), raddr=('10.89.1.2', 8200)&gt;",
"socket_options": [
[
6,
1,
1
]
],
"source_address": null,
"timeout": 30
}
],
"unfinished_tasks": 11
},
"port": 8200,
"proxy": null,
"proxy_config": null,
"proxy_headers": {},
"retries": {
"allowed_methods": "frozenset({'PUT', 'OPTIONS', 'TRACE', 'DELETE', 'HEAD', 'GET'})",
"backoff_factor": 0,
"backoff_jitter": 0.0,
"backoff_max": 120,
"connect": null,
"history": [],
"other": null,
"raise_on_redirect": true,
"raise_on_status": true,
"read": null,
"redirect": null,
"remove_headers_on_redirect": "frozenset({'authorization', 'cookie', 'proxy-authorization'})",
"respect_retry_after_header": true,
"status": null,
"status_forcelist": "set()",
"total": 3
},
"timeout": {
"_connect": {
"__objclass__": "{'_generate_next_value_': &lt;staticmethod(&lt;function Enum._generate_next_value_ at 0x7f7628fffec0&gt;)&gt;, '__module__': 'urllib3.util.timeout', '__firstlineno__': 14, '__static_attributes__': (), '_new_member_': &lt;built-in method __new__ of type object at 0x9b1660&gt;, '_use_args_': False, '_member_names_': ['token'], '_member_map_': {'token': &lt;_TYPE_DEFAULT.token: -1&gt;}, '_value2member_map_': {-1: &lt;_TYPE_DEFAULT.token: -1&gt;}, '_hashable_values_': [-1], '_unhashable_values_': [], '_unhashable_values_map_': {}, '_member_type_': &lt;class 'object'&gt;, '_value_repr_': None, '__doc__': None, 'token': &lt;_TYPE_DEFAULT.token: -1&gt;, '__new__': &lt;function Enum.__new__ at 0x7f7628fffc40&gt;}",
"_name_": "token",
"_sort_order_": 0,
"_value_": -1
},
"_read": {
"__objclass__": "{'_generate_next_value_': &lt;staticmethod(&lt;function Enum._generate_next_value_ at 0x7f7628fffec0&gt;)&gt;, '__module__': 'urllib3.util.timeout', '__firstlineno__': 14, '__static_attributes__': (), '_new_member_': &lt;built-in method __new__ of type object at 0x9b1660&gt;, '_use_args_': False, '_member_names_': ['token'], '_member_map_': {'token': &lt;_TYPE_DEFAULT.token: -1&gt;}, '_value2member_map_': {-1: &lt;_TYPE_DEFAULT.token: -1&gt;}, '_hashable_values_': [-1], '_unhashable_values_': [], '_unhashable_values_map_': {}, '_member_type_': &lt;class 'object'&gt;, '_value_repr_': None, '__doc__': None, 'token': &lt;_TYPE_DEFAULT.token: -1&gt;, '__new__': &lt;function Enum.__new__ at 0x7f7628fffc40&gt;}",
"_name_": "token",
"_sort_order_": 0,
"_value_": -1
},
"_start_connect": null,
"total": null
}
},
"_request_url": "/v1/auth/kubernetes/role/test-role",
"_retries": {
"allowed_methods": "frozenset({'PUT', 'OPTIONS', 'TRACE', 'DELETE', 'HEAD', 'GET'})",
"backoff_factor": 0,
"backoff_jitter": 0.0,
"backoff_max": 120,
"connect": null,
"history": [],
"other": null,
"raise_on_redirect": true,
"raise_on_status": true,
"read": false,
"redirect": null,
"remove_headers_on_redirect": "frozenset({'authorization', 'cookie', 'proxy-authorization'})",
"respect_retry_after_header": true,
"status": null,
"status_forcelist": "set()",
"total": 0
},
"_sock_shutdown": "&lt;built-in method shutdown of socket object at 0x7f7627f4be00&gt;",
"auto_close": true,
"chunk_left": null,
"chunked": false,
"decode_content": false,
"enforce_content_length": true,
"headers": {
"_container": {
"cache-control": [
"Cache-Control",
"no-store"
],
"content-type": [
"Content-Type",
"application/json"
],
"date": [
"Date",
"Mon, 27 Oct 2025 21:04:17 GMT"
],
"strict-transport-security": [
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
]
}
},
"length_remaining": 0,
"msg": null,
"reason": "No Content",
"status": 204,
"version": 11,
"version_string": "HTTP/1.1"
},
"reason": "No Content",
"request": {
"_body_position": null,
"_cookies": {
"_cookies": {},
"_cookies_lock": "&lt;unlocked _thread.RLock object owner=0 count=0 at 0x7f7627ca9740&gt;",
"_now": 1761599057,
"_policy": {
"_allowed_domains": null,
"_blocked_domains": [],
"_now": 1761599057,
"hide_cookie2": false,
"netscape": true,
"rfc2109_as_netscape": null,
"rfc2965": false,
"secure_protocols": [
"https",
"wss"
],
"strict_domain": false,
"strict_ns_domain": 0,
"strict_ns_set_initial_dollar": false,
"strict_ns_set_path": false,
"strict_ns_unverifiable": false,
"strict_rfc2965_unverifiable": true
}
},
"body": "b'{\"bound_service_account_names\": \"*\", \"bound_service_account_namespaces\": \"*\", \"policies\": \"test-policy\", \"ttl\": \"60m\", \"audience\": \"test\"}'",
"headers": {
"_store": {
"accept": [
"Accept",
"*/*"
],
"accept-encoding": [
"Accept-Encoding",
"gzip, deflate"
],
"connection": [
"Connection",
"keep-alive"
],
"content-length": [
"Content-Length",
"138"
],
"content-type": [
"Content-Type",
"application/json"
],
"user-agent": [
"User-Agent",
"python-requests/2.32.3"
],
"x-vault-request": [
"X-Vault-Request",
"true"
],
"x-vault-token": [
"X-Vault-Token",
"47542cbc-6bf8-4fba-8eda-02e0a0d29a0a"
]
}
},
"hooks": {
"response": []
},
"method": "POST",
"url": "http://vault:8200/v1/auth/kubernetes/role/test-role"
},
"status_code": 204,
"url": "http://vault:8200/v1/auth/kubernetes/role/test-role"
}
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/auth_kubernetes/tasks/main.yml:32" name="[testhost] testhost: auth_kubernetes : Write Canary path={{ vault_kubernetes_canary.path }}, data={'value': '{{ vault_kubernetes_canary.value }}'}" time="0.3317458629608154296875">
			<system-out>{
"changed": true,
"result": {
"_content": "b''",
"_content_consumed": true,
"_next": null,
"connection": {
"_pool_block": false,
"_pool_connections": 10,
"_pool_maxsize": 10,
"config": {},
"max_retries": {
"allowed_methods": "frozenset({'OPTIONS', 'DELETE', 'GET', 'PUT', 'TRACE', 'HEAD'})",
"backoff_factor": 0,
"backoff_jitter": 0.0,
"backoff_max": 120,
"connect": null,
"history": [],
"other": null,
"raise_on_redirect": true,
"raise_on_status": true,
"read": false,
"redirect": null,
"remove_headers_on_redirect": "frozenset({'cookie', 'authorization', 'proxy-authorization'})",
"respect_retry_after_header": true,
"status": null,
"status_forcelist": "set()",
"total": 0
},
"poolmanager": {
"connection_pool_kw": {
"block": false,
"maxsize": 10
},
"headers": {},
"key_fn_by_scheme": {
"http": {},
"https": {}
},
"pool_classes_by_scheme": {
"http": "{'__module__': 'urllib3.connectionpool', '__firstlineno__': 120, '__annotations__': {'ConnectionCls': 'type[BaseHTTPConnection] | type[BaseHTTPSConnection]'}, '__doc__': '\\nThread-safe connection pool for one host.\\n\\n:param host:\\n    Host used for this HTTP Connection (e.g. \"localhost\"), passed into\\n    :class:`http.client.HTTPConnection`.\\n\\n:param port:\\n    Port used for this HTTP Connection (None is equivalent to 80), passed\\n    into :class:`http.client.HTTPConnection`.\\n\\n:param timeout:\\n    Socket timeout in seconds for each individual connection. This can\\n    be a float or integer, which sets the timeout for the HTTP request,\\n    or an instance of :class:`urllib3.util.Timeout` which gives you more\\n    fine-grained control over request timeouts. After the constructor has\\n    been parsed, this is always a `urllib3.util.Timeout` object.\\n\\n:param maxsize:\\n    Number of connections to save that can be reused. More than 1 is useful\\n    in multithreaded situations. If ``block`` is set to False, more\\n    connections will be created but they will not be saved once they\\'ve\\n    been used.\\n\\n:param block:\\n    If set to True, no more than ``maxsize`` connections will be used at\\n    a time. When no free connections are available, the call will block\\n    until a connection has been released. This is a useful side effect for\\n    particular multithreaded situations where one does not want to use more\\n    than maxsize connections per host to prevent flooding.\\n\\n:param headers:\\n    Headers to include with all requests, unless other headers are given\\n    explicitly.\\n\\n:param retries:\\n    Retry configuration to use by default with requests in this pool.\\n\\n:param _proxy:\\n    Parsed proxy URL, should not be used directly, instead, see\\n    :class:`urllib3.ProxyManager`\\n\\n:param _proxy_headers:\\n    A dictionary with proxy headers, should not be used directly,\\n    instead, see :class:`urllib3.ProxyManager`\\n\\n:param \\\\**conn_kw:\\n    Additional parameters are used to create fresh :class:`urllib3.connection.HTTPConnection`,\\n    :class:`urllib3.connection.HTTPSConnection` instances.\\n', 'scheme': 'http', 'ConnectionCls': &lt;class 'urllib3.connection.HTTPConnection'&gt;, '__init__': &lt;function HTTPConnectionPool.__init__ at 0x7fcf7c8c05e0&gt;, '_new_conn': &lt;function HTTPConnectionPool._new_conn at 0x7fcf7c8c0680&gt;, '_get_conn': &lt;function HTTPConnectionPool._get_conn at 0x7fcf7c8c0720&gt;, '_put_conn': &lt;function HTTPConnectionPool._put_conn at 0x7fcf7c8c07c0&gt;, '_validate_conn': &lt;function HTTPConnectionPool._validate_conn at 0x7fcf7c8c0860&gt;, '_prepare_proxy': &lt;function HTTPConnectionPool._prepare_proxy at 0x7fcf7c8c0900&gt;, '_get_timeout': &lt;function HTTPConnectionPool._get_timeout at 0x7fcf7c8c09a0&gt;, '_raise_timeout': &lt;function HTTPConnectionPool._raise_timeout at 0x7fcf7c8c0a40&gt;, '_make_request': &lt;function HTTPConnectionPool._make_request at 0x7fcf7c8c0ae0&gt;, 'close': &lt;function HTTPConnectionPool.close at 0x7fcf7c8c0b80&gt;, 'is_same_host': &lt;function HTTPConnectionPool.is_same_host at 0x7fcf7c8c0c20&gt;, 'urlopen': &lt;function HTTPConnectionPool.urlopen at 0x7fcf7c8c0cc0&gt;, '__static_attributes__': ('block', 'conn_kw', 'num_connections', 'num_requests', 'pool', 'proxy', 'proxy_config', 'proxy_headers', 'retries', 'timeout')}",
"https": "{'__module__': 'urllib3.connectionpool', '__firstlineno__': 963, '__annotations__': {'ConnectionCls': 'type[BaseHTTPSConnection]'}, '__doc__': '\\nSame as :class:`.HTTPConnectionPool`, but HTTPS.\\n\\n:class:`.HTTPSConnection` uses one of ``assert_fingerprint``,\\n``assert_hostname`` and ``host`` in this order to verify connections.\\nIf ``assert_hostname`` is False, no verification is done.\\n\\nThe ``key_file``, ``cert_file``, ``cert_reqs``, ``ca_certs``,\\n``ca_cert_dir``, ``ssl_version``, ``key_password`` are only used if :mod:`ssl`\\nis available and are fed into :meth:`urllib3.util.ssl_wrap_socket` to upgrade\\nthe connection socket into an SSL socket.\\n', 'scheme': 'https', 'ConnectionCls': &lt;class 'urllib3.connection.HTTPSConnection'&gt;, '__init__': &lt;function HTTPSConnectionPool.__init__ at 0x7fcf7c8c0ea0&gt;, '_prepare_proxy': &lt;function HTTPSConnectionPool._prepare_proxy at 0x7fcf7c8c0f40&gt;, '_new_conn': &lt;function HTTPSConnectionPool._new_conn at 0x7fcf7c8c0fe0&gt;, '_validate_conn': &lt;function HTTPSConnectionPool._validate_conn at 0x7fcf7c8c1080&gt;, '__static_attributes__': ('assert_fingerprint', 'assert_hostname', 'ca_cert_dir', 'ca_certs', 'cert_file', 'cert_reqs', 'key_file', 'key_password', 'ssl_maximum_version', 'ssl_minimum_version', 'ssl_version')}"
},
"pools": {
"_container": {},
"_maxsize": 10,
"dispose_func": null,
"lock": "&lt;unlocked _thread.RLock object owner=0 count=0 at 0x7fcf7c3bdf00&gt;"
}
},
"proxy_manager": {}
},
"cookies": {
"_cookies": {},
"_cookies_lock": "&lt;unlocked _thread.RLock object owner=0 count=0 at 0x7fcf7d054500&gt;",
"_now": 1761599058,
"_policy": {
"_allowed_domains": null,
"_blocked_domains": [],
"_now": 1761599058,
"hide_cookie2": false,
"netscape": true,
"rfc2109_as_netscape": null,
"rfc2965": false,
"secure_protocols": [
"https",
"wss"
],
"strict_domain": false,
"strict_ns_domain": 0,
"strict_ns_set_initial_dollar": false,
"strict_ns_set_path": false,
"strict_ns_unverifiable": false,
"strict_rfc2965_unverifiable": true
}
},
"elapsed": "0:00:00.002112",
"encoding": "utf-8",
"headers": {
"_store": {
"cache-control": [
"Cache-Control",
"no-store"
],
"content-type": [
"Content-Type",
"application/json"
],
"date": [
"Date",
"Mon, 27 Oct 2025 21:04:18 GMT"
],
"strict-transport-security": [
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
]
}
},
"history": [],
"raw": {
"_body": null,
"_connection": null,
"_decoded_buffer": {
"_size": 0,
"buffer": "deque([])"
},
"_decoder": null,
"_fp": {
"__IOBase_closed": true,
"_method": "POST",
"chunk_left": "UNKNOWN",
"chunked": false,
"code": 204,
"debuglevel": 0,
"fp": null,
"headers": {
"_charset": null,
"_default_type": "text/plain",
"_headers": [
[
"Cache-Control",
"no-store"
],
[
"Content-Type",
"application/json"
],
[
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
],
[
"Date",
"Mon, 27 Oct 2025 21:04:18 GMT"
]
],
"_payload": "",
"_unixfrom": null,
"defects": [],
"epilogue": null,
"policy": {},
"preamble": null
},
"length": 0,
"msg": {
"_charset": null,
"_default_type": "text/plain",
"_headers": [
[
"Cache-Control",
"no-store"
],
[
"Content-Type",
"application/json"
],
[
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
],
[
"Date",
"Mon, 27 Oct 2025 21:04:18 GMT"
]
],
"_payload": "",
"_unixfrom": null,
"defects": [],
"epilogue": null,
"policy": {},
"preamble": null
},
"reason": "No Content",
"status": 204,
"version": 11,
"will_close": false
},
"_fp_bytes_read": 0,
"_has_decoded_content": false,
"_original_response": {
"__IOBase_closed": true,
"_method": "POST",
"chunk_left": "UNKNOWN",
"chunked": false,
"code": 204,
"debuglevel": 0,
"fp": null,
"headers": {
"_charset": null,
"_default_type": "text/plain",
"_headers": [
[
"Cache-Control",
"no-store"
],
[
"Content-Type",
"application/json"
],
[
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
],
[
"Date",
"Mon, 27 Oct 2025 21:04:18 GMT"
]
],
"_payload": "",
"_unixfrom": null,
"defects": [],
"epilogue": null,
"policy": {},
"preamble": null
},
"length": 0,
"msg": {
"_charset": null,
"_default_type": "text/plain",
"_headers": [
[
"Cache-Control",
"no-store"
],
[
"Content-Type",
"application/json"
],
[
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
],
[
"Date",
"Mon, 27 Oct 2025 21:04:18 GMT"
]
],
"_payload": "",
"_unixfrom": null,
"defects": [],
"epilogue": null,
"policy": {},
"preamble": null
},
"reason": "No Content",
"status": 204,
"version": 11,
"will_close": false
},
"_pool": {
"_tunnel_host": "vault",
"block": false,
"ca_cert_dir": null,
"ca_certs": null,
"cert_reqs": "CERT_NONE",
"conn_kw": {
"blocksize": 16384
},
"headers": {},
"host": "vault",
"num_connections": 1,
"num_requests": 1,
"pool": {
"all_tasks_done": {
"_lock": "&lt;unlocked _thread.lock object at 0x7fcf7d3c0a90&gt;",
"_waiters": "deque([])",
"acquire": "&lt;built-in method acquire of _thread.lock object at 0x7fcf7d3c0a90&gt;",
"release": "&lt;built-in method release of _thread.lock object at 0x7fcf7d3c0a90&gt;"
},
"is_shutdown": false,
"maxsize": 10,
"mutex": "&lt;unlocked _thread.lock object at 0x7fcf7d3c0a90&gt;",
"not_empty": {
"_lock": "&lt;unlocked _thread.lock object at 0x7fcf7d3c0a90&gt;",
"_waiters": "deque([])",
"acquire": "&lt;built-in method acquire of _thread.lock object at 0x7fcf7d3c0a90&gt;",
"release": "&lt;built-in method release of _thread.lock object at 0x7fcf7d3c0a90&gt;"
},
"not_full": {
"_lock": "&lt;unlocked _thread.lock object at 0x7fcf7d3c0a90&gt;",
"_waiters": "deque([])",
"acquire": "&lt;built-in method acquire of _thread.lock object at 0x7fcf7d3c0a90&gt;",
"release": "&lt;built-in method release of _thread.lock object at 0x7fcf7d3c0a90&gt;"
},
"queue": [
null,
null,
null,
null,
null,
null,
null,
null,
null,
{
"_HTTPConnection__response": {
"__IOBase_closed": true,
"_method": "POST",
"chunk_left": "UNKNOWN",
"chunked": false,
"code": 204,
"debuglevel": 0,
"fp": null,
"headers": {
"_charset": null,
"_default_type": "text/plain",
"_headers": [
[
"Cache-Control",
"no-store"
],
[
"Content-Type",
"application/json"
],
[
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
],
[
"Date",
"Mon, 27 Oct 2025 21:04:18 GMT"
]
],
"_payload": "",
"_unixfrom": null,
"defects": [],
"epilogue": null,
"policy": {},
"preamble": null
},
"length": 0,
"msg": {
"_charset": null,
"_default_type": "text/plain",
"_headers": [
[
"Cache-Control",
"no-store"
],
[
"Content-Type",
"application/json"
],
[
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
],
[
"Date",
"Mon, 27 Oct 2025 21:04:18 GMT"
]
],
"_payload": "",
"_unixfrom": null,
"defects": [],
"epilogue": null,
"policy": {},
"preamble": null
},
"reason": "No Content",
"status": 204,
"version": 11,
"will_close": false
},
"_HTTPConnection__state": "Idle",
"_buffer": [],
"_create_connection": {},
"_dns_host": "vault",
"_has_connected_to_proxy": false,
"_method": "POST",
"_raw_proxy_headers": null,
"_response_options": null,
"_tunnel_headers": {},
"_tunnel_host": null,
"_tunnel_port": null,
"_tunnel_scheme": null,
"blocksize": 16384,
"port": 8200,
"proxy": null,
"proxy_config": null,
"sock": "&lt;socket.socket fd=4, family=2, type=1, proto=6, laddr=('10.89.1.6', 49594), raddr=('10.89.1.2', 8200)&gt;",
"socket_options": [
[
6,
1,
1
]
],
"source_address": null,
"timeout": 30
}
],
"unfinished_tasks": 11
},
"port": 8200,
"proxy": null,
"proxy_config": null,
"proxy_headers": {},
"retries": {
"allowed_methods": "frozenset({'OPTIONS', 'DELETE', 'GET', 'PUT', 'TRACE', 'HEAD'})",
"backoff_factor": 0,
"backoff_jitter": 0.0,
"backoff_max": 120,
"connect": null,
"history": [],
"other": null,
"raise_on_redirect": true,
"raise_on_status": true,
"read": null,
"redirect": null,
"remove_headers_on_redirect": "frozenset({'cookie', 'authorization', 'proxy-authorization'})",
"respect_retry_after_header": true,
"status": null,
"status_forcelist": "set()",
"total": 3
},
"timeout": {
"_connect": {
"__objclass__": "{'_generate_next_value_': &lt;staticmethod(&lt;function Enum._generate_next_value_ at 0x7fcf7d713ec0&gt;)&gt;, '__module__': 'urllib3.util.timeout', '__firstlineno__': 14, '__static_attributes__': (), '_new_member_': &lt;built-in method __new__ of type object at 0x9b1660&gt;, '_use_args_': False, '_member_names_': ['token'], '_member_map_': {'token': &lt;_TYPE_DEFAULT.token: -1&gt;}, '_value2member_map_': {-1: &lt;_TYPE_DEFAULT.token: -1&gt;}, '_hashable_values_': [-1], '_unhashable_values_': [], '_unhashable_values_map_': {}, '_member_type_': &lt;class 'object'&gt;, '_value_repr_': None, '__doc__': None, 'token': &lt;_TYPE_DEFAULT.token: -1&gt;, '__new__': &lt;function Enum.__new__ at 0x7fcf7d713c40&gt;}",
"_name_": "token",
"_sort_order_": 0,
"_value_": -1
},
"_read": {
"__objclass__": "{'_generate_next_value_': &lt;staticmethod(&lt;function Enum._generate_next_value_ at 0x7fcf7d713ec0&gt;)&gt;, '__module__': 'urllib3.util.timeout', '__firstlineno__': 14, '__static_attributes__': (), '_new_member_': &lt;built-in method __new__ of type object at 0x9b1660&gt;, '_use_args_': False, '_member_names_': ['token'], '_member_map_': {'token': &lt;_TYPE_DEFAULT.token: -1&gt;}, '_value2member_map_': {-1: &lt;_TYPE_DEFAULT.token: -1&gt;}, '_hashable_values_': [-1], '_unhashable_values_': [], '_unhashable_values_map_': {}, '_member_type_': &lt;class 'object'&gt;, '_value_repr_': None, '__doc__': None, 'token': &lt;_TYPE_DEFAULT.token: -1&gt;, '__new__': &lt;function Enum.__new__ at 0x7fcf7d713c40&gt;}",
"_name_": "token",
"_sort_order_": 0,
"_value_": -1
},
"_start_connect": null,
"total": null
}
},
"_request_url": "/v1/cubbyhole/configure_kubernetes",
"_retries": {
"allowed_methods": "frozenset({'OPTIONS', 'DELETE', 'GET', 'PUT', 'TRACE', 'HEAD'})",
"backoff_factor": 0,
"backoff_jitter": 0.0,
"backoff_max": 120,
"connect": null,
"history": [],
"other": null,
"raise_on_redirect": true,
"raise_on_status": true,
"read": false,
"redirect": null,
"remove_headers_on_redirect": "frozenset({'cookie', 'authorization', 'proxy-authorization'})",
"respect_retry_after_header": true,
"status": null,
"status_forcelist": "set()",
"total": 0
},
"_sock_shutdown": "&lt;built-in method shutdown of socket object at 0x7fcf7c65fe00&gt;",
"auto_close": true,
"chunk_left": null,
"chunked": false,
"decode_content": false,
"enforce_content_length": true,
"headers": {
"_container": {
"cache-control": [
"Cache-Control",
"no-store"
],
"content-type": [
"Content-Type",
"application/json"
],
"date": [
"Date",
"Mon, 27 Oct 2025 21:04:18 GMT"
],
"strict-transport-security": [
"Strict-Transport-Security",
"max-age=31536000; includeSubDomains"
]
}
},
"length_remaining": 0,
"msg": null,
"reason": "No Content",
"status": 204,
"version": 11,
"version_string": "HTTP/1.1"
},
"reason": "No Content",
"request": {
"_body_position": null,
"_cookies": {
"_cookies": {},
"_cookies_lock": "&lt;unlocked _thread.RLock object owner=0 count=0 at 0x7fcf7c3bd500&gt;",
"_now": 1761599058,
"_policy": {
"_allowed_domains": null,
"_blocked_domains": [],
"_now": 1761599058,
"hide_cookie2": false,
"netscape": true,
"rfc2109_as_netscape": null,
"rfc2965": false,
"secure_protocols": [
"https",
"wss"
],
"strict_domain": false,
"strict_ns_domain": 0,
"strict_ns_set_initial_dollar": false,
"strict_ns_set_path": false,
"strict_ns_unverifiable": false,
"strict_rfc2965_unverifiable": true
}
},
"body": "b'{\"value\": \"complete\"}'",
"headers": {
"_store": {
"accept": [
"Accept",
"*/*"
],
"accept-encoding": [
"Accept-Encoding",
"gzip, deflate"
],
"connection": [
"Connection",
"keep-alive"
],
"content-length": [
"Content-Length",
"21"
],
"content-type": [
"Content-Type",
"application/json"
],
"user-agent": [
"User-Agent",
"python-requests/2.32.3"
],
"x-vault-request": [
"X-Vault-Request",
"true"
],
"x-vault-token": [
"X-Vault-Token",
"47542cbc-6bf8-4fba-8eda-02e0a0d29a0a"
]
}
},
"hooks": {
"response": []
},
"method": "POST",
"url": "http://vault:8200/v1/cubbyhole/configure_kubernetes"
},
"status_code": 204,
"url": "http://vault:8200/v1/cubbyhole/configure_kubernetes"
}
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/auth_kubernetes/tasks/main.yml:39" name="[testhost] testhost: auth_kubernetes : Run Kubernetes tests (controller) apply={'vars': {'default_path': '{{ ansible_hashi_vault_auth_method }}', 'this_path': '{{ item }}'}, 'module_defaults': {'assert': {'quiet': True}}}, _raw_params=kubernetes_test_controller.yml" time="0.0133991241455078125">
			<system-out>{
"changed": false,
"msg": "All items completed",
"results": [
{
"ansible_loop_var": "item",
"include": "kubernetes_test_controller.yml",
"include_args": {
"apply": {
"module_defaults": {
"assert": {
"quiet": true
}
},
"vars": {
"default_path": "kubernetes",
"this_path": "kubernetes"
}
}
},
"item": "kubernetes"
}
]
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/auth_kubernetes/tasks/main.yml:39" name="[include] testhost: auth_kubernetes : Run Kubernetes tests (controller) apply={'vars': {'default_path': '{{ ansible_hashi_vault_auth_method }}', 'this_path': '{{ item }}'}, 'module_defaults': {'assert': {'quiet': True}}}, _raw_params=kubernetes_test_controller.yml" time="0.0213887691497802734375">
			<system-out>/root/ansible_collections/community/hashi_vault/tests/output/.tmp/integration/auth_kubernetes-kuzp4yt3-ÅÑŚÌβŁÈ/tests/integration/targets/auth_kubernetes/tasks/kubernetes_test_controller.yml (args={'apply': {'vars': {'default_path': 'kubernetes', 'this_path': 'kubernetes'}, 'module_defaults': {'assert': {'quiet': True}}}} vars={'item': 'kubernetes', 'ansible_loop_var': 'item', '_ansible_item_label': 'kubernetes'}): [testhost]</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/auth_kubernetes/tasks/kubernetes_test_controller.yml:16" name="[testhost] testhost: auth_kubernetes : Check auth mount differing result response={{ lookup('vault_test_auth', **kwargs) }}" time="0.05653285980224609375">
			<system-out>{
"ansible_facts": {
"response": {
"failed": false,
"login": {
"auth": {
"accessor": "zYOh3cVC80kTupdqTAiZaqnK",
"client_token": "hvs.CAESIATcYkLVeNr6DCgxI8LvquaPMqb_d4ELCFZZjv6LJg-tGh4KHGh2cy5yMHFxWlZlb2tFOEx1ZUNQRjRrcW9kV04",
"entity_id": "83e76e5d-9923-0b18-18b1-c227b0a730cc",
"lease_duration": 3600,
"metadata": {
"role": "test-role",
"service_account_name": "vault-auth",
"service_account_namespace": "default",
"service_account_secret_name": "",
"service_account_uid": "d77c1feb-c919-4106-aa8a-50f67c3a161e"
},
"mfa_requirement": null,
"num_uses": 0,
"orphan": true,
"policies": [
"default",
"test-policy"
],
"renewable": true,
"token_policies": [
"default",
"test-policy"
],
"token_type": "service"
},
"data": null,
"lease_duration": 0,
"lease_id": "",
"mount_type": "",
"renewable": false,
"request_id": "1bf717df-b028-16fe-f48c-227522961d89",
"warnings": null,
"wrap_info": null
}
}
},
"changed": false
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/auth_kubernetes/tasks/kubernetes_test_controller.yml:20" name="[testhost] testhost: auth_kubernetes : assert fail_msg=A token from mount path '{{ this_path }}' had the wrong policy: {{ response.login.auth.policies }}, that=[&quot;('test-policy' in response.login.auth.policies) | bool == is_default_path&quot;, &quot;('test-policy' not in response.login.auth.policies) | bool != is_default_path&quot;, &quot;('alt-policy' in response.login.auth.policies) | bool != is_default_path&quot;, &quot;('alt-policy' not in response.login.auth.policies) | bool == is_default_path&quot;]" time="0.023634433746337890625">
			<system-out>{
"changed": false,
"msg": "All assertions passed"
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/auth_kubernetes/tasks/kubernetes_test_controller.yml:28" name="[testhost] testhost: auth_kubernetes : Failure expected when erroneous credentials are used response={{ lookup('vault_test_auth', want_exception=true, **kwargs_invalid) }}" time="0.050061702728271484375">
			<system-out>{
"ansible_facts": {
"response": {
"exception": {
"errors": [
"permission denied"
],
"json": {
"errors": [
"permission denied"
]
},
"method": "post",
"text": "{\"errors\":[\"permission denied\"]}\n",
"url": "http://vault:8200/v1/auth/kubernetes/login"
},
"failed": true,
"login": null,
"msg": "permission denied, on post http://vault:8200/v1/auth/kubernetes/login"
}
},
"changed": false
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/auth_kubernetes/tasks/kubernetes_test_controller.yml:34" name="[testhost] testhost: auth_kubernetes : assert fail_msg=An invalid JWT somehow did not cause a failure., that=['response is failed', &quot;response.msg is search('permission denied|no known key successfully validated the token signature')&quot;]" time="0.0132923126220703125">
			<system-out>{
"changed": false,
"msg": "All assertions passed"
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/auth_kubernetes/tasks/main.yml:51" name="[testhost] testhost: auth_kubernetes : Run Kubernetes tests (target) apply={'vars': {'default_path': '{{ ansible_hashi_vault_auth_method }}', 'this_path': '{{ item }}'}, 'module_defaults': {'assert': {'quiet': True}}}, _raw_params=kubernetes_test_target.yml" time="0.0144307613372802734375">
			<system-out>{
"changed": false,
"msg": "All items completed",
"results": [
{
"ansible_loop_var": "item",
"include": "kubernetes_test_target.yml",
"include_args": {
"apply": {
"module_defaults": {
"assert": {
"quiet": true
}
},
"vars": {
"default_path": "kubernetes",
"this_path": "kubernetes"
}
}
},
"item": "kubernetes"
}
]
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/auth_kubernetes/tasks/main.yml:51" name="[include] testhost: auth_kubernetes : Run Kubernetes tests (target) apply={'vars': {'default_path': '{{ ansible_hashi_vault_auth_method }}', 'this_path': '{{ item }}'}, 'module_defaults': {'assert': {'quiet': True}}}, _raw_params=kubernetes_test_target.yml" time="0.021686077117919921875">
			<system-out>/root/ansible_collections/community/hashi_vault/tests/output/.tmp/integration/auth_kubernetes-kuzp4yt3-ÅÑŚÌβŁÈ/tests/integration/targets/auth_kubernetes/tasks/kubernetes_test_target.yml (args={'apply': {'vars': {'default_path': 'kubernetes', 'this_path': 'kubernetes'}, 'module_defaults': {'assert': {'quiet': True}}}} vars={'item': 'kubernetes', 'ansible_loop_var': 'item', '_ansible_item_label': 'kubernetes'}): [testhost]</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/auth_kubernetes/tasks/kubernetes_test_target.yml:17" name="[testhost] testhost: auth_kubernetes : Check auth mount differing result" time="0.3557302951812744140625">
			<system-out>{
"changed": false,
"inner": {
"failed": false
},
"login": {
"auth": {
"accessor": "KJ90Qjyw04AJYkpodifGZoFv",
"client_token": "hvs.CAESIGcIKV27-9b4UPQAa7FWApuZ9N679JN2AZkm47A8L5T-Gh4KHGh2cy5Id3l3NlRiZXdrSGVQSHVMcHdHU3NROVk",
"entity_id": "83e76e5d-9923-0b18-18b1-c227b0a730cc",
"lease_duration": 3600,
"metadata": {
"role": "test-role",
"service_account_name": "vault-auth",
"service_account_namespace": "default",
"service_account_secret_name": "",
"service_account_uid": "d77c1feb-c919-4106-aa8a-50f67c3a161e"
},
"mfa_requirement": null,
"num_uses": 0,
"orphan": true,
"policies": [
"default",
"test-policy"
],
"renewable": true,
"token_policies": [
"default",
"test-policy"
],
"token_type": "service"
},
"data": null,
"lease_duration": 0,
"lease_id": "",
"mount_type": "",
"renewable": false,
"request_id": "96982f95-93dd-2077-3152-803ebaa37d89",
"warnings": null,
"wrap_info": null
}
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/auth_kubernetes/tasks/kubernetes_test_target.yml:21" name="[testhost] testhost: auth_kubernetes : assert fail_msg=A token from mount path '{{ this_path }}' had the wrong policy: {{ response.login.auth.policies }}, that=[&quot;('test-policy' in response.login.auth.policies) | bool == is_default_path&quot;, &quot;('test-policy' not in response.login.auth.policies) | bool != is_default_path&quot;, &quot;('alt-policy' in response.login.auth.policies) | bool != is_default_path&quot;, &quot;('alt-policy' not in response.login.auth.policies) | bool == is_default_path&quot;]" time="0.0265266895294189453125">
			<system-out>{
"changed": false,
"msg": "All assertions passed"
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/auth_kubernetes/tasks/kubernetes_test_target.yml:29" name="[testhost] testhost: auth_kubernetes : Failure expected when erroneous credentials are used kubernetes_token={{ kubernetes_token_invalid }}, want_exception=True" time="0.2975864410400390625">
			<system-out>{
"changed": false,
"inner": {
"failed": true
},
"login": null,
"msg": "permission denied, on post http://vault:8200/v1/auth/kubernetes/login"
}</system-out>
		</testcase>
		<testcase classname="tests/integration/targets/auth_kubernetes/tasks/kubernetes_test_target.yml:35" name="[testhost] testhost: auth_kubernetes : assert fail_msg=An invalid Kubernetes Service Account Token somehow did not cause a failure., that=['response.inner is failed', &quot;response.msg is search('permission denied|no known key successfully validated the token signature')&quot;]" time="0.01676654815673828125">
			<system-out>{
"changed": false,
"msg": "All assertions passed"
}</system-out>
		</testcase>
	</testsuite>
</testsuites>
