I need to write a json file using ansible
So I used ansible shell module.
But it gives this error:
TASK [Generate certs] ********************************************************** fatal: [xxx.xxx.xx.xxx]: FAILED! => {"changed": true, "cmd": "cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=kubernetes kube-controller-manager-csr.json | cfssljson -bare kube-controller-manager \n", "delta": "0:00:00.015363", "end": "2020-08-14 16:26:35.643003", "msg": "non-zero return code", "rc": 1, "start": "2020-08-14 16:26:35.627640", "stderr": "Failed to load config file: {"code":5200,"message":"could not read configuration file"}Failed to parse input: unexpected end of JSON input", "stderr_lines": ["Failed to load config file: {"code":5200,"message":"could not read configuration file"}Failed to parse input: unexpected end of JSON input"], "stdout": "", "stdout_lines": []} PLAY RECAP ********************************************************************* 35.246.9.221 : ok=2 changed=1 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0
And this is the playbook for this:
---
- hosts: kube_master
tasks:
- name: Create kube-controller-manager.pem &kube-controller-manager-key.pem
# become: true
shell: |
cat > kube-controller-manager-csr.json << EOF
{
"CN": "system:kube-controller-manager",
"key": {
"algo": "rsa",
"size": 2048
},
"names": [
{
"C": "US",
"L": "Portland",
"O": "system:kube-controller-manager",
"OU": "Kubernetes The Hard Way",
"ST": "Oregon"
}
]
}
EOF
- name: Generate certs
shell: |
cfssl gencert \
-ca=ca.pem \
-ca-key=ca-key.pem \
-config=ca-config.json \
-profile=kubernetes \
kube-controller-manager-csr.json | cfssljson -bare kube-controller-manager
Can someone tell me what is this error and why it is happening?