)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"4afe49853adbb95028cb525d57a57eb64731d995","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Spencer Harmon \u003cspharmon@blizzard.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2022-03-16 15:30:01 -0500"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add rpc notification for load balancers."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch creates tasks for load balancer notifications and adds them to the amphora loadbalancer create/delete/update flows. These task modules can then be used in provider drivers to support notifications in those as well."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"f70190d0_034f9d22","line":7,"updated":"2022-03-26 05:58:52.000000000","message":"Nit: Notifications are not RPC","commit_id":"48975e19720368d3916558c213642d24597edcbd"},{"author":{"_account_id":34591,"name":"Spencer Harmon","email":"spharmon@blizzard.com","username":"spencerharmon"},"change_message_id":"911e750de6300839e3f1e624552aae2b77450d9f","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Spencer Harmon \u003cspharmon@blizzard.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2022-03-16 15:30:01 -0500"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add rpc notification for load balancers."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch creates tasks for load balancer notifications and adds them to the amphora loadbalancer create/delete/update flows. These task modules can then be used in provider drivers to support notifications in those as well."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"0eea37c2_d8a9d230","line":7,"in_reply_to":"f70190d0_034f9d22","updated":"2022-03-26 21:56:47.000000000","message":"How embarrassing. Fixed. :)","commit_id":"48975e19720368d3916558c213642d24597edcbd"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"8b23fa96024382c9d24cc0f87dadfe66c7be7374","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"95b782ba_d054f996","updated":"2022-06-03 09:13:04.000000000","message":"I think it needs more work in the doc, it seems that the default parameters are not enough to enable:\nfor instance olso_messaging_notifications.driver should be defined (in my env, the default is an empty string)\n\nadditional question: it doesn\u0027t work for me with the default topic \"notifications\", but if I set a custom topic, it works, any ideas?\n","commit_id":"2195ca4a0759cbf58f1429c94243591cb85b17cc"},{"author":{"_account_id":33408,"name":"Pierre-Yves Jourel","email":"pierre-yves.jourel@ovhcloud.com","username":"PYJ"},"change_message_id":"89d592ce5cfedb77c21b19ee85eaa9f5ccc3ce37","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"f80b9706_6c903d9c","updated":"2022-05-11 18:42:39.000000000","message":"Looks good","commit_id":"2195ca4a0759cbf58f1429c94243591cb85b17cc"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"d9abcd08f81cde6dc9484ba58fd1fb7d612f4772","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"99732db6_202f7f2f","updated":"2022-04-26 10:52:23.000000000","message":"Tested it, looks good.","commit_id":"2195ca4a0759cbf58f1429c94243591cb85b17cc"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"5092a497a807afd8be664cc895a7296b955919bc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"9d693662_f4e24272","in_reply_to":"5462216a_ff13deec","updated":"2022-08-17 06:36:56.000000000","message":"I did more tests, the notifications.info queue appeared empty because the events were consumed by barbican. Disabling barbican-keystone-listener in devstack fixed this issue.","commit_id":"2195ca4a0759cbf58f1429c94243591cb85b17cc"},{"author":{"_account_id":34591,"name":"Spencer Harmon","email":"spharmon@blizzard.com","username":"spencerharmon"},"change_message_id":"03f16ee71b8d94d2d4296115fc1b9ac5e7db8d4a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"de9c99a9_04712aa0","in_reply_to":"95b782ba_d054f996","updated":"2022-06-07 20:19:21.000000000","message":"I added some docs to clarify oslo_messaging_notifications options which are required. LMK if this didn\u0027t make matters worse :)\n\nI also attempted to replicate the issue with default notifications topic, but it worked as expected in my case (notifications.info topic was created in \u0027/\u0027 vhost when first notification is sent).","commit_id":"2195ca4a0759cbf58f1429c94243591cb85b17cc"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"612c1c60a6d5f060526e9e71e402c6ac150d39e9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"f9edfb44_b0f5663f","in_reply_to":"de9c99a9_04712aa0","updated":"2022-06-22 16:02:45.000000000","message":"Thanks for the documentation. I think it is useful. However, I must say I see the same behavior as Gregory in my devstack environment. Any topic works, but the default \"notifications\" topic doesn\u0027t and I see no messages in the notification.info queue. I don\u0027t know why, but I don\u0027t think that it\u0027s specific to this change.","commit_id":"2195ca4a0759cbf58f1429c94243591cb85b17cc"},{"author":{"_account_id":34591,"name":"Spencer Harmon","email":"spharmon@blizzard.com","username":"spencerharmon"},"change_message_id":"87ca6d81399e151e9e73f4f3ba43f180619184f3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"5462216a_ff13deec","in_reply_to":"f9edfb44_b0f5663f","updated":"2022-07-28 19:30:53.000000000","message":"\u003e Thanks for the documentation. I think it is useful. However, I must say I see the same behavior as Gregory in my devstack environment. Any topic works, but the default \"notifications\" topic doesn\u0027t and I see no messages in the notification.info queue. I don\u0027t know why, but I don\u0027t think that it\u0027s specific to this change.\n\nI was able to replicate this issue in a devstack/amphora environment (thank you for the help). What I found is that, without setting the driver for oslo_messaging_notifications in octavia.conf, the topic is not created and the notifications are not sent. This is expected since the default driver is None. I added this section to the example octavia.conf with notes about requirements. When this option is set, e.g. to messagingv2, the notifications.info topic is created as expected. Note that this takes place when the message is sent, e.g. for octavia.loadbalancer.create.end event. Let me know if this clears up the issue for you. And thanks for reviewing!","commit_id":"2195ca4a0759cbf58f1429c94243591cb85b17cc"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"a5587cf4ac2d9ebc33112aaac55c1ed7462d45f3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"5d7cc171_211f174f","updated":"2022-06-17 06:14:00.000000000","message":"functional tests are broken\n\nneed to wait for the fix https://review.opendev.org/c/openstack/octavia/+/846273","commit_id":"373e97750c853d8ba02994ac0fc5bb32ec6f6a83"},{"author":{"_account_id":34591,"name":"Spencer Harmon","email":"spharmon@blizzard.com","username":"spencerharmon"},"change_message_id":"b8a186896d9bbee64f49ff3a837718a5c43051ee","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"bfff3bc8_c3a305f5","updated":"2022-06-16 21:20:52.000000000","message":"recheck","commit_id":"373e97750c853d8ba02994ac0fc5bb32ec6f6a83"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"979f0b82a47df3ee0cb9014580ec2ad95aab9df7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"c2ffc39c_dd575455","updated":"2022-06-21 15:07:13.000000000","message":"recheck Zuul should be unblocked again","commit_id":"373e97750c853d8ba02994ac0fc5bb32ec6f6a83"},{"author":{"_account_id":34591,"name":"Spencer Harmon","email":"spharmon@blizzard.com","username":"spencerharmon"},"change_message_id":"a40fc187d0904a566274ea1d2dd76886ba2daf48","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"f27efaba_28f9d94f","in_reply_to":"5d7cc171_211f174f","updated":"2022-06-17 17:51:26.000000000","message":"Ok thanks. I saw some fixed get merged yesterday I thought were related, but I misinterpreted. I\u0027ll recheck after this is merged.","commit_id":"373e97750c853d8ba02994ac0fc5bb32ec6f6a83"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"0e878cb6db8902c79ea412afb50ed7208b7e09fc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"36f842ae_26d22d20","updated":"2022-07-07 13:47:02.000000000","message":"recheck fix for failing test was merged","commit_id":"a0c1390ad805886663334044c1781450fbac0483"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"3051e3c89fbfe4904d82e4f06d58d992b577ea23","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"0311b066_98fe170e","updated":"2022-07-28 23:52:00.000000000","message":"recheck\nExpected \u0027serve_forever\u0027 to have been called.","commit_id":"58f0f258c9e41a56298519fcf8a1dcf02df69800"},{"author":{"_account_id":34591,"name":"Spencer Harmon","email":"spharmon@blizzard.com","username":"spencerharmon"},"change_message_id":"e2979eeb6ef43fcd7df0f13c1fb26275d82f7fbc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"714d607a_1248a7c9","updated":"2022-07-29 21:23:51.000000000","message":"recheck","commit_id":"70257eb6b36eebcbd38650e694d7f951a8931cb9"}],"doc/source/admin/event-notifications.rst":[{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"612c1c60a6d5f060526e9e71e402c6ac150d39e9","unresolved":true,"context_lines":[{"line_number":14,"context_line":"The example provided below is the format produced by the messagingv2 driver."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"You may specify a custom list of topics on which to send notifications."},{"line_number":17,"context_line":"A topic is created for each notification level, with the level appended to"},{"line_number":18,"context_line":"the value(s) specicied in this list, e.g.: notifications.info,"},{"line_number":19,"context_line":"octavia-notifications.info, et c.."},{"line_number":20,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"38eb2e59_0141f29e","line":17,"range":{"start_line":17,"start_character":48,"end_line":17,"end_character":62},"updated":"2022-06-22 16:02:45.000000000","message":"just to be super clear, I\u0027d suggest \"with a dot and the level\"","commit_id":"373e97750c853d8ba02994ac0fc5bb32ec6f6a83"},{"author":{"_account_id":34591,"name":"Spencer Harmon","email":"spharmon@blizzard.com","username":"spencerharmon"},"change_message_id":"87ca6d81399e151e9e73f4f3ba43f180619184f3","unresolved":false,"context_lines":[{"line_number":14,"context_line":"The example provided below is the format produced by the messagingv2 driver."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"You may specify a custom list of topics on which to send notifications."},{"line_number":17,"context_line":"A topic is created for each notification level, with the level appended to"},{"line_number":18,"context_line":"the value(s) specicied in this list, e.g.: notifications.info,"},{"line_number":19,"context_line":"octavia-notifications.info, et c.."},{"line_number":20,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"5f6b0811_53ab5c95","line":17,"range":{"start_line":17,"start_character":48,"end_line":17,"end_character":62},"in_reply_to":"38eb2e59_0141f29e","updated":"2022-07-28 19:30:53.000000000","message":"Done","commit_id":"373e97750c853d8ba02994ac0fc5bb32ec6f6a83"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"612c1c60a6d5f060526e9e71e402c6ac150d39e9","unresolved":true,"context_lines":[{"line_number":16,"context_line":"You may specify a custom list of topics on which to send notifications."},{"line_number":17,"context_line":"A topic is created for each notification level, with the level appended to"},{"line_number":18,"context_line":"the value(s) specicied in this list, e.g.: notifications.info,"},{"line_number":19,"context_line":"octavia-notifications.info, et c.."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Oslo messaging supports separate backends for RPC and notifications. If"},{"line_number":22,"context_line":"different from the **[DEFAULT]** **transport_url** configuration, you"}],"source_content_type":"text/x-rst","patch_set":17,"id":"01294799_bbe0459a","line":19,"range":{"start_line":19,"start_character":28,"end_line":19,"end_character":33},"updated":"2022-06-22 16:02:45.000000000","message":"typo","commit_id":"373e97750c853d8ba02994ac0fc5bb32ec6f6a83"},{"author":{"_account_id":34591,"name":"Spencer Harmon","email":"spharmon@blizzard.com","username":"spencerharmon"},"change_message_id":"87ca6d81399e151e9e73f4f3ba43f180619184f3","unresolved":false,"context_lines":[{"line_number":16,"context_line":"You may specify a custom list of topics on which to send notifications."},{"line_number":17,"context_line":"A topic is created for each notification level, with the level appended to"},{"line_number":18,"context_line":"the value(s) specicied in this list, e.g.: notifications.info,"},{"line_number":19,"context_line":"octavia-notifications.info, et c.."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Oslo messaging supports separate backends for RPC and notifications. If"},{"line_number":22,"context_line":"different from the **[DEFAULT]** **transport_url** configuration, you"}],"source_content_type":"text/x-rst","patch_set":17,"id":"e8da79c8_78b0428f","line":19,"range":{"start_line":19,"start_character":28,"end_line":19,"end_character":33},"in_reply_to":"01294799_bbe0459a","updated":"2022-07-28 19:30:53.000000000","message":"Done","commit_id":"373e97750c853d8ba02994ac0fc5bb32ec6f6a83"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"612c1c60a6d5f060526e9e71e402c6ac150d39e9","unresolved":true,"context_lines":[{"line_number":23,"context_line":"must specify the **transport_url** in the"},{"line_number":24,"context_line":"**[oslo_messaging_notifications]** section of your *octavia.conf*"},{"line_number":25,"context_line":"configuration."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":".. code-block:: ini"}],"source_content_type":"text/x-rst","patch_set":17,"id":"1dd6dad9_38b756bd","line":26,"updated":"2022-06-22 16:02:45.000000000","message":"I think one blank line should be enough.","commit_id":"373e97750c853d8ba02994ac0fc5bb32ec6f6a83"},{"author":{"_account_id":34591,"name":"Spencer Harmon","email":"spharmon@blizzard.com","username":"spencerharmon"},"change_message_id":"87ca6d81399e151e9e73f4f3ba43f180619184f3","unresolved":false,"context_lines":[{"line_number":23,"context_line":"must specify the **transport_url** in the"},{"line_number":24,"context_line":"**[oslo_messaging_notifications]** section of your *octavia.conf*"},{"line_number":25,"context_line":"configuration."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":".. code-block:: ini"}],"source_content_type":"text/x-rst","patch_set":17,"id":"d3ff04c8_6e9d9092","line":26,"in_reply_to":"1dd6dad9_38b756bd","updated":"2022-07-28 19:30:53.000000000","message":"Done","commit_id":"373e97750c853d8ba02994ac0fc5bb32ec6f6a83"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"099aee7884b860b64a2bf0f40c28b3c693e0fe81","unresolved":true,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"You may specify a custom list of topics on which to send notifications."},{"line_number":17,"context_line":"A topic is created for each notification level, with a dot and the level"},{"line_number":18,"context_line":"appended to the value(s) specicied in this list, e.g.: notifications.info,"},{"line_number":19,"context_line":"octavia-notifications.info, etc.."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Oslo messaging supports separate backends for RPC and notifications. If"}],"source_content_type":"text/x-rst","patch_set":19,"id":"4185dd4a_94fca7bb","line":18,"range":{"start_line":18,"start_character":25,"end_line":18,"end_character":34},"updated":"2022-07-29 11:06:27.000000000","message":"It seems I missed this typo last time. 😊","commit_id":"58f0f258c9e41a56298519fcf8a1dcf02df69800"},{"author":{"_account_id":34591,"name":"Spencer Harmon","email":"spharmon@blizzard.com","username":"spencerharmon"},"change_message_id":"0f03cda45d1c750f46dd629f295c230dfc31c688","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"You may specify a custom list of topics on which to send notifications."},{"line_number":17,"context_line":"A topic is created for each notification level, with a dot and the level"},{"line_number":18,"context_line":"appended to the value(s) specicied in this list, e.g.: notifications.info,"},{"line_number":19,"context_line":"octavia-notifications.info, etc.."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Oslo messaging supports separate backends for RPC and notifications. If"}],"source_content_type":"text/x-rst","patch_set":19,"id":"3bcb97ec_11b2308d","line":18,"range":{"start_line":18,"start_character":25,"end_line":18,"end_character":34},"in_reply_to":"4185dd4a_94fca7bb","updated":"2022-07-29 15:12:29.000000000","message":"Done","commit_id":"58f0f258c9e41a56298519fcf8a1dcf02df69800"}],"etc/octavia.conf":[{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"099aee7884b860b64a2bf0f40c28b3c693e0fe81","unresolved":true,"context_lines":[{"line_number":706,"context_line":"# event notifications, e.g. octavia.loadbalancer.create.end."},{"line_number":707,"context_line":""},{"line_number":708,"context_line":"# The default value for driver is None. Without setting this value,"},{"line_number":709,"context_line":"# topics will not be created and notifications will not be sent. "},{"line_number":710,"context_line":"# driver \u003d messagingv2"},{"line_number":711,"context_line":""},{"line_number":712,"context_line":"# The value for topics is a list, and the default topic created is"}],"source_content_type":"text/plain","patch_set":19,"id":"82cbfd48_5e2d72b9","line":709,"range":{"start_line":709,"start_character":64,"end_line":709,"end_character":65},"updated":"2022-07-29 11:06:27.000000000","message":"Trailing whitespace slipped in here and in line 721.\n\nThanks for clarifying that this needs to be set.","commit_id":"58f0f258c9e41a56298519fcf8a1dcf02df69800"},{"author":{"_account_id":34591,"name":"Spencer Harmon","email":"spharmon@blizzard.com","username":"spencerharmon"},"change_message_id":"0f03cda45d1c750f46dd629f295c230dfc31c688","unresolved":false,"context_lines":[{"line_number":706,"context_line":"# event notifications, e.g. octavia.loadbalancer.create.end."},{"line_number":707,"context_line":""},{"line_number":708,"context_line":"# The default value for driver is None. Without setting this value,"},{"line_number":709,"context_line":"# topics will not be created and notifications will not be sent. "},{"line_number":710,"context_line":"# driver \u003d messagingv2"},{"line_number":711,"context_line":""},{"line_number":712,"context_line":"# The value for topics is a list, and the default topic created is"}],"source_content_type":"text/plain","patch_set":19,"id":"75d9af7b_344b3e23","line":709,"range":{"start_line":709,"start_character":64,"end_line":709,"end_character":65},"in_reply_to":"82cbfd48_5e2d72b9","updated":"2022-07-29 15:12:29.000000000","message":"Done","commit_id":"58f0f258c9e41a56298519fcf8a1dcf02df69800"}],"octavia/common/config.py":[{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"8b23fa96024382c9d24cc0f87dadfe66c7be7374","unresolved":true,"context_lines":[{"line_number":332,"context_line":""},{"line_number":333,"context_line":"oslo_messaging_opts \u003d ["},{"line_number":334,"context_line":"    cfg.StrOpt(\u0027topic\u0027),"},{"line_number":335,"context_line":"    cfg.BoolOpt(\u0027event_notifications\u0027, default\u003dTrue),"},{"line_number":336,"context_line":"]"},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"haproxy_amphora_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":15,"id":"cd277c51_9434987c","line":335,"range":{"start_line":335,"start_character":17,"end_line":335,"end_character":36},"updated":"2022-06-03 09:13:04.000000000","message":"I\u0027m wondering if this new option should rather be in the controller_worker section, it doesn\u0027t configure oslo_messaging but it enables notifications in the worker.\nAny other opinions on this?","commit_id":"2195ca4a0759cbf58f1429c94243591cb85b17cc"},{"author":{"_account_id":34591,"name":"Spencer Harmon","email":"spharmon@blizzard.com","username":"spencerharmon"},"change_message_id":"03f16ee71b8d94d2d4296115fc1b9ac5e7db8d4a","unresolved":false,"context_lines":[{"line_number":332,"context_line":""},{"line_number":333,"context_line":"oslo_messaging_opts \u003d ["},{"line_number":334,"context_line":"    cfg.StrOpt(\u0027topic\u0027),"},{"line_number":335,"context_line":"    cfg.BoolOpt(\u0027event_notifications\u0027, default\u003dTrue),"},{"line_number":336,"context_line":"]"},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"haproxy_amphora_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":15,"id":"f2dcbed2_c19662df","line":335,"range":{"start_line":335,"start_character":17,"end_line":335,"end_character":36},"in_reply_to":"cd277c51_9434987c","updated":"2022-06-07 20:19:21.000000000","message":"Good point. I moved this option to controller_worker section and updated docs.","commit_id":"2195ca4a0759cbf58f1429c94243591cb85b17cc"}],"octavia/common/rpc.py":[{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"cc0a37f7e8d2d2b48467ffd89536213bccedcc04","unresolved":true,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"def cleanup():"},{"line_number":33,"context_line":"    global TRANSPORT"},{"line_number":34,"context_line":"    if TRANSPORT is not None:"},{"line_number":35,"context_line":"        TRANSPORT.cleanup()"},{"line_number":36,"context_line":"        TRANSPORT \u003d None"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"e7f91899_ddaf7da8","line":34,"updated":"2022-03-08 06:30:11.000000000","message":"If we are cleaning up the transport we need to clean up everything else as well.\n\n\u003e TRANSPORT.cleanup()\n\u003e NOTIFICATION_TRANSPORT.cleanup()\n\u003e TRANSPORT \u003d NOTIFICATION_TRANSPORT \u003d NOTIFIER \u003d None","commit_id":"152337fc8d0ef817e63223a341f49341fa4ce732"},{"author":{"_account_id":34591,"name":"Spencer Harmon","email":"spharmon@blizzard.com","username":"spencerharmon"},"change_message_id":"00704f2484cd2020df7eaa3aa77ac39f5552d329","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"def cleanup():"},{"line_number":33,"context_line":"    global TRANSPORT"},{"line_number":34,"context_line":"    if TRANSPORT is not None:"},{"line_number":35,"context_line":"        TRANSPORT.cleanup()"},{"line_number":36,"context_line":"        TRANSPORT \u003d None"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"400e8d13_4cb2e34d","line":34,"in_reply_to":"c1303cf8_e370af35","updated":"2022-03-16 17:01:17.000000000","message":"Done","commit_id":"152337fc8d0ef817e63223a341f49341fa4ce732"},{"author":{"_account_id":34591,"name":"Spencer Harmon","email":"spharmon@blizzard.com","username":"spencerharmon"},"change_message_id":"5dfcfb46ef3b9569da2db4b4be13c050f012091b","unresolved":true,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"def cleanup():"},{"line_number":33,"context_line":"    global TRANSPORT"},{"line_number":34,"context_line":"    if TRANSPORT is not None:"},{"line_number":35,"context_line":"        TRANSPORT.cleanup()"},{"line_number":36,"context_line":"        TRANSPORT \u003d None"},{"line_number":37,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"c1303cf8_e370af35","line":34,"in_reply_to":"e7f91899_ddaf7da8","updated":"2022-03-15 20:23:15.000000000","message":"Makes sense. I\u0027ll get that updated.","commit_id":"152337fc8d0ef817e63223a341f49341fa4ce732"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"cc0a37f7e8d2d2b48467ffd89536213bccedcc04","unresolved":true,"context_lines":[{"line_number":43,"context_line":"def get_client(target, version_cap\u003dNone, serializer\u003dNone,"},{"line_number":44,"context_line":"               call_monitor_timeout\u003dNone):"},{"line_number":45,"context_line":"    if TRANSPORT is None:"},{"line_number":46,"context_line":"        raise AssertionError(_(\"\u0027TRANSPORT\u0027 must not be None\"))"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    return messaging.RPCClient(TRANSPORT,"},{"line_number":49,"context_line":"                               target,"}],"source_content_type":"text/x-python","patch_set":6,"id":"dd6624e7_2a15cb33","line":46,"updated":"2022-03-08 06:30:11.000000000","message":"Not sure if the Octavia team wants to raise here. When this was implemented they specifically asked to initialize here instead of raising an exception like other projects do.","commit_id":"152337fc8d0ef817e63223a341f49341fa4ce732"},{"author":{"_account_id":34591,"name":"Spencer Harmon","email":"spharmon@blizzard.com","username":"spencerharmon"},"change_message_id":"68a0c0b506a256d6c4b327aa35aa95c849bad77d","unresolved":false,"context_lines":[{"line_number":43,"context_line":"def get_client(target, version_cap\u003dNone, serializer\u003dNone,"},{"line_number":44,"context_line":"               call_monitor_timeout\u003dNone):"},{"line_number":45,"context_line":"    if TRANSPORT is None:"},{"line_number":46,"context_line":"        raise AssertionError(_(\"\u0027TRANSPORT\u0027 must not be None\"))"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    return messaging.RPCClient(TRANSPORT,"},{"line_number":49,"context_line":"                               target,"}],"source_content_type":"text/x-python","patch_set":6,"id":"f9996a1f_0e306ead","line":46,"in_reply_to":"35ba95d6_976bc961","updated":"2022-04-23 00:11:51.000000000","message":"Done","commit_id":"152337fc8d0ef817e63223a341f49341fa4ce732"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"f7c5c28deaa08445b47e6377368f8f83636ed8b6","unresolved":true,"context_lines":[{"line_number":43,"context_line":"def get_client(target, version_cap\u003dNone, serializer\u003dNone,"},{"line_number":44,"context_line":"               call_monitor_timeout\u003dNone):"},{"line_number":45,"context_line":"    if TRANSPORT is None:"},{"line_number":46,"context_line":"        raise AssertionError(_(\"\u0027TRANSPORT\u0027 must not be None\"))"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    return messaging.RPCClient(TRANSPORT,"},{"line_number":49,"context_line":"                               target,"}],"source_content_type":"text/x-python","patch_set":6,"id":"35ba95d6_976bc961","line":46,"in_reply_to":"c31f6f9f_582a1c6b","updated":"2022-03-16 01:56:37.000000000","message":"I would either raise an exception or just call init. Adding clean could lead to some real weird and difficult to troubleshoot race conditions. Personally I think it\u0027s fine to use raise here.","commit_id":"152337fc8d0ef817e63223a341f49341fa4ce732"},{"author":{"_account_id":34591,"name":"Spencer Harmon","email":"spharmon@blizzard.com","username":"spencerharmon"},"change_message_id":"5dfcfb46ef3b9569da2db4b4be13c050f012091b","unresolved":true,"context_lines":[{"line_number":43,"context_line":"def get_client(target, version_cap\u003dNone, serializer\u003dNone,"},{"line_number":44,"context_line":"               call_monitor_timeout\u003dNone):"},{"line_number":45,"context_line":"    if TRANSPORT is None:"},{"line_number":46,"context_line":"        raise AssertionError(_(\"\u0027TRANSPORT\u0027 must not be None\"))"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    return messaging.RPCClient(TRANSPORT,"},{"line_number":49,"context_line":"                               target,"}],"source_content_type":"text/x-python","patch_set":6,"id":"c31f6f9f_582a1c6b","line":46,"in_reply_to":"dd6624e7_2a15cb33","updated":"2022-03-15 20:23:15.000000000","message":"Ok, no problem. The reason I raised here as opposed to running init method again is to avoid initializing another TRANSPORT. One option to avoid this without raising an exception would be to run cleanup before init here. Does that sound like it would be acceptable?","commit_id":"152337fc8d0ef817e63223a341f49341fa4ce732"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"cc0a37f7e8d2d2b48467ffd89536213bccedcc04","unresolved":true,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"def get_notifier(service\u003dNone, host\u003dNone, publisher_id\u003dNone):"},{"line_number":70,"context_line":"    if NOTIFIER is None:"},{"line_number":71,"context_line":"        raise AssertionError(_(\"\u0027NOTIFIER\u0027 must not be None\"))"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    return NOTIFIER.prepare()"}],"source_content_type":"text/x-python","patch_set":6,"id":"9872c7c8_f18a8494","line":70,"updated":"2022-03-08 06:30:11.000000000","message":"Probably safe to just check TRANSPORT here instead.","commit_id":"152337fc8d0ef817e63223a341f49341fa4ce732"},{"author":{"_account_id":34591,"name":"Spencer Harmon","email":"spharmon@blizzard.com","username":"spencerharmon"},"change_message_id":"68a0c0b506a256d6c4b327aa35aa95c849bad77d","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"def get_notifier(service\u003dNone, host\u003dNone, publisher_id\u003dNone):"},{"line_number":70,"context_line":"    if NOTIFIER is None:"},{"line_number":71,"context_line":"        raise AssertionError(_(\"\u0027NOTIFIER\u0027 must not be None\"))"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    return NOTIFIER.prepare()"}],"source_content_type":"text/x-python","patch_set":6,"id":"10f0e4e7_b9a04bca","line":70,"in_reply_to":"6863ebf5_12812ec9","updated":"2022-04-23 00:11:51.000000000","message":"Done","commit_id":"152337fc8d0ef817e63223a341f49341fa4ce732"},{"author":{"_account_id":34591,"name":"Spencer Harmon","email":"spharmon@blizzard.com","username":"spencerharmon"},"change_message_id":"5dfcfb46ef3b9569da2db4b4be13c050f012091b","unresolved":true,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"def get_notifier(service\u003dNone, host\u003dNone, publisher_id\u003dNone):"},{"line_number":70,"context_line":"    if NOTIFIER is None:"},{"line_number":71,"context_line":"        raise AssertionError(_(\"\u0027NOTIFIER\u0027 must not be None\"))"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    return NOTIFIER.prepare()"}],"source_content_type":"text/x-python","patch_set":6,"id":"6863ebf5_12812ec9","line":70,"in_reply_to":"9872c7c8_f18a8494","updated":"2022-03-15 20:23:15.000000000","message":"That makes sense since TRANSPORT and NOTIFIER should be set at the same time if they\u0027re initialized via the init() function in this module. Do you think it should be something like:\n\nif TRANSPORT is None:\n    raise AssertionError(_(\"\u0027TRANSPORT\u0027 must not be None\"))\n\nreturn NOTIFIER.prepare()\n\nWe could also do like get_transport and reinitialize in this case. Should I do anything to handle potential attribute errors on NOTIFIER here or just assume that the prepare() method will be available as long as TRANSPORT is correct?","commit_id":"152337fc8d0ef817e63223a341f49341fa4ce732"}],"octavia/controller/worker/v1/tasks/notification_tasks.py":[{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"cc0a37f7e8d2d2b48467ffd89536213bccedcc04","unresolved":true,"context_lines":[{"line_number":28,"context_line":"        self._rpc_notifier \u003d rpc.get_notifier()"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def execute(self, loadbalancer):"},{"line_number":31,"context_line":"        ctx \u003d context.Context(project_id\u003dloadbalancer.project_id)"},{"line_number":32,"context_line":"        result \u003d lb_types.LoadBalancerFullResponse.from_data_model("},{"line_number":33,"context_line":"            loadbalancer)"},{"line_number":34,"context_line":"        LOG.info(f\"Sending rpc notification: {self.event_type} \""}],"source_content_type":"text/x-python","patch_set":6,"id":"ca72830c_631b787b","line":31,"updated":"2022-03-08 06:30:11.000000000","message":"Maybe standardize on this line. This is how it is implemented in the v2 version of this.\n\u003e ctx \u003d context.Context(project_id\u003dloadbalancer[\u0027project_id\u0027])","commit_id":"152337fc8d0ef817e63223a341f49341fa4ce732"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"f7c5c28deaa08445b47e6377368f8f83636ed8b6","unresolved":false,"context_lines":[{"line_number":28,"context_line":"        self._rpc_notifier \u003d rpc.get_notifier()"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def execute(self, loadbalancer):"},{"line_number":31,"context_line":"        ctx \u003d context.Context(project_id\u003dloadbalancer.project_id)"},{"line_number":32,"context_line":"        result \u003d lb_types.LoadBalancerFullResponse.from_data_model("},{"line_number":33,"context_line":"            loadbalancer)"},{"line_number":34,"context_line":"        LOG.info(f\"Sending rpc notification: {self.event_type} \""}],"source_content_type":"text/x-python","patch_set":6,"id":"e1466f48_b759ef99","line":31,"in_reply_to":"3796e422_0b422756","updated":"2022-03-16 01:56:37.000000000","message":"If it is differences between v1 and v2 it\u0027s probably fine.","commit_id":"152337fc8d0ef817e63223a341f49341fa4ce732"},{"author":{"_account_id":34591,"name":"Spencer Harmon","email":"spharmon@blizzard.com","username":"spencerharmon"},"change_message_id":"5dfcfb46ef3b9569da2db4b4be13c050f012091b","unresolved":true,"context_lines":[{"line_number":28,"context_line":"        self._rpc_notifier \u003d rpc.get_notifier()"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def execute(self, loadbalancer):"},{"line_number":31,"context_line":"        ctx \u003d context.Context(project_id\u003dloadbalancer.project_id)"},{"line_number":32,"context_line":"        result \u003d lb_types.LoadBalancerFullResponse.from_data_model("},{"line_number":33,"context_line":"            loadbalancer)"},{"line_number":34,"context_line":"        LOG.info(f\"Sending rpc notification: {self.event_type} \""}],"source_content_type":"text/x-python","patch_set":6,"id":"3796e422_0b422756","line":31,"in_reply_to":"ca72830c_631b787b","updated":"2022-03-15 20:23:15.000000000","message":"The reason for this difference is that the object returned by database_tasks.ReloadLoadBalancer is different. In v2, a dict is returned, while in v1 it is a loadbalancer object. Should I look into changing one or the other database_tasks module or do you think we should handle this difference elsewhere?","commit_id":"152337fc8d0ef817e63223a341f49341fa4ce732"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"cc0a37f7e8d2d2b48467ffd89536213bccedcc04","unresolved":true,"context_lines":[{"line_number":32,"context_line":"        result \u003d lb_types.LoadBalancerFullResponse.from_data_model("},{"line_number":33,"context_line":"            loadbalancer)"},{"line_number":34,"context_line":"        LOG.info(f\"Sending rpc notification: {self.event_type} \""},{"line_number":35,"context_line":"                 f\"{str(result.to_dict())}\")"},{"line_number":36,"context_line":"        self._rpc_notifier.info("},{"line_number":37,"context_line":"            ctx,"},{"line_number":38,"context_line":"            self.event_type,"}],"source_content_type":"text/x-python","patch_set":6,"id":"34fc9acd_ddf7a370","line":35,"updated":"2022-03-08 06:30:11.000000000","message":"Do we really need to be this verbose with our logging here?","commit_id":"152337fc8d0ef817e63223a341f49341fa4ce732"},{"author":{"_account_id":34591,"name":"Spencer Harmon","email":"spharmon@blizzard.com","username":"spencerharmon"},"change_message_id":"c5eddadf6e4f9fc9e864eb7f6ee8a26c95807d11","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        result \u003d lb_types.LoadBalancerFullResponse.from_data_model("},{"line_number":33,"context_line":"            loadbalancer)"},{"line_number":34,"context_line":"        LOG.info(f\"Sending rpc notification: {self.event_type} \""},{"line_number":35,"context_line":"                 f\"{str(result.to_dict())}\")"},{"line_number":36,"context_line":"        self._rpc_notifier.info("},{"line_number":37,"context_line":"            ctx,"},{"line_number":38,"context_line":"            self.event_type,"}],"source_content_type":"text/x-python","patch_set":6,"id":"89d16c6d_1f497435","line":35,"in_reply_to":"301b8721_273f0375","updated":"2022-03-22 19:43:24.000000000","message":"Done","commit_id":"152337fc8d0ef817e63223a341f49341fa4ce732"},{"author":{"_account_id":34591,"name":"Spencer Harmon","email":"spharmon@blizzard.com","username":"spencerharmon"},"change_message_id":"5dfcfb46ef3b9569da2db4b4be13c050f012091b","unresolved":true,"context_lines":[{"line_number":32,"context_line":"        result \u003d lb_types.LoadBalancerFullResponse.from_data_model("},{"line_number":33,"context_line":"            loadbalancer)"},{"line_number":34,"context_line":"        LOG.info(f\"Sending rpc notification: {self.event_type} \""},{"line_number":35,"context_line":"                 f\"{str(result.to_dict())}\")"},{"line_number":36,"context_line":"        self._rpc_notifier.info("},{"line_number":37,"context_line":"            ctx,"},{"line_number":38,"context_line":"            self.event_type,"}],"source_content_type":"text/x-python","patch_set":6,"id":"8c36a35e_ca3cec22","line":35,"in_reply_to":"34fc9acd_ddf7a370","updated":"2022-03-15 20:23:15.000000000","message":"No. I was debugging with this, but it doesn\u0027t need to stay. Would it be worth having at the debug log level instead of info or should it just be removed, in your opinion?","commit_id":"152337fc8d0ef817e63223a341f49341fa4ce732"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"f7c5c28deaa08445b47e6377368f8f83636ed8b6","unresolved":true,"context_lines":[{"line_number":32,"context_line":"        result \u003d lb_types.LoadBalancerFullResponse.from_data_model("},{"line_number":33,"context_line":"            loadbalancer)"},{"line_number":34,"context_line":"        LOG.info(f\"Sending rpc notification: {self.event_type} \""},{"line_number":35,"context_line":"                 f\"{str(result.to_dict())}\")"},{"line_number":36,"context_line":"        self._rpc_notifier.info("},{"line_number":37,"context_line":"            ctx,"},{"line_number":38,"context_line":"            self.event_type,"}],"source_content_type":"text/x-python","patch_set":6,"id":"92a776b3_b5c62a23","line":35,"in_reply_to":"8c36a35e_ca3cec22","updated":"2022-03-16 01:56:37.000000000","message":"Depends a little what the object contains. If it isn\u0027t overkill you can probably keep it as debug.","commit_id":"152337fc8d0ef817e63223a341f49341fa4ce732"},{"author":{"_account_id":34591,"name":"Spencer Harmon","email":"spharmon@blizzard.com","username":"spencerharmon"},"change_message_id":"00704f2484cd2020df7eaa3aa77ac39f5552d329","unresolved":true,"context_lines":[{"line_number":32,"context_line":"        result \u003d lb_types.LoadBalancerFullResponse.from_data_model("},{"line_number":33,"context_line":"            loadbalancer)"},{"line_number":34,"context_line":"        LOG.info(f\"Sending rpc notification: {self.event_type} \""},{"line_number":35,"context_line":"                 f\"{str(result.to_dict())}\")"},{"line_number":36,"context_line":"        self._rpc_notifier.info("},{"line_number":37,"context_line":"            ctx,"},{"line_number":38,"context_line":"            self.event_type,"}],"source_content_type":"text/x-python","patch_set":6,"id":"301b8721_273f0375","line":35,"in_reply_to":"92a776b3_b5c62a23","updated":"2022-03-16 17:01:17.000000000","message":"I see what you mean. I demoted to debug and changed the message to only show the loadbalancer id.","commit_id":"152337fc8d0ef817e63223a341f49341fa4ce732"}],"octavia/controller/worker/v2/tasks/notification_tasks.py":[{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"f2c025ab5c5e85ec47e7746e5b83c95e35271a28","unresolved":true,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"from oslo_log import log as logging"},{"line_number":15,"context_line":"from taskflow import task"},{"line_number":16,"context_line":"from octavia.common import constants # noqa H306"},{"line_number":17,"context_line":"from octavia.common import context"},{"line_number":18,"context_line":"from octavia.common import rpc"},{"line_number":19,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"e3947d8f_7c96d7d4","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":48},"updated":"2022-04-07 14:52:16.000000000","message":"Nit: Add an empty line before this line in order to group imports. I think I saw it in some other file too.","commit_id":"108cbbade7737f1597a4d398ee4e885bc97ce33c"},{"author":{"_account_id":34591,"name":"Spencer Harmon","email":"spharmon@blizzard.com","username":"spencerharmon"},"change_message_id":"68a0c0b506a256d6c4b327aa35aa95c849bad77d","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"from oslo_log import log as logging"},{"line_number":15,"context_line":"from taskflow import task"},{"line_number":16,"context_line":"from octavia.common import constants # noqa H306"},{"line_number":17,"context_line":"from octavia.common import context"},{"line_number":18,"context_line":"from octavia.common import rpc"},{"line_number":19,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"a3dbeeab_75d5f341","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":48},"in_reply_to":"e3947d8f_7c96d7d4","updated":"2022-04-23 00:11:51.000000000","message":"Done","commit_id":"108cbbade7737f1597a4d398ee4e885bc97ce33c"}]}
