Browse Source

create snapshot-controller only if needed

pull/9027/head
Robin Wallace 2 years ago
committed by Kubernetes Prow Robot
parent
commit
79f6cd774a
2 changed files with 20 additions and 3 deletions
  1. 7
      library/kube.py
  2. 16
      roles/kubernetes-apps/snapshots/snapshot-controller/tasks/main.yml

7
library/kube.py

@ -314,7 +314,7 @@ def main():
wait=dict(default=False, type='bool'),
all=dict(default=False, type='bool'),
log_level=dict(default=0, type='int'),
state=dict(default='present', choices=['present', 'absent', 'latest', 'reloaded', 'stopped']),
state=dict(default='present', choices=['present', 'absent', 'latest', 'reloaded', 'stopped', 'exists']),
recursive=dict(default=False, type='bool'),
),
mutually_exclusive=[['filename', 'list']]
@ -339,6 +339,11 @@ def main():
elif state == 'latest':
result = manager.replace()
elif state == 'exists':
result = manager.exists()
module.exit_json(changed=changed,
msg='%s' % result)
else:
module.fail_json(msg='Unrecognized state %s.' % state)

16
roles/kubernetes-apps/snapshots/snapshot-controller/tasks/main.yml

@ -1,15 +1,27 @@
---
- name: check if snapshot namespace exists
register: snapshot_namespace_exists
kube:
kubectl: "{{ bin_dir }}/kubectl"
name: "{{ snapshot_controller_namespace }}"
resource: "namespace"
state: "exists"
when: inventory_hostname == groups['kube_control_plane'][0]
tags: snapshot-controller
- name: Snapshot Controller | Generate Manifests
template:
src: "{{ item.file }}.j2"
dest: "{{ kube_config_dir }}/{{ item.file }}"
mode: 0644
with_items:
- {name: snapshot-ns, file: snapshot-ns.yml}
- {name: snapshot-ns, file: snapshot-ns.yml, apply: not snapshot_namespace_exists}
- {name: rbac-snapshot-controller, file: rbac-snapshot-controller.yml}
- {name: snapshot-controller, file: snapshot-controller.yml}
register: snapshot_controller_manifests
when: inventory_hostname == groups['kube_control_plane'][0]
when:
- inventory_hostname == groups['kube_control_plane'][0]
- item.apply | default(True) | bool
tags: snapshot-controller
- name: Snapshot Controller | Apply Manifests

Loading…
Cancel
Save