fix: using a bridge to link podman pods to host s services
This commit is contained in:
@@ -1,36 +1,34 @@
|
||||
---
|
||||
- name: Check if the interface ipv4 address is defined
|
||||
ansible.builtin.debug:
|
||||
msg: "Warning: iface {{ interface.name }} has no defined ipv4 address, skipping configuration"
|
||||
when: interface.ipv4.address is not defined
|
||||
|
||||
- name: Process interface configuration
|
||||
when: interface.ipv4.address is defined
|
||||
block:
|
||||
- ansible.builtin.debug:
|
||||
msg: "Warning: iface {{ interface.name }} has no defined ipv4 address, skipping configuration"
|
||||
- name: Skip net-config role for {{ interface.name }}
|
||||
ansible.builtin.meta: end_play
|
||||
- name: Check if the interface is already configured
|
||||
ansible.builtin.stat:
|
||||
path: /etc/systemd/network/20-{{ interface.name }}.network
|
||||
register: network_file
|
||||
- name: Create systemd-netdev file for virtual interface
|
||||
when:
|
||||
- interface.type is defined
|
||||
- interface.type != 'ethernet'
|
||||
ansible.builtin.template:
|
||||
src: systemd.netdev.j2
|
||||
dest: /etc/systemd/network/10-{{ interface.name }}.netdev
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0644"
|
||||
register: netdev_result
|
||||
|
||||
- name: What patch is needed
|
||||
ansible.builtin.debug:
|
||||
msg: >-
|
||||
{%- if network_file.stat.exists == true -%}
|
||||
iface {{ interface.name }} is already configured, no action needed.
|
||||
{%- else -%}
|
||||
iface {{ interface.name }} will be configured.
|
||||
{%- endif -%}
|
||||
- name: Create systemd-network configuration file
|
||||
ansible.builtin.template:
|
||||
src: systemd.network.j2
|
||||
dest: /etc/systemd/network/20-{{ interface.name }}.network
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0644"
|
||||
register: network_result
|
||||
|
||||
- name: Create systemd-network link file
|
||||
when: network_file.stat.exists != true
|
||||
ansible.builtin.template:
|
||||
src: systemd.network.j2
|
||||
dest: /etc/systemd/network/20-{{ interface.name }}.network
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0644"
|
||||
|
||||
- name: Notify a reload is required
|
||||
ansible.builtin.set_fact:
|
||||
network_reload_required: true
|
||||
when: network_file.stat.exists != true
|
||||
- name: Notify a reload is required
|
||||
ansible.builtin.set_fact:
|
||||
network_reload_required: true
|
||||
when: netdev_result is changed or network_result is changed
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
# {{ ansible_managed }}
|
||||
# systemd.netdev(5)
|
||||
|
||||
[NetDev]
|
||||
Name={{ interface.name }}
|
||||
Kind={{ interface.type }}
|
||||
@@ -11,9 +11,14 @@ RouteMetric={{ interface.ipv4.metric }}
|
||||
{% endif %}
|
||||
|
||||
[Network]
|
||||
{% if interface.type is defined and interface.type == 'bridge' %}
|
||||
ConfigureWithoutCarrier=yes
|
||||
{% endif %}
|
||||
{% if interface.ipv4.nameservers is defined %}
|
||||
{% for dns in interface.ipv4.nameservers %}
|
||||
DNS={{ dns }}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
{% if interface.ipv4.gateway is defined %}
|
||||
[Route]
|
||||
|
||||
Reference in New Issue
Block a user