diff --git a/roles/network_plugin/calico/tasks/install.yml b/roles/network_plugin/calico/tasks/install.yml index 561bcd876..f5a9afc33 100644 --- a/roles/network_plugin/calico/tasks/install.yml +++ b/roles/network_plugin/calico/tasks/install.yml @@ -138,7 +138,7 @@ - name: Calico | Configure calico network pool command: cmd: "{{ bin_dir }}/calicoctl.sh apply -f -" - stdin: "{{ stdin | to_json }}" + stdin: "{{ stdin is string | ternary(stdin, stdin|to_json) }}" vars: stdin: > { "kind": "IPPool", @@ -173,7 +173,7 @@ - name: Calico | Set up BGP Configuration command: cmd: "{{ bin_dir }}/calicoctl.sh apply -f -" - stdin: "{{ stdin | to_json }}" + stdin: "{{ stdin is string | ternary(stdin, stdin|to_json) }}" vars: stdin: > { "kind": "BGPConfiguration", @@ -194,7 +194,7 @@ - name: Calico | Configure peering with router(s) at global scope command: cmd: "{{ bin_dir }}/calicoctl.sh apply -f -" - stdin: "{{ stdin | to_json }}" + stdin: "{{ stdin is string | ternary(stdin, stdin|to_json) }}" vars: stdin: > {"apiVersion": "projectcalico.org/v3", @@ -219,7 +219,8 @@ - name: Calico | Configure peering with route reflectors at global scope command: cmd: "{{ bin_dir }}/calicoctl.sh apply -f -" - stdin: "{{ stdin | to_json }}" + # revert when it's already a string + stdin: "{{ stdin is string | ternary(stdin, stdin|to_json) }}" vars: stdin: > {"apiVersion": "projectcalico.org/v3", @@ -244,7 +245,8 @@ - name: Calico | Configure route reflectors to peer with each other command: cmd: "{{ bin_dir }}/calicoctl.sh apply -f -" - stdin: "{{ stdin | to_json }}" + # revert when it's already a string + stdin: "{{ stdin is string | ternary(stdin, stdin|to_json) }}" vars: stdin: > {"apiVersion": "projectcalico.org/v3", @@ -320,7 +322,7 @@ - name: Calico | Configure node asNumber for per node peering command: cmd: "{{ bin_dir }}/calicoctl.sh apply -f -" - stdin: "{{ stdin | to_json }}" + stdin: "{{ stdin is string | ternary(stdin, stdin|to_json) }}" vars: stdin: > {"apiVersion": "projectcalico.org/v3", @@ -347,7 +349,7 @@ - name: Calico | Configure peering with router(s) at node scope command: cmd: "{{ bin_dir }}/calicoctl.sh apply -f -" - stdin: "{{ stdin | to_json }}" + stdin: "{{ stdin is string | ternary(stdin, stdin|to_json) }}" vars: stdin: > {"apiVersion": "projectcalico.org/v3",