diff --git a/metal/group_vars/all/all.yml b/metal/group_vars/all/all.yml index 852a1ab..1c9fb20 100644 --- a/metal/group_vars/all/all.yml +++ b/metal/group_vars/all/all.yml @@ -1,5 +1,5 @@ ansible_ssh_private_key_file: ~/.ssh/id_rsa -ssh_public_key: "{{ lookup('file', '~/.ssh/id_ed25519.pub') }}" +ssh_public_key: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}" # Network config subnet: "192.168.6.0" diff --git a/metal/install-os.yml b/metal/install-os.yml index 5c858d1..ccaf2ac 100644 --- a/metal/install-os.yml +++ b/metal/install-os.yml @@ -9,13 +9,8 @@ roles: - wol-wake -- name: Clean up PXE environment +- name: Clean up playbook execution hosts: localhost gather_facts: false roles: - - pxe-cleanup - -- name: Configure networking - hosts: metal - roles: - - systemd-networkd \ No newline at end of file + - pxe-cleanup \ No newline at end of file diff --git a/metal/inventories/lab.yml b/metal/inventories/lab.yml index 059098f..e17d518 100644 --- a/metal/inventories/lab.yml +++ b/metal/inventories/lab.yml @@ -2,25 +2,9 @@ metal: children: masters: hosts: - lab-mini-1: - ansible_host: 192.168.6.21 - mac: '4c:52:62:1c:bf:6c' - disk: '/dev/nvme0n1' - ansible_become_pass: '{{ vault_ansible_become_password }}' - lab-mini-2: - ansible_host: 192.168.6.22 - mac: '4c:52:62:0f:09:6d' - disk: '/dev/nvme0n1' - ansible_become_pass: '{{ vault_ansible_become_password }}' - lab-mini-3: - ansible_host: 192.168.6.23 - mac: '4c:52:62:0f:0a:23' - disk: '/dev/nvme0n1' - ansible_become_pass: '{{ vault_ansible_become_password }}' + lab-mini-1: {ansible_host: 192.168.6.21, mac: '4c:52:62:1c:bf:6c', disk: '/dev/sda'} + lab-mini-2: {ansible_host: 192.168.6.22, mac: '4c:52:62:0f:09:6d', disk: '/dev/sda'} + lab-mini-3: {ansible_host: 192.168.6.23, mac: '4c:52:62:0f:0a:23', disk: '/dev/sda'} workers: hosts: - lab-mini-4: - ansible_host: 192.168.6.24 - mac: '90:1b:0e:f8:e8:af' - disk: '/dev/nvme0n1' - ansible_become_pass: '{{ vault_ansible_become_password }}' + lab-mini-4: {ansible_host: 192.168.6.24, mac: '90:1b:0e:f8:e8:af', disk: '/dev/sda'} \ No newline at end of file diff --git a/metal/roles/pxe-cleanup/tasks/main.yml b/metal/roles/pxe-cleanup/tasks/main.yml index 4e5ce79..8ad9db7 100644 --- a/metal/roles/pxe-cleanup/tasks/main.yml +++ b/metal/roles/pxe-cleanup/tasks/main.yml @@ -1,5 +1,8 @@ - name: Tear down PXE stack - ansible.builtin.command: "docker compose --project-name pxe down" + docker_compose: + project_name: "pxe" + project_src: "{{ playbook_dir }}/roles/pxe-server/files/" + state: absent - name: Remove preseed files file: diff --git a/metal/roles/pxe-server/defaults/main.yml b/metal/roles/pxe-server/defaults/main.yml index 74f9940..b152d8d 100644 --- a/metal/roles/pxe-server/defaults/main.yml +++ b/metal/roles/pxe-server/defaults/main.yml @@ -1,2 +1,2 @@ os_download_url: "https://deb.debian.org/debian/dists/bullseye/main/installer-amd64/current/images/netboot/netboot.tar.gz" -os_download_checksum: "sha256:e8edf26ac9837d7dbbcfd96f47f51530260a6c68568938978e1b63ea698d5663" +os_download_checksum: "sha256:ec3b71964457f30a57061ea758c12394bf2b792b461c697e61cc2d47053c5878" \ No newline at end of file diff --git a/metal/roles/pxe-server/tasks/main.yml b/metal/roles/pxe-server/tasks/main.yml index b77e4e2..8881633 100644 --- a/metal/roles/pxe-server/tasks/main.yml +++ b/metal/roles/pxe-server/tasks/main.yml @@ -30,4 +30,9 @@ loop: "{{ groups['metal'] }}" - name: Start PXE stack - ansible.builtin.command: "docker compose --project-name pxe -f {{ role_path }}/files/docker-compose.yml up -d --build" \ No newline at end of file + docker_compose: + project_src: "{{ role_path }}/files" + project_name: "pxe" + state: present + restarted: true + build: true \ No newline at end of file diff --git a/metal/roles/systemd-networkd/tasks/main.yaml b/metal/roles/systemd-networkd/tasks/main.yaml deleted file mode 100644 index 11aed8e..0000000 --- a/metal/roles/systemd-networkd/tasks/main.yaml +++ /dev/null @@ -1,28 +0,0 @@ -- name: "Configure systemd-networkd" - become: true - block: - - name: "Render network config" - template: - src: default.network.j2 - dest: "/etc/systemd/network/default.network" - mode: 0644 - - - name: "Enable systemd-networkd" - ansible.builtin.systemd: - name: systemd-networkd - enabled: true - - - name: "Remove /etc/network" - ansible.builtin.file: - path: /etc/network - state: absent - - - name: "Reboot with systemd-networkd configured" - ansible.builtin.reboot: - reboot_timeout: 180 - - - name: "Remove ifupdown" - ansible.builtin.apt: - name: ifupdown - state: absent - purge: true \ No newline at end of file diff --git a/metal/roles/systemd-networkd/templates/default.network.j2 b/metal/roles/systemd-networkd/templates/default.network.j2 deleted file mode 100644 index 13187cd..0000000 --- a/metal/roles/systemd-networkd/templates/default.network.j2 +++ /dev/null @@ -1,7 +0,0 @@ -[Match] -MACAddress={{ hostvars[inventory_hostname]['mac'] }} - -[Network] -Address={{ hostvars[inventory_hostname]['ansible_host'] }}/{{ (hostvars[inventory_hostname]['ansible_host'] + '/' + netmask) | ansible.utils.ipaddr('prefix') }} -Gateway={{ gateway }} -DNS={{ nameserver }} \ No newline at end of file diff --git a/metal/roles/wol-wake/tasks/main.yml b/metal/roles/wol-wake/tasks/main.yml index 275e525..935f3f2 100644 --- a/metal/roles/wol-wake/tasks/main.yml +++ b/metal/roles/wol-wake/tasks/main.yml @@ -5,4 +5,4 @@ - name: Wait for machines to come online with installed OS wait_for_connection: - timeout: 900 \ No newline at end of file + timeout: 600 \ No newline at end of file