create snapshot-controller only if needed
This commit is contained in:
parent
c3c9a42502
commit
79f6cd774a
2 changed files with 20 additions and 3 deletions
|
@ -314,7 +314,7 @@ def main():
|
||||||
wait=dict(default=False, type='bool'),
|
wait=dict(default=False, type='bool'),
|
||||||
all=dict(default=False, type='bool'),
|
all=dict(default=False, type='bool'),
|
||||||
log_level=dict(default=0, type='int'),
|
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'),
|
recursive=dict(default=False, type='bool'),
|
||||||
),
|
),
|
||||||
mutually_exclusive=[['filename', 'list']]
|
mutually_exclusive=[['filename', 'list']]
|
||||||
|
@ -339,6 +339,11 @@ def main():
|
||||||
elif state == 'latest':
|
elif state == 'latest':
|
||||||
result = manager.replace()
|
result = manager.replace()
|
||||||
|
|
||||||
|
elif state == 'exists':
|
||||||
|
result = manager.exists()
|
||||||
|
module.exit_json(changed=changed,
|
||||||
|
msg='%s' % result)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
module.fail_json(msg='Unrecognized state %s.' % state)
|
module.fail_json(msg='Unrecognized state %s.' % state)
|
||||||
|
|
||||||
|
|
|
@ -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
|
- name: Snapshot Controller | Generate Manifests
|
||||||
template:
|
template:
|
||||||
src: "{{ item.file }}.j2"
|
src: "{{ item.file }}.j2"
|
||||||
dest: "{{ kube_config_dir }}/{{ item.file }}"
|
dest: "{{ kube_config_dir }}/{{ item.file }}"
|
||||||
mode: 0644
|
mode: 0644
|
||||||
with_items:
|
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: rbac-snapshot-controller, file: rbac-snapshot-controller.yml}
|
||||||
- {name: snapshot-controller, file: snapshot-controller.yml}
|
- {name: snapshot-controller, file: snapshot-controller.yml}
|
||||||
register: snapshot_controller_manifests
|
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
|
tags: snapshot-controller
|
||||||
|
|
||||||
- name: Snapshot Controller | Apply Manifests
|
- name: Snapshot Controller | Apply Manifests
|
||||||
|
|
Loading…
Reference in a new issue