Turns out our mirror wasn’t stale, I just didn’t realize that python3.9 support was dropped in ansible-core>=2.16.
Here’s the environment vars from 2.17, and there doesn’t appear to be any “alternate” values as there were in 2.14. Used the same powershell snippet from above.
196 vars
ENV_VARS
ANSIBLE_ACTION_PLUGINS
ANSIBLE_ACTION_WARNINGS
ANSIBLE_AGNOSTIC_BECOME_PROMPT
ANSIBLE_ANY_ERRORS_FATAL
ANSIBLE_ASK_PASS
ANSIBLE_ASK_VAULT_PASS
ANSIBLE_BECOME
ANSIBLE_BECOME_ALLOW_SAME_USER
ANSIBLE_BECOME_ASK_PASS
ANSIBLE_BECOME_EXE
ANSIBLE_BECOME_FLAGS
ANSIBLE_BECOME_METHOD
ANSIBLE_BECOME_PASSWORD_FILE
ANSIBLE_BECOME_PLUGINS
ANSIBLE_BECOME_USER
ANSIBLE_CACHE_PLUGIN
ANSIBLE_CACHE_PLUGIN_CONNECTION
ANSIBLE_CACHE_PLUGIN_PREFIX
ANSIBLE_CACHE_PLUGINS
ANSIBLE_CACHE_PLUGIN_TIMEOUT
ANSIBLE_CALLBACK_PLUGINS
ANSIBLE_CALLBACKS_ENABLED
ANSIBLE_CLICONF_PLUGINS
ANSIBLE_COLLECTIONS_ON_ANSIBLE_VERSION_MISMATCH
ANSIBLE_COLLECTIONS_PATH
ANSIBLE_COLLECTIONS_PATHS
ANSIBLE_COLLECTIONS_SCAN_SYS_PATH
ANSIBLE_COLOR_CHANGED
ANSIBLE_COLOR_CONSOLE_PROMPT
ANSIBLE_COLOR_DEBUG
ANSIBLE_COLOR_DEPRECATE
ANSIBLE_COLOR_DIFF_ADD
ANSIBLE_COLOR_DIFF_LINES
ANSIBLE_COLOR_DIFF_REMOVE
ANSIBLE_COLOR_ERROR
ANSIBLE_COLOR_HIGHLIGHT
ANSIBLE_COLOR_OK
ANSIBLE_COLOR_SKIP
ANSIBLE_COLOR_UNREACHABLE
ANSIBLE_COLOR_VERBOSE
ANSIBLE_COLOR_WARN
ANSIBLE_CONNECTION_PASSWORD_FILE
ANSIBLE_CONNECTION_PATH
ANSIBLE_CONNECTION_PLUGINS
_ANSIBLE_COVERAGE_REMOTE_OUTPUT
_ANSIBLE_COVERAGE_REMOTE_PATH_FILTER
ANSIBLE_COW_ACCEPTLIST
ANSIBLE_COW_PATH
ANSIBLE_COW_SELECTION
ANSIBLE_DEBUG
ANSIBLE_DEPRECATION_WARNINGS
ANSIBLE_DEVEL_WARNING
ANSIBLE_DIFF_ALWAYS
ANSIBLE_DIFF_CONTEXT
ANSIBLE_DISPLAY_ARGS_TO_STDOUT
ANSIBLE_DISPLAY_SKIPPED_HOSTS
ANSIBLE_DOC_FRAGMENT_PLUGINS
ANSIBLE_DUPLICATE_YAML_DICT_KEY
ANSIBLE_EDITOR
ANSIBLE_ENABLE_TASK_DEBUGGER
ANSIBLE_ERROR_ON_MISSING_HANDLER
ANSIBLE_ERROR_ON_UNDEFINED_VARS
ANSIBLE_EXECUTABLE
ANSIBLE_FACT_PATH
ANSIBLE_FACTS_MODULES
ANSIBLE_FILTER_PLUGINS
ANSIBLE_FORCE_COLOR
ANSIBLE_FORCE_HANDLERS
ANSIBLE_FORKS
ANSIBLE_GALAXY_CACHE_DIR
ANSIBLE_GALAXY_COLLECTION_SKELETON
ANSIBLE_GALAXY_COLLECTION_SKELETON_IGNORE
ANSIBLE_GALAXY_COLLECTIONS_PATH_WARNING
ANSIBLE_GALAXY_DISABLE_GPG_VERIFY
ANSIBLE_GALAXY_DISPLAY_PROGRESS
ANSIBLE_GALAXY_GPG_KEYRING
ANSIBLE_GALAXY_IGNORE
ANSIBLE_GALAXY_IGNORE_SIGNATURE_STATUS_CODES
ANSIBLE_GALAXY_REQUIRED_VALID_SIGNATURE_COUNT
ANSIBLE_GALAXY_ROLE_SKELETON
ANSIBLE_GALAXY_ROLE_SKELETON_IGNORE
ANSIBLE_GALAXY_SERVER
ANSIBLE_GALAXY_SERVER_LIST
ANSIBLE_GALAXY_SERVER_TIMEOUT
ANSIBLE_GALAXY_TOKEN_PATH
ANSIBLE_GATHERING
ANSIBLE_GATHER_SUBSET
ANSIBLE_GATHER_TIMEOUT
ANSIBLE_HASH_BEHAVIOUR
ANSIBLE_HOME
ANSIBLE_HOST_KEY_CHECKING
ANSIBLE_HOST_PATTERN_MISMATCH
ANSIBLE_HTTPAPI_PLUGINS
ANSIBLE_INJECT_FACT_VARS
ANSIBLE_INVALID_TASK_ATTRIBUTE_FAILED
ANSIBLE_INVENTORY
ANSIBLE_INVENTORY_ANY_UNPARSED_IS_FAILED
ANSIBLE_INVENTORY_CACHE
ANSIBLE_INVENTORY_CACHE_CONNECTION
ANSIBLE_INVENTORY_CACHE_PLUGIN
ANSIBLE_INVENTORY_CACHE_PLUGIN_PREFIX
ANSIBLE_INVENTORY_CACHE_TIMEOUT
ANSIBLE_INVENTORY_ENABLED
ANSIBLE_INVENTORY_EXPORT
ANSIBLE_INVENTORY_IGNORE
ANSIBLE_INVENTORY_IGNORE_REGEX
ANSIBLE_INVENTORY_PLUGINS
ANSIBLE_INVENTORY_UNPARSED_FAILED
ANSIBLE_INVENTORY_UNPARSED_WARNING
ANSIBLE_JINJA2_EXTENSIONS
ANSIBLE_JINJA2_NATIVE
ANSIBLE_KEEP_REMOTE_FILES
ANSIBLE_LIBRARY
ANSIBLE_LIBVIRT_LXC_NOSECLABEL
ANSIBLE_LOAD_CALLBACK_PLUGINS
ANSIBLE_LOCALHOST_WARNING
ANSIBLE_LOCAL_TEMP
ANSIBLE_LOG_FILTER
ANSIBLE_LOG_PATH
ANSIBLE_LOG_VERBOSITY
ANSIBLE_LOOKUP_PLUGINS
ANSIBLE_MAX_DIFF_SIZE
ANSIBLE_MODULE_ARGS
ANSIBLE_MODULE_IGNORE_EXTS
ANSIBLE_MODULE_STRICT_UTF8_RESPONSE
ANSIBLE_MODULE_UTILS
ANSIBLE_NETCONF_PLUGINS
ANSIBLE_NETCONF_SSH_CONFIG
ANSIBLE_NETWORK_GROUP_MODULES
ANSIBLE_NOCOLOR
ANSIBLE_NOCOWS
ANSIBLE_NO_LOG
ANSIBLE_NO_TARGET_SYSLOG
ANSIBLE_NULL_REPRESENTATION
ANSIBLE_OLD_PLUGIN_CACHE_CLEAR
ANSIBLE_PAGER
ANSIBLE_PARAMIKO_HOST_KEY_AUTO_ADD
ANSIBLE_PARAMIKO_LOOK_FOR_KEYS
ANSIBLE_PERSISTENT_COMMAND_TIMEOUT
ANSIBLE_PERSISTENT_CONNECT_RETRY_TIMEOUT
ANSIBLE_PERSISTENT_CONNECT_TIMEOUT
ANSIBLE_PERSISTENT_CONTROL_PATH_DIR
ANSIBLE_PIPELINING
ANSIBLE_PLAYBOOK_DIR
ANSIBLE_PLAYBOOK_VARS_ROOT
ANSIBLE_POLL_INTERVAL
ANSIBLE_PRECEDENCE
ANSIBLE_PRIVATE_KEY_FILE
ANSIBLE_PRIVATE_ROLE_VARS
ANSIBLE_PYTHON_INTERPRETER
ANSIBLE_PYTHON_MODULE_RLIMIT_NOFILE
ANSIBLE_REMOTE_PORT
ANSIBLE_REMOTE_USER
ANSIBLE_RETRY_FILES_ENABLED
ANSIBLE_RETRY_FILES_SAVE_PATH
ANSIBLE_ROLES_PATH
ANSIBLE_RUN_TAGS
ANSIBLE_RUN_VARS_PLUGINS
ANSIBLE_SELINUX_SPECIAL_FS
ANSIBLE_SHOW_CUSTOM_STATS
ANSIBLE_SKIP_TAGS
ANSIBLE_STDOUT_CALLBACK
ANSIBLE_STRATEGY
ANSIBLE_STRATEGY_PLUGINS
ANSIBLE_STRING_CONVERSION_ACTION
ANSIBLE_STRING_TYPE_FILTERS
ANSIBLE_SU
ANSIBLE_SYSLOG_FACILITY
ANSIBLE_SYSTEM_WARNINGS
ANSIBLE_TARGET_LOG_INFO
ANSIBLE_TASK_DEBUGGER_IGNORE_ERRORS
ANSIBLE_TASK_TIMEOUT
ANSIBLE_TERMINAL_PLUGINS
ANSIBLE_TEST_PLUGINS
ANSIBLE_TIMEOUT
ANSIBLE_TRANSFORM_INVALID_GROUP_CHARS
ANSIBLE_TRANSPORT
ANSIBLE_USE_PERSISTENT_CONNECTIONS
ANSIBLE_VALIDATE_ACTION_GROUP_METADATA
ANSIBLE_VARS_ENABLED
ANSIBLE_VARS_PLUGINS
ANSIBLE_VAULT_ENCRYPT_IDENTITY
ANSIBLE_VAULT_ENCRYPT_SALT
ANSIBLE_VAULT_IDENTITY
ANSIBLE_VAULT_IDENTITY_LIST
ANSIBLE_VAULT_ID_MATCH
ANSIBLE_VAULT_PASSWORD_FILE
ANSIBLE_VERBOSE_TO_STDERR
ANSIBLE_VERBOSITY
ANSIBLE_WIN_ASYNC_STARTUP_TIMEOUT
ANSIBLE_WORKER_SHUTDOWN_POLL_COUNT
ANSIBLE_WORKER_SHUTDOWN_POLL_DELAY
ANSIBLE_YAML_FILENAME_EXT
EDITOR
NO_COLOR
PAGER