Execution
Date 14 Dec 2025 10:21:40 +0000
Duration 00:43:55.98
Controller aio1.openstack.local
User root
Versions
Ansible 2.18.6
ara 1.7.4 / 1.7.4
Python 3.13.5
Summary
13 Hosts
2438 Tasks
2413 Results
107 Plays
511 Files
0 Records

File: /home/zuul/src/opendev.org/openstack/openstack-ansible-os_ironic/tasks/ironic_conductor_post_install.yml

---
# Copyright 2015, Rackspace US, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

- name: Copy in sample dhcpd.conf file
  ansible.builtin.copy:
    src: "dhcpd.conf"
    dest: "/etc/dhcp/"
    mode: "0644"
  when: ironic_standalone
  notify:
    - Restart isc-dhcp-server

- name: Create tftpboot path
  ansible.builtin.file:
    path: "{{ ironic_tftpd_root }}"
    state: directory
    owner: "{{ ironic_system_user_name }}"
    group: "{{ ironic_system_group_name }}"
    mode: "0755"

- name: Copy in tftpd-hpa config file
  ansible.builtin.template:
    src: "tftpd-hpa.j2"
    dest: "/etc/default/tftpd-hpa"
    mode: "0644"
  when:
    - ansible_facts['os_family'] == 'Debian'
  notify:
    - Restart tftpd

- name: Copy in tftpd map file
  ansible.builtin.template:
    src: "map-file"
    dest: "{{ ironic_tftpd_root }}/map-file"
    mode: "0644"
  notify:
    - Restart tftpd

- name: Copy library modules into tftpboot
  ansible.builtin.copy:
    src: "{{ item }}"
    dest: "{{ ironic_tftpd_root }}/"
    remote_src: true
    mode: "0644"
  with_items: "{{ ironic_library_modules_paths }}"

- name: Ensure grub directory exists in tftpboot
  ansible.builtin.file:
    path: "{{ ironic_grub_dir }}"
    state: directory
    recurse: true

- name: Copy PXE grub config into tftpboot
  ansible.builtin.copy:
    src: "grub.conf"
    dest: "{{ ironic_grub_dir }}/grub.cfg"
    mode: "0644"
    owner: "ironic"
    group: "ironic"

- name: Copy content into tftpboot (files)
  ansible.builtin.copy:
    src: "{{ item.path }}"
    dest: "{{ ironic_tftpd_root }}/{{ item.name }}"
    remote_src: true
    mode: "0644"
  with_items: "{{ (ironic_uefi_modules + ironic_tftp_extra_content) | selectattr('path', 'defined') | list }}"

- name: Copy content into tftpboot (urls)
  ansible.builtin.get_url:
    url: "{{ item.url }}"
    dest: "{{ ironic_tftpd_root }}/{{ item.name }}"
    mode: "0644"
  with_items: "{{ (ironic_uefi_modules + ironic_tftp_extra_content) | selectattr('url', 'defined') | list }}"

- name: Start up tftp
  ansible.builtin.service:
    name: "{{ ironic_tftpd_service_name }}"
    state: started
    enabled: true

- name: Disable default nginx configuration
  ansible.builtin.file:
    path: /etc/nginx/sites-enabled/default
    state: absent
  when: "ironic_ipxe_enabled | bool"
  notify:
    - Restart web server

- name: Remove default nginx config
  ansible.builtin.file:
    path: /etc/nginx/conf.d/default.conf
    state: absent
  when: "ironic_ipxe_enabled | bool"
  notify:
    - Restart web server

- name: Ensure nginx configuration directories exist
  ansible.builtin.file:
    path: "{{ item }}"
    state: directory
    mode: "0755"
  when: "ironic_ipxe_enabled | bool"
  with_items:
    - "/etc/nginx/{{ ironic_nginx_conf_path }}"

- name: Write alternate nginx.conf for rh like systems
  ansible.builtin.template:
    src: nginx-nodefault.conf.j2
    dest: "/etc/nginx/nginx-nodefault.conf"
    mode: "0644"
  when:
    - ansible_facts['pkg_mgr'] == 'dnf'
  notify:
    - Restart web server

- name: Create systemd dropin for rh like systems
  ansible.builtin.import_role:
    name: systemd_service
  when:
    - ansible_facts['pkg_mgr'] == 'dnf'
  vars:
    systemd_services:
      - service_name: "nginx"
        systemd_overrides_only: true
        load: false
        systemd_overrides:
          Service:
            ExecStart:
              - ""
              - "/usr/sbin/nginx -c /etc/nginx/nginx-nodefault.conf"
  notify:
    - Restart web server

- name: Configure nginx virtual hosts
  ansible.builtin.template:
    src: ironic-ipxe.conf.j2
    dest: "/etc/nginx/{{ ironic_nginx_conf_path }}/ironic-ipxe.conf"
    mode: "0644"
  when: "ironic_ipxe_enabled | bool"
  notify:
    - Restart web server

- name: Link to enable nginx virtual hosts
  ansible.builtin.file:
    src: "/etc/nginx/sites-available/ironic-ipxe.conf"
    path: "/etc/nginx/sites-enabled/ironic-ipxe.conf"
    state: link
  when:
    - ansible_facts['os_family'] == "Debian"
    - "ironic_ipxe_enabled | bool"
  notify:
    - Restart web server