Expose Scriptorium imports and transient retry settings
This commit is contained in:
@@ -16,6 +16,8 @@ ansible_playbook="$workspace_venv/bin/ansible-playbook"
|
||||
binary_path=/usr/local/bin/scriptorium
|
||||
config_path=/usr/local/etc/scriptorium/config.yml
|
||||
profile_dir="$test_tmp/profiles"
|
||||
import_root="$test_tmp/config-root"
|
||||
import_config_path="$import_root/config.yml"
|
||||
|
||||
cleanup() {
|
||||
exit_status=$?
|
||||
@@ -56,6 +58,14 @@ cd "$repository_root"
|
||||
baseline_log="$test_tmp/baseline.log"
|
||||
run_converge "$baseline_log"
|
||||
"$binary_path" config validate --config "$config_path"
|
||||
"$workspace_venv/bin/python" -c '
|
||||
import sys
|
||||
import yaml
|
||||
with open(sys.argv[1], encoding="utf-8") as config_file:
|
||||
config = yaml.safe_load(config_file)
|
||||
assert "configkit" not in config
|
||||
assert "transient_retries" not in config
|
||||
' "$config_path"
|
||||
"$binary_path" inspect profile --config "$config_path" \
|
||||
--profile-dir "$profile_dir" --profile endpoint-profile
|
||||
baseline_repeat_log="$test_tmp/baseline-repeat.log"
|
||||
@@ -98,3 +108,37 @@ run_converge "$representative_log" "${representative_args[@]}"
|
||||
representative_repeat_log="$test_tmp/representative-repeat.log"
|
||||
run_converge "$representative_repeat_log" "${representative_args[@]}"
|
||||
require_clean_recap "$representative_repeat_log"
|
||||
|
||||
mkdir -p "$import_root/fragments"
|
||||
printf '%s\n' \
|
||||
'server:' \
|
||||
' addr: 127.0.0.1:18081' > "$import_root/fragments/server.yml"
|
||||
import_args=(
|
||||
-e "scriptorium_config_path=$import_config_path"
|
||||
-e "scriptorium_config_owner=$(id -un)"
|
||||
-e "scriptorium_config_group=$(id -gn)"
|
||||
-e '{"scriptorium_configkit_imports": [{"path": "fragments/server.yml"}], "scriptorium_transient_retries": 0}'
|
||||
)
|
||||
import_log="$test_tmp/import.log"
|
||||
run_converge "$import_log" "${import_args[@]}"
|
||||
"$binary_path" config validate --config "$import_config_path"
|
||||
"$workspace_venv/bin/python" -c '
|
||||
import sys
|
||||
import yaml
|
||||
with open(sys.argv[1], encoding="utf-8") as config_file:
|
||||
config = yaml.safe_load(config_file)
|
||||
assert config["configkit"]["imports"] == [{"path": "fragments/server.yml"}]
|
||||
assert config["transient_retries"] == 0
|
||||
assert "server" not in config
|
||||
' "$import_config_path"
|
||||
"$binary_path" config show --config "$import_config_path" | \
|
||||
"$workspace_venv/bin/python" -c '
|
||||
import sys
|
||||
import yaml
|
||||
config = yaml.safe_load(sys.stdin)
|
||||
assert config["server"]["addr"] == "127.0.0.1:18081"
|
||||
assert config["transient_retries"] == 0
|
||||
'
|
||||
import_repeat_log="$test_tmp/import-repeat.log"
|
||||
run_converge "$import_repeat_log" "${import_args[@]}"
|
||||
require_clean_recap "$import_repeat_log"
|
||||
|
||||
Reference in New Issue
Block a user