Merge pull request #277 from saito-hideki/pr/fix_integration_test_env

Fix integration test error on ansible devel branch

SUMMARY
Fix integration test error on ansible devel branch:

Remove centos6 platforms for integration tests on the ansible devel branch from the azure-pipelines.
Add delegate_to to each task of integration test for synchronized module on devel branch
Modify invalid parameter test to use key instead of name for sysctl module
Replace lookup plugin to slurp module in integration tests for selinux module
Add creating working directory task in integration tests for acl module

ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

ansible.posix

ADDITIONAL INFORMATION

For the integration test for sysctl module, we probably need to handle invalid values specified as kernel param. In this case, even if I set an invalid value as a kernel param, sysctl command shows a warning message. However, the result of the command is 0.

Reviewed-by: Andrew Klychkov <aaklychkov@mail.ru>
Reviewed-by: Abhijeet Kasurde <None>
Reviewed-by: None <None>
This commit is contained in:
ansible-zuul[bot] 2021-10-05 07:12:06 +00:00 committed by GitHub
commit 1ca54d181d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 94 additions and 20 deletions

View file

@ -51,8 +51,6 @@ stages:
parameters: parameters:
testFormat: devel/linux/{0}/1 testFormat: devel/linux/{0}/1
targets: targets:
- name: CentOS 6
test: centos6
- name: CentOS 7 - name: CentOS 7
test: centos7 test: centos7
- name: CentOS 8 - name: CentOS 8
@ -61,8 +59,6 @@ stages:
test: fedora33 test: fedora33
- name: Fedora 34 - name: Fedora 34
test: fedora34 test: fedora34
- name: openSUSE 15 py2
test: opensuse15py2
- name: openSUSE 15 py3 - name: openSUSE 15 py3
test: opensuse15 test: opensuse15
- name: Ubuntu 18.04 - name: Ubuntu 18.04

View file

@ -0,0 +1,3 @@
---
trivial:
- Fix integration tests of synchronize and sysctl to address chaging behavior on devel branch (https://github.com/ansible-collections/overview/issues/45).

View file

@ -23,6 +23,16 @@
group: group:
name: "{{ test_group }}" name: "{{ test_group }}"
- name: Clean up working directory and files
file:
path: "{{ output_dir }}"
state: absent
- name: Create working directory
file:
path: "{{ output_dir }}"
state: directory
- name: Create ansible file - name: Create ansible file
file: file:
path: "{{ test_file }}" path: "{{ test_file }}"

View file

@ -26,10 +26,19 @@
state: present state: present
- name: TEST 1 | Get current SELinux config file contents - name: TEST 1 | Get current SELinux config file contents
slurp:
src: /etc/sysconfig/selinux
register: selinux_config_original_base64
- name: TEST 1 | Register SELinux config and SELinux status
set_fact: set_fact:
selinux_config_original: "{{ lookup('file', '/etc/sysconfig/selinux').split('\n') }}" selinux_config_original_raw: "{{ selinux_config_original_base64.content | b64decode }}"
before_test_sestatus: "{{ ansible_selinux }}" before_test_sestatus: "{{ ansible_selinux }}"
- name: TEST 1 | Split by line and register original config
set_fact:
selinux_config_original: "{{ selinux_config_original_raw.split('\n') }}"
- debug: - debug:
var: "{{ item }}" var: "{{ item }}"
verbosity: 1 verbosity: 1
@ -95,8 +104,17 @@
- _disable_test2.reboot_required - _disable_test2.reboot_required
- name: TEST 1 | Get modified config file - name: TEST 1 | Get modified config file
slurp:
src: /etc/sysconfig/selinux
register: selinux_config_after_base64
- name: TEST 1 | Register modified config
set_fact: set_fact:
selinux_config_after: "{{ lookup('file', '/etc/sysconfig/selinux').split('\n') }}" selinux_config_after_raw: "{{ selinux_config_after_base64.content | b64decode }}"
- name: TEST 1 | Split by line and register modified config
set_fact:
selinux_config_after: "{{ selinux_config_after_raw.split('\n') }}"
- debug: - debug:
var: selinux_config_after var: selinux_config_after
@ -209,8 +227,17 @@
- not _state_test2.reboot_required - not _state_test2.reboot_required
- name: TEST 2 | Get modified config file - name: TEST 2 | Get modified config file
slurp:
src: /etc/sysconfig/selinux
register: selinux_config_after_base64
- name: TEST 2 | Register modified config
set_fact: set_fact:
selinux_config_after: "{{ lookup('file', '/etc/sysconfig/selinux').split('\n') }}" selinux_config_after_raw: "{{ selinux_config_after_base64.content | b64decode }}"
- name: TEST 2 | Split by line and register modified config
set_fact:
selinux_config_after: "{{ selinux_config_after_raw.split('\n') }}"
- debug: - debug:
var: selinux_config_after var: selinux_config_after

View file

@ -2,16 +2,29 @@
package: package:
name: rsync name: rsync
when: ansible_distribution != "MacOSX" when: ansible_distribution != "MacOSX"
- name: cleanup old files - name: Clean up the working directory and files
shell: rm -rf {{output_dir}}/* file:
path: '{{ output_dir }}'
state: absent
- name: Create the working directory
file:
path: '{{ output_dir }}'
state: directory
- name: create test new files - name: create test new files
copy: dest={{output_dir}}/{{item}} mode=0644 content="hello world" copy:
dest: '{{output_dir}}/{{item}}'
mode: '0644'
content: 'hello world'
with_items: with_items:
- foo.txt - foo.txt
- bar.txt - bar.txt
- name: synchronize file to new filename - name: synchronize file to new filename
synchronize: src={{output_dir}}/foo.txt dest={{output_dir}}/foo.result synchronize:
src: '{{output_dir}}/foo.txt'
dest: '{{output_dir}}/foo.result'
register: sync_result register: sync_result
delegate_to: '{{ inventory_hostname }}'
- assert: - assert:
that: that:
- '''changed'' in sync_result' - '''changed'' in sync_result'
@ -31,9 +44,13 @@
that: that:
- stat_result.stat.exists == True - stat_result.stat.exists == True
- stat_result.stat.checksum == '2aae6c35c94fcfb415dbe95f408b9ce91ee846ed' - stat_result.stat.checksum == '2aae6c35c94fcfb415dbe95f408b9ce91ee846ed'
- name: test that the file is not copied a second time - name: test that the file is not copied a second time
synchronize: src={{output_dir}}/foo.txt dest={{output_dir}}/foo.result synchronize:
src='{{output_dir}}/foo.txt'
dest='{{output_dir}}/foo.result'
register: sync_result register: sync_result
delegate_to: '{{ inventory_hostname }}'
- assert: - assert:
that: that:
- sync_result.changed == False - sync_result.changed == False
@ -44,12 +61,14 @@
with_items: with_items:
- foo.result - foo.result
- bar.result - bar.result
- name: Synchronize using the mode=push param - name: Synchronize using the mode=push param
synchronize: synchronize:
src: '{{output_dir}}/foo.txt' src: '{{output_dir}}/foo.txt'
dest: '{{output_dir}}/foo.result' dest: '{{output_dir}}/foo.result'
mode: push mode: push
register: sync_result register: sync_result
delegate_to: '{{ inventory_hostname }}'
- assert: - assert:
that: that:
- '''changed'' in sync_result' - '''changed'' in sync_result'
@ -69,12 +88,14 @@
that: that:
- stat_result.stat.exists == True - stat_result.stat.exists == True
- stat_result.stat.checksum == '2aae6c35c94fcfb415dbe95f408b9ce91ee846ed' - stat_result.stat.checksum == '2aae6c35c94fcfb415dbe95f408b9ce91ee846ed'
- name: test that the file is not copied a second time - name: test that the file is not copied a second time
synchronize: synchronize:
src: '{{output_dir}}/foo.txt' src: '{{output_dir}}/foo.txt'
dest: '{{output_dir}}/foo.result' dest: '{{output_dir}}/foo.result'
mode: push mode: push
register: sync_result register: sync_result
delegate_to: '{{ inventory_hostname }}'
- assert: - assert:
that: that:
- sync_result.changed == False - sync_result.changed == False
@ -85,12 +106,14 @@
with_items: with_items:
- foo.result - foo.result
- bar.result - bar.result
- name: Synchronize using the mode=pull param - name: Synchronize using the mode=pull param
synchronize: synchronize:
src: '{{output_dir}}/foo.txt' src: '{{output_dir}}/foo.txt'
dest: '{{output_dir}}/foo.result' dest: '{{output_dir}}/foo.result'
mode: pull mode: pull
register: sync_result register: sync_result
delegate_to: '{{ inventory_hostname }}'
- assert: - assert:
that: that:
- '''changed'' in sync_result' - '''changed'' in sync_result'
@ -110,12 +133,14 @@
that: that:
- stat_result.stat.exists == True - stat_result.stat.exists == True
- stat_result.stat.checksum == '2aae6c35c94fcfb415dbe95f408b9ce91ee846ed' - stat_result.stat.checksum == '2aae6c35c94fcfb415dbe95f408b9ce91ee846ed'
- name: test that the file is not copied a second time - name: test that the file is not copied a second time
synchronize: synchronize:
src: '{{output_dir}}/foo.txt' src: '{{output_dir}}/foo.txt'
dest: '{{output_dir}}/foo.result' dest: '{{output_dir}}/foo.result'
mode: pull mode: pull
register: sync_result register: sync_result
delegate_to: '{{ inventory_hostname }}'
- assert: - assert:
that: that:
- sync_result.changed == False - sync_result.changed == False
@ -126,12 +151,16 @@
with_items: with_items:
- foo.result - foo.result
- bar.result - bar.result
- name: synchronize files using with_items (issue#5965) - name: synchronize files using with_items (issue#5965)
synchronize: src={{output_dir}}/{{item}} dest={{output_dir}}/{{item}}.result synchronize:
src: '{{output_dir}}/{{item}}'
dest: '{{output_dir}}/{{item}}.result'
with_items: with_items:
- foo.txt - foo.txt
- bar.txt - bar.txt
register: sync_result register: sync_result
delegate_to: '{{ inventory_hostname }}'
- assert: - assert:
that: that:
- sync_result.changed - sync_result.changed
@ -151,9 +180,14 @@
with_items: with_items:
- foo.txt - foo.txt
- bar.txt - bar.txt
- name: synchronize files using rsync_path (issue#7182) - name: synchronize files using rsync_path (issue#7182)
synchronize: src={{output_dir}}/foo.txt dest={{output_dir}}/foo.rsync_path rsync_path="sudo rsync" synchronize:
src: '{{output_dir}}/foo.txt'
dest: '{{output_dir}}/foo.rsync_path'
rsync_path: 'sudo rsync'
register: sync_result register: sync_result
delegate_to: '{{ inventory_hostname }}'
- assert: - assert:
that: that:
- '''changed'' in sync_result' - '''changed'' in sync_result'
@ -186,6 +220,7 @@
dest: '{{output_dir}}/{{item}}/foo.txt' dest: '{{output_dir}}/{{item}}/foo.txt'
with_items: with_items:
- directory_a - directory_a
delegate_to: '{{ inventory_hostname }}'
- name: synchronize files using link_dest - name: synchronize files using link_dest
synchronize: synchronize:
src: '{{output_dir}}/directory_a/foo.txt' src: '{{output_dir}}/directory_a/foo.txt'
@ -193,6 +228,7 @@
link_dest: link_dest:
- '{{output_dir}}/directory_a' - '{{output_dir}}/directory_a'
register: sync_result register: sync_result
delegate_to: '{{ inventory_hostname }}'
- name: get stat information for directory_a - name: get stat information for directory_a
stat: stat:
path: '{{ output_dir }}/directory_a/foo.txt' path: '{{ output_dir }}/directory_a/foo.txt'
@ -214,6 +250,8 @@
- '{{output_dir}}' - '{{output_dir}}'
register: sync_result register: sync_result
ignore_errors: true ignore_errors: true
delegate_to: '{{ inventory_hostname }}'
- assert: - assert:
that: that:
- sync_result is not changed - sync_result is not changed

View file

@ -123,10 +123,10 @@
that: that:
- sysctl_test2_change_test is not changed - sysctl_test2_change_test is not changed
- name: Try sysctl with an invalid value - name: Try sysctl with an invalid name
sysctl: sysctl:
name: net.ipv4.ip_forward name: test.invalid
value: foo value: 1
register: sysctl_test3 register: sysctl_test3
ignore_errors: yes ignore_errors: yes
@ -196,10 +196,10 @@
- sysctl_no_value is failed - sysctl_no_value is failed
- "sysctl_no_value.msg == 'value cannot be None'" - "sysctl_no_value.msg == 'value cannot be None'"
- name: Try sysctl with an invalid value - name: Try sysctl with an invalid name
sysctl: sysctl:
name: net.ipv4.ip_forward name: test.invalid
value: foo value: 1
sysctl_set: yes sysctl_set: yes
register: sysctl_test4 register: sysctl_test4
ignore_errors: yes ignore_errors: yes