From 1ad46862cdd5b27852113869598740d02e037d5e Mon Sep 17 00:00:00 2001 From: Stephane Armanet <stephane.armanet@ess.eu> Date: Wed, 26 Aug 2020 14:08:13 +0200 Subject: [PATCH] remplace tftp server by atftp to be able to use PCRE remap features --- defaults/main.yml | 5 +++-- files/tftp.remap | 1 + tasks/install_component.yml | 22 ++++++++++++++++++++-- templates/atftp.j2 | 15 +++++++++++++++ 4 files changed, 39 insertions(+), 4 deletions(-) create mode 100644 files/tftp.remap create mode 100644 templates/atftp.j2 diff --git a/defaults/main.yml b/defaults/main.yml index e16235d..c272608 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -2,15 +2,16 @@ # TFTP and PXE setup tftp_root: "/tftproot" +tftp_remap: "/etc/tftp.remap" kickstart_root: "/kickstart" kickstart_ip: "{{ ansible_default_ipv4.address}}" kickstart_url: "http://{{ kickstart_ip }}/centos7" epel7_gpg_url: https://artifactory.esss.lu.se/artifactory/epel-mirror-cache/RPM-GPG-KEY-EPEL-7 -centos7_squashfs_url: https://artifactory.esss.lu.se/artifactory/list/centos-mirror/7.6.1810/os/x86_64/ +centos7_squashfs_url: https://artifactory.esss.lu.se/artifactory/list/centos-mirror/7.8.2003/os/x86_64/ -isolinux_kernel_url: https://artifactory.esss.lu.se/artifactory/list/centos-mirror/7.6.1810/os/x86_64/isolinux/ +isolinux_kernel_url: https://artifactory.esss.lu.se/artifactory/list/centos-mirror/7.8.2003/os/x86_64/isolinux/ pxe_kernel_path: "{{ tftp_root }}/images/centos7-x86_64/" proxmox_deploy_user: "csi" diff --git a/files/tftp.remap b/files/tftp.remap new file mode 100644 index 0000000..7417ad3 --- /dev/null +++ b/files/tftp.remap @@ -0,0 +1 @@ +.*EFI/grubx64.efi.* /EFI/grubx64.efi diff --git a/tasks/install_component.yml b/tasks/install_component.yml index a12a980..3349d61 100644 --- a/tasks/install_component.yml +++ b/tasks/install_component.yml @@ -10,9 +10,19 @@ regex: '^SELINUX=' line: 'SELINUX=permissive' +- name: gather package list + package_facts: + manager: "auto" + +- name: remove tftp-hpa if installed + yum: + name: tftp-server + state: absent + when: "'tftp-server' in ansible_facts.packages" + - name: install atftp server yum: - name: "tftp-server" + name: "atftp-server" state: present tags: - install @@ -31,12 +41,20 @@ - name: configure tftp template: - src: tftp.j2 + src: atftp.j2 dest: /etc/xinetd.d/tftp owner: root group: root mode: 0644 +- name: copy tftp remap file + copy: + src: tftp.remap + dest: "{{ tftp_remap }}" + owner: root + group: root + mode: 0755 + - name: start xinetd service: name: xinetd diff --git a/templates/atftp.j2 b/templates/atftp.j2 new file mode 100644 index 0000000..6b36693 --- /dev/null +++ b/templates/atftp.j2 @@ -0,0 +1,15 @@ +# {{ ansible_managed }} +service tftp +{ + socket_type = dgram + protocol = udp + wait = yes + user = root + server = /usr/sbin/in.tftpd + server_args = --user root --group root --pcre {{ tftp_remap }} -v {{ tftp_root }} + disable = no + per_source = 11 + cps = 100 2 + flags = IPv4 +} + -- GitLab