diff options
Diffstat (limited to 'test/integration/targets/old_style_cache_plugins/runme.sh')
-rwxr-xr-x | test/integration/targets/old_style_cache_plugins/runme.sh | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/test/integration/targets/old_style_cache_plugins/runme.sh b/test/integration/targets/old_style_cache_plugins/runme.sh new file mode 100755 index 0000000..ffa6723 --- /dev/null +++ b/test/integration/targets/old_style_cache_plugins/runme.sh @@ -0,0 +1,47 @@ +#!/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 "$@" |