)]}'
{"openstackclient/common/clientmanager.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c592f2aa36c9ef5e5afada56b781d2a97f30edb9","unresolved":true,"context_lines":[{"line_number":150,"context_line":"        else:"},{"line_number":151,"context_line":"            raise e"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"    def is_network_endpoint_enabled(self) -\u003e bool:"},{"line_number":154,"context_line":"        \"\"\"Check if the network endpoint is enabled\"\"\""},{"line_number":155,"context_line":"        # NOTE(dtroyer): is_service_available() can also return None if"},{"line_number":156,"context_line":"        #                there is no Service Catalog, callers here are"}],"source_content_type":"text/x-python","patch_set":2,"id":"bc730948_d4bf390b","line":153,"updated":"2026-04-29 15:05:32.000000000","message":"Can you instead rework these to accept `region_name` and `interface` arguments, since the underling `is_service_available` function in osc-lib now supports them.","commit_id":"d4e71d53345b79f9b0b55199d24e8335f3aec948"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2a66152826efafbaf14e67fb67e55905b4a6caba","unresolved":false,"context_lines":[{"line_number":150,"context_line":"        else:"},{"line_number":151,"context_line":"            raise e"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"    def is_network_endpoint_enabled(self) -\u003e bool:"},{"line_number":154,"context_line":"        \"\"\"Check if the network endpoint is enabled\"\"\""},{"line_number":155,"context_line":"        # NOTE(dtroyer): is_service_available() can also return None if"},{"line_number":156,"context_line":"        #                there is no Service Catalog, callers here are"}],"source_content_type":"text/x-python","patch_set":2,"id":"5798d3d2_4cbd862a","line":153,"in_reply_to":"5f8f135c_bb9056a9","updated":"2026-05-08 13:10:47.000000000","message":"Acknowledged","commit_id":"d4e71d53345b79f9b0b55199d24e8335f3aec948"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"36dc1d22aae9a3e5dba5c7819e5312883d1e8c55","unresolved":true,"context_lines":[{"line_number":150,"context_line":"        else:"},{"line_number":151,"context_line":"            raise e"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"    def is_network_endpoint_enabled(self) -\u003e bool:"},{"line_number":154,"context_line":"        \"\"\"Check if the network endpoint is enabled\"\"\""},{"line_number":155,"context_line":"        # NOTE(dtroyer): is_service_available() can also return None if"},{"line_number":156,"context_line":"        #                there is no Service Catalog, callers here are"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f8f135c_bb9056a9","line":153,"in_reply_to":"bc730948_d4bf390b","updated":"2026-05-08 00:35:46.000000000","message":"They don\u0027t need it since the data in the callers comes from the manager itself so just using `self.region_name` and `self.interface` are correct.","commit_id":"d4e71d53345b79f9b0b55199d24e8335f3aec948"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c592f2aa36c9ef5e5afada56b781d2a97f30edb9","unresolved":true,"context_lines":[{"line_number":163,"context_line":"        return self.is_service_available(\u0027compute\u0027) is not False"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    # TODO(stephenfin): Drop volume_client argument in OSC 8.0 or later."},{"line_number":166,"context_line":"    def is_volume_endpoint_enabled(self, volume_client: Any \u003d None) -\u003e bool:"},{"line_number":167,"context_line":"        \"\"\"Check if volume endpoint is enabled\"\"\""},{"line_number":168,"context_line":"        # We check against the service type and all aliases defined by the"},{"line_number":169,"context_line":"        # Service Types Authority"}],"source_content_type":"text/x-python","patch_set":2,"id":"8a693622_a9d272be","line":166,"updated":"2026-04-29 15:05:32.000000000","message":"The `volume_client` arg can be dropped from here also. No one is using this outside OSC itself.","commit_id":"d4e71d53345b79f9b0b55199d24e8335f3aec948"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2a66152826efafbaf14e67fb67e55905b4a6caba","unresolved":false,"context_lines":[{"line_number":163,"context_line":"        return self.is_service_available(\u0027compute\u0027) is not False"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    # TODO(stephenfin): Drop volume_client argument in OSC 8.0 or later."},{"line_number":166,"context_line":"    def is_volume_endpoint_enabled(self, volume_client: Any \u003d None) -\u003e bool:"},{"line_number":167,"context_line":"        \"\"\"Check if volume endpoint is enabled\"\"\""},{"line_number":168,"context_line":"        # We check against the service type and all aliases defined by the"},{"line_number":169,"context_line":"        # Service Types Authority"}],"source_content_type":"text/x-python","patch_set":2,"id":"fffe3593_83076fe1","line":166,"in_reply_to":"2274caf8_7ac1e185","updated":"2026-05-08 13:10:47.000000000","message":"Yup","commit_id":"d4e71d53345b79f9b0b55199d24e8335f3aec948"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"36dc1d22aae9a3e5dba5c7819e5312883d1e8c55","unresolved":true,"context_lines":[{"line_number":163,"context_line":"        return self.is_service_available(\u0027compute\u0027) is not False"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    # TODO(stephenfin): Drop volume_client argument in OSC 8.0 or later."},{"line_number":166,"context_line":"    def is_volume_endpoint_enabled(self, volume_client: Any \u003d None) -\u003e bool:"},{"line_number":167,"context_line":"        \"\"\"Check if volume endpoint is enabled\"\"\""},{"line_number":168,"context_line":"        # We check against the service type and all aliases defined by the"},{"line_number":169,"context_line":"        # Service Types Authority"}],"source_content_type":"text/x-python","patch_set":2,"id":"2274caf8_7ac1e185","line":166,"in_reply_to":"8a693622_a9d272be","updated":"2026-05-08 00:35:46.000000000","message":"Follow on?","commit_id":"d4e71d53345b79f9b0b55199d24e8335f3aec948"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"86653d13a912c99514bf98f36052fea05df64e4a","unresolved":true,"context_lines":[{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        Unlike is_volume_endpoint_enabled(), this actually verifies the"},{"line_number":205,"context_line":"        endpoint exists for the current (or specified) region and interface"},{"line_number":206,"context_line":"        combination."},{"line_number":207,"context_line":"        \"\"\""},{"line_number":208,"context_line":"        # Check all volume service types that we support"},{"line_number":209,"context_line":"        volume_types \u003d ["}],"source_content_type":"text/x-python","patch_set":2,"id":"d84a1357_45c9149a","line":206,"updated":"2026-04-27 09:14:26.000000000","message":"Is it worth adding a version argument here also? I\u0027m not sure how much value there is in returning true if we find `volumev2` and are executing volume v3 commands (though I also don\u0027t know if that could happen: I\u0027d need to refresh myself on how the switch between `volume.v2` and `volume.v3` commands work.","commit_id":"d4e71d53345b79f9b0b55199d24e8335f3aec948"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"c6ffb08d12f4637d2c2167ecbf4fdaa288581d6b","unresolved":true,"context_lines":[{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        Unlike is_volume_endpoint_enabled(), this actually verifies the"},{"line_number":205,"context_line":"        endpoint exists for the current (or specified) region and interface"},{"line_number":206,"context_line":"        combination."},{"line_number":207,"context_line":"        \"\"\""},{"line_number":208,"context_line":"        # Check all volume service types that we support"},{"line_number":209,"context_line":"        volume_types \u003d ["}],"source_content_type":"text/x-python","patch_set":2,"id":"d138e0ab_64b5c67a","line":206,"in_reply_to":"0816e7aa_d4a68c1b","updated":"2026-04-27 15:04:13.000000000","message":"Right now that\u0027s how the existing function will work fwiw. You\u0027ll also attempt to execute commands against an endpoint that doesn\u0027t exist and throw an exception directly to the user\u0027s console for a truly bad experience.","commit_id":"d4e71d53345b79f9b0b55199d24e8335f3aec948"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0ad3407fe58aa153901ab9314e34c3e15d7d2cc5","unresolved":true,"context_lines":[{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        Unlike is_volume_endpoint_enabled(), this actually verifies the"},{"line_number":205,"context_line":"        endpoint exists for the current (or specified) region and interface"},{"line_number":206,"context_line":"        combination."},{"line_number":207,"context_line":"        \"\"\""},{"line_number":208,"context_line":"        # Check all volume service types that we support"},{"line_number":209,"context_line":"        volume_types \u003d ["}],"source_content_type":"text/x-python","patch_set":2,"id":"effb7d0f_87ef6d86","line":206,"in_reply_to":"d138e0ab_64b5c67a","updated":"2026-04-28 16:04:21.000000000","message":"Is is that the endpoint doesn\u0027t exist, or that it doesn\u0027t exist in your region? Would it be possible to address this by adding a region filter to the `is_service_available` util used in the existing helpers above? https://review.opendev.org/c/openstack/osc-lib/+/986552","commit_id":"d4e71d53345b79f9b0b55199d24e8335f3aec948"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"d92974a047d728b825112498b029486b7ee80f28","unresolved":true,"context_lines":[{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        Unlike is_volume_endpoint_enabled(), this actually verifies the"},{"line_number":205,"context_line":"        endpoint exists for the current (or specified) region and interface"},{"line_number":206,"context_line":"        combination."},{"line_number":207,"context_line":"        \"\"\""},{"line_number":208,"context_line":"        # Check all volume service types that we support"},{"line_number":209,"context_line":"        volume_types \u003d ["}],"source_content_type":"text/x-python","patch_set":2,"id":"0816e7aa_d4a68c1b","line":206,"in_reply_to":"d84a1357_45c9149a","updated":"2026-04-27 14:07:23.000000000","message":"afaik v2 vs v3 is support for microversions.","commit_id":"d4e71d53345b79f9b0b55199d24e8335f3aec948"},{"author":{"_account_id":5890,"name":"Doug Goldstein","email":"cardoe@cardoe.com","username":"cardoe"},"change_message_id":"36dc1d22aae9a3e5dba5c7819e5312883d1e8c55","unresolved":false,"context_lines":[{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        Unlike is_volume_endpoint_enabled(), this actually verifies the"},{"line_number":205,"context_line":"        endpoint exists for the current (or specified) region and interface"},{"line_number":206,"context_line":"        combination."},{"line_number":207,"context_line":"        \"\"\""},{"line_number":208,"context_line":"        # Check all volume service types that we support"},{"line_number":209,"context_line":"        volume_types \u003d ["}],"source_content_type":"text/x-python","patch_set":2,"id":"8397a885_8edbb6ad","line":206,"in_reply_to":"effb7d0f_87ef6d86","updated":"2026-05-08 00:35:46.000000000","message":"Done","commit_id":"d4e71d53345b79f9b0b55199d24e8335f3aec948"}]}
