)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2e6d771ebb16b6df2203f8bafd62857170055a62","unresolved":true,"context_lines":[{"line_number":7,"context_line":"Add block storage log level {list, set} commands"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch adds the ``block storage log level list`` and"},{"line_number":10,"context_line":"``block storage log level set`` commands that allow operators to list the"},{"line_number":11,"context_line":"current log levels of cinder services and also enables them to set a"},{"line_number":12,"context_line":"particular log level."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"2ec541ac_4f2dc17c","line":10,"updated":"2023-01-31 09:29:25.000000000","message":"nit: line too long (\u003c72 characters)","commit_id":"68696d7f9c2ff66bd5e93b5e49af9d7a649b6feb"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"7910cdc107d801708f9294d497d384870fc21bc3","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add block storage log level {list, set} commands"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch adds the ``block storage log level list`` and"},{"line_number":10,"context_line":"``block storage log level set`` commands that allow operators to list the"},{"line_number":11,"context_line":"current log levels of cinder services and also enables them to set a"},{"line_number":12,"context_line":"particular log level."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"f9fb43e0_00a55d34","line":10,"in_reply_to":"2ec541ac_4f2dc17c","updated":"2023-02-01 20:01:23.000000000","message":"Done","commit_id":"68696d7f9c2ff66bd5e93b5e49af9d7a649b6feb"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b7cba69f66a487984a3593cfbe316d0005102248","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"cbb2430e_1e2a41f9","updated":"2023-01-12 12:40:36.000000000","message":"I apologise in advance 🙈","commit_id":"47b34c04072366e79a17325d4ab840dfa173b2c1"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"0d6a83a3978a6b4d3b91f576ae8e45853c8cad6a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"49567173_1027a2cc","updated":"2023-01-12 10:50:38.000000000","message":"Thanks Jens and Stephen for the review.","commit_id":"47b34c04072366e79a17325d4ab840dfa173b2c1"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"b2877597d061e5565ddd79367794175038c4d11a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"82e66d7b_217ac58f","updated":"2023-01-13 13:31:26.000000000","message":"Thanks Stephen. Made a few more changes to make everything compatible with the block storage theme.","commit_id":"68696d7f9c2ff66bd5e93b5e49af9d7a649b6feb"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7f427364a287283e13f1d561493e6d705e591621","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"6139a247_27c119c4","updated":"2023-01-13 13:35:24.000000000","message":"Two nits inline but this is good enough as-is. They\u0027d make for nice follow-ups though","commit_id":"68696d7f9c2ff66bd5e93b5e49af9d7a649b6feb"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"56e0ec730303cf573673fcfe906c4c96caf60c09","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"4eb333b1_c2cfd001","updated":"2023-02-01 19:43:22.000000000","message":"I had to rebase it so addressed the comments. Thanks Stephen.","commit_id":"5b4becee6becb42288d108aa420557cd4cc97aa8"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"7910cdc107d801708f9294d497d384870fc21bc3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"b683431c_6c465aae","updated":"2023-02-01 20:01:23.000000000","message":"Rebased on top of revert command to avoid future conflicts","commit_id":"88f69b10beb063a3cd8727a07740b35e2a5a22d8"}],"doc/source/cli/command-objects/volume-service.rst":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b7cba69f66a487984a3593cfbe316d0005102248","unresolved":true,"context_lines":[{"line_number":66,"context_line":"    Name of service (Binary name)"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"volume service get log"},{"line_number":69,"context_line":"----------------------"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":".. autoprogram-cliff:: openstack.volume.v3"},{"line_number":72,"context_line":"   :command: block storage log list"}],"source_content_type":"text/x-rst","patch_set":2,"id":"836d3954_c6e6680f","line":69,"updated":"2023-01-12 12:40:36.000000000","message":"This is wrong and it\u0027s not necessary: the directive will generate this for you [1]. Wildcards are supported:\n\n  :command: block storage log *\n\nAlso, these commands should be moved to a new \u0027block-storage-log.rst\u0027 file, not put in here.\n\n[1] https://eea617b80353fdb4d88f-b3141299f569dd5d6d8f436de9f6d947.ssl.cf1.rackcdn.com/869811/2/check/openstack-tox-docs/da7127d/docs/cli/command-objects/volume-service.html","commit_id":"47b34c04072366e79a17325d4ab840dfa173b2c1"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"772aa5a0b2a76a31ebcd6047fb611b2543d01639","unresolved":false,"context_lines":[{"line_number":66,"context_line":"    Name of service (Binary name)"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"volume service get log"},{"line_number":69,"context_line":"----------------------"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":".. autoprogram-cliff:: openstack.volume.v3"},{"line_number":72,"context_line":"   :command: block storage log list"}],"source_content_type":"text/x-rst","patch_set":2,"id":"49b76a9a_d910e337","line":69,"in_reply_to":"836d3954_c6e6680f","updated":"2023-01-12 18:14:17.000000000","message":"Done","commit_id":"47b34c04072366e79a17325d4ab840dfa173b2c1"}],"openstackclient/volume/v3/block_storage_log_level.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f85dd646548b9d61a30b50d334c53fb5deb9301f","unresolved":true,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class BlockStorageLogLevelList(command.Lister):"},{"line_number":26,"context_line":"    _description \u003d _(\"List log levels of block storage service\")"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def get_parser(self, prog_name):"},{"line_number":29,"context_line":"        parser \u003d super().get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f13e485_89c8b3ed","line":26,"updated":"2023-01-13 13:35:44.000000000","message":"Same comment about minimum version as below.","commit_id":"68696d7f9c2ff66bd5e93b5e49af9d7a649b6feb"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"56e0ec730303cf573673fcfe906c4c96caf60c09","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class BlockStorageLogLevelList(command.Lister):"},{"line_number":26,"context_line":"    _description \u003d _(\"List log levels of block storage service\")"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def get_parser(self, prog_name):"},{"line_number":29,"context_line":"        parser \u003d super().get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":4,"id":"a7f8acce_a36dfb68","line":26,"in_reply_to":"3f13e485_89c8b3ed","updated":"2023-02-01 19:43:22.000000000","message":"Done","commit_id":"68696d7f9c2ff66bd5e93b5e49af9d7a649b6feb"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7f427364a287283e13f1d561493e6d705e591621","unresolved":true,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"class BlockStorageLogLevelSet(command.Command):"},{"line_number":87,"context_line":"    _description \u003d _(\"Set log level of block storage service\")"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    def get_parser(self, prog_name):"},{"line_number":90,"context_line":"        parser \u003d super().get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":4,"id":"4eb398d9_3d5387ba","line":87,"updated":"2023-01-13 13:35:24.000000000","message":"You should note here that this is only supported by --os-volume-api-version 3.32 or greater. If you do, make sure to either use a multiline string, manually add newline characters (\\n), or drop \u0027_description\u0027 in favour of a (multi-line) docstring. If you don\u0027t do this, cliff can\u0027t pick out the summary and dumps the whole string out for \u0027--help\u0027","commit_id":"68696d7f9c2ff66bd5e93b5e49af9d7a649b6feb"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"56e0ec730303cf573673fcfe906c4c96caf60c09","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"class BlockStorageLogLevelSet(command.Command):"},{"line_number":87,"context_line":"    _description \u003d _(\"Set log level of block storage service\")"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"    def get_parser(self, prog_name):"},{"line_number":90,"context_line":"        parser \u003d super().get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":4,"id":"f10d76d0_bcd1be84","line":87,"in_reply_to":"4eb398d9_3d5387ba","updated":"2023-02-01 19:43:22.000000000","message":"Done","commit_id":"68696d7f9c2ff66bd5e93b5e49af9d7a649b6feb"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7f427364a287283e13f1d561493e6d705e591621","unresolved":true,"context_lines":[{"line_number":94,"context_line":"            choices\u003d(\u0027INFO\u0027, \u0027WARNING\u0027, \u0027ERROR\u0027, \u0027DEBUG\u0027),"},{"line_number":95,"context_line":"            type\u003dstr.upper,"},{"line_number":96,"context_line":"            help\u003d_("},{"line_number":97,"context_line":"                \"Desired log level.\")"},{"line_number":98,"context_line":"        )"},{"line_number":99,"context_line":"        parser.add_argument("},{"line_number":100,"context_line":"            \"--host\","}],"source_content_type":"text/x-python","patch_set":4,"id":"22707016_8cd80934","line":97,"updated":"2023-01-13 13:35:24.000000000","message":"nit: could fit on one line","commit_id":"68696d7f9c2ff66bd5e93b5e49af9d7a649b6feb"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"56e0ec730303cf573673fcfe906c4c96caf60c09","unresolved":false,"context_lines":[{"line_number":94,"context_line":"            choices\u003d(\u0027INFO\u0027, \u0027WARNING\u0027, \u0027ERROR\u0027, \u0027DEBUG\u0027),"},{"line_number":95,"context_line":"            type\u003dstr.upper,"},{"line_number":96,"context_line":"            help\u003d_("},{"line_number":97,"context_line":"                \"Desired log level.\")"},{"line_number":98,"context_line":"        )"},{"line_number":99,"context_line":"        parser.add_argument("},{"line_number":100,"context_line":"            \"--host\","}],"source_content_type":"text/x-python","patch_set":4,"id":"849b9fb0_66b750be","line":97,"in_reply_to":"22707016_8cd80934","updated":"2023-02-01 19:43:22.000000000","message":"Done","commit_id":"68696d7f9c2ff66bd5e93b5e49af9d7a649b6feb"}],"openstackclient/volume/v3/service.py":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"2aa8bfb1cf167b9dae9ce582c430216c5ee5e504","unresolved":true,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class ServiceGetLog(command.Lister):"},{"line_number":26,"context_line":"    _description \u003d _(\"Get service logs\")"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def get_parser(self, prog_name):"},{"line_number":29,"context_line":"        parser \u003d super().get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":1,"id":"4e6bf2c0_8df70754","line":26,"updated":"2023-01-11 12:26:13.000000000","message":"Even though the cinder API names this \"get-log\", to me \"List service log levels\" would sound more fitting. I would also suggest to name the command accordingly for consistency.","commit_id":"b385eaa92ea72ba447b09a07f5e36181b15f89a1"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"071dfb9c0d7910448b229bc2db8d9c73d1988174","unresolved":true,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class ServiceGetLog(command.Lister):"},{"line_number":26,"context_line":"    _description \u003d _(\"Get service logs\")"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def get_parser(self, prog_name):"},{"line_number":29,"context_line":"        parser \u003d super().get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":1,"id":"52c0f67f_dcb8d107","line":26,"in_reply_to":"4e6bf2c0_8df70754","updated":"2023-01-11 12:40:57.000000000","message":"+1","commit_id":"b385eaa92ea72ba447b09a07f5e36181b15f89a1"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"0d6a83a3978a6b4d3b91f576ae8e45853c8cad6a","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class ServiceGetLog(command.Lister):"},{"line_number":26,"context_line":"    _description \u003d _(\"Get service logs\")"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def get_parser(self, prog_name):"},{"line_number":29,"context_line":"        parser \u003d super().get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":1,"id":"c6dd5c39_58b8376b","line":26,"in_reply_to":"52c0f67f_dcb8d107","updated":"2023-01-12 10:50:38.000000000","message":"Done","commit_id":"b385eaa92ea72ba447b09a07f5e36181b15f89a1"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"2aa8bfb1cf167b9dae9ce582c430216c5ee5e504","unresolved":true,"context_lines":[{"line_number":38,"context_line":"            metavar\u003d\"\u003cservice\u003e\","},{"line_number":39,"context_line":"            default\u003d\"\","},{"line_number":40,"context_line":"            choices\u003d(\u0027\u0027, \u0027*\u0027, \u0027cinder-api\u0027, \u0027cinder-volume\u0027,"},{"line_number":41,"context_line":"                     \u0027cinder-scheduler\u0027, \u0027cinder-backup\u0027),"},{"line_number":42,"context_line":"            help\u003d_(\"List only specified service (name only)\")"},{"line_number":43,"context_line":"        )"},{"line_number":44,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":1,"id":"5b42f57d_53b80368","line":41,"updated":"2023-01-11 12:26:13.000000000","message":"This list isn\u0027t specified by the api-ref, can we be sure that no other names are possible? Also IMO this should be \"--binary\" to be consistent with the name of the output column.","commit_id":"b385eaa92ea72ba447b09a07f5e36181b15f89a1"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"0d6a83a3978a6b4d3b91f576ae8e45853c8cad6a","unresolved":true,"context_lines":[{"line_number":38,"context_line":"            metavar\u003d\"\u003cservice\u003e\","},{"line_number":39,"context_line":"            default\u003d\"\","},{"line_number":40,"context_line":"            choices\u003d(\u0027\u0027, \u0027*\u0027, \u0027cinder-api\u0027, \u0027cinder-volume\u0027,"},{"line_number":41,"context_line":"                     \u0027cinder-scheduler\u0027, \u0027cinder-backup\u0027),"},{"line_number":42,"context_line":"            help\u003d_(\"List only specified service (name only)\")"},{"line_number":43,"context_line":"        )"},{"line_number":44,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":1,"id":"bc719452_fe53cae1","line":41,"in_reply_to":"0107eac1_9adf1eda","updated":"2023-01-12 10:50:38.000000000","message":"Jens: The list is taken from cinderclient[1] and yes, only 4 services exist in cinder which are provided as options here.\nI\u0027ve used OSC convention for the parameter service[2] and there also column name \"Binary\" is used[3] so not sure what the correct way to do it here.\n\nStephen: Moved choices to new lines\n\n[1] https://github.com/openstack/python-cinderclient/blob/20506ef3a8b5fb1b7a9b0a2c31dbe5f60eea2130/cinderclient/v3/shell.py#L2629-L2630\n[2] https://github.com/openstack/python-openstackclient/blob/master/openstackclient/volume/v2/service.py#L35\n[3] https://github.com/openstack/python-openstackclient/blob/master/openstackclient/volume/v2/service.py#L52","commit_id":"b385eaa92ea72ba447b09a07f5e36181b15f89a1"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"071dfb9c0d7910448b229bc2db8d9c73d1988174","unresolved":true,"context_lines":[{"line_number":38,"context_line":"            metavar\u003d\"\u003cservice\u003e\","},{"line_number":39,"context_line":"            default\u003d\"\","},{"line_number":40,"context_line":"            choices\u003d(\u0027\u0027, \u0027*\u0027, \u0027cinder-api\u0027, \u0027cinder-volume\u0027,"},{"line_number":41,"context_line":"                     \u0027cinder-scheduler\u0027, \u0027cinder-backup\u0027),"},{"line_number":42,"context_line":"            help\u003d_(\"List only specified service (name only)\")"},{"line_number":43,"context_line":"        )"},{"line_number":44,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":1,"id":"0107eac1_9adf1eda","line":41,"in_reply_to":"5b42f57d_53b80368","updated":"2023-01-11 12:40:57.000000000","message":"+1\n\nalso, could you place these on separate lines?","commit_id":"b385eaa92ea72ba447b09a07f5e36181b15f89a1"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b7cba69f66a487984a3593cfbe316d0005102248","unresolved":false,"context_lines":[{"line_number":38,"context_line":"            metavar\u003d\"\u003cservice\u003e\","},{"line_number":39,"context_line":"            default\u003d\"\","},{"line_number":40,"context_line":"            choices\u003d(\u0027\u0027, \u0027*\u0027, \u0027cinder-api\u0027, \u0027cinder-volume\u0027,"},{"line_number":41,"context_line":"                     \u0027cinder-scheduler\u0027, \u0027cinder-backup\u0027),"},{"line_number":42,"context_line":"            help\u003d_(\"List only specified service (name only)\")"},{"line_number":43,"context_line":"        )"},{"line_number":44,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":1,"id":"9c792d0b_abf30e24","line":41,"in_reply_to":"bc719452_fe53cae1","updated":"2023-01-12 12:40:36.000000000","message":"Done","commit_id":"b385eaa92ea72ba447b09a07f5e36181b15f89a1"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"071dfb9c0d7910448b229bc2db8d9c73d1988174","unresolved":true,"context_lines":[{"line_number":45,"context_line":"            \"--log-prefix\","},{"line_number":46,"context_line":"            metavar\u003d\"\u003clog-prefix\u003e\","},{"line_number":47,"context_line":"            default\u003d\"\","},{"line_number":48,"context_line":"            help\u003d\"Prefix for the log. ie: \u0027sqlalchemy.\u0027\""},{"line_number":49,"context_line":"        )"},{"line_number":50,"context_line":"        return parser"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bb5abffd_a8fb8591","line":48,"updated":"2023-01-11 12:40:57.000000000","message":"nit:\n\n  Prefix for the log, e.g. \u0027sqlalchemy\u0027\n\nhttps://warnell.uga.edu/sites/default/files/inline-files/ieVeg.pdf","commit_id":"b385eaa92ea72ba447b09a07f5e36181b15f89a1"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"0d6a83a3978a6b4d3b91f576ae8e45853c8cad6a","unresolved":false,"context_lines":[{"line_number":45,"context_line":"            \"--log-prefix\","},{"line_number":46,"context_line":"            metavar\u003d\"\u003clog-prefix\u003e\","},{"line_number":47,"context_line":"            default\u003d\"\","},{"line_number":48,"context_line":"            help\u003d\"Prefix for the log. ie: \u0027sqlalchemy.\u0027\""},{"line_number":49,"context_line":"        )"},{"line_number":50,"context_line":"        return parser"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"95b95e1c_c8990072","line":48,"in_reply_to":"bb5abffd_a8fb8591","updated":"2023-01-12 10:50:38.000000000","message":"Done","commit_id":"b385eaa92ea72ba447b09a07f5e36181b15f89a1"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"2aa8bfb1cf167b9dae9ce582c430216c5ee5e504","unresolved":true,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"class ServiceSetLog(command.Command):"},{"line_number":80,"context_line":"    _description \u003d _(\"Set service logs\")"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    def get_parser(self, prog_name):"},{"line_number":83,"context_line":"        parser \u003d super().get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bda102e7_d892518e","line":80,"updated":"2023-01-11 12:26:13.000000000","message":"\"set service log level\" or \"... log-level\"?","commit_id":"b385eaa92ea72ba447b09a07f5e36181b15f89a1"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"0d6a83a3978a6b4d3b91f576ae8e45853c8cad6a","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"class ServiceSetLog(command.Command):"},{"line_number":80,"context_line":"    _description \u003d _(\"Set service logs\")"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    def get_parser(self, prog_name):"},{"line_number":83,"context_line":"        parser \u003d super().get_parser(prog_name)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1dc0c3f4_33d070c1","line":80,"in_reply_to":"bda102e7_d892518e","updated":"2023-01-12 10:50:38.000000000","message":"Done","commit_id":"b385eaa92ea72ba447b09a07f5e36181b15f89a1"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"2aa8bfb1cf167b9dae9ce582c430216c5ee5e504","unresolved":true,"context_lines":[{"line_number":85,"context_line":"            \"level\","},{"line_number":86,"context_line":"            metavar\u003d\"\u003clog-level\u003e\","},{"line_number":87,"context_line":"            choices\u003d(\u0027INFO\u0027, \u0027WARNING\u0027, \u0027ERROR\u0027, \u0027DEBUG\u0027,"},{"line_number":88,"context_line":"                     \u0027info\u0027, \u0027warning\u0027, \u0027error\u0027, \u0027debug\u0027),"},{"line_number":89,"context_line":"            help\u003d_(\"Desired log level.\")"},{"line_number":90,"context_line":"        )"},{"line_number":91,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":1,"id":"91561cd6_82b45b53","line":88,"updated":"2023-01-11 12:26:13.000000000","message":"The api-ref says that this is case-insensitive, so \"InFo\" would be valid, too, not sure how to best convene that.","commit_id":"b385eaa92ea72ba447b09a07f5e36181b15f89a1"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"0d6a83a3978a6b4d3b91f576ae8e45853c8cad6a","unresolved":false,"context_lines":[{"line_number":85,"context_line":"            \"level\","},{"line_number":86,"context_line":"            metavar\u003d\"\u003clog-level\u003e\","},{"line_number":87,"context_line":"            choices\u003d(\u0027INFO\u0027, \u0027WARNING\u0027, \u0027ERROR\u0027, \u0027DEBUG\u0027,"},{"line_number":88,"context_line":"                     \u0027info\u0027, \u0027warning\u0027, \u0027error\u0027, \u0027debug\u0027),"},{"line_number":89,"context_line":"            help\u003d_(\"Desired log level.\")"},{"line_number":90,"context_line":"        )"},{"line_number":91,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":1,"id":"f405e29c_dfbb3dfe","line":88,"in_reply_to":"91561cd6_82b45b53","updated":"2023-01-12 10:50:38.000000000","message":"Removed as choices and moved to help text.","commit_id":"b385eaa92ea72ba447b09a07f5e36181b15f89a1"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"2aa8bfb1cf167b9dae9ce582c430216c5ee5e504","unresolved":true,"context_lines":[{"line_number":92,"context_line":"            \"--host\","},{"line_number":93,"context_line":"            metavar\u003d\"\u003chost\u003e\","},{"line_number":94,"context_line":"            default\u003d\"\","},{"line_number":95,"context_line":"            help\u003d_(\"List services on specified host (name only)\")"},{"line_number":96,"context_line":"        )"},{"line_number":97,"context_line":"        parser.add_argument("},{"line_number":98,"context_line":"            \"--service\","}],"source_content_type":"text/x-python","patch_set":1,"id":"d9bfd154_0bbde3d1","line":95,"range":{"start_line":95,"start_character":20,"end_line":95,"end_character":36},"updated":"2023-01-11 12:26:13.000000000","message":"This isn\u0027t for listing, but for setting","commit_id":"b385eaa92ea72ba447b09a07f5e36181b15f89a1"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"0d6a83a3978a6b4d3b91f576ae8e45853c8cad6a","unresolved":false,"context_lines":[{"line_number":92,"context_line":"            \"--host\","},{"line_number":93,"context_line":"            metavar\u003d\"\u003chost\u003e\","},{"line_number":94,"context_line":"            default\u003d\"\","},{"line_number":95,"context_line":"            help\u003d_(\"List services on specified host (name only)\")"},{"line_number":96,"context_line":"        )"},{"line_number":97,"context_line":"        parser.add_argument("},{"line_number":98,"context_line":"            \"--service\","}],"source_content_type":"text/x-python","patch_set":1,"id":"6b2bab39_842104c7","line":95,"range":{"start_line":95,"start_character":20,"end_line":95,"end_character":36},"in_reply_to":"d9bfd154_0bbde3d1","updated":"2023-01-12 10:50:38.000000000","message":"Some of the code is borrowed from the List service so there are instances of this. fixed all of them.","commit_id":"b385eaa92ea72ba447b09a07f5e36181b15f89a1"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b7cba69f66a487984a3593cfbe316d0005102248","unresolved":true,"context_lines":[{"line_number":97,"context_line":"                \"Note that this value is case insensitive so \""},{"line_number":98,"context_line":"                \"any combination of upper/lower case letters \""},{"line_number":99,"context_line":"                \"is possible but using the value as one of the \""},{"line_number":100,"context_line":"                \"examples provided here is preferred.\")"},{"line_number":101,"context_line":"        )"},{"line_number":102,"context_line":"        parser.add_argument("},{"line_number":103,"context_line":"            \"--host\","}],"source_content_type":"text/x-python","patch_set":2,"id":"912e1bef_597c6896","line":100,"updated":"2023-01-12 12:40:36.000000000","message":"The server accepts these but it doesn\u0027t mean the client needs to send them [1]. Would it be better to encforce a strict list via \u0027choices\u0027?\n\n[1] https://en.wikipedia.org/wiki/Robustness_principle","commit_id":"47b34c04072366e79a17325d4ab840dfa173b2c1"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"772aa5a0b2a76a31ebcd6047fb611b2543d01639","unresolved":false,"context_lines":[{"line_number":97,"context_line":"                \"Note that this value is case insensitive so \""},{"line_number":98,"context_line":"                \"any combination of upper/lower case letters \""},{"line_number":99,"context_line":"                \"is possible but using the value as one of the \""},{"line_number":100,"context_line":"                \"examples provided here is preferred.\")"},{"line_number":101,"context_line":"        )"},{"line_number":102,"context_line":"        parser.add_argument("},{"line_number":103,"context_line":"            \"--host\","}],"source_content_type":"text/x-python","patch_set":2,"id":"21e2f54f_ed6d99ed","line":100,"in_reply_to":"912e1bef_597c6896","updated":"2023-01-12 18:14:17.000000000","message":"In previous PS, it was in choices but Jens had a concern that people might enter mixed keywords like iNfO. but I\u0027ve fixed that case as well in new PS.\n\nstack@devstack-VirtualBox:~/python-openstackclient$ openstack --os-volume-api-version 3.32 block storage log set --log-prefix oslo.service.wsgi eRRoR\n\nstack@devstack-VirtualBox:~/python-openstackclient$ openstack --os-volume-api-version 3.32 block storage log list\n| cinder-volume    | devstack-VirtualBox@lvmdriver-1  | oslo.service.wsgi                                      | ERROR   |\n\nstack@devstack-VirtualBox:~/python-openstackclient$ openstack --os-volume-api-version 3.32 block storage log set --log-prefix oslo.service.wsgi dEbUg\n\nstack@devstack-VirtualBox:~/python-openstackclient$ openstack --os-volume-api-version 3.32 block storage log list\n| cinder-volume    | devstack-VirtualBox@lvmdriver-1  | oslo.service.wsgi                                      | DEBUG   |\n\nstack@devstack-VirtualBox:~/python-openstackclient$ openstack --os-volume-api-version 3.32 block storage log set --log-prefix oslo.service.wsgi abcde\n\nusage: openstack block storage log set [-h] [--host \u003chost\u003e] [--service \u003cservice\u003e] [--log-prefix \u003clog-prefix\u003e] \u003clog-level\u003e\nopenstack block storage log set: error: argument \u003clog-level\u003e: invalid choice: \u0027ABCDE\u0027 (choose from \u0027INFO\u0027, \u0027WARNING\u0027, \u0027ERROR\u0027, \u0027DEBUG\u0027)","commit_id":"47b34c04072366e79a17325d4ab840dfa173b2c1"}],"releasenotes/notes/add-vol-service-get-set-log-commands-f9420e5061d994b5.yaml":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b7cba69f66a487984a3593cfbe316d0005102248","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added ``block storage log list`` and ``block storage log set``"},{"line_number":5,"context_line":"    commands that allows operators to get and set log levels for cinder"},{"line_number":6,"context_line":"    services."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"fe4c7f51_3e71f29d","line":5,"range":{"start_line":5,"start_character":38,"end_line":5,"end_character":60},"updated":"2023-01-12 12:40:36.000000000","message":"Perhaps\n\n  list logs and set logging levels\n\nor does the \u0027block storage log list\u0027 command simple return logging *level* information? 😕\n\nLater: Pulled this down and played with it. So this really returns logging levels. I\u0027m really sorry to do this again, but shouldn\u0027t this be called something like \u0027log configuration\u0027 instead of \u0027log\u0027? We might also want to use \u0027show\u0027 after all since this is effectively a single, monolithic resource.\n\n  block storage log configuration show\n  block storage log configuration set\n\nWith the current naming, I expected \u0027block storage log list\u0027 to return me the actual logs, not the logging configuration.","commit_id":"47b34c04072366e79a17325d4ab840dfa173b2c1"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"b2877597d061e5565ddd79367794175038c4d11a","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added ``block storage log list`` and ``block storage log set``"},{"line_number":5,"context_line":"    commands that allows operators to get and set log levels for cinder"},{"line_number":6,"context_line":"    services."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"230043d2_0d4ae55f","line":5,"range":{"start_line":5,"start_character":38,"end_line":5,"end_character":60},"in_reply_to":"47196f9d_01521030","updated":"2023-01-13 13:31:26.000000000","message":"Done","commit_id":"47b34c04072366e79a17325d4ab840dfa173b2c1"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a86fdbc1015e3f35cc70746e7eb999e442741e83","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added ``block storage log list`` and ``block storage log set``"},{"line_number":5,"context_line":"    commands that allows operators to get and set log levels for cinder"},{"line_number":6,"context_line":"    services."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"b3b076eb_b238125a","line":5,"range":{"start_line":5,"start_character":38,"end_line":5,"end_character":60},"in_reply_to":"5ecfab23_26e00211","updated":"2023-01-13 11:28:53.000000000","message":"\u003e \u003e \u003e I don\u0027t understand a few things.\n\u003e \u003e \u003e Why are we using \"configuration\" here? I understand we set logging levels with conf files but in this case we\u0027re directly calling oslo.log to set the logging level[1].\n\u003e \u003e \n\u003e \u003e I\u0027m talking about configuration in the general sense, not oslo.config. We have an \u0027openstack configuration show\u0027 command that shows the \"configuration\" (again, general sense) of openstackclient and the environment. This seems analogous.\n\u003e \u003e \n\u003e \u003e My main thing here is to avoid potential confusion where someone does \u0027log list\u0027 but doesn\u0027t get logs back. What would you suggest instead?\n\u003e \n\u003e How about if we call it, `block storage log level list` and `block storage log level set`. That sounds more practical to me as we\u0027re mentioning listing and setting log levels (not logs), configuration still sounds confusing to me and doesn\u0027t convey what we\u0027re trying to achieve with this command. But again, others might agree/disagree as it\u0027s just my opinion.\n\n\u0027block storage log level *\u0027 wfm 👍\n\n\u003e \u003e \u003e Also configuration makes the command a little more complicated (and farther away from the original cinderclient command) which I\u0027m not too worried about but a thing to consider.\n\u003e \u003e \n\u003e \u003e Yeah, fair point. Lengthy commands beat confusing ones though, I think?\n\u003e \n\u003e Agreed but see my above reasoning to not have \"configuration\" word in the command.\n\u003e \n\u003e \u003e \n\u003e \u003e \u003e Other thing regarding the \u0027show\u0027, I\u0027m not sure how we are considering the logging levels as one resource? It is a combination of all the services available to cinder and all the files residing in those services as well. \"show\" is analogous to \"detail of a particular resource\" which I don\u0027t think we\u0027re showing here.\n\u003e \u003e \n\u003e \u003e You\u0027re right that this is odd. I\u0027m thinking of this as a single \"configuration\" resource though. We have other examples of this, such as:\n\u003e \u003e \n\u003e \u003e - configuration show\n\u003e \u003e - limits_show\n\u003e \u003e - versions_show\n\u003e \u003e \n\u003e \u003e wdyt?\n\u003e \n\u003e Isn\u0027t limits similar to quota which is a specific resource?\n\u003e Also `version show` displays the information of `openstack catalog list` (endpoints) + version info (extra details) so not sure why they both have different syntax. maybe `openstack catalog show` or `openstack versions list`?\n\u003e Anyway, my intention here is to get a command that conveys the meaning what it\u0027s trying to achieve and configuration, at least to me, is not very intuitive.\n\u003e Let me disturb other cinder cores again to take a look at this.\n\nYeah, this isn\u0027t entirely obvious. I don\u0027t have a strong opinion on this to warrant a change so let\u0027s stick with \u0027list\u0027 here","commit_id":"47b34c04072366e79a17325d4ab840dfa173b2c1"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"c88e6999d6f3be6496d39689c60e3e31a65d81a4","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added ``block storage log list`` and ``block storage log set``"},{"line_number":5,"context_line":"    commands that allows operators to get and set log levels for cinder"},{"line_number":6,"context_line":"    services."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9bc35ae4_36fae268","line":5,"range":{"start_line":5,"start_character":38,"end_line":5,"end_character":60},"in_reply_to":"633afcd7_5f05ed6f","updated":"2023-01-12 19:02:30.000000000","message":"\u003e I don\u0027t understand a few things.\n\u003e Why are we using \"configuration\" here? I understand we set logging levels with conf files but in this case we\u0027re directly calling oslo.log to set the logging level[1].\n\nI\u0027m talking about configuration in the general sense, not oslo.config. We have an \u0027openstack configuration show\u0027 command that shows the \"configuration\" (again, general sense) of openstackclient and the environment. This seems analogous.\n\nMy main thing here is to avoid potential confusion where someone does \u0027log list\u0027 but doesn\u0027t get logs back. What would you suggest instead?\n\n\u003e Also configuration makes the command a little more complicated (and farther away from the original cinderclient command) which I\u0027m not too worried about but a thing to consider.\n\nYeah, fair point. Lengthy commands beat confusing ones though, I think?\n\n\u003e Other thing regarding the \u0027show\u0027, I\u0027m not sure how we are considering the logging levels as one resource? It is a combination of all the services available to cinder and all the files residing in those services as well. \"show\" is analogous to \"detail of a particular resource\" which I don\u0027t think we\u0027re showing here.\n\nYou\u0027re right that this is odd. I\u0027m thinking of this as a single \"configuration\" resource though. We have other examples of this, such as:\n\n- configuration show\n- limits_show\n- versions_show\n\nwdyt?","commit_id":"47b34c04072366e79a17325d4ab840dfa173b2c1"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"f90f59cdb226d0a254cb62eeaae68dea813b5236","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added ``block storage log list`` and ``block storage log set``"},{"line_number":5,"context_line":"    commands that allows operators to get and set log levels for cinder"},{"line_number":6,"context_line":"    services."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"5ecfab23_26e00211","line":5,"range":{"start_line":5,"start_character":38,"end_line":5,"end_character":60},"in_reply_to":"9bc35ae4_36fae268","updated":"2023-01-13 11:03:49.000000000","message":"\u003e \u003e I don\u0027t understand a few things.\n\u003e \u003e Why are we using \"configuration\" here? I understand we set logging levels with conf files but in this case we\u0027re directly calling oslo.log to set the logging level[1].\n\u003e \n\u003e I\u0027m talking about configuration in the general sense, not oslo.config. We have an \u0027openstack configuration show\u0027 command that shows the \"configuration\" (again, general sense) of openstackclient and the environment. This seems analogous.\n\u003e \n\u003e My main thing here is to avoid potential confusion where someone does \u0027log list\u0027 but doesn\u0027t get logs back. What would you suggest instead?\n\nHow about if we call it, `block storage log level list` and `block storage log level set`. That sounds more practical to me as we\u0027re mentioning listing and setting log levels (not logs), configuration still sounds confusing to me and doesn\u0027t convey what we\u0027re trying to achieve with this command. But again, others might agree/disagree as it\u0027s just my opinion.\n\n\u003e \n\u003e \u003e Also configuration makes the command a little more complicated (and farther away from the original cinderclient command) which I\u0027m not too worried about but a thing to consider.\n\u003e \n\u003e Yeah, fair point. Lengthy commands beat confusing ones though, I think?\n\nAgreed but see my above reasoning to not have \"configuration\" word in the command.\n\n\u003e \n\u003e \u003e Other thing regarding the \u0027show\u0027, I\u0027m not sure how we are considering the logging levels as one resource? It is a combination of all the services available to cinder and all the files residing in those services as well. \"show\" is analogous to \"detail of a particular resource\" which I don\u0027t think we\u0027re showing here.\n\u003e \n\u003e You\u0027re right that this is odd. I\u0027m thinking of this as a single \"configuration\" resource though. We have other examples of this, such as:\n\u003e \n\u003e - configuration show\n\u003e - limits_show\n\u003e - versions_show\n\u003e \n\u003e wdyt?\n\nIsn\u0027t limits similar to quota which is a specific resource?\nAlso `version show` displays the information of `openstack catalog list` (endpoints) + version info (extra details) so not sure why they both have different syntax. maybe `openstack catalog show` or `openstack versions list`?\nAnyway, my intention here is to get a command that conveys the meaning what it\u0027s trying to achieve and configuration, at least to me, is not very intuitive.\nLet me disturb other cinder cores again to take a look at this.","commit_id":"47b34c04072366e79a17325d4ab840dfa173b2c1"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"627c038845c4ef4fd9c35ea7a46d5ad9550b4e60","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added ``block storage log list`` and ``block storage log set``"},{"line_number":5,"context_line":"    commands that allows operators to get and set log levels for cinder"},{"line_number":6,"context_line":"    services."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"47196f9d_01521030","line":5,"range":{"start_line":5,"start_character":38,"end_line":5,"end_character":60},"in_reply_to":"b3b076eb_b238125a","updated":"2023-01-13 12:47:44.000000000","message":"Cool, I will update in next PS.","commit_id":"47b34c04072366e79a17325d4ab840dfa173b2c1"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"772aa5a0b2a76a31ebcd6047fb611b2543d01639","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added ``block storage log list`` and ``block storage log set``"},{"line_number":5,"context_line":"    commands that allows operators to get and set log levels for cinder"},{"line_number":6,"context_line":"    services."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"633afcd7_5f05ed6f","line":5,"range":{"start_line":5,"start_character":38,"end_line":5,"end_character":60},"in_reply_to":"fe4c7f51_3e71f29d","updated":"2023-01-12 18:14:17.000000000","message":"I don\u0027t understand a few things.\nWhy are we using \"configuration\" here? I understand we set logging levels with conf files but in this case we\u0027re directly calling oslo.log to set the logging level[1]. Also configuration makes the command a little more complicated (and farther away from the original cinderclient command) which I\u0027m not too worried about but a thing to consider.\nOther thing regarding the \u0027show\u0027, I\u0027m not sure how we are considering the logging levels as one resource? It is a combination of all the services available to cinder and all the files residing in those services as well. \"show\" is analogous to \"detail of a particular resource\" which I don\u0027t think we\u0027re showing here.\nCorrect me If my understanding is wrong anywhere.\n\n[1] https://github.com/openstack/cinder/blob/ea866739f4e071570519226140202aa55e7bb68b/cinder/utils.py#L988","commit_id":"47b34c04072366e79a17325d4ab840dfa173b2c1"}],"setup.cfg":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"071dfb9c0d7910448b229bc2db8d9c73d1988174","unresolved":true,"context_lines":[{"line_number":813,"context_line":"    volume_transfer_request_show \u003d openstackclient.volume.v2.volume_transfer_request:ShowTransferRequest"},{"line_number":814,"context_line":""},{"line_number":815,"context_line":"    volume_service_get_log \u003d openstackclient.volume.v3.service:ServiceGetLog"},{"line_number":816,"context_line":"    volume_service_set_log \u003d openstackclient.volume.v3.service:ServiceSetLog"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"83b81f32_c14655cc","line":816,"updated":"2023-01-11 12:40:57.000000000","message":"These are backwards. The structure should be:\n\n  \u003cobject\u003e \u003caction\u003e\n\nfrom [1]. We also don\u0027t use the term \u0027get\u0027 because it\u0027s ambiguous. You use either \u0027show\u0027 (for a single resource) or \u0027list\u0027 (for multiple resources). I assume you want \u0027list\u0027 here? Finally, we use the \u0027block storage\u0027 term to disambiguate between things that affect a \u0027volume\u0027 and things that affect the volume/block storage service. The \u0027volume service *\u0027 predate this convention and should really be migrated, but we probably don\u0027t want to add new commands that confuse this. Taken together, these should probably be:\n\n  block storage log set\n  block storage log list\n\n[1] https://docs.openstack.org/python-openstackclient/latest/contributor/humaninterfaceguide.html#objects-and-actions","commit_id":"b385eaa92ea72ba447b09a07f5e36181b15f89a1"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"0d6a83a3978a6b4d3b91f576ae8e45853c8cad6a","unresolved":false,"context_lines":[{"line_number":813,"context_line":"    volume_transfer_request_show \u003d openstackclient.volume.v2.volume_transfer_request:ShowTransferRequest"},{"line_number":814,"context_line":""},{"line_number":815,"context_line":"    volume_service_get_log \u003d openstackclient.volume.v3.service:ServiceGetLog"},{"line_number":816,"context_line":"    volume_service_set_log \u003d openstackclient.volume.v3.service:ServiceSetLog"}],"source_content_type":"text/x-ttcn-cfg","patch_set":1,"id":"a4c16003_9fdb52a6","line":816,"in_reply_to":"83b81f32_c14655cc","updated":"2023-01-12 10:50:38.000000000","message":"Done","commit_id":"b385eaa92ea72ba447b09a07f5e36181b15f89a1"}]}
