I have a cluster of N nodes. Cluster status is reported by http://cluster_fqdn/health/. I want to do a rolling upgrade of every node in my cluster with serial: 1. I don't want to proceed to the next node until http://cluster_fqdn/health/ reports the cluster is healthy.
Trying to use uri and until, but can't seem to get the syntax quite right: - name: Await Cluster Healthy Status uri: url=http://{{host_ip}}/cluster_health/ return_content=yes register: cluster_health until: "green" in "{{cluster_health.content}} retries: 100 delay: 10 errors out with: ERROR: Syntax Error while loading YAML script, main.yml Note: The error may actually appear before this position: line 67, column 18 register: cluster_health until: "green" in "{{cluster_health.content}}" I was going by the example here: http://docs.ansible.com/uri_module.html I also tried using the example here (http://docs.ansible.com/playbooks_loops.html#do-until-loops) - name: Await Cluster Healthy Status uri: url=http://{{host_ip}}/cluster_health/ return_content=yes register: cluster_health until: cluster_health.content.contains("green") != -1 retries: 100 delay: 10 but that fails with: fatal: [prod.clustertest-elk-fxbo-1] => error while evaluating conditional: cluster_health.content.contains("green") != -1 Took me a while to realize I needed to install liburi module, but that's a different story. I debugged 'cluster_health' var and it definitely contains the word "green". -- You received this message because you are subscribed to the Google Groups "Ansible Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/a1c00826-e272-47d7-938e-b0c4c67a9cc1%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
