mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
e3eaeda81a
interfaces_file: filter by address_familiy when updating method (#7612)
* When updating method, check address_family if provided.
* Also test modifying 'method' without address_family filter.
(cherry picked from commit 5adb7ab948
)
Co-authored-by: Felix Fontein <felix@fontein.de>
125 lines
3 KiB
YAML
125 lines
3 KiB
YAML
---
|
|
# Copyright (c) Ansible Project
|
|
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
- name:
|
|
set_fact:
|
|
interfaces_testfile: '{{ remote_tmp_dir }}/interfaces'
|
|
interfaces_testfile_3841: '{{ remote_tmp_dir }}/interfaces_3841'
|
|
interfaces_testfile_7610: '{{ remote_tmp_dir }}/interfaces_7610'
|
|
|
|
- name: Copy interfaces file
|
|
copy:
|
|
src: 'files/interfaces_ff'
|
|
dest: '{{ interfaces_testfile }}'
|
|
|
|
- name: Change IP address to 1.2.3.5
|
|
community.general.interfaces_file:
|
|
dest: "{{ interfaces_testfile }}"
|
|
iface: eno1
|
|
option: address
|
|
value: 1.2.3.5
|
|
register: ifile_1
|
|
|
|
- assert:
|
|
that:
|
|
- ifile_1 is changed
|
|
|
|
- name: Change IP address to 1.2.3.5 again
|
|
community.general.interfaces_file:
|
|
dest: "{{ interfaces_testfile }}"
|
|
iface: eno1
|
|
option: address
|
|
value: 1.2.3.5
|
|
register: ifile_2
|
|
|
|
- assert:
|
|
that:
|
|
- ifile_2 is not changed
|
|
|
|
- name: 3841 - copy interfaces file
|
|
copy:
|
|
src: 'files/interfaces_ff_3841'
|
|
dest: '{{ interfaces_testfile_3841 }}'
|
|
|
|
- name: 3841 - floating_ip_interface_up_ip 2a01:a:b:c::1/64 dev eth0
|
|
interfaces_file:
|
|
option: up
|
|
iface: eth0
|
|
dest: "{{ interfaces_testfile_3841 }}"
|
|
value: 'ip addr add 2a01:a:b:c::1/64 dev eth0'
|
|
state: present
|
|
register: ifile_3841_a
|
|
|
|
- name: 3841 - floating_ip_interface_up_ip 2a01:a:b:c::1/64 dev eth0 (again)
|
|
interfaces_file:
|
|
option: up
|
|
iface: eth0
|
|
dest: "{{ interfaces_testfile_3841 }}"
|
|
value: 'ip addr add 2a01:a:b:c::1/64 dev eth0'
|
|
state: present
|
|
register: ifile_3841_b
|
|
|
|
- name: 3841 - check assertions
|
|
assert:
|
|
that:
|
|
- ifile_3841_a is changed
|
|
- ifile_3841_b is not changed
|
|
|
|
- name: 7610 - create file
|
|
copy:
|
|
dest: '{{ interfaces_testfile_7610 }}'
|
|
content: |
|
|
iface ens3 inet dhcp
|
|
iface ens3 inet6 auto
|
|
|
|
- name: 7610 - modify file
|
|
interfaces_file:
|
|
dest: '{{ interfaces_testfile_7610 }}'
|
|
iface: ens3
|
|
address_family: "inet6"
|
|
option: "{{ item.option }}"
|
|
value: "{{ item.value }}"
|
|
loop:
|
|
- option: "method"
|
|
value: "static"
|
|
- option: "address"
|
|
value: "1:2::3/48"
|
|
|
|
- name: 7610 - read file
|
|
slurp:
|
|
src: '{{ interfaces_testfile_7610 }}'
|
|
register: content_7610
|
|
|
|
- name: 7610 - check assertions
|
|
assert:
|
|
that:
|
|
- content_7610.content | b64decode == expected_content
|
|
vars:
|
|
expected_content: |
|
|
iface ens3 inet dhcp
|
|
iface ens3 inet6 static
|
|
address 1:2::3/48
|
|
|
|
- name: 7610 - modify file again
|
|
interfaces_file:
|
|
dest: '{{ interfaces_testfile_7610 }}'
|
|
iface: ens3
|
|
option: method
|
|
value: foobar
|
|
|
|
- name: 7610 - read file
|
|
slurp:
|
|
src: '{{ interfaces_testfile_7610 }}'
|
|
register: content_7610
|
|
|
|
- name: 7610 - check assertions
|
|
assert:
|
|
that:
|
|
- content_7610.content | b64decode == expected_content
|
|
vars:
|
|
expected_content: |
|
|
iface ens3 inet foobar
|
|
iface ens3 inet6 foobar
|
|
address 1:2::3/48
|