Skip to content

Instantly share code, notes, and snippets.

@sabre1041
Created September 22, 2016 00:56
Show Gist options
  • Select an option

  • Save sabre1041/c360629a6bf0857a3193f812d874d08e to your computer and use it in GitHub Desktop.

Select an option

Save sabre1041/c360629a6bf0857a3193f812d874d08e to your computer and use it in GitHub Desktop.
Ansible OpenShift Management Script - Pruning
---
- hosts: openshift
force_handlers: True
vars:
openshift_master_url: localhost
openshift_login_insecure_flag: --insecure-skip-tls-verify=true
openshift_login_insecure: False
openshift_prune_builds_complete: 5
openshift_prune_builds_failed: 1
openshift_prune_builds_keep_younger: 1h0m0s
openshift_prune_deployments_complete: 5
openshift_prune_deployments_failed: 1
openshift_prune_deployments_keep_younger: 1h0m0s
openshift_prune_images_tag_revisions: 3
openshift_prune_images_keep_younger: 1h0m0s
tasks:
- name: Validate OpenShift Token Provided
fail: msg="OpenShift Token Not Provided"
failed_when: openshift_token is not defined
- name: Set Facts
set_fact: kubeconfig="/tmp/openshift-management-{{ ansible_date_time.epoch }}/config"
changed_when: True
notify: cleanup
- name: Create Directory
file: path="{{ kubeconfig | dirname }}" state=directory
- name: Login to OpenShift
shell: oc login --token={{ openshift_token }} {{ openshift_login_insecure_flag }} {{ openshift_master_url }}
environment:
KUBECONFIG: "{{ kubeconfig }}"
- name: Prune Builds
shell: oc adm prune builds --keep-complete={{ openshift_prune_builds_complete }} --keep-failed={{ openshift_prune_builds_failed }} --keep-younger-than={{ openshift_prune_builds_keep_younger }} --orphans --confirm
environment:
KUBECONFIG: "{{ kubeconfig }}"
when: "{{ openshift_prune_builds | default(False) }}"
- name: Prune Deployments
shell: oc adm prune deployments --keep-complete={{ openshift_prune_deployments_complete }} --keep-failed={{ openshift_prune_deployments_failed }} --keep-younger-than={{ openshift_prune_deployments_keep_younger }} --orphans --confirm
environment:
KUBECONFIG: "{{ kubeconfig }}"
when: "{{ openshift_prune_deployments | default(False) }}"
- name: Prune Images
shell: oc adm prune images --keep-tag-revisions={{ openshift_prune_images_tag_revisions }} --keep-younger-than={{ openshift_prune_images_keep_younger }} --confirm
environment:
KUBECONFIG: "{{ kubeconfig }}"
when: "{{ openshift_prune_images | default(False) }}"
handlers:
- name: cleanup
file: path="{{ kubeconfig | dirname }}" state=absent
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment