)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":31668,"deleted":true},"change_message_id":"7cb3d03a41a9408219699c1dd62d93088fb226ed","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Ken Fujimoto \u003cfujimoto@valinux.co.jp\u003e"},{"line_number":5,"context_line":"CommitDate: 2023-05-22 03:41:46 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Support anti-affinity rules in AZ reselection"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch enhances availability zone reselection to select"},{"line_number":10,"context_line":"zones based on anti-affinity rules. The zones subject to the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fc040b60_24554192","line":7,"updated":"2023-06-14 10:18:29.000000000","message":"nit: anti-affinity -\u003e Anti-Affinity\n(It is better to match with the description of Spec.)","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"cc5bbc57fb4c48e5c2ca40e73f0a6e03b3ae6ca6","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Ken Fujimoto \u003cfujimoto@valinux.co.jp\u003e"},{"line_number":5,"context_line":"CommitDate: 2023-05-22 03:41:46 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Support anti-affinity rules in AZ reselection"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch enhances availability zone reselection to select"},{"line_number":10,"context_line":"zones based on anti-affinity rules. The zones subject to the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"170d8d42_38cf0435","line":7,"in_reply_to":"99e7d37e_36624b7b","updated":"2023-07-05 01:40:36.000000000","message":"Done","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"c5e9297578d91e1b9cef6b63d1adda2b7c19367e","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Ken Fujimoto \u003cfujimoto@valinux.co.jp\u003e"},{"line_number":5,"context_line":"CommitDate: 2023-05-22 03:41:46 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Support anti-affinity rules in AZ reselection"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch enhances availability zone reselection to select"},{"line_number":10,"context_line":"zones based on anti-affinity rules. The zones subject to the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"99e7d37e_36624b7b","line":7,"in_reply_to":"fc040b60_24554192","updated":"2023-06-16 09:01:37.000000000","message":"Thank you for the information. I will fix.","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"7cb3d03a41a9408219699c1dd62d93088fb226ed","unresolved":true,"context_lines":[{"line_number":7,"context_line":"Support anti-affinity rules in AZ reselection"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch enhances availability zone reselection to select"},{"line_number":10,"context_line":"zones based on anti-affinity rules. The zones subject to the"},{"line_number":11,"context_line":"anti-affinity rules in availability zone reselection are"},{"line_number":12,"context_line":"selected if there are no more zones available."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5254af6d_312d4f34","line":10,"range":{"start_line":10,"start_character":15,"end_line":10,"end_character":28},"updated":"2023-06-14 10:18:29.000000000","message":"ditto","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"c5e9297578d91e1b9cef6b63d1adda2b7c19367e","unresolved":true,"context_lines":[{"line_number":7,"context_line":"Support anti-affinity rules in AZ reselection"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch enhances availability zone reselection to select"},{"line_number":10,"context_line":"zones based on anti-affinity rules. The zones subject to the"},{"line_number":11,"context_line":"anti-affinity rules in availability zone reselection are"},{"line_number":12,"context_line":"selected if there are no more zones available."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"8ee08f47_f48f30b2","line":10,"range":{"start_line":10,"start_character":15,"end_line":10,"end_character":28},"in_reply_to":"5254af6d_312d4f34","updated":"2023-06-16 09:01:37.000000000","message":"I will fix.","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"cc5bbc57fb4c48e5c2ca40e73f0a6e03b3ae6ca6","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Support anti-affinity rules in AZ reselection"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch enhances availability zone reselection to select"},{"line_number":10,"context_line":"zones based on anti-affinity rules. The zones subject to the"},{"line_number":11,"context_line":"anti-affinity rules in availability zone reselection are"},{"line_number":12,"context_line":"selected if there are no more zones available."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"c782814d_5789fa7a","line":10,"range":{"start_line":10,"start_character":15,"end_line":10,"end_character":28},"in_reply_to":"8ee08f47_f48f30b2","updated":"2023-07-05 01:40:36.000000000","message":"Done","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"7cb3d03a41a9408219699c1dd62d93088fb226ed","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch enhances availability zone reselection to select"},{"line_number":10,"context_line":"zones based on anti-affinity rules. The zones subject to the"},{"line_number":11,"context_line":"anti-affinity rules in availability zone reselection are"},{"line_number":12,"context_line":"selected if there are no more zones available."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Implements: blueprint enhance-placement"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1975d637_a79e1782","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":13},"updated":"2023-06-14 10:18:29.000000000","message":"ditto","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"c5e9297578d91e1b9cef6b63d1adda2b7c19367e","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch enhances availability zone reselection to select"},{"line_number":10,"context_line":"zones based on anti-affinity rules. The zones subject to the"},{"line_number":11,"context_line":"anti-affinity rules in availability zone reselection are"},{"line_number":12,"context_line":"selected if there are no more zones available."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Implements: blueprint enhance-placement"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"72d1cc49_f0770174","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":13},"in_reply_to":"1975d637_a79e1782","updated":"2023-06-16 09:01:37.000000000","message":"I will fix.","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"cc5bbc57fb4c48e5c2ca40e73f0a6e03b3ae6ca6","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch enhances availability zone reselection to select"},{"line_number":10,"context_line":"zones based on anti-affinity rules. The zones subject to the"},{"line_number":11,"context_line":"anti-affinity rules in availability zone reselection are"},{"line_number":12,"context_line":"selected if there are no more zones available."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Implements: blueprint enhance-placement"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"13c68af0_ef269b03","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":13},"in_reply_to":"72d1cc49_f0770174","updated":"2023-07-05 01:40:36.000000000","message":"Done","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"4ee5c02de91526593d1f23473b054ab99d314e80","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"4303fa27_1806cfa1","updated":"2023-06-13 03:39:44.000000000","message":"Thank you for the review.","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"c5e9297578d91e1b9cef6b63d1adda2b7c19367e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"bd03e19c_913f93f2","updated":"2023-06-16 09:01:37.000000000","message":"Thank you for the review.","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":34712,"name":"Yuta Kazato","display_name":"Yuta Kazato","email":"yuta.kazato.nw@hco.ntt.co.jp","username":"kazatoy-ntt"},"change_message_id":"c4b348fddf427224fb8b805e84cba8ae35d949ae","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"b90f8c5e_e168e212","updated":"2023-06-12 06:29:03.000000000","message":"Thanks for your patch. Please kindly check my comments.","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":34712,"name":"Yuta Kazato","display_name":"Yuta Kazato","email":"yuta.kazato.nw@hco.ntt.co.jp","username":"kazatoy-ntt"},"change_message_id":"b3fafa3f238ff13a614d5d4d2431d69de3bdfe4d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"9bf144f3_9f81d0e1","updated":"2023-07-04 11:59:03.000000000","message":"LGTM","commit_id":"5511e2e23ac5375a8e8bd7060755feea106abc5b"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"cc5bbc57fb4c48e5c2ca40e73f0a6e03b3ae6ca6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"ccf14d13_8019340c","updated":"2023-07-05 01:40:36.000000000","message":"LGTM","commit_id":"5511e2e23ac5375a8e8bd7060755feea106abc5b"},{"author":{"_account_id":34712,"name":"Yuta Kazato","display_name":"Yuta Kazato","email":"yuta.kazato.nw@hco.ntt.co.jp","username":"kazatoy-ntt"},"change_message_id":"9e903360d58895c62fc4cc9c4b2580ed1d6aba6a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"79ef51fe_394dbad4","updated":"2023-07-06 23:47:46.000000000","message":"Since the updated spec have already been merged[1], please kindly review this patch. Thanks.\n[1] https://review.opendev.org/c/openstack/tacker-specs/+/886243","commit_id":"5511e2e23ac5375a8e8bd7060755feea106abc5b"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"45d04fc89844a6078d5429b2beedece65f6ab3a0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"9486e462_4568b159","updated":"2023-07-14 04:12:30.000000000","message":"Thank you for the review.","commit_id":"5511e2e23ac5375a8e8bd7060755feea106abc5b"},{"author":{"_account_id":34712,"name":"Yuta Kazato","display_name":"Yuta Kazato","email":"yuta.kazato.nw@hco.ntt.co.jp","username":"kazatoy-ntt"},"change_message_id":"90b61f1da1fa5e3b3d103917f7aa0020031db6f7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"ea9f3acf_e92bdbdc","updated":"2023-07-04 01:34:39.000000000","message":"Thanks for your re-works! LGTM (waiting for Zuul validation)","commit_id":"5511e2e23ac5375a8e8bd7060755feea106abc5b"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"b4c72cada6c1fc49d7d5bc87706c4bd7fb79bfb3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"5ba8ce90_7f5ae425","updated":"2023-07-04 02:35:51.000000000","message":"recheck infra-failure","commit_id":"5511e2e23ac5375a8e8bd7060755feea106abc5b"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"3e5ec7a636ae63b0047a483f2137654da9793e18","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"fabe06b0_c2a58a1d","updated":"2023-07-27 06:37:59.000000000","message":"Thanks for your patch, LGTM.","commit_id":"62a01ce2c03c34c2bdf3488ee8b4742443d7aea2"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"8f9fec26fc0557a80e38eec34d26b6ec315f5744","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"2c66e31f_00bc3df2","updated":"2023-07-29 07:20:12.000000000","message":"recheck - infra failure","commit_id":"62a01ce2c03c34c2bdf3488ee8b4742443d7aea2"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"1c8b9bb5efaa2487156734bc7575970684c5665f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"4af0d43e_3fd63d5b","updated":"2023-07-28 23:11:39.000000000","message":"recheck - infra failure","commit_id":"62a01ce2c03c34c2bdf3488ee8b4742443d7aea2"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"756c1645a5714a0bf45779af35c04453e0988abb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"879d2e9b_0f23d0e4","updated":"2023-07-28 07:58:15.000000000","message":"recheck - infra failure","commit_id":"62a01ce2c03c34c2bdf3488ee8b4742443d7aea2"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"f74097282834ad8710aebe84dc51ae8ea38a3311","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"97ca75f4_76df67e8","updated":"2023-07-31 01:05:15.000000000","message":"recheck - infra failure in gate jobs","commit_id":"62a01ce2c03c34c2bdf3488ee8b4742443d7aea2"},{"author":{"_account_id":31857,"name":"Ayumu Ueha","email":"ueha.ayumu@fujitsu.com","username":"ueha"},"change_message_id":"b9ab61f604406f11dd7f03e81a8f828e813e5369","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"f6e04406_ed3584a4","updated":"2023-07-27 08:15:39.000000000","message":"recheck - infra failure, Bad Gateway error occur in gate jobs","commit_id":"62a01ce2c03c34c2bdf3488ee8b4742443d7aea2"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"e09104fcea2cdf9b8c90f14521fecdf1df88cd69","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"0199d82e_6312831c","updated":"2023-07-21 00:43:34.000000000","message":"recheck infra-failure","commit_id":"62a01ce2c03c34c2bdf3488ee8b4742443d7aea2"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"1ece1c1a06e85172777a74e487cc97fb0a8b1ff3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"0822c94b_44a6fadd","updated":"2023-07-20 07:14:23.000000000","message":"recheck infra-failure","commit_id":"62a01ce2c03c34c2bdf3488ee8b4742443d7aea2"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"f70a71850906cdfa5f3fa97c844aecb4e325ccfb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"0e370e54_937766c1","updated":"2023-07-19 22:07:21.000000000","message":"recheck infra-failure","commit_id":"62a01ce2c03c34c2bdf3488ee8b4742443d7aea2"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"3c20cf5e5eadae375fb3440ea15e784cc84fa73b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"3deb2c28_fe562e32","updated":"2023-07-20 22:01:33.000000000","message":"recheck infra-failure","commit_id":"62a01ce2c03c34c2bdf3488ee8b4742443d7aea2"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"52ddf7d2f5ce447d59419fe2c211a38d8c64ffbc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"4e32d705_3395ab82","updated":"2023-07-19 05:48:15.000000000","message":"recheck infra-failure","commit_id":"62a01ce2c03c34c2bdf3488ee8b4742443d7aea2"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"d3bd135cae096a6c9aab194df28d6c817418d5f8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"51977db9_0e0cb30a","updated":"2023-07-20 00:59:55.000000000","message":"recheck infra-failure","commit_id":"62a01ce2c03c34c2bdf3488ee8b4742443d7aea2"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"31f3042de525c4f69c3c0259042f5c75104b0b59","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"6446d3ed_949760d5","updated":"2023-07-23 22:07:55.000000000","message":"recheck infra-failure","commit_id":"62a01ce2c03c34c2bdf3488ee8b4742443d7aea2"},{"author":{"_account_id":4149,"name":"Itsuro Oda","email":"oda@valinux.co.jp","username":"oda-g"},"change_message_id":"a3e5134c432a26e9d85f9219a52914654ce0134d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"6b35344f_59dd7541","updated":"2023-07-21 03:23:25.000000000","message":"recheck infra-failure","commit_id":"62a01ce2c03c34c2bdf3488ee8b4742443d7aea2"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"b4272ee79a5d7e37fa3be3ec51d6ff1673eaca62","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"852ae61a_abde456e","updated":"2023-07-21 07:23:11.000000000","message":"recheck infra-failure","commit_id":"62a01ce2c03c34c2bdf3488ee8b4742443d7aea2"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"b8610f35b103ff53d85fa61beb07cbb8faa41fd9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"c43e2985_1e5588c7","updated":"2023-07-18 00:21:27.000000000","message":"recheck infra-failure","commit_id":"62a01ce2c03c34c2bdf3488ee8b4742443d7aea2"}],"tacker/sol_refactored/infra_drivers/openstack/openstack.py":[{"author":{"_account_id":31668,"deleted":true},"change_message_id":"7cb3d03a41a9408219699c1dd62d93088fb226ed","unresolved":true,"context_lines":[{"line_number":677,"context_line":""},{"line_number":678,"context_line":"    def _update_stack_retry(self, heat_client, fields, inst, stack_id,"},{"line_number":679,"context_line":"            error_ex, vim_info, vdu_ids, anti_rules):"},{"line_number":680,"context_line":"        # NOTE: This method first selects a zone from unused zones"},{"line_number":681,"context_line":"        # and retries in case of failure due to zone resource constraints."},{"line_number":682,"context_line":"        # If there are no unused zones, it selects from the used zones."},{"line_number":683,"context_line":"        if not CONF.v2_vnfm.placement_fallback_best_effort:"},{"line_number":684,"context_line":"            # NOTE: If fallback_best_effort is False,"},{"line_number":685,"context_line":"            # AZ reselection is not executed."}],"source_content_type":"text/x-python","patch_set":2,"id":"33bbd0fd_3163f63f","line":682,"range":{"start_line":680,"start_character":8,"end_line":682,"end_character":71},"updated":"2023-06-14 10:18:29.000000000","message":"Is it okay to leave this comment as is?","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"c5e9297578d91e1b9cef6b63d1adda2b7c19367e","unresolved":true,"context_lines":[{"line_number":677,"context_line":""},{"line_number":678,"context_line":"    def _update_stack_retry(self, heat_client, fields, inst, stack_id,"},{"line_number":679,"context_line":"            error_ex, vim_info, vdu_ids, anti_rules):"},{"line_number":680,"context_line":"        # NOTE: This method first selects a zone from unused zones"},{"line_number":681,"context_line":"        # and retries in case of failure due to zone resource constraints."},{"line_number":682,"context_line":"        # If there are no unused zones, it selects from the used zones."},{"line_number":683,"context_line":"        if not CONF.v2_vnfm.placement_fallback_best_effort:"},{"line_number":684,"context_line":"            # NOTE: If fallback_best_effort is False,"},{"line_number":685,"context_line":"            # AZ reselection is not executed."}],"source_content_type":"text/x-python","patch_set":2,"id":"61264f0e_8ff2cf71","line":682,"range":{"start_line":680,"start_character":8,"end_line":682,"end_character":71},"in_reply_to":"33bbd0fd_3163f63f","updated":"2023-06-16 09:01:37.000000000","message":"This comment is not necessary. I remove this comment.","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"cc5bbc57fb4c48e5c2ca40e73f0a6e03b3ae6ca6","unresolved":false,"context_lines":[{"line_number":677,"context_line":""},{"line_number":678,"context_line":"    def _update_stack_retry(self, heat_client, fields, inst, stack_id,"},{"line_number":679,"context_line":"            error_ex, vim_info, vdu_ids, anti_rules):"},{"line_number":680,"context_line":"        # NOTE: This method first selects a zone from unused zones"},{"line_number":681,"context_line":"        # and retries in case of failure due to zone resource constraints."},{"line_number":682,"context_line":"        # If there are no unused zones, it selects from the used zones."},{"line_number":683,"context_line":"        if not CONF.v2_vnfm.placement_fallback_best_effort:"},{"line_number":684,"context_line":"            # NOTE: If fallback_best_effort is False,"},{"line_number":685,"context_line":"            # AZ reselection is not executed."}],"source_content_type":"text/x-python","patch_set":2,"id":"9169a5e0_7c4b3ca2","line":682,"range":{"start_line":680,"start_character":8,"end_line":682,"end_character":71},"in_reply_to":"61264f0e_8ff2cf71","updated":"2023-07-05 01:40:36.000000000","message":"Done","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":34712,"name":"Yuta Kazato","display_name":"Yuta Kazato","email":"yuta.kazato.nw@hco.ntt.co.jp","username":"kazatoy-ntt"},"change_message_id":"c4b348fddf427224fb8b805e84cba8ae35d949ae","unresolved":true,"context_lines":[{"line_number":703,"context_line":"        while retry_count \u003e 0:"},{"line_number":704,"context_line":"            exclude_zones \u003d self._get_exclude_zone("},{"line_number":705,"context_line":"                inst, anti_rules, failed_vdu_id, vdu_ids, vdu_dict)"},{"line_number":706,"context_line":"            if zones - exclude_zones - failed_zones:"},{"line_number":707,"context_line":"                new_zone \u003d list(zones - exclude_zones - failed_zones)[0]"},{"line_number":708,"context_line":"            elif exclude_zones - failed_zones:"},{"line_number":709,"context_line":"                new_zone \u003d list(exclude_zones - failed_zones)[0]"}],"source_content_type":"text/x-python","patch_set":2,"id":"bdb31a54_c910f2bb","line":706,"updated":"2023-06-12 06:29:03.000000000","message":"Could you add comments each patterns because `elif exclude_zones - failed_zones` pattern does not comply with the anti-affinity rules.\nPlease add the rules for reselection to the following item.\n- if zones - exclude_zones - failed_zones:\n- elif exclude_zones - failed_zones:\n- else:","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":34712,"name":"Yuta Kazato","display_name":"Yuta Kazato","email":"yuta.kazato.nw@hco.ntt.co.jp","username":"kazatoy-ntt"},"change_message_id":"90b61f1da1fa5e3b3d103917f7aa0020031db6f7","unresolved":false,"context_lines":[{"line_number":703,"context_line":"        while retry_count \u003e 0:"},{"line_number":704,"context_line":"            exclude_zones \u003d self._get_exclude_zone("},{"line_number":705,"context_line":"                inst, anti_rules, failed_vdu_id, vdu_ids, vdu_dict)"},{"line_number":706,"context_line":"            if zones - exclude_zones - failed_zones:"},{"line_number":707,"context_line":"                new_zone \u003d list(zones - exclude_zones - failed_zones)[0]"},{"line_number":708,"context_line":"            elif exclude_zones - failed_zones:"},{"line_number":709,"context_line":"                new_zone \u003d list(exclude_zones - failed_zones)[0]"}],"source_content_type":"text/x-python","patch_set":2,"id":"3b3e1b67_f50027f4","line":706,"in_reply_to":"b66afa89_68aa2124","updated":"2023-07-04 01:34:39.000000000","message":"Thanks for your replies and updates.\nit is enough to write your comment regarding \"elif exclude_zones - failed_zones\".\nDone.","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"4ee5c02de91526593d1f23473b054ab99d314e80","unresolved":true,"context_lines":[{"line_number":703,"context_line":"        while retry_count \u003e 0:"},{"line_number":704,"context_line":"            exclude_zones \u003d self._get_exclude_zone("},{"line_number":705,"context_line":"                inst, anti_rules, failed_vdu_id, vdu_ids, vdu_dict)"},{"line_number":706,"context_line":"            if zones - exclude_zones - failed_zones:"},{"line_number":707,"context_line":"                new_zone \u003d list(zones - exclude_zones - failed_zones)[0]"},{"line_number":708,"context_line":"            elif exclude_zones - failed_zones:"},{"line_number":709,"context_line":"                new_zone \u003d list(exclude_zones - failed_zones)[0]"}],"source_content_type":"text/x-python","patch_set":2,"id":"b66afa89_68aa2124","line":706,"in_reply_to":"bdb31a54_c910f2bb","updated":"2023-06-13 03:39:44.000000000","message":"I see. I will add a comment. However, I think it is only needed for the pattern that does not comply with the anti-affinity rules of `elif exclude_zones - failed_zones` .\nIs that alright?","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":34712,"name":"Yuta Kazato","display_name":"Yuta Kazato","email":"yuta.kazato.nw@hco.ntt.co.jp","username":"kazatoy-ntt"},"change_message_id":"c4b348fddf427224fb8b805e84cba8ae35d949ae","unresolved":true,"context_lines":[{"line_number":743,"context_line":"        match_result \u003d re.search(r\u0027resources\\.((.*)-([0-9]+))\u0027, ex_detail)"},{"line_number":744,"context_line":"        if match_result is None:"},{"line_number":745,"context_line":"            LOG.warning(\"CONF v2_vnfm.placement_az_resource_error is \""},{"line_number":746,"context_line":"                        \"invalid. Please check.\")"},{"line_number":747,"context_line":"            return None, None"},{"line_number":748,"context_line":""},{"line_number":749,"context_line":"        vdu_id \u003d match_result.group(1)"}],"source_content_type":"text/x-python","patch_set":2,"id":"d4db9c3b_ad51c68c","line":746,"range":{"start_line":746,"start_character":41,"end_line":746,"end_character":46},"updated":"2023-06-12 06:29:03.000000000","message":"nits: check -\u003e check it","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":34712,"name":"Yuta Kazato","display_name":"Yuta Kazato","email":"yuta.kazato.nw@hco.ntt.co.jp","username":"kazatoy-ntt"},"change_message_id":"90b61f1da1fa5e3b3d103917f7aa0020031db6f7","unresolved":false,"context_lines":[{"line_number":743,"context_line":"        match_result \u003d re.search(r\u0027resources\\.((.*)-([0-9]+))\u0027, ex_detail)"},{"line_number":744,"context_line":"        if match_result is None:"},{"line_number":745,"context_line":"            LOG.warning(\"CONF v2_vnfm.placement_az_resource_error is \""},{"line_number":746,"context_line":"                        \"invalid. Please check.\")"},{"line_number":747,"context_line":"            return None, None"},{"line_number":748,"context_line":""},{"line_number":749,"context_line":"        vdu_id \u003d match_result.group(1)"}],"source_content_type":"text/x-python","patch_set":2,"id":"f9815c41_d1f5f07a","line":746,"range":{"start_line":746,"start_character":41,"end_line":746,"end_character":46},"in_reply_to":"c94365b7_e3bce17a","updated":"2023-07-04 01:34:39.000000000","message":"Done","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"4ee5c02de91526593d1f23473b054ab99d314e80","unresolved":true,"context_lines":[{"line_number":743,"context_line":"        match_result \u003d re.search(r\u0027resources\\.((.*)-([0-9]+))\u0027, ex_detail)"},{"line_number":744,"context_line":"        if match_result is None:"},{"line_number":745,"context_line":"            LOG.warning(\"CONF v2_vnfm.placement_az_resource_error is \""},{"line_number":746,"context_line":"                        \"invalid. Please check.\")"},{"line_number":747,"context_line":"            return None, None"},{"line_number":748,"context_line":""},{"line_number":749,"context_line":"        vdu_id \u003d match_result.group(1)"}],"source_content_type":"text/x-python","patch_set":2,"id":"c94365b7_e3bce17a","line":746,"range":{"start_line":746,"start_character":41,"end_line":746,"end_character":46},"in_reply_to":"d4db9c3b_ad51c68c","updated":"2023-06-13 03:39:44.000000000","message":"I will fix.","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"762ff0c5e6cd3b28806f91eedbb3894c7be8d6fd","unresolved":true,"context_lines":[{"line_number":742,"context_line":""},{"line_number":743,"context_line":"        match_result \u003d re.search(r\u0027resources\\.((.*)-([0-9]+))\u0027, ex_detail)"},{"line_number":744,"context_line":"        if match_result is None:"},{"line_number":745,"context_line":"            LOG.warning(\"CONF v2_vnfm.placement_az_resource_error is \""},{"line_number":746,"context_line":"                        \"invalid. Please check it.\")"},{"line_number":747,"context_line":"            return None, None"},{"line_number":748,"context_line":""},{"line_number":749,"context_line":"        vdu_id \u003d match_result.group(1)"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f2a7196_4d226ede","line":746,"range":{"start_line":745,"start_character":24,"end_line":746,"end_character":51},"updated":"2023-07-13 07:01:00.000000000","message":"This message is not helpful. Why don\u0027t you show the reason of invalid and actual contents in `ex_detail`?","commit_id":"5511e2e23ac5375a8e8bd7060755feea106abc5b"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"45d04fc89844a6078d5429b2beedece65f6ab3a0","unresolved":true,"context_lines":[{"line_number":742,"context_line":""},{"line_number":743,"context_line":"        match_result \u003d re.search(r\u0027resources\\.((.*)-([0-9]+))\u0027, ex_detail)"},{"line_number":744,"context_line":"        if match_result is None:"},{"line_number":745,"context_line":"            LOG.warning(\"CONF v2_vnfm.placement_az_resource_error is \""},{"line_number":746,"context_line":"                        \"invalid. Please check it.\")"},{"line_number":747,"context_line":"            return None, None"},{"line_number":748,"context_line":""},{"line_number":749,"context_line":"        vdu_id \u003d match_result.group(1)"}],"source_content_type":"text/x-python","patch_set":3,"id":"4c8baf74_7f5c1e50","line":746,"range":{"start_line":745,"start_character":24,"end_line":746,"end_character":51},"in_reply_to":"5f2a7196_4d226ede","updated":"2023-07-14 04:12:30.000000000","message":"I understand. I will fix the content of this message.","commit_id":"5511e2e23ac5375a8e8bd7060755feea106abc5b"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"762ff0c5e6cd3b28806f91eedbb3894c7be8d6fd","unresolved":true,"context_lines":[{"line_number":765,"context_line":""},{"line_number":766,"context_line":"    def _get_anti_vdus(self, anti_rules, target_vdu):"},{"line_number":767,"context_line":"        anti_vdus \u003d set()"},{"line_number":768,"context_line":"        for (targets, type) in anti_rules:"},{"line_number":769,"context_line":"            if type \u003d\u003d \u0027zone\u0027 and target_vdu in targets:"},{"line_number":770,"context_line":"                if len(targets) \u003d\u003d 1:"},{"line_number":771,"context_line":"                    anti_vdus.add(target_vdu)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bca1606b_1e15912d","line":768,"range":{"start_line":768,"start_character":22,"end_line":768,"end_character":26},"updated":"2023-07-13 07:01:00.000000000","message":"You should\u0027t use such a reserved word as a name of variable.","commit_id":"5511e2e23ac5375a8e8bd7060755feea106abc5b"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"45d04fc89844a6078d5429b2beedece65f6ab3a0","unresolved":true,"context_lines":[{"line_number":765,"context_line":""},{"line_number":766,"context_line":"    def _get_anti_vdus(self, anti_rules, target_vdu):"},{"line_number":767,"context_line":"        anti_vdus \u003d set()"},{"line_number":768,"context_line":"        for (targets, type) in anti_rules:"},{"line_number":769,"context_line":"            if type \u003d\u003d \u0027zone\u0027 and target_vdu in targets:"},{"line_number":770,"context_line":"                if len(targets) \u003d\u003d 1:"},{"line_number":771,"context_line":"                    anti_vdus.add(target_vdu)"}],"source_content_type":"text/x-python","patch_set":3,"id":"c0d4ac86_4e2a7277","line":768,"range":{"start_line":768,"start_character":22,"end_line":768,"end_character":26},"in_reply_to":"bca1606b_1e15912d","updated":"2023-07-14 04:12:30.000000000","message":"I will fix.","commit_id":"5511e2e23ac5375a8e8bd7060755feea106abc5b"},{"author":{"_account_id":25701,"name":"Yasufumi Ogawa","email":"yasufum.o@gmail.com","username":"yasufum"},"change_message_id":"762ff0c5e6cd3b28806f91eedbb3894c7be8d6fd","unresolved":true,"context_lines":[{"line_number":773,"context_line":"                    anti_vdus |\u003d {vdu for vdu in targets if vdu !\u003d target_vdu}"},{"line_number":774,"context_line":"        return anti_vdus"},{"line_number":775,"context_line":""},{"line_number":776,"context_line":"    def _get_exclude_zone(self, inst, anti_rules, failed_vdu_id, vdu_ids,"},{"line_number":777,"context_line":"            vdu_dict):"},{"line_number":778,"context_line":"        def _get_vdu_from_vdu_with_idx(vdu_with_idx):"},{"line_number":779,"context_line":"            part \u003d vdu_with_idx.rpartition(\u0027-\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"882c2f07_67c313c1","line":776,"updated":"2023-07-13 07:01:00.000000000","message":"Although it\u0027a local method, could you add a short description for the usage and args because the procedure of the method from the name, especially around list comprehensions?","commit_id":"5511e2e23ac5375a8e8bd7060755feea106abc5b"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"45d04fc89844a6078d5429b2beedece65f6ab3a0","unresolved":true,"context_lines":[{"line_number":773,"context_line":"                    anti_vdus |\u003d {vdu for vdu in targets if vdu !\u003d target_vdu}"},{"line_number":774,"context_line":"        return anti_vdus"},{"line_number":775,"context_line":""},{"line_number":776,"context_line":"    def _get_exclude_zone(self, inst, anti_rules, failed_vdu_id, vdu_ids,"},{"line_number":777,"context_line":"            vdu_dict):"},{"line_number":778,"context_line":"        def _get_vdu_from_vdu_with_idx(vdu_with_idx):"},{"line_number":779,"context_line":"            part \u003d vdu_with_idx.rpartition(\u0027-\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3ccd9f09_7021e8d9","line":776,"in_reply_to":"882c2f07_67c313c1","updated":"2023-07-14 04:12:30.000000000","message":"I will add a description of this method.","commit_id":"5511e2e23ac5375a8e8bd7060755feea106abc5b"}],"tacker/tests/unit/sol_refactored/infra_drivers/openstack/test_openstack.py":[{"author":{"_account_id":31668,"deleted":true},"change_message_id":"7cb3d03a41a9408219699c1dd62d93088fb226ed","unresolved":true,"context_lines":[{"line_number":4319,"context_line":"        )"},{"line_number":4320,"context_line":"        fields_example \u003d copy.deepcopy(_fields_example_scale)"},{"line_number":4321,"context_line":"        heat_client \u003d openstack.heat_utils.HeatClient(vim_info)"},{"line_number":4322,"context_line":"        vdu_ids \u003d {\"VDU1-1\", \"VDU1-2\"}"},{"line_number":4323,"context_line":"        anti_rules \u003d [([\u0027VDU1\u0027, \u0027VDU2\u0027], \u0027zone\u0027)]"},{"line_number":4324,"context_line":""},{"line_number":4325,"context_line":"        sol_detail \u003d (\"Resource CREATE failed: ResourceInError: resources.\""}],"source_content_type":"text/x-python","patch_set":2,"id":"efb3cd8a_efd66e5c","line":4322,"updated":"2023-06-14 10:18:29.000000000","message":"Is it intentional not to include the following in vdu_ids?\n- VDU2-0\n- VDU2-VirtualStorage-0\n\nI feel that Anti-Affinity is not applied to exclude_zones unless at least VDU2-0 is included in vdu_ids.\n(What is the purpose of setting anti_rules in this test?)","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"744845259e3633b7d06c897ef23e397810791f26","unresolved":false,"context_lines":[{"line_number":4319,"context_line":"        )"},{"line_number":4320,"context_line":"        fields_example \u003d copy.deepcopy(_fields_example_scale)"},{"line_number":4321,"context_line":"        heat_client \u003d openstack.heat_utils.HeatClient(vim_info)"},{"line_number":4322,"context_line":"        vdu_ids \u003d {\"VDU1-1\", \"VDU1-2\"}"},{"line_number":4323,"context_line":"        anti_rules \u003d [([\u0027VDU1\u0027, \u0027VDU2\u0027], \u0027zone\u0027)]"},{"line_number":4324,"context_line":""},{"line_number":4325,"context_line":"        sol_detail \u003d (\"Resource CREATE failed: ResourceInError: resources.\""}],"source_content_type":"text/x-python","patch_set":2,"id":"30873cc0_4449855c","line":4322,"in_reply_to":"45d45028_35f90764","updated":"2023-06-19 00:54:03.000000000","message":"Thank you for your explanation.\nI understand the intent of this test.\nI was concerned that there was no test for the following processing,\nhttps://review.opendev.org/c/openstack/tacker/+/883614/2/tacker/sol_refactored/infra_drivers/openstack/openstack.py#787\n\nso it\u0027s okay if the test is added as you answered in another comment.\nhttps://review.opendev.org/c/openstack/tacker/+/883614/2/tacker/tests/unit/sol_refactored/infra_drivers/openstack/test_openstack.py#4399","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"c5e9297578d91e1b9cef6b63d1adda2b7c19367e","unresolved":true,"context_lines":[{"line_number":4319,"context_line":"        )"},{"line_number":4320,"context_line":"        fields_example \u003d copy.deepcopy(_fields_example_scale)"},{"line_number":4321,"context_line":"        heat_client \u003d openstack.heat_utils.HeatClient(vim_info)"},{"line_number":4322,"context_line":"        vdu_ids \u003d {\"VDU1-1\", \"VDU1-2\"}"},{"line_number":4323,"context_line":"        anti_rules \u003d [([\u0027VDU1\u0027, \u0027VDU2\u0027], \u0027zone\u0027)]"},{"line_number":4324,"context_line":""},{"line_number":4325,"context_line":"        sol_detail \u003d (\"Resource CREATE failed: ResourceInError: resources.\""}],"source_content_type":"text/x-python","patch_set":2,"id":"45d45028_35f90764","line":4322,"in_reply_to":"ae05f05b_e2f41e9c","updated":"2023-06-16 09:01:37.000000000","message":"The vdu_ids include only scale-out vnfcs. In this case, VDU2-0 already started, so it is not included. This test confirms that the same zone as VDU(VDU2-0) matched the anti-affinity rule is used last.\nDoes that answer your question?","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"552c17189c0d1cdd94e890a963333c7b0dd1b3a2","unresolved":true,"context_lines":[{"line_number":4319,"context_line":"        )"},{"line_number":4320,"context_line":"        fields_example \u003d copy.deepcopy(_fields_example_scale)"},{"line_number":4321,"context_line":"        heat_client \u003d openstack.heat_utils.HeatClient(vim_info)"},{"line_number":4322,"context_line":"        vdu_ids \u003d {\"VDU1-1\", \"VDU1-2\"}"},{"line_number":4323,"context_line":"        anti_rules \u003d [([\u0027VDU1\u0027, \u0027VDU2\u0027], \u0027zone\u0027)]"},{"line_number":4324,"context_line":""},{"line_number":4325,"context_line":"        sol_detail \u003d (\"Resource CREATE failed: ResourceInError: resources.\""}],"source_content_type":"text/x-python","patch_set":2,"id":"ae05f05b_e2f41e9c","line":4322,"in_reply_to":"efb3cd8a_efd66e5c","updated":"2023-06-14 23:59:53.000000000","message":"The above comment is intended to confirm whether it is not necessary to test whether exclude_zones is set and the Anti-Affinity rule is applied correctly in the following process.\nhttps://review.opendev.org/c/openstack/tacker/+/883614/2/tacker/sol_refactored/infra_drivers/openstack/openstack.py#787\n\nIs it sufficient for this test to test that the Anti-Affinity rule is applied in the following processing?\nhttps://review.opendev.org/c/openstack/tacker/+/883614/2/tacker/sol_refactored/infra_drivers/openstack/openstack.py#795","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":34712,"name":"Yuta Kazato","display_name":"Yuta Kazato","email":"yuta.kazato.nw@hco.ntt.co.jp","username":"kazatoy-ntt"},"change_message_id":"c4b348fddf427224fb8b805e84cba8ae35d949ae","unresolved":true,"context_lines":[{"line_number":4366,"context_line":"                            use_zone_list[0][\u0027VDU1-1\u0027])"},{"line_number":4367,"context_line":"        self.assertNotEqual(use_zone_list[1][\u0027VDU1-0\u0027],"},{"line_number":4368,"context_line":"                            use_zone_list[1][\u0027VDU1-1\u0027])"},{"line_number":4369,"context_line":"        self.assertNotEqual(use_zone_list[2][\u0027VDU1-0\u0027],"},{"line_number":4370,"context_line":"                            use_zone_list[2][\u0027VDU1-1\u0027])"},{"line_number":4371,"context_line":""},{"line_number":4372,"context_line":"        # Check for excluded zone used in VDU2-0"}],"source_content_type":"text/x-python","patch_set":2,"id":"90a0b738_6c23ecff","line":4369,"updated":"2023-06-12 06:29:03.000000000","message":"Is it not necessary to check other combinations such as `VDU1-0 and VDU1-2`?","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":34712,"name":"Yuta Kazato","display_name":"Yuta Kazato","email":"yuta.kazato.nw@hco.ntt.co.jp","username":"kazatoy-ntt"},"change_message_id":"90b61f1da1fa5e3b3d103917f7aa0020031db6f7","unresolved":false,"context_lines":[{"line_number":4366,"context_line":"                            use_zone_list[0][\u0027VDU1-1\u0027])"},{"line_number":4367,"context_line":"        self.assertNotEqual(use_zone_list[1][\u0027VDU1-0\u0027],"},{"line_number":4368,"context_line":"                            use_zone_list[1][\u0027VDU1-1\u0027])"},{"line_number":4369,"context_line":"        self.assertNotEqual(use_zone_list[2][\u0027VDU1-0\u0027],"},{"line_number":4370,"context_line":"                            use_zone_list[2][\u0027VDU1-1\u0027])"},{"line_number":4371,"context_line":""},{"line_number":4372,"context_line":"        # Check for excluded zone used in VDU2-0"}],"source_content_type":"text/x-python","patch_set":2,"id":"231fcf8c_f264db9a","line":4369,"in_reply_to":"5aedbf35_0be94eda","updated":"2023-07-04 01:34:39.000000000","message":"Thanks for your replies, I understood.\nDone","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"4ee5c02de91526593d1f23473b054ab99d314e80","unresolved":true,"context_lines":[{"line_number":4366,"context_line":"                            use_zone_list[0][\u0027VDU1-1\u0027])"},{"line_number":4367,"context_line":"        self.assertNotEqual(use_zone_list[1][\u0027VDU1-0\u0027],"},{"line_number":4368,"context_line":"                            use_zone_list[1][\u0027VDU1-1\u0027])"},{"line_number":4369,"context_line":"        self.assertNotEqual(use_zone_list[2][\u0027VDU1-0\u0027],"},{"line_number":4370,"context_line":"                            use_zone_list[2][\u0027VDU1-1\u0027])"},{"line_number":4371,"context_line":""},{"line_number":4372,"context_line":"        # Check for excluded zone used in VDU2-0"}],"source_content_type":"text/x-python","patch_set":2,"id":"5aedbf35_0be94eda","line":4369,"in_reply_to":"90a0b738_6c23ecff","updated":"2023-06-13 03:39:44.000000000","message":"Since VDU1-1 and VDU1-2 are the same zone in this case, I think that I should only check that VDU1-0 and VDU1-1(or VDU1-2) are different.","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"7cb3d03a41a9408219699c1dd62d93088fb226ed","unresolved":true,"context_lines":[{"line_number":4380,"context_line":"    def test_update_stack_retry_anti_affinity_in_vdu(self, mock_get_zone,"},{"line_number":4381,"context_line":"            mock_update_stack):"},{"line_number":4382,"context_line":"        # Test of _update_stack_retry when only failed VDU is defined"},{"line_number":4383,"context_line":"        # in the target of the anti-affinity rule."},{"line_number":4384,"context_line":"        # prepare"},{"line_number":4385,"context_line":"        CONF.v2_vnfm.placement_fallback_best_effort \u003d True"},{"line_number":4386,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5384d221_b4ae1c3e","line":4383,"updated":"2023-06-14 10:18:29.000000000","message":"nit: anti-affinity -\u003e Anti-Affinity","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"cc5bbc57fb4c48e5c2ca40e73f0a6e03b3ae6ca6","unresolved":false,"context_lines":[{"line_number":4380,"context_line":"    def test_update_stack_retry_anti_affinity_in_vdu(self, mock_get_zone,"},{"line_number":4381,"context_line":"            mock_update_stack):"},{"line_number":4382,"context_line":"        # Test of _update_stack_retry when only failed VDU is defined"},{"line_number":4383,"context_line":"        # in the target of the anti-affinity rule."},{"line_number":4384,"context_line":"        # prepare"},{"line_number":4385,"context_line":"        CONF.v2_vnfm.placement_fallback_best_effort \u003d True"},{"line_number":4386,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"98f2da3b_bd690630","line":4383,"in_reply_to":"0d3b7f7c_8e01873f","updated":"2023-07-05 01:40:36.000000000","message":"Done","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"c5e9297578d91e1b9cef6b63d1adda2b7c19367e","unresolved":true,"context_lines":[{"line_number":4380,"context_line":"    def test_update_stack_retry_anti_affinity_in_vdu(self, mock_get_zone,"},{"line_number":4381,"context_line":"            mock_update_stack):"},{"line_number":4382,"context_line":"        # Test of _update_stack_retry when only failed VDU is defined"},{"line_number":4383,"context_line":"        # in the target of the anti-affinity rule."},{"line_number":4384,"context_line":"        # prepare"},{"line_number":4385,"context_line":"        CONF.v2_vnfm.placement_fallback_best_effort \u003d True"},{"line_number":4386,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"0d3b7f7c_8e01873f","line":4383,"in_reply_to":"5384d221_b4ae1c3e","updated":"2023-06-16 09:01:37.000000000","message":"I will fix.","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"552c17189c0d1cdd94e890a963333c7b0dd1b3a2","unresolved":true,"context_lines":[{"line_number":4396,"context_line":"        fields_example \u003d copy.deepcopy("},{"line_number":4397,"context_line":"            _fields_example_scale_anti_affinity_in_vdu)"},{"line_number":4398,"context_line":"        heat_client \u003d openstack.heat_utils.HeatClient(vim_info)"},{"line_number":4399,"context_line":"        vdu_ids \u003d {\"VDU1-1\", \"VDU1-2\"}"},{"line_number":4400,"context_line":"        anti_rules \u003d [([\u0027VDU1\u0027], \u0027zone\u0027)]"},{"line_number":4401,"context_line":""},{"line_number":4402,"context_line":"        sol_detail \u003d (\"Resource CREATE failed: ResourceInError: resources.\""}],"source_content_type":"text/x-python","patch_set":2,"id":"04405c3b_a928cccd","line":4399,"updated":"2023-06-14 23:59:53.000000000","message":"Is it intentional not to include the following in vdu_ids?\n- VDU1-0\n\nIs it okay to not test whether exclude_zones are set in the following process and whether the Anti-Affinity rule is applied correctly?\nhttps://review.opendev.org/c/openstack/tacker/+/883614/2/tacker/sol_refactored/infra_drivers/openstack/openstack.py#787","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"c5e9297578d91e1b9cef6b63d1adda2b7c19367e","unresolved":true,"context_lines":[{"line_number":4396,"context_line":"        fields_example \u003d copy.deepcopy("},{"line_number":4397,"context_line":"            _fields_example_scale_anti_affinity_in_vdu)"},{"line_number":4398,"context_line":"        heat_client \u003d openstack.heat_utils.HeatClient(vim_info)"},{"line_number":4399,"context_line":"        vdu_ids \u003d {\"VDU1-1\", \"VDU1-2\"}"},{"line_number":4400,"context_line":"        anti_rules \u003d [([\u0027VDU1\u0027], \u0027zone\u0027)]"},{"line_number":4401,"context_line":""},{"line_number":4402,"context_line":"        sol_detail \u003d (\"Resource CREATE failed: ResourceInError: resources.\""}],"source_content_type":"text/x-python","patch_set":2,"id":"86ae2112_2ce37309","line":4399,"in_reply_to":"04405c3b_a928cccd","updated":"2023-06-16 09:01:37.000000000","message":"Same as above, but only scale-out target vnfcs are included in vdu_ids. \nThe zone used by VDU1-0 is excluded and compared at the end, but it would be better to check it as excluded_zons.\nI will add a case.","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":31668,"deleted":true},"change_message_id":"cc5bbc57fb4c48e5c2ca40e73f0a6e03b3ae6ca6","unresolved":false,"context_lines":[{"line_number":4396,"context_line":"        fields_example \u003d copy.deepcopy("},{"line_number":4397,"context_line":"            _fields_example_scale_anti_affinity_in_vdu)"},{"line_number":4398,"context_line":"        heat_client \u003d openstack.heat_utils.HeatClient(vim_info)"},{"line_number":4399,"context_line":"        vdu_ids \u003d {\"VDU1-1\", \"VDU1-2\"}"},{"line_number":4400,"context_line":"        anti_rules \u003d [([\u0027VDU1\u0027], \u0027zone\u0027)]"},{"line_number":4401,"context_line":""},{"line_number":4402,"context_line":"        sol_detail \u003d (\"Resource CREATE failed: ResourceInError: resources.\""}],"source_content_type":"text/x-python","patch_set":2,"id":"94337017_c54ec2c0","line":4399,"in_reply_to":"86ae2112_2ce37309","updated":"2023-07-05 01:40:36.000000000","message":"Done","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":34712,"name":"Yuta Kazato","display_name":"Yuta Kazato","email":"yuta.kazato.nw@hco.ntt.co.jp","username":"kazatoy-ntt"},"change_message_id":"c4b348fddf427224fb8b805e84cba8ae35d949ae","unresolved":true,"context_lines":[{"line_number":4435,"context_line":"        # Check for excluded zone used in VDU1-0"},{"line_number":4436,"context_line":"        self.assertEqual(3, mock_update_stack.call_count)"},{"line_number":4437,"context_line":"        expected_zone \u003d \u0027az-1\u0027"},{"line_number":4438,"context_line":"        self.assertEqual(expected_zone, use_zone_list[2][\u0027VDU1-1\u0027])"},{"line_number":4439,"context_line":""},{"line_number":4440,"context_line":"    @mock.patch.object(openstack.heat_utils.HeatClient, \u0027get_stack_id\u0027)"},{"line_number":4441,"context_line":"    @mock.patch.object(openstack.heat_utils.HeatClient, \u0027get_status\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"b3ada97d_9ff1c82e","line":4438,"updated":"2023-06-12 06:29:03.000000000","message":"Is it not necessary to check other combinations such as VDU1-2?","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":34712,"name":"Yuta Kazato","display_name":"Yuta Kazato","email":"yuta.kazato.nw@hco.ntt.co.jp","username":"kazatoy-ntt"},"change_message_id":"90b61f1da1fa5e3b3d103917f7aa0020031db6f7","unresolved":false,"context_lines":[{"line_number":4435,"context_line":"        # Check for excluded zone used in VDU1-0"},{"line_number":4436,"context_line":"        self.assertEqual(3, mock_update_stack.call_count)"},{"line_number":4437,"context_line":"        expected_zone \u003d \u0027az-1\u0027"},{"line_number":4438,"context_line":"        self.assertEqual(expected_zone, use_zone_list[2][\u0027VDU1-1\u0027])"},{"line_number":4439,"context_line":""},{"line_number":4440,"context_line":"    @mock.patch.object(openstack.heat_utils.HeatClient, \u0027get_stack_id\u0027)"},{"line_number":4441,"context_line":"    @mock.patch.object(openstack.heat_utils.HeatClient, \u0027get_status\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"87e5d48e_0d5b80e3","line":4438,"in_reply_to":"5ea1dd7e_aa5df1fe","updated":"2023-07-04 01:34:39.000000000","message":"Done","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"},{"author":{"_account_id":34226,"name":"Ken Fujimoto","email":"fujimoto@valinux.co.jp","username":"k-fujimoto"},"change_message_id":"4ee5c02de91526593d1f23473b054ab99d314e80","unresolved":true,"context_lines":[{"line_number":4435,"context_line":"        # Check for excluded zone used in VDU1-0"},{"line_number":4436,"context_line":"        self.assertEqual(3, mock_update_stack.call_count)"},{"line_number":4437,"context_line":"        expected_zone \u003d \u0027az-1\u0027"},{"line_number":4438,"context_line":"        self.assertEqual(expected_zone, use_zone_list[2][\u0027VDU1-1\u0027])"},{"line_number":4439,"context_line":""},{"line_number":4440,"context_line":"    @mock.patch.object(openstack.heat_utils.HeatClient, \u0027get_stack_id\u0027)"},{"line_number":4441,"context_line":"    @mock.patch.object(openstack.heat_utils.HeatClient, \u0027get_status\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"5ea1dd7e_aa5df1fe","line":4438,"in_reply_to":"b3ada97d_9ff1c82e","updated":"2023-06-13 03:39:44.000000000","message":"I will add a case comparing expected_zone and VDU1-2.","commit_id":"65e9019f59e063af3fcb9444852a371841047cfa"}]}
