mirror of https://github.com/ansible/ansible.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.5 KiB
Bash
48 lines
1.5 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
set -eux
|
|
|
|
source virtualenv.sh
|
|
|
|
trap 'ansible-playbook cleanup.yml' EXIT
|
|
|
|
export PATH="$PATH:/usr/local/bin"
|
|
|
|
ansible-playbook setup_redis_cache.yml "$@"
|
|
|
|
# Cache should start empty
|
|
redis-cli keys ansible_
|
|
[ "$(redis-cli keys ansible_)" = "" ]
|
|
|
|
export ANSIBLE_CACHE_PLUGINS=./plugins/cache
|
|
export ANSIBLE_CACHE_PLUGIN_CONNECTION=localhost:6379:0
|
|
export ANSIBLE_CACHE_PLUGIN_PREFIX='ansible_facts_'
|
|
|
|
# Test legacy cache plugins (that use ansible.constants) and
|
|
# new cache plugins that use config manager both work for facts.
|
|
for fact_cache in legacy_redis configurable_redis; do
|
|
|
|
export ANSIBLE_CACHE_PLUGIN="$fact_cache"
|
|
|
|
# test set_fact with cacheable: true
|
|
ansible-playbook test_fact_gathering.yml --tags set_fact "$@"
|
|
[ "$(redis-cli keys ansible_facts_localhost | wc -l)" -eq 1 ]
|
|
ansible-playbook inspect_cache.yml --tags set_fact "$@"
|
|
|
|
# cache gathered facts in addition
|
|
ansible-playbook test_fact_gathering.yml --tags gather_facts "$@"
|
|
ansible-playbook inspect_cache.yml --tags additive_gather_facts "$@"
|
|
|
|
# flush cache and only cache gathered facts
|
|
ansible-playbook test_fact_gathering.yml --flush-cache --tags gather_facts --tags flush "$@"
|
|
ansible-playbook inspect_cache.yml --tags gather_facts "$@"
|
|
|
|
redis-cli del ansible_facts_localhost
|
|
unset ANSIBLE_CACHE_PLUGIN
|
|
|
|
done
|
|
|
|
# Legacy cache plugins need to be updated to use set_options/get_option to be compatible with inventory plugins.
|
|
# Inventory plugins load cache options with the config manager.
|
|
ansible-playbook test_inventory_cache.yml "$@"
|