diff --git a/roles/tripleo-container-image-delete/README.md b/roles/tripleo-container-image-delete/README.md new file mode 100644 index 0000000..cd88108 --- /dev/null +++ b/roles/tripleo-container-image-delete/README.md @@ -0,0 +1,49 @@ +tripleo-container-image-delete +============================== + +A role to perform the container image delete against a registry. + +Requirements +------------ + +None. + +Role Variables +-------------- + +* `tripleo_container_image_delete_become`: (Boolean) Run as root. This needs to be true if deleting from the local registry. Default: true +* `tripleo_container_image_delete_debug`: (Boolean) Flag to print out the delete command. Default: False +* `tripleo_container_image_delete_image`: (String) REQUIRED. Full URL of image to be deleted in the form :/path/to/image. +* `tripleo_container_image_delete_password`: (String) Password for the registry +* `tripleo_container_image_delete_registry_url`: (String) Registry to run the delete against. Should be in the form :. +* `tripleo_container_image_delete_username`: (String) Username for the registry +* `tripleo_container_image_delete_yes`: (Boolean) Do not prompt for configuration. Default: true + +Output Variables +---------------- + +* `tripleo_container_image_delete_result`: Ansible execution results + +Dependencies +------------ + +None. + +Example Playbook +---------------- + +Example container delete execution playbook + + - hosts: undercloud + gather_facts: true + tasks: + - name: Delete containers + import_role: + name: tripleo-container-image-delete + var: + tripleo_container_image_delete_image: undercloud.ctlplane.localdomain:8787/library/centos:7 + +License +------- + +Apache-2.0 diff --git a/roles/tripleo-container-image-delete/defaults/main.yml b/roles/tripleo-container-image-delete/defaults/main.yml new file mode 100644 index 0000000..5ffa1c6 --- /dev/null +++ b/roles/tripleo-container-image-delete/defaults/main.yml @@ -0,0 +1,8 @@ +--- +# defaults file for tripleo-container-image-delete +tripleo_container_image_delete_become: true +tripleo_container_image_delete_debug: false +tripleo_container_image_delete_password: +tripleo_container_image_delete_registry_url: +tripleo_container_image_delete_username: +tripleo_container_image_delete_yes: true diff --git a/roles/tripleo-container-image-delete/meta/main.yml b/roles/tripleo-container-image-delete/meta/main.yml new file mode 100644 index 0000000..3d7db89 --- /dev/null +++ b/roles/tripleo-container-image-delete/meta/main.yml @@ -0,0 +1,42 @@ +--- +# Copyright 2019 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: TripleO Operator Role -- tripleo-container-image-delete + company: Red Hat + license: Apache-2.0 + min_ansible_version: 2.8 + # + # 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: CentOS + versions: + - 7 + - 8 + + galaxy_tags: + - tripleo + + +# 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/tripleo-container-image-delete/tasks/main.yml b/roles/tripleo-container-image-delete/tasks/main.yml new file mode 100644 index 0000000..9439178 --- /dev/null +++ b/roles/tripleo-container-image-delete/tasks/main.yml @@ -0,0 +1,22 @@ +--- +# tasks file for tripleo-container-image-delete +- name: Setup container image delete facts + set_fact: + _delete_cmd: >- + openstack tripleo container image delete + {{ tripleo_container_image_delete_username | ternary('--username ' ~ tripleo_container_image_delete_username, '') }} + {{ tripleo_container_image_delete_password | ternary('--password ' ~ tripleo_container_image_delete_password, '') }} + {{ tripleo_container_image_delete_registry_url | ternary('--registry-url ' ~ tripleo_container_image_delete_registry_url, '') }} + {{ tripleo_container_image_delete_yes | ternary('--yes', '') }} + {{ tripleo_container_image_delete_image }} + +- name: Show the container image delete command + debug: + var: _delete_cmd + when: tripleo_container_image_delete_debug|bool + +- name: Container image delete + shell: "{{ _delete_cmd }}" # noqa 305 + become: "{{ tripleo_container_image_delete_become }}" + register: tripleo_container_image_delete_result + changed_when: true diff --git a/roles/tripleo-container-image-delete/tests/inventory b/roles/tripleo-container-image-delete/tests/inventory new file mode 100644 index 0000000..878877b --- /dev/null +++ b/roles/tripleo-container-image-delete/tests/inventory @@ -0,0 +1,2 @@ +localhost + diff --git a/roles/tripleo-container-image-delete/tests/test.yml b/roles/tripleo-container-image-delete/tests/test.yml new file mode 100644 index 0000000..4d79280 --- /dev/null +++ b/roles/tripleo-container-image-delete/tests/test.yml @@ -0,0 +1,5 @@ +--- +- hosts: localhost + remote_user: root + roles: + - tripleo-container-image-delete