diff options
author | Jeff Cantrill <jcantril@redhat.com> | 2017-01-13 12:19:55 -0500 |
---|---|---|
committer | Jeff Cantrill <jcantril@redhat.com> | 2017-01-17 11:45:04 -0500 |
commit | e96de3d7eb0b0ce6a8df96d4e3afa02f0859b94b (patch) | |
tree | c3155cf0b7642f743cda51331b492dc23c9fe424 | |
parent | 868e800a1325a726c24afc752033434a80d13b2d (diff) | |
download | openshift-e96de3d7eb0b0ce6a8df96d4e3afa02f0859b94b.tar.gz openshift-e96de3d7eb0b0ce6a8df96d4e3afa02f0859b94b.tar.bz2 openshift-e96de3d7eb0b0ce6a8df96d4e3afa02f0859b94b.tar.xz openshift-e96de3d7eb0b0ce6a8df96d4e3afa02f0859b94b.zip |
properly set changes when oc apply
-rw-r--r-- | roles/openshift_metrics/tasks/install_metrics.yaml | 16 | ||||
-rw-r--r-- | roles/openshift_metrics/tasks/oc_apply.yaml | 31 | ||||
-rw-r--r-- | roles/openshift_metrics/tasks/start_metrics.yaml | 2 |
3 files changed, 41 insertions, 8 deletions
diff --git a/roles/openshift_metrics/tasks/install_metrics.yaml b/roles/openshift_metrics/tasks/install_metrics.yaml index e550f6e8d..67d22cbc3 100644 --- a/roles/openshift_metrics/tasks/install_metrics.yaml +++ b/roles/openshift_metrics/tasks/install_metrics.yaml @@ -1,9 +1,9 @@ --- -- name: check that hawkular_metrics_hostname is set +- name: Check that hawkular_metrics_hostname is set fail: msg='the openshift_metrics_hawkular_hostname variable is required' when: openshift_metrics_hawkular_hostname is not defined -- name: check the value of openshift_metrics_cassandra_storage_type +- name: Check the value of openshift_metrics_cassandra_storage_type fail: msg: > openshift_metrics_cassandra_storage_type ({{ openshift_metrics_cassandra_storage_type }}) @@ -20,11 +20,13 @@ loop_control: loop_var: include_file -- name: create objects - command: > - {{ openshift.common.client_binary }} -n {{ openshift_metrics_project }} - --config={{ mktemp.stdout }}/admin.kubeconfig - apply -f {{ item }} +- name: Create objects + include: oc_apply.yaml + vars: + kubeconfig: "{{ mktemp.stdout }}/admin.kubeconfig" + namespace: "{{ openshift_metrics_project }}" + file_name: "{{ item }}" + file_content: "{{ lookup('file',item) | from_yaml }}" with_fileglob: - "{{ mktemp.stdout }}/templates/*.yaml" diff --git a/roles/openshift_metrics/tasks/oc_apply.yaml b/roles/openshift_metrics/tasks/oc_apply.yaml new file mode 100644 index 000000000..c9154f206 --- /dev/null +++ b/roles/openshift_metrics/tasks/oc_apply.yaml @@ -0,0 +1,31 @@ +--- +- name: Checking generation of {{file_content.kind}} {{file_content.metadata.name}} + command: > + {{ openshift.common.client_binary }} + --config={{ kubeconfig }} + get {{file_content.kind}} {{file_content.metadata.name}} + -o jsonpath='{.metadata.resourceVersion}' + -n {{namespace}} + register: generation_init + changed_when: no + +- name: Applying {{file_name}} + command: > + {{ openshift.common.client_binary }} --config={{ kubeconfig }} + apply -f {{ file_name }} + -n {{ openshift_metrics_project }} + register: generation_apply + failed_when: "'error' in generation_apply.stderr" + changed_when: no + +- name: Determine change status of {{file_content.kind}} {{file_content.metadata.name}} + command: > + {{ openshift.common.client_binary }} --config={{ kubeconfig }} + get {{file_content.kind}} {{file_content.metadata.name}} + -o jsonpath='{.metadata.resourceVersion}' + -n {{namespace}} + register: version_changed + vars: + init_version: "{{ (generation_init is defined) | ternary(generation_init.stdout, '0') }}" + failed_when: "'error' in version_changed.stderr" + changed_when: version_changed.stdout | int > init_version | int diff --git a/roles/openshift_metrics/tasks/start_metrics.yaml b/roles/openshift_metrics/tasks/start_metrics.yaml index 31f303c86..c4cae4aff 100644 --- a/roles/openshift_metrics/tasks/start_metrics.yaml +++ b/roles/openshift_metrics/tasks/start_metrics.yaml @@ -43,7 +43,7 @@ -o name -n {{openshift_metrics_project}} register: metrics_heapster_rc - check_mode: no + changed_when: no - name: Start Heapster include: scale.yaml |