)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"56657914e58f0281476a852604546aaaaf4b919a","unresolved":false,"context_lines":[{"line_number":15,"context_line":"- task-state"},{"line_number":16,"context_line":"- vm-state"},{"line_number":17,"context_line":"- progress"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Existing user filter will be available to non admin since microversion"},{"line_number":20,"context_line":"2.83."},{"line_number":21,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"df33271e_95a27899","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":0},"updated":"2020-04-08 01:50:47.000000000","message":"\u0027created_at\u0027, \u0027launched_at\u0027, \u0027terminated_at\u0027, are not added which make sense. they are not so client-side friendly filters","commit_id":"9ee74d3ac6d26018d0161e24fe8c0f3f29b21c06"}],"doc/source/cli/nova.rst":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"9bf5e9471bfeb1d792dc67a05b75139a04b6bb88","unresolved":false,"context_lines":[{"line_number":2226,"context_line":"                    [--limit \u003climit\u003e] [--availability-zone \u003cavailability_zone\u003e]"},{"line_number":2227,"context_line":"                    [--key-name \u003ckey_name\u003e] [--config-drive \u003cconfig_drive\u003e]"},{"line_number":2228,"context_line":"                    [--progress \u003cprogress\u003e] [--vm-state \u003cvm_state\u003e]"},{"line_number":2229,"context_line":"                    [--task-state \u003ctask-state\u003e] [--power-state \u003cpower_state\u003e]"},{"line_number":2230,"context_line":"                    [--changes-since \u003cchanges_since\u003e]"},{"line_number":2231,"context_line":"                    [--changes-before \u003cchanges_before\u003e]"},{"line_number":2232,"context_line":"                    [--tags \u003ctags\u003e] [--tags-any \u003ctags-any\u003e]"}],"source_content_type":"text/x-rst","patch_set":4,"id":"df33271e_6bf88d48","line":2229,"range":{"start_line":2229,"start_character":35,"end_line":2229,"end_character":45},"updated":"2020-03-30 00:58:28.000000000","message":"s/task-state/task_state","commit_id":"b0e791faf2e11f34a3249516abf3de1b8047e194"},{"author":{"_account_id":28595,"name":"Victor Coutellier","email":"victor.coutellier@gmail.com","username":"alistarle"},"change_message_id":"79d6b412d5f8869671db15bb250a5ec9c4e75018","unresolved":false,"context_lines":[{"line_number":2226,"context_line":"                    [--limit \u003climit\u003e] [--availability-zone \u003cavailability_zone\u003e]"},{"line_number":2227,"context_line":"                    [--key-name \u003ckey_name\u003e] [--config-drive \u003cconfig_drive\u003e]"},{"line_number":2228,"context_line":"                    [--progress \u003cprogress\u003e] [--vm-state \u003cvm_state\u003e]"},{"line_number":2229,"context_line":"                    [--task-state \u003ctask-state\u003e] [--power-state \u003cpower_state\u003e]"},{"line_number":2230,"context_line":"                    [--changes-since \u003cchanges_since\u003e]"},{"line_number":2231,"context_line":"                    [--changes-before \u003cchanges_before\u003e]"},{"line_number":2232,"context_line":"                    [--tags \u003ctags\u003e] [--tags-any \u003ctags-any\u003e]"}],"source_content_type":"text/x-rst","patch_set":4,"id":"df33271e_5e6bb6ef","line":2229,"range":{"start_line":2229,"start_character":35,"end_line":2229,"end_character":45},"in_reply_to":"df33271e_6bf88d48","updated":"2020-03-30 20:36:07.000000000","message":"Done","commit_id":"b0e791faf2e11f34a3249516abf3de1b8047e194"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"c1b23d5911db46ac82b80c691bf33ec5f9d9bc2d","unresolved":false,"context_lines":[{"line_number":2224,"context_line":"                    [--fields \u003cfields\u003e] [--minimal]"},{"line_number":2225,"context_line":"                    [--sort \u003ckey\u003e[:\u003cdirection\u003e]] [--marker \u003cmarker\u003e]"},{"line_number":2226,"context_line":"                    [--limit \u003climit\u003e] [--availability-zone \u003cavailability_zone\u003e]"},{"line_number":2227,"context_line":"                    [--key-name \u003ckey_name\u003e] [--config-drive \u003cconfig_drive\u003e]"},{"line_number":2228,"context_line":"                    [--progress \u003cprogress\u003e] [--vm-state \u003cvm_state\u003e]"},{"line_number":2229,"context_line":"                    [--task-state \u003ctask_state\u003e] [--power-state \u003cpower_state\u003e]"},{"line_number":2230,"context_line":"                    [--changes-since \u003cchanges_since\u003e]"}],"source_content_type":"text/x-rst","patch_set":5,"id":"df33271e_0a055614","line":2227,"range":{"start_line":2227,"start_character":44,"end_line":2227,"end_character":75},"updated":"2020-03-31 14:12:26.000000000","message":"[--config-drive]","commit_id":"5fea5c896a3ad294559e1a0556e24bbcf04678b3"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"c1b23d5911db46ac82b80c691bf33ec5f9d9bc2d","unresolved":false,"context_lines":[{"line_number":2316,"context_line":"  Display servers based on their keypair name"},{"line_number":2317,"context_line":"  (Admin only until microversion 2.82)."},{"line_number":2318,"context_line":""},{"line_number":2319,"context_line":"``--config-drive \u003cconfig_drive\u003e``"},{"line_number":2320,"context_line":"  Display servers based on their config_drive value"},{"line_number":2321,"context_line":"  (Admin only until microversion 2.82). The value"},{"line_number":2322,"context_line":"  must be a boolean."}],"source_content_type":"text/x-rst","patch_set":5,"id":"df33271e_4500f101","line":2319,"range":{"start_line":2319,"start_character":0,"end_line":2319,"end_character":33},"updated":"2020-03-31 14:12:26.000000000","message":"ditto","commit_id":"5fea5c896a3ad294559e1a0556e24bbcf04678b3"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"c1b23d5911db46ac82b80c691bf33ec5f9d9bc2d","unresolved":false,"context_lines":[{"line_number":2317,"context_line":"  (Admin only until microversion 2.82)."},{"line_number":2318,"context_line":""},{"line_number":2319,"context_line":"``--config-drive \u003cconfig_drive\u003e``"},{"line_number":2320,"context_line":"  Display servers based on their config_drive value"},{"line_number":2321,"context_line":"  (Admin only until microversion 2.82). The value"},{"line_number":2322,"context_line":"  must be a boolean."},{"line_number":2323,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"df33271e_c5a3619d","line":2320,"range":{"start_line":2320,"start_character":2,"end_line":2320,"end_character":51},"updated":"2020-03-31 14:12:26.000000000","message":"Display servers whose config_drive values are true","commit_id":"5fea5c896a3ad294559e1a0556e24bbcf04678b3"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"c1b23d5911db46ac82b80c691bf33ec5f9d9bc2d","unresolved":false,"context_lines":[{"line_number":2318,"context_line":""},{"line_number":2319,"context_line":"``--config-drive \u003cconfig_drive\u003e``"},{"line_number":2320,"context_line":"  Display servers based on their config_drive value"},{"line_number":2321,"context_line":"  (Admin only until microversion 2.82). The value"},{"line_number":2322,"context_line":"  must be a boolean."},{"line_number":2323,"context_line":""},{"line_number":2324,"context_line":"``--progress \u003cprogress\u003e``"},{"line_number":2325,"context_line":"  Display servers based on their progress value"}],"source_content_type":"text/x-rst","patch_set":5,"id":"df33271e_051a696d","line":2322,"range":{"start_line":2321,"start_character":40,"end_line":2322,"end_character":20},"updated":"2020-03-31 14:12:26.000000000","message":"Remove it.","commit_id":"5fea5c896a3ad294559e1a0556e24bbcf04678b3"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"335924f62943eb0ea66ea7bac4ceb17365bf29af","unresolved":false,"context_lines":[{"line_number":2318,"context_line":""},{"line_number":2319,"context_line":"``--config-drive \u003cconfig_drive\u003e``"},{"line_number":2320,"context_line":"  Display servers based on their config_drive value"},{"line_number":2321,"context_line":"  (Admin only until microversion 2.82). The value"},{"line_number":2322,"context_line":"  must be a boolean."},{"line_number":2323,"context_line":""},{"line_number":2324,"context_line":"``--progress \u003cprogress\u003e``"},{"line_number":2325,"context_line":"  Display servers based on their progress value"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df33271e_2de1c6ff","line":2322,"range":{"start_line":2321,"start_character":40,"end_line":2322,"end_character":20},"updated":"2020-04-07 02:50:23.000000000","message":"Move to before the microversion 2.82 note.","commit_id":"e9301fd5bc41bc12adc90496c993a528cb53a656"}],"novaclient/__init__.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"0ef9f13167687cb2f45bea82296e79c5cae32994","unresolved":false,"context_lines":[{"line_number":25,"context_line":"# when client supported the max version, and bumped sequentially, otherwise"},{"line_number":26,"context_line":"# the client may break due to server side new version may include some"},{"line_number":27,"context_line":"# backward incompatible change."},{"line_number":28,"context_line":"API_MAX_VERSION \u003d api_versions.APIVersion(\"2.83\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_7b73ac4e","line":28,"range":{"start_line":28,"start_character":42,"end_line":28,"end_character":48},"updated":"2020-03-14 12:44:38.000000000","message":"The python-novaclient document says:\n\n\u003e Microversion support should be added one by one in order. For example, microversion 2.74 should be added right after microversion 2.73. Microversion 2.74 should not be added right after microversion 2.72 or earlier.\n\nhttps://docs.openstack.org/python-novaclient/latest/contributor/microversions.html\n\nSo this patch should be rebase on https://review.opendev.org/#/c/712700/ .","commit_id":"988cb6fcbbed36bee86b8baad802125f9f0cd058"},{"author":{"_account_id":28595,"name":"Victor Coutellier","email":"victor.coutellier@gmail.com","username":"alistarle"},"change_message_id":"b1fbcba18fcaf13f48538617ca49d1718b7fbf1a","unresolved":false,"context_lines":[{"line_number":25,"context_line":"# when client supported the max version, and bumped sequentially, otherwise"},{"line_number":26,"context_line":"# the client may break due to server side new version may include some"},{"line_number":27,"context_line":"# backward incompatible change."},{"line_number":28,"context_line":"API_MAX_VERSION \u003d api_versions.APIVersion(\"2.83\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_7bd64cf4","line":28,"range":{"start_line":28,"start_character":42,"end_line":28,"end_character":48},"in_reply_to":"1fa4df85_7b73ac4e","updated":"2020-03-14 13:17:19.000000000","message":"Sure, I will rebase on it when this patch will be merged, it is just for writing most of the patch to not loose time when https://review.opendev.org/#/c/701609 will be merged","commit_id":"988cb6fcbbed36bee86b8baad802125f9f0cd058"}],"novaclient/tests/unit/v2/test_shell.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"2d1694293185466bea14b654326b1bbf20a8fcb3","unresolved":false,"context_lines":[{"line_number":1704,"context_line":"        self.run_command(\u0027list --user fake_user\u0027)"},{"line_number":1705,"context_line":"        self.assert_called("},{"line_number":1706,"context_line":"            \u0027GET\u0027,"},{"line_number":1707,"context_line":"            \u0027/servers/detail?user_id\u003dfake_user\u0027)"},{"line_number":1708,"context_line":""},{"line_number":1709,"context_line":"    def test_list_with_single_sort_key_no_dir(self):"},{"line_number":1710,"context_line":"        self.run_command(\u0027list --sort 1\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_c10d6c3f","line":1707,"updated":"2020-03-26 12:23:25.000000000","message":"feels unrelated","commit_id":"8c2e3ac48507eaaf1f4bf6a77952e6025e287feb"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"20a52d49379c704b92842181ed8bcd014d040f36","unresolved":false,"context_lines":[{"line_number":1704,"context_line":"        self.run_command(\u0027list --user fake_user\u0027)"},{"line_number":1705,"context_line":"        self.assert_called("},{"line_number":1706,"context_line":"            \u0027GET\u0027,"},{"line_number":1707,"context_line":"            \u0027/servers/detail?user_id\u003dfake_user\u0027)"},{"line_number":1708,"context_line":""},{"line_number":1709,"context_line":"    def test_list_with_single_sort_key_no_dir(self):"},{"line_number":1710,"context_line":"        self.run_command(\u0027list --sort 1\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_05a0db42","line":1707,"in_reply_to":"df33271e_c10d6c3f","updated":"2020-03-28 05:49:16.000000000","message":"It is related.\n\nhttps://review.opendev.org/#/c/713089/3/novaclient/v2/shell.py@1658","commit_id":"8c2e3ac48507eaaf1f4bf6a77952e6025e287feb"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"093d41b2183cd15f227ea93f739b226c5df0ab1b","unresolved":false,"context_lines":[{"line_number":1854,"context_line":""},{"line_number":1855,"context_line":"    def test_list_with_config_drive_false(self):"},{"line_number":1856,"context_line":"        self.run_command(\u0027list --config-drive false\u0027)"},{"line_number":1857,"context_line":"        self.assert_called(\u0027GET\u0027, \u0027/servers/detail\u0027)"},{"line_number":1858,"context_line":"        self.run_command(\u0027list --config-drive 0\u0027)"},{"line_number":1859,"context_line":"        self.assert_called(\u0027GET\u0027, \u0027/servers/detail\u0027)"},{"line_number":1860,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_e800c736","line":1857,"range":{"start_line":1857,"start_character":34,"end_line":1857,"end_character":51},"updated":"2020-04-02 09:46:16.000000000","message":"It should be \u0027/servers/detail?config_drive\u003dFalse\u0027\nlike https://review.opendev.org/#/c/713089/6/novaclient/tests/unit/v2/test_servers.py@91, shouldn\u0027t it?","commit_id":"e9301fd5bc41bc12adc90496c993a528cb53a656"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"335924f62943eb0ea66ea7bac4ceb17365bf29af","unresolved":false,"context_lines":[{"line_number":1854,"context_line":""},{"line_number":1855,"context_line":"    def test_list_with_config_drive_false(self):"},{"line_number":1856,"context_line":"        self.run_command(\u0027list --config-drive false\u0027)"},{"line_number":1857,"context_line":"        self.assert_called(\u0027GET\u0027, \u0027/servers/detail\u0027)"},{"line_number":1858,"context_line":"        self.run_command(\u0027list --config-drive 0\u0027)"},{"line_number":1859,"context_line":"        self.assert_called(\u0027GET\u0027, \u0027/servers/detail\u0027)"},{"line_number":1860,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_cd349ae1","line":1857,"range":{"start_line":1857,"start_character":34,"end_line":1857,"end_character":51},"in_reply_to":"df33271e_e800c736","updated":"2020-04-07 02:50:23.000000000","message":"Done","commit_id":"e9301fd5bc41bc12adc90496c993a528cb53a656"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"093d41b2183cd15f227ea93f739b226c5df0ab1b","unresolved":false,"context_lines":[{"line_number":1856,"context_line":"        self.run_command(\u0027list --config-drive false\u0027)"},{"line_number":1857,"context_line":"        self.assert_called(\u0027GET\u0027, \u0027/servers/detail\u0027)"},{"line_number":1858,"context_line":"        self.run_command(\u0027list --config-drive 0\u0027)"},{"line_number":1859,"context_line":"        self.assert_called(\u0027GET\u0027, \u0027/servers/detail\u0027)"},{"line_number":1860,"context_line":""},{"line_number":1861,"context_line":"    def test_list_with_config_drive_invalid_value(self):"},{"line_number":1862,"context_line":"        ex \u003d self.assertRaises("}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_28f74f5b","line":1859,"range":{"start_line":1859,"start_character":35,"end_line":1859,"end_character":50},"updated":"2020-04-02 09:46:16.000000000","message":"ditto","commit_id":"e9301fd5bc41bc12adc90496c993a528cb53a656"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"335924f62943eb0ea66ea7bac4ceb17365bf29af","unresolved":false,"context_lines":[{"line_number":1856,"context_line":"        self.run_command(\u0027list --config-drive false\u0027)"},{"line_number":1857,"context_line":"        self.assert_called(\u0027GET\u0027, \u0027/servers/detail\u0027)"},{"line_number":1858,"context_line":"        self.run_command(\u0027list --config-drive 0\u0027)"},{"line_number":1859,"context_line":"        self.assert_called(\u0027GET\u0027, \u0027/servers/detail\u0027)"},{"line_number":1860,"context_line":""},{"line_number":1861,"context_line":"    def test_list_with_config_drive_invalid_value(self):"},{"line_number":1862,"context_line":"        ex \u003d self.assertRaises("}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_ad3156ef","line":1859,"range":{"start_line":1859,"start_character":35,"end_line":1859,"end_character":50},"in_reply_to":"df33271e_28f74f5b","updated":"2020-04-07 02:50:23.000000000","message":"Done","commit_id":"e9301fd5bc41bc12adc90496c993a528cb53a656"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"49a27fbd2b0102c7864700529f7d1755791423c0","unresolved":false,"context_lines":[{"line_number":1867,"context_line":""},{"line_number":1868,"context_line":"    def test_list_with_progress(self):"},{"line_number":1869,"context_line":"        self.run_command(\u0027list --progress 100\u0027)"},{"line_number":1870,"context_line":"        self.assert_called(\u0027GET\u0027, \u0027/servers/detail?progress\u003d100\u0027)"},{"line_number":1871,"context_line":""},{"line_number":1872,"context_line":"    def test_list_with_vm_state(self):"},{"line_number":1873,"context_line":"        self.run_command(\u0027list --vm-state active\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_eb3d61bb","line":1870,"updated":"2020-04-02 10:11:39.000000000","message":"It seems that the filtering problem is general for every integer filter. 0 value is considered a no-filter-provided instead of filter-with-0. So this also fails\n\n    def test_list_with_0_progress(self):\n        self.run_command(\u0027list --progress 0\u0027)\n        self.assert_called(\u0027GET\u0027, \u0027/servers/detail?progress\u003d0\u0027)","commit_id":"e9301fd5bc41bc12adc90496c993a528cb53a656"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"335924f62943eb0ea66ea7bac4ceb17365bf29af","unresolved":false,"context_lines":[{"line_number":1867,"context_line":""},{"line_number":1868,"context_line":"    def test_list_with_progress(self):"},{"line_number":1869,"context_line":"        self.run_command(\u0027list --progress 100\u0027)"},{"line_number":1870,"context_line":"        self.assert_called(\u0027GET\u0027, \u0027/servers/detail?progress\u003d100\u0027)"},{"line_number":1871,"context_line":""},{"line_number":1872,"context_line":"    def test_list_with_vm_state(self):"},{"line_number":1873,"context_line":"        self.run_command(\u0027list --vm-state active\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_ad1796ed","line":1870,"in_reply_to":"df33271e_eb3d61bb","updated":"2020-04-07 02:50:23.000000000","message":"Done","commit_id":"e9301fd5bc41bc12adc90496c993a528cb53a656"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"49a27fbd2b0102c7864700529f7d1755791423c0","unresolved":false,"context_lines":[{"line_number":1879,"context_line":""},{"line_number":1880,"context_line":"    def test_list_with_power_state(self):"},{"line_number":1881,"context_line":"        self.run_command(\u0027list --power-state 1\u0027)"},{"line_number":1882,"context_line":"        self.assert_called(\u0027GET\u0027, \u0027/servers/detail?power_state\u003d1\u0027)"},{"line_number":1883,"context_line":""},{"line_number":1884,"context_line":"    def test_list_fields_redundant(self):"},{"line_number":1885,"context_line":"        output, _err \u003d self.run_command(\u0027list --fields id,status,status\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_ab2359a6","line":1882,"updated":"2020-04-02 10:11:39.000000000","message":"To reproduce the filtering bug for 0 I noted in in the shell.py you can add a test like:\n\n    def test_list_with_power_state_filter_for_0_state(self):\n        self.run_command(\u0027list --power-state 0\u0027)\n        self.assert_called(\u0027GET\u0027, \u0027/servers/detail?power_state\u003d0\u0027)","commit_id":"e9301fd5bc41bc12adc90496c993a528cb53a656"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"335924f62943eb0ea66ea7bac4ceb17365bf29af","unresolved":false,"context_lines":[{"line_number":1879,"context_line":""},{"line_number":1880,"context_line":"    def test_list_with_power_state(self):"},{"line_number":1881,"context_line":"        self.run_command(\u0027list --power-state 1\u0027)"},{"line_number":1882,"context_line":"        self.assert_called(\u0027GET\u0027, \u0027/servers/detail?power_state\u003d1\u0027)"},{"line_number":1883,"context_line":""},{"line_number":1884,"context_line":"    def test_list_fields_redundant(self):"},{"line_number":1885,"context_line":"        output, _err \u003d self.run_command(\u0027list --fields id,status,status\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_0dd20235","line":1882,"in_reply_to":"df33271e_ab2359a6","updated":"2020-04-07 02:50:23.000000000","message":"Done","commit_id":"e9301fd5bc41bc12adc90496c993a528cb53a656"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8e7ad897decf5e52de3d3f64cec631ab1e77f40d","unresolved":false,"context_lines":[{"line_number":1856,"context_line":"        # TODO(brinzhang): If the --config-drive is False, it will be changed"},{"line_number":1857,"context_line":"        # to None, config_drive will be ignored in request filter option,"},{"line_number":1858,"context_line":"        # https://review.opendev.org/#/c/713089/7/novaclient/v2/shell.py@1664"},{"line_number":1859,"context_line":"        # that we cannot get excepted servers."},{"line_number":1860,"context_line":"        self.run_command(\u0027list --config-drive false\u0027)"},{"line_number":1861,"context_line":"        self.assert_called(\u0027GET\u0027, \u0027/servers/detail\u0027)"},{"line_number":1862,"context_line":"        self.run_command(\u0027list --config-drive 0\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"df33271e_829d33bd","line":1859,"updated":"2020-04-07 15:07:52.000000000","message":"The nova API is suboptimal (to say it nicely) in this regard:\n\n\"config_drive - body -string\n\nIndicates whether or not a config drive was used for this server. The value is True or an empty string. An empty string stands for False.\"\n\nSo if on the CLI we define --config-drive as boolean filter then\n* --config-drive false should be translated to GET /servers/detail?config_drive\u003d\n* --config-drive True should be translated to GET /servers/detail?config_drive\u003dTrue\n\nBUT I think I discovered a nova bug which, I think, prevents us to filter servers that has no config drive [1] so the first bullet point will not work.\n\n[1] https://bugs.launchpad.net/nova/+bug/1871409","commit_id":"3e1b02f7ae811764507a42ba961de8de79150b6d"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"817cf8adfdcd5ad8b2f0f3c8bbe8ece9bc7c491e","unresolved":false,"context_lines":[{"line_number":1856,"context_line":"        # TODO(brinzhang): If the --config-drive is False, it will be changed"},{"line_number":1857,"context_line":"        # to None, config_drive will be ignored in request filter option,"},{"line_number":1858,"context_line":"        # https://review.opendev.org/#/c/713089/7/novaclient/v2/shell.py@1664"},{"line_number":1859,"context_line":"        # that we cannot get excepted servers."},{"line_number":1860,"context_line":"        self.run_command(\u0027list --config-drive false\u0027)"},{"line_number":1861,"context_line":"        self.assert_called(\u0027GET\u0027, \u0027/servers/detail\u0027)"},{"line_number":1862,"context_line":"        self.run_command(\u0027list --config-drive 0\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"df33271e_6a2a7d2c","line":1859,"in_reply_to":"df33271e_4754d521","updated":"2020-04-07 16:37:49.000000000","message":"Done","commit_id":"3e1b02f7ae811764507a42ba961de8de79150b6d"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"2e9bba15d5421d441659099b925d1347e7e79d3c","unresolved":false,"context_lines":[{"line_number":1856,"context_line":"        # TODO(brinzhang): If the --config-drive is False, it will be changed"},{"line_number":1857,"context_line":"        # to None, config_drive will be ignored in request filter option,"},{"line_number":1858,"context_line":"        # https://review.opendev.org/#/c/713089/7/novaclient/v2/shell.py@1664"},{"line_number":1859,"context_line":"        # that we cannot get excepted servers."},{"line_number":1860,"context_line":"        self.run_command(\u0027list --config-drive false\u0027)"},{"line_number":1861,"context_line":"        self.assert_called(\u0027GET\u0027, \u0027/servers/detail\u0027)"},{"line_number":1862,"context_line":"        self.run_command(\u0027list --config-drive 0\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"df33271e_4754d521","line":1859,"in_reply_to":"df33271e_829d33bd","updated":"2020-04-07 15:57:10.000000000","message":"After a discussion, see[2], it seems that the bug is not easy to fix. So I think we need to decouple the client support of 2.83 from this bug. I suggest to change the --config-drive param to a string param and let the client blindly pass the string to the Nova API. \nWhen [1] is fixed the we can make the client stricter too.\n\n[2] https://bugs.launchpad.net/nova/+bug/1871409/comments/2","commit_id":"3e1b02f7ae811764507a42ba961de8de79150b6d"}],"novaclient/v2/servers.py":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"335924f62943eb0ea66ea7bac4ceb17365bf29af","unresolved":false,"context_lines":[{"line_number":887,"context_line":"        if (\u0027locked\u0027 in search_opts and"},{"line_number":888,"context_line":"                self.api_version \u003c api_versions.APIVersion(\u00272.73\u0027)):"},{"line_number":889,"context_line":"            raise exceptions.UnsupportedAttribute(\"locked\", \"2.73\")"},{"line_number":890,"context_line":"        boolean_filters \u003d [\u0027locked\u0027, \u0027config_drive\u0027]"},{"line_number":891,"context_line":"        for opt, val in search_opts.items():"},{"line_number":892,"context_line":"            if val or (opt in boolean_filters and val is False):"},{"line_number":893,"context_line":"                if isinstance(val, str):"}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_c8064821","line":890,"range":{"start_line":890,"start_character":38,"end_line":890,"end_character":50},"updated":"2020-04-07 02:50:23.000000000","message":"config_drive seems like never equal False, if you request config_drive\u003dFalse, it will be changed to config_drive\u003dNone, https://review.opendev.org/#/c/713089/7/novaclient/v2/shell.py@1664 , here is not to change.","commit_id":"e9301fd5bc41bc12adc90496c993a528cb53a656"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"56657914e58f0281476a852604546aaaaf4b919a","unresolved":false,"context_lines":[{"line_number":898,"context_line":"            # config_drive filter a boolean filter. But until that we"},{"line_number":899,"context_line":"            # simply pass through any value to the API even empty string."},{"line_number":900,"context_line":"            if opt \u003d\u003d \u0027config_drive\u0027 and val is not None:"},{"line_number":901,"context_line":"                qparams[opt] \u003d val"},{"line_number":902,"context_line":""},{"line_number":903,"context_line":"        detail \u003d \"\""},{"line_number":904,"context_line":"        if detailed:"}],"source_content_type":"text/x-python","patch_set":10,"id":"df33271e_5584700c","line":901,"range":{"start_line":901,"start_character":31,"end_line":901,"end_character":34},"updated":"2020-04-08 01:50:47.000000000","message":"+1, let\u0027s fix it on API side.","commit_id":"9ee74d3ac6d26018d0161e24fe8c0f3f29b21c06"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"c437fb358e79186cece892f56a08b7d0be426bf3","unresolved":false,"context_lines":[{"line_number":898,"context_line":"            # config_drive filter a boolean filter. But until that we"},{"line_number":899,"context_line":"            # simply pass through any value to the API even empty string."},{"line_number":900,"context_line":"            if opt \u003d\u003d \u0027config_drive\u0027 and val is not None:"},{"line_number":901,"context_line":"                qparams[opt] \u003d val"},{"line_number":902,"context_line":""},{"line_number":903,"context_line":"        detail \u003d \"\""},{"line_number":904,"context_line":"        if detailed:"}],"source_content_type":"text/x-python","patch_set":10,"id":"df33271e_553bd0e9","line":901,"range":{"start_line":901,"start_character":31,"end_line":901,"end_character":34},"in_reply_to":"df33271e_5584700c","updated":"2020-04-08 02:18:16.000000000","message":"Agree, I think we can keep config_drive only boolean, but we should consider stenphfin said rackspace dependency for a uuid, I think that can check whether is it availablie.","commit_id":"9ee74d3ac6d26018d0161e24fe8c0f3f29b21c06"}],"novaclient/v2/shell.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"0ef9f13167687cb2f45bea82296e79c5cae32994","unresolved":false,"context_lines":[{"line_number":1487,"context_line":"    metavar\u003d\u0027\u003cuser\u003e\u0027,"},{"line_number":1488,"context_line":"    nargs\u003d\u0027?\u0027,"},{"line_number":1489,"context_line":"    help\u003d_(\u0027Display information from single user (Admin only until \u0027"},{"line_number":1490,"context_line":"           \u0027microversion 2.83).\u0027))"},{"line_number":1491,"context_line":"@utils.arg("},{"line_number":1492,"context_line":"    \u0027--deleted\u0027,"},{"line_number":1493,"context_line":"    dest\u003d\u0027deleted\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_9b7c6821","line":1490,"range":{"start_line":1490,"start_character":25,"end_line":1490,"end_character":29},"updated":"2020-03-14 12:44:38.000000000","message":"2.82?","commit_id":"988cb6fcbbed36bee86b8baad802125f9f0cd058"},{"author":{"_account_id":28595,"name":"Victor Coutellier","email":"victor.coutellier@gmail.com","username":"alistarle"},"change_message_id":"b1fbcba18fcaf13f48538617ca49d1718b7fbf1a","unresolved":false,"context_lines":[{"line_number":1487,"context_line":"    metavar\u003d\u0027\u003cuser\u003e\u0027,"},{"line_number":1488,"context_line":"    nargs\u003d\u0027?\u0027,"},{"line_number":1489,"context_line":"    help\u003d_(\u0027Display information from single user (Admin only until \u0027"},{"line_number":1490,"context_line":"           \u0027microversion 2.83).\u0027))"},{"line_number":1491,"context_line":"@utils.arg("},{"line_number":1492,"context_line":"    \u0027--deleted\u0027,"},{"line_number":1493,"context_line":"    dest\u003d\u0027deleted\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_dbfe606a","line":1490,"range":{"start_line":1490,"start_character":25,"end_line":1490,"end_character":29},"in_reply_to":"1fa4df85_9b7c6821","updated":"2020-03-14 13:17:19.000000000","message":"Thanks for your comment, I didn\u0027t think that if it change in 2.83, so it is restricted only until 2.82, I will update my patch in nova too ;)","commit_id":"988cb6fcbbed36bee86b8baad802125f9f0cd058"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"0ef9f13167687cb2f45bea82296e79c5cae32994","unresolved":false,"context_lines":[{"line_number":1536,"context_line":"    metavar\u003d\u0027\u003cavailability_zone\u003e\u0027,"},{"line_number":1537,"context_line":"    default\u003dNone,"},{"line_number":1538,"context_line":"    help\u003d_(\u0027Display servers based on their availability zone (Admin only \u0027"},{"line_number":1539,"context_line":"           \u0027until microversion 2.83).\u0027))"},{"line_number":1540,"context_line":"@utils.arg("},{"line_number":1541,"context_line":"    \u0027--key-name\u0027,"},{"line_number":1542,"context_line":"    dest\u003d\u0027key_name\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_dba98090","line":1539,"updated":"2020-03-14 12:44:38.000000000","message":"Add \"start_version\u003d\u00272.83\u0027\"","commit_id":"988cb6fcbbed36bee86b8baad802125f9f0cd058"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"20a52d49379c704b92842181ed8bcd014d040f36","unresolved":false,"context_lines":[{"line_number":1536,"context_line":"    metavar\u003d\u0027\u003cavailability_zone\u003e\u0027,"},{"line_number":1537,"context_line":"    default\u003dNone,"},{"line_number":1538,"context_line":"    help\u003d_(\u0027Display servers based on their availability zone (Admin only \u0027"},{"line_number":1539,"context_line":"           \u0027until microversion 2.83).\u0027))"},{"line_number":1540,"context_line":"@utils.arg("},{"line_number":1541,"context_line":"    \u0027--key-name\u0027,"},{"line_number":1542,"context_line":"    dest\u003d\u0027key_name\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_255b5f54","line":1539,"in_reply_to":"1fa4df85_9bf8e87c","updated":"2020-03-28 05:49:16.000000000","message":"Fair enough.","commit_id":"988cb6fcbbed36bee86b8baad802125f9f0cd058"},{"author":{"_account_id":28595,"name":"Victor Coutellier","email":"victor.coutellier@gmail.com","username":"alistarle"},"change_message_id":"b1fbcba18fcaf13f48538617ca49d1718b7fbf1a","unresolved":false,"context_lines":[{"line_number":1536,"context_line":"    metavar\u003d\u0027\u003cavailability_zone\u003e\u0027,"},{"line_number":1537,"context_line":"    default\u003dNone,"},{"line_number":1538,"context_line":"    help\u003d_(\u0027Display servers based on their availability zone (Admin only \u0027"},{"line_number":1539,"context_line":"           \u0027until microversion 2.83).\u0027))"},{"line_number":1540,"context_line":"@utils.arg("},{"line_number":1541,"context_line":"    \u0027--key-name\u0027,"},{"line_number":1542,"context_line":"    dest\u003d\u0027key_name\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_9bf8e87c","line":1539,"in_reply_to":"1fa4df85_dba98090","updated":"2020-03-14 13:17:19.000000000","message":"There is no minimum microversion for these arguments, as they are already present in nova API restricted to admin user, my 2.83 nova patch is only about giving them to regular user, so no need to specify a minimum support in nova-client I think","commit_id":"988cb6fcbbed36bee86b8baad802125f9f0cd058"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"0ef9f13167687cb2f45bea82296e79c5cae32994","unresolved":false,"context_lines":[{"line_number":1543,"context_line":"    metavar\u003d\u0027\u003ckey_name\u003e\u0027,"},{"line_number":1544,"context_line":"    default\u003dNone,"},{"line_number":1545,"context_line":"    help\u003d_(\u0027Display servers based on their keypair name (Admin only until \u0027"},{"line_number":1546,"context_line":"           \u0027microversion 2.83).\u0027))"},{"line_number":1547,"context_line":"@utils.arg("},{"line_number":1548,"context_line":"    \u0027--config-drive\u0027,"},{"line_number":1549,"context_line":"    dest\u003d\u0027config_drive\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_fbaebc96","line":1546,"updated":"2020-03-14 12:44:38.000000000","message":"ditto","commit_id":"988cb6fcbbed36bee86b8baad802125f9f0cd058"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"0ef9f13167687cb2f45bea82296e79c5cae32994","unresolved":false,"context_lines":[{"line_number":1550,"context_line":"    metavar\u003d\u0027\u003cconfig_drive\u003e\u0027,"},{"line_number":1551,"context_line":"    default\u003dNone,"},{"line_number":1552,"context_line":"    help\u003d_(\u0027Display servers based on their config_drive value (Admin only \u0027"},{"line_number":1553,"context_line":"           \u0027until microversion 2.83). The value must be a boolean value.\u0027))"},{"line_number":1554,"context_line":"@utils.arg("},{"line_number":1555,"context_line":"    \u0027--progress\u0027,"},{"line_number":1556,"context_line":"    dest\u003d\u0027progress\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_9b93085d","line":1553,"updated":"2020-03-14 12:44:38.000000000","message":"ditto","commit_id":"988cb6fcbbed36bee86b8baad802125f9f0cd058"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"0ef9f13167687cb2f45bea82296e79c5cae32994","unresolved":false,"context_lines":[{"line_number":1558,"context_line":"    type\u003dint,"},{"line_number":1559,"context_line":"    default\u003dNone,"},{"line_number":1560,"context_line":"    help\u003d_(\u0027Display servers based on their progress value (Admin only until \u0027"},{"line_number":1561,"context_line":"           \u0027microversion 2.83).\u0027))"},{"line_number":1562,"context_line":"@utils.arg("},{"line_number":1563,"context_line":"    \u0027--vm-state\u0027,"},{"line_number":1564,"context_line":"    dest\u003d\u0027vm_state\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_bb904450","line":1561,"updated":"2020-03-14 12:44:38.000000000","message":"ditto","commit_id":"988cb6fcbbed36bee86b8baad802125f9f0cd058"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"0ef9f13167687cb2f45bea82296e79c5cae32994","unresolved":false,"context_lines":[{"line_number":1565,"context_line":"    metavar\u003d\u0027\u003cvm_state\u003e\u0027,"},{"line_number":1566,"context_line":"    default\u003dNone,"},{"line_number":1567,"context_line":"    help\u003d_(\u0027Display servers based on their vm_state value (Admin only until \u0027"},{"line_number":1568,"context_line":"           \u0027microversion 2.83).\u0027))"},{"line_number":1569,"context_line":"@utils.arg("},{"line_number":1570,"context_line":"    \u0027--task-state\u0027,"},{"line_number":1571,"context_line":"    dest\u003d\u0027task_state\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_5b9d9064","line":1568,"updated":"2020-03-14 12:44:38.000000000","message":"ditto","commit_id":"988cb6fcbbed36bee86b8baad802125f9f0cd058"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"0ef9f13167687cb2f45bea82296e79c5cae32994","unresolved":false,"context_lines":[{"line_number":1572,"context_line":"    metavar\u003d\u0027\u003ctask_state\u003e\u0027,"},{"line_number":1573,"context_line":"    default\u003dNone,"},{"line_number":1574,"context_line":"    help\u003d_(\u0027Display servers based on their task_state value (Admin only until \u0027"},{"line_number":1575,"context_line":"           \u0027microversion 2.83).\u0027))"},{"line_number":1576,"context_line":"@utils.arg("},{"line_number":1577,"context_line":"    \u0027--power-state\u0027,"},{"line_number":1578,"context_line":"    dest\u003d\u0027power_state\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_7b9acc6e","line":1575,"updated":"2020-03-14 12:44:38.000000000","message":"ditto","commit_id":"988cb6fcbbed36bee86b8baad802125f9f0cd058"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"0ef9f13167687cb2f45bea82296e79c5cae32994","unresolved":false,"context_lines":[{"line_number":1580,"context_line":"    type\u003dint,"},{"line_number":1581,"context_line":"    default\u003dNone,"},{"line_number":1582,"context_line":"    help\u003d_(\u0027Display servers based on their power_state value (Admin only \u0027"},{"line_number":1583,"context_line":"           \u0027until microversion 2.83).\u0027))"},{"line_number":1584,"context_line":"@utils.arg("},{"line_number":1585,"context_line":"    \u0027--changes-since\u0027,"},{"line_number":1586,"context_line":"    dest\u003d\u0027changes_since\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1fa4df85_1b895825","line":1583,"updated":"2020-03-14 12:44:38.000000000","message":"ditto","commit_id":"988cb6fcbbed36bee86b8baad802125f9f0cd058"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"20a52d49379c704b92842181ed8bcd014d040f36","unresolved":false,"context_lines":[{"line_number":1546,"context_line":"           \u0027microversion 2.82).\u0027))"},{"line_number":1547,"context_line":"@utils.arg("},{"line_number":1548,"context_line":"    \u0027--config-drive\u0027,"},{"line_number":1549,"context_line":"    dest\u003d\u0027config_drive\u0027,"},{"line_number":1550,"context_line":"    metavar\u003d\u0027\u003cconfig_drive\u003e\u0027,"},{"line_number":1551,"context_line":"    default\u003dNone,"},{"line_number":1552,"context_line":"    help\u003d_(\u0027Display servers based on their config_drive value (Admin only \u0027"},{"line_number":1553,"context_line":"           \u0027until microversion 2.82). The value must be a boolean value.\u0027))"},{"line_number":1554,"context_line":"@utils.arg("}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_85aceb34","line":1551,"range":{"start_line":1549,"start_character":0,"end_line":1551,"end_character":17},"updated":"2020-03-28 05:49:16.000000000","message":"It can be a boolean value.\n\ne.g. https://github.com/openstack/python-novaclient/blob/0ab746b4d12f469484c30cd11095a79135bac63b/novaclient/v2/shell.py#L2633-L2634 .","commit_id":"8c2e3ac48507eaaf1f4bf6a77952e6025e287feb"},{"author":{"_account_id":28595,"name":"Victor Coutellier","email":"victor.coutellier@gmail.com","username":"alistarle"},"change_message_id":"41cef92cf9121b1e054383c91b6b20c8652170a8","unresolved":false,"context_lines":[{"line_number":1546,"context_line":"           \u0027microversion 2.82).\u0027))"},{"line_number":1547,"context_line":"@utils.arg("},{"line_number":1548,"context_line":"    \u0027--config-drive\u0027,"},{"line_number":1549,"context_line":"    dest\u003d\u0027config_drive\u0027,"},{"line_number":1550,"context_line":"    metavar\u003d\u0027\u003cconfig_drive\u003e\u0027,"},{"line_number":1551,"context_line":"    default\u003dNone,"},{"line_number":1552,"context_line":"    help\u003d_(\u0027Display servers based on their config_drive value (Admin only \u0027"},{"line_number":1553,"context_line":"           \u0027until microversion 2.82). The value must be a boolean value.\u0027))"},{"line_number":1554,"context_line":"@utils.arg("}],"source_content_type":"text/x-python","patch_set":3,"id":"df33271e_d1d4f5bf","line":1551,"range":{"start_line":1549,"start_character":0,"end_line":1551,"end_character":17},"in_reply_to":"df33271e_85aceb34","updated":"2020-03-28 20:47:08.000000000","message":"Done","commit_id":"8c2e3ac48507eaaf1f4bf6a77952e6025e287feb"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"c1b23d5911db46ac82b80c691bf33ec5f9d9bc2d","unresolved":false,"context_lines":[{"line_number":1544,"context_line":"    default\u003dNone,"},{"line_number":1545,"context_line":"    help\u003d_(\u0027Display servers based on their keypair name (Admin only until \u0027"},{"line_number":1546,"context_line":"           \u0027microversion 2.82).\u0027))"},{"line_number":1547,"context_line":"@utils.arg("},{"line_number":1548,"context_line":"    \u0027--config-drive\u0027,"},{"line_number":1549,"context_line":"    dest\u003d\u0027config_drive\u0027,"},{"line_number":1550,"context_line":"    metavar\u003d\u0027\u003cconfig_drive\u003e\u0027,"},{"line_number":1551,"context_line":"    default\u003dFalse,"},{"line_number":1552,"context_line":"    help\u003d_(\u0027Display servers based on their config_drive value (Admin only \u0027"},{"line_number":1553,"context_line":"           \u0027until microversion 2.82). The value must be a boolean value.\u0027))"},{"line_number":1554,"context_line":"@utils.arg("}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_c56a41b1","line":1551,"range":{"start_line":1547,"start_character":0,"end_line":1551,"end_character":18},"updated":"2020-03-31 14:12:26.000000000","message":"@utils.arg(\n    \u0027--config-drive\u0027,\n    dest\u003d\u0027config_drive\u0027,\n    action\u003d\u0027store_true\u0027,\n    default\u003dFalse,","commit_id":"5fea5c896a3ad294559e1a0556e24bbcf04678b3"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"c1b23d5911db46ac82b80c691bf33ec5f9d9bc2d","unresolved":false,"context_lines":[{"line_number":1549,"context_line":"    dest\u003d\u0027config_drive\u0027,"},{"line_number":1550,"context_line":"    metavar\u003d\u0027\u003cconfig_drive\u003e\u0027,"},{"line_number":1551,"context_line":"    default\u003dFalse,"},{"line_number":1552,"context_line":"    help\u003d_(\u0027Display servers based on their config_drive value (Admin only \u0027"},{"line_number":1553,"context_line":"           \u0027until microversion 2.82). The value must be a boolean value.\u0027))"},{"line_number":1554,"context_line":"@utils.arg("},{"line_number":1555,"context_line":"    \u0027--progress\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_2534cd92","line":1552,"range":{"start_line":1552,"start_character":12,"end_line":1552,"end_character":61},"updated":"2020-03-31 14:12:26.000000000","message":"Display servers whose config_drive values are true","commit_id":"5fea5c896a3ad294559e1a0556e24bbcf04678b3"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"c1b23d5911db46ac82b80c691bf33ec5f9d9bc2d","unresolved":false,"context_lines":[{"line_number":1658,"context_line":"    if args.tenant:"},{"line_number":1659,"context_line":"        args.all_tenants \u003d 1"},{"line_number":1660,"context_line":""},{"line_number":1661,"context_line":"    if str(args.config_drive).lower() in (\"true\", \"1\"):"},{"line_number":1662,"context_line":"        config_drive \u003d True"},{"line_number":1663,"context_line":"    elif str(args.config_drive).lower() in (\"false\", \"0\", \"\", \"none\"):"},{"line_number":1664,"context_line":"        config_drive \u003d None"},{"line_number":1665,"context_line":"    else:"},{"line_number":1666,"context_line":"        raise exceptions.CommandError("},{"line_number":1667,"context_line":"            _(\"The value of the \u0027--config-drive\u0027 option must be \""},{"line_number":1668,"context_line":"              \"a boolean value.\"))"},{"line_number":1669,"context_line":""},{"line_number":1670,"context_line":"    search_opts \u003d {"},{"line_number":1671,"context_line":"        \u0027all_tenants\u0027: args.all_tenants,"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_c5e7e111","line":1668,"range":{"start_line":1661,"start_character":0,"end_line":1668,"end_character":34},"updated":"2020-03-31 14:12:26.000000000","message":"Remove them.","commit_id":"5fea5c896a3ad294559e1a0556e24bbcf04678b3"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"c1b23d5911db46ac82b80c691bf33ec5f9d9bc2d","unresolved":false,"context_lines":[{"line_number":1682,"context_line":"        \u0027deleted\u0027: args.deleted,"},{"line_number":1683,"context_line":"        \u0027changes-since\u0027: args.changes_since,"},{"line_number":1684,"context_line":"        \u0027availability_zone\u0027: args.availability_zone,"},{"line_number":1685,"context_line":"        \u0027config_drive\u0027: config_drive,"},{"line_number":1686,"context_line":"        \u0027key_name\u0027: args.key_name,"},{"line_number":1687,"context_line":"        \u0027progress\u0027: args.progress,"},{"line_number":1688,"context_line":"        \u0027vm_state\u0027: args.vm_state,"}],"source_content_type":"text/x-python","patch_set":5,"id":"df33271e_c5f9a1c8","line":1685,"range":{"start_line":1685,"start_character":24,"end_line":1685,"end_character":36},"updated":"2020-03-31 14:12:26.000000000","message":"args.config_drive","commit_id":"5fea5c896a3ad294559e1a0556e24bbcf04678b3"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"49a27fbd2b0102c7864700529f7d1755791423c0","unresolved":false,"context_lines":[{"line_number":1580,"context_line":"    type\u003dint,"},{"line_number":1581,"context_line":"    default\u003dNone,"},{"line_number":1582,"context_line":"    help\u003d_(\u0027Display servers based on their power_state value (Admin only \u0027"},{"line_number":1583,"context_line":"           \u0027until microversion 2.82).\u0027))"},{"line_number":1584,"context_line":"@utils.arg("},{"line_number":1585,"context_line":"    \u0027--changes-since\u0027,"},{"line_number":1586,"context_line":"    dest\u003d\u0027changes_since\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_4891f3f0","line":1583,"updated":"2020-04-02 10:11:39.000000000","message":"Something is problematic with the int flag handling. \n\nstack@aio:~/devstack$ nova list\n+--------------------------------------+----------+--------+------------+-------------+---------------------------------------------------------+\n| ID                                   | Name     | Status | Task State | Power State | Networks                                                |\n+--------------------------------------+----------+--------+------------+-------------+---------------------------------------------------------+\n| 1ca8a4f2-b221-4d5c-85ba-5b34b2614081 | demo-vm  | ERROR  | -          | NOSTATE     |                                                         |\n| 08bffe65-42a6-4c43-b232-4548c8d8148b | demo-vm2 | ACTIVE | -          | Running     | private\u003d10.0.0.15, fd14:4ba9:a070:0:f816:3eff:fee4:5aaf |\n+--------------------------------------+----------+--------+------------+-------------+---------------------------------------------------------+\n\n\nstack@aio:~/devstack$ nova list --power-state 1\n+--------------------------------------+----------+--------+------------+-------------+---------------------------------------------------------+\n| ID                                   | Name     | Status | Task State | Power State | Networks                                                |\n+--------------------------------------+----------+--------+------------+-------------+---------------------------------------------------------+\n| 08bffe65-42a6-4c43-b232-4548c8d8148b | demo-vm2 | ACTIVE | -          | Running     | private\u003d10.0.0.15, fd14:4ba9:a070:0:f816:3eff:fee4:5aaf |\n+--------------------------------------+----------+--------+------------+-------------+---------------------------------------------------------+\n\nBUT then \n\nstack@aio:~/devstack$ nova list --power-state 0\n+--------------------------------------+----------+--------+------------+-------------+---------------------------------------------------------+\n| ID                                   | Name     | Status | Task State | Power State | Networks                                                |\n+--------------------------------------+----------+--------+------------+-------------+---------------------------------------------------------+\n| 1ca8a4f2-b221-4d5c-85ba-5b34b2614081 | demo-vm  | ERROR  | -          | NOSTATE     |                                                         |\n| 08bffe65-42a6-4c43-b232-4548c8d8148b | demo-vm2 | ACTIVE | -          | Running     | private\u003d10.0.0.15, fd14:4ba9:a070:0:f816:3eff:fee4:5aaf |\n+--------------------------------------+----------+--------+------------+-------------+---------------------------------------------------------+\n\n\nInstead of only showing the demo-vm which is in ERROR state and therefore it\u0027s power state is NOSTATE (0)\n\nThe above command generates a request without filter:\n\nDEBUG (session:517) REQ: curl -g -i -X GET http://192.168.121.129/compute/v2.1/servers/detail -H \"Accept: application/json\" -H \"OpenStack-API-Version: compute 2.83\" -H \"User-Agent: python-novaclient\" -H \"X-Auth-Token: {SHA256}652ea56f9042a888d05a46bc792173a11354534faede73185b4ef308a9524c49\" -H \"X-OpenStack-Nova-API-Version: 2.83\"","commit_id":"e9301fd5bc41bc12adc90496c993a528cb53a656"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"335924f62943eb0ea66ea7bac4ceb17365bf29af","unresolved":false,"context_lines":[{"line_number":1580,"context_line":"    type\u003dint,"},{"line_number":1581,"context_line":"    default\u003dNone,"},{"line_number":1582,"context_line":"    help\u003d_(\u0027Display servers based on their power_state value (Admin only \u0027"},{"line_number":1583,"context_line":"           \u0027until microversion 2.82).\u0027))"},{"line_number":1584,"context_line":"@utils.arg("},{"line_number":1585,"context_line":"    \u0027--changes-since\u0027,"},{"line_number":1586,"context_line":"    dest\u003d\u0027changes_since\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_2d5ee6e5","line":1583,"in_reply_to":"df33271e_4891f3f0","updated":"2020-04-07 02:50:23.000000000","message":"yes, the power_state has some status [1], such as: \u0027NOSTATE\u0027. \u0027Running\u0027, \u0027\u0027, \u0027Paused\u0027 etc., so we cannt limit the type is int.\n[1] https://opendev.org/openstack/python-novaclient/src/branch/master/novaclient/v2/shell.py#L1058","commit_id":"e9301fd5bc41bc12adc90496c993a528cb53a656"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"49a27fbd2b0102c7864700529f7d1755791423c0","unresolved":false,"context_lines":[{"line_number":1757,"context_line":"               (\u0027OS-EXT-STS:power_state\u0027, \u0027power_state\u0027),"},{"line_number":1758,"context_line":"               (\u0027hostId\u0027, \u0027host_id\u0027)]"},{"line_number":1759,"context_line":"    _translate_keys(servers, convert)"},{"line_number":1760,"context_line":"    _translate_extended_states(servers)"},{"line_number":1761,"context_line":""},{"line_number":1762,"context_line":"    formatters \u003d {}"},{"line_number":1763,"context_line":"    cols \u003d []"}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_2b1589e5","line":1760,"updated":"2020-04-02 10:11:39.000000000","message":"Note that this translates the integer power states to user friendly strings when listing servers in the CLI. So I think the same would be necessary for the --power-state filter for user friendliness. So that the user is able to use the same string for filtering that the CLI prints out.","commit_id":"e9301fd5bc41bc12adc90496c993a528cb53a656"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"335924f62943eb0ea66ea7bac4ceb17365bf29af","unresolved":false,"context_lines":[{"line_number":1757,"context_line":"               (\u0027OS-EXT-STS:power_state\u0027, \u0027power_state\u0027),"},{"line_number":1758,"context_line":"               (\u0027hostId\u0027, \u0027host_id\u0027)]"},{"line_number":1759,"context_line":"    _translate_keys(servers, convert)"},{"line_number":1760,"context_line":"    _translate_extended_states(servers)"},{"line_number":1761,"context_line":""},{"line_number":1762,"context_line":"    formatters \u003d {}"},{"line_number":1763,"context_line":"    cols \u003d []"}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_8df732d5","line":1760,"in_reply_to":"df33271e_2b1589e5","updated":"2020-04-07 02:50:23.000000000","message":"Agree, as replied above, if we limit it\u0027s type to int, maybe we cannot get the expeceted power state required by the user.","commit_id":"e9301fd5bc41bc12adc90496c993a528cb53a656"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8e7ad897decf5e52de3d3f64cec631ab1e77f40d","unresolved":false,"context_lines":[{"line_number":1757,"context_line":"               (\u0027OS-EXT-STS:power_state\u0027, \u0027power_state\u0027),"},{"line_number":1758,"context_line":"               (\u0027hostId\u0027, \u0027host_id\u0027)]"},{"line_number":1759,"context_line":"    _translate_keys(servers, convert)"},{"line_number":1760,"context_line":"    _translate_extended_states(servers)"},{"line_number":1761,"context_line":""},{"line_number":1762,"context_line":"    formatters \u003d {}"},{"line_number":1763,"context_line":"    cols \u003d []"}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_dbff2665","line":1760,"in_reply_to":"df33271e_8df732d5","updated":"2020-04-07 15:07:52.000000000","message":"This is still open as the current impl only allows state filtering with integer ids and not by the translated strings.","commit_id":"e9301fd5bc41bc12adc90496c993a528cb53a656"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7ddbfd8a1b54e21da175ee44a359243b2dc5a67f","unresolved":false,"context_lines":[{"line_number":1757,"context_line":"               (\u0027OS-EXT-STS:power_state\u0027, \u0027power_state\u0027),"},{"line_number":1758,"context_line":"               (\u0027hostId\u0027, \u0027host_id\u0027)]"},{"line_number":1759,"context_line":"    _translate_keys(servers, convert)"},{"line_number":1760,"context_line":"    _translate_extended_states(servers)"},{"line_number":1761,"context_line":""},{"line_number":1762,"context_line":"    formatters \u003d {}"},{"line_number":1763,"context_line":"    cols \u003d []"}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_aa6da59a","line":1760,"in_reply_to":"df33271e_dbff2665","updated":"2020-04-07 16:35:58.000000000","message":"Added a NOTE to the power-state param definition to add this support later.","commit_id":"e9301fd5bc41bc12adc90496c993a528cb53a656"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"335924f62943eb0ea66ea7bac4ceb17365bf29af","unresolved":false,"context_lines":[{"line_number":1661,"context_line":"    if str(args.config_drive).lower() in (\"true\", \"1\"):"},{"line_number":1662,"context_line":"        config_drive \u003d True"},{"line_number":1663,"context_line":"    elif str(args.config_drive).lower() in (\"false\", \"0\", \"\", \"none\"):"},{"line_number":1664,"context_line":"        config_drive \u003d None"},{"line_number":1665,"context_line":"    else:"},{"line_number":1666,"context_line":"        raise exceptions.CommandError("},{"line_number":1667,"context_line":"            _(\"The value of the \u0027--config-drive\u0027 option must be \""}],"source_content_type":"text/x-python","patch_set":7,"id":"df33271e_cd477abc","line":1664,"range":{"start_line":1664,"start_character":23,"end_line":1664,"end_character":27},"updated":"2020-04-07 02:50:23.000000000","message":"This should be False, otherwise, the request will be get nothing of config_drive filter, see https://review.opendev.org/#/c/713089/6/novaclient/v2/servers.py@892","commit_id":"dfb920d23b2f11edaf20fb8261661ee4d962e00e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"de2d0a8171faad1396495c6242091e72dee6a42b","unresolved":false,"context_lines":[{"line_number":1544,"context_line":"    default\u003dNone,"},{"line_number":1545,"context_line":"    help\u003d_(\u0027Display servers based on their keypair name (Admin only until \u0027"},{"line_number":1546,"context_line":"           \u0027microversion 2.82).\u0027))"},{"line_number":1547,"context_line":"@utils.arg("},{"line_number":1548,"context_line":"    \u0027--config-drive\u0027,"},{"line_number":1549,"context_line":"    dest\u003d\u0027config_drive\u0027,"},{"line_number":1550,"context_line":"    metavar\u003d\u0027\u003cconfig_drive\u003e\u0027,"},{"line_number":1551,"context_line":"    default\u003dFalse,"},{"line_number":1552,"context_line":"    help\u003d_(\u0027Display servers based on their config_drive value (Admin only \u0027"},{"line_number":1553,"context_line":"           \u0027until microversion 2.82). The value must be a boolean value.\u0027))"},{"line_number":1554,"context_line":"@utils.arg("},{"line_number":1555,"context_line":"    \u0027--progress\u0027,"},{"line_number":1556,"context_line":"    dest\u003d\u0027progress\u0027,"}],"source_content_type":"text/x-python","patch_set":9,"id":"df33271e_07392d3e","line":1553,"range":{"start_line":1547,"start_character":0,"end_line":1553,"end_character":75},"updated":"2020-04-07 15:47:55.000000000","message":"Actually, can you use make this a normal boolean option and add another option, \u0027--no-config-drive\u0027. You can store the value into the same dest. There are probably other examples of this pattern in here","commit_id":"3e1b02f7ae811764507a42ba961de8de79150b6d"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e54727ccb2da0ecdf62d61a1102c42ea3d0c41bd","unresolved":false,"context_lines":[{"line_number":1544,"context_line":"    default\u003dNone,"},{"line_number":1545,"context_line":"    help\u003d_(\u0027Display servers based on their keypair name (Admin only until \u0027"},{"line_number":1546,"context_line":"           \u0027microversion 2.82).\u0027))"},{"line_number":1547,"context_line":"@utils.arg("},{"line_number":1548,"context_line":"    \u0027--config-drive\u0027,"},{"line_number":1549,"context_line":"    dest\u003d\u0027config_drive\u0027,"},{"line_number":1550,"context_line":"    metavar\u003d\u0027\u003cconfig_drive\u003e\u0027,"},{"line_number":1551,"context_line":"    default\u003dFalse,"},{"line_number":1552,"context_line":"    help\u003d_(\u0027Display servers based on their config_drive value (Admin only \u0027"},{"line_number":1553,"context_line":"           \u0027until microversion 2.82). The value must be a boolean value.\u0027))"},{"line_number":1554,"context_line":"@utils.arg("},{"line_number":1555,"context_line":"    \u0027--progress\u0027,"},{"line_number":1556,"context_line":"    dest\u003d\u0027progress\u0027,"}],"source_content_type":"text/x-python","patch_set":9,"id":"df33271e_eafccdb6","line":1553,"range":{"start_line":1547,"start_character":0,"end_line":1553,"end_character":75},"in_reply_to":"df33271e_07392d3e","updated":"2020-04-07 16:37:25.000000000","message":"to unblock this change from the bugfix of https://bugs.launchpad.net/nova/+bug/1871409 I update the patch to let the --config-drive simply pass through any value to the REST API. After the bug is fixed we can make the client stricter as well.","commit_id":"3e1b02f7ae811764507a42ba961de8de79150b6d"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"141fdc3ecca57437fddb857e2a23bc21e30a5ccb","unresolved":false,"context_lines":[{"line_number":1557,"context_line":"@utils.arg("},{"line_number":1558,"context_line":"    \u0027--progress\u0027,"},{"line_number":1559,"context_line":"    dest\u003d\u0027progress\u0027,"},{"line_number":1560,"context_line":"    metavar\u003d\u0027\u003cprogress\u003e\u0027,"},{"line_number":1561,"context_line":"    default\u003dNone,"},{"line_number":1562,"context_line":"    help\u003d_(\u0027Display servers based on their progress value (Admin only until \u0027"},{"line_number":1563,"context_line":"           \u0027microversion 2.82).\u0027))"}],"source_content_type":"text/x-python","patch_set":10,"id":"df33271e_cd02c33e","line":1560,"updated":"2020-04-07 17:52:45.000000000","message":"nit:\n\"type\u003dint,\" is removed.\nIt should not be added?\nHowever we can modify it later.","commit_id":"9ee74d3ac6d26018d0161e24fe8c0f3f29b21c06"}],"releasenotes/notes/add-filter-to-nova-list-831dcbb34420fb29.yaml":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"0ef9f13167687cb2f45bea82296e79c5cae32994","unresolved":false,"context_lines":[{"line_number":3,"context_line":"    - |"},{"line_number":4,"context_line":"      Added the following filters support for the nova list command, these"},{"line_number":5,"context_line":"      filters are admin-only restricted until microversion 2.83:"},{"line_number":6,"context_line":"  "},{"line_number":7,"context_line":"      * availability-zone"},{"line_number":8,"context_line":"      * config-drive"},{"line_number":9,"context_line":"      * key-name"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"1fa4df85_3b8e942e","line":6,"range":{"start_line":6,"start_character":0,"end_line":6,"end_character":2},"updated":"2020-03-14 12:44:38.000000000","message":"nit: white spaces","commit_id":"988cb6fcbbed36bee86b8baad802125f9f0cd058"},{"author":{"_account_id":28595,"name":"Victor Coutellier","email":"victor.coutellier@gmail.com","username":"alistarle"},"change_message_id":"b1fbcba18fcaf13f48538617ca49d1718b7fbf1a","unresolved":false,"context_lines":[{"line_number":3,"context_line":"    - |"},{"line_number":4,"context_line":"      Added the following filters support for the nova list command, these"},{"line_number":5,"context_line":"      filters are admin-only restricted until microversion 2.83:"},{"line_number":6,"context_line":"  "},{"line_number":7,"context_line":"      * availability-zone"},{"line_number":8,"context_line":"      * config-drive"},{"line_number":9,"context_line":"      * key-name"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"1fa4df85_bbf5a485","line":6,"range":{"start_line":6,"start_character":0,"end_line":6,"end_character":2},"in_reply_to":"1fa4df85_3b8e942e","updated":"2020-03-14 13:17:19.000000000","message":"Done","commit_id":"988cb6fcbbed36bee86b8baad802125f9f0cd058"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"0ef9f13167687cb2f45bea82296e79c5cae32994","unresolved":false,"context_lines":[{"line_number":11,"context_line":"      * task-state"},{"line_number":12,"context_line":"      * vm-state"},{"line_number":13,"context_line":"      * progress"},{"line_number":14,"context_line":"  "},{"line_number":15,"context_line":"      Existing user filter will be available to non admin since microversion"},{"line_number":16,"context_line":"      2.83."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":1,"id":"1fa4df85_db82e000","line":14,"range":{"start_line":14,"start_character":0,"end_line":14,"end_character":2},"updated":"2020-03-14 12:44:38.000000000","message":"ditto","commit_id":"988cb6fcbbed36bee86b8baad802125f9f0cd058"},{"author":{"_account_id":28595,"name":"Victor Coutellier","email":"victor.coutellier@gmail.com","username":"alistarle"},"change_message_id":"b1fbcba18fcaf13f48538617ca49d1718b7fbf1a","unresolved":false,"context_lines":[{"line_number":11,"context_line":"      * task-state"},{"line_number":12,"context_line":"      * vm-state"},{"line_number":13,"context_line":"      * progress"},{"line_number":14,"context_line":"  "},{"line_number":15,"context_line":"      Existing user filter will be available to non admin since microversion"},{"line_number":16,"context_line":"      2.83."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":1,"id":"1fa4df85_5bf2709c","line":14,"range":{"start_line":14,"start_character":0,"end_line":14,"end_character":2},"in_reply_to":"1fa4df85_db82e000","updated":"2020-03-14 13:17:19.000000000","message":"Done","commit_id":"988cb6fcbbed36bee86b8baad802125f9f0cd058"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"0ef9f13167687cb2f45bea82296e79c5cae32994","unresolved":false,"context_lines":[{"line_number":16,"context_line":"      2.83."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"      .. _microversion 2.83: https://docs.openstack.org/nova/latest/reference/api-microversion-history.html#id76"},{"line_number":19,"context_line":"  "}],"source_content_type":"text/x-yaml","patch_set":1,"id":"1fa4df85_fb879c0e","line":19,"range":{"start_line":19,"start_character":0,"end_line":19,"end_character":2},"updated":"2020-03-14 12:44:38.000000000","message":"ditto","commit_id":"988cb6fcbbed36bee86b8baad802125f9f0cd058"},{"author":{"_account_id":28595,"name":"Victor Coutellier","email":"victor.coutellier@gmail.com","username":"alistarle"},"change_message_id":"b1fbcba18fcaf13f48538617ca49d1718b7fbf1a","unresolved":false,"context_lines":[{"line_number":16,"context_line":"      2.83."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"      .. _microversion 2.83: https://docs.openstack.org/nova/latest/reference/api-microversion-history.html#id76"},{"line_number":19,"context_line":"  "}],"source_content_type":"text/x-yaml","patch_set":1,"id":"1fa4df85_7bef2cb0","line":19,"range":{"start_line":19,"start_character":0,"end_line":19,"end_character":2},"in_reply_to":"1fa4df85_fb879c0e","updated":"2020-03-14 13:17:19.000000000","message":"Done","commit_id":"988cb6fcbbed36bee86b8baad802125f9f0cd058"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"20a52d49379c704b92842181ed8bcd014d040f36","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"  features:"},{"line_number":3,"context_line":"    - |"},{"line_number":4,"context_line":"      Added the following filters support for the nova list command, these"},{"line_number":5,"context_line":"      filters are admin-only restricted until microversion 2.82:"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"      * availability-zone"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"df33271e_a5664f28","line":4,"range":{"start_line":4,"start_character":50,"end_line":4,"end_character":59},"updated":"2020-03-28 05:49:16.000000000","message":"``nova list``","commit_id":"8c2e3ac48507eaaf1f4bf6a77952e6025e287feb"},{"author":{"_account_id":28595,"name":"Victor Coutellier","email":"victor.coutellier@gmail.com","username":"alistarle"},"change_message_id":"41cef92cf9121b1e054383c91b6b20c8652170a8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"  features:"},{"line_number":3,"context_line":"    - |"},{"line_number":4,"context_line":"      Added the following filters support for the nova list command, these"},{"line_number":5,"context_line":"      filters are admin-only restricted until microversion 2.82:"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"      * availability-zone"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"df33271e_51e0e596","line":4,"range":{"start_line":4,"start_character":50,"end_line":4,"end_character":59},"in_reply_to":"df33271e_a5664f28","updated":"2020-03-28 20:47:08.000000000","message":"Done","commit_id":"8c2e3ac48507eaaf1f4bf6a77952e6025e287feb"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"20a52d49379c704b92842181ed8bcd014d040f36","unresolved":false,"context_lines":[{"line_number":4,"context_line":"      Added the following filters support for the nova list command, these"},{"line_number":5,"context_line":"      filters are admin-only restricted until microversion 2.82:"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"      * availability-zone"},{"line_number":8,"context_line":"      * config-drive"},{"line_number":9,"context_line":"      * key-name"},{"line_number":10,"context_line":"      * power-state"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"df33271e_e57057df","line":7,"range":{"start_line":7,"start_character":8,"end_line":7,"end_character":25},"updated":"2020-03-28 05:49:16.000000000","message":"It should be the name of the optional argument in the command.\n\n--availability-zone","commit_id":"8c2e3ac48507eaaf1f4bf6a77952e6025e287feb"},{"author":{"_account_id":28595,"name":"Victor Coutellier","email":"victor.coutellier@gmail.com","username":"alistarle"},"change_message_id":"41cef92cf9121b1e054383c91b6b20c8652170a8","unresolved":false,"context_lines":[{"line_number":4,"context_line":"      Added the following filters support for the nova list command, these"},{"line_number":5,"context_line":"      filters are admin-only restricted until microversion 2.82:"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"      * availability-zone"},{"line_number":8,"context_line":"      * config-drive"},{"line_number":9,"context_line":"      * key-name"},{"line_number":10,"context_line":"      * power-state"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"df33271e_31dba1ed","line":7,"range":{"start_line":7,"start_character":8,"end_line":7,"end_character":25},"in_reply_to":"df33271e_e57057df","updated":"2020-03-28 20:47:08.000000000","message":"Done","commit_id":"8c2e3ac48507eaaf1f4bf6a77952e6025e287feb"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"20a52d49379c704b92842181ed8bcd014d040f36","unresolved":false,"context_lines":[{"line_number":5,"context_line":"      filters are admin-only restricted until microversion 2.82:"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"      * availability-zone"},{"line_number":8,"context_line":"      * config-drive"},{"line_number":9,"context_line":"      * key-name"},{"line_number":10,"context_line":"      * power-state"},{"line_number":11,"context_line":"      * task-state"},{"line_number":12,"context_line":"      * vm-state"},{"line_number":13,"context_line":"      * progress"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"      Existing user filter will be available to non admin since microversion"},{"line_number":16,"context_line":"      2.83."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"df33271e_457783d5","line":13,"range":{"start_line":8,"start_character":0,"end_line":13,"end_character":16},"updated":"2020-03-28 05:49:16.000000000","message":"ditto","commit_id":"8c2e3ac48507eaaf1f4bf6a77952e6025e287feb"},{"author":{"_account_id":28595,"name":"Victor Coutellier","email":"victor.coutellier@gmail.com","username":"alistarle"},"change_message_id":"41cef92cf9121b1e054383c91b6b20c8652170a8","unresolved":false,"context_lines":[{"line_number":5,"context_line":"      filters are admin-only restricted until microversion 2.82:"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"      * availability-zone"},{"line_number":8,"context_line":"      * config-drive"},{"line_number":9,"context_line":"      * key-name"},{"line_number":10,"context_line":"      * power-state"},{"line_number":11,"context_line":"      * task-state"},{"line_number":12,"context_line":"      * vm-state"},{"line_number":13,"context_line":"      * progress"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"      Existing user filter will be available to non admin since microversion"},{"line_number":16,"context_line":"      2.83."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"df33271e_11d65dc4","line":13,"range":{"start_line":8,"start_character":0,"end_line":13,"end_character":16},"in_reply_to":"df33271e_457783d5","updated":"2020-03-28 20:47:08.000000000","message":"Done","commit_id":"8c2e3ac48507eaaf1f4bf6a77952e6025e287feb"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"20a52d49379c704b92842181ed8bcd014d040f36","unresolved":false,"context_lines":[{"line_number":12,"context_line":"      * vm-state"},{"line_number":13,"context_line":"      * progress"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"      Existing user filter will be available to non admin since microversion"},{"line_number":16,"context_line":"      2.83."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"      .. _microversion 2.83: https://docs.openstack.org/nova/latest/reference/api-microversion-history.html#id76"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"df33271e_25d6bfc4","line":16,"range":{"start_line":15,"start_character":64,"end_line":16,"end_character":10},"updated":"2020-03-28 05:49:16.000000000","message":"`microversion 2.83`_","commit_id":"8c2e3ac48507eaaf1f4bf6a77952e6025e287feb"},{"author":{"_account_id":28595,"name":"Victor Coutellier","email":"victor.coutellier@gmail.com","username":"alistarle"},"change_message_id":"41cef92cf9121b1e054383c91b6b20c8652170a8","unresolved":false,"context_lines":[{"line_number":12,"context_line":"      * vm-state"},{"line_number":13,"context_line":"      * progress"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"      Existing user filter will be available to non admin since microversion"},{"line_number":16,"context_line":"      2.83."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"      .. _microversion 2.83: https://docs.openstack.org/nova/latest/reference/api-microversion-history.html#id76"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"df33271e_71e529a8","line":16,"range":{"start_line":15,"start_character":64,"end_line":16,"end_character":10},"in_reply_to":"df33271e_25d6bfc4","updated":"2020-03-28 20:47:08.000000000","message":"Done","commit_id":"8c2e3ac48507eaaf1f4bf6a77952e6025e287feb"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1a1619376336160bd8173af035cd45b57d6cc4ec","unresolved":false,"context_lines":[{"line_number":4,"context_line":"      Added the following filters support for the ``nova list`` command,"},{"line_number":5,"context_line":"      these filters are admin-only restricted until microversion 2.82:"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"      * --availability-zone"},{"line_number":8,"context_line":"      * --config-drive"},{"line_number":9,"context_line":"      * --key-name"},{"line_number":10,"context_line":"      * --power-state"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"df33271e_088827c4","line":7,"range":{"start_line":7,"start_character":8,"end_line":7,"end_character":27},"updated":"2020-04-07 10:55:08.000000000","message":"``literal`` (for other opts too)","commit_id":"3e1b02f7ae811764507a42ba961de8de79150b6d"}]}
