)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"329eda129d22b35d8bd5edaa0a7f9181d794be1e","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix HealthMonitorToErrorOnRevertTask revert method"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"So far, whenever we had to revert HealthMonitorToErrorOnRevertTask,"},{"line_number":10,"context_line":"we called mark_health_mon_prov_status_error with the wrong parameter"},{"line_number":11,"context_line":"(health_mon[constants.POOL_ID] \u003d\u003d the pool id)."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This would set the pool\u0027s provisioning status to ERROR."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Later in the revert task we call mark_pool_prov_status_active with the"},{"line_number":16,"context_line":"correct argument (health_mon[constants.POOL_ID] \u003d\u003d the pool id), so we"},{"line_number":17,"context_line":"set it back to ACTIVE, and the task continues correctly."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"This means we might have missed setting the health monitor\u0027s"},{"line_number":20,"context_line":"provisioning status to ERROR, and therefore we might have missed some"},{"line_number":21,"context_line":"errors."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"This commit changes the argument to be"},{"line_number":24,"context_line":"health_mon[constants.HEALTH_MONITOR_ID]."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Change-Id: I5a749c751d184ec10957a31b569419d57fe8daf6"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7a267c5b_63eb2546","line":24,"range":{"start_line":9,"start_character":0,"end_line":24,"end_character":40},"updated":"2022-06-28 14:08:07.000000000","message":"Please create a story in Storyboard with this text as description and link the story and task in the commit message.","commit_id":"f551bb59db4ff4aae3a1822fd2a85d553016f280"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"a0bc81d3cd419e103bead766689278605e9300af","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix HealthMonitorToErrorOnRevertTask revert method"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"So far, whenever we had to revert HealthMonitorToErrorOnRevertTask,"},{"line_number":10,"context_line":"we called mark_health_mon_prov_status_error with the wrong parameter"},{"line_number":11,"context_line":"(health_mon[constants.POOL_ID] \u003d\u003d the pool id)."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This would set the pool\u0027s provisioning status to ERROR."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Later in the revert task we call mark_pool_prov_status_active with the"},{"line_number":16,"context_line":"correct argument (health_mon[constants.POOL_ID] \u003d\u003d the pool id), so we"},{"line_number":17,"context_line":"set it back to ACTIVE, and the task continues correctly."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"This means we might have missed setting the health monitor\u0027s"},{"line_number":20,"context_line":"provisioning status to ERROR, and therefore we might have missed some"},{"line_number":21,"context_line":"errors."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"This commit changes the argument to be"},{"line_number":24,"context_line":"health_mon[constants.HEALTH_MONITOR_ID]."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Change-Id: I5a749c751d184ec10957a31b569419d57fe8daf6"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"af1fb4d5_9225d1bd","line":24,"range":{"start_line":9,"start_character":0,"end_line":24,"end_character":40},"in_reply_to":"7a267c5b_63eb2546","updated":"2022-06-29 09:11:38.000000000","message":"Done","commit_id":"f551bb59db4ff4aae3a1822fd2a85d553016f280"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"329eda129d22b35d8bd5edaa0a7f9181d794be1e","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7678b50e_8f49ac07","updated":"2022-06-28 14:08:07.000000000","message":"Please add release notes as well. For instance using reno (https://docs.openstack.org/reno/latest/user/usage.html).\n","commit_id":"f551bb59db4ff4aae3a1822fd2a85d553016f280"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"3b861ca19e5fff97dc9f7decf48b2238a2785e73","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"40a94b18_2fa3b790","updated":"2022-06-28 14:23:56.000000000","message":"Thanks Tom, I will create those and also write a test which verifies this fix and release notes.","commit_id":"f551bb59db4ff4aae3a1822fd2a85d553016f280"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"a0bc81d3cd419e103bead766689278605e9300af","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e8284212_ebebd739","in_reply_to":"7678b50e_8f49ac07","updated":"2022-06-29 09:11:38.000000000","message":"Done","commit_id":"f551bb59db4ff4aae3a1822fd2a85d553016f280"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"a0bc81d3cd419e103bead766689278605e9300af","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"6cf87d27_c6330e42","updated":"2022-06-29 09:11:38.000000000","message":"Apart from the release notes it LGTM.","commit_id":"3691d8c348e906161cc6228778e95712593ae081"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"b65f08490c69ef798cac13abff71292333ab1d6c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"c08cdf14_85ddad05","updated":"2022-06-29 09:23:21.000000000","message":"Thanks Tom.","commit_id":"3691d8c348e906161cc6228778e95712593ae081"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"0f97c50c5068620566c9f4a87f71be53f67db767","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"c0f86100_0e585a96","updated":"2022-07-08 06:06:38.000000000","message":"Good catch, thanks for the fix","commit_id":"96f2ca7cecfca43000ddba929fc1bc348c845b27"}],"octavia/controller/worker/v2/tasks/lifecycle_tasks.py":[{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"329eda129d22b35d8bd5edaa0a7f9181d794be1e","unresolved":true,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    def revert(self, health_mon, listeners, loadbalancer, *args, **kwargs):"},{"line_number":57,"context_line":"        self.task_utils.mark_health_mon_prov_status_error("},{"line_number":58,"context_line":"            health_mon[constants.HEALTH_MONITOR_ID])"},{"line_number":59,"context_line":"        self.task_utils.mark_pool_prov_status_active("},{"line_number":60,"context_line":"            health_mon[constants.POOL_ID])"},{"line_number":61,"context_line":"        self.task_utils.mark_loadbalancer_prov_status_active("}],"source_content_type":"text/x-python","patch_set":1,"id":"3c47dedf_43fad1b3","line":58,"updated":"2022-06-28 14:08:07.000000000","message":"Good catch. The same bug seems to be in octavia/controller/worker/v1/tasks/lifecycle_tasks.py as well. Even the unit test seems to have the bug, which is probably why this hasn\u0027t been caught until now.","commit_id":"f551bb59db4ff4aae3a1822fd2a85d553016f280"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"a0bc81d3cd419e103bead766689278605e9300af","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    def revert(self, health_mon, listeners, loadbalancer, *args, **kwargs):"},{"line_number":57,"context_line":"        self.task_utils.mark_health_mon_prov_status_error("},{"line_number":58,"context_line":"            health_mon[constants.HEALTH_MONITOR_ID])"},{"line_number":59,"context_line":"        self.task_utils.mark_pool_prov_status_active("},{"line_number":60,"context_line":"            health_mon[constants.POOL_ID])"},{"line_number":61,"context_line":"        self.task_utils.mark_loadbalancer_prov_status_active("}],"source_content_type":"text/x-python","patch_set":1,"id":"a811a34e_323a46c2","line":58,"in_reply_to":"3c47dedf_43fad1b3","updated":"2022-06-29 09:11:38.000000000","message":"Done","commit_id":"f551bb59db4ff4aae3a1822fd2a85d553016f280"}],"releasenotes/notes/fix-health-monitor-to-error-revert-task-feb38ba7641a4892.yaml":[{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"a0bc81d3cd419e103bead766689278605e9300af","unresolved":true,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Fix HealthMonitorToErrorOnRevertTask revert method. From now, the"},{"line_number":5,"context_line":"    healthmonitor will set to ERROR provisioning state on revert task instead"},{"line_number":6,"context_line":"    of the pool."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"733fd7d7_5c221a6c","line":5,"range":{"start_line":5,"start_character":18,"end_line":5,"end_character":26},"updated":"2022-06-29 09:11:38.000000000","message":"\"will get set\"","commit_id":"3691d8c348e906161cc6228778e95712593ae081"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"b65f08490c69ef798cac13abff71292333ab1d6c","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Fix HealthMonitorToErrorOnRevertTask revert method. From now, the"},{"line_number":5,"context_line":"    healthmonitor will set to ERROR provisioning state on revert task instead"},{"line_number":6,"context_line":"    of the pool."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"9e698896_32e92dc2","line":5,"range":{"start_line":5,"start_character":18,"end_line":5,"end_character":26},"in_reply_to":"733fd7d7_5c221a6c","updated":"2022-06-29 09:23:21.000000000","message":"Thanks","commit_id":"3691d8c348e906161cc6228778e95712593ae081"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"a0bc81d3cd419e103bead766689278605e9300af","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Fix HealthMonitorToErrorOnRevertTask revert method. From now, the"},{"line_number":5,"context_line":"    healthmonitor will set to ERROR provisioning state on revert task instead"},{"line_number":6,"context_line":"    of the pool."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"0756bc9b_de73b5f1","line":6,"range":{"start_line":6,"start_character":4,"end_line":6,"end_character":16},"updated":"2022-06-29 09:11:38.000000000","message":"I don\u0027t think that is true. Even before mark_health_mon_prov_status_error() was called. The bug is that is was called using the pool ID as argument instead of the healthmonitor ID, which didn\u0027t work.","commit_id":"3691d8c348e906161cc6228778e95712593ae081"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"b65f08490c69ef798cac13abff71292333ab1d6c","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Fix HealthMonitorToErrorOnRevertTask revert method. From now, the"},{"line_number":5,"context_line":"    healthmonitor will set to ERROR provisioning state on revert task instead"},{"line_number":6,"context_line":"    of the pool."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"fcdf1a25_993216cf","line":6,"range":{"start_line":6,"start_character":4,"end_line":6,"end_character":16},"in_reply_to":"0756bc9b_de73b5f1","updated":"2022-06-29 09:23:21.000000000","message":"Yes, I wasn\u0027t sure how to write it because mark_health_mon_prov_status_error called health_mon_repo.update with pool id, so it has been setting the pool on ERROR even though it was called from health_mon_repo, and then back to active one line afterwards.\n\n\nWould changing it to\n\"Fix HealthMonitorToErrorOnRevertTask revert method. From now, the HealthMonitorToErrorOnRevertTask revert method will call health_mon_repo.update with the correct parameter.\"\nsound better?","commit_id":"3691d8c348e906161cc6228778e95712593ae081"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"c2317ba80152534048442071918666f82e42fcb7","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Fix HealthMonitorToErrorOnRevertTask revert method. From now, the"},{"line_number":5,"context_line":"    healthmonitor will set to ERROR provisioning state on revert task instead"},{"line_number":6,"context_line":"    of the pool."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3f597575_45ab6825","line":6,"range":{"start_line":6,"start_character":4,"end_line":6,"end_character":16},"in_reply_to":"5783a0cd_678afc88","updated":"2022-06-29 09:53:08.000000000","message":"Sounds good to me, thank you both.","commit_id":"3691d8c348e906161cc6228778e95712593ae081"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"f5df522f3a977ea7c5e1355ffa0423634562e2ab","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Fix HealthMonitorToErrorOnRevertTask revert method. From now, the"},{"line_number":5,"context_line":"    healthmonitor will set to ERROR provisioning state on revert task instead"},{"line_number":6,"context_line":"    of the pool."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"5783a0cd_678afc88","line":6,"range":{"start_line":6,"start_character":4,"end_line":6,"end_character":16},"in_reply_to":"fcdf1a25_993216cf","updated":"2022-06-29 09:37:22.000000000","message":"you don\u0027t have to give deep implementation details, you could just say \"fix a bug that prevented the provisioning_state of a health-monitor to be set to ERROR when an error occurred while creating, updating or deleting a health-monitor\"","commit_id":"3691d8c348e906161cc6228778e95712593ae081"}]}
