)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"change_message_id":"b94ff52cae1f68fbee92bef098ec85e7c5f4bb65","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"4fcdaa07_a41d9673","updated":"2026-07-16 22:53:45.000000000","message":"Hi there, thanks for submitting.\n\nCeilometer currently only exposes storage policy names using the pollsters. Having the notification meters also set the storage policy would be useful, but I feel the storage policy index is not as useful as having the storage policy name.\n\nHave you considered parsing `swift.conf` to get the storage policy names, and publishing those in the notifications instead?","commit_id":"c665b2f13f1e215978dd9dbb873d36c33231cc13"},{"author":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"change_message_id":"d3ceff7123d1a7a03acef850e016dc1f9305d718","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"85e5d054_80acb205","in_reply_to":"0c8684b8_8a0bc34c","updated":"2026-07-20 20:50:31.000000000","message":"Done","commit_id":"c665b2f13f1e215978dd9dbb873d36c33231cc13"},{"author":{"_account_id":37738,"name":"Luke Repko","display_name":"Luke Repko","email":"luke.repko@rackspace.com","username":"lukerepko","status":"Rackspace Technology"},"change_message_id":"82788dffc66ae8475bce2bc73af561981e496e18","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"9df54da6_b575d4cd","in_reply_to":"4fcdaa07_a41d9673","updated":"2026-07-20 14:24:49.000000000","message":"Howdy @callum.dickinson@catalystcloud.nz - my pleasure.\n\nMy first inclination was indeed to parse swift.conf to reliably get the index, name, and type which altogether is much more useful. Though I was worried parsing the conf would have been unwelcome so I leaned toward this more basic approach (which could still work well as a fallback if the swift.conf isn\u0027t supplied or can\u0027t be parsed).\n\nLast week I worked on another patch set that parses the swift conf so we can emit events with the storage policy index, name, and type, falling back to just the index iff the conf is not available.\n\nI hope this fits the bill and is more in line with what you were thinking. If there are any other changes you can think of to improve this, let me know.","commit_id":"c665b2f13f1e215978dd9dbb873d36c33231cc13"},{"author":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"change_message_id":"75835817a9937000c7bf621d6f59bac6eaeaddd4","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"0c8684b8_8a0bc34c","in_reply_to":"9df54da6_b575d4cd","updated":"2026-07-20 20:50:19.000000000","message":"Thank you Luke, I just have one more suggestion but overall this looks much better!","commit_id":"c665b2f13f1e215978dd9dbb873d36c33231cc13"},{"author":{"_account_id":32968,"name":"Juan Larriba","email":"jlarriba@redhat.com","username":"jlarriba"},"change_message_id":"ce486c3028c48711f6b8d39635dadc13b2a9be29","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"93f82396_c2055f34","updated":"2026-07-21 08:25:12.000000000","message":"I second Callum\u0027s comment about including the full path in the parameter, once that is done, this is good to me.","commit_id":"b4aeecd5c79ae80d27b26f18e4fbda75921e933e"},{"author":{"_account_id":34975,"name":"Jaromír Wysoglad","email":"jwysogla@redhat.com","username":"jwysogla"},"change_message_id":"5be8fd34dcba4b186ff046ea3219059c1961ed3d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"b50fe5f1_2356aeed","updated":"2026-08-10 08:39:10.000000000","message":"This has been sitting here for some time. As I wrote previously, this lgtm. Let\u0027s move this forward","commit_id":"1c118dca34532a2dc5e7bcbdccab190c1cfe7f4b"},{"author":{"_account_id":34975,"name":"Jaromír Wysoglad","email":"jwysogla@redhat.com","username":"jwysogla"},"change_message_id":"ba12a2b62bdddfb1e8645a933c18affc29de0ed3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"7f2236c4_5b36c058","updated":"2026-07-27 09:18:17.000000000","message":"This lgtm code-wise, but I don\u0027t have much expertise in swift / ceilometermiddleware. I wonder if @kajinamit@oss.nttdata.com would like to have a look, since I know you reviewed ceilometermiddleware previously.","commit_id":"1c118dca34532a2dc5e7bcbdccab190c1cfe7f4b"}],"ceilometermiddleware/swift.py":[{"author":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"change_message_id":"75835817a9937000c7bf621d6f59bac6eaeaddd4","unresolved":true,"context_lines":[{"line_number":274,"context_line":"        that case. When the file is missing or unparseable the map is"},{"line_number":275,"context_line":"        empty and emitted events carry ``policy_idx`` alone."},{"line_number":276,"context_line":"        \"\"\""},{"line_number":277,"context_line":"        path \u003d os.path.join(swift_dir, \u0027swift.conf\u0027)"},{"line_number":278,"context_line":"        # Python disallows section or option duplicates by default;"},{"line_number":279,"context_line":"        # strict\u003dFalse mirrors swift\u0027s own storage policy parser."},{"line_number":280,"context_line":"        parser \u003d configparser.RawConfigParser(strict\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":3,"id":"60e7e065_825007e5","line":277,"updated":"2026-07-20 20:50:19.000000000","message":"I think this would be more flexible if the whole file path was defined in the configuration, not just the directory. It\u0027s not 100% guaranteed the configuration file is named `swift.conf` in all deployments.","commit_id":"b4aeecd5c79ae80d27b26f18e4fbda75921e933e"},{"author":{"_account_id":37738,"name":"Luke Repko","display_name":"Luke Repko","email":"luke.repko@rackspace.com","username":"lukerepko","status":"Rackspace Technology"},"change_message_id":"04d6593b1f544a7cff0b0ea59b796c824ce22c1d","unresolved":false,"context_lines":[{"line_number":274,"context_line":"        that case. When the file is missing or unparseable the map is"},{"line_number":275,"context_line":"        empty and emitted events carry ``policy_idx`` alone."},{"line_number":276,"context_line":"        \"\"\""},{"line_number":277,"context_line":"        path \u003d os.path.join(swift_dir, \u0027swift.conf\u0027)"},{"line_number":278,"context_line":"        # Python disallows section or option duplicates by default;"},{"line_number":279,"context_line":"        # strict\u003dFalse mirrors swift\u0027s own storage policy parser."},{"line_number":280,"context_line":"        parser \u003d configparser.RawConfigParser(strict\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":3,"id":"545579e6_e8808159","line":277,"in_reply_to":"60e7e065_825007e5","updated":"2026-07-21 15:30:19.000000000","message":"Thanks for the suggestion Callum, we now have `swift_conf_file` in lieu of `swift_dir` in the latest patch set.","commit_id":"b4aeecd5c79ae80d27b26f18e4fbda75921e933e"}]}
