#!/usr/bin/ansible-playbook --- - hosts: "oo_clusterid_mwoodson:&oo_master_primary" gather_facts: no user: root roles: - roles/lib_yaml_editor tasks: - copy: dest: "/tmp/{{ item }}" src: "files/{{ item }}" with_items: - router.json - router-mod.json - name: list services oc_obj: kind: service state: list namespace: default name: router register: service_out - debug: var: service_out.results - name: absent service oc_obj: kind: service state: absent namespace: default name: router register: service_out - debug: var: service_out - name: present service create oc_obj: kind: service state: present namespace: default name: router files: - /tmp/router.json delete_after: True register: service_out - debug: var: service_out - name: dump router oc_obj: kind: service state: list name: router namespace: default register: routerout - name: write router file copy: dest: /tmp/router-mod.json content: "{{ routerout.results[0] }}" - command: cat /tmp/router-mod.json register: catout - debug: msg: "{{ catout }}" - command: "sed -i 's/80-tcp/81-tcp/g' /tmp/router-mod.json" register: catout - name: present service replace oc_obj: kind: service state: present namespace: default name: router files: - /tmp/router-mod.json #delete_after: True register: service_out - debug: var: service_out - name: list services oc_obj: kind: service state: list namespace: default name: router register: service_out - debug: var: service_out.results - set_fact: new_service: "{{ service_out.results[0] }}" - yedit: src: /tmp/routeryedit content: "{{ new_service }}" key: spec.ports value: - name: 80-tcp port: 80 protocol: TCP targetPort: 80 - yedit: src: /tmp/routeryedit state: list register: yeditout - debug: var: yeditout - name: present service replace oc_obj: kind: service state: present namespace: default name: router content: "{{ yeditout.results }}" delete_after: True register: service_out - debug: var: service_out