)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"62b719ac84b00163637508cf07bcc324ab4e5ed1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"d9e44aa3_f5f108bb","updated":"2022-07-26 08:32:47.000000000","message":"recheck\n\npep8 failure was resolved.","commit_id":"7d7607d4ee3aadf13c01ad5fd46d480811a5ad72"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"43b63467c9924a1da025bccc40860c656e1db974","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"6fe7b657_03f9fb68","updated":"2022-08-01 15:30:33.000000000","message":"Note that this OS::TripleO::Services::ContainerImagePrepare: deployment/container-image-prepare/container-image-prepare-baremetal-ansible.yaml doesn\u0027t do any good for our use case with ha controlled container which are pulled during update ... down the rabbit hole.","commit_id":"9346348328f39b33ecb5c889fc3fba024f7ed205"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"bf38c57cae06fa15fa2384c6732302158b94be2e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ac59c605_17f589d6","updated":"2022-08-01 15:31:27.000000000","message":"need to verify that last assertion about the ha container as we run podman pull explicitly. Anyway back into it.","commit_id":"9346348328f39b33ecb5c889fc3fba024f7ed205"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"d38b66601847528895a9ee9074270bd206151a62","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"fe09868d_c0f51b81","updated":"2022-08-01 15:29:36.000000000","message":"oki, so the crux of it is that OS::TripleO::Services::ContainerImagePrepare: deployment/container-image-prepare/container-image-prepare-baremetal-ansible.yaml is not yet run at step5 of the update run so we are missing the necessary changes.\n\n\nTinkering with this ...","commit_id":"9346348328f39b33ecb5c889fc3fba024f7ed205"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"be46e5139955cb204dd61fac62fdd401a33575fc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"79bc0d31_2c1d573d","updated":"2022-08-01 12:43:21.000000000","message":"recheck my local testing was successful.","commit_id":"9346348328f39b33ecb5c889fc3fba024f7ed205"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"8c08c2fccdb215b60dc803d307a32f45e1aff386","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"a4e873d8_8977e745","updated":"2022-07-29 21:33:56.000000000","message":"recheck, but the error might be legit. We fail to pull the tripleomaster container at the step5, and when we look into the podman logs we only have tripleowallaby available.\n\nTrying to reproduce on a live env.","commit_id":"9346348328f39b33ecb5c889fc3fba024f7ed205"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"260cbc7ca3509597ed188ed48fcce5dfeab97733","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"06a7c08c_0a7b88ff","updated":"2022-08-01 12:27:07.000000000","message":"tht syntax check was overcome, now it seems we have an issue during undercloud upgrade ... recheck here, but reproducing as well on the side, this might be a real issue.","commit_id":"9346348328f39b33ecb5c889fc3fba024f7ed205"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"519fb9d17fc9bc653a38f39f5133866e7b33f703","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"c3f818d9_7d885761","updated":"2022-08-01 19:53:10.000000000","message":"Ok, current code looks good, but now It need to be checked on real life deployement.  Being in PTO for some time, this will be taken care in some time.\n\nMeanwhile if someone has a better way to deactivate the undercloud feel free to comment.","commit_id":"37cc17f8c28372b8006ca7604575f76ca09f4824"},{"author":{"_account_id":33080,"name":"Mikolaj Ciecierski","display_name":"Mikolaj Ciecierski","email":"mciecier@redhat.com","username":"mciecierski"},"change_message_id":"d15661e1288e46e13874d0a7ddd7719f8cbc7b29","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"ca73c66d_fc51a568","updated":"2022-09-21 10:50:48.000000000","message":"In favor of this change. \nGiving -1 as I have two suggestions and a short question about ansible_syntax playbook.","commit_id":"65390ede1cf222ea24a2dacc2996d1e203187628"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"3ea905481b89311d8c11eb3daef761e4e759bf18","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"a2f19252_fd38802f","updated":"2022-09-28 11:43:29.000000000","message":"LGTM, thank you for working through the feedback... and it\u0027s especially nice to be rid of ignore_errors. 😊","commit_id":"90c52db21eb576100fb3474cdb77c5080bc60a45"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"1a50475229abe5b14a37ce6e42eecfd130d17fc0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"5a07d757_921984cc","updated":"2022-09-30 12:27:26.000000000","message":"Sounds good. We can keep it as-is in order to backport to stable/wallaby (and, if needed, stable/train).\n\nA follow-up would be to move the ansible code to a role in tripleo-ansible, so that we would be able to re-use it in other places.","commit_id":"90c52db21eb576100fb3474cdb77c5080bc60a45"}],"deployment/ovn/ovn-controller-container-puppet.yaml":[{"author":{"_account_id":33080,"name":"Mikolaj Ciecierski","display_name":"Mikolaj Ciecierski","email":"mciecier@redhat.com","username":"mciecierski"},"change_message_id":"d15661e1288e46e13874d0a7ddd7719f8cbc7b29","unresolved":true,"context_lines":[{"line_number":471,"context_line":"            - ovn"},{"line_number":472,"context_line":"            - ovn_image"},{"line_number":473,"context_line":"          become: true"},{"line_number":474,"context_line":"          loop: \"{{ groups[\u0027ovn_controller\u0027] }}\""},{"line_number":475,"context_line":"          delegate_to: \"{{ item }}\""},{"line_number":476,"context_line":"          async: {get_param: OVNControllerUpdateTimeout}"},{"line_number":477,"context_line":"          poll: 0"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"d018f6b8_a15d58fa","line":474,"updated":"2022-09-21 10:50:48.000000000","message":"Put the same filter as in this change:\nhttps://review.opendev.org/c/openstack/tripleo-heat-templates/+/856408/5/deployment/ovn/ovn-controller-container-puppet.yaml#468","commit_id":"65390ede1cf222ea24a2dacc2996d1e203187628"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"05ad0501369db52cd6f02d7fbca584675f6387fc","unresolved":false,"context_lines":[{"line_number":471,"context_line":"            - ovn"},{"line_number":472,"context_line":"            - ovn_image"},{"line_number":473,"context_line":"          become: true"},{"line_number":474,"context_line":"          loop: \"{{ groups[\u0027ovn_controller\u0027] }}\""},{"line_number":475,"context_line":"          delegate_to: \"{{ item }}\""},{"line_number":476,"context_line":"          async: {get_param: OVNControllerUpdateTimeout}"},{"line_number":477,"context_line":"          poll: 0"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"d8b4110e_1b90c440","line":474,"in_reply_to":"d018f6b8_a15d58fa","updated":"2022-09-21 11:07:45.000000000","message":"Done","commit_id":"65390ede1cf222ea24a2dacc2996d1e203187628"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"48705216d1783ba0faabd2d8e1535eeb13196029","unresolved":true,"context_lines":[{"line_number":473,"context_line":"          become: true"},{"line_number":474,"context_line":"          loop: \"{{ groups[\u0027ovn_controller\u0027] | difference(groups[\u0027excluded_overcloud\u0027]) }}\""},{"line_number":475,"context_line":"          delegate_to: \"{{ item }}\""},{"line_number":476,"context_line":"          async: {get_param: OVNControllerUpdateTimeout}"},{"line_number":477,"context_line":"          poll: 0"},{"line_number":478,"context_line":"          register: ovn_controller_image_update"},{"line_number":479,"context_line":"          ignore_errors: true"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"98224a56_53982134","line":476,"updated":"2022-09-22 11:36:06.000000000","message":"Why are we using an async task? Ah, it looks like this is one of those tasks which is serialised because the playbook targets localhost and delegates to hosts... so this is a way of making this happen in parallel.\n\nIs there no way that we can rather target the hosts properly, instead of using this delegation mechanism? Async tasks cannot be retried and are generally harder to debug failures for.","commit_id":"9eef543dd1261e3cc67ad8090c7368864e6a4f5f"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"fa7373d1f114a73b800ebe4992e6bba6a2f89ffd","unresolved":true,"context_lines":[{"line_number":473,"context_line":"          become: true"},{"line_number":474,"context_line":"          loop: \"{{ groups[\u0027ovn_controller\u0027] | difference(groups[\u0027excluded_overcloud\u0027]) }}\""},{"line_number":475,"context_line":"          delegate_to: \"{{ item }}\""},{"line_number":476,"context_line":"          async: {get_param: OVNControllerUpdateTimeout}"},{"line_number":477,"context_line":"          poll: 0"},{"line_number":478,"context_line":"          register: ovn_controller_image_update"},{"line_number":479,"context_line":"          ignore_errors: true"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"e0b3d222_a9f09a0d","line":476,"in_reply_to":"98224a56_53982134","updated":"2022-09-23 11:28:23.000000000","message":"\u003e Is there no way that we can rather target the hosts properly, instead of using\n\u003e this delegation mechanism? Async tasks cannot be retried and are generally harder \u003e to debug failures for.\n\nThis is an external run and as such run from undercloud so delegation is mandatory.\n\nAs for the async, I think we want to avoid serial 1 here as we can have hundred of computes and that would end up being rather long, for a 30s pull and restart that would mean 50m instead of a couple of minutes.\n\nThe report at the end will only show:\n\nPLAY RECAP ******************************************************************************************************\nundercloud                 : ok\u003d1    changed\u003d1    unreachable\u003d0    failed\u003d1   skipped\u003d0    rescued\u003d0    ignored\u003d\n\nand then in the log you see the node that failed:\n\nfailed: [undercloud -\u003e sathlang-master-controller-1(192.168.24.11)] (item\u003d{\u0027failed\u0027: 0, \u0027started\u0027: 1, \u0027finished\u0027: 0, \u0027ansible_job_id\u0027: \u0027901422898610.773941\u0027, \u0027results_file\u0027: \u0027/home/tripleo-admin/.ansible_async/901422898610.773941\u0027, \u0027changed\u0027: True, \u0027item\u0027: \u0027sathlang-master-controller-1\u0027, \u0027ansible_loop_var\u0027: \u0027item\u0027}) \u003d\u003e {\"ansible_job_id\": \"901422898610.773941\", \"ansible_loop_var\": \"async_result_item\", \"async_result_item\": {\"ansible_job_id\": \"901422898610.773941\", \"ansible_loop_var\": \"item\", \"changed\": true, \"failed\": 0, \"finished\": 0, \"item\": \"sathlang-master-controller-1\", \"results_file\": \"/home/tripleo-admin/.ansible_async/901422898610.773941\", \"started\": 1}, \"attempts\": 1, \"changed\": true, \"cmd\": \"exit $((RANDOM % 2))\\n\", \"delta\": \"0:00:00.003263\", \"end\": \"2022-09-22 13:40:00.420052\", \"finished\": 1, \"msg\": \"non-zero return code\", \"rc\": 1, \"results_file\": \"/home/tripleo-admin/.ansible_async/901422898610.773941\", \"start\": \"2022-09-22 13:40:00.416789\", \"started\": 1, \"stderr\": \"\", \"stderr_lines\": [], \"stdout\": \"\", \"stdout_lines\": []}\n\nNot the best, but a grep will gives you the failed node:\n\ngrep -o \u0027failed.*] \u0027 res.log \nfailed: [undercloud -\u003e sathlang-master-compute-1(192.168.24.101)] \nfailed: [undercloud -\u003e sathlang-master-controller-0(192.168.24.10)] \nfailed: [undercloud -\u003e sathlang-master-controller-1(192.168.24.11)]","commit_id":"9eef543dd1261e3cc67ad8090c7368864e6a4f5f"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"440b4c6c893091c6c65b04db5b0a1ae0e182dddc","unresolved":false,"context_lines":[{"line_number":473,"context_line":"          become: true"},{"line_number":474,"context_line":"          loop: \"{{ groups[\u0027ovn_controller\u0027] | difference(groups[\u0027excluded_overcloud\u0027]) }}\""},{"line_number":475,"context_line":"          delegate_to: \"{{ item }}\""},{"line_number":476,"context_line":"          async: {get_param: OVNControllerUpdateTimeout}"},{"line_number":477,"context_line":"          poll: 0"},{"line_number":478,"context_line":"          register: ovn_controller_image_update"},{"line_number":479,"context_line":"          ignore_errors: true"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"b4c99afb_35587fef","line":476,"in_reply_to":"e0b3d222_a9f09a0d","updated":"2022-09-23 13:20:07.000000000","message":"OK, fair enough. I guess it is a limitation in the framework and changing that is out of scope for this patch. Thank you for taking the time to explain.","commit_id":"9eef543dd1261e3cc67ad8090c7368864e6a4f5f"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"48705216d1783ba0faabd2d8e1535eeb13196029","unresolved":true,"context_lines":[{"line_number":476,"context_line":"          async: {get_param: OVNControllerUpdateTimeout}"},{"line_number":477,"context_line":"          poll: 0"},{"line_number":478,"context_line":"          register: ovn_controller_image_update"},{"line_number":479,"context_line":"          ignore_errors: true"},{"line_number":480,"context_line":"          containers.podman.podman_image:"},{"line_number":481,"context_line":"            name: {get_param: ContainerOvnControllerConfigImage}"},{"line_number":482,"context_line":"            validate_certs: false"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"5d9b03e1_e30879d4","line":479,"range":{"start_line":479,"start_character":10,"end_line":479,"end_character":29},"updated":"2022-09-22 11:36:06.000000000","message":"Why do we ignore errors? This will show up as a failed task and cause the operator to go and investigate what failed... only to find that the failure was ignored on purpose.\n\nCould we rather use failed_when with a condition that defines known errors, so that an unexpected failure still causes the task to fail?\n\nAlternatively, could we do \u0027failed_when: false\u0027 so that it never fails and never shows a failed task result at the end of the play.","commit_id":"9eef543dd1261e3cc67ad8090c7368864e6a4f5f"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"7f0fa8918ed71606b52bc382a9fd1aa8aa72e21f","unresolved":true,"context_lines":[{"line_number":476,"context_line":"          async: {get_param: OVNControllerUpdateTimeout}"},{"line_number":477,"context_line":"          poll: 0"},{"line_number":478,"context_line":"          register: ovn_controller_image_update"},{"line_number":479,"context_line":"          ignore_errors: true"},{"line_number":480,"context_line":"          containers.podman.podman_image:"},{"line_number":481,"context_line":"            name: {get_param: ContainerOvnControllerConfigImage}"},{"line_number":482,"context_line":"            validate_certs: false"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"bf06f9e8_d5e9ad21","line":479,"range":{"start_line":479,"start_character":10,"end_line":479,"end_character":29},"in_reply_to":"0de3feef_53f53134","updated":"2022-09-26 12:41:21.000000000","message":"With ignore error:\n\nhttps://dpaste.com/55YA4J7KY\n\nwithout:\n\nhttps://dpaste.com/FJQV9T3ZA","commit_id":"9eef543dd1261e3cc67ad8090c7368864e6a4f5f"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"fa7373d1f114a73b800ebe4992e6bba6a2f89ffd","unresolved":true,"context_lines":[{"line_number":476,"context_line":"          async: {get_param: OVNControllerUpdateTimeout}"},{"line_number":477,"context_line":"          poll: 0"},{"line_number":478,"context_line":"          register: ovn_controller_image_update"},{"line_number":479,"context_line":"          ignore_errors: true"},{"line_number":480,"context_line":"          containers.podman.podman_image:"},{"line_number":481,"context_line":"            name: {get_param: ContainerOvnControllerConfigImage}"},{"line_number":482,"context_line":"            validate_certs: false"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"dd44b35e_41724378","line":479,"range":{"start_line":479,"start_character":10,"end_line":479,"end_character":29},"in_reply_to":"5d9b03e1_e30879d4","updated":"2022-09-23 11:28:23.000000000","message":"Hum, good point. The ignore_errors is there as we are checking the status in the async_status module.\n\nOki, I\u0027ll refactor this without the ignore error to find the best idiom here. It seems that the official doc don\u0027t have it [1]\n\nEdit1: I tested with and without ignore and the results are exactly the same. The async module is what matter here it seems.\n\nSo we can remove them, but letting them in doesn\u0027t change the output at all. Tested uing https://paste.opendev.org/show/bMxa2AKs0Pqe1JHpFd2V/ on master.\n\n[1] https://docs.ansible.com/ansible/latest/collections/ansible/builtin/async_status_module.html","commit_id":"9eef543dd1261e3cc67ad8090c7368864e6a4f5f"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"9216ebf311eeea4ceb52cd3b231f5dc592057d04","unresolved":true,"context_lines":[{"line_number":476,"context_line":"          async: {get_param: OVNControllerUpdateTimeout}"},{"line_number":477,"context_line":"          poll: 0"},{"line_number":478,"context_line":"          register: ovn_controller_image_update"},{"line_number":479,"context_line":"          ignore_errors: true"},{"line_number":480,"context_line":"          containers.podman.podman_image:"},{"line_number":481,"context_line":"            name: {get_param: ContainerOvnControllerConfigImage}"},{"line_number":482,"context_line":"            validate_certs: false"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"a62d0184_c5488471","line":479,"range":{"start_line":479,"start_character":10,"end_line":479,"end_character":29},"in_reply_to":"7a68663d_7f44aae0","updated":"2022-09-26 16:54:45.000000000","message":"My point is that it doesn\u0027t matter when poll is 0. The tasks is always trigger and stated as \"changed\" whether the ignore error is there or not. If the container.podman.podman_image within it fails, it is find out by the next tasks which is the async_satus. This cover point 1 (no error is expected here as it is checked in the next task) and partially 2: all errors will be caught by the \"Was the ovn_controller image pull successful.\"\n\nNow, if the whole poll 0 task (Force pull image in case image name doesn\u0027t change) fails for some ssh issue then it fails even ignore error (doesn\u0027t apply to ssh connection).\n\nSo this is overall a cosmetic issue as that parameter in that case has no effect. It just convey the idea that the error checking is done in the next task.\n\nHope it makes this clearer.\n\nNow I can remove it if you want, as it\u0027s not required either way.","commit_id":"9eef543dd1261e3cc67ad8090c7368864e6a4f5f"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"163c15bf42d60569018c9e7f0551230a11da7d28","unresolved":false,"context_lines":[{"line_number":476,"context_line":"          async: {get_param: OVNControllerUpdateTimeout}"},{"line_number":477,"context_line":"          poll: 0"},{"line_number":478,"context_line":"          register: ovn_controller_image_update"},{"line_number":479,"context_line":"          ignore_errors: true"},{"line_number":480,"context_line":"          containers.podman.podman_image:"},{"line_number":481,"context_line":"            name: {get_param: ContainerOvnControllerConfigImage}"},{"line_number":482,"context_line":"            validate_certs: false"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"6e1e8458_53b99cb3","line":479,"range":{"start_line":479,"start_character":10,"end_line":479,"end_character":29},"in_reply_to":"a62d0184_c5488471","updated":"2022-09-26 17:09:18.000000000","message":"Aha. OK, that makes sense now - thank you for taking the time. So I guess it\u0027s just a bad code smell, but cosmetic as you say. My preference would be to remove it, but I\u0027ll not block the patch as-is.","commit_id":"9eef543dd1261e3cc67ad8090c7368864e6a4f5f"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"57ed3d82720ae3824c1d03a65be3f4282c5e0ab7","unresolved":true,"context_lines":[{"line_number":476,"context_line":"          async: {get_param: OVNControllerUpdateTimeout}"},{"line_number":477,"context_line":"          poll: 0"},{"line_number":478,"context_line":"          register: ovn_controller_image_update"},{"line_number":479,"context_line":"          ignore_errors: true"},{"line_number":480,"context_line":"          containers.podman.podman_image:"},{"line_number":481,"context_line":"            name: {get_param: ContainerOvnControllerConfigImage}"},{"line_number":482,"context_line":"            validate_certs: false"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"7a68663d_7f44aae0","line":479,"range":{"start_line":479,"start_character":10,"end_line":479,"end_character":29},"in_reply_to":"bcc2ae2e_06f4eee3","updated":"2022-09-26 13:07:08.000000000","message":"Um, I think we might be missing the point here. There are two issues:\n\n1. If a known failure condition is hit, the task shows as failed which will cause the human to go looking at why, only to find that it is expected. This is confusing to the operator. If we have known failure conditions, we shouldn\u0027t fail the task.\n\n2. If an unknown failure condition is hit, the task fails, but we ignore it. That can cause a cascading failure later on. We should aim to avoid this.\n\nIf we really do not care about *any* failure, then we should use \u0027failed_when: false\u0027 so that the task results in success every time and we don\u0027t send the human on a wild goose chase.","commit_id":"9eef543dd1261e3cc67ad8090c7368864e6a4f5f"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"ecff5a823acab7523e81b39228ff885671c8c664","unresolved":true,"context_lines":[{"line_number":476,"context_line":"          async: {get_param: OVNControllerUpdateTimeout}"},{"line_number":477,"context_line":"          poll: 0"},{"line_number":478,"context_line":"          register: ovn_controller_image_update"},{"line_number":479,"context_line":"          ignore_errors: true"},{"line_number":480,"context_line":"          containers.podman.podman_image:"},{"line_number":481,"context_line":"            name: {get_param: ContainerOvnControllerConfigImage}"},{"line_number":482,"context_line":"            validate_certs: false"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"bcc2ae2e_06f4eee3","line":479,"range":{"start_line":479,"start_character":10,"end_line":479,"end_character":29},"in_reply_to":"bf06f9e8_d5e9ad21","updated":"2022-09-26 13:00:24.000000000","message":"Adding to this that with ssh connection error even with the ignore error I had direct failure on the async tasks","commit_id":"9eef543dd1261e3cc67ad8090c7368864e6a4f5f"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"440b4c6c893091c6c65b04db5b0a1ae0e182dddc","unresolved":true,"context_lines":[{"line_number":476,"context_line":"          async: {get_param: OVNControllerUpdateTimeout}"},{"line_number":477,"context_line":"          poll: 0"},{"line_number":478,"context_line":"          register: ovn_controller_image_update"},{"line_number":479,"context_line":"          ignore_errors: true"},{"line_number":480,"context_line":"          containers.podman.podman_image:"},{"line_number":481,"context_line":"            name: {get_param: ContainerOvnControllerConfigImage}"},{"line_number":482,"context_line":"            validate_certs: false"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"0de3feef_53f53134","line":479,"range":{"start_line":479,"start_character":10,"end_line":479,"end_character":29},"in_reply_to":"dd44b35e_41724378","updated":"2022-09-23 13:20:07.000000000","message":"That\u0027s odd. Do you have the output from that? Didn\u0027t it show tasks as failed and if the output is in color, wasn\u0027t it red?","commit_id":"9eef543dd1261e3cc67ad8090c7368864e6a4f5f"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"6a55afc3943224766ad8a53301a36ce64fb0af20","unresolved":true,"context_lines":[{"line_number":545,"context_line":"          register: async_poll_results"},{"line_number":546,"context_line":"          until: async_poll_results.finished"},{"line_number":547,"context_line":"          retries: {get_param: OVNControllerUpdateTimeout}"},{"line_number":548,"context_line":"          delay: 1"},{"line_number":549,"context_line":"      upgrade_tasks: []"},{"line_number":550,"context_line":"      scale_tasks:"},{"line_number":551,"context_line":"        - when:"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"fd99806a_2775d62f","line":548,"updated":"2022-10-06 14:39:58.000000000","message":"nit: do we really want this wait loop repeated so often? :)","commit_id":"90c52db21eb576100fb3474cdb77c5080bc60a45"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"c67bea19f121d3fcde46000f27889d84e0577174","unresolved":true,"context_lines":[{"line_number":545,"context_line":"          register: async_poll_results"},{"line_number":546,"context_line":"          until: async_poll_results.finished"},{"line_number":547,"context_line":"          retries: {get_param: OVNControllerUpdateTimeout}"},{"line_number":548,"context_line":"          delay: 1"},{"line_number":549,"context_line":"      upgrade_tasks: []"},{"line_number":550,"context_line":"      scale_tasks:"},{"line_number":551,"context_line":"        - when:"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"d6e10dfa_ea2dbb3a","line":548,"in_reply_to":"b7fd3a53_48ccdcbb","updated":"2022-10-10 08:04:49.000000000","message":"Perhaps delay 5 seconds, and retries \u003d OVNControllerUpdateTimeout / 5 ?\n\nOr something to that effect. It may make more sense to have a fairly large delay - maybe 10 or 30 secs.","commit_id":"90c52db21eb576100fb3474cdb77c5080bc60a45"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"2f639cb3a3b592528737cf288cb3611dfe910d71","unresolved":false,"context_lines":[{"line_number":545,"context_line":"          register: async_poll_results"},{"line_number":546,"context_line":"          until: async_poll_results.finished"},{"line_number":547,"context_line":"          retries: {get_param: OVNControllerUpdateTimeout}"},{"line_number":548,"context_line":"          delay: 1"},{"line_number":549,"context_line":"      upgrade_tasks: []"},{"line_number":550,"context_line":"      scale_tasks:"},{"line_number":551,"context_line":"        - when:"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"665d45d8_750aeac2","line":548,"in_reply_to":"d6e10dfa_ea2dbb3a","updated":"2022-10-10 14:26:44.000000000","message":"yes, that would make sense, thanks","commit_id":"90c52db21eb576100fb3474cdb77c5080bc60a45"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"7f3f9d029ee11fbf49725b504fbfc4d5c095794a","unresolved":true,"context_lines":[{"line_number":545,"context_line":"          register: async_poll_results"},{"line_number":546,"context_line":"          until: async_poll_results.finished"},{"line_number":547,"context_line":"          retries: {get_param: OVNControllerUpdateTimeout}"},{"line_number":548,"context_line":"          delay: 1"},{"line_number":549,"context_line":"      upgrade_tasks: []"},{"line_number":550,"context_line":"      scale_tasks:"},{"line_number":551,"context_line":"        - when:"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"b7fd3a53_48ccdcbb","line":548,"in_reply_to":"fd99806a_2775d62f","updated":"2022-10-07 15:51:41.000000000","message":"It\u0027s just that the retries is plugged into ovncontrollerupdatetimeout which is said to be 10min, if delay is not 1 second then it\u0027s not true... do you think I should patch this with a higher delay and do some computation on ovncontrollerupdatetimeout to match the expected time ?","commit_id":"90c52db21eb576100fb3474cdb77c5080bc60a45"}],"deployment/podman/podman-baremetal-ansible.yaml":[{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"3d56bae3029cde69651261c28282400b5d640bee","unresolved":true,"context_lines":[{"line_number":224,"context_line":"              command: /usr/sbin/pcs cluster destroy"},{"line_number":225,"context_line":"              when: pcs_stat.stat.exists"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"      update_tasks:"},{"line_number":228,"context_line":"        - name: Force pre-fetch of container images"},{"line_number":229,"context_line":"          when:"},{"line_number":230,"context_line":"            - (step|int) \u003d\u003d 5"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"445972b2_2922431d","line":227,"updated":"2022-09-22 15:01:49.000000000","message":"today we execute deploy and update tasks in this order:\n\n...\ndeploy step 3 ...\nupdate tasks for step 4 ...\ndeploy step 4 ...\nupdate tasks for step 5 ...\ndeploy step 5 ...             \n^^ before this patch, the task \"Force pre-fetch of container images\" used to be run here\nBut after this patch it will run before the deploy step 5, during update tasks for step 5\n\nI hope that was expected","commit_id":"9eef543dd1261e3cc67ad8090c7368864e6a4f5f"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"621bda6615e5bb327d0aa6643954ec1b0e3554ea","unresolved":false,"context_lines":[{"line_number":224,"context_line":"              command: /usr/sbin/pcs cluster destroy"},{"line_number":225,"context_line":"              when: pcs_stat.stat.exists"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"      update_tasks:"},{"line_number":228,"context_line":"        - name: Force pre-fetch of container images"},{"line_number":229,"context_line":"          when:"},{"line_number":230,"context_line":"            - (step|int) \u003d\u003d 5"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"bde296e6_b1eab65f","line":227,"in_reply_to":"445972b2_2922431d","updated":"2022-09-22 15:03:35.000000000","message":"oh, sorry, that used to belong to upgrade_tasks not deploy tasks","commit_id":"9eef543dd1261e3cc67ad8090c7368864e6a4f5f"}],"tripleo_heat_templates/tests/test_tht_ansible_syntax.py":[{"author":{"_account_id":33080,"name":"Mikolaj Ciecierski","display_name":"Mikolaj Ciecierski","email":"mciecier@redhat.com","username":"mciecierski"},"change_message_id":"d15661e1288e46e13874d0a7ddd7719f8cbc7b29","unresolved":true,"context_lines":[{"line_number":25,"context_line":"    \u0027ansible-pacemaker/modules\u0027"},{"line_number":26,"context_line":"]"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"plugin_paths \u003d ["},{"line_number":29,"context_line":"    \u0027tripleo-ansible/tripleo-ansible/tripleo_ansible/ansible_plugins/filter\u0027,"},{"line_number":30,"context_line":"]"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"d4fc355a_8df1cab8","line":28,"range":{"start_line":28,"start_character":0,"end_line":28,"end_character":12},"updated":"2022-09-21 10:50:48.000000000","message":"filters_plugins_path is more accurate name","commit_id":"65390ede1cf222ea24a2dacc2996d1e203187628"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"05ad0501369db52cd6f02d7fbca584675f6387fc","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    \u0027ansible-pacemaker/modules\u0027"},{"line_number":26,"context_line":"]"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"plugin_paths \u003d ["},{"line_number":29,"context_line":"    \u0027tripleo-ansible/tripleo-ansible/tripleo_ansible/ansible_plugins/filter\u0027,"},{"line_number":30,"context_line":"]"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"f356981d_e3755907","line":28,"range":{"start_line":28,"start_character":0,"end_line":28,"end_character":12},"in_reply_to":"d4fc355a_8df1cab8","updated":"2022-09-21 11:07:45.000000000","message":"Done","commit_id":"65390ede1cf222ea24a2dacc2996d1e203187628"}],"tripleo_heat_templates/tests/test_tht_ansible_syntax.yml":[{"author":{"_account_id":33080,"name":"Mikolaj Ciecierski","display_name":"Mikolaj Ciecierski","email":"mciecier@redhat.com","username":"mciecierski"},"change_message_id":"d15661e1288e46e13874d0a7ddd7719f8cbc7b29","unresolved":true,"context_lines":[{"line_number":88,"context_line":"    args:"},{"line_number":89,"context_line":"      chdir: \"{{ tmp_folder }}\""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"  # Compute is hardcoded in the following tasks"},{"line_number":92,"context_line":"  - name: Ensure required tripleo_role_name get defined"},{"line_number":93,"context_line":"    set_fact:"},{"line_number":94,"context_line":"      tripleo_role_name: \"Compute\""}],"source_content_type":"text/x-yaml","patch_set":10,"id":"78d64b96_c34ddf0d","line":91,"updated":"2022-09-21 10:50:48.000000000","message":"Why do we need setting this fact? Where it is used?","commit_id":"65390ede1cf222ea24a2dacc2996d1e203187628"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"05ad0501369db52cd6f02d7fbca584675f6387fc","unresolved":true,"context_lines":[{"line_number":88,"context_line":"    args:"},{"line_number":89,"context_line":"      chdir: \"{{ tmp_folder }}\""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"  # Compute is hardcoded in the following tasks"},{"line_number":92,"context_line":"  - name: Ensure required tripleo_role_name get defined"},{"line_number":93,"context_line":"    set_fact:"},{"line_number":94,"context_line":"      tripleo_role_name: \"Compute\""}],"source_content_type":"text/x-yaml","patch_set":10,"id":"9133226b_b8879f84","line":91,"in_reply_to":"78d64b96_c34ddf0d","updated":"2022-09-21 11:07:45.000000000","message":"There: https://review.opendev.org/c/openstack/tripleo-heat-templates/+/850933/10/deployment/podman/podman-baremetal-ansible.yaml#172","commit_id":"65390ede1cf222ea24a2dacc2996d1e203187628"},{"author":{"_account_id":33080,"name":"Mikolaj Ciecierski","display_name":"Mikolaj Ciecierski","email":"mciecier@redhat.com","username":"mciecierski"},"change_message_id":"20cff0f014baad3cbbb3412386c4a9fdb3bf6a2a","unresolved":false,"context_lines":[{"line_number":88,"context_line":"    args:"},{"line_number":89,"context_line":"      chdir: \"{{ tmp_folder }}\""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"  # Compute is hardcoded in the following tasks"},{"line_number":92,"context_line":"  - name: Ensure required tripleo_role_name get defined"},{"line_number":93,"context_line":"    set_fact:"},{"line_number":94,"context_line":"      tripleo_role_name: \"Compute\""}],"source_content_type":"text/x-yaml","patch_set":10,"id":"8e935b9f_3ed1fc76","line":91,"in_reply_to":"9133226b_b8879f84","updated":"2022-09-21 11:19:49.000000000","message":"ack, thank you","commit_id":"65390ede1cf222ea24a2dacc2996d1e203187628"}]}
