diff options
author | Clayton Coleman <ccoleman@redhat.com> | 2017-12-21 03:14:04 -0500 |
---|---|---|
committer | Clayton Coleman <ccoleman@redhat.com> | 2018-01-23 10:52:07 -0500 |
commit | 949f4eacd2aa47833e1283de284aaed1c7ce91fe (patch) | |
tree | da6e3f36b196723433969372d5e1f37ef9cb4f97 /roles/openshift_gcp/tasks/publish_image.yml | |
parent | 91c78123abee34893f5b91ee78749bb3cabb5056 (diff) | |
download | openshift-949f4eacd2aa47833e1283de284aaed1c7ce91fe.tar.gz openshift-949f4eacd2aa47833e1283de284aaed1c7ce91fe.tar.bz2 openshift-949f4eacd2aa47833e1283de284aaed1c7ce91fe.tar.xz openshift-949f4eacd2aa47833e1283de284aaed1c7ce91fe.zip |
Move origin-gce roles and playbooks into openshift-ansible
This moves all core functionality into the openshift-ansible repo, adds
the necessary equivalent entrypoint to the openshift-ansible installer
image, and ensures the dynamic inventory mechanisms in openshift-ansible
continue to work.
Notable changes from origin-gce:
* playbook extensions changed to .yml
* dynamic inventory subdirectory created to prevent accidental use
* use the custom entrypoint entrypoint-gcp for this image
* move tasks into openshift_gcp role
Diffstat (limited to 'roles/openshift_gcp/tasks/publish_image.yml')
-rw-r--r-- | roles/openshift_gcp/tasks/publish_image.yml | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/roles/openshift_gcp/tasks/publish_image.yml b/roles/openshift_gcp/tasks/publish_image.yml new file mode 100644 index 000000000..db8a7ca69 --- /dev/null +++ b/roles/openshift_gcp/tasks/publish_image.yml @@ -0,0 +1,32 @@ +--- +- name: Require openshift_gcp_image + fail: + msg: "A source image name or family is required for image publishing. Please ensure `openshift_gcp_image` is defined." + when: openshift_gcp_image is undefined + +- name: Require openshift_gcp_target_image + fail: + msg: "A target image name or family is required for image publishing. Please ensure `openshift_gcp_target_image` is defined." + when: openshift_gcp_target_image is undefined + +- block: + - name: Retrieve images in the {{ openshift_gcp_target_image }} family + command: > + gcloud --project "{{ openshift_gcp_project }}" compute images list + "--filter=family={{ openshift_gcp_target_image }}" + --format=json --sort-by ~creationTimestamp + register: images + - name: Prune oldest images + command: > + gcloud --project "{{ openshift_gcp_project }}" compute images delete "{{ item['name'] }}" + with_items: "{{ (images.stdout | default('[]') | from_json )[( openshift_gcp_keep_images | int ):] }}" + when: openshift_gcp_keep_images is defined + +- name: Copy the latest image in the family {{ openshift_gcp_image }} to {{ openshift_gcp_target_image }} + command: > + gcloud --project "{{ openshift_gcp_target_project | default(openshift_gcp_project) }}" + beta compute images create + "{{ openshift_gcp_target_image_name | default(openshift_gcp_target_image + '-' + lookup('pipe','date +%Y%m%d-%H%M%S')) }}" + --family "{{ openshift_gcp_target_image }}" + --source-image-family "{{ openshift_gcp_image }}" + --source-image-project "{{ openshift_gcp_project }}" |