Open
Description
Summary
I can create a bond interface, with this example
- name: Setup bond interface for - internal
tags: [network]
community.general.nmcli:
conn_name: "{{ bond_name_internal }}"
ifname: "{{ bond_name_internal }}"
zone: internal
type: bond
mode: active-backup
state: present
mtu: 9000
It will run OK the first run, and I can also add the interfaces into it as well, but the 2nd time I run the playbook, I get this error message,
fatal: [localhost]: FAILED! => changed=false
msg: |-
Error: invalid or not allowed setting 'ipv4': 'ipv4' not among [connection, bond, 802-3-ethernet (ethernet), ethtool, bridge-port, link, match].
name: bond-internal
rc: 2
Issue Type
Bug Report
Component Name
nmcli
Ansible Version
$ ansible --version
ansible [core 2.17.0]
config file = /home/rabin/src/ansible-playbooks/ocp-agent-provision/ansible.cfg
configured module search path = ['/home/rabin/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /home/rabin/.local/lib/python3.12/site-packages/ansible
ansible collection location = /home/rabin/src/ansible-playbooks/ocp-agent-provision/.ansible:/home/rabin/.ansible/collections
executable location = /home/rabin/.local/bin/ansible
python version = 3.12.3 (main, Apr 17 2024, 00:00:00) [GCC 14.0.1 20240411 (Red Hat 14.0.1-0)] (/usr/bin/python)
jinja version = 3.1.3
libyaml = True
### Configuration
```console
# if using a version older than ansible-core 2.12 you should omit the '-t all'
$ ansible-config dump --only-changed -t all
OS / Environment
Fedora 40
Steps to Reproduce
- name: Debug
# hosts: localhost
hosts: service_host
gather_facts: false
vars:
ansible_ssh_user: root
bond_name_internal: bond-internal
private_network_interface_name: internal
private_network: "10.148.118.192"
private_network_cidr: "26"
tasks:
- name: Setup bond interface for - internal
tags: [network]
community.general.nmcli:
conn_name: "{{ bond_name_internal }}"
zone: internal
type: bond
mode: active-backup
state: present
mtu: 9000
- name: Add bond-slaves to {{ bond_name_internal }}
tags: [network]
community.general.nmcli:
type: bond-slave
slave_type: bond
conn_name: "{{ item }}"
ifname: "{{ item }}"
master: "{{ bond_name_internal }}"
state: present
mtu: 9000
loop:
- int0
- int2
- name: Setup bridge - internal
tags: [network]
community.general.nmcli:
conn_name: "{{ private_network_interface_name }}"
ifname: "{{ private_network_interface_name }}"
zone: internal
type: bridge
stp: false
ip4: "{{ eth0_ip }}/{{ private_network_cidr }}"
routes4:
- 10.0.0.0/8 {{ private_network_gw }}
state: present
mtu: 9000
vars:
private_network_gw: "{{ (private_network ~ '/' ~ private_network_cidr) | ansible.utils.nthhost(1) }}"
- name: Add bond to internal bridge
tags: [network]
community.general.nmcli:
type: bridge-slave
slave_type: bridge
conn_name: "{{ bond_name_internal }}"
ifname: "{{ bond_name_internal }}"
master: "{{ private_network_interface_name }}"
state: present
mtu: 9000
Expected Results
No change for the 2nd run
Actual Results
Error with,
fatal: [localhost]: FAILED! => changed=false
msg: |-
Error: invalid or not allowed setting 'ipv4': 'ipv4' not among [connection, bond, 802-3-ethernet (ethernet), ethtool, bridge-port, link, match].
name: bond-internal
rc: 2
Code of Conduct
- I agree to follow the Ansible Code of Conduct