{"id":199,"sha1":"e06dc0ed58ddbcb2db5a7c8693e2a66d6ef5561f","playbook":{"id":3,"items":{"plays":37,"tasks":567,"results":554,"hosts":7,"files":221,"records":0},"arguments":{"version":null,"verbosity":0,"private_key_file":null,"remote_user":null,"connection":"openstack.osa.ssh","timeout":null,"ssh_common_args":null,"sftp_extra_args":null,"scp_extra_args":null,"ssh_extra_args":null,"ask_pass":false,"connection_password_file":null,"force_handlers":true,"flush_cache":false,"become":false,"become_method":"sudo","become_user":null,"become_ask_pass":false,"become_password_file":null,"tags":["all"],"skip_tags":[],"check":false,"diff":false,"inventory":["/home/zuul/src/opendev.org/openstack/openstack-ansible/inventory/dynamic_inventory.py","/home/zuul/src/opendev.org/openstack/openstack-ansible/inventory/inventory.ini","/etc/openstack_deploy/inventory.ini"],"listhosts":false,"subset":null,"extra_vars":"Not saved by ARA as configured by 'ignored_arguments'","vault_ids":[],"ask_vault_pass":false,"vault_password_files":[],"forks":4,"module_path":null,"syntax":false,"listtasks":false,"listtags":false,"step":false,"start_at_task":null,"args":["setup-infrastructure.yml"]},"labels":[{"id":1,"name":"check:False"},{"id":2,"name":"tags:all"}],"started":"2025-12-14T10:15:01.440414Z","ended":"2025-12-14T10:21:34.655502Z","duration":"00:06:33.215088","name":null,"ansible_version":"2.18.6","client_version":"1.7.4","python_version":"3.13.5","server_version":"1.7.4","status":"completed","path":"/home/zuul/src/opendev.org/openstack/openstack-ansible/playbooks/setup-infrastructure.yml","controller":"aio1.openstack.local","user":"root"},"content":"---\n# Copyright 2015, Jean-Philippe Evrard <jean-philippe@evrard.me>\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\n# Wheter to add {{ ansible_managed }} information on top of keepalived.conf\nkeepalived_show_ansible_managed: false\n\n# If running keepalived with SELinux, you could need to compile your\n# rules. Please override this list with path to files to compile.\nkeepalived_selinux_compile_rules:\n  - keepalived_ping\n  - keepalived_setpgid\n\n# keepalived_package_state: \"latest\"\nkeepalived_package_state: \"{{ ((keepalived_use_latest_stable | default(true)) | bool) | ternary('latest', 'present') }}\"\n\n# Keepalived scripts can be defined that trigger notification scripts.\n# Examples have been provided below and in the tests directory.\n# keepalived_scripts:\n# haproxy_check_script:\n#   check_script: \"/etc/keepalived/haproxy_check.sh\"\n#   # if a src_check_script is defined, it will be uploaded from src_check_script\n#   # on the deploy host to the check_script location. If the check_script needs\n#   # parameters, you can define the location under dest_check_script.\n#   src_check_script: \"{{ playbook_dir }}/../scripts/keepalived_haproxy_check.sh\"\n# haproxy_check_script:\n#   # Here is an example with a command instead of a script.\n#   # Add src_check_script if you want to run a script instead of a command\n#   check_script: \"killall -0 haproxy\"\nkeepalived_scripts: {}\n\n# Keepalived scripts may rely upon additional packages.\nkeepalived_scripts_packages: []\n\n# This is the expiration time of your package manager cache.\n# When expired, this role will require to update the package manger cache.\n# This variable will be removed when the ansible upstream bugs will be fixed.\ncache_timeout: 600\n\nkeepalived_instances: {}\nkeepalived_sync_groups: {}\nkeepalived_bind_on_non_local: false\n\n# In case of VIP failover some applications might stuck on retrying to send\n# data without updating ARP. This variable defines amount of retries kernel\n# will send before consider connection as dead. It will influence on VIP\n# failover speed directly. Default sysctl value is 15 which result in\n# ~13 minutes of recovery. 8 retires is minimum according to RFC 1122 and\n# results in 100 seconds for timeout. Oracle suggest a value of 3 for a RAC\n# configuration which might be too agressive for some scenarios.\nkeepalived_sysctl_tcp_retries: 8\n\n# This list of strings will appear in the global_defs section of the\n# keepalived configuration file.\n# Example:\n# keepalived_global_defs:\n#   - enable_script_security\n\n# Whether to add systemd overrides for keepalived:\n# Wants=network-online.target\n# After=network-online.target\nkeepalived_systemd_overrides: true\n\n# Whether to add systemd option Restart=always\n# It depends on bool keepalived_systemd_overrides, so to add both must be True\nkeepalived_systemd_override_service_restart: false\n\n# Set location of keepalived daemon options file path\n# For Debian based systems it's usually /etc/default/keepalived\n# For RedHat based systems it's usually /etc/sysconfig/keepalived\nkeepalived_daemon_options_file_path: \"{{ _keepalived_daemon_options_file_path }}\"\n\n# Overriding keepalived daemon extra arguments, which will be applied inside of\n# the keepalived_daemon_options_file_path variable.\n# Example:\n# keepalived_daemon_default_options_overrides:\n#   - \"DAEMON_ARGS='--snmp'\"\nkeepalived_daemon_default_options_overrides: []\n","created":"2025-12-14T10:15:02.419733Z","updated":"2025-12-14T10:15:02.419745Z","path":"/etc/ansible/roles/keepalived/defaults/main.yml"}