)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"cf609511cab6d52ec33337f8bfa79d9a5072969a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Haiwei Xu \u003cxu-haiwei@mxw.nes.nec.co.jp\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-06-18 13:43:04 +0900"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add API schema for v3 hosts API"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"By defining the API schema, it is possible to separate the validation"},{"line_number":10,"context_line":"code from the API method. The API method can be more simple."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"1ae5cdf2_0fd107cd","line":7,"updated":"2014-06-18 04:46:55.000000000","message":"Now we have decided v3 API is never exposed as v3 and v2.1 will use v3 implementation internally.\nSo it is better to add v2.1 in the commit message like\n\n Add API schema for v2.1/v3 hosts API","commit_id":"c438f49aa1c15f61571fe890e9877176d923c0f3"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"cf609511cab6d52ec33337f8bfa79d9a5072969a","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"By defining the API schema, it is possible to separate the validation"},{"line_number":10,"context_line":"code from the API method. The API method can be more simple."},{"line_number":11,"context_line":"In addition, a response of API validation error can be consistency for"},{"line_number":12,"context_line":"whole of Nova APIs."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Partially implements blueprint v3-api-schema"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"1ae5cdf2_8fe437ad","line":11,"updated":"2014-06-18 04:46:55.000000000","message":"s/consistency/consistent/","commit_id":"c438f49aa1c15f61571fe890e9877176d923c0f3"}],"nova/api/openstack/compute/plugins/v3/hosts.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"036b2c6ee0f727c2a8eeda93bed571b3cef67aee","unresolved":false,"context_lines":[{"line_number":122,"context_line":"                                     \u0027maintenance_mode\u0027: \u0027enable\u0027}}"},{"line_number":123,"context_line":"        :returns:"},{"line_number":124,"context_line":"        \"\"\""},{"line_number":125,"context_line":"        def read_enabled(orig_val, msg):"},{"line_number":126,"context_line":"            \"\"\""},{"line_number":127,"context_line":"            :param orig_val: A string with either \u0027enable\u0027 or \u0027disable\u0027. May"},{"line_number":128,"context_line":"                             be surrounded by whitespace, and case doesn\u0027t"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2FUf0%3D","line":125,"updated":"2014-01-15 03:23:53.000000000","message":"The argument msg should be removed because of not used.","commit_id":"91def07ef0c57ce4973d3d7b880aba674648f385"},{"author":{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},"change_message_id":"e818f9632b9715fe200ca18384c456356725f003","unresolved":false,"context_lines":[{"line_number":122,"context_line":"                                     \u0027maintenance_mode\u0027: \u0027enable\u0027}}"},{"line_number":123,"context_line":"        :returns:"},{"line_number":124,"context_line":"        \"\"\""},{"line_number":125,"context_line":"        def read_enabled(orig_val, msg):"},{"line_number":126,"context_line":"            \"\"\""},{"line_number":127,"context_line":"            :param orig_val: A string with either \u0027enable\u0027 or \u0027disable\u0027. May"},{"line_number":128,"context_line":"                             be surrounded by whitespace, and case doesn\u0027t"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2FUA0%3D","line":125,"in_reply_to":"AAAAUH%2F%2FUf0%3D","updated":"2014-01-15 06:19:19.000000000","message":"Done.","commit_id":"91def07ef0c57ce4973d3d7b880aba674648f385"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"036b2c6ee0f727c2a8eeda93bed571b3cef67aee","unresolved":false,"context_lines":[{"line_number":134,"context_line":"            val \u003d orig_val.strip().lower()"},{"line_number":135,"context_line":"            if val \u003d\u003d \"enable\":"},{"line_number":136,"context_line":"                return True"},{"line_number":137,"context_line":"            elif val \u003d\u003d \"disable\":"},{"line_number":138,"context_line":"                return False"},{"line_number":139,"context_line":"        context \u003d req.environ[\u0027nova.context\u0027]"},{"line_number":140,"context_line":"        authorize(context)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2FUf4%3D","line":137,"updated":"2014-01-15 03:23:53.000000000","message":"else:\n\nis better because the schema can deny the other value and it would make the code more readable.","commit_id":"91def07ef0c57ce4973d3d7b880aba674648f385"},{"author":{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},"change_message_id":"e818f9632b9715fe200ca18384c456356725f003","unresolved":false,"context_lines":[{"line_number":134,"context_line":"            val \u003d orig_val.strip().lower()"},{"line_number":135,"context_line":"            if val \u003d\u003d \"enable\":"},{"line_number":136,"context_line":"                return True"},{"line_number":137,"context_line":"            elif val \u003d\u003d \"disable\":"},{"line_number":138,"context_line":"                return False"},{"line_number":139,"context_line":"        context \u003d req.environ[\u0027nova.context\u0027]"},{"line_number":140,"context_line":"        authorize(context)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2FUAw%3D","line":137,"in_reply_to":"AAAAUH%2F%2FUf4%3D","updated":"2014-01-15 06:19:19.000000000","message":"Done.","commit_id":"91def07ef0c57ce4973d3d7b880aba674648f385"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"97c583faacdca02a81b370ed8f331630d40506c3","unresolved":false,"context_lines":[{"line_number":128,"context_line":"                             be surrounded by whitespace, and case doesn\u0027t"},{"line_number":129,"context_line":"                             matter"},{"line_number":130,"context_line":"            :param msg: The message to be passed to HTTPBadRequest. A single"},{"line_number":131,"context_line":"                        %s will be replaced with orig_val."},{"line_number":132,"context_line":"            :returns:   True for \u0027enabled\u0027 and False for \u0027disabled\u0027"},{"line_number":133,"context_line":"            \"\"\""},{"line_number":134,"context_line":"            val \u003d orig_val.strip().lower()"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2FTwU%3D","line":131,"updated":"2014-01-15 07:46:50.000000000","message":"This doc of msg also seems unnecessary.","commit_id":"ff8f1ddf76d175b36fdd53e53507a4ebd395b795"},{"author":{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},"change_message_id":"634f581d499c3a52cb04e7bcd2fae1da573db91c","unresolved":false,"context_lines":[{"line_number":128,"context_line":"                             be surrounded by whitespace, and case doesn\u0027t"},{"line_number":129,"context_line":"                             matter"},{"line_number":130,"context_line":"            :param msg: The message to be passed to HTTPBadRequest. A single"},{"line_number":131,"context_line":"                        %s will be replaced with orig_val."},{"line_number":132,"context_line":"            :returns:   True for \u0027enabled\u0027 and False for \u0027disabled\u0027"},{"line_number":133,"context_line":"            \"\"\""},{"line_number":134,"context_line":"            val \u003d orig_val.strip().lower()"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2FTso%3D","line":131,"in_reply_to":"AAAAUH%2F%2FTwU%3D","updated":"2014-01-15 08:06:55.000000000","message":"Done.","commit_id":"ff8f1ddf76d175b36fdd53e53507a4ebd395b795"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"97c583faacdca02a81b370ed8f331630d40506c3","unresolved":false,"context_lines":[{"line_number":141,"context_line":"        orig_status \u003d status \u003d params.pop(\u0027status\u0027, None)"},{"line_number":142,"context_line":"        orig_maint_mode \u003d maint_mode \u003d params.pop(\u0027maintenance_mode\u0027, None)"},{"line_number":143,"context_line":"        if orig_status is not None:"},{"line_number":144,"context_line":"            status \u003d read_enabled(orig_status, _(\"Invalid status: \u0027%s\u0027\"))"},{"line_number":145,"context_line":"        if orig_maint_mode is not None:"},{"line_number":146,"context_line":"            maint_mode \u003d read_enabled(orig_maint_mode, _(\"Invalid mode: \u0027%s\u0027\"))"},{"line_number":147,"context_line":"        # Make the calls and merge the results"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2FTwA%3D","line":144,"updated":"2014-01-15 07:46:50.000000000","message":"The second argument should be removed.","commit_id":"ff8f1ddf76d175b36fdd53e53507a4ebd395b795"},{"author":{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},"change_message_id":"634f581d499c3a52cb04e7bcd2fae1da573db91c","unresolved":false,"context_lines":[{"line_number":141,"context_line":"        orig_status \u003d status \u003d params.pop(\u0027status\u0027, None)"},{"line_number":142,"context_line":"        orig_maint_mode \u003d maint_mode \u003d params.pop(\u0027maintenance_mode\u0027, None)"},{"line_number":143,"context_line":"        if orig_status is not None:"},{"line_number":144,"context_line":"            status \u003d read_enabled(orig_status, _(\"Invalid status: \u0027%s\u0027\"))"},{"line_number":145,"context_line":"        if orig_maint_mode is not None:"},{"line_number":146,"context_line":"            maint_mode \u003d read_enabled(orig_maint_mode, _(\"Invalid mode: \u0027%s\u0027\"))"},{"line_number":147,"context_line":"        # Make the calls and merge the results"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2FTs8%3D","line":144,"in_reply_to":"AAAAUH%2F%2FTwA%3D","updated":"2014-01-15 08:06:55.000000000","message":"Done","commit_id":"ff8f1ddf76d175b36fdd53e53507a4ebd395b795"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"97c583faacdca02a81b370ed8f331630d40506c3","unresolved":false,"context_lines":[{"line_number":142,"context_line":"        orig_maint_mode \u003d maint_mode \u003d params.pop(\u0027maintenance_mode\u0027, None)"},{"line_number":143,"context_line":"        if orig_status is not None:"},{"line_number":144,"context_line":"            status \u003d read_enabled(orig_status, _(\"Invalid status: \u0027%s\u0027\"))"},{"line_number":145,"context_line":"        if orig_maint_mode is not None:"},{"line_number":146,"context_line":"            maint_mode \u003d read_enabled(orig_maint_mode, _(\"Invalid mode: \u0027%s\u0027\"))"},{"line_number":147,"context_line":"        # Make the calls and merge the results"},{"line_number":148,"context_line":"        result \u003d {\u0027host\u0027: id}"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2FTv4%3D","line":145,"updated":"2014-01-15 07:46:50.000000000","message":"ditto","commit_id":"ff8f1ddf76d175b36fdd53e53507a4ebd395b795"},{"author":{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},"change_message_id":"634f581d499c3a52cb04e7bcd2fae1da573db91c","unresolved":false,"context_lines":[{"line_number":142,"context_line":"        orig_maint_mode \u003d maint_mode \u003d params.pop(\u0027maintenance_mode\u0027, None)"},{"line_number":143,"context_line":"        if orig_status is not None:"},{"line_number":144,"context_line":"            status \u003d read_enabled(orig_status, _(\"Invalid status: \u0027%s\u0027\"))"},{"line_number":145,"context_line":"        if orig_maint_mode is not None:"},{"line_number":146,"context_line":"            maint_mode \u003d read_enabled(orig_maint_mode, _(\"Invalid mode: \u0027%s\u0027\"))"},{"line_number":147,"context_line":"        # Make the calls and merge the results"},{"line_number":148,"context_line":"        result \u003d {\u0027host\u0027: id}"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2FTs0%3D","line":145,"in_reply_to":"AAAAUH%2F%2FTv4%3D","updated":"2014-01-15 08:06:55.000000000","message":"Done.","commit_id":"ff8f1ddf76d175b36fdd53e53507a4ebd395b795"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"f7cd408fdab617276889b0c56c00c563c8a62411","unresolved":false,"context_lines":[{"line_number":135,"context_line":"        authorize(context)"},{"line_number":136,"context_line":"        # See what the user wants to \u0027update\u0027"},{"line_number":137,"context_line":"        params \u003d dict([(k.strip().lower(), v)"},{"line_number":138,"context_line":"                       for k, v in body[\u0027host\u0027].iteritems()])"},{"line_number":139,"context_line":"        orig_status \u003d status \u003d params.pop(\u0027status\u0027, None)"},{"line_number":140,"context_line":"        orig_maint_mode \u003d maint_mode \u003d params.pop(\u0027maintenance_mode\u0027, None)"},{"line_number":141,"context_line":"        if orig_status is not None:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2FPOo%3D","line":138,"updated":"2014-01-16 02:14:46.000000000","message":"This code seems unnecessary, because we can get parameters by just body[\u0027host\u0027][\u0027status\u0027] and validate extra parameters already.","commit_id":"941bdb1e7382b94b98615fe043f1e24ccf4991c3"},{"author":{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},"change_message_id":"2d164635a63a1804640247797570125943ae818b","unresolved":false,"context_lines":[{"line_number":135,"context_line":"        authorize(context)"},{"line_number":136,"context_line":"        # See what the user wants to \u0027update\u0027"},{"line_number":137,"context_line":"        params \u003d dict([(k.strip().lower(), v)"},{"line_number":138,"context_line":"                       for k, v in body[\u0027host\u0027].iteritems()])"},{"line_number":139,"context_line":"        orig_status \u003d status \u003d params.pop(\u0027status\u0027, None)"},{"line_number":140,"context_line":"        orig_maint_mode \u003d maint_mode \u003d params.pop(\u0027maintenance_mode\u0027, None)"},{"line_number":141,"context_line":"        if orig_status is not None:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2FJgY%3D","line":138,"in_reply_to":"AAAAUH%2F%2FPOo%3D","updated":"2014-01-17 00:12:26.000000000","message":"Done.","commit_id":"941bdb1e7382b94b98615fe043f1e24ccf4991c3"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"f7cd408fdab617276889b0c56c00c563c8a62411","unresolved":false,"context_lines":[{"line_number":136,"context_line":"        # See what the user wants to \u0027update\u0027"},{"line_number":137,"context_line":"        params \u003d dict([(k.strip().lower(), v)"},{"line_number":138,"context_line":"                       for k, v in body[\u0027host\u0027].iteritems()])"},{"line_number":139,"context_line":"        orig_status \u003d status \u003d params.pop(\u0027status\u0027, None)"},{"line_number":140,"context_line":"        orig_maint_mode \u003d maint_mode \u003d params.pop(\u0027maintenance_mode\u0027, None)"},{"line_number":141,"context_line":"        if orig_status is not None:"},{"line_number":142,"context_line":"            status \u003d read_enabled(orig_status)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2FPOE%3D","line":139,"updated":"2014-01-16 02:14:46.000000000","message":"need to change here as the above comment, and orig_status or status should be removed because the only one is used in the following code.\n\nI prefer to remove orig_status because orig_ is not necessary by removing the following validation code.","commit_id":"941bdb1e7382b94b98615fe043f1e24ccf4991c3"},{"author":{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},"change_message_id":"2d164635a63a1804640247797570125943ae818b","unresolved":false,"context_lines":[{"line_number":136,"context_line":"        # See what the user wants to \u0027update\u0027"},{"line_number":137,"context_line":"        params \u003d dict([(k.strip().lower(), v)"},{"line_number":138,"context_line":"                       for k, v in body[\u0027host\u0027].iteritems()])"},{"line_number":139,"context_line":"        orig_status \u003d status \u003d params.pop(\u0027status\u0027, None)"},{"line_number":140,"context_line":"        orig_maint_mode \u003d maint_mode \u003d params.pop(\u0027maintenance_mode\u0027, None)"},{"line_number":141,"context_line":"        if orig_status is not None:"},{"line_number":142,"context_line":"            status \u003d read_enabled(orig_status)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2FJgU%3D","line":139,"in_reply_to":"AAAAUH%2F%2FPOE%3D","updated":"2014-01-17 00:12:26.000000000","message":"Done.","commit_id":"941bdb1e7382b94b98615fe043f1e24ccf4991c3"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"f7cd408fdab617276889b0c56c00c563c8a62411","unresolved":false,"context_lines":[{"line_number":137,"context_line":"        params \u003d dict([(k.strip().lower(), v)"},{"line_number":138,"context_line":"                       for k, v in body[\u0027host\u0027].iteritems()])"},{"line_number":139,"context_line":"        orig_status \u003d status \u003d params.pop(\u0027status\u0027, None)"},{"line_number":140,"context_line":"        orig_maint_mode \u003d maint_mode \u003d params.pop(\u0027maintenance_mode\u0027, None)"},{"line_number":141,"context_line":"        if orig_status is not None:"},{"line_number":142,"context_line":"            status \u003d read_enabled(orig_status)"},{"line_number":143,"context_line":"        if orig_maint_mode is not None:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2FPOA%3D","line":140,"updated":"2014-01-16 02:14:46.000000000","message":"ditto","commit_id":"941bdb1e7382b94b98615fe043f1e24ccf4991c3"},{"author":{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},"change_message_id":"2d164635a63a1804640247797570125943ae818b","unresolved":false,"context_lines":[{"line_number":137,"context_line":"        params \u003d dict([(k.strip().lower(), v)"},{"line_number":138,"context_line":"                       for k, v in body[\u0027host\u0027].iteritems()])"},{"line_number":139,"context_line":"        orig_status \u003d status \u003d params.pop(\u0027status\u0027, None)"},{"line_number":140,"context_line":"        orig_maint_mode \u003d maint_mode \u003d params.pop(\u0027maintenance_mode\u0027, None)"},{"line_number":141,"context_line":"        if orig_status is not None:"},{"line_number":142,"context_line":"            status \u003d read_enabled(orig_status)"},{"line_number":143,"context_line":"        if orig_maint_mode is not None:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2FJgM%3D","line":140,"in_reply_to":"AAAAUH%2F%2FPOA%3D","updated":"2014-01-17 00:12:26.000000000","message":"Done.","commit_id":"941bdb1e7382b94b98615fe043f1e24ccf4991c3"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"fb23500b0b706b33150a4af9429d193a4695e7f2","unresolved":false,"context_lines":[{"line_number":100,"context_line":"                                     \u0027maintenance_mode\u0027: \u0027enable\u0027}}"},{"line_number":101,"context_line":"           :returns:"},{"line_number":102,"context_line":"        \"\"\""},{"line_number":103,"context_line":"        def read_enabled(orig_val, msg):"},{"line_number":104,"context_line":"            \"\"\":param orig_val: A string with either \u0027enable\u0027 or \u0027disable\u0027. May"},{"line_number":105,"context_line":"                                be surrounded by whitespace, and case doesn\u0027t"},{"line_number":106,"context_line":"                                matter"}],"source_content_type":"text/x-python","patch_set":10,"id":"1ae5cdf2_82277362","line":103,"updated":"2014-06-19 09:44:21.000000000","message":"I think we can remove the above argument msg because the orig_val is already validated.","commit_id":"4217369895ffa837687ded20fb7c608e673e7b20"},{"author":{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},"change_message_id":"d971844533ce599f25bd4d1b2a10065167ce552e","unresolved":false,"context_lines":[{"line_number":100,"context_line":"                                     \u0027maintenance_mode\u0027: \u0027enable\u0027}}"},{"line_number":101,"context_line":"           :returns:"},{"line_number":102,"context_line":"        \"\"\""},{"line_number":103,"context_line":"        def read_enabled(orig_val, msg):"},{"line_number":104,"context_line":"            \"\"\":param orig_val: A string with either \u0027enable\u0027 or \u0027disable\u0027. May"},{"line_number":105,"context_line":"                                be surrounded by whitespace, and case doesn\u0027t"},{"line_number":106,"context_line":"                                matter"}],"source_content_type":"text/x-python","patch_set":10,"id":"1ae5cdf2_b1462d1f","line":103,"in_reply_to":"1ae5cdf2_82277362","updated":"2014-06-23 01:21:39.000000000","message":"Done, if we don\u0027t remove \u0027msg\u0027, it will cause a 500 error by status \u003d read_enabled(status)\n\nThank you.","commit_id":"4217369895ffa837687ded20fb7c608e673e7b20"}],"nova/api/openstack/compute/schemas/v3/hosts.py":[{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"036b2c6ee0f727c2a8eeda93bed571b3cef67aee","unresolved":false,"context_lines":[{"line_number":20,"context_line":"            \u0027properties\u0027: {"},{"line_number":21,"context_line":"                 \u0027status\u0027: {"},{"line_number":22,"context_line":"                     \u0027type\u0027: \u0027string\u0027,"},{"line_number":23,"context_line":"                     \u0027enum\u0027: [\u0027enable\u0027, \u0027disable\u0027],"},{"line_number":24,"context_line":"                 },"},{"line_number":25,"context_line":"                 \u0027maintenance_mode\u0027: {"},{"line_number":26,"context_line":"                     \u0027type\u0027: \u0027string\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2FUgI%3D","line":23,"updated":"2014-01-15 03:23:53.000000000","message":"\u0027Enable\u0027, \u0027ENABLE\u0027, \u0027Disable\u0027, \u0027DISABLE\u0027 seem also necessary, because this parameter is converted to lower string with lower().","commit_id":"91def07ef0c57ce4973d3d7b880aba674648f385"},{"author":{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},"change_message_id":"e818f9632b9715fe200ca18384c456356725f003","unresolved":false,"context_lines":[{"line_number":20,"context_line":"            \u0027properties\u0027: {"},{"line_number":21,"context_line":"                 \u0027status\u0027: {"},{"line_number":22,"context_line":"                     \u0027type\u0027: \u0027string\u0027,"},{"line_number":23,"context_line":"                     \u0027enum\u0027: [\u0027enable\u0027, \u0027disable\u0027],"},{"line_number":24,"context_line":"                 },"},{"line_number":25,"context_line":"                 \u0027maintenance_mode\u0027: {"},{"line_number":26,"context_line":"                     \u0027type\u0027: \u0027string\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2FUAk%3D","line":23,"in_reply_to":"AAAAUH%2F%2FUgI%3D","updated":"2014-01-15 06:19:19.000000000","message":"Done.","commit_id":"91def07ef0c57ce4973d3d7b880aba674648f385"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"036b2c6ee0f727c2a8eeda93bed571b3cef67aee","unresolved":false,"context_lines":[{"line_number":24,"context_line":"                 },"},{"line_number":25,"context_line":"                 \u0027maintenance_mode\u0027: {"},{"line_number":26,"context_line":"                     \u0027type\u0027: \u0027string\u0027,"},{"line_number":27,"context_line":"                     \u0027enum\u0027: [\u0027enable\u0027, \u0027disable\u0027],"},{"line_number":28,"context_line":"                 },"},{"line_number":29,"context_line":"            },"},{"line_number":30,"context_line":"            \u0027anyOf\u0027: ["}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2FUgE%3D","line":27,"updated":"2014-01-15 03:23:53.000000000","message":"ditto","commit_id":"91def07ef0c57ce4973d3d7b880aba674648f385"},{"author":{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},"change_message_id":"e818f9632b9715fe200ca18384c456356725f003","unresolved":false,"context_lines":[{"line_number":24,"context_line":"                 },"},{"line_number":25,"context_line":"                 \u0027maintenance_mode\u0027: {"},{"line_number":26,"context_line":"                     \u0027type\u0027: \u0027string\u0027,"},{"line_number":27,"context_line":"                     \u0027enum\u0027: [\u0027enable\u0027, \u0027disable\u0027],"},{"line_number":28,"context_line":"                 },"},{"line_number":29,"context_line":"            },"},{"line_number":30,"context_line":"            \u0027anyOf\u0027: ["}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2FUAY%3D","line":27,"in_reply_to":"AAAAUH%2F%2FUgE%3D","updated":"2014-01-15 06:19:19.000000000","message":"Done. Thank you for reviewing.","commit_id":"91def07ef0c57ce4973d3d7b880aba674648f385"}],"nova/tests/api/openstack/compute/plugins/v3/test_hosts.py":[{"author":{"_account_id":9046,"name":"Maithem","email":"munshedm@vmware.com","username":"Maithem"},"change_message_id":"b3056e9fa1eea22e6030b2c60c010842316c114d","unresolved":false,"context_lines":[{"line_number":333,"context_line":"    def test_update_with_status_key_only(self):"},{"line_number":334,"context_line":"        body \u003d {\"host\": {\"status\": \"enable\"}}"},{"line_number":335,"context_line":"        result \u003d self.controller.update(self.req, \u0027host_c1\u0027, body\u003dbody)"},{"line_number":336,"context_line":"        self.assertEqual(result[\"host\"][\"status\"], \"enabled\")"},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"    def test_update_with_maintenance_mode_key_only(self):"},{"line_number":339,"context_line":"        body \u003d {\"host\": {\"maintenance_mode\": \"enable\"}}"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FJS0%3D","line":336,"updated":"2014-01-17 01:11:36.000000000","message":"Order of arguments should be (expected observed)\n\nhttps://bugs.launchpad.net/nova/+bug/1260134","commit_id":"f59e1a32fa708a9bd672c42f357b268daea57b6d"},{"author":{"_account_id":6348,"name":"xu-haiwei","email":"hai-xu@xr.jp.nec.com","username":"xu-haiwei"},"change_message_id":"d5df74c6d04e213d564a13fd93ae827a76ff09a5","unresolved":false,"context_lines":[{"line_number":333,"context_line":"    def test_update_with_status_key_only(self):"},{"line_number":334,"context_line":"        body \u003d {\"host\": {\"status\": \"enable\"}}"},{"line_number":335,"context_line":"        result \u003d self.controller.update(self.req, \u0027host_c1\u0027, body\u003dbody)"},{"line_number":336,"context_line":"        self.assertEqual(result[\"host\"][\"status\"], \"enabled\")"},{"line_number":337,"context_line":""},{"line_number":338,"context_line":"    def test_update_with_maintenance_mode_key_only(self):"},{"line_number":339,"context_line":"        body \u003d {\"host\": {\"maintenance_mode\": \"enable\"}}"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FJQ0%3D","line":336,"in_reply_to":"AAAAUH%2F%2FJS0%3D","updated":"2014-01-17 01:19:29.000000000","message":"Done.","commit_id":"f59e1a32fa708a9bd672c42f357b268daea57b6d"}]}
