From c9ec0562263561ff6b6676bea556eb4729509b83 Mon Sep 17 00:00:00 2001 From: alex Date: Wed, 11 Mar 2026 23:35:45 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20ansible.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ansible.yml | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 ansible.yml diff --git a/ansible.yml b/ansible.yml new file mode 100644 index 0000000..e3d5043 --- /dev/null +++ b/ansible.yml @@ -0,0 +1,124 @@ +--- +- hosts: pxe-server + become: true + vars: + network: 192.168.80.0 + netmask: 255.255.255.0 + range_ip_start: 192.168.80.50 + range_ip_stop: 192.168.80.100 + tftp_server: 192.168.80.30 + + tasks: + - name: update + apt: + update_cache: yes + + - name: install dhcp-server, tftp-server, apache, syslinux, pxelinux + apt: + name: + - isc-dhcp-server + - tftp-server + - apache2 + - syslinux + - pxelinux + state: present + + + - name: download ubuntu 24.04 + get_url: + url: https://releases.ubuntu.com/noble/ubuntu-24.04.4-live-server-amd64.iso + #url: http://192.168.80.10/ubuntu-24.04.4-live-server-amd64.iso + dest: /var/www/html/ubuntu-24.04.iso + mode: 0755 + timeout: 1000 + + - name: сreate dir mount for iso ubuntu + file: + path: /tmp/iso + state: directory + + - name: mount ubuntu + mount: + src: /var/www/html/ubuntu-24.04.iso + path: /tmp/iso + state: mounted + fstype: iso9660 + opts: loop,ro + + - name: copy vmlinuz and initrd + copy: + src: /tmp/iso/casper/{{ item }} + dest: /srv/tftp/ + remote_src: yes + loop: + - vmlinuz + - initrd + + - name: copy PXE files + copy: + src: /usr/lib/syslinux/modules/bios/{{ item }} + dest: /srv/tftp/ + remote_src: yes + loop: + - ldlinux.c32 + - libcom32.c32 + - libutil.c32 + - vesamenu.c32 + + - name: copy lpxelinux + copy: + src: /usr/lib/PXELINUX/lpxelinux.0 + dest: /srv/tftp/ + remote_src: yes + + - name: create conf lpxelinux dir + file: + path: /srv/tftp/pxelinux.cfg + state: directory + + + - name: copy template pxelinux conf + template: + src: pxelinux.template + dest: /srv/tftp/pxelinux.cfg/default + notify: restart tftp-hpa + + + - name: copy template dhcpd conf + template: + src: dhcpd.template + dest: /etc/dhcp/dhcpd.conf + notify: restart dhcpd + + + - name: сreate user-data http dir + file: + path: /var/www/html/autoinstall + state: directory + mode: 0755 + + + - name: copy user-data + template: + src: user-data + dest: /var/www/html/autoinstall/user-data + mode: 0755 + + + - name: сreate meta-data file + copy: + dest: /var/www/html/autoinstall/meta-data + content: "" + mode: 0755 + + + handlers: + - name: restart dhcpd + systemd: + name: isc-dhcp-server + state: restarted + + - name: restart tftp-hpa + systemd: + name: tftpd-hpa + state: restarted