#!/usr/bin/ansible-playbook --module-path=../../../library/ # ./oc_scale.yml -e "cli_master_test=$OPENSHIFT_MASTER --- - hosts: "{{ cli_master_test }}" gather_facts: no user: root tasks: - name: list oc scale for default router dc oc_scale: state: list name: router namespace: default kind: dc register: scaleout - debug: var=scaleout - assert: that: - "'result' in scaleout" - scaleout.result > 0 msg: "Did not find 'result' in returned value or result not > 0." - name: get the rc for router oc_obj: state: list kind: dc namespace: default selector: router=router register: rcout - debug: msg: "{{ rcout.results.results[0]['items'][-1]['metadata']['name'] }}" - name: scale dc to 1 oc_scale: name: router namespace: default kind: dc replicas: 1 register: scaleout - debug: var=scaleout # The preferred method here would be to let the module # detect when its finished and time out - name: let the scale happen pause: seconds: 10 when: scaleout.changed - name: fetch the current router pods oc_obj: selector: router=router namespace: default kind: pod state: list register: pods - debug: var=pods - assert: that: - "'results' in pods and 'results' in pods.results" - "{{ pods.results.results[0]['items']|length }} == 1" msg: "Did not find 1 replica in scale results." - name: scale dc to 2 oc_scale: name: router namespace: default kind: dc replicas: 2 register: scaleout - debug: var=scaleout # The preferred method here would be to let the module # detect when its finished and time out - name: let the scale happen pause: seconds: 30 - name: fetch the current router pods oc_obj: selector: router=router namespace: default kind: pod state: list register: pods - debug: var=pods - assert: that: - "'results' in pods and 'results' in pods.results" - "{{ pods.results.results[0]['items']|length }} == 2" msg: "Did not find 1 replica in scale results." # Test scale on non-existent dc - name: scale non-existent dc oc_scale: name: not_there kind: dc replicas: 2 register: scaleout ignore_errors: True - debug: var=scaleout - assert: that: - scaleout.changed == False - scaleout.msg.returncode == 1 - "'msg' in scaleout and 'stderr' in scaleout.msg" msg: "Deploymentconfig exists. This should error."