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/iso_customize/tasks/main.yml
Yuhua Zou d76392ed2a
New module: iso_customize (#5190)
* add ansible module iso_customize.py

* rerun CI testing due to "Failed to send request to https://api.github.com/repos/ansible/ansible/issues/23642: HTTP Error 403: rate limit exceeded"

* Rerun CI testing due to "Failed to send request to https://api.github....."

* rerun CI testing due to failure "Unknown error when attempting to call Galaxy at 'https://galaxy.ansible.com/api/v2/collections/netbox/netbox/versions/3.1.0/': The read operation timed out"

* change document part as  felixfontein's careful review

* modify test file as russoz's comments

* modify comment part of module

* add comment for the example

* add more tests: check the files are deleted / added in customized ISO

* fix it: failed to run ansible.posix.mount in ubuntu

* fix it:  ansible.posix.mount is not working well in some OS.

* change DOCUMENTATION part

* change files according to the comment from code review

* fix issue: E231: missing whitespace after ':'

* modify the description of Document

* modify code for code review

* delete extra blank line in yml file

* Try to fix CI testing issue: "Caught \"'foo' is undefined. 'foo' is undefined\" while evaluating 'b' with item == {'a': 1}"

* delete extra blank line in the end of file

* change code as the comment from code review

* change code from code review

* change type: str to type: path

* change type:str to type:path

* delete unused variable

* fix CI testing error: return-syntax-error: RETURN.dest_iso.type: not a valid value for dictionary value @ data['dest_iso']['type']. Got 'path'

* add testcase: test add files / delete files separately

* add more testcases: test if we can catch exception from error input of users

* change code from code review

* fix issue: E231: missing whitespace after ','

* change code from code review

* add notes to document

* modify notes in document part

* /rebuild_failed

/rebuild_failed

* Try to support running testcases not only in MAC but also in other OS.

* modify document

* change mount to ansible.posix.mount

* skip the test platform which report "Error mounting"

* fix mount failed: Operation not permitted

* change code from code review

* change document from code review

* fix CI testing issue in some platforms

* Update plugins/modules/files/iso_customize.py

* change code from code review

1) change testcase
2) try to fix "mount: not permitted"

* modify aliases file

* change document and rerun CI testing

* add skip/docker as suggested

* add debug task

* fix issue in redhat 7.9: occurred while running the lookup plugin 'file'. ..could not locate file in lookup..

* change code from the code review

* modify function "iso_rr_check_file_exist" to "iso_check_file_exists" to make it works in all types of ISO

1. modify function "iso_rr_check_file_exist" to "iso_check_file_exists" to make it works in all types of ISO

2. run main.yml  with newer python 3.10.6
ansible [core 2.13.4]
  config file = None
  configured module search path = ['/Users/zouy/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/Cellar/ansible/6.4.0/libexec/lib/python3.10/site-packages/ansible
  ansible collection location = /Users/zouy/.ansible/collections:/usr/share/ansible/collections
  executable location = /usr/local/bin/ansible
  python version = 3.10.6 (main, Aug 30 2022, 05:12:36) [Clang 13.1.6 (clang-1316.0.21.2.5)]
  jinja version = 3.1.2
  libyaml = True

* delete blank

* simply the code as suggested.

* Two small docs updates.

Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com>
Co-authored-by: Felix Fontein <felix@fontein.de>
2022-10-10 22:41:04 +02:00

94 lines
2.7 KiB
YAML

####################################################################
# WARNING: These are designed specifically for Ansible tests #
# and should not be used as examples of how to write Ansible roles #
####################################################################
# Copyright (c) 2022, Ansible Project
# Copyright (c) 2022, VMware, Inc. All Rights Reserved.
# 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: Skip some platforms which does not support ansible.posix.mount
meta: end_play
when: ansible_distribution in ['Alpine']
- set_fact:
test_dir: '{{ remote_tmp_dir }}/test_iso_customize'
- include_tasks: prepare.yml
- name: Create iso file with a specified file and directory
community.general.iso_create:
src_files:
- "{{ test_dir }}/test01.cfg"
- "{{ test_dir }}/test02.cfg"
dest_iso: "{{ test_dir }}/test.iso"
interchange_level: 3
- include_tasks: iso_customize.yml
vars:
dest_iso_name: "iso_customize.iso"
- name: Create an ISO file with Rock Ridge extension
community.general.iso_create:
src_files:
- "{{ test_dir }}/test01.cfg"
- "{{ test_dir }}/test02.cfg"
dest_iso: "{{ test_dir }}/test.iso"
rock_ridge: "1.09"
- include_tasks: iso_customize.yml
vars:
dest_iso_name: "iso_customize_rr.iso"
- name: Create an ISO file with Joliet support
community.general.iso_create:
src_files:
- "{{ test_dir }}/test01.cfg"
- "{{ test_dir }}/test02.cfg"
dest_iso: "{{ test_dir }}/test.iso"
interchange_level: 3
joliet: 3
vol_ident: AUTOINSTALL
- include_tasks: iso_customize.yml
vars:
dest_iso_name: "iso_customize_joliet.iso"
- name: Create iso file with UDF enabled
community.general.iso_create:
src_files:
- "{{ test_dir }}/test01.cfg"
- "{{ test_dir }}/test02.cfg"
dest_iso: "{{ test_dir }}/test.iso"
udf: True
- include_tasks: iso_customize.yml
vars:
dest_iso_name: "iso_customize_udf.iso"
# Create initial iso for customzing with only option add_files/delete_files
- name: Create iso file with a specified file and directory
community.general.iso_create:
src_files:
- "{{ test_dir }}/test01.cfg"
dest_iso: "{{ test_dir }}/test1.iso"
interchange_level: 3
- include_tasks: iso_customize_add_files.yml
vars:
dest_iso_name: "iso_customize_add.iso"
- include_tasks: iso_customize_delete_files.yml
vars:
dest_iso_name: "iso_customize_delete.iso"
# Test: misc exception
- include_tasks: iso_customize_exception.yml
vars:
dest_iso_name: "iso_customize_exception.iso"
- name: Delete testing sub-directory
ansible.builtin.file:
path: '{{ test_dir }}'
state: absent