mirror of
https://github.com/ansible-collections/kubernetes.core.git
synced 2026-04-22 16:51:30 +00:00
When adding a Secret and using stringData, check_mode will always show changes. An existing resource fetched from Kubernetes will have the stringData already base64 encoded and merged into the data attribute. This change performs the base64 encoding and merging with the provided definition to more accurately represent the current state of the cluster. This change only affects check_mode. When making any changes to the cluster the stringData is passed along as provided in the definition. Closes #282.
845 lines
22 KiB
YAML
845 lines
22 KiB
YAML
---
|
|
- block:
|
|
- set_fact:
|
|
apply_namespace: apply
|
|
|
|
- name: Ensure namespace exists
|
|
k8s:
|
|
definition:
|
|
apiVersion: v1
|
|
kind: Namespace
|
|
metadata:
|
|
name: "{{ apply_namespace }}"
|
|
|
|
- name: Add a configmap
|
|
k8s:
|
|
name: "apply-configmap"
|
|
namespace: "{{ apply_namespace }}"
|
|
definition:
|
|
kind: ConfigMap
|
|
apiVersion: v1
|
|
data:
|
|
one: "1"
|
|
two: "2"
|
|
three: "3"
|
|
apply: yes
|
|
register: k8s_configmap
|
|
|
|
- name: Check configmap was created
|
|
assert:
|
|
that:
|
|
- k8s_configmap is changed
|
|
- k8s_configmap.result.metadata.annotations|default(False)
|
|
|
|
- name: Add same configmap again
|
|
k8s:
|
|
definition:
|
|
kind: ConfigMap
|
|
apiVersion: v1
|
|
metadata:
|
|
name: "apply-configmap"
|
|
namespace: "{{ apply_namespace }}"
|
|
data:
|
|
one: "1"
|
|
two: "2"
|
|
three: "3"
|
|
apply: yes
|
|
register: k8s_configmap_2
|
|
|
|
- name: Check nothing changed
|
|
assert:
|
|
that:
|
|
- k8s_configmap_2 is not changed
|
|
|
|
- name: Add same configmap again with check mode on
|
|
k8s:
|
|
definition:
|
|
kind: ConfigMap
|
|
apiVersion: v1
|
|
metadata:
|
|
name: "apply-configmap"
|
|
namespace: "{{ apply_namespace }}"
|
|
data:
|
|
one: "1"
|
|
two: "2"
|
|
three: "3"
|
|
apply: yes
|
|
check_mode: yes
|
|
register: k8s_configmap_check
|
|
|
|
- name: Check nothing changed
|
|
assert:
|
|
that:
|
|
- k8s_configmap_check is not changed
|
|
|
|
- name: Add same configmap again but using name and namespace args
|
|
k8s:
|
|
name: "apply-configmap"
|
|
namespace: "{{ apply_namespace }}"
|
|
definition:
|
|
kind: ConfigMap
|
|
apiVersion: v1
|
|
data:
|
|
one: "1"
|
|
two: "2"
|
|
three: "3"
|
|
apply: yes
|
|
register: k8s_configmap_2a
|
|
|
|
- name: Check nothing changed
|
|
assert:
|
|
that:
|
|
- k8s_configmap_2a is not changed
|
|
|
|
- name: Update configmap
|
|
k8s:
|
|
definition:
|
|
kind: ConfigMap
|
|
apiVersion: v1
|
|
metadata:
|
|
name: "apply-configmap"
|
|
namespace: "{{ apply_namespace }}"
|
|
data:
|
|
one: "1"
|
|
three: "3"
|
|
four: "4"
|
|
apply: yes
|
|
register: k8s_configmap_3
|
|
|
|
- name: Ensure that configmap has been correctly updated
|
|
assert:
|
|
that:
|
|
- k8s_configmap_3 is changed
|
|
- "'four' in k8s_configmap_3.result.data"
|
|
- "'two' not in k8s_configmap_3.result.data"
|
|
|
|
- name: Add a service
|
|
k8s:
|
|
definition:
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: apply-svc
|
|
namespace: "{{ apply_namespace }}"
|
|
spec:
|
|
selector:
|
|
app: whatever
|
|
ports:
|
|
- name: http
|
|
port: 8080
|
|
targetPort: 8080
|
|
apply: yes
|
|
register: k8s_service
|
|
|
|
- name: Add exactly same service
|
|
k8s:
|
|
definition:
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: apply-svc
|
|
namespace: "{{ apply_namespace }}"
|
|
spec:
|
|
selector:
|
|
app: whatever
|
|
ports:
|
|
- name: http
|
|
port: 8080
|
|
targetPort: 8080
|
|
apply: yes
|
|
register: k8s_service_2
|
|
|
|
- name: Check nothing changed
|
|
assert:
|
|
that:
|
|
- k8s_service_2 is not changed
|
|
|
|
- name: Add exactly same service in check mode
|
|
k8s:
|
|
definition:
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: apply-svc
|
|
namespace: "{{ apply_namespace }}"
|
|
spec:
|
|
selector:
|
|
app: whatever
|
|
ports:
|
|
- name: http
|
|
port: 8080
|
|
targetPort: 8080
|
|
apply: yes
|
|
register: k8s_service_3
|
|
check_mode: yes
|
|
|
|
- name: Check nothing changed
|
|
assert:
|
|
that:
|
|
- k8s_service_3 is not changed
|
|
|
|
- name: Change service ports
|
|
k8s:
|
|
definition:
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: apply-svc
|
|
namespace: "{{ apply_namespace }}"
|
|
spec:
|
|
selector:
|
|
app: whatever
|
|
ports:
|
|
- name: http
|
|
port: 8081
|
|
targetPort: 8081
|
|
apply: yes
|
|
register: k8s_service_4
|
|
|
|
- name: Check ports are correct
|
|
assert:
|
|
that:
|
|
- k8s_service_4 is changed
|
|
- k8s_service_4.result.spec.ports | length == 1
|
|
- k8s_service_4.result.spec.ports[0].port == 8081
|
|
|
|
- name: Insert new service port
|
|
k8s:
|
|
definition:
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: apply-svc
|
|
namespace: "{{ apply_namespace }}"
|
|
spec:
|
|
selector:
|
|
app: whatever
|
|
ports:
|
|
- name: mesh
|
|
port: 8080
|
|
targetPort: 8080
|
|
- name: http
|
|
port: 8081
|
|
targetPort: 8081
|
|
apply: yes
|
|
register: k8s_service_4
|
|
|
|
- name: Check ports are correct
|
|
assert:
|
|
that:
|
|
- k8s_service_4 is changed
|
|
- k8s_service_4.result.spec.ports | length == 2
|
|
- k8s_service_4.result.spec.ports[0].port == 8080
|
|
- k8s_service_4.result.spec.ports[1].port == 8081
|
|
|
|
- name: Remove new service port (check mode)
|
|
k8s:
|
|
definition:
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: apply-svc
|
|
namespace: "{{ apply_namespace }}"
|
|
spec:
|
|
selector:
|
|
app: whatever
|
|
ports:
|
|
- name: http
|
|
port: 8081
|
|
targetPort: 8081
|
|
apply: yes
|
|
check_mode: yes
|
|
register: k8s_service_check
|
|
|
|
- name: Check ports are correct
|
|
assert:
|
|
that:
|
|
- k8s_service_check is changed
|
|
- k8s_service_check.result.spec.ports | length == 1
|
|
- k8s_service_check.result.spec.ports[0].port == 8081
|
|
|
|
- name: Remove new service port
|
|
k8s:
|
|
definition:
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: apply-svc
|
|
namespace: "{{ apply_namespace }}"
|
|
spec:
|
|
selector:
|
|
app: whatever
|
|
ports:
|
|
- name: http
|
|
port: 8081
|
|
targetPort: 8081
|
|
apply: yes
|
|
register: k8s_service_5
|
|
|
|
- name: Check ports are correct
|
|
assert:
|
|
that:
|
|
- k8s_service_5 is changed
|
|
- k8s_service_5.result.spec.ports | length == 1
|
|
- k8s_service_5.result.spec.ports[0].port == 8081
|
|
|
|
- name: Add a serviceaccount
|
|
k8s:
|
|
definition:
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: apply-deploy
|
|
namespace: "{{ apply_namespace }}"
|
|
|
|
- name: Add a deployment
|
|
k8s:
|
|
definition:
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: apply-deploy
|
|
namespace: "{{ apply_namespace }}"
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: "{{ k8s_pod_name }}"
|
|
template: "{{ k8s_pod_template }}"
|
|
wait: yes
|
|
apply: yes
|
|
vars:
|
|
k8s_pod_name: apply-deploy
|
|
k8s_pod_image: gcr.io/kuar-demo/kuard-amd64:v0.10.0-green
|
|
k8s_pod_service_account: apply-deploy
|
|
k8s_pod_ports:
|
|
- containerPort: 8080
|
|
name: http
|
|
protocol: TCP
|
|
k8s_pod_resources:
|
|
requests:
|
|
cpu: 100m
|
|
memory: 100Mi
|
|
limits:
|
|
cpu: 100m
|
|
memory: 100Mi
|
|
|
|
- name: Update the earlier deployment in check mode
|
|
k8s:
|
|
definition:
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: apply-deploy
|
|
namespace: "{{ apply_namespace }}"
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: "{{ k8s_pod_name }}"
|
|
template: "{{ k8s_pod_template }}"
|
|
wait: yes
|
|
apply: yes
|
|
check_mode: yes
|
|
vars:
|
|
k8s_pod_name: apply-deploy
|
|
k8s_pod_image: gcr.io/kuar-demo/kuard-amd64:v0.10.0-purple
|
|
k8s_pod_service_account: apply-deploy
|
|
k8s_pod_ports:
|
|
- containerPort: 8080
|
|
name: http
|
|
protocol: TCP
|
|
k8s_pod_resources:
|
|
requests:
|
|
cpu: 50m
|
|
limits:
|
|
cpu: 50m
|
|
memory: 50Mi
|
|
register: update_deploy_check_mode
|
|
|
|
- name: Ensure check mode change took
|
|
assert:
|
|
that:
|
|
- update_deploy_check_mode is changed
|
|
- "update_deploy_check_mode.result.spec.template.spec.containers[0].image == 'gcr.io/kuar-demo/kuard-amd64:v0.10.0-purple'"
|
|
|
|
- name: Update the earlier deployment
|
|
k8s:
|
|
definition:
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: apply-deploy
|
|
namespace: "{{ apply_namespace }}"
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: "{{ k8s_pod_name }}"
|
|
template: "{{ k8s_pod_template }}"
|
|
wait: yes
|
|
apply: yes
|
|
vars:
|
|
k8s_pod_name: apply-deploy
|
|
k8s_pod_image: gcr.io/kuar-demo/kuard-amd64:v0.10.0-purple
|
|
k8s_pod_service_account: apply-deploy
|
|
k8s_pod_ports:
|
|
- containerPort: 8080
|
|
name: http
|
|
protocol: TCP
|
|
k8s_pod_resources:
|
|
requests:
|
|
cpu: 50m
|
|
limits:
|
|
cpu: 50m
|
|
memory: 50Mi
|
|
register: update_deploy_for_real
|
|
|
|
- name: Ensure change took
|
|
assert:
|
|
that:
|
|
- update_deploy_for_real is changed
|
|
- "update_deploy_for_real.result.spec.template.spec.containers[0].image == 'gcr.io/kuar-demo/kuard-amd64:v0.10.0-purple'"
|
|
|
|
- name: Remove the serviceaccount
|
|
k8s:
|
|
state: absent
|
|
definition:
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: apply-deploy
|
|
namespace: "{{ apply_namespace }}"
|
|
|
|
- name: Apply deployment after service account removed
|
|
k8s:
|
|
definition:
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: apply-deploy
|
|
namespace: "{{ apply_namespace }}"
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: "{{ k8s_pod_name }}"
|
|
template: "{{ k8s_pod_template }}"
|
|
wait: yes
|
|
apply: yes
|
|
vars:
|
|
k8s_pod_name: apply-deploy
|
|
k8s_pod_image: gcr.io/kuar-demo/kuard-amd64:v0.10.0-green
|
|
k8s_pod_service_account: apply-deploy
|
|
k8s_pod_ports:
|
|
- containerPort: 8080
|
|
name: http
|
|
protocol: TCP
|
|
k8s_pod_resources:
|
|
requests:
|
|
cpu: 50m
|
|
limits:
|
|
cpu: 50m
|
|
memory: 50Mi
|
|
register: deploy_after_serviceaccount_removal
|
|
ignore_errors: yes
|
|
|
|
- name: Ensure that updating deployment after service account removal failed
|
|
assert:
|
|
that:
|
|
- deploy_after_serviceaccount_removal is failed
|
|
|
|
- name: Insert new service port
|
|
k8s:
|
|
definition:
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: apply-svc
|
|
namespace: "{{ apply_namespace }}"
|
|
spec:
|
|
selector:
|
|
app: whatever
|
|
ports:
|
|
- name: mesh
|
|
port: 8080
|
|
targetPort: 8080
|
|
- name: http
|
|
port: 8081
|
|
targetPort: 8081
|
|
apply: yes
|
|
register: k8s_service_4
|
|
|
|
- name: Check ports are correct
|
|
assert:
|
|
that:
|
|
- k8s_service_4 is changed
|
|
- k8s_service_4.result.spec.ports | length == 2
|
|
- k8s_service_4.result.spec.ports[0].port == 8080
|
|
- k8s_service_4.result.spec.ports[1].port == 8081
|
|
|
|
- name: Remove new service port (check mode)
|
|
k8s:
|
|
definition:
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: apply-svc
|
|
namespace: "{{ apply_namespace }}"
|
|
spec:
|
|
selector:
|
|
app: whatever
|
|
ports:
|
|
- name: http
|
|
port: 8081
|
|
targetPort: 8081
|
|
apply: yes
|
|
check_mode: yes
|
|
register: k8s_service_check
|
|
|
|
- name: Check ports are correct
|
|
assert:
|
|
that:
|
|
- k8s_service_check is changed
|
|
- k8s_service_check.result.spec.ports | length == 1
|
|
- k8s_service_check.result.spec.ports[0].port == 8081
|
|
|
|
- name: Remove new service port
|
|
k8s:
|
|
definition:
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: apply-svc
|
|
namespace: "{{ apply_namespace }}"
|
|
spec:
|
|
selector:
|
|
app: whatever
|
|
ports:
|
|
- name: http
|
|
port: 8081
|
|
targetPort: 8081
|
|
apply: yes
|
|
register: k8s_service_5
|
|
|
|
- name: Check ports are correct
|
|
assert:
|
|
that:
|
|
- k8s_service_5 is changed
|
|
- k8s_service_5.result.spec.ports | length == 1
|
|
- k8s_service_5.result.spec.ports[0].port == 8081
|
|
|
|
- name: Add a serviceaccount
|
|
k8s:
|
|
definition:
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: apply-deploy
|
|
namespace: "{{ apply_namespace }}"
|
|
|
|
- name: Add a deployment
|
|
k8s:
|
|
definition:
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: apply-deploy
|
|
namespace: "{{ apply_namespace }}"
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: "{{ k8s_pod_name }}"
|
|
template: "{{ k8s_pod_template }}"
|
|
wait: yes
|
|
apply: yes
|
|
vars:
|
|
k8s_pod_name: apply-deploy
|
|
k8s_pod_image: gcr.io/kuar-demo/kuard-amd64:v0.10.0-green
|
|
k8s_pod_service_account: apply-deploy
|
|
k8s_pod_ports:
|
|
- containerPort: 8080
|
|
name: http
|
|
protocol: TCP
|
|
|
|
- name: Remove the serviceaccount
|
|
k8s:
|
|
state: absent
|
|
definition:
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: apply-deploy
|
|
namespace: "{{ apply_namespace }}"
|
|
|
|
- name: Update the earlier deployment
|
|
k8s:
|
|
definition:
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: apply-deploy
|
|
namespace: "{{ apply_namespace }}"
|
|
spec:
|
|
replicas: 2
|
|
selector:
|
|
matchLabels:
|
|
app: "{{ k8s_pod_name }}"
|
|
template: "{{ k8s_pod_template }}"
|
|
wait: yes
|
|
apply: yes
|
|
vars:
|
|
k8s_pod_name: apply-deploy
|
|
k8s_pod_image: gcr.io/kuar-demo/kuard-amd64:v0.10.0-purple
|
|
k8s_pod_service_account: apply-deploy
|
|
k8s_pod_ports:
|
|
- containerPort: 8080
|
|
name: http
|
|
protocol: TCP
|
|
register: deploy_after_serviceaccount_removal
|
|
ignore_errors: yes
|
|
|
|
- name: Ensure that updating deployment after service account removal failed
|
|
assert:
|
|
that:
|
|
- deploy_after_serviceaccount_removal is failed
|
|
|
|
- name: Insert new service port
|
|
k8s:
|
|
definition:
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: apply-svc
|
|
namespace: "{{ apply_namespace }}"
|
|
spec:
|
|
selector:
|
|
app: whatever
|
|
ports:
|
|
- name: mesh
|
|
port: 8080
|
|
targetPort: 8080
|
|
- name: http
|
|
port: 8081
|
|
targetPort: 8081
|
|
apply: yes
|
|
register: k8s_service_4
|
|
|
|
- name: Check ports are correct
|
|
assert:
|
|
that:
|
|
- k8s_service_4 is changed
|
|
- k8s_service_4.result.spec.ports | length == 2
|
|
- k8s_service_4.result.spec.ports[0].port == 8080
|
|
- k8s_service_4.result.spec.ports[1].port == 8081
|
|
|
|
- name: Remove new service port (check mode)
|
|
k8s:
|
|
definition:
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: apply-svc
|
|
namespace: "{{ apply_namespace }}"
|
|
spec:
|
|
selector:
|
|
app: whatever
|
|
ports:
|
|
- name: http
|
|
port: 8081
|
|
targetPort: 8081
|
|
apply: yes
|
|
check_mode: yes
|
|
register: k8s_service_check
|
|
|
|
- name: Check ports are correct
|
|
assert:
|
|
that:
|
|
- k8s_service_check is changed
|
|
- k8s_service_check.result.spec.ports | length == 1
|
|
- k8s_service_check.result.spec.ports[0].port == 8081
|
|
|
|
- name: Remove new service port
|
|
k8s:
|
|
definition:
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: apply-svc
|
|
namespace: "{{ apply_namespace }}"
|
|
spec:
|
|
selector:
|
|
app: whatever
|
|
ports:
|
|
- name: http
|
|
port: 8081
|
|
targetPort: 8081
|
|
apply: yes
|
|
register: k8s_service_5
|
|
|
|
- name: Check ports are correct
|
|
assert:
|
|
that:
|
|
- k8s_service_5 is changed
|
|
- k8s_service_5.result.spec.ports | length == 1
|
|
- k8s_service_5.result.spec.ports[0].port == 8081
|
|
|
|
- name: Add a serviceaccount
|
|
k8s:
|
|
definition:
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: apply-deploy
|
|
namespace: "{{ apply_namespace }}"
|
|
|
|
- name: Add a deployment
|
|
k8s:
|
|
definition:
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: apply-deploy
|
|
namespace: "{{ apply_namespace }}"
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: "{{ k8s_pod_name }}"
|
|
template: "{{ k8s_pod_template }}"
|
|
wait: yes
|
|
apply: yes
|
|
vars:
|
|
k8s_pod_name: apply-deploy
|
|
k8s_pod_image: gcr.io/kuar-demo/kuard-amd64:v0.10.0-green
|
|
k8s_pod_service_account: apply-deploy
|
|
k8s_pod_ports:
|
|
- containerPort: 8080
|
|
name: http
|
|
protocol: TCP
|
|
|
|
- name: Remove the serviceaccount
|
|
k8s:
|
|
state: absent
|
|
definition:
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: apply-deploy
|
|
namespace: "{{ apply_namespace }}"
|
|
|
|
- name: Update the earlier deployment
|
|
k8s:
|
|
definition:
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: apply-deploy
|
|
namespace: "{{ apply_namespace }}"
|
|
spec:
|
|
replicas: 2
|
|
selector:
|
|
matchLabels:
|
|
app: "{{ k8s_pod_name }}"
|
|
template: "{{ k8s_pod_template }}"
|
|
wait: yes
|
|
apply: yes
|
|
vars:
|
|
k8s_pod_name: apply-deploy
|
|
k8s_pod_image: gcr.io/kuar-demo/kuard-amd64:v0.10.0-purple
|
|
k8s_pod_service_account: apply-deploy
|
|
k8s_pod_ports:
|
|
- containerPort: 8080
|
|
name: http
|
|
protocol: TCP
|
|
register: deploy_after_serviceaccount_removal
|
|
ignore_errors: yes
|
|
|
|
- name: Ensure that updating deployment after service account removal failed
|
|
assert:
|
|
that:
|
|
- deploy_after_serviceaccount_removal is failed
|
|
|
|
- name: Add a secret
|
|
k8s:
|
|
definition:
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: apply-secret
|
|
namespace: "{{ apply_namespace }}"
|
|
type: Opaque
|
|
stringData:
|
|
foo: bar
|
|
register: k8s_secret
|
|
|
|
- name: Check secret was created
|
|
assert:
|
|
that:
|
|
- k8s_secret is changed
|
|
- k8s_secret.result.data.foo
|
|
|
|
- name: Add same secret
|
|
k8s:
|
|
definition:
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: apply-secret
|
|
namespace: "{{ apply_namespace }}"
|
|
type: Opaque
|
|
stringData:
|
|
foo: bar
|
|
register: k8s_secret
|
|
|
|
- name: Check nothing changed
|
|
assert:
|
|
that:
|
|
- k8s_secret is not changed
|
|
|
|
- name: Add same secret with check mode on
|
|
k8s:
|
|
definition:
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: apply-secret
|
|
namespace: "{{ apply_namespace }}"
|
|
type: Opaque
|
|
stringData:
|
|
foo: bar
|
|
check_mode: yes
|
|
register: k8s_secret
|
|
|
|
- name: Check nothing changed
|
|
assert:
|
|
that:
|
|
- k8s_secret is not changed
|
|
|
|
- name: Add same secret with check mode on using data
|
|
k8s:
|
|
definition:
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: apply-secret
|
|
namespace: "{{ apply_namespace }}"
|
|
type: Opaque
|
|
data:
|
|
foo: YmFy
|
|
check_mode: yes
|
|
register: k8s_secret
|
|
|
|
- name: Check nothing changed
|
|
assert:
|
|
that:
|
|
- k8s_secret is not changed
|
|
|
|
always:
|
|
- name: Remove namespace
|
|
k8s:
|
|
kind: Namespace
|
|
name: "{{ apply_namespace }}"
|
|
state: absent
|