diff --git a/roles/edpm_bootc/files/.gitkeep b/roles/edpm_bootc/files/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/roles/edpm_bootc/meta/argument_specs.yml b/roles/edpm_bootc/meta/argument_specs.yml new file mode 100644 index 000000000..03f1cdc9c --- /dev/null +++ b/roles/edpm_bootc/meta/argument_specs.yml @@ -0,0 +1,7 @@ +--- +argument_specs: + # ./roles/edpm_bootc/tasks/main.yml entry point + main: + short_description: The main entry point for the edpm_bootc role. + description: Multiple lines description + options: {} diff --git a/roles/edpm_bootc/meta/main.yml b/roles/edpm_bootc/meta/main.yml new file mode 100644 index 000000000..3c288cc28 --- /dev/null +++ b/roles/edpm_bootc/meta/main.yml @@ -0,0 +1,43 @@ +--- +# Copyright 2024 Red Hat, Inc. +# All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + + +galaxy_info: + author: OpenStack + description: EDPM OpenStack Role -- edpm_bootc + company: Red Hat + license: Apache-2.0 + min_ansible_version: '2.14' + namespace: osp + # + # Provide a list of supported platforms, and for each platform a list of versions. + # If you don't wish to enumerate all versions for a particular platform, use 'all'. + # To view available platforms and versions (or releases), visit: + # https://galaxy.ansible.com/api/v1/platforms/ + # + platforms: + - name: 'EL' + versions: + - '8' + - '9' + + galaxy_tags: + - edpm + + +# List your role dependencies here, one per line. Be sure to remove the '[]' above, +# if you add dependencies to this list. +dependencies: [] diff --git a/roles/edpm_bootc/molecule/default/collections.yml b/roles/edpm_bootc/molecule/default/collections.yml new file mode 100644 index 000000000..424ad60b8 --- /dev/null +++ b/roles/edpm_bootc/molecule/default/collections.yml @@ -0,0 +1,3 @@ +--- +collections: +- name: community.general diff --git a/roles/edpm_bootc/molecule/default/converge.yml b/roles/edpm_bootc/molecule/default/converge.yml new file mode 100644 index 000000000..7e69c510c --- /dev/null +++ b/roles/edpm_bootc/molecule/default/converge.yml @@ -0,0 +1,21 @@ +--- +# Copyright 2024 Red Hat, Inc. +# All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + + +- name: Converge + hosts: all + roles: + - role: "edpm_bootc" diff --git a/roles/edpm_bootc/molecule/default/molecule.yml b/roles/edpm_bootc/molecule/default/molecule.yml new file mode 100644 index 000000000..9b9dc5722 --- /dev/null +++ b/roles/edpm_bootc/molecule/default/molecule.yml @@ -0,0 +1,30 @@ +--- +dependency: + name: galaxy + options: + role-file: collections.yml +driver: + name: podman +platforms: +- command: /sbin/init + dockerfile: ../../../../molecule/common/Containerfile.j2 + image: ${EDPM_ANSIBLE_MOLECULE_IMAGE:-"ubi9/ubi-init"} + name: instance + privileged: true + registry: + url: ${EDPM_ANSIBLE_MOLECULE_REGISTRY:-"registry.access.redhat.com"} + ulimits: + - host +provisioner: + log: true + name: ansible +scenario: + test_sequence: + - dependency + - destroy + - create + - prepare + - converge + - destroy +verifier: + name: ansible diff --git a/roles/edpm_bootc/molecule/default/prepare.yml b/roles/edpm_bootc/molecule/default/prepare.yml new file mode 100644 index 000000000..0605adf7e --- /dev/null +++ b/roles/edpm_bootc/molecule/default/prepare.yml @@ -0,0 +1,22 @@ +--- +# Copyright 2024 Red Hat, Inc. +# All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + + +- name: Prepare + hosts: all + roles: + - role: ../../../../molecule/common/test_deps + - role: env_data diff --git a/roles/edpm_bootc/tasks/main.yml b/roles/edpm_bootc/tasks/main.yml new file mode 100644 index 000000000..7ba9cf3bc --- /dev/null +++ b/roles/edpm_bootc/tasks/main.yml @@ -0,0 +1,24 @@ +--- +# Copyright 2024 Red Hat, Inc. +# All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +- name: Check for /bin/bootc + ansible.builtin.stat: + path: /bin/bootc + register: bootc_stat + +- name: Set fact for bootc + ansible.builtin.set_fact: + bootc: "{{ bootc_stat.stat.exists }}"