diff --git a/changelogs/fragments/87-openshift_process-fix-template-without-message.yaml b/changelogs/fragments/87-openshift_process-fix-template-without-message.yaml new file mode 100644 index 0000000..033237f --- /dev/null +++ b/changelogs/fragments/87-openshift_process-fix-template-without-message.yaml @@ -0,0 +1,2 @@ +bugfixes: + - openshift_process - fix module execution when template does not include a message (https://github.com/ansible-collections/community.okd/pull/87). diff --git a/molecule/default/files/pod-template.yaml b/molecule/default/files/pod-template.yaml new file mode 100644 index 0000000..ac388ad --- /dev/null +++ b/molecule/default/files/pod-template.yaml @@ -0,0 +1,23 @@ +--- +kind: Template +apiVersion: template.openshift.io/v1 +metadata: + name: pod-template +objects: + - apiVersion: v1 + kind: Pod + metadata: + name: "Pod-${{ NAME }}" + spec: + containers: + - args: + - /bin/sh + - -c + - while true; do echo $(date); sleep 15; done + image: python:3.7-alpine + imagePullPolicy: Always + name: python +parameters: + - name: NAME + description: trailing name of the pod + required: true diff --git a/molecule/default/tasks/openshift_process.yml b/molecule/default/tasks/openshift_process.yml index 8decc79..4341bf2 100644 --- a/molecule/default/tasks/openshift_process.yml +++ b/molecule/default/tasks/openshift_process.yml @@ -162,3 +162,22 @@ - assert: that: result is not changed + +# Processing template without message +- name: create template with file {{ files_dir }}/pod-template.yaml + kubernetes.core.k8s: + namespace: process-test + src: "{{ files_dir }}/pod-template.yaml" + state: present + +- name: Process pod template + community.okd.openshift_process: + name: pod-template + namespace: process-test + state: rendered + parameters: + NAME: ansible + register: rendered_template + +- assert: + that: rendered_template.message == "" diff --git a/plugins/modules/openshift_process.py b/plugins/modules/openshift_process.py index da58969..c63bd01 100644 --- a/plugins/modules/openshift_process.py +++ b/plugins/modules/openshift_process.py @@ -330,8 +330,9 @@ class OpenShiftProcess(K8sAnsibleMixin): except Exception as exc: self.module.fail_json(msg="Server failed to render the Template: {0}".format(to_native(exc)), error='', status='', reason='') - - result['message'] = response['message'] + result['message'] = "" + if "message" in response: + result['message'] = response['message'] result['resources'] = response['objects'] if state != 'rendered':