{"id":51,"sha1":"8c66c4597938867219674a24004c0eaf1ec8df77","playbook":{"id":2,"items":{"plays":18,"tasks":608,"results":2412,"hosts":15,"files":158,"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-hosts.yml"]},"labels":[{"id":1,"name":"check:False"},{"id":2,"name":"tags:all"}],"started":"2025-12-08T13:40:18.992997Z","ended":"2025-12-08T13:50:25.791366Z","duration":"00:10:06.798369","name":null,"ansible_version":"2.18.6","client_version":"1.7.4","python_version":"3.12.11","server_version":"1.7.4","status":"completed","path":"/home/zuul/src/opendev.org/openstack/openstack-ansible/playbooks/setup-hosts.yml","controller":"aio1.openstack.local","user":"root"},"content":"---\n# Copyright 2017, Rackspace US, Inc.\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\nlxc_container_map:\n  distro: \"{{ hostvars[physical_host]['ansible_facts']['distribution'] | lower }}\"\n  arch: \"{{ lxc_architecture_mapping.get(hostvars[physical_host]['ansible_facts']['architecture'] | lower) }}\"\n  release: \"{{ hostvars[physical_host]['ansible_facts']['distribution_major_version'] }}\"\n\nlxc_container_default_config_list:\n  - \"lxc.autodev=1\"\n  - \"lxc.hook.autodev=/var/lib/lxc/{{ inventory_hostname }}/autodev\"\n\n# A set of container networks used within the LXC containers. This information\n# is sourced from the assumed \"container_networks\", \"container_extra_networks\"\n# and \"lxc_container_networks\" variables and combined into a single\n# immutable hash.\nlxc_container_networks_combined: \"{{ container_networks | default({}) | combine(container_extra_networks | default({})) | combine(lxc_container_networks) }}\"\nsysctl_path: \"/sbin\"\n_lxc_container_bind_mounts: []\n\n_lxc_container_systemd_networks: |\n  {% set systemd_networks = [] %}\n  {% for network in lxc_container_networks_combined.values() %}\n  {% set _ = systemd_networks.append({\n    'filename': network.interface,\n    'interface': network.interface,\n    'address': network.address | default('dhcp'),\n    'netmask': network.netmask | default(),\n    'gateway': network.gateway | default(),\n    'mtu': network.mtu | default(),\n    'static_routes': network.static_routes | default([]),\n    'usedns': ('dhcp_use_dns' in network) | ternary(network.dhcp_use_dns, lxc_container_enable_resolved | bool),\n    'config_overrides': ('dhcp_use_routes' in network) | ternary({'DHCP': {'UseRoutes': network.dhcp_use_routes}}, {})\n  }) %}\n  {% endfor %}\n  {{ systemd_networks }}\n\n_lxc_container_systemd_services: |\n  {% set systemd_services = [] %}\n  {% for network in lxc_container_networks_combined.values() %}\n  {% set postup_command = network.postup | default([]) | union(lxc_container_default_postup) %}\n  {% set postdown_command = network.postdown | default([]) | union(lxc_container_default_postdown) %}\n  {% set preup_command = network.preup | default([]) | union(lxc_container_default_preup) %}\n  {% set predown_command = network.predown | default([]) | union(lxc_container_default_predown) %}\n  {% if postup_command or postdown_command %}\n  {%   set _ = systemd_services.append({\n        'service_name': 'post-up-down-' ~ network.interface,\n        'service_type': 'oneshot',\n        'state': 'started',\n        'enabled': True,\n        'execstarts': postup_command,\n        'execstops': postdown_command,\n        'after_targets': ['network.target']\n  }) %}\n  {% endif %}\n  {% if preup_command or predown_command %}\n  {%  set _ = systemd_services.append({\n        'service_name': 'pre-up-down-' ~ network.interface,\n        'service_type': 'oneshot',\n        'state': 'started',\n        'enabled': True,\n        'execstarts': preup_command,\n        'execstops': predown_command,\n        'after_targets': ['local-fs.target'],\n        'config_overrides': {'Unit': {'Before': 'network-pre.target', 'Wants': 'network-pre.target'}}\n  }) %}\n  {% endif %}\n  {% endfor %}\n  {% set _ = systemd_services.append({\n    'service_name': 'sysctl-container',\n    'service_type': 'oneshot',\n    'state': 'started',\n    'enabled': True,\n    'execstarts': sysctl_path ~ '/sysctl -p',\n    'after_targets': ['systemd-modules-load.service'],\n    'config_overrides': {\n      'Unit': {\n        'DefaultDependencies': 'no',\n        'Conflicts': 'shutdown.target',\n        'Before': 'sysinit.target shutdown.target'\n      },\n      'Service': {\n        'RemainAfterExit': 'yes'\n      }\n    }\n  }) %}\n  {% set _ = systemd_services.append({\n    'service_name': 'systemd-hostnamed',\n    'state': 'started',\n    'enabled': True,\n    'systemd_overrides_only': True,\n    'systemd_overrides': {\n      'Service': {\n        'PrivateNetwork': 'no',\n        'PrivateDevices': 'no'\n      }\n    }\n  }) %}\n  {{ systemd_services }}\n","created":"2025-12-08T13:40:20.364526Z","updated":"2025-12-08T13:40:20.364546Z","path":"/home/zuul/src/opendev.org/openstack/openstack-ansible-lxc_container_create/vars/main.yml"}