1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00
community.general/tests/integration/targets/interfaces_file/tasks/main.yml
Felix Fontein 5adb7ab948
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.
2023-11-26 19:34:13 +01:00

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