Добавить ansible.yml
This commit is contained in:
124
ansible.yml
Normal file
124
ansible.yml
Normal file
@@ -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
|
||||||
Reference in New Issue
Block a user