Interfaces_file - improvements (#3328)

* pythonific!! no camel cases, bitte

* simplified iface attributes parsing

* some improvements, passing tests

* simplified set_interface_option()

* further simplifications

* remove unreachable stmt

* pythonified a file open

* added changelog fragment

* adjustment per PR

* PR: fixed the auto- case

* PR: added testcase and chglog frag for the misleading change report

* extra line removed

* integration is not destructive
This commit is contained in:
Alexei Znamensky 2021-09-19 23:44:37 +12:00 committed by GitHub
commit 7aae8d5386
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 123 additions and 105 deletions

View file

@ -0,0 +1 @@
shippable/posix/group2

View file

@ -0,0 +1,7 @@
iface eno1 inet static
address 1.2.3.4
netmask 255.255.255.0
gateway 1.2.3.1
up route add -net 1.2.3.4 netmask 255.255.255.0 gw 1.2.3.1 eno1
up ip addr add 4.3.2.1/32 dev eno1
down ip addr add 4.3.2.1/32 dev eno1

View file

@ -0,0 +1,33 @@
---
- name:
set_fact:
interfaces_testfile: '{{ output_dir }}/interfaces'
- 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