--- # 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 copy: src: "dhcpd.conf" dest: "/etc/dhcp/" when: ironic_standalone notify: - Restart isc-dhcp-server - name: Create tftpboot path 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 template: src: "tftpd-hpa.j2" dest: "/etc/default/tftpd-hpa" when: - ansible_facts['os_family'] == 'Debian' notify: - Restart tftpd - name: Copy in tftpd map file template: src: "map-file" dest: "{{ ironic_tftpd_root }}/map-file" notify: - Restart tftpd - name: Copy library modules into tftpboot copy: src: "{{ item }}" dest: "{{ ironic_tftpd_root }}/" remote_src: True with_items: "{{ ironic_library_modules_paths }}" - name: Ensure grub directory exists in tftpboot file: path: "{{ ironic_grub_dir }}" state: directory recurse: yes - name: Copy PXE grub config into tftpboot copy: src: "grub.conf" dest: "{{ ironic_grub_dir }}/grub.cfg" mode: "0644" owner: "ironic" group: "ironic" - name: Copy uefi modules into tftpboot copy: src: "{{ item.path }}" dest: "{{ ironic_tftpd_root }}/{{ item.name }}" remote_src: True with_items: "{{ ironic_uefi_modules }}" - name: Start up tftp service: name: "{{ ironic_tftpd_service_name }}" state: started enabled: true - name: Disable default nginx configuration file: path: /etc/nginx/sites-enabled/default state: absent when: "ironic_ipxe_enabled | bool" notify: - Restart web server - name: Remove default nginx config 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 file: path: "{{ item }}" state: directory when: "ironic_ipxe_enabled | bool" with_items: - "/etc/nginx/{{ ironic_nginx_conf_path }}" - "/etc/nginx/conf.d" - name: Configure nginx virtual hosts template: src: ironic-ipxe.conf.j2 dest: "/etc/nginx/{{ ironic_nginx_conf_path }}/ironic-ipxe.conf" when: "ironic_ipxe_enabled | bool" notify: - Restart web server - name: Link to enable nginx virtual hosts 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