36 lines
1.1 KiB
YAML
36 lines
1.1 KiB
YAML
---
|
|
# ifupdown can't glob iface stanzas (no mapping on ifupdown2/Proxmox), so ENI binds
|
|
# a literal name detected here. The chroot only sees live-ISO names: on a real
|
|
# ifupdown base, set system.network.interfaces[].name to the installed name. Bootstrap
|
|
# installs NetworkManager, so this fires only on a non-NM base image.
|
|
- name: Detect ethernet interface names
|
|
ansible.builtin.command:
|
|
argv:
|
|
- ip
|
|
- -o
|
|
- link
|
|
- show
|
|
register: configuration_eni_link
|
|
changed_when: false
|
|
failed_when: false
|
|
|
|
- name: Resolve detected ethernet interface names
|
|
ansible.builtin.set_fact:
|
|
configuration_eni_detected: >-
|
|
{{
|
|
configuration_eni_link.stdout | default('')
|
|
| regex_findall('^[0-9]+: ([^:@]+)[@:].*?link/ether', multiline=True)
|
|
}}
|
|
|
|
- name: Ensure the network configuration directory exists
|
|
ansible.builtin.file:
|
|
path: /mnt/etc/network
|
|
state: directory
|
|
mode: "0755"
|
|
|
|
- name: Write the ifupdown interfaces file
|
|
ansible.builtin.template:
|
|
src: network_eni.j2
|
|
dest: /mnt/etc/network/interfaces
|
|
mode: "0644"
|