)]}'
{"ironic/api/controllers/v1/node.py":[{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"6a91880ae6b390432cac927c537ba0b7a941028c","unresolved":false,"context_lines":[{"line_number":239,"context_line":"    reservation \u003d wsme.wsattr(wtypes.text, readonly\u003dTrue)"},{"line_number":240,"context_line":"    \"The hostname of the conductor that holds an exclusive lock on the node.\""},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"    maintenance \u003d wsme.wsattr(bool, default\u003dFalse, readonly\u003dTrue)"},{"line_number":243,"context_line":"    \"Indicates whether the node is in maintenance mode.\""},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"    target_provision_state \u003d wsme.wsattr(wtypes.text, readonly\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAU3%2F%2Fmug%3D","line":242,"updated":"2014-02-25 17:58:09.000000000","message":"I do not think maintenance mode should be readonly.","commit_id":"c7d94bfdcbaacf125f910a9ddc447656c2ece1db"},{"author":{"_account_id":5805,"name":"Chris Krelle","email":"nobodycam@gmail.com","username":"nobodycam"},"change_message_id":"171c951d9d0b646c9b7bdd55e57b8de75e616048","unresolved":false,"context_lines":[{"line_number":239,"context_line":"    reservation \u003d wsme.wsattr(wtypes.text, readonly\u003dTrue)"},{"line_number":240,"context_line":"    \"The hostname of the conductor that holds an exclusive lock on the node.\""},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"    maintenance \u003d wsme.wsattr(bool, default\u003dFalse)"},{"line_number":243,"context_line":"    \"Indicates whether the node is in maintenance mode.\""},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"    target_provision_state \u003d wsme.wsattr(wtypes.text, readonly\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAVX%2F%2F4B4%3D","line":242,"updated":"2014-02-27 16:46:23.000000000","message":"this will conflict with 76094","commit_id":"27acedbe4f26b17c13a0d1ec8afae6a79672a8de"}],"ironic/tests/api/utils.py":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"63de139a1091a525619df2007691d597785326c7","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    node \u003d utils.get_test_node(**kw)"},{"line_number":72,"context_line":"    # NOTE(yuriyz): internal attributes should not be posted"},{"line_number":73,"context_line":"    internal \u003d (\u0027last_error\u0027, \u0027maintenance\u0027, \u0027power_state\u0027, \u0027provision_state\u0027,"},{"line_number":74,"context_line":"                \u0027reservation\u0027, \u0027target_power_state\u0027, \u0027target_provision_state\u0027)"},{"line_number":75,"context_line":"    node_post \u003d dict([(k, v) for (k, v) in node.iteritems()"},{"line_number":76,"context_line":"                     if k not in internal])"},{"line_number":77,"context_line":"    return node_post"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUX%2F%2FX64%3D","line":74,"updated":"2014-02-13 16:40:03.000000000","message":"Hmm, it\u0027s missing some fields: created_at, updated_at, id, links, etc.. And it will be hard to keep track of this list here as-is, what about getting it from the NodePatchType class?\n\nIn [1]: from ironic.api.controllers.v1 import node\n\nIn [2]: node.NodePatchType.internal_attrs()\nOut[2]: \n[\u0027/created_at\u0027,\n \u0027/id\u0027,\n \u0027/links\u0027,\n \u0027/updated_at\u0027,\n \u0027/uuid\u0027,\n \u0027/last_error\u0027,\n \u0027/maintenance\u0027,\n \u0027/power_state\u0027,\n \u0027/provision_state\u0027,\n \u0027/reservation\u0027,\n \u0027/target_power_state\u0027,\n \u0027/target_provision_state\u0027]","commit_id":"7a2d9140349e6965ce004335cfbc230d45934dbd"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"aeaefb59e951a7644a079995afc29b74cb7436f4","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    node \u003d utils.get_test_node(**kw)"},{"line_number":72,"context_line":"    # NOTE(yuriyz): internal attributes should not be posted"},{"line_number":73,"context_line":"    internal \u003d (\u0027last_error\u0027, \u0027maintenance\u0027, \u0027power_state\u0027, \u0027provision_state\u0027,"},{"line_number":74,"context_line":"                \u0027reservation\u0027, \u0027target_power_state\u0027, \u0027target_provision_state\u0027)"},{"line_number":75,"context_line":"    node_post \u003d dict([(k, v) for (k, v) in node.iteritems()"},{"line_number":76,"context_line":"                     if k not in internal])"},{"line_number":77,"context_line":"    return node_post"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUX%2F%2FRHg%3D","line":74,"in_reply_to":"AAAAUX%2F%2FX64%3D","updated":"2014-02-14 11:43:10.000000000","message":"Done","commit_id":"7a2d9140349e6965ce004335cfbc230d45934dbd"}]}
