Skip to content

Commit

Permalink
Added basic validation of alt_images yml
Browse files Browse the repository at this point in the history
Check if required properties are defined
Check if image names are unique
  • Loading branch information
asheplyakov committed Aug 4, 2021
1 parent ddfe282 commit 6e0c599
Show file tree
Hide file tree
Showing 3 changed files with 69 additions and 0 deletions.
5 changes: 5 additions & 0 deletions roles/altinstall/tasks/main.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
---

- name: validate images description
import_tasks: validate_input_yaml.yml
delegate_to: localhost
run_once: true

- name: add extra APT repos on ALT Linux
include_tasks: extra_repos_altlinux.yml
when:
Expand Down
22 changes: 22 additions & 0 deletions roles/altinstall/tasks/validate_input_yaml.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---

- name: check if names are defined
fail:
msg: "name should be defined for each image"
when: alt_images|selectattr("name", "undefined")|count != 0

- name: check if names are non-empty
fail:
msg: "names should non-empty"
when: alt_images|selectattr("name", "eq", "")|count != 0

- name: check if names are unique
fail:
msg: "image names must be unique"
when: alt_images|map(attribute='name')|unique|count != alt_images|count

- name: check required properties
include_tasks: validate_input_yaml_entry.yml
loop: "{{ alt_images }}"
loop_control:
label: "{{ item.name }}"
42 changes: 42 additions & 0 deletions roles/altinstall/tasks/validate_input_yaml_entry.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@

- name: fail if url is missing
fail:
msg: "{{ item.name }}: url is undefined"
when: item.url is undefined

- name: fail if checksum is missing
fail:
msg: "{{ item.name }}: checksum is undefined"
when:
- not(item.skip_iso_deploy|default('false')|bool)
- item.checksum is undefined or item.checksum.sha256 is undefined

- name: check if alt_arch is defined
fail:
msg: "{{ item.name }}: alt_arch is undefined"
when: item.alt_arch is undefined

- name: check if grub_arch is defined
fail:
msg: "{{ item.name }}: grub_arch is undefined"
when: item.grub_arch is undefined

- name: check if kernel is defined
fail:
msg: "{{ item.name }}: kernel is undefined"
when: item.kernel is undefined

- name: check if initrd is defined
fail:
msg: "{{ item.name }}: initrd is undefined"
when: item.initrd is undefined

- name: check if altinst_size is defined
fail:
msg: "{{ item.name }}: initrd is undefined"
when: item.altinst_size is undefined

- name: check if live_size is defined
fail:
msg: "{{ item.name }}: initrd is undefined"
when: item.live_size is undefined

0 comments on commit 6e0c599

Please sign in to comment.