)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3f24762132325c027418fd3f4828c7754ec01855","unresolved":false,"context_lines":[{"line_number":12,"context_line":"or equal to the given time. The changes-before filter,"},{"line_number":13,"context_line":"like the changes-since filter, will return deleted"},{"line_number":14,"context_line":"server resources."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Part of bp support-to-query-nova-resources-filter-by-changes-before"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: I7c6ea00303374d605bda8ef1b62c5de1b4567696"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3f79a3b5_95883ec6","line":15,"updated":"2018-09-19 14:17:24.000000000","message":"Add this so we can\u0027t merge the client change without the server change:\n\nDepends-On: https://review.openstack.org/599276/","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"731809194fcb19bd5d4d5ac31a4af55808fc1516","unresolved":false,"context_lines":[{"line_number":12,"context_line":"or equal to the given time. The changes-before filter,"},{"line_number":13,"context_line":"like the changes-since filter, will return deleted"},{"line_number":14,"context_line":"server resources."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Part of bp support-to-query-nova-resources-filter-by-changes-before"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: I7c6ea00303374d605bda8ef1b62c5de1b4567696"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3f79a3b5_fe914747","line":15,"in_reply_to":"3f79a3b5_95883ec6","updated":"2018-09-20 00:56:41.000000000","message":"Done","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"}],"doc/source/cli/nova.rst":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3f24762132325c027418fd3f4828c7754ec01855","unresolved":false,"context_lines":[{"line_number":1928,"context_line":""},{"line_number":1929,"context_line":"List actions on a server."},{"line_number":1930,"context_line":""},{"line_number":1931,"context_line":"For microversions 2.66 to support ``changes-before`` parameter,"},{"line_number":1932,"context_line":"filtering resources which were last updated before or equal to"},{"line_number":1933,"context_line":"the given time."},{"line_number":1934,"context_line":""},{"line_number":1935,"context_line":"**Positional arguments:**"},{"line_number":1936,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_558e26d1","line":1933,"range":{"start_line":1931,"start_character":0,"end_line":1933,"end_character":15},"updated":"2018-09-19 14:17:24.000000000","message":"You can remove this, it will be in the optional argument description below.","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"731809194fcb19bd5d4d5ac31a4af55808fc1516","unresolved":false,"context_lines":[{"line_number":1928,"context_line":""},{"line_number":1929,"context_line":"List actions on a server."},{"line_number":1930,"context_line":""},{"line_number":1931,"context_line":"For microversions 2.66 to support ``changes-before`` parameter,"},{"line_number":1932,"context_line":"filtering resources which were last updated before or equal to"},{"line_number":1933,"context_line":"the given time."},{"line_number":1934,"context_line":""},{"line_number":1935,"context_line":"**Positional arguments:**"},{"line_number":1936,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_d867c250","line":1933,"range":{"start_line":1931,"start_character":0,"end_line":1933,"end_character":15},"in_reply_to":"3f79a3b5_558e26d1","updated":"2018-09-20 00:56:41.000000000","message":"Done","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3f24762132325c027418fd3f4828c7754ec01855","unresolved":false,"context_lines":[{"line_number":1954,"context_line":"``--changes-since \u003cchanges_since\u003e``"},{"line_number":1955,"context_line":"  List only instance actions changed later or equal to a certain"},{"line_number":1956,"context_line":"  point of time. The provided time should be an ISO 8061 formatted time."},{"line_number":1957,"context_line":"  e.g. 2016-03-04T06:27:59Z. (Supported by API versions \u00272.68\u0027 - \u00272.latest\u0027)"},{"line_number":1958,"context_line":""},{"line_number":1959,"context_line":"``--changes-before \u003cchanges_before\u003e``"},{"line_number":1960,"context_line":"  List only instance actions changed earlier or equal to a certain"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_f5b65289","line":1957,"range":{"start_line":1957,"start_character":59,"end_line":1957,"end_character":61},"updated":"2018-09-19 14:17:24.000000000","message":"58","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"731809194fcb19bd5d4d5ac31a4af55808fc1516","unresolved":false,"context_lines":[{"line_number":1954,"context_line":"``--changes-since \u003cchanges_since\u003e``"},{"line_number":1955,"context_line":"  List only instance actions changed later or equal to a certain"},{"line_number":1956,"context_line":"  point of time. The provided time should be an ISO 8061 formatted time."},{"line_number":1957,"context_line":"  e.g. 2016-03-04T06:27:59Z. (Supported by API versions \u00272.68\u0027 - \u00272.latest\u0027)"},{"line_number":1958,"context_line":""},{"line_number":1959,"context_line":"``--changes-before \u003cchanges_before\u003e``"},{"line_number":1960,"context_line":"  List only instance actions changed earlier or equal to a certain"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_78722e14","line":1957,"range":{"start_line":1957,"start_character":59,"end_line":1957,"end_character":61},"in_reply_to":"3f79a3b5_f5b65289","updated":"2018-09-20 00:56:41.000000000","message":"Done","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3f24762132325c027418fd3f4828c7754ec01855","unresolved":false,"context_lines":[{"line_number":2170,"context_line":""},{"line_number":2171,"context_line":"List servers."},{"line_number":2172,"context_line":""},{"line_number":2173,"context_line":"For microversions 2.66 to support ``changes-before`` parameter,"},{"line_number":2174,"context_line":"The ``changes-before`` filter, like the ``changes-since`` filter,"},{"line_number":2175,"context_line":"will return deleted server resources."},{"line_number":2176,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_95b11e92","line":2173,"updated":"2018-09-19 14:17:24.000000000","message":"same","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"731809194fcb19bd5d4d5ac31a4af55808fc1516","unresolved":false,"context_lines":[{"line_number":2170,"context_line":""},{"line_number":2171,"context_line":"List servers."},{"line_number":2172,"context_line":""},{"line_number":2173,"context_line":"For microversions 2.66 to support ``changes-before`` parameter,"},{"line_number":2174,"context_line":"The ``changes-before`` filter, like the ``changes-since`` filter,"},{"line_number":2175,"context_line":"will return deleted server resources."},{"line_number":2176,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_f8ccfe34","line":2173,"in_reply_to":"3f79a3b5_95b11e92","updated":"2018-09-20 00:56:41.000000000","message":"Done","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3f24762132325c027418fd3f4828c7754ec01855","unresolved":false,"context_lines":[{"line_number":2257,"context_line":"  List only servers changed earlier or equal to a"},{"line_number":2258,"context_line":"  certain point of time. The provided time should"},{"line_number":2259,"context_line":"  be an ISO 8061 formatted time. e.g."},{"line_number":2260,"context_line":"  2016-03-05T06:27:59Z ."},{"line_number":2261,"context_line":""},{"line_number":2262,"context_line":"``--tags \u003ctags\u003e``"},{"line_number":2263,"context_line":"  The given tags must all be present for a"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_1563ce1b","line":2260,"range":{"start_line":2260,"start_character":23,"end_line":2260,"end_character":24},"updated":"2018-09-19 14:17:24.000000000","message":"Add:\n\n(Supported by API versions \u00272.66\u0027 - \u00272.latest\u0027)","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"731809194fcb19bd5d4d5ac31a4af55808fc1516","unresolved":false,"context_lines":[{"line_number":2257,"context_line":"  List only servers changed earlier or equal to a"},{"line_number":2258,"context_line":"  certain point of time. The provided time should"},{"line_number":2259,"context_line":"  be an ISO 8061 formatted time. e.g."},{"line_number":2260,"context_line":"  2016-03-05T06:27:59Z ."},{"line_number":2261,"context_line":""},{"line_number":2262,"context_line":"``--tags \u003ctags\u003e``"},{"line_number":2263,"context_line":"  The given tags must all be present for a"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_38c7d614","line":2260,"range":{"start_line":2260,"start_character":23,"end_line":2260,"end_character":24},"in_reply_to":"3f79a3b5_1563ce1b","updated":"2018-09-20 00:56:41.000000000","message":"Done","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3f24762132325c027418fd3f4828c7754ec01855","unresolved":false,"context_lines":[{"line_number":2468,"context_line":""},{"line_number":2469,"context_line":"Print a list of migrations."},{"line_number":2470,"context_line":""},{"line_number":2471,"context_line":"For microversions 2.66 to support ``changes-before`` parameter,"},{"line_number":2472,"context_line":"filtering resources which were last updated before or equal to"},{"line_number":2473,"context_line":"the given time."},{"line_number":2474,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_35660a2b","line":2471,"updated":"2018-09-19 14:17:24.000000000","message":"remove","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"731809194fcb19bd5d4d5ac31a4af55808fc1516","unresolved":false,"context_lines":[{"line_number":2468,"context_line":""},{"line_number":2469,"context_line":"Print a list of migrations."},{"line_number":2470,"context_line":""},{"line_number":2471,"context_line":"For microversions 2.66 to support ``changes-before`` parameter,"},{"line_number":2472,"context_line":"filtering resources which were last updated before or equal to"},{"line_number":2473,"context_line":"the given time."},{"line_number":2474,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_b8da06e6","line":2471,"in_reply_to":"3f79a3b5_35660a2b","updated":"2018-09-20 00:56:41.000000000","message":"Done","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"}],"novaclient/tests/functional/v2/test_instance_action.py":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"1803300af55761b474a19cb0fedef3608760db1b","unresolved":false,"context_lines":[{"line_number":168,"context_line":"        before_stop \u003d timeutils.utcnow().replace(microsecond\u003d0).isoformat()"},{"line_number":169,"context_line":"        server.stop()"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"        create_output \u003d self.nova("},{"line_number":172,"context_line":"            \"instance-action-list %s --changes-before %s\" %"},{"line_number":173,"context_line":"            (server.id, before_stop))"},{"line_number":174,"context_line":"        action \u003d self._get_list_of_values_from_single_column_table("}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_8a92429e","line":171,"range":{"start_line":171,"start_character":8,"end_line":171,"end_character":21},"updated":"2018-09-20 14:57:31.000000000","message":"stop_output","commit_id":"07a086b0d31caa602bf10343eb0d81955d819d2e"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"dc69dd79415ead1755438aabad7a007c82802546","unresolved":false,"context_lines":[{"line_number":168,"context_line":"        before_stop \u003d timeutils.utcnow().replace(microsecond\u003d0).isoformat()"},{"line_number":169,"context_line":"        server.stop()"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"        create_output \u003d self.nova("},{"line_number":172,"context_line":"            \"instance-action-list %s --changes-before %s\" %"},{"line_number":173,"context_line":"            (server.id, before_stop))"},{"line_number":174,"context_line":"        action \u003d self._get_list_of_values_from_single_column_table("}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_aa093e84","line":171,"range":{"start_line":171,"start_character":8,"end_line":171,"end_character":21},"in_reply_to":"3f79a3b5_8a92429e","updated":"2018-09-20 15:07:19.000000000","message":"Done","commit_id":"07a086b0d31caa602bf10343eb0d81955d819d2e"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"1803300af55761b474a19cb0fedef3608760db1b","unresolved":false,"context_lines":[{"line_number":172,"context_line":"            \"instance-action-list %s --changes-before %s\" %"},{"line_number":173,"context_line":"            (server.id, before_stop))"},{"line_number":174,"context_line":"        action \u003d self._get_list_of_values_from_single_column_table("},{"line_number":175,"context_line":"            create_output, \"Action\")"},{"line_number":176,"context_line":"        # The actions are sorted by created_at in descending order."},{"line_number":177,"context_line":"        self.assertEqual(action, [\u0027create\u0027])"},{"line_number":178,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_2a8d2e7b","line":175,"range":{"start_line":175,"start_character":12,"end_line":175,"end_character":25},"updated":"2018-09-20 14:57:31.000000000","message":"stop_output","commit_id":"07a086b0d31caa602bf10343eb0d81955d819d2e"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"dc69dd79415ead1755438aabad7a007c82802546","unresolved":false,"context_lines":[{"line_number":172,"context_line":"            \"instance-action-list %s --changes-before %s\" %"},{"line_number":173,"context_line":"            (server.id, before_stop))"},{"line_number":174,"context_line":"        action \u003d self._get_list_of_values_from_single_column_table("},{"line_number":175,"context_line":"            create_output, \"Action\")"},{"line_number":176,"context_line":"        # The actions are sorted by created_at in descending order."},{"line_number":177,"context_line":"        self.assertEqual(action, [\u0027create\u0027])"},{"line_number":178,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_2a1d2ebd","line":175,"range":{"start_line":175,"start_character":12,"end_line":175,"end_character":25},"in_reply_to":"3f79a3b5_2a8d2e7b","updated":"2018-09-20 15:07:19.000000000","message":"Done","commit_id":"07a086b0d31caa602bf10343eb0d81955d819d2e"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"1803300af55761b474a19cb0fedef3608760db1b","unresolved":false,"context_lines":[{"line_number":174,"context_line":"        action \u003d self._get_list_of_values_from_single_column_table("},{"line_number":175,"context_line":"            create_output, \"Action\")"},{"line_number":176,"context_line":"        # The actions are sorted by created_at in descending order."},{"line_number":177,"context_line":"        self.assertEqual(action, [\u0027create\u0027])"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        stop_output \u003d self.nova(\"instance-action-list %s --changes-before %s\" %"},{"line_number":180,"context_line":"                                (server.id, before_create))"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_8af322e7","line":177,"range":{"start_line":177,"start_character":33,"end_line":177,"end_character":43},"updated":"2018-09-20 14:57:31.000000000","message":"[\u0027create\u0027, \u0027stop\u0027]","commit_id":"07a086b0d31caa602bf10343eb0d81955d819d2e"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"dc69dd79415ead1755438aabad7a007c82802546","unresolved":false,"context_lines":[{"line_number":174,"context_line":"        action \u003d self._get_list_of_values_from_single_column_table("},{"line_number":175,"context_line":"            create_output, \"Action\")"},{"line_number":176,"context_line":"        # The actions are sorted by created_at in descending order."},{"line_number":177,"context_line":"        self.assertEqual(action, [\u0027create\u0027])"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        stop_output \u003d self.nova(\"instance-action-list %s --changes-before %s\" %"},{"line_number":180,"context_line":"                                (server.id, before_create))"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_0a7cf2e8","line":177,"range":{"start_line":177,"start_character":33,"end_line":177,"end_character":43},"in_reply_to":"3f79a3b5_8af322e7","updated":"2018-09-20 15:07:19.000000000","message":"Done","commit_id":"07a086b0d31caa602bf10343eb0d81955d819d2e"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"1803300af55761b474a19cb0fedef3608760db1b","unresolved":false,"context_lines":[{"line_number":176,"context_line":"        # The actions are sorted by created_at in descending order."},{"line_number":177,"context_line":"        self.assertEqual(action, [\u0027create\u0027])"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        stop_output \u003d self.nova(\"instance-action-list %s --changes-before %s\" %"},{"line_number":180,"context_line":"                                (server.id, before_create))"},{"line_number":181,"context_line":"        action \u003d self._get_list_of_values_from_single_column_table("},{"line_number":182,"context_line":"            stop_output, \"Action\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_eae89616","line":179,"range":{"start_line":179,"start_character":8,"end_line":179,"end_character":19},"updated":"2018-09-20 14:57:31.000000000","message":"create_output","commit_id":"07a086b0d31caa602bf10343eb0d81955d819d2e"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"dc69dd79415ead1755438aabad7a007c82802546","unresolved":false,"context_lines":[{"line_number":176,"context_line":"        # The actions are sorted by created_at in descending order."},{"line_number":177,"context_line":"        self.assertEqual(action, [\u0027create\u0027])"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        stop_output \u003d self.nova(\"instance-action-list %s --changes-before %s\" %"},{"line_number":180,"context_line":"                                (server.id, before_create))"},{"line_number":181,"context_line":"        action \u003d self._get_list_of_values_from_single_column_table("},{"line_number":182,"context_line":"            stop_output, \"Action\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_ca811ac4","line":179,"range":{"start_line":179,"start_character":8,"end_line":179,"end_character":19},"in_reply_to":"3f79a3b5_eae89616","updated":"2018-09-20 15:07:19.000000000","message":"Done","commit_id":"07a086b0d31caa602bf10343eb0d81955d819d2e"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"1803300af55761b474a19cb0fedef3608760db1b","unresolved":false,"context_lines":[{"line_number":179,"context_line":"        stop_output \u003d self.nova(\"instance-action-list %s --changes-before %s\" %"},{"line_number":180,"context_line":"                                (server.id, before_create))"},{"line_number":181,"context_line":"        action \u003d self._get_list_of_values_from_single_column_table("},{"line_number":182,"context_line":"            stop_output, \"Action\")"},{"line_number":183,"context_line":"        # Provide detailed debug information if this fails."},{"line_number":184,"context_line":"        self.assertEqual(action, [\u0027create\u0027, \u0027stop\u0027],"},{"line_number":185,"context_line":"                         \u0027Expected to find the stop action with \u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_caf11a02","line":182,"range":{"start_line":182,"start_character":12,"end_line":182,"end_character":23},"updated":"2018-09-20 14:57:31.000000000","message":"create_output","commit_id":"07a086b0d31caa602bf10343eb0d81955d819d2e"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"dc69dd79415ead1755438aabad7a007c82802546","unresolved":false,"context_lines":[{"line_number":179,"context_line":"        stop_output \u003d self.nova(\"instance-action-list %s --changes-before %s\" %"},{"line_number":180,"context_line":"                                (server.id, before_create))"},{"line_number":181,"context_line":"        action \u003d self._get_list_of_values_from_single_column_table("},{"line_number":182,"context_line":"            stop_output, \"Action\")"},{"line_number":183,"context_line":"        # Provide detailed debug information if this fails."},{"line_number":184,"context_line":"        self.assertEqual(action, [\u0027create\u0027, \u0027stop\u0027],"},{"line_number":185,"context_line":"                         \u0027Expected to find the stop action with \u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_4a6d0a2d","line":182,"range":{"start_line":182,"start_character":12,"end_line":182,"end_character":23},"in_reply_to":"3f79a3b5_caf11a02","updated":"2018-09-20 15:07:19.000000000","message":"Done","commit_id":"07a086b0d31caa602bf10343eb0d81955d819d2e"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"1803300af55761b474a19cb0fedef3608760db1b","unresolved":false,"context_lines":[{"line_number":181,"context_line":"        action \u003d self._get_list_of_values_from_single_column_table("},{"line_number":182,"context_line":"            stop_output, \"Action\")"},{"line_number":183,"context_line":"        # Provide detailed debug information if this fails."},{"line_number":184,"context_line":"        self.assertEqual(action, [\u0027create\u0027, \u0027stop\u0027],"},{"line_number":185,"context_line":"                         \u0027Expected to find the stop action with \u0027"},{"line_number":186,"context_line":"                         \u0027--changes-before\u003d%s but got: %s\\n\\n\u0027"},{"line_number":187,"context_line":"                         \u0027First instance-action-list output: %s\u0027 %"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_0a3152a2","line":184,"range":{"start_line":184,"start_character":33,"end_line":184,"end_character":51},"updated":"2018-09-20 14:57:31.000000000","message":"[\u0027create\u0027]","commit_id":"07a086b0d31caa602bf10343eb0d81955d819d2e"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"dc69dd79415ead1755438aabad7a007c82802546","unresolved":false,"context_lines":[{"line_number":181,"context_line":"        action \u003d self._get_list_of_values_from_single_column_table("},{"line_number":182,"context_line":"            stop_output, \"Action\")"},{"line_number":183,"context_line":"        # Provide detailed debug information if this fails."},{"line_number":184,"context_line":"        self.assertEqual(action, [\u0027create\u0027, \u0027stop\u0027],"},{"line_number":185,"context_line":"                         \u0027Expected to find the stop action with \u0027"},{"line_number":186,"context_line":"                         \u0027--changes-before\u003d%s but got: %s\\n\\n\u0027"},{"line_number":187,"context_line":"                         \u0027First instance-action-list output: %s\u0027 %"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_ea61763a","line":184,"range":{"start_line":184,"start_character":33,"end_line":184,"end_character":51},"in_reply_to":"3f79a3b5_0a3152a2","updated":"2018-09-20 15:07:19.000000000","message":"Done","commit_id":"07a086b0d31caa602bf10343eb0d81955d819d2e"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"1803300af55761b474a19cb0fedef3608760db1b","unresolved":false,"context_lines":[{"line_number":185,"context_line":"                         \u0027Expected to find the stop action with \u0027"},{"line_number":186,"context_line":"                         \u0027--changes-before\u003d%s but got: %s\\n\\n\u0027"},{"line_number":187,"context_line":"                         \u0027First instance-action-list output: %s\u0027 %"},{"line_number":188,"context_line":"                         (before_create, stop_output, create_output))"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_2ae20e31","line":188,"range":{"start_line":188,"start_character":41,"end_line":188,"end_character":52},"updated":"2018-09-20 14:57:31.000000000","message":"create_output","commit_id":"07a086b0d31caa602bf10343eb0d81955d819d2e"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"1803300af55761b474a19cb0fedef3608760db1b","unresolved":false,"context_lines":[{"line_number":185,"context_line":"                         \u0027Expected to find the stop action with \u0027"},{"line_number":186,"context_line":"                         \u0027--changes-before\u003d%s but got: %s\\n\\n\u0027"},{"line_number":187,"context_line":"                         \u0027First instance-action-list output: %s\u0027 %"},{"line_number":188,"context_line":"                         (before_create, stop_output, create_output))"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_aa3cde91","line":188,"range":{"start_line":188,"start_character":54,"end_line":188,"end_character":67},"updated":"2018-09-20 14:57:31.000000000","message":"stop_output","commit_id":"07a086b0d31caa602bf10343eb0d81955d819d2e"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"dc69dd79415ead1755438aabad7a007c82802546","unresolved":false,"context_lines":[{"line_number":185,"context_line":"                         \u0027Expected to find the stop action with \u0027"},{"line_number":186,"context_line":"                         \u0027--changes-before\u003d%s but got: %s\\n\\n\u0027"},{"line_number":187,"context_line":"                         \u0027First instance-action-list output: %s\u0027 %"},{"line_number":188,"context_line":"                         (before_create, stop_output, create_output))"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_0a65d244","line":188,"range":{"start_line":188,"start_character":41,"end_line":188,"end_character":52},"in_reply_to":"3f79a3b5_2ae20e31","updated":"2018-09-20 15:07:19.000000000","message":"Done","commit_id":"07a086b0d31caa602bf10343eb0d81955d819d2e"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"dc69dd79415ead1755438aabad7a007c82802546","unresolved":false,"context_lines":[{"line_number":185,"context_line":"                         \u0027Expected to find the stop action with \u0027"},{"line_number":186,"context_line":"                         \u0027--changes-before\u003d%s but got: %s\\n\\n\u0027"},{"line_number":187,"context_line":"                         \u0027First instance-action-list output: %s\u0027 %"},{"line_number":188,"context_line":"                         (before_create, stop_output, create_output))"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_aa57fe59","line":188,"range":{"start_line":188,"start_character":54,"end_line":188,"end_character":67},"in_reply_to":"3f79a3b5_aa3cde91","updated":"2018-09-20 15:07:19.000000000","message":"Done","commit_id":"07a086b0d31caa602bf10343eb0d81955d819d2e"}],"novaclient/tests/unit/v2/test_migrations.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"cbb652038ed62969dc3348d1fc2894eb72726612","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        self.cs.api_version \u003d api_versions.APIVersion(\"2.66\")"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    def test_list_migrations_with_changes_before(self):"},{"line_number":106,"context_line":"        params \u003d {\u0027changes_since\u0027: \u00272012-02-29T06:23:22\u0027}"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        ms \u003d self.cs.migrations.list(**params)"},{"line_number":109,"context_line":"        self.assert_request_id(ms, fakes.FAKE_REQUEST_ID_LIST)"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_9cb81076","line":106,"range":{"start_line":106,"start_character":19,"end_line":106,"end_character":32},"updated":"2018-09-24 18:19:52.000000000","message":"wrong param","commit_id":"8a725d8db90655250845fce1ab1355a17ff4380a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c95bead5203fae8aa26fece02dca1bfd3f95fc85","unresolved":false,"context_lines":[{"line_number":103,"context_line":"        self.cs.api_version \u003d api_versions.APIVersion(\"2.66\")"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    def test_list_migrations_with_changes_before(self):"},{"line_number":106,"context_line":"        params \u003d {\u0027changes_since\u0027: \u00272012-02-29T06:23:22\u0027}"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        ms \u003d self.cs.migrations.list(**params)"},{"line_number":109,"context_line":"        self.assert_request_id(ms, fakes.FAKE_REQUEST_ID_LIST)"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_f7f83d4b","line":106,"range":{"start_line":106,"start_character":19,"end_line":106,"end_character":32},"in_reply_to":"3f79a3b5_9cb81076","updated":"2018-09-24 19:01:24.000000000","message":"Done","commit_id":"8a725d8db90655250845fce1ab1355a17ff4380a"}],"novaclient/tests/unit/v2/test_shell.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3f24762132325c027418fd3f4828c7754ec01855","unresolved":false,"context_lines":[{"line_number":3843,"context_line":"            62,  # There are no version-wrapped shell method changes for this."},{"line_number":3844,"context_line":"            63,  # There are no version-wrapped shell method changes for this."},{"line_number":3845,"context_line":"            65,  # There are no version-wrapped shell method changes for this."},{"line_number":3846,"context_line":"            66,  # NOTE(Brin Zhang): This microversion add the"},{"line_number":3847,"context_line":"                 # ``changes-before`` filter support, filter to the servers,"},{"line_number":3848,"context_line":"                 # os-instance-actions and os-migrations list for filtering"},{"line_number":3849,"context_line":"                 # resources which were last updated before or equal to the"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_154c2e9c","line":3846,"updated":"2018-09-19 14:17:24.000000000","message":"We probably don\u0027t need the big comment about what 2.66 does. If there are no version-wrapped method changes for supporting it, then just copy the same comment as above.","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"731809194fcb19bd5d4d5ac31a4af55808fc1516","unresolved":false,"context_lines":[{"line_number":3843,"context_line":"            62,  # There are no version-wrapped shell method changes for this."},{"line_number":3844,"context_line":"            63,  # There are no version-wrapped shell method changes for this."},{"line_number":3845,"context_line":"            65,  # There are no version-wrapped shell method changes for this."},{"line_number":3846,"context_line":"            66,  # NOTE(Brin Zhang): This microversion add the"},{"line_number":3847,"context_line":"                 # ``changes-before`` filter support, filter to the servers,"},{"line_number":3848,"context_line":"                 # os-instance-actions and os-migrations list for filtering"},{"line_number":3849,"context_line":"                 # resources which were last updated before or equal to the"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_18e9ba7d","line":3846,"in_reply_to":"3f79a3b5_154c2e9c","updated":"2018-09-20 00:56:41.000000000","message":"Done","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"cbb652038ed62969dc3348d1fc2894eb72726612","unresolved":false,"context_lines":[{"line_number":1597,"context_line":"        self.assertRaises(exceptions.CommandError,"},{"line_number":1598,"context_line":"                          self.run_command, \u0027list --changes-since 0123456789\u0027)"},{"line_number":1599,"context_line":""},{"line_number":1600,"context_line":"    def test_list_with_changes_before(self):"},{"line_number":1601,"context_line":"        self.run_command(\u0027list --changes-before 2016-02-29T06:23:22\u0027,"},{"line_number":1602,"context_line":"                         api_version\u003d\u00272.66\u0027)"},{"line_number":1603,"context_line":"        self.assert_called("}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_1ca4004b","line":1600,"updated":"2018-09-24 18:19:52.000000000","message":"We should also have a negative test to show that using --changes-before before microversion 2.66 fails, like test_instance_action_list_changes_before_pre_v266_not_allowed below.","commit_id":"8a725d8db90655250845fce1ab1355a17ff4380a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c95bead5203fae8aa26fece02dca1bfd3f95fc85","unresolved":false,"context_lines":[{"line_number":1597,"context_line":"        self.assertRaises(exceptions.CommandError,"},{"line_number":1598,"context_line":"                          self.run_command, \u0027list --changes-since 0123456789\u0027)"},{"line_number":1599,"context_line":""},{"line_number":1600,"context_line":"    def test_list_with_changes_before(self):"},{"line_number":1601,"context_line":"        self.run_command(\u0027list --changes-before 2016-02-29T06:23:22\u0027,"},{"line_number":1602,"context_line":"                         api_version\u003d\u00272.66\u0027)"},{"line_number":1603,"context_line":"        self.assert_called("}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_b79085f5","line":1600,"in_reply_to":"3f79a3b5_1ca4004b","updated":"2018-09-24 19:01:24.000000000","message":"Done","commit_id":"8a725d8db90655250845fce1ab1355a17ff4380a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"cbb652038ed62969dc3348d1fc2894eb72726612","unresolved":false,"context_lines":[{"line_number":1603,"context_line":"        self.assert_called("},{"line_number":1604,"context_line":"            \u0027GET\u0027, \u0027/servers/detail?changes-before\u003d2016-02-29T06%3A23%3A22\u0027)"},{"line_number":1605,"context_line":""},{"line_number":1606,"context_line":"    def test_list_with_changes_before_invalid_value(self):"},{"line_number":1607,"context_line":"        self.assertRaises(exceptions.CommandError,"},{"line_number":1608,"context_line":"                          self.run_command, \u0027list --changes-before 0123456789\u0027,"},{"line_number":1609,"context_line":"                          api_version\u003d\u00272.66\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_dc63e818","line":1606,"updated":"2018-09-24 18:19:52.000000000","message":"Let\u0027s assert the error is what we expect, like below:\n\nself.assertIn(\u0027Invalid changes-before value\u0027, six.text_type(ex))","commit_id":"8a725d8db90655250845fce1ab1355a17ff4380a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c95bead5203fae8aa26fece02dca1bfd3f95fc85","unresolved":false,"context_lines":[{"line_number":1603,"context_line":"        self.assert_called("},{"line_number":1604,"context_line":"            \u0027GET\u0027, \u0027/servers/detail?changes-before\u003d2016-02-29T06%3A23%3A22\u0027)"},{"line_number":1605,"context_line":""},{"line_number":1606,"context_line":"    def test_list_with_changes_before_invalid_value(self):"},{"line_number":1607,"context_line":"        self.assertRaises(exceptions.CommandError,"},{"line_number":1608,"context_line":"                          self.run_command, \u0027list --changes-before 0123456789\u0027,"},{"line_number":1609,"context_line":"                          api_version\u003d\u00272.66\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_97b8e975","line":1606,"in_reply_to":"3f79a3b5_dc63e818","updated":"2018-09-24 19:01:24.000000000","message":"Done","commit_id":"8a725d8db90655250845fce1ab1355a17ff4380a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"cbb652038ed62969dc3348d1fc2894eb72726612","unresolved":false,"context_lines":[{"line_number":3597,"context_line":"                               api_version\u003d\u00272.59\u0027)"},{"line_number":3598,"context_line":"        self.assertIn(\u0027Invalid changes-since value\u0027, six.text_type(ex))"},{"line_number":3599,"context_line":""},{"line_number":3600,"context_line":"    def test_migration_list_with_changes_before_v266(self):"},{"line_number":3601,"context_line":"        self.run_command(\u0027migration-list --changes-before 2016-02-29T06:23:22\u0027,"},{"line_number":3602,"context_line":"                         api_version\u003d\u00272.66\u0027)"},{"line_number":3603,"context_line":"        self.assert_called("}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_7c6894f3","line":3600,"updated":"2018-09-24 18:19:52.000000000","message":"We should also have a negative test that passes --changes-before with microversion 2.65.","commit_id":"8a725d8db90655250845fce1ab1355a17ff4380a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c95bead5203fae8aa26fece02dca1bfd3f95fc85","unresolved":false,"context_lines":[{"line_number":3597,"context_line":"                               api_version\u003d\u00272.59\u0027)"},{"line_number":3598,"context_line":"        self.assertIn(\u0027Invalid changes-since value\u0027, six.text_type(ex))"},{"line_number":3599,"context_line":""},{"line_number":3600,"context_line":"    def test_migration_list_with_changes_before_v266(self):"},{"line_number":3601,"context_line":"        self.run_command(\u0027migration-list --changes-before 2016-02-29T06:23:22\u0027,"},{"line_number":3602,"context_line":"                         api_version\u003d\u00272.66\u0027)"},{"line_number":3603,"context_line":"        self.assert_called("}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_d74c219f","line":3600,"in_reply_to":"3f79a3b5_7c6894f3","updated":"2018-09-24 19:01:24.000000000","message":"Done","commit_id":"8a725d8db90655250845fce1ab1355a17ff4380a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"cbb652038ed62969dc3348d1fc2894eb72726612","unresolved":false,"context_lines":[{"line_number":3888,"context_line":"            62,  # There are no version-wrapped shell method changes for this."},{"line_number":3889,"context_line":"            63,  # There are no version-wrapped shell method changes for this."},{"line_number":3890,"context_line":"            65,  # There are no version-wrapped shell method changes for this."},{"line_number":3891,"context_line":"            66,  # There are no version-wrapped shell method changes for this."},{"line_number":3892,"context_line":"        ])"},{"line_number":3893,"context_line":"        versions_supported \u003d set(range(0,"},{"line_number":3894,"context_line":"                                 novaclient.API_MAX_VERSION.ver_minor + 1))"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_1c008002","line":3891,"updated":"2018-09-24 18:19:52.000000000","message":"I don\u0027t think this is necessary anymore because there are version-wrapped CLI methods now for 2.66.","commit_id":"8a725d8db90655250845fce1ab1355a17ff4380a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c95bead5203fae8aa26fece02dca1bfd3f95fc85","unresolved":false,"context_lines":[{"line_number":3888,"context_line":"            62,  # There are no version-wrapped shell method changes for this."},{"line_number":3889,"context_line":"            63,  # There are no version-wrapped shell method changes for this."},{"line_number":3890,"context_line":"            65,  # There are no version-wrapped shell method changes for this."},{"line_number":3891,"context_line":"            66,  # There are no version-wrapped shell method changes for this."},{"line_number":3892,"context_line":"        ])"},{"line_number":3893,"context_line":"        versions_supported \u003d set(range(0,"},{"line_number":3894,"context_line":"                                 novaclient.API_MAX_VERSION.ver_minor + 1))"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_77418d63","line":3891,"in_reply_to":"3f79a3b5_1c008002","updated":"2018-09-24 19:01:24.000000000","message":"Done","commit_id":"8a725d8db90655250845fce1ab1355a17ff4380a"}],"novaclient/v2/instance_action.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3f24762132325c027418fd3f4828c7754ec01855","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        return self._list(\u0027/servers/%s/os-instance-actions\u0027 %"},{"line_number":44,"context_line":"                          base.getid(server), \u0027instanceActions\u0027)"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    @api_versions.wraps(\"2.58\")"},{"line_number":47,"context_line":"    def list(self, server, marker\u003dNone, limit\u003dNone, changes_since\u003dNone,"},{"line_number":48,"context_line":"             changes_before\u003dNone):"},{"line_number":49,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_d536b602","line":46,"range":{"start_line":46,"start_character":4,"end_line":46,"end_character":31},"updated":"2018-09-19 14:17:24.000000000","message":"You need to do something like this for 2.66. changes_before is not valid before 2.66.","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"731809194fcb19bd5d4d5ac31a4af55808fc1516","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        return self._list(\u0027/servers/%s/os-instance-actions\u0027 %"},{"line_number":44,"context_line":"                          base.getid(server), \u0027instanceActions\u0027)"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    @api_versions.wraps(\"2.58\")"},{"line_number":47,"context_line":"    def list(self, server, marker\u003dNone, limit\u003dNone, changes_since\u003dNone,"},{"line_number":48,"context_line":"             changes_before\u003dNone):"},{"line_number":49,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_b888c6c5","line":46,"range":{"start_line":46,"start_character":4,"end_line":46,"end_character":31},"in_reply_to":"3f79a3b5_d536b602","updated":"2018-09-20 00:56:41.000000000","message":"Done","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3f24762132325c027418fd3f4828c7754ec01855","unresolved":false,"context_lines":[{"line_number":55,"context_line":"                       (optional)."},{"line_number":56,"context_line":"        :param limit: Maximum number of actions to return. (optional)."},{"line_number":57,"context_line":"        :param changes_since: List only instance actions changed later or"},{"line_number":58,"context_line":"        equal to a certain point of time. The provided time should be an ISO"},{"line_number":59,"context_line":"        8061 formatted time. e.g. 2016-03-04T06:27:59Z . (optional)."},{"line_number":60,"context_line":"        :param changes_before: List only instance actions changed earlier or"},{"line_number":61,"context_line":"        equal to a certain point of time. The provided time should be an ISO"},{"line_number":62,"context_line":"        8061 formatted time. e.g. 2016-03-05T06:27:59Z . (optional)."}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_f5441275","line":59,"range":{"start_line":58,"start_character":8,"end_line":59,"end_character":68},"updated":"2018-09-19 14:17:24.000000000","message":"Please undo the alignment change here. It was better before.","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"731809194fcb19bd5d4d5ac31a4af55808fc1516","unresolved":false,"context_lines":[{"line_number":55,"context_line":"                       (optional)."},{"line_number":56,"context_line":"        :param limit: Maximum number of actions to return. (optional)."},{"line_number":57,"context_line":"        :param changes_since: List only instance actions changed later or"},{"line_number":58,"context_line":"        equal to a certain point of time. The provided time should be an ISO"},{"line_number":59,"context_line":"        8061 formatted time. e.g. 2016-03-04T06:27:59Z . (optional)."},{"line_number":60,"context_line":"        :param changes_before: List only instance actions changed earlier or"},{"line_number":61,"context_line":"        equal to a certain point of time. The provided time should be an ISO"},{"line_number":62,"context_line":"        8061 formatted time. e.g. 2016-03-05T06:27:59Z . (optional)."}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_389596e4","line":59,"range":{"start_line":58,"start_character":8,"end_line":59,"end_character":68},"in_reply_to":"3f79a3b5_f5441275","updated":"2018-09-20 00:56:41.000000000","message":"Done","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3f24762132325c027418fd3f4828c7754ec01855","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        equal to a certain point of time. The provided time should be an ISO"},{"line_number":59,"context_line":"        8061 formatted time. e.g. 2016-03-04T06:27:59Z . (optional)."},{"line_number":60,"context_line":"        :param changes_before: List only instance actions changed earlier or"},{"line_number":61,"context_line":"        equal to a certain point of time. The provided time should be an ISO"},{"line_number":62,"context_line":"        8061 formatted time. e.g. 2016-03-05T06:27:59Z . (optional)."},{"line_number":63,"context_line":"        \"\"\""},{"line_number":64,"context_line":"        opts \u003d {}"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_f53972f0","line":61,"updated":"2018-09-19 14:17:24.000000000","message":"Align like marker param docstring above.","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"731809194fcb19bd5d4d5ac31a4af55808fc1516","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        equal to a certain point of time. The provided time should be an ISO"},{"line_number":59,"context_line":"        8061 formatted time. e.g. 2016-03-04T06:27:59Z . (optional)."},{"line_number":60,"context_line":"        :param changes_before: List only instance actions changed earlier or"},{"line_number":61,"context_line":"        equal to a certain point of time. The provided time should be an ISO"},{"line_number":62,"context_line":"        8061 formatted time. e.g. 2016-03-05T06:27:59Z . (optional)."},{"line_number":63,"context_line":"        \"\"\""},{"line_number":64,"context_line":"        opts \u003d {}"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_58989219","line":61,"in_reply_to":"3f79a3b5_f53972f0","updated":"2018-09-20 00:56:41.000000000","message":"Done","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"}],"novaclient/v2/migrations.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3f24762132325c027418fd3f4828c7754ec01855","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        return self._list_base(host\u003dhost, status\u003dstatus,"},{"line_number":59,"context_line":"                               instance_uuid\u003dinstance_uuid)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    @api_versions.wraps(\"2.59\")"},{"line_number":62,"context_line":"    def list(self, host\u003dNone, status\u003dNone, instance_uuid\u003dNone,"},{"line_number":63,"context_line":"             marker\u003dNone, limit\u003dNone, changes_since\u003dNone,"},{"line_number":64,"context_line":"             changes_before\u003dNone):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_151aee7b","line":61,"range":{"start_line":61,"start_character":4,"end_line":61,"end_character":31},"updated":"2018-09-19 14:17:24.000000000","message":"You need to do something like this for 2.66. changes_before is not valid before 2.66.","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"731809194fcb19bd5d4d5ac31a4af55808fc1516","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        return self._list_base(host\u003dhost, status\u003dstatus,"},{"line_number":59,"context_line":"                               instance_uuid\u003dinstance_uuid)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    @api_versions.wraps(\"2.59\")"},{"line_number":62,"context_line":"    def list(self, host\u003dNone, status\u003dNone, instance_uuid\u003dNone,"},{"line_number":63,"context_line":"             marker\u003dNone, limit\u003dNone, changes_since\u003dNone,"},{"line_number":64,"context_line":"             changes_before\u003dNone):"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_f8e5dea4","line":61,"range":{"start_line":61,"start_character":4,"end_line":61,"end_character":31},"in_reply_to":"3f79a3b5_151aee7b","updated":"2018-09-20 00:56:41.000000000","message":"Yeah. Add another function list() for 2.66.","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"}],"novaclient/v2/shell.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3f24762132325c027418fd3f4828c7754ec01855","unresolved":false,"context_lines":[{"line_number":1482,"context_line":"    \u0027--changes-before\u0027,"},{"line_number":1483,"context_line":"    dest\u003d\u0027changes_before\u0027,"},{"line_number":1484,"context_line":"    metavar\u003d\u0027\u003cchanges_before\u003e\u0027,"},{"line_number":1485,"context_line":"    default\u003dNone,"},{"line_number":1486,"context_line":"    help\u003d_(\"List only servers changed earlier or equal to a certain point of \""},{"line_number":1487,"context_line":"           \"time. The provided time should be an ISO 8061 formatted time. \""},{"line_number":1488,"context_line":"           \"e.g. 2016-03-04T06:27:59Z .\"))"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_75fec206","line":1485,"updated":"2018-09-19 14:17:24.000000000","message":"Need to add start_version\u003d\"2.66\".","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"731809194fcb19bd5d4d5ac31a4af55808fc1516","unresolved":false,"context_lines":[{"line_number":1482,"context_line":"    \u0027--changes-before\u0027,"},{"line_number":1483,"context_line":"    dest\u003d\u0027changes_before\u0027,"},{"line_number":1484,"context_line":"    metavar\u003d\u0027\u003cchanges_before\u003e\u0027,"},{"line_number":1485,"context_line":"    default\u003dNone,"},{"line_number":1486,"context_line":"    help\u003d_(\"List only servers changed earlier or equal to a certain point of \""},{"line_number":1487,"context_line":"           \"time. The provided time should be an ISO 8061 formatted time. \""},{"line_number":1488,"context_line":"           \"e.g. 2016-03-04T06:27:59Z .\"))"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_f8b39e98","line":1485,"in_reply_to":"3f79a3b5_75fec206","updated":"2018-09-20 00:56:41.000000000","message":"Done","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3f24762132325c027418fd3f4828c7754ec01855","unresolved":false,"context_lines":[{"line_number":1553,"context_line":"        \u0027changes-since\u0027: args.changes_since,"},{"line_number":1554,"context_line":"        \u0027changes-before\u0027: args.changes_before}"},{"line_number":1555,"context_line":""},{"line_number":1556,"context_line":"    for arg in (\u0027tags\u0027, \"tags-any\", \u0027not-tags\u0027, \u0027not-tags-any\u0027):"},{"line_number":1557,"context_line":"        if arg in args:"},{"line_number":1558,"context_line":"            search_opts[arg] \u003d getattr(args, arg)"},{"line_number":1559,"context_line":""},{"line_number":1560,"context_line":"    filters \u003d {\u0027security_groups\u0027: utils.format_security_groups}"},{"line_number":1561,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_80131e59","line":1558,"range":{"start_line":1556,"start_character":4,"end_line":1558,"end_character":49},"updated":"2018-09-19 14:17:24.000000000","message":"You likely need to do something like this for changes-before also, because before 2.66 --changes-before should not be specified and we shouldn\u0027t pass changes_before\u003dNone as a query parameter to the server.","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"731809194fcb19bd5d4d5ac31a4af55808fc1516","unresolved":false,"context_lines":[{"line_number":1553,"context_line":"        \u0027changes-since\u0027: args.changes_since,"},{"line_number":1554,"context_line":"        \u0027changes-before\u0027: args.changes_before}"},{"line_number":1555,"context_line":""},{"line_number":1556,"context_line":"    for arg in (\u0027tags\u0027, \"tags-any\", \u0027not-tags\u0027, \u0027not-tags-any\u0027):"},{"line_number":1557,"context_line":"        if arg in args:"},{"line_number":1558,"context_line":"            search_opts[arg] \u003d getattr(args, arg)"},{"line_number":1559,"context_line":""},{"line_number":1560,"context_line":"    filters \u003d {\u0027security_groups\u0027: utils.format_security_groups}"},{"line_number":1561,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_b82446c7","line":1558,"range":{"start_line":1556,"start_character":4,"end_line":1558,"end_character":49},"in_reply_to":"3f79a3b5_80131e59","updated":"2018-09-20 00:56:41.000000000","message":"Done","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3f24762132325c027418fd3f4828c7754ec01855","unresolved":false,"context_lines":[{"line_number":1591,"context_line":"            raise exceptions.CommandError(_(\u0027Invalid changes-since value: %s\u0027)"},{"line_number":1592,"context_line":"                                          % search_opts[\u0027changes-since\u0027])"},{"line_number":1593,"context_line":""},{"line_number":1594,"context_line":"    if search_opts[\u0027changes-before\u0027]:"},{"line_number":1595,"context_line":"        try:"},{"line_number":1596,"context_line":"            timeutils.parse_isotime(search_opts[\u0027changes-before\u0027])"},{"line_number":1597,"context_line":"        except ValueError:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_a03bbace","line":1594,"range":{"start_line":1594,"start_character":7,"end_line":1594,"end_character":36},"updated":"2018-09-19 14:17:24.000000000","message":"This will be a KeyError if changes-before is not in search_opts. Apparently we\u0027re missing a test where you try to list servers with --changes-before but using a microversion \u003c 2.66.","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"731809194fcb19bd5d4d5ac31a4af55808fc1516","unresolved":false,"context_lines":[{"line_number":1591,"context_line":"            raise exceptions.CommandError(_(\u0027Invalid changes-since value: %s\u0027)"},{"line_number":1592,"context_line":"                                          % search_opts[\u0027changes-since\u0027])"},{"line_number":1593,"context_line":""},{"line_number":1594,"context_line":"    if search_opts[\u0027changes-before\u0027]:"},{"line_number":1595,"context_line":"        try:"},{"line_number":1596,"context_line":"            timeutils.parse_isotime(search_opts[\u0027changes-before\u0027])"},{"line_number":1597,"context_line":"        except ValueError:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_1eb44335","line":1594,"range":{"start_line":1594,"start_character":7,"end_line":1594,"end_character":36},"in_reply_to":"3f79a3b5_a03bbace","updated":"2018-09-20 00:56:41.000000000","message":"Rewrite this logic.","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3f24762132325c027418fd3f4828c7754ec01855","unresolved":false,"context_lines":[{"line_number":1648,"context_line":"        if search_opts[\u0027changes-since\u0027]:"},{"line_number":1649,"context_line":"            columns.append(\u0027Updated\u0027)"},{"line_number":1650,"context_line":"        if search_opts[\u0027changes-before\u0027]:"},{"line_number":1651,"context_line":"            columns.append(\u0027Updated\u0027)"},{"line_number":1652,"context_line":"    formatters[\u0027Networks\u0027] \u003d utils.format_servers_list_networks"},{"line_number":1653,"context_line":"    sortby_index \u003d 1"},{"line_number":1654,"context_line":"    if args.sort:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_a0409a36","line":1651,"range":{"start_line":1651,"start_character":12,"end_line":1651,"end_character":37},"updated":"2018-09-19 14:17:24.000000000","message":"If the user specified --changes-since and --changes-before, they\u0027d get two Updated columns. The logic on L1648 should probably be:\n\nif search_opts[\u0027changes-since\u0027] or search_opts.get(\u0027changes-before\u0027):\n    columns.append(\u0027Updated\u0027)","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"731809194fcb19bd5d4d5ac31a4af55808fc1516","unresolved":false,"context_lines":[{"line_number":1648,"context_line":"        if search_opts[\u0027changes-since\u0027]:"},{"line_number":1649,"context_line":"            columns.append(\u0027Updated\u0027)"},{"line_number":1650,"context_line":"        if search_opts[\u0027changes-before\u0027]:"},{"line_number":1651,"context_line":"            columns.append(\u0027Updated\u0027)"},{"line_number":1652,"context_line":"    formatters[\u0027Networks\u0027] \u003d utils.format_servers_list_networks"},{"line_number":1653,"context_line":"    sortby_index \u003d 1"},{"line_number":1654,"context_line":"    if args.sort:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_5e971b91","line":1651,"range":{"start_line":1651,"start_character":12,"end_line":1651,"end_character":37},"in_reply_to":"3f79a3b5_a0409a36","updated":"2018-09-20 00:56:41.000000000","message":"Done","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3f24762132325c027418fd3f4828c7754ec01855","unresolved":false,"context_lines":[{"line_number":5072,"context_line":"    help\u003d_(\u0027List only instance actions changed later or equal to a certain \u0027"},{"line_number":5073,"context_line":"           \u0027point of time. The provided time should be an ISO 8061 formatted \u0027"},{"line_number":5074,"context_line":"           \u0027time. e.g. 2016-03-04T06:27:59Z.\u0027))"},{"line_number":5075,"context_line":"@utils.arg("},{"line_number":5076,"context_line":"    \u0027--changes-before\u0027,"},{"line_number":5077,"context_line":"    dest\u003d\u0027changes_before\u0027,"},{"line_number":5078,"context_line":"    metavar\u003d\u0027\u003cchanges_before\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_c064b6e7","line":5075,"updated":"2018-09-19 14:17:24.000000000","message":"Need to add start_version\u003d\"2.66\".","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"731809194fcb19bd5d4d5ac31a4af55808fc1516","unresolved":false,"context_lines":[{"line_number":5072,"context_line":"    help\u003d_(\u0027List only instance actions changed later or equal to a certain \u0027"},{"line_number":5073,"context_line":"           \u0027point of time. The provided time should be an ISO 8061 formatted \u0027"},{"line_number":5074,"context_line":"           \u0027time. e.g. 2016-03-04T06:27:59Z.\u0027))"},{"line_number":5075,"context_line":"@utils.arg("},{"line_number":5076,"context_line":"    \u0027--changes-before\u0027,"},{"line_number":5077,"context_line":"    dest\u003d\u0027changes_before\u0027,"},{"line_number":5078,"context_line":"    metavar\u003d\u0027\u003cchanges_before\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_3eb6df26","line":5075,"in_reply_to":"3f79a3b5_c064b6e7","updated":"2018-09-20 00:56:41.000000000","message":"Done","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3f24762132325c027418fd3f4828c7754ec01855","unresolved":false,"context_lines":[{"line_number":5089,"context_line":"        except ValueError:"},{"line_number":5090,"context_line":"            raise exceptions.CommandError(_(\u0027Invalid changes-since value: %s\u0027)"},{"line_number":5091,"context_line":"                                          % args.changes_since)"},{"line_number":5092,"context_line":"    if args.changes_before:"},{"line_number":5093,"context_line":"        try:"},{"line_number":5094,"context_line":"            timeutils.parse_isotime(args.changes_before)"},{"line_number":5095,"context_line":"        except ValueError:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_c092769f","line":5092,"updated":"2018-09-19 14:17:24.000000000","message":"Hmm, I\u0027m not sure if the changes_before attribute will be in args if microversion \u003c 2.66. You should have a test for that.","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"731809194fcb19bd5d4d5ac31a4af55808fc1516","unresolved":false,"context_lines":[{"line_number":5089,"context_line":"        except ValueError:"},{"line_number":5090,"context_line":"            raise exceptions.CommandError(_(\u0027Invalid changes-since value: %s\u0027)"},{"line_number":5091,"context_line":"                                          % args.changes_since)"},{"line_number":5092,"context_line":"    if args.changes_before:"},{"line_number":5093,"context_line":"        try:"},{"line_number":5094,"context_line":"            timeutils.parse_isotime(args.changes_before)"},{"line_number":5095,"context_line":"        except ValueError:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_5ef87bc2","line":5092,"in_reply_to":"3f79a3b5_c092769f","updated":"2018-09-20 00:56:41.000000000","message":"Done","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3f24762132325c027418fd3f4828c7754ec01855","unresolved":false,"context_lines":[{"line_number":5241,"context_line":"    help\u003d_(\u0027List only migrations changed later or equal to a certain point \u0027"},{"line_number":5242,"context_line":"           \u0027of time. The provided time should be an ISO 8061 formatted time. \u0027"},{"line_number":5243,"context_line":"           \u0027e.g. 2016-03-04T06:27:59Z .\u0027))"},{"line_number":5244,"context_line":"@utils.arg("},{"line_number":5245,"context_line":"    \u0027--changes-before\u0027,"},{"line_number":5246,"context_line":"    dest\u003d\u0027changes_before\u0027,"},{"line_number":5247,"context_line":"    metavar\u003d\u0027\u003cchanges_before\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_20e9ea18","line":5244,"updated":"2018-09-19 14:17:24.000000000","message":"Need the start_version kwarg on this.","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"731809194fcb19bd5d4d5ac31a4af55808fc1516","unresolved":false,"context_lines":[{"line_number":5241,"context_line":"    help\u003d_(\u0027List only migrations changed later or equal to a certain point \u0027"},{"line_number":5242,"context_line":"           \u0027of time. The provided time should be an ISO 8061 formatted time. \u0027"},{"line_number":5243,"context_line":"           \u0027e.g. 2016-03-04T06:27:59Z .\u0027))"},{"line_number":5244,"context_line":"@utils.arg("},{"line_number":5245,"context_line":"    \u0027--changes-before\u0027,"},{"line_number":5246,"context_line":"    dest\u003d\u0027changes_before\u0027,"},{"line_number":5247,"context_line":"    metavar\u003d\u0027\u003cchanges_before\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_7ef3f7e7","line":5244,"in_reply_to":"3f79a3b5_20e9ea18","updated":"2018-09-20 00:56:41.000000000","message":"Done","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3f24762132325c027418fd3f4828c7754ec01855","unresolved":false,"context_lines":[{"line_number":5257,"context_line":"        except ValueError:"},{"line_number":5258,"context_line":"            raise exceptions.CommandError(_(\u0027Invalid changes-since value: %s\u0027)"},{"line_number":5259,"context_line":"                                          % args.changes_since)"},{"line_number":5260,"context_line":"    if args.changes_before:"},{"line_number":5261,"context_line":"        try:"},{"line_number":5262,"context_line":"            timeutils.parse_isotime(args.changes_before)"},{"line_number":5263,"context_line":"        except ValueError:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_00f2ae05","line":5260,"updated":"2018-09-19 14:17:24.000000000","message":"same as above","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"731809194fcb19bd5d4d5ac31a4af55808fc1516","unresolved":false,"context_lines":[{"line_number":5257,"context_line":"        except ValueError:"},{"line_number":5258,"context_line":"            raise exceptions.CommandError(_(\u0027Invalid changes-since value: %s\u0027)"},{"line_number":5259,"context_line":"                                          % args.changes_since)"},{"line_number":5260,"context_line":"    if args.changes_before:"},{"line_number":5261,"context_line":"        try:"},{"line_number":5262,"context_line":"            timeutils.parse_isotime(args.changes_before)"},{"line_number":5263,"context_line":"        except ValueError:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_fed5c71b","line":5260,"in_reply_to":"3f79a3b5_00f2ae05","updated":"2018-09-20 00:56:41.000000000","message":"Done","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"cbb652038ed62969dc3348d1fc2894eb72726612","unresolved":false,"context_lines":[{"line_number":1591,"context_line":"            raise exceptions.CommandError(_(\u0027Invalid changes-since value: %s\u0027)"},{"line_number":1592,"context_line":"                                          % search_opts[\u0027changes-since\u0027])"},{"line_number":1593,"context_line":""},{"line_number":1594,"context_line":"    # In microversion 2.66 we started add ``changes-before`` option"},{"line_number":1595,"context_line":"    # in server details."},{"line_number":1596,"context_line":"    have_added_changes_before \u003d ("},{"line_number":1597,"context_line":"        cs.api_version \u003e\u003d api_versions.APIVersion(\u00272.66\u0027))"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_5c583856","line":1594,"range":{"start_line":1594,"start_character":30,"end_line":1594,"end_character":41},"updated":"2018-09-24 18:19:52.000000000","message":"added","commit_id":"8a725d8db90655250845fce1ab1355a17ff4380a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c95bead5203fae8aa26fece02dca1bfd3f95fc85","unresolved":false,"context_lines":[{"line_number":1591,"context_line":"            raise exceptions.CommandError(_(\u0027Invalid changes-since value: %s\u0027)"},{"line_number":1592,"context_line":"                                          % search_opts[\u0027changes-since\u0027])"},{"line_number":1593,"context_line":""},{"line_number":1594,"context_line":"    # In microversion 2.66 we started add ``changes-before`` option"},{"line_number":1595,"context_line":"    # in server details."},{"line_number":1596,"context_line":"    have_added_changes_before \u003d ("},{"line_number":1597,"context_line":"        cs.api_version \u003e\u003d api_versions.APIVersion(\u00272.66\u0027))"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_57581156","line":1594,"range":{"start_line":1594,"start_character":30,"end_line":1594,"end_character":41},"in_reply_to":"3f79a3b5_5c583856","updated":"2018-09-24 19:01:24.000000000","message":"Done","commit_id":"8a725d8db90655250845fce1ab1355a17ff4380a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"cbb652038ed62969dc3348d1fc2894eb72726612","unresolved":false,"context_lines":[{"line_number":5084,"context_line":"        except ValueError:"},{"line_number":5085,"context_line":"            raise exceptions.CommandError(_(\u0027Invalid changes-since value: %s\u0027)"},{"line_number":5086,"context_line":"                                          % args.changes_since)"},{"line_number":5087,"context_line":""},{"line_number":5088,"context_line":"    actions \u003d cs.instance_action.list(server, marker\u003dargs.marker,"},{"line_number":5089,"context_line":"                                      limit\u003dargs.limit,"},{"line_number":5090,"context_line":"                                      changes_since\u003dargs.changes_since)"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_d77661a4","line":5087,"updated":"2018-09-24 18:19:52.000000000","message":"nit: remove the unrelated whitespace change","commit_id":"8a725d8db90655250845fce1ab1355a17ff4380a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c95bead5203fae8aa26fece02dca1bfd3f95fc85","unresolved":false,"context_lines":[{"line_number":5084,"context_line":"        except ValueError:"},{"line_number":5085,"context_line":"            raise exceptions.CommandError(_(\u0027Invalid changes-since value: %s\u0027)"},{"line_number":5086,"context_line":"                                          % args.changes_since)"},{"line_number":5087,"context_line":""},{"line_number":5088,"context_line":"    actions \u003d cs.instance_action.list(server, marker\u003dargs.marker,"},{"line_number":5089,"context_line":"                                      limit\u003dargs.limit,"},{"line_number":5090,"context_line":"                                      changes_since\u003dargs.changes_since)"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_d731810c","line":5087,"in_reply_to":"3f79a3b5_d77661a4","updated":"2018-09-24 19:01:24.000000000","message":"Done","commit_id":"8a725d8db90655250845fce1ab1355a17ff4380a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"cbb652038ed62969dc3348d1fc2894eb72726612","unresolved":false,"context_lines":[{"line_number":5145,"context_line":"            raise exceptions.CommandError(_(\u0027Invalid changes-since value: %s\u0027)"},{"line_number":5146,"context_line":"                                          % args.changes_since)"},{"line_number":5147,"context_line":""},{"line_number":5148,"context_line":"    # In microversion 2.66 we started add ``changes-before`` option"},{"line_number":5149,"context_line":"    # in instance actions."},{"line_number":5150,"context_line":"    have_added_changes_before \u003d ("},{"line_number":5151,"context_line":"        cs.api_version \u003e\u003d api_versions.APIVersion(\u00272.66\u0027))"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_3c20dcb1","line":5148,"range":{"start_line":5148,"start_character":30,"end_line":5148,"end_character":41},"updated":"2018-09-24 18:19:52.000000000","message":"added","commit_id":"8a725d8db90655250845fce1ab1355a17ff4380a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c95bead5203fae8aa26fece02dca1bfd3f95fc85","unresolved":false,"context_lines":[{"line_number":5145,"context_line":"            raise exceptions.CommandError(_(\u0027Invalid changes-since value: %s\u0027)"},{"line_number":5146,"context_line":"                                          % args.changes_since)"},{"line_number":5147,"context_line":""},{"line_number":5148,"context_line":"    # In microversion 2.66 we started add ``changes-before`` option"},{"line_number":5149,"context_line":"    # in instance actions."},{"line_number":5150,"context_line":"    have_added_changes_before \u003d ("},{"line_number":5151,"context_line":"        cs.api_version \u003e\u003d api_versions.APIVersion(\u00272.66\u0027))"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_17529936","line":5148,"range":{"start_line":5148,"start_character":30,"end_line":5148,"end_character":41},"in_reply_to":"3f79a3b5_3c20dcb1","updated":"2018-09-24 19:01:24.000000000","message":"Done","commit_id":"8a725d8db90655250845fce1ab1355a17ff4380a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"cbb652038ed62969dc3348d1fc2894eb72726612","unresolved":false,"context_lines":[{"line_number":5147,"context_line":""},{"line_number":5148,"context_line":"    # In microversion 2.66 we started add ``changes-before`` option"},{"line_number":5149,"context_line":"    # in instance actions."},{"line_number":5150,"context_line":"    have_added_changes_before \u003d ("},{"line_number":5151,"context_line":"        cs.api_version \u003e\u003d api_versions.APIVersion(\u00272.66\u0027))"},{"line_number":5152,"context_line":"    if have_added_changes_before and args.changes_before:"},{"line_number":5153,"context_line":"        try:"},{"line_number":5154,"context_line":"            timeutils.parse_isotime(args.changes_before)"},{"line_number":5155,"context_line":"        except ValueError:"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_97a54906","line":5152,"range":{"start_line":5150,"start_character":4,"end_line":5152,"end_character":36},"updated":"2018-09-24 18:19:52.000000000","message":"You can remove this because we can\u0027t get into this method if the microversion \u003c 2.66.","commit_id":"8a725d8db90655250845fce1ab1355a17ff4380a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c95bead5203fae8aa26fece02dca1bfd3f95fc85","unresolved":false,"context_lines":[{"line_number":5147,"context_line":""},{"line_number":5148,"context_line":"    # In microversion 2.66 we started add ``changes-before`` option"},{"line_number":5149,"context_line":"    # in instance actions."},{"line_number":5150,"context_line":"    have_added_changes_before \u003d ("},{"line_number":5151,"context_line":"        cs.api_version \u003e\u003d api_versions.APIVersion(\u00272.66\u0027))"},{"line_number":5152,"context_line":"    if have_added_changes_before and args.changes_before:"},{"line_number":5153,"context_line":"        try:"},{"line_number":5154,"context_line":"            timeutils.parse_isotime(args.changes_before)"},{"line_number":5155,"context_line":"        except ValueError:"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_b72c05b3","line":5152,"range":{"start_line":5150,"start_character":4,"end_line":5152,"end_character":36},"in_reply_to":"3f79a3b5_97a54906","updated":"2018-09-24 19:01:24.000000000","message":"Done","commit_id":"8a725d8db90655250845fce1ab1355a17ff4380a"}],"releasenotes/notes/microversion-v2_66-cda5d6dc31b56b46.yaml":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3f24762132325c027418fd3f4828c7754ec01855","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 support for `microversion 2.66`_ which adds ``changes-before``"},{"line_number":5,"context_line":"    parameter to the servers, os-instance-actions or os-migrations APIs."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    * This parameter (``changes-before``) does not change any read-deleted"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3f79a3b5_60e28232","line":4,"range":{"start_line":4,"start_character":22,"end_line":4,"end_character":42},"updated":"2018-09-19 14:17:24.000000000","message":"This is a broken link.","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"731809194fcb19bd5d4d5ac31a4af55808fc1516","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 support for `microversion 2.66`_ which adds ``changes-before``"},{"line_number":5,"context_line":"    parameter to the servers, os-instance-actions or os-migrations APIs."},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    * This parameter (``changes-before``) does not change any read-deleted"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3f79a3b5_5e7ddb19","line":4,"range":{"start_line":4,"start_character":22,"end_line":4,"end_character":42},"in_reply_to":"3f79a3b5_60e28232","updated":"2018-09-20 00:56:41.000000000","message":"Add links to \"microversion 2.66\".","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3f24762132325c027418fd3f4828c7754ec01855","unresolved":false,"context_lines":[{"line_number":8,"context_line":"      behavior in the os-instance-actions or os-migrations APIs."},{"line_number":9,"context_line":"    * Like the ``changes-since`` filter, the ``changes-before`` filter will"},{"line_number":10,"context_line":"      also return deleted servers."},{"line_number":11,"context_line":"    * The ``--changes-before`` options is added to the to the ``nova list``,"},{"line_number":12,"context_line":"      ``nova instance-action-list`` and ``nova migration-list`` CLIs."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3f79a3b5_c0c0367f","line":11,"range":{"start_line":11,"start_character":55,"end_line":11,"end_character":61},"updated":"2018-09-19 14:17:24.000000000","message":"redundant","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"731809194fcb19bd5d4d5ac31a4af55808fc1516","unresolved":false,"context_lines":[{"line_number":8,"context_line":"      behavior in the os-instance-actions or os-migrations APIs."},{"line_number":9,"context_line":"    * Like the ``changes-since`` filter, the ``changes-before`` filter will"},{"line_number":10,"context_line":"      also return deleted servers."},{"line_number":11,"context_line":"    * The ``--changes-before`` options is added to the to the ``nova list``,"},{"line_number":12,"context_line":"      ``nova instance-action-list`` and ``nova migration-list`` CLIs."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3f79a3b5_7e78d729","line":11,"range":{"start_line":11,"start_character":55,"end_line":11,"end_character":61},"in_reply_to":"3f79a3b5_c0c0367f","updated":"2018-09-20 00:56:41.000000000","message":"Done","commit_id":"42f90053722a7e4cba22b6229d71a0460f562225"}]}
