{"id":498,"sha1":"e5c8056ab942cf6fc9c198458a63ca170e67592a","playbook":{"id":4,"items":{"plays":32,"tasks":1505,"results":1497,"hosts":12,"files":487,"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-openstack.yml"]},"labels":[{"id":1,"name":"check:False"},{"id":2,"name":"tags:all"}],"started":"2025-12-08T13:57:07.871967Z","ended":"2025-12-08T14:21:54.049657Z","duration":"00:24:46.177690","name":null,"ansible_version":"2.18.6","client_version":"1.7.4","python_version":"3.12.11","server_version":"1.7.4","status":"failed","path":"/home/zuul/src/opendev.org/openstack/openstack-ansible/playbooks/setup-openstack.yml","controller":"aio1.openstack.local","user":"root"},"content":"---\n# Copyright 2014, 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\n- name: Gather neutron facts\n  hosts: neutron_all\n  gather_facts: false\n  tags:\n    - always\n  tasks:\n    - name: Gather minimal facts for neutron\n      ansible.builtin.setup:\n        gather_subset:\n          - \"!all\"\n          - min\n      when: osa_gather_facts | default(true)\n\n    - name: Gather additional facts for neutron\n      ansible.builtin.setup:\n        gather_subset: \"{{ neutron_gather_subset | default('processor_count') }}\"\n        filter: \"{{ neutron_gather_filter | default('ansible_processor*') }}\"\n      when: osa_gather_facts | default(true)\n\n- name: Configure Neutron dynamic host groupings\n  hosts: localhost\n  gather_facts: no\n  tasks:\n    - name: Add hosts to dynamic inventory group\n      ansible.builtin.add_host:\n        group: \"{{ dest_group }}\"\n        name: \"{{ item }}\"\n      with_items: \"{{ groups[src_group] }}\"\n      when:\n        - \"group_when | default(True)\"\n      vars:\n        src_group: \"nova_compute\"\n        dest_group: \"neutron_l3_agent, neutron_metadata_agent\"\n        group_when: \"{{ (neutron_plugin_type | default('ml2.ovn') == 'ml2.ovs.dvr') }}\"\n\n- name: Configure haproxy services\n  ansible.builtin.import_playbook: openstack.osa.haproxy_service_config\n  vars:\n    service_group: neutron_server\n    service_variable: \"neutron_haproxy_services\"\n  when:\n    - groups[service_group]\n    - groups['haproxy'] | length > 0\n  tags:\n    - haproxy-service-config\n\n- name: Install neutron server\n  ansible.builtin.import_playbook: openstack.osa.common.neutron\n  vars:\n    neutron_hosts: \"neutron_server\"\n    neutron_serial: \"{{ neutron_server_serial | default(['1', '100%']) }}\"\n\n- name: Install neutron L2 agents\n  ansible.builtin.import_playbook: openstack.osa.common.neutron\n  vars:\n    neutron_hosts: \"neutron_linuxbridge_agent:neutron_openvswitch_agent:!neutron_server\"\n    neutron_serial: \"{{ neutron_agent_serial | default('50%') }}\"\n\n- name: Install all other neutron agents\n  ansible.builtin.import_playbook: openstack.osa.common.neutron\n  vars:\n    neutron_hosts: \"neutron_all:!neutron_linuxbridge_agent:!neutron_openvswitch_agent:!neutron_server\"\n    neutron_serial: \"{{ neutron_other_serial | default('1') }}\"\n","created":"2025-12-08T13:57:12.398330Z","updated":"2025-12-08T13:57:12.398343Z","path":"/etc/ansible/ansible_collections/openstack/osa/playbooks/neutron.yml"}