Compare commits

...

11 commits

Author SHA1 Message Date
growf
1983123473
Merge 8cdf51b3b3 into 795d8e34e7 2024-03-29 23:13:49 +00:00
softwarefactory-project-zuul[bot]
795d8e34e7
Merge pull request #538 from csmart/ci_freebsd_133
ci: replace freebsd 13.2 with 13.3

The devel version of ansible-test has been updated to include support for FreeBSD 13.3, so this change swaps out 13.2 accordingly.
See ansible-collections/news-for-maintainers#67

Reviewed-by: Hideki Saito <saito@fgrep.org>
2024-03-26 06:50:36 +00:00
Chris Smart
b615d61fae ci: replace freebsd 13.2 with 13.3
The devel version of ansible-test has been updated to include support
for FreeBSD 13.3, so this change swaps out 13.2 accordingly.
2024-03-26 14:59:32 +09:00
softwarefactory-project-zuul[bot]
bda85b7453
Merge pull request #541 from saito-hideki/pr/replace_yield
[CI] Replaced yield with yield from for sanity test

SUMMARY
Replaced yield with yield from to address latest sanity test.
ISSUE TYPE

CI Tests Pull Request

COMPONENT NAME

ansible.posix

ADDITIONAL INFORMATION
None
2024-03-26 05:51:09 +00:00
Hideki Saito
ac82f575c6 Replaced yield with yield from to address latest sanity test
Signed-off-by: Hideki Saito <saito@fgrep.org>
2024-03-26 13:54:40 +09:00
softwarefactory-project-zuul[bot]
a356bdd3c4
Merge pull request #540 from saito-hideki/pr/relace_old_fqcn_selogin
[CI] Replaced old selogin FQCN for integration tests

SUMMARY
Some integration test tasks used the old FQCNs of commuinity.general.
This PR will replace old FQCN(community.general.system.selogin)with new cummonity.general.selogin
ISSUE TYPE

CI Tests Pull Request

COMPONENT NAME

ansible.posix.selinux

ADDITIONAL INFORMATION
None
2024-03-26 02:59:55 +00:00
Hideki Saito
4f93234a8b Replaced old selogin FQCN
- FCQN has been changed since comunity.general stable-6

Signed-off-by: Hideki Saito <saito@fgrep.org>
2024-03-26 10:39:34 +09:00
growf
8cdf51b3b3
Create 428-synchronize-user-defined-out-format.yml 2023-03-17 23:42:28 +00:00
growf
0b6eb4506b
Delete 428-synchronize-user-definied-out-format.yml 2023-03-17 23:41:53 +00:00
growf
dea22dcf4e
Create 428-synchronize-user-definied-out-format.yml 2023-03-17 23:40:24 +00:00
growf
dd3b97069b
Allow user-defined --out-format
If the user specifes --out-format in rsync_opts return msg and stdout_lines in that format otherwise use the default for --itemize-changes, '%i %n%L'; the output for diff will always be in the default --itemize-changes format.

The use of '//' as a delimiter to split the format fields isn't perfect but it's the least-likely to clash with an actual filepath that I could think of.
2023-03-17 22:34:37 +00:00
5 changed files with 50 additions and 20 deletions

View file

@ -178,8 +178,8 @@ stages:
targets: targets:
- name: RHEL 9.3 - name: RHEL 9.3
test: rhel/9.3 test: rhel/9.3
- name: FreeBSD 13.2 - name: FreeBSD 13.3
test: freebsd/13.2 test: freebsd/13.3
- stage: Remote_2_16 - stage: Remote_2_16
displayName: Remote 2.16 displayName: Remote 2.16
dependsOn: [] dependsOn: []

View file

@ -0,0 +1,2 @@
minor_changes:
- synchronize - user-defined ``--out-format`` in ``rsync_opts`` is now honored in the returned output. (https://github.com/ansible-collections/ansible.posix/pull/428)

View file

@ -365,6 +365,7 @@ EXAMPLES = r'''
import os import os
import errno import errno
import re
from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils._text import to_bytes, to_native from ansible.module_utils._text import to_bytes, to_native
@ -596,8 +597,19 @@ def main():
module.fail_json(msg='Hardlinking into a subdirectory of the source would cause recursion. %s and %s' % (destination_path, dest)) module.fail_json(msg='Hardlinking into a subdirectory of the source would cause recursion. %s and %s' % (destination_path, dest))
cmd.append('--link-dest=%s' % link_path) cmd.append('--link-dest=%s' % link_path)
changed_marker = '<<CHANGED>>' # find the last specified out-format
cmd.append('--out-format=%s' % shlex_quote(changed_marker + '%i %n%L')) out_format = ''
for rsync_opt in rsync_opts:
if rsync_opt.startswith('--out-format='):
out_format = rsync_opt.replace('--out-format=', '', 1)
# force a known out-format so we can test for changes and return a known format of diff
diff_marker = 'DIFF'
if out_format == '' or module._diff:
diff_detail = '%n%L'
else:
diff_detail = ''
cmd.append('--out-format=%s' % shlex_quote('%s//%s//%%i//%s' % (out_format, diff_marker, diff_detail)))
cmd.append(shlex_quote(source)) cmd.append(shlex_quote(source))
cmd.append(shlex_quote(dest)) cmd.append(shlex_quote(dest))
@ -623,18 +635,36 @@ def main():
if rc: if rc:
return module.fail_json(msg=err, rc=rc, cmd=cmdstr) return module.fail_json(msg=err, rc=rc, cmd=cmdstr)
if link_dest: changed = False
# a leading period indicates no change diff = []
changed = (changed_marker + '.') not in out out_lines = []
else: # remove forced out-format suffix, check for file changes
changed = changed_marker in out for line in out.split('\n'):
match = re.match('(.*)//%s//(...*?)//(.*)$' % diff_marker, line)
if match:
default_diff = '%s %s' % (match.group(2), match.group(3))
out_clean = out.replace(changed_marker, '') if module._diff:
out_lines = out_clean.split('\n') diff.append(default_diff)
if out_format == '':
out_lines.append(default_diff)
else:
out_lines.append(match.group(1))
# a period in the first position indicates no changes to the file's contents
# a period in every other position from the third onward indicates no attribute changes
if not re.match(r'\..\.*$', match.group(2)):
changed = True
else:
out_lines.append(line)
out_clean = '\n'.join(out_lines)
while '' in out_lines: while '' in out_lines:
out_lines.remove('') out_lines.remove('')
if module._diff: if module._diff:
diff = {'prepared': out_clean} diff = {'prepared': '\n'.join(diff)}
return module.exit_json(changed=changed, msg=out_clean, return module.exit_json(changed=changed, msg=out_clean,
rc=rc, cmd=cmdstr, stdout_lines=out_lines, rc=rc, cmd=cmdstr, stdout_lines=out_lines,
diff=diff) diff=diff)

View file

@ -5,7 +5,7 @@
- name: Attempt to add mapping without 'seuser' - name: Attempt to add mapping without 'seuser'
register: selogin_error register: selogin_error
ignore_errors: true ignore_errors: true
community.general.system.selogin: community.general.selogin:
login: seuser login: seuser
- name: Verify failure - name: Verify failure
ansible.builtin.assert: ansible.builtin.assert:
@ -19,7 +19,7 @@
- false - false
- true - true
- false - false
community.general.system.selogin: community.general.selogin:
login: seuser login: seuser
seuser: staff_u seuser: staff_u
- name: New mapping- verify functionality and check_mode - name: New mapping- verify functionality and check_mode
@ -37,7 +37,7 @@
- false - false
- true - true
- false - false
community.general.system.selogin: community.general.selogin:
login: seuser login: seuser
seuser: user_u seuser: user_u
- name: Changed mapping- verify functionality and check_mode - name: Changed mapping- verify functionality and check_mode
@ -55,7 +55,7 @@
- false - false
- true - true
- false - false
community.general.system.selogin: community.general.selogin:
login: seuser login: seuser
state: absent state: absent
- name: Delete mapping- verify functionality and check_mode - name: Delete mapping- verify functionality and check_mode

View file

@ -64,8 +64,7 @@ if sys.version_info >= (3,) and sys.version_info < (3, 4, 4):
# newline that our naive format() added # newline that our naive format() added
data_as_list[-1] = data_as_list[-1][:-1] data_as_list[-1] = data_as_list[-1][:-1]
for line in data_as_list: yield from data_as_list
yield line
def mock_open(mock=None, read_data=''): def mock_open(mock=None, read_data=''):
""" """
@ -93,8 +92,7 @@ if sys.version_info >= (3,) and sys.version_info < (3, 4, 4):
if handle.readline.return_value is not None: if handle.readline.return_value is not None:
while True: while True:
yield handle.readline.return_value yield handle.readline.return_value
for line in _data: yield from _data
yield line
global file_spec global file_spec
if file_spec is None: if file_spec is None: