)]}'
{"playbooks/zuul_reboot.yaml":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"0e3fadbfff4c8e6d79950ab62797ad5c4ed3ee93","unresolved":true,"context_lines":[{"line_number":60,"context_line":"        name: zuul-web"},{"line_number":61,"context_line":"        tasks_from: start"},{"line_number":62,"context_line":"    # TODO need to wait here for both web and scheduler to be up and running"},{"line_number":63,"context_line":"    # before allowing the next host to proceed."}],"source_content_type":"text/x-yaml","patch_set":1,"id":"26359a84_52edf437","line":63,"updated":"2022-05-25 16:36:22.000000000","message":"Is the best way to check this to look for inventory_hostname in https://zuul.opendev.org/components for scheduler, web, and fingergw and ensure all three are in a RUNNING state?","commit_id":"5d6b857622a81315e51965d19f623bfdbcb5c512"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"52c76d94295b952b21d65c558beb6bb51c5eed5a","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        name: zuul-web"},{"line_number":61,"context_line":"        tasks_from: start"},{"line_number":62,"context_line":"    # TODO need to wait here for both web and scheduler to be up and running"},{"line_number":63,"context_line":"    # before allowing the next host to proceed."}],"source_content_type":"text/x-yaml","patch_set":1,"id":"74fa1785_11b1acdb","line":63,"in_reply_to":"26359a84_52edf437","updated":"2022-05-25 18:34:02.000000000","message":"Done","commit_id":"5d6b857622a81315e51965d19f623bfdbcb5c512"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"ae6d4232309270bc7bb23bde50ee401e4bc2c7fe","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        name: zuul-web"},{"line_number":61,"context_line":"        tasks_from: start"},{"line_number":62,"context_line":"    # TODO need to wait here for both web and scheduler to be up and running"},{"line_number":63,"context_line":"    # before allowing the next host to proceed."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"a3800fc4_fa07b668","line":63,"updated":"2022-05-25 17:08:19.000000000","message":"Yes, I\u0027d recommend checking the api.  URI module might be good here.","commit_id":"6a25be6d785a71ea81b8301e4d68ec8b5e6ba1a8"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"e427aee0597580128f5237faa03aedebf8089974","unresolved":false,"context_lines":[{"line_number":68,"context_line":"      # 45 minutes"},{"line_number":69,"context_line":"      retries: 180"},{"line_number":70,"context_line":"      delay: 15"},{"line_number":71,"context_line":"      until: components.status \u003d\u003d 200 and components.content | json_query({{ scheduler_query }}) | length \u003e 0 and components.content | json_query({{ scheduler_query }}) | first \u003d\u003d \"running\""},{"line_number":72,"context_line":"      vars:"},{"line_number":73,"context_line":"        scheduler_query: scheduler[?hostname\u003d\u003d\u0027{{ inventory_hostname }}\u0027].state"},{"line_number":74,"context_line":"    - name: Wait for web to be running"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"e1899140_cfeb5e44","line":71,"updated":"2022-05-25 17:36:27.000000000","message":"Should we check for length\u003d\u003d1 so that we know that we\u0027re looking at exactly one entry?","commit_id":"be201bc33457310f8cb9c77037989c051c8942b0"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"ad9cba258c3a040c2cee70fea3b6449429cf2923","unresolved":false,"context_lines":[{"line_number":68,"context_line":"      # 45 minutes"},{"line_number":69,"context_line":"      retries: 180"},{"line_number":70,"context_line":"      delay: 15"},{"line_number":71,"context_line":"      until: components.status \u003d\u003d 200 and components.content | json_query({{ scheduler_query }}) | length \u003e 0 and components.content | json_query({{ scheduler_query }}) | first \u003d\u003d \"running\""},{"line_number":72,"context_line":"      vars:"},{"line_number":73,"context_line":"        scheduler_query: scheduler[?hostname\u003d\u003d\u0027{{ inventory_hostname }}\u0027].state"},{"line_number":74,"context_line":"    - name: Wait for web to be running"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"8a77f4aa_07540066","line":71,"in_reply_to":"e1899140_cfeb5e44","updated":"2022-05-25 17:38:28.000000000","message":"Oh ya I meant to check that based on your comments in irc then got sidetracked trying to figure out the query. Turns out there are jinja parse errors in this too so I\u0027ll try to figure that out and fix this in a new ps.","commit_id":"be201bc33457310f8cb9c77037989c051c8942b0"},{"author":{"_account_id":1,"name":"James E. Blair","email":"jim@acmegating.com","username":"corvus"},"change_message_id":"612f5de9f082c1574ad8dca70b6506c7b682ae2a","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        method: GET"},{"line_number":66,"context_line":"        return_content: yes"},{"line_number":67,"context_line":"      register: components"},{"line_number":68,"context_line":"      # 45 minutes"},{"line_number":69,"context_line":"      retries: 180"},{"line_number":70,"context_line":"      delay: 15"},{"line_number":71,"context_line":"      until: \"{{ components.status \u003d\u003d 200 and components.content | from_json | json_query(scheduler_query) | length \u003d\u003d 1 and components.content | from_json | json_query(scheduler_query) | first \u003d\u003d \u0027running\u0027 }}\""}],"source_content_type":"text/x-yaml","patch_set":5,"id":"bec4f108_b5c7721d","line":68,"updated":"2022-05-25 17:56:00.000000000","message":"Maybe we should be more generous with the startup time.  It can be quite slow, especially if it is processing queues at the same time.\n\nMaybe we should give it 3 hours?","commit_id":"c7b6acb23c8332c0887d8c7aa858fbb4b499dd34"}]}
