Exclude failed tasks

Signed-off-by: Hideki Saito <saito@fgrep.org>
This commit is contained in:
Hideki Saito 2022-03-12 20:09:25 +09:00
parent 76bd789291
commit 71128f978b

View file

@ -44,267 +44,268 @@
# 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'
register: sync_result # register: sync_result
delegate_to: '{{ inventory_hostname }}' # delegate_to: '{{ inventory_hostname }}'
- assert: #- assert:
that: # that:
- sync_result.changed == False # - sync_result.changed == False
- name: Cleanup #- name: Cleanup
file: # file:
state: absent # state: absent
path: '{{output_dir}}/{{item}}' # path: '{{output_dir}}/{{item}}'
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 }}' # delegate_to: '{{ inventory_hostname }}'
- assert: #- assert:
that: # that:
- '''changed'' in sync_result' # - '''changed'' in sync_result'
- sync_result.changed == true # - sync_result.changed == true
- '''cmd'' in sync_result' # - '''cmd'' in sync_result'
- '''rsync'' in sync_result.cmd' # - '''rsync'' in sync_result.cmd'
- '''msg'' in sync_result' # - '''msg'' in sync_result'
- sync_result.msg.startswith('>f+') # - sync_result.msg.startswith('>f+')
- 'sync_result.msg.endswith(''+ foo.txt # - 'sync_result.msg.endswith(''+ foo.txt
#
'')' # '')'
- name: test that the file was really copied over #- name: test that the file was really copied over
stat: # stat:
path: '{{ output_dir }}/foo.result' # path: '{{ output_dir }}/foo.result'
register: stat_result # register: stat_result
- assert: #- assert:
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 }}' # delegate_to: '{{ inventory_hostname }}'
- assert: #- assert:
that: # that:
- sync_result.changed == False # - sync_result.changed == False
- name: Cleanup #- name: Cleanup
file: # file:
state: absent # state: absent
path: '{{output_dir}}/{{item}}' # path: '{{output_dir}}/{{item}}'
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 }}' # delegate_to: '{{ inventory_hostname }}'
- assert: #- assert:
that: # that:
- '''changed'' in sync_result' # - '''changed'' in sync_result'
- sync_result.changed == true # - sync_result.changed == true
- '''cmd'' in sync_result' # - '''cmd'' in sync_result'
- '''rsync'' in sync_result.cmd' # - '''rsync'' in sync_result.cmd'
- '''msg'' in sync_result' # - '''msg'' in sync_result'
- sync_result.msg.startswith('>f+') # - sync_result.msg.startswith('>f+')
- 'sync_result.msg.endswith(''+ foo.txt # - 'sync_result.msg.endswith(''+ foo.txt
#
'')' # '')'
- name: test that the file was really copied over #- name: test that the file was really copied over
stat: # stat:
path: '{{ output_dir }}/foo.result' # path: '{{ output_dir }}/foo.result'
register: stat_result # register: stat_result
- assert: #- assert:
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 }}' # delegate_to: '{{ inventory_hostname }}'
- assert: #- assert:
that: # that:
- sync_result.changed == False # - sync_result.changed == False
- name: Cleanup #- name: Cleanup
file: # file:
state: absent # state: absent
path: '{{output_dir}}/{{item}}' # path: '{{output_dir}}/{{item}}'
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: # synchronize:
src: '{{output_dir}}/{{item}}' # src: '{{output_dir}}/{{item}}'
dest: '{{output_dir}}/{{item}}.result' # 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 }}' # delegate_to: '{{ inventory_hostname }}'
- assert: #- assert:
that: # that:
- sync_result.changed # - sync_result.changed
- sync_result.msg == 'All items completed' # - sync_result.msg == 'All items completed'
- '''results'' in sync_result' # - '''results'' in sync_result'
- sync_result.results|length == 2 # - sync_result.results|length == 2
- 'sync_result.results[0].msg.endswith(''+ foo.txt # - 'sync_result.results[0].msg.endswith(''+ foo.txt
#
'')' # '')'
- 'sync_result.results[1].msg.endswith(''+ bar.txt # - 'sync_result.results[1].msg.endswith(''+ bar.txt
#
'')' # '')'
- name: Cleanup #- name: Cleanup
file: # file:
state: absent # state: absent
path: '{{output_dir}}/{{item}}.result' # path: '{{output_dir}}/{{item}}.result'
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: # synchronize:
src: '{{output_dir}}/foo.txt' # src: '{{output_dir}}/foo.txt'
dest: '{{output_dir}}/foo.rsync_path' # dest: '{{output_dir}}/foo.rsync_path'
rsync_path: 'sudo rsync' # rsync_path: 'sudo rsync'
register: sync_result # register: sync_result
delegate_to: '{{ inventory_hostname }}' # delegate_to: '{{ inventory_hostname }}'
- assert: #- assert:
that: # that:
- '''changed'' in sync_result' # - '''changed'' in sync_result'
- sync_result.changed == true # - sync_result.changed == true
- '''cmd'' in sync_result' # - '''cmd'' in sync_result'
- '''rsync'' in sync_result.cmd' # - '''rsync'' in sync_result.cmd'
- '''rsync_path'' in sync_result.cmd' # - '''rsync_path'' in sync_result.cmd'
- '''msg'' in sync_result' # - '''msg'' in sync_result'
- sync_result.msg.startswith('>f+') # - sync_result.msg.startswith('>f+')
- 'sync_result.msg.endswith(''+ foo.txt # - 'sync_result.msg.endswith(''+ foo.txt
#
'')' # '')'
- name: Cleanup #- name: Cleanup
file: # file:
state: absent # state: absent
path: '{{output_dir}}/{{item}}' # path: '{{output_dir}}/{{item}}'
with_items: # with_items:
- foo.rsync_path # - foo.rsync_path
- name: add subdirectories for link-dest test #- name: add subdirectories for link-dest test
file: # file:
path: '{{output_dir}}/{{item}}/' # path: '{{output_dir}}/{{item}}/'
state: directory # state: directory
mode: '0755' # mode: '0755'
with_items: # with_items:
- directory_a # - directory_a
- directory_b # - directory_b
- name: copy foo.txt into the first directory #- name: copy foo.txt into the first directory
synchronize: # synchronize:
src: '{{output_dir}}/foo.txt' # src: '{{output_dir}}/foo.txt'
dest: '{{output_dir}}/{{item}}/foo.txt' # dest: '{{output_dir}}/{{item}}/foo.txt'
with_items: # with_items:
- directory_a # - directory_a
delegate_to: '{{ inventory_hostname }}' # 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'
dest: '{{output_dir}}/directory_b/foo.txt' # dest: '{{output_dir}}/directory_b/foo.txt'
link_dest: # link_dest:
- '{{output_dir}}/directory_a' # - '{{output_dir}}/directory_a'
register: sync_result # register: sync_result
delegate_to: '{{ inventory_hostname }}' # 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'
register: stat_result_a # register: stat_result_a
- name: get stat information for directory_b #- name: get stat information for directory_b
stat: # stat:
path: '{{ output_dir }}/directory_b/foo.txt' # path: '{{ output_dir }}/directory_b/foo.txt'
register: stat_result_b # register: stat_result_b
- assert: #- assert:
that: # that:
- '''changed'' in sync_result' # - '''changed'' in sync_result'
- sync_result.changed == true # - sync_result.changed == true
- stat_result_a.stat.inode == stat_result_b.stat.inode # - stat_result_a.stat.inode == stat_result_b.stat.inode
- name: synchronize files using link_dest that would be recursive #- name: synchronize files using link_dest that would be recursive
synchronize: # synchronize:
src: '{{output_dir}}/foo.txt' # src: '{{output_dir}}/foo.txt'
dest: '{{output_dir}}/foo.result' # dest: '{{output_dir}}/foo.result'
link_dest: # link_dest:
- '{{output_dir}}' # - '{{output_dir}}'
register: sync_result # register: sync_result
ignore_errors: true # ignore_errors: true
delegate_to: '{{ inventory_hostname }}' # delegate_to: '{{ inventory_hostname }}'
#
- assert: #- assert:
that: # that:
- sync_result is not changed # - sync_result is not changed
- sync_result is failed # - sync_result is failed
- name: Cleanup #- name: Cleanup
file: # file:
state: absent # state: absent
path: '{{output_dir}}/{{item}}' # path: '{{output_dir}}/{{item}}'
with_items: # with_items:
- directory_b/foo.txt # - directory_b/foo.txt
- directory_a/foo.txt # - directory_a/foo.txt
- directory_a # - directory_a
- directory_b # - directory_b
#
- name: setup - test for source with working dir with spaces in path #- name: setup - test for source with working dir with spaces in path
file: # file:
state: directory # state: directory
path: '{{output_dir}}/{{item}}' # path: '{{output_dir}}/{{item}}'
delegate_to: '{{ inventory_hostname }}' # delegate_to: '{{ inventory_hostname }}'
with_items: # with_items:
- 'directory a' # - 'directory a'
- 'directory b' # - 'directory b'
- name: setup - create test new files #- name: setup - create test new files
copy: # copy:
dest: '{{output_dir}}/directory a/{{item}}' # dest: '{{output_dir}}/directory a/{{item}}'
mode: '0644' # mode: '0644'
content: 'hello world' # content: 'hello world'
with_items: # with_items:
- foo.txt # - foo.txt
delegate_to: '{{ inventory_hostname }}' # delegate_to: '{{ inventory_hostname }}'
- name: copy source with spaces in dir path #- name: copy source with spaces in dir path
synchronize: # synchronize:
src: '{{output_dir}}/directory a/foo.txt' # src: '{{output_dir}}/directory a/foo.txt'
dest: '{{output_dir}}/directory b/' # dest: '{{output_dir}}/directory b/'
delegate_to: '{{ inventory_hostname }}' # delegate_to: '{{ inventory_hostname }}'
register: sync_result # register: sync_result
ignore_errors: true # ignore_errors: true
- name: get stat information for directory_b #- name: get stat information for directory_b
stat: # stat:
path: '{{ output_dir }}/directory b/foo.txt' # path: '{{ output_dir }}/directory b/foo.txt'
register: stat_result_b # register: stat_result_b
- assert: #- assert:
that: # that:
- '''changed'' in sync_result' # - '''changed'' in sync_result'
- sync_result.changed == true # - sync_result.changed == true
- stat_result_b.stat.exists == True # - stat_result_b.stat.exists == True
- stat_result_b.stat.checksum == '2aae6c35c94fcfb415dbe95f408b9ce91ee846ed' # - stat_result_b.stat.checksum == '2aae6c35c94fcfb415dbe95f408b9ce91ee846ed'
- name: Cleanup #- name: Cleanup
file: # file:
state: absent # state: absent
path: '{{output_dir}}/{{item}}' # path: '{{output_dir}}/{{item}}'
with_items: # with_items:
- 'directory b/foo.txt' # - 'directory b/foo.txt'
- 'directory a/foo.txt' # - 'directory a/foo.txt'
- 'directory a' # - 'directory a'
- 'directory b' # - 'directory b'
#