)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"c9ef6167a7e2015c887cf8faadb4e1cecdc47ca9","unresolved":true,"context_lines":[{"line_number":7,"context_line":"Add Barbican secrets consumers"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Barbican has added support for consumers on secrets. This patch enables"},{"line_number":10,"context_line":"that functionality in Octavia. Octavia will now registger and unregister"},{"line_number":11,"context_line":"consumbers on all of the barbican objects load balancers are using."},{"line_number":12,"context_line":"This should block the acidental deletion of secrets content from"},{"line_number":13,"context_line":"Barbican while it is still in use in Octavia."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"b605333a_0c3537db","line":10,"range":{"start_line":10,"start_character":48,"end_line":10,"end_character":57},"updated":"2022-11-17 10:41:13.000000000","message":"typo","commit_id":"62243dddb009e0518275affd42e050dc481795d1"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"f8300cbf3990e7b683772f0441f01c3afae5c9c5","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add Barbican secrets consumers"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Barbican has added support for consumers on secrets. This patch enables"},{"line_number":10,"context_line":"that functionality in Octavia. Octavia will now registger and unregister"},{"line_number":11,"context_line":"consumbers on all of the barbican objects load balancers are using."},{"line_number":12,"context_line":"This should block the acidental deletion of secrets content from"},{"line_number":13,"context_line":"Barbican while it is still in use in Octavia."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"ac09fd55_59777107","line":10,"range":{"start_line":10,"start_character":48,"end_line":10,"end_character":57},"in_reply_to":"b605333a_0c3537db","updated":"2022-11-18 23:58:45.000000000","message":"Done","commit_id":"62243dddb009e0518275affd42e050dc481795d1"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"c9ef6167a7e2015c887cf8faadb4e1cecdc47ca9","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Barbican has added support for consumers on secrets. This patch enables"},{"line_number":10,"context_line":"that functionality in Octavia. Octavia will now registger and unregister"},{"line_number":11,"context_line":"consumbers on all of the barbican objects load balancers are using."},{"line_number":12,"context_line":"This should block the acidental deletion of secrets content from"},{"line_number":13,"context_line":"Barbican while it is still in use in Octavia."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"22be2bc4_278579d5","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":10},"updated":"2022-11-17 10:41:13.000000000","message":"typo","commit_id":"62243dddb009e0518275affd42e050dc481795d1"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"f8300cbf3990e7b683772f0441f01c3afae5c9c5","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Barbican has added support for consumers on secrets. This patch enables"},{"line_number":10,"context_line":"that functionality in Octavia. Octavia will now registger and unregister"},{"line_number":11,"context_line":"consumbers on all of the barbican objects load balancers are using."},{"line_number":12,"context_line":"This should block the acidental deletion of secrets content from"},{"line_number":13,"context_line":"Barbican while it is still in use in Octavia."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"1e9c5dd8_0e9b89f9","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":10},"in_reply_to":"22be2bc4_278579d5","updated":"2022-11-18 23:58:45.000000000","message":"Done","commit_id":"62243dddb009e0518275affd42e050dc481795d1"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"c9ef6167a7e2015c887cf8faadb4e1cecdc47ca9","unresolved":true,"context_lines":[{"line_number":9,"context_line":"Barbican has added support for consumers on secrets. This patch enables"},{"line_number":10,"context_line":"that functionality in Octavia. Octavia will now registger and unregister"},{"line_number":11,"context_line":"consumbers on all of the barbican objects load balancers are using."},{"line_number":12,"context_line":"This should block the acidental deletion of secrets content from"},{"line_number":13,"context_line":"Barbican while it is still in use in Octavia."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Depends-On: https://review.opendev.org/c/openstack/python-barbicanclient/+/855952"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"bb50c1e3_1f049f27","line":12,"range":{"start_line":12,"start_character":22,"end_line":12,"end_character":31},"updated":"2022-11-17 10:41:13.000000000","message":"typo","commit_id":"62243dddb009e0518275affd42e050dc481795d1"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"f8300cbf3990e7b683772f0441f01c3afae5c9c5","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Barbican has added support for consumers on secrets. This patch enables"},{"line_number":10,"context_line":"that functionality in Octavia. Octavia will now registger and unregister"},{"line_number":11,"context_line":"consumbers on all of the barbican objects load balancers are using."},{"line_number":12,"context_line":"This should block the acidental deletion of secrets content from"},{"line_number":13,"context_line":"Barbican while it is still in use in Octavia."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Depends-On: https://review.opendev.org/c/openstack/python-barbicanclient/+/855952"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"f8e83088_5c905670","line":12,"range":{"start_line":12,"start_character":22,"end_line":12,"end_character":31},"in_reply_to":"bb50c1e3_1f049f27","updated":"2022-11-18 23:58:45.000000000","message":"Done","commit_id":"62243dddb009e0518275affd42e050dc481795d1"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"d261b0f72cdab7bb3a34657016dc79316ad8600f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"81dbf862_653bcfb2","updated":"2022-11-11 20:55:52.000000000","message":"Still working on tests here.","commit_id":"f2140ae6290122ab55e64791613690540dd43305"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"8c882c96902bdf25b42a379edf70f77a21173472","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"139517c6_0d3c92a7","updated":"2022-11-12 00:49:57.000000000","message":"This will not pass until the python-barbicanclient bug is fixed in the dependent patch.","commit_id":"2853d81ef2d503eff62074d7d4f1037020e680e0"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"c9ef6167a7e2015c887cf8faadb4e1cecdc47ca9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"311495c5_683c6503","updated":"2022-11-17 10:41:13.000000000","message":"I haven\u0027t tested it yet.","commit_id":"62243dddb009e0518275affd42e050dc481795d1"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"f8b7b0a2ef836fedb2b6f7eaeabe0837faba4302","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"85685821_dc9d5458","updated":"2023-02-02 09:22:31.000000000","message":"-1 to raise awareness about my question on the revert flow.\n\notherwise, the feature looks good, tested successfully.\nI\u0027m now testing the error paths.","commit_id":"d0725c9bd160bbe98e7dd52fb79659fd27bf12e9"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"5a3d14dbe7e1c09db67e5904861db7b74c7ed6ef","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"0ed58c92_73d5b02f","updated":"2023-01-19 23:16:37.000000000","message":"Ah, so the default cert_manager is barbican[1], but it may not be present in the cloud, which really slows things down.\nThis needs fixed.\n\n[1] https://github.com/openstack/octavia/blob/master/octavia/common/config.py#L606","commit_id":"d0725c9bd160bbe98e7dd52fb79659fd27bf12e9"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"a4edffa9c353148d89ab65ba3a987d6e75d8fed0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"4b484d67_2daa146b","updated":"2023-01-17 14:55:50.000000000","message":"Except for a few nits, looks good to me.\nI would like to test the patch whenever its depended barbican client patch is merged.","commit_id":"d0725c9bd160bbe98e7dd52fb79659fd27bf12e9"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"98b8041e37e36b2f972706bf12d7dff0bbfadeb3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"c32a122a_ee2266fd","updated":"2023-01-19 23:18:59.000000000","message":"Hmm, it should not as this patch only calls barbican if one of the certificate related settings are set on the listener or pool. hmmm","commit_id":"d0725c9bd160bbe98e7dd52fb79659fd27bf12e9"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"3896e611c8e1572079365ccb075bf9597415550c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"529d07df_b878fb21","updated":"2023-01-20 16:03:21.000000000","message":"I applied the patch on my devstack host, I created:\nAn LB\nA secret\nI tried to create a TLS_TERMINATED listener and I got the following err msg:\nJan 20 16:36:27 c9s-debug devstack@o-api.service[2059866]: ERROR barbicanclient.client [None req-4dcc0df4-64fc-44d5-ae41-ad4cecd2150d None None] 4xx Client error: Not Found: Secrets container not found.\nJan 20 16:36:27 c9s-debug devstack@o-api.service[2059866]: ERROR octavia.certificates.manager.barbican_legacy [None req-4dcc0df4-64fc-44d5-ae41-ad4cecd2150d None None] Error getting cert http://192.168.122.153/key-manager/v1/secrets/81aadc27-68bb-441d-acbf-baeff4143725: Not Found: Secrets container not found.: barbicanclient.exceptions.HTTPClientError: Not Found: Secrets container not found.\n\nI didn\u0027t get it on master. Here are a little more logs:\n\nJan 20 16:36:27 c9s-debug devstack@o-api.service[2059866]: DEBUG octavia.certificates.manager.barbican [None req-f6e4a1e5-36bd-40c4-a041-fde7aef03351 admin admin] Setting project ACL for certificate secret... {{(pid\u003d2059866) set_acls /opt/stack/octavia/octavia/certificates/manager/barbican.py:189}}\nJan 20 16:36:27 c9s-debug devstack@o-api.service[2059866]: DEBUG barbicanclient.client [None req-f6e4a1e5-36bd-40c4-a041-fde7aef03351 admin admin] Creating Client object {{(pid\u003d2059866) Client /usr/local/lib/python3.9/site-packages/barbicanclient/client.py:156}}\nJan 20 16:36:27 c9s-debug devstack@o-api.service[2059866]: DEBUG barbicanclient.v1.acls [None req-f6e4a1e5-36bd-40c4-a041-fde7aef03351 admin admin] Getting ACL for secret href: http://192.168.122.153/key-manager/v1/secrets/81aadc27-68bb-441d-acbf-baeff4143725/acl {{(pid\u003d2059866) get /usr/local/lib/python3.9/site-packages/barbicanclient/v1/acls.py:484}}\nJan 20 16:36:27 c9s-debug devstack@o-api.service[2059866]: DEBUG barbicanclient.client [None req-f6e4a1e5-36bd-40c4-a041-fde7aef03351 admin admin] Response status 200 {{(pid\u003d2059866) _check_status_code /usr/local/lib/python3.9/site-packages/barbicanclient/client.py:87}}\nJan 20 16:36:27 c9s-debug devstack@o-api.service[2059866]: DEBUG barbicanclient.v1.containers [None req-f6e4a1e5-36bd-40c4-a041-fde7aef03351 admin admin] Getting container - Container href: http://192.168.122.153/key-manager/v1/secrets/81aadc27-68bb-441d-acbf-baeff4143725 {{(pid\u003d2059866) get /usr/local/lib/python3.9/site-packages/barbicanclient/v1/containers.py:539}}\nJan 20 16:36:27 c9s-debug devstack@o-api.service[2059866]: INFO barbicanclient.base [None req-f6e4a1e5-36bd-40c4-a041-fde7aef03351 admin admin] Calculated Containers uuid ref: containers/81aadc27-68bb-441d-acbf-baeff4143725\nJan 20 16:36:27 c9s-debug devstack@o-api.service[2059866]: DEBUG barbicanclient.client [None req-f6e4a1e5-36bd-40c4-a041-fde7aef03351 admin admin] Response status 404 {{(pid\u003d2059866) _check_status_code /usr/local/lib/python3.9/site-packages/barbicanclient/client.py:87}}\nJan 20 16:36:27 c9s-debug devstack@o-api.service[2059866]: ERROR barbicanclient.client [None req-f6e4a1e5-36bd-40c4-a041-fde7aef03351 admin admin] 4xx Client error: Not Found: Secrets container not found.\nJan 20 16:36:27 c9s-debug devstack@o-api.service[2059866]: INFO octavia.certificates.manager.barbican [None req-f6e4a1e5-36bd-40c4-a041-fde7aef03351 admin admin] Loading certificate secret http://192.168.122.153/key-manager/v1/secrets/81aadc27-68bb-441d-acbf-baeff4143725 from Barbican.\nJan 20 16:36:27 c9s-debug devstack@o-api.service[2059866]: DEBUG barbicanclient.v1.secrets [None req-f6e4a1e5-36bd-40c4-a041-fde7aef03351 admin admin] Getting secret - Secret href: http://192.168.122.153/key-manager/v1/secrets/81aadc27-68bb-441d-acbf-baeff4143725 {{(pid\u003d2059866) get /usr/local/lib/python3.9/site-packages/barbicanclient/v1/secrets.py:459}}\nJan 20 16:36:27 c9s-debug devstack@o-api.service[2059866]: INFO barbicanclient.base [None req-f6e4a1e5-36bd-40c4-a041-fde7aef03351 admin admin] Calculated Secrets uuid ref: secrets/81aadc27-68bb-441d-acbf-baeff4143725\nJan 20 16:36:27 c9s-debug devstack@o-api.service[2059866]: DEBUG barbicanclient.client [None req-f6e4a1e5-36bd-40c4-a041-fde7aef03351 admin admin] Response status 200 {{(pid\u003d2059866) _check_status_code /usr/local/lib/python3.9/site-packages/barbicanclient/client.py:87}}\nJan 20 16:36:27 c9s-debug devstack@o-api.service[2059866]: INFO barbicanclient.base [None req-f6e4a1e5-36bd-40c4-a041-fde7aef03351 admin admin] Calculated Secrets uuid ref: secrets/81aadc27-68bb-441d-acbf-baeff4143725\nJan 20 16:36:27 c9s-debug devstack@o-api.service[2059866]: DEBUG barbicanclient.client [None req-f6e4a1e5-36bd-40c4-a041-fde7aef03351 admin admin] Response status 200 {{(pid\u003d2059866) _check_status_code /usr/local/lib/python3.9/site-packages/barbicanclient/client.py:87}}\nJan 20 16:36:27 c9s-debug devstack@o-api.service[2059866]: INFO octavia.certificates.manager.barbican [None req-4dcc0df4-64fc-44d5-ae41-ad4cecd2150d None None] Loading certificate secret http://192.168.122.153/key-manager/v1/secrets/81aadc27-68bb-441d-acbf-baeff4143725 from Barbican.\nJan 20 16:36:27 c9s-debug devstack@o-api.service[2059866]: INFO octavia.certificates.manager.barbican_legacy [None req-4dcc0df4-64fc-44d5-ae41-ad4cecd2150d None None] Loading certificate container http://192.168.122.153/key-manager/v1/secrets/81aadc27-68bb-441d-acbf-baeff4143725 from Barbican.\nJan 20 16:36:27 c9s-debug devstack@o-api.service[2059866]: DEBUG barbicanclient.v1.containers [None req-4dcc0df4-64fc-44d5-ae41-ad4cecd2150d None None] Creating consumer registration for container http://192.168.122.153/key-manager/v1/secrets/81aadc27-68bb-441d-acbf-baeff4143725 as load-balancer: None/v2/lbaas/listeners/1426a501-999a-4e19-be74-d848883040e2 {{(pid\u003d2059866) register_consumer /usr/local/lib/python3.9/site-packages/barbicanclient/v1/containers.py:743}}\nJan 20 16:36:27 c9s-debug devstack@o-api.service[2059866]: DEBUG barbicanclient.client [None req-4dcc0df4-64fc-44d5-ae41-ad4cecd2150d None None] Response status 404 {{(pid\u003d2059866) _check_status_code /usr/local/lib/python3.9/site-packages/barbicanclient/client.py:87}}\nJan 20 16:36:27 c9s-debug devstack@o-api.service[2059866]: ERROR barbicanclient.client [None req-4dcc0df4-64fc-44d5-ae41-ad4cecd2150d None None] 4xx Client error: Not Found: Secrets container not found.\nJan 20 16:36:27 c9s-debug devstack@o-api.service[2059866]: ERROR octavia.certificates.manager.barbican_legacy [None req-4dcc0df4-64fc-44d5-ae41-ad4cecd2150d None None] Error getting cert http://192.168.122.153/key-manager/v1/secrets/81aadc27-68bb-441d-acbf-baeff4143725: Not Found: Secrets container not found.: barbicanclient.exceptions.HTTPClientError: Not Found: Secrets container not found.","commit_id":"d0725c9bd160bbe98e7dd52fb79659fd27bf12e9"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"c6d26384ea2c3988b9ba9fefbcb0df0d52095b61","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"746f634b_20a6b1e2","updated":"2023-01-20 17:17:01.000000000","message":"I didn\u0027t use the most recent version of barbican \u0026 barbican client. Now that I do, I do not have the issue I mentioned","commit_id":"d0725c9bd160bbe98e7dd52fb79659fd27bf12e9"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"b5452709e48eae4a80f31b9be0653c4a547c4127","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"931b1e95_90a59c15","updated":"2023-01-23 16:52:00.000000000","message":"I tested this patch on my devstack host, I created an LB, a secret, TLS_TERMINATED listener, pool and member. \nI was able to delete the barbican secret and when I tried to delete the member, the LB was stuck with PENDING_* provisioning_status. I got the following err msg:\n\nERROR oslo_messaging.rpc.server Traceback (most recent call last):\nERROR oslo_messaging.rpc.server   File \"/usr/local/lib/python3.9/site-packages/oslo_messaging/rpc/server.py\", line 165, in _process_incoming\nERROR oslo_messaging.rpc.server     res \u003d self.dispatcher.dispatch(message)\nERROR oslo_messaging.rpc.server   File \"/usr/local/lib/python3.9/site-packages/oslo_messaging/rpc/dispatcher.py\", line 309, in dispatch\nERROR oslo_messaging.rpc.server     return self._do_dispatch(endpoint, method, ctxt, args)\nERROR oslo_messaging.rpc.server   File \"/usr/local/lib/python3.9/site-packages/oslo_messaging/rpc/dispatcher.py\", line 229, in _do_dispatch\nERROR oslo_messaging.rpc.server     result \u003d func(ctxt, **new_args)\nERROR oslo_messaging.rpc.server   File \"/opt/stack/octavia/octavia/controller/queue/v2/endpoints.py\", line 137, in delete_member\nERROR oslo_messaging.rpc.server     self.worker.delete_member(member)\nERROR oslo_messaging.rpc.server   File \"/opt/stack/octavia/octavia/controller/worker/v2/controller_worker.py\", line 478, in delete_member\nERROR oslo_messaging.rpc.server     provider_lb \u003d provider_utils.db_loadbalancer_to_provider_loadbalancer(\nERROR oslo_messaging.rpc.server   File \"/opt/stack/octavia/octavia/api/drivers/utils.py\", line 151, in db_loadbalancer_to_provider_loadbalancer\nERROR oslo_messaging.rpc.server     new_loadbalancer_dict \u003d lb_dict_to_provider_dict(\nERROR oslo_messaging.rpc.server   File \"/opt/stack/octavia/octavia/api/drivers/utils.py\", line 144, in lb_dict_to_provider_dict\nERROR oslo_messaging.rpc.server     new_lb_dict[\u0027listeners\u0027] \u003d db_listeners_to_provider_listeners(\nERROR oslo_messaging.rpc.server   File \"/opt/stack/octavia/octavia/api/drivers/utils.py\", line 168, in db_listeners_to_provider_listeners\nERROR oslo_messaging.rpc.server     provider_listener \u003d db_listener_to_provider_listener(\nERROR oslo_messaging.rpc.server   File \"/opt/stack/octavia/octavia/api/drivers/utils.py\", line 182, in db_listener_to_provider_listener\nERROR oslo_messaging.rpc.server     new_listener_dict \u003d listener_dict_to_provider_dict(\nERROR oslo_messaging.rpc.server   File \"/opt/stack/octavia/octavia/api/drivers/utils.py\", line 269, in listener_dict_to_provider_dict\nERROR oslo_messaging.rpc.server     cert_dict \u003d {}\nERROR oslo_messaging.rpc.server   File \"/usr/local/lib/python3.9/site-packages/oslo_utils/excutils.py\", line 227, in _exit_\nERROR oslo_messaging.rpc.server     self.force_reraise()\nERROR oslo_messaging.rpc.server   File \"/usr/local/lib/python3.9/site-packages/oslo_utils/excutils.py\", line 200, in force_reraise\nERROR oslo_messaging.rpc.server     raise self.value\nERROR oslo_messaging.rpc.server   File \"/opt/stack/octavia/octavia/api/drivers/utils.py\", line 261, in listener_dict_to_provider_dict\nERROR oslo_messaging.rpc.server     cert_dict \u003d cert_parser.load_certificates_data(cert_manager,\nERROR oslo_messaging.rpc.server   File \"/opt/stack/octavia/octavia/common/tls_utils/cert_parser.py\", line 375, in load_certificates_data\nERROR oslo_messaging.rpc.server     raise exceptions.CertificateRetrievalException(\nERROR oslo_messaging.rpc.server octavia.common.exceptions.CertificateRetrievalException: Could not retrieve certificate: http://192.168.122.153/key-manager/v1/secrets/54fa112a-8393-4443-bdaf-1842a5a08e1b\nERROR oslo_messaging.rpc.server","commit_id":"d0725c9bd160bbe98e7dd52fb79659fd27bf12e9"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"fdca68b9f940c136258a6fca01362bc30d0fc703","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"3db4e8dc_b1f3d8a8","updated":"2023-01-20 16:51:16.000000000","message":"Waiting on a python-barbicanclient release to bump the minimum version of the client in requirements.txt","commit_id":"d0725c9bd160bbe98e7dd52fb79659fd27bf12e9"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"b5b447b840d925241acdde9cfa632dc1423bd3ee","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"6b303baa_8615d7f9","updated":"2023-01-11 14:53:01.000000000","message":"recheck\nBarbican has posted an updated patch","commit_id":"d0725c9bd160bbe98e7dd52fb79659fd27bf12e9"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"61fd68d812b5686de14666b50669bb99d4bee6c3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"9906ea5d_c5768ebc","updated":"2023-01-19 19:02:26.000000000","message":"recheck\nOctavia tempest plugin fix for nova RBAC issue has merged","commit_id":"d0725c9bd160bbe98e7dd52fb79659fd27bf12e9"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"cf129af4ead5b73cfe005d129a46d022c28b0589","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"3464ca15_4b83fd14","updated":"2023-01-18 15:01:00.000000000","message":"recheck\nnew barbican update","commit_id":"d0725c9bd160bbe98e7dd52fb79659fd27bf12e9"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"bd7d7ad88b01f5239d4cb0d523b50ced3c23b3a9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"9cd70e40_a6c2a810","updated":"2023-01-19 23:11:44.000000000","message":"recheck\noctavia-v2-dsvm-scenario TIMEOUT","commit_id":"d0725c9bd160bbe98e7dd52fb79659fd27bf12e9"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"fdca68b9f940c136258a6fca01362bc30d0fc703","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"62470d6c_1d4898de","in_reply_to":"0ed58c92_73d5b02f","updated":"2023-01-20 16:51:16.000000000","message":"Nope, this is not an issue.","commit_id":"d0725c9bd160bbe98e7dd52fb79659fd27bf12e9"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"078fc0d0158ac09683173c4374c9efe78f2cfe49","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"642c84a1_b8700409","in_reply_to":"931b1e95_90a59c15","updated":"2023-02-02 07:21:40.000000000","message":"Omer, you need to install python-barbicanclient with the patch that is in the \"depends-on\" of this patch.\n\nWith this change, the CLI denies the secret delete call:\n$ openstack secret delete http://192.168.1.101/key-manager/v1/secrets/8b40300a-6d9d-47a5-9139-f300c999c1ae\nSecret has consumers! Remove them first or use the --force option.","commit_id":"d0725c9bd160bbe98e7dd52fb79659fd27bf12e9"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"bc82327b25374f7f741de9da01d4a548b32ec157","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"d2228ff7_e34b6f26","updated":"2023-02-03 00:05:10.000000000","message":"Still waiting on python-barbicanclient release to bump requirements.txt","commit_id":"c5e801b8dac04cc11f9a2457b10937f541b15f1f"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1270cce162292202c4915a00307adcc0bc0c3f3f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"4eece0aa_06c74236","updated":"2023-02-03 18:11:43.000000000","message":"Still waiting for  python-barbicanclient release","commit_id":"8f736cb40256dcf0971d0ac5dc08b5979ed51a98"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7babb2fc8ee9e147b0426bed1dbc39719a378349","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"2795810e_80b14821","updated":"2023-02-09 18:07:48.000000000","message":"Rebased to resolve the conflict for the removal of the 0.5 rest driver.\nStill waiting on a release of python-barbicanclient","commit_id":"f465898863023d2f3e6b8bb138f5121a37d8690e"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"f67eb90a83070bb55d0c3adaca29dbe0d2c8fd69","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"30bccafd_4e92c763","updated":"2023-02-16 22:15:06.000000000","message":"recheck\nupper-constraints has now merged","commit_id":"ffebbb1bdcb6937e551e8a92829383d5c054b6f9"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"1098e15b21683aefc1b910b8e4f36ad8ecca5035","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"281291a4_2b4a4b72","updated":"2023-02-16 06:57:06.000000000","message":"recheck barbicanclient 5.5.0 should be available now","commit_id":"ffebbb1bdcb6937e551e8a92829383d5c054b6f9"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"3377358755aa64d7802ac55445d2136e7f4d1a45","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"0a79a3af_aff8433d","updated":"2023-02-17 13:51:09.000000000","message":"recheck octavia-v2-dsvm-noop-api API timeout\n2023-02-17 11:31:34.035 80379 WARNING urllib3.connectionpool [-] Retrying (Retry(total\u003d9, connect\u003dNone, read\u003dNone, redirect\u003d5, status\u003dNone)) after connection broken by \u0027ReadTimeoutError(\"HTTPConnectionPool(host\u003d\u0027158.69.66.88\u0027, port\u003d80): Read timed out.","commit_id":"ffebbb1bdcb6937e551e8a92829383d5c054b6f9"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"f53bebc7cc83a0e8514041e8faa4c7f1d62e212d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"6d0d7085_bf68d2e5","updated":"2023-02-17 10:23:48.000000000","message":"recheck test teardown failed. check if failure is persistent.","commit_id":"ffebbb1bdcb6937e551e8a92829383d5c054b6f9"},{"author":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"change_message_id":"cc242d1c23873304036db3daae6fb04c587e8993","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"4dccfe76_c1c33e7c","updated":"2025-09-18 09:52:52.000000000","message":"recheck depends-on updated","commit_id":"6b3b0b9bc98d482699dc59b7a528f5ecc54a0f6d"},{"author":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"change_message_id":"46cce05fa88bacdd7d80833f8b5fc88919a96368","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"7a8dc293_1fc2737c","updated":"2025-09-18 18:44:14.000000000","message":"something is not working here, i\u0027m trying to narrow it down but some secret consumers are not deleted properly","commit_id":"4aba73d7525b93326daa190500d23628a6adb5ec"},{"author":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"change_message_id":"8ed012102d7b404eb6fefeba05eae267ff2a399e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"23c2ad33_c426d472","updated":"2025-09-18 16:07:06.000000000","message":"this does not handle when a listener is updated and causes dangling secret consumers to be laying around","commit_id":"4aba73d7525b93326daa190500d23628a6adb5ec"},{"author":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"change_message_id":"9c4d30a012f562332ad22aca1471f96a8ff48712","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"1844701f_1a3dd7ee","updated":"2025-09-22 07:31:32.000000000","message":"recheck dependency updated","commit_id":"f1d82c5075027fc1cd547b0d549c5de9479396f8"},{"author":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"change_message_id":"a73d24a6c18bca9dc20cb0b26276f2b855c0fe0c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"f5af1a9d_4e8ad8b6","updated":"2025-09-22 08:28:43.000000000","message":"recheck dependency updated","commit_id":"f1d82c5075027fc1cd547b0d549c5de9479396f8"},{"author":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"change_message_id":"d0ef334a7940a29d5120a8382ab8515a431080ce","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"53c16abb_5a732c40","updated":"2025-09-23 09:35:49.000000000","message":"something causes 1 barbican consumer for a pool to be left behind, and 2 barbican consumers for listener","commit_id":"f1d82c5075027fc1cd547b0d549c5de9479396f8"}],"octavia/certificates/manager/barbican.py":[{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"c9ef6167a7e2015c887cf8faadb4e1cecdc47ca9","unresolved":true,"context_lines":[{"line_number":104,"context_line":"        :param resource_id: The UUID for the resource requesting the cert"},{"line_number":105,"context_line":"        :param check_only: Read Certificate data without registering"},{"line_number":106,"context_line":"        :param resource_type: The type of resource requesting the cert."},{"line_number":107,"context_line":"                              i.e. listener"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        :return: octavia.certificates.common.Cert representation of the"},{"line_number":110,"context_line":"                 certificate data"}],"source_content_type":"text/x-python","patch_set":4,"id":"7343457f_dcdc8478","line":107,"range":{"start_line":107,"start_character":30,"end_line":107,"end_character":34},"updated":"2022-11-17 10:41:13.000000000","message":"listener is just an example, right? Should it be e.g. instead then?","commit_id":"62243dddb009e0518275affd42e050dc481795d1"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"f8300cbf3990e7b683772f0441f01c3afae5c9c5","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        :param resource_id: The UUID for the resource requesting the cert"},{"line_number":105,"context_line":"        :param check_only: Read Certificate data without registering"},{"line_number":106,"context_line":"        :param resource_type: The type of resource requesting the cert."},{"line_number":107,"context_line":"                              i.e. listener"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        :return: octavia.certificates.common.Cert representation of the"},{"line_number":110,"context_line":"                 certificate data"}],"source_content_type":"text/x-python","patch_set":4,"id":"82e02b10_d647c6ea","line":107,"range":{"start_line":107,"start_character":30,"end_line":107,"end_character":34},"in_reply_to":"7343457f_dcdc8478","updated":"2022-11-18 23:58:45.000000000","message":"Done","commit_id":"62243dddb009e0518275affd42e050dc481795d1"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"1844a882a34efbde3571cabe25c372be7a18a0b8","unresolved":true,"context_lines":[{"line_number":63,"context_line":"        :returns: the container_ref of the stored cert"},{"line_number":64,"context_line":"        :raises Exception: if certificate storage fails"},{"line_number":65,"context_line":"        \"\"\""},{"line_number":66,"context_line":"        connection \u003d self.auth.get_barbican_client()"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        LOG.info(\"Storing certificate secret \u0027%s\u0027 in Barbican.\", name)"},{"line_number":69,"context_line":"        p12 \u003d crypto.PKCS12()"}],"source_content_type":"text/x-python","patch_set":5,"id":"aaef5382_223f5dd7","line":66,"range":{"start_line":66,"start_character":31,"end_line":66,"end_character":52},"updated":"2023-02-02 07:49:53.000000000","message":"what is the reason for the removal the oslo context here?\n\nDoes the validation of the certs in the API work because we call set_acls?","commit_id":"d0725c9bd160bbe98e7dd52fb79659fd27bf12e9"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"232d2a168e4e761191908b03ad8e67d4644679d8","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        :returns: the container_ref of the stored cert"},{"line_number":64,"context_line":"        :raises Exception: if certificate storage fails"},{"line_number":65,"context_line":"        \"\"\""},{"line_number":66,"context_line":"        connection \u003d self.auth.get_barbican_client()"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        LOG.info(\"Storing certificate secret \u0027%s\u0027 in Barbican.\", name)"},{"line_number":69,"context_line":"        p12 \u003d crypto.PKCS12()"}],"source_content_type":"text/x-python","patch_set":5,"id":"3dd3d4ad_0ca3f792","line":66,"range":{"start_line":66,"start_character":31,"end_line":66,"end_character":52},"in_reply_to":"aaef5382_223f5dd7","updated":"2023-02-03 00:04:23.000000000","message":"That project_id isn\u0027t used in the actual code, so I removed it.\nI assume it stopped being used at some point in the past and the method signature was never updated. So this is tech-debt cleanup.\nhttps://github.com/openstack/octavia/blob/master/octavia/certificates/common/auth/barbican_acl.py#L38","commit_id":"d0725c9bd160bbe98e7dd52fb79659fd27bf12e9"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"a4edffa9c353148d89ab65ba3a987d6e75d8fed0","unresolved":true,"context_lines":[{"line_number":183,"context_line":"            legacy_mgr \u003d barbican_legacy.BarbicanCertManager(auth\u003dself.auth)"},{"line_number":184,"context_line":"            legacy_mgr.delete_cert(context, cert_ref, resource_ref)"},{"line_number":185,"context_line":"        except Exception:"},{"line_number":186,"context_line":"            pass"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    def set_acls(self, context, cert_ref):"},{"line_number":189,"context_line":"        LOG.debug(\u0027Setting project ACL for certificate secret...\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"64b411ea_ce512130","line":186,"range":{"start_line":186,"start_character":12,"end_line":186,"end_character":16},"updated":"2023-01-17 14:55:50.000000000","message":"Would we like to print something to LOG in case we couldn\u0027t delete the cert in both ways?","commit_id":"d0725c9bd160bbe98e7dd52fb79659fd27bf12e9"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"232d2a168e4e761191908b03ad8e67d4644679d8","unresolved":false,"context_lines":[{"line_number":183,"context_line":"            legacy_mgr \u003d barbican_legacy.BarbicanCertManager(auth\u003dself.auth)"},{"line_number":184,"context_line":"            legacy_mgr.delete_cert(context, cert_ref, resource_ref)"},{"line_number":185,"context_line":"        except Exception:"},{"line_number":186,"context_line":"            pass"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    def set_acls(self, context, cert_ref):"},{"line_number":189,"context_line":"        LOG.debug(\u0027Setting project ACL for certificate secret...\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"11c22204_0062bb36","line":186,"range":{"start_line":186,"start_character":12,"end_line":186,"end_character":16},"in_reply_to":"64b411ea_ce512130","updated":"2023-02-03 00:04:23.000000000","message":"Yes we could. I didn\u0027t change that behavior in this patch, but that could be an enhancement to this code.","commit_id":"d0725c9bd160bbe98e7dd52fb79659fd27bf12e9"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"f53bebc7cc83a0e8514041e8faa4c7f1d62e212d","unresolved":true,"context_lines":[{"line_number":184,"context_line":"            legacy_mgr.delete_cert(context, cert_ref, resource_ref)"},{"line_number":185,"context_line":"        except Exception as e:"},{"line_number":186,"context_line":"            LOG.error(\u0027Unable to unregister consumer on cert_ref %s \u0027"},{"line_number":187,"context_line":"                      \u0027due to: %s\u0027, cert_ref, str(e))"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    def set_acls(self, context, cert_ref):"},{"line_number":190,"context_line":"        LOG.debug(\u0027Setting project ACL for certificate secret...\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"23092d0a_97674b7d","line":187,"range":{"start_line":187,"start_character":46,"end_line":187,"end_character":52},"updated":"2023-02-17 10:23:48.000000000","message":"Nit: str(e) should not be necessary because of the %s. I personally like to use %r for Exceptions instead of %s because it also includes the Exception type in the string, which can be helpful sometimes.","commit_id":"ffebbb1bdcb6937e551e8a92829383d5c054b6f9"},{"author":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"change_message_id":"035ca27e6b1c3b6ea71d7ef8ab00bea583d9e91e","unresolved":false,"context_lines":[{"line_number":184,"context_line":"            legacy_mgr.delete_cert(context, cert_ref, resource_ref)"},{"line_number":185,"context_line":"        except Exception as e:"},{"line_number":186,"context_line":"            LOG.error(\u0027Unable to unregister consumer on cert_ref %s \u0027"},{"line_number":187,"context_line":"                      \u0027due to: %s\u0027, cert_ref, str(e))"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    def set_acls(self, context, cert_ref):"},{"line_number":190,"context_line":"        LOG.debug(\u0027Setting project ACL for certificate secret...\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5dc2443d_e1f63b81","line":187,"range":{"start_line":187,"start_character":46,"end_line":187,"end_character":52},"in_reply_to":"23092d0a_97674b7d","updated":"2025-12-16 15:46:33.000000000","message":"Done","commit_id":"ffebbb1bdcb6937e551e8a92829383d5c054b6f9"}],"octavia/certificates/manager/castellan_mgr.py":[{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"c9ef6167a7e2015c887cf8faadb4e1cecdc47ca9","unresolved":true,"context_lines":[{"line_number":50,"context_line":"        p12_data \u003d opaque_data.OpaqueData(p12.export(), name\u003dname)"},{"line_number":51,"context_line":"        self.manager.store(context, p12_data)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def get_cert(self, context, cert_ref, resource_ref\u003dNone, check_only\u003dFalse,"},{"line_number":54,"context_line":"                 service_name\u003dNone):"},{"line_number":55,"context_line":"        certbag \u003d self.manager.get(context, cert_ref)"},{"line_number":56,"context_line":"        certbag_data \u003d certbag.get_encoded()"},{"line_number":57,"context_line":"        cert \u003d pkcs12.PKCS12Cert(certbag_data)"}],"source_content_type":"text/x-python","patch_set":4,"id":"128bdaa0_1b357981","line":54,"range":{"start_line":53,"start_character":42,"end_line":54,"end_character":34},"updated":"2022-11-17 10:41:13.000000000","message":"This needs to be updated too.","commit_id":"62243dddb009e0518275affd42e050dc481795d1"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"f8300cbf3990e7b683772f0441f01c3afae5c9c5","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        p12_data \u003d opaque_data.OpaqueData(p12.export(), name\u003dname)"},{"line_number":51,"context_line":"        self.manager.store(context, p12_data)"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def get_cert(self, context, cert_ref, resource_ref\u003dNone, check_only\u003dFalse,"},{"line_number":54,"context_line":"                 service_name\u003dNone):"},{"line_number":55,"context_line":"        certbag \u003d self.manager.get(context, cert_ref)"},{"line_number":56,"context_line":"        certbag_data \u003d certbag.get_encoded()"},{"line_number":57,"context_line":"        cert \u003d pkcs12.PKCS12Cert(certbag_data)"}],"source_content_type":"text/x-python","patch_set":4,"id":"b36f3b92_805df2f5","line":54,"range":{"start_line":53,"start_character":42,"end_line":54,"end_character":34},"in_reply_to":"128bdaa0_1b357981","updated":"2022-11-18 23:58:45.000000000","message":"Done","commit_id":"62243dddb009e0518275affd42e050dc481795d1"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"c9ef6167a7e2015c887cf8faadb4e1cecdc47ca9","unresolved":true,"context_lines":[{"line_number":57,"context_line":"        cert \u003d pkcs12.PKCS12Cert(certbag_data)"},{"line_number":58,"context_line":"        return cert"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def delete_cert(self, context, cert_ref, resource_ref, service_name\u003dNone):"},{"line_number":61,"context_line":"        # Delete is not a great name for this -- we don\u0027t delete anything"},{"line_number":62,"context_line":"        # in reality, we just do cleanup here. For castellan, none is required"},{"line_number":63,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":4,"id":"e699d881_d1626fd6","line":60,"range":{"start_line":60,"start_character":45,"end_line":60,"end_character":76},"updated":"2022-11-17 10:41:13.000000000","message":"This needs to be updated too.","commit_id":"62243dddb009e0518275affd42e050dc481795d1"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"f8300cbf3990e7b683772f0441f01c3afae5c9c5","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        cert \u003d pkcs12.PKCS12Cert(certbag_data)"},{"line_number":58,"context_line":"        return cert"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def delete_cert(self, context, cert_ref, resource_ref, service_name\u003dNone):"},{"line_number":61,"context_line":"        # Delete is not a great name for this -- we don\u0027t delete anything"},{"line_number":62,"context_line":"        # in reality, we just do cleanup here. For castellan, none is required"},{"line_number":63,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":4,"id":"7c133b3e_87210b55","line":60,"range":{"start_line":60,"start_character":45,"end_line":60,"end_character":76},"in_reply_to":"e699d881_d1626fd6","updated":"2022-11-18 23:58:45.000000000","message":"Done","commit_id":"62243dddb009e0518275affd42e050dc481795d1"}],"octavia/common/tls_utils/cert_parser.py":[{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"c9ef6167a7e2015c887cf8faadb4e1cecdc47ca9","unresolved":true,"context_lines":[{"line_number":360,"context_line":"        resource_type \u003d constants.POOL"},{"line_number":361,"context_line":"    else:"},{"line_number":362,"context_line":"        raise exceptions.OctaviaException("},{"line_number":363,"context_line":"            \"Unknow object type passed into load_certificates_data.\")"},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"    if obj.tls_certificate_id:"},{"line_number":366,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"0dfe4c9e_10172227","line":363,"range":{"start_line":363,"start_character":13,"end_line":363,"end_character":19},"updated":"2022-11-17 10:41:13.000000000","message":"typo. Also, we might want to allow for translation.","commit_id":"62243dddb009e0518275affd42e050dc481795d1"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"f8300cbf3990e7b683772f0441f01c3afae5c9c5","unresolved":false,"context_lines":[{"line_number":360,"context_line":"        resource_type \u003d constants.POOL"},{"line_number":361,"context_line":"    else:"},{"line_number":362,"context_line":"        raise exceptions.OctaviaException("},{"line_number":363,"context_line":"            \"Unknow object type passed into load_certificates_data.\")"},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"    if obj.tls_certificate_id:"},{"line_number":366,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"97d7837a_088393cf","line":363,"range":{"start_line":363,"start_character":13,"end_line":363,"end_character":19},"in_reply_to":"0dfe4c9e_10172227","updated":"2022-11-18 23:58:45.000000000","message":"Done","commit_id":"62243dddb009e0518275affd42e050dc481795d1"}],"octavia/controller/worker/v2/flows/listener_flows.py":[{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"f8b7b0a2ef836fedb2b6f7eaeabe0837faba4302","unresolved":true,"context_lines":[{"line_number":34,"context_line":"        create_listener_flow.add(lifecycle_tasks.ListenersToErrorOnRevertTask("},{"line_number":35,"context_line":"            requires\u003dconstants.LISTENERS))"},{"line_number":36,"context_line":"        create_listener_flow.add("},{"line_number":37,"context_line":"            cert_task.UnregisterListenerCertConsumersOnRevert("},{"line_number":38,"context_line":"                requires\u003dconstants.LISTENERS))"},{"line_number":39,"context_line":"        create_listener_flow.add(amphora_driver_tasks.ListenersUpdate("},{"line_number":40,"context_line":"            requires\u003dconstants.LOADBALANCER_ID))"}],"source_content_type":"text/x-python","patch_set":5,"id":"5b86bfbb_146caf35","line":37,"range":{"start_line":37,"start_character":22,"end_line":37,"end_character":61},"updated":"2023-02-02 09:22:31.000000000","message":"hmm, I\u0027m wondering if we should really unregister the secret on revert.\nAfter the revert, the listener (or the pool) still exists in the DB (in ERROR) with a ref to the secret.\n\nIt means that:\n* the user can delete the secret (it is unregistered)\n* an admin can trigger a potentially successful failover of the LB but the secret in the ref will be missing","commit_id":"d0725c9bd160bbe98e7dd52fb79659fd27bf12e9"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"232d2a168e4e761191908b03ad8e67d4644679d8","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        create_listener_flow.add(lifecycle_tasks.ListenersToErrorOnRevertTask("},{"line_number":35,"context_line":"            requires\u003dconstants.LISTENERS))"},{"line_number":36,"context_line":"        create_listener_flow.add("},{"line_number":37,"context_line":"            cert_task.UnregisterListenerCertConsumersOnRevert("},{"line_number":38,"context_line":"                requires\u003dconstants.LISTENERS))"},{"line_number":39,"context_line":"        create_listener_flow.add(amphora_driver_tasks.ListenersUpdate("},{"line_number":40,"context_line":"            requires\u003dconstants.LOADBALANCER_ID))"}],"source_content_type":"text/x-python","patch_set":5,"id":"9cd1c61f_cc39f7b7","line":37,"range":{"start_line":37,"start_character":22,"end_line":37,"end_character":61},"in_reply_to":"5b86bfbb_146caf35","updated":"2023-02-03 00:04:23.000000000","message":"Yeah, this is a good catch. The consumer is registered in the API tier when we create the provider driver data, so removing it here would be bogus.","commit_id":"d0725c9bd160bbe98e7dd52fb79659fd27bf12e9"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"a4edffa9c353148d89ab65ba3a987d6e75d8fed0","unresolved":true,"context_lines":[{"line_number":107,"context_line":"            name\u003d\u0027delete_update_vip_\u0027 + listener_id,"},{"line_number":108,"context_line":"            requires\u003dconstants.LOADBALANCER_ID))"},{"line_number":109,"context_line":"        delete_listener_flow.add(cert_task.UnregisterListenerCertConsumers("},{"line_number":110,"context_line":"            name\u003d\u0027unregister_cert_consumer\u0027 + listener_id,"},{"line_number":111,"context_line":"            requires\u003dconstants.LISTENER,"},{"line_number":112,"context_line":"            inject\u003d{constants.LISTENER: listener}))"},{"line_number":113,"context_line":"        delete_listener_flow.add(database_tasks.DeleteListenerInDB("}],"source_content_type":"text/x-python","patch_set":5,"id":"b54106c3_ef0cd707","line":110,"range":{"start_line":110,"start_character":18,"end_line":110,"end_character":42},"updated":"2023-01-17 14:55:50.000000000","message":"Missing _ at the end of the subflow name","commit_id":"d0725c9bd160bbe98e7dd52fb79659fd27bf12e9"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"232d2a168e4e761191908b03ad8e67d4644679d8","unresolved":false,"context_lines":[{"line_number":107,"context_line":"            name\u003d\u0027delete_update_vip_\u0027 + listener_id,"},{"line_number":108,"context_line":"            requires\u003dconstants.LOADBALANCER_ID))"},{"line_number":109,"context_line":"        delete_listener_flow.add(cert_task.UnregisterListenerCertConsumers("},{"line_number":110,"context_line":"            name\u003d\u0027unregister_cert_consumer\u0027 + listener_id,"},{"line_number":111,"context_line":"            requires\u003dconstants.LISTENER,"},{"line_number":112,"context_line":"            inject\u003d{constants.LISTENER: listener}))"},{"line_number":113,"context_line":"        delete_listener_flow.add(database_tasks.DeleteListenerInDB("}],"source_content_type":"text/x-python","patch_set":5,"id":"7d482447_74e29dfc","line":110,"range":{"start_line":110,"start_character":18,"end_line":110,"end_character":42},"in_reply_to":"b54106c3_ef0cd707","updated":"2023-02-03 00:04:23.000000000","message":"Yes","commit_id":"d0725c9bd160bbe98e7dd52fb79659fd27bf12e9"}],"octavia/controller/worker/v2/tasks/cert_task.py":[{"author":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"change_message_id":"f71f67106997272843d2bdcc2775e7892ad64789","unresolved":true,"context_lines":[{"line_number":133,"context_line":"    def execute(self, listener):"},{"line_number":134,"context_line":"        \"\"\"Execute the delete_cert method.\"\"\""},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        LOG.debug(\"UnregisterListenerCertConsumers execute \""},{"line_number":137,"context_line":"                  \"for listener: %s\", listener)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        listener_id \u003d listener[constants.LISTENER_ID]"},{"line_number":140,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"8087fd2a_f0d490de","line":137,"range":{"start_line":136,"start_character":8,"end_line":137,"end_character":47},"updated":"2025-10-02 09:06:56.000000000","message":"todo: remove this as it leaks info in debug log","commit_id":"abfe9c68e6ed772e25ea833e6f4a9358a27a787e"},{"author":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"change_message_id":"24f0a7a6fcea9302be551221c70e2205f0385770","unresolved":false,"context_lines":[{"line_number":133,"context_line":"    def execute(self, listener):"},{"line_number":134,"context_line":"        \"\"\"Execute the delete_cert method.\"\"\""},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        LOG.debug(\"UnregisterListenerCertConsumers execute \""},{"line_number":137,"context_line":"                  \"for listener: %s\", listener)"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"        listener_id \u003d listener[constants.LISTENER_ID]"},{"line_number":140,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"0c3f7fe2_ae93186c","line":137,"range":{"start_line":136,"start_character":8,"end_line":137,"end_character":47},"in_reply_to":"8087fd2a_f0d490de","updated":"2025-12-16 15:45:15.000000000","message":"Done","commit_id":"abfe9c68e6ed772e25ea833e6f4a9358a27a787e"},{"author":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"change_message_id":"f71f67106997272843d2bdcc2775e7892ad64789","unresolved":true,"context_lines":[{"line_number":150,"context_line":"    def revert(self, listener, result, *args, **kwargs):"},{"line_number":151,"context_line":"        \"\"\"Re-register the consumer as the flow is reverting.\"\"\""},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        LOG.debug(\"UnregisterListenerCertConsumers revert \""},{"line_number":154,"context_line":"                  \"for listener: %s\", listener)"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"        listener_id \u003d listener[constants.LISTENER_ID]"},{"line_number":157,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"25f1672d_40aaeb0d","line":154,"range":{"start_line":153,"start_character":0,"end_line":154,"end_character":47},"updated":"2025-10-02 09:06:56.000000000","message":"todo: remove this as it leaks info in debug log","commit_id":"abfe9c68e6ed772e25ea833e6f4a9358a27a787e"},{"author":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"change_message_id":"24f0a7a6fcea9302be551221c70e2205f0385770","unresolved":false,"context_lines":[{"line_number":150,"context_line":"    def revert(self, listener, result, *args, **kwargs):"},{"line_number":151,"context_line":"        \"\"\"Re-register the consumer as the flow is reverting.\"\"\""},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"        LOG.debug(\"UnregisterListenerCertConsumers revert \""},{"line_number":154,"context_line":"                  \"for listener: %s\", listener)"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"        listener_id \u003d listener[constants.LISTENER_ID]"},{"line_number":157,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"fea15428_392f18e3","line":154,"range":{"start_line":153,"start_character":0,"end_line":154,"end_character":47},"in_reply_to":"25f1672d_40aaeb0d","updated":"2025-12-16 15:45:15.000000000","message":"Done","commit_id":"abfe9c68e6ed772e25ea833e6f4a9358a27a787e"},{"author":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"change_message_id":"f71f67106997272843d2bdcc2775e7892ad64789","unresolved":true,"context_lines":[{"line_number":175,"context_line":"    def execute(self, pool_id):"},{"line_number":176,"context_line":"        \"\"\"Unregister consumers for pool certs.\"\"\""},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"        LOG.debug(\"UnregisterPoolCertConsumers execute for pool %s\","},{"line_number":179,"context_line":"                  pool_id)"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"        try:"},{"line_number":182,"context_line":"            pool_cert_refs \u003d self.pool_repo.get_pool_certificate_refs("}],"source_content_type":"text/x-python","patch_set":30,"id":"5f8c9c00_9f2a0f4c","line":179,"range":{"start_line":178,"start_character":1,"end_line":179,"end_character":26},"updated":"2025-10-02 09:06:56.000000000","message":"todo: this can be removed","commit_id":"abfe9c68e6ed772e25ea833e6f4a9358a27a787e"},{"author":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"change_message_id":"24f0a7a6fcea9302be551221c70e2205f0385770","unresolved":false,"context_lines":[{"line_number":175,"context_line":"    def execute(self, pool_id):"},{"line_number":176,"context_line":"        \"\"\"Unregister consumers for pool certs.\"\"\""},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"        LOG.debug(\"UnregisterPoolCertConsumers execute for pool %s\","},{"line_number":179,"context_line":"                  pool_id)"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"        try:"},{"line_number":182,"context_line":"            pool_cert_refs \u003d self.pool_repo.get_pool_certificate_refs("}],"source_content_type":"text/x-python","patch_set":30,"id":"8c9eb43b_81cfd6c4","line":179,"range":{"start_line":178,"start_character":1,"end_line":179,"end_character":26},"in_reply_to":"5f8c9c00_9f2a0f4c","updated":"2025-12-16 15:45:15.000000000","message":"Done","commit_id":"abfe9c68e6ed772e25ea833e6f4a9358a27a787e"},{"author":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"change_message_id":"f71f67106997272843d2bdcc2775e7892ad64789","unresolved":true,"context_lines":[{"line_number":197,"context_line":"    def revert(self, pool_id, result, *args, **kwargs):"},{"line_number":198,"context_line":"        \"\"\"Re-register the consumer as the flow is reverting.\"\"\""},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"        LOG.debug(\"UnregisterPoolCertConsumers revert for pool %s\","},{"line_number":201,"context_line":"                  pool_id)"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"        try:"},{"line_number":204,"context_line":"            pool_cert_refs \u003d self.pool_repo.get_pool_certificate_refs("}],"source_content_type":"text/x-python","patch_set":30,"id":"cde5aba2_d2f45b3b","line":201,"range":{"start_line":200,"start_character":0,"end_line":201,"end_character":26},"updated":"2025-10-02 09:06:56.000000000","message":"todo: this can be removed","commit_id":"abfe9c68e6ed772e25ea833e6f4a9358a27a787e"},{"author":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"change_message_id":"24f0a7a6fcea9302be551221c70e2205f0385770","unresolved":false,"context_lines":[{"line_number":197,"context_line":"    def revert(self, pool_id, result, *args, **kwargs):"},{"line_number":198,"context_line":"        \"\"\"Re-register the consumer as the flow is reverting.\"\"\""},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"        LOG.debug(\"UnregisterPoolCertConsumers revert for pool %s\","},{"line_number":201,"context_line":"                  pool_id)"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"        try:"},{"line_number":204,"context_line":"            pool_cert_refs \u003d self.pool_repo.get_pool_certificate_refs("}],"source_content_type":"text/x-python","patch_set":30,"id":"16fcfffb_552869d3","line":201,"range":{"start_line":200,"start_character":0,"end_line":201,"end_character":26},"in_reply_to":"cde5aba2_d2f45b3b","updated":"2025-12-16 15:45:15.000000000","message":"Done","commit_id":"abfe9c68e6ed772e25ea833e6f4a9358a27a787e"},{"author":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"change_message_id":"f71f67106997272843d2bdcc2775e7892ad64789","unresolved":true,"context_lines":[{"line_number":228,"context_line":"    def execute(self, pool_id, original_pool):"},{"line_number":229,"context_line":"        \"\"\"Un-register certificate consumers on pool update.\"\"\""},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"        LOG.debug(\"UnregisterPoolCertConsumersOnUpdate execute for \""},{"line_number":232,"context_line":"                  \"pool_id: %s with original_pool: %s\", pool_id,"},{"line_number":233,"context_line":"                  str(original_pool))"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        self._unregister("},{"line_number":236,"context_line":"            pool_id, original_pool, constants.CA_TLS_CONTAINER_REF)"}],"source_content_type":"text/x-python","patch_set":30,"id":"2c058609_77171282","line":233,"range":{"start_line":231,"start_character":0,"end_line":233,"end_character":37},"updated":"2025-10-02 09:06:56.000000000","message":"todo: remove this as it leaks info in debug log","commit_id":"abfe9c68e6ed772e25ea833e6f4a9358a27a787e"},{"author":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"change_message_id":"24f0a7a6fcea9302be551221c70e2205f0385770","unresolved":false,"context_lines":[{"line_number":228,"context_line":"    def execute(self, pool_id, original_pool):"},{"line_number":229,"context_line":"        \"\"\"Un-register certificate consumers on pool update.\"\"\""},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"        LOG.debug(\"UnregisterPoolCertConsumersOnUpdate execute for \""},{"line_number":232,"context_line":"                  \"pool_id: %s with original_pool: %s\", pool_id,"},{"line_number":233,"context_line":"                  str(original_pool))"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        self._unregister("},{"line_number":236,"context_line":"            pool_id, original_pool, constants.CA_TLS_CONTAINER_REF)"}],"source_content_type":"text/x-python","patch_set":30,"id":"4e39c636_d6b1f866","line":233,"range":{"start_line":231,"start_character":0,"end_line":233,"end_character":37},"in_reply_to":"2c058609_77171282","updated":"2025-12-16 15:45:15.000000000","message":"Done","commit_id":"abfe9c68e6ed772e25ea833e6f4a9358a27a787e"},{"author":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"change_message_id":"f71f67106997272843d2bdcc2775e7892ad64789","unresolved":true,"context_lines":[{"line_number":242,"context_line":"    def revert(self, pool_id, original_pool, *args, **kwargs):"},{"line_number":243,"context_line":"        \"\"\"Re-register the consumer as the flow is reverting.\"\"\""},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"        LOG.debug(\"UnregisterPoolCertConsumersOnUpdate revert for \""},{"line_number":246,"context_line":"                  \"pool_id: %s with original_pool: %s\", pool_id,"},{"line_number":247,"context_line":"                  str(original_pool))"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"        self._register("},{"line_number":250,"context_line":"            pool_id, original_pool, constants.CA_TLS_CONTAINER_REF)"}],"source_content_type":"text/x-python","patch_set":30,"id":"583eda1d_8f8010ed","line":247,"range":{"start_line":245,"start_character":0,"end_line":247,"end_character":37},"updated":"2025-10-02 09:06:56.000000000","message":"todo: remove this as it leaks info in debug log","commit_id":"abfe9c68e6ed772e25ea833e6f4a9358a27a787e"},{"author":{"_account_id":16137,"name":"Tobias Urdin","email":"tobias.urdin@binero.com","username":"tobasco"},"change_message_id":"24f0a7a6fcea9302be551221c70e2205f0385770","unresolved":false,"context_lines":[{"line_number":242,"context_line":"    def revert(self, pool_id, original_pool, *args, **kwargs):"},{"line_number":243,"context_line":"        \"\"\"Re-register the consumer as the flow is reverting.\"\"\""},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"        LOG.debug(\"UnregisterPoolCertConsumersOnUpdate revert for \""},{"line_number":246,"context_line":"                  \"pool_id: %s with original_pool: %s\", pool_id,"},{"line_number":247,"context_line":"                  str(original_pool))"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"        self._register("},{"line_number":250,"context_line":"            pool_id, original_pool, constants.CA_TLS_CONTAINER_REF)"}],"source_content_type":"text/x-python","patch_set":30,"id":"849248fa_bea53a31","line":247,"range":{"start_line":245,"start_character":0,"end_line":247,"end_character":37},"in_reply_to":"583eda1d_8f8010ed","updated":"2025-12-16 15:45:15.000000000","message":"Done","commit_id":"abfe9c68e6ed772e25ea833e6f4a9358a27a787e"}],"octavia/tests/unit/certificates/manager/test_barbican.py":[{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"a4edffa9c353148d89ab65ba3a987d6e75d8fed0","unresolved":true,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"        )"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        # \u0027get_secret\u0027 should be called once with the secret_ref"},{"line_number":132,"context_line":"        self.bc.secrets.register_consumer.assert_called_once_with("},{"line_number":133,"context_line":"            self.secret_ref, constants.LBAAS_SERVICE_TYPE, \u0027test-type\u0027, \u00272\u0027"},{"line_number":134,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":5,"id":"8f44315a_b7fcd3f0","line":131,"range":{"start_line":131,"start_character":11,"end_line":131,"end_character":21},"updated":"2023-01-17 14:55:50.000000000","message":"Isn\u0027t it register_consumer? If it is, there are other instances of this comment below","commit_id":"d0725c9bd160bbe98e7dd52fb79659fd27bf12e9"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"232d2a168e4e761191908b03ad8e67d4644679d8","unresolved":false,"context_lines":[{"line_number":128,"context_line":""},{"line_number":129,"context_line":"        )"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"        # \u0027get_secret\u0027 should be called once with the secret_ref"},{"line_number":132,"context_line":"        self.bc.secrets.register_consumer.assert_called_once_with("},{"line_number":133,"context_line":"            self.secret_ref, constants.LBAAS_SERVICE_TYPE, \u0027test-type\u0027, \u00272\u0027"},{"line_number":134,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":5,"id":"8edc22b6_4762a957","line":131,"range":{"start_line":131,"start_character":11,"end_line":131,"end_character":21},"in_reply_to":"8f44315a_b7fcd3f0","updated":"2023-02-03 00:04:23.000000000","message":"yes","commit_id":"d0725c9bd160bbe98e7dd52fb79659fd27bf12e9"},{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"a4edffa9c353148d89ab65ba3a987d6e75d8fed0","unresolved":true,"context_lines":[{"line_number":255,"context_line":"        self.bc.secrets.remove_consumer.side_effect \u003d [Exception]"},{"line_number":256,"context_line":"        self.bc.containers.remove_consumer.side_effect \u003d [Exception]"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"        self.cert_manager.delete_cert("},{"line_number":259,"context_line":"            context\u003dself.context,"},{"line_number":260,"context_line":"            cert_ref\u003dself.secret_ref,"},{"line_number":261,"context_line":"            resource_id\u003d\u00271\u0027,"},{"line_number":262,"context_line":"            resource_type\u003dconstants.LISTENER"},{"line_number":263,"context_line":"        )"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"    def test_set_acls(self):"},{"line_number":266,"context_line":"        # if used pkcs12 certificate containers.get raises exception"}],"source_content_type":"text/x-python","patch_set":5,"id":"5304c4a7_e56aea17","line":263,"range":{"start_line":258,"start_character":8,"end_line":263,"end_character":9},"updated":"2023-01-17 14:55:50.000000000","message":"I think we would like to assert_not_called some things after this one","commit_id":"d0725c9bd160bbe98e7dd52fb79659fd27bf12e9"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"232d2a168e4e761191908b03ad8e67d4644679d8","unresolved":false,"context_lines":[{"line_number":255,"context_line":"        self.bc.secrets.remove_consumer.side_effect \u003d [Exception]"},{"line_number":256,"context_line":"        self.bc.containers.remove_consumer.side_effect \u003d [Exception]"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"        self.cert_manager.delete_cert("},{"line_number":259,"context_line":"            context\u003dself.context,"},{"line_number":260,"context_line":"            cert_ref\u003dself.secret_ref,"},{"line_number":261,"context_line":"            resource_id\u003d\u00271\u0027,"},{"line_number":262,"context_line":"            resource_type\u003dconstants.LISTENER"},{"line_number":263,"context_line":"        )"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"    def test_set_acls(self):"},{"line_number":266,"context_line":"        # if used pkcs12 certificate containers.get raises exception"}],"source_content_type":"text/x-python","patch_set":5,"id":"1ff67a67_6934fcaa","line":263,"range":{"start_line":258,"start_character":8,"end_line":263,"end_character":9},"in_reply_to":"5304c4a7_e56aea17","updated":"2023-02-03 00:04:23.000000000","message":"There is no code that doesn\u0027t get run in this unit test.","commit_id":"d0725c9bd160bbe98e7dd52fb79659fd27bf12e9"}],"octavia/tests/unit/controller/worker/v2/tasks/test_cert_task.py":[{"author":{"_account_id":31664,"name":"Omer Schwartz","email":"oschwart@redhat.com","username":"oschwart"},"change_message_id":"a4edffa9c353148d89ab65ba3a987d6e75d8fed0","unresolved":true,"context_lines":[{"line_number":108,"context_line":"            None, None, None, Exception(\u0027Boom\u0027)]"},{"line_number":109,"context_line":"        unreg_listener_consumer \u003d cert_task.UnregisterListenerCertConsumers()"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        # Test with no certificates to unregister"},{"line_number":112,"context_line":"        listener \u003d {constants.LISTENER_ID: \u00271\u0027}"},{"line_number":113,"context_line":"        unreg_listener_consumer.revert(listener, None)"},{"line_number":114,"context_line":"        mock_driver.get_cert.assert_not_called()"}],"source_content_type":"text/x-python","patch_set":5,"id":"84bc2844_9e2b1a75","line":111,"range":{"start_line":111,"start_character":39,"end_line":111,"end_character":49},"updated":"2023-01-17 14:55:50.000000000","message":"re-register on revert","commit_id":"d0725c9bd160bbe98e7dd52fb79659fd27bf12e9"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"232d2a168e4e761191908b03ad8e67d4644679d8","unresolved":false,"context_lines":[{"line_number":108,"context_line":"            None, None, None, Exception(\u0027Boom\u0027)]"},{"line_number":109,"context_line":"        unreg_listener_consumer \u003d cert_task.UnregisterListenerCertConsumers()"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"        # Test with no certificates to unregister"},{"line_number":112,"context_line":"        listener \u003d {constants.LISTENER_ID: \u00271\u0027}"},{"line_number":113,"context_line":"        unreg_listener_consumer.revert(listener, None)"},{"line_number":114,"context_line":"        mock_driver.get_cert.assert_not_called()"}],"source_content_type":"text/x-python","patch_set":5,"id":"8adfa944_95d6331d","line":111,"range":{"start_line":111,"start_character":39,"end_line":111,"end_character":49},"in_reply_to":"84bc2844_9e2b1a75","updated":"2023-02-03 00:04:23.000000000","message":"Yes","commit_id":"d0725c9bd160bbe98e7dd52fb79659fd27bf12e9"}]}
