)]}'
{"ironic/api/controllers/v1/node.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"3bd50f9c7cc1233dd8f07578fb4503124a07a80d","unresolved":false,"context_lines":[{"line_number":396,"context_line":"    maintenance \u003d types.boolean"},{"line_number":397,"context_line":"    \"Indicates whether the node is in maintenance mode.\""},{"line_number":398,"context_line":""},{"line_number":399,"context_line":"    maintenance_reason \u003d wsme.wsattr(wtypes.text)"},{"line_number":400,"context_line":"    \"Indicates reason for putting a node in maintenance mode.\""},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"    target_provision_state \u003d wsme.wsattr(wtypes.text, readonly\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":6,"id":"9aa7fdbe_b5032d0e","line":399,"updated":"2014-10-21 12:18:00.000000000","message":"shouldn\u0027t it be readonly\u003dTrue?","commit_id":"78dabbf3598d29b43d0a3a6a55b8f5f53b0df9f6"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"28a95fe7dd912a13a1ac5304b2a6f9af6ec053bc","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        return defaults + [\u0027/console_enabled\u0027, \u0027/last_error\u0027,"},{"line_number":50,"context_line":"                           \u0027/power_state\u0027, \u0027/provision_state\u0027, \u0027/reservation\u0027,"},{"line_number":51,"context_line":"                           \u0027/target_power_state\u0027, \u0027/target_provision_state\u0027,"},{"line_number":52,"context_line":"                           \u0027/provision_updated_at\u0027, \u0027/maintenance_reason\u0027]"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    @staticmethod"},{"line_number":55,"context_line":"    def mandatory_attrs():"}],"source_content_type":"text/x-python","patch_set":7,"id":"9aa7fdbe_04cbdf53","line":52,"updated":"2014-10-21 20:15:50.000000000","message":"\u0027/maintenance\u0027 isn\u0027t in this list? Should it be, or should maintenance_reason not be, or is this correct?","commit_id":"827db7fe7277897c65fc7766bf27c3b3feb31762"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"4cc29fd0ebe7e92ae0f46380047d78673971c2f5","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        return defaults + [\u0027/console_enabled\u0027, \u0027/last_error\u0027,"},{"line_number":50,"context_line":"                           \u0027/power_state\u0027, \u0027/provision_state\u0027, \u0027/reservation\u0027,"},{"line_number":51,"context_line":"                           \u0027/target_power_state\u0027, \u0027/target_provision_state\u0027,"},{"line_number":52,"context_line":"                           \u0027/provision_updated_at\u0027, \u0027/maintenance_reason\u0027]"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    @staticmethod"},{"line_number":55,"context_line":"    def mandatory_attrs():"}],"source_content_type":"text/x-python","patch_set":7,"id":"9aa7fdbe_1fcde65d","line":52,"in_reply_to":"9aa7fdbe_04cbdf53","updated":"2014-10-21 20:36:39.000000000","message":"Ok Shrews helped me out with this one too.\n\nThis is saying that maintenance_reason cannot be modified/updated via a patch. Although maintenance can (until we have a \"new-way\"). So things are a bit \u0027out of sync\u0027 but hopefully not for long...","commit_id":"827db7fe7277897c65fc7766bf27c3b3feb31762"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"07deb686a886d805200be98e46e36786e9e226db","unresolved":false,"context_lines":[{"line_number":462,"context_line":"    def _convert_with_links(cls, node, url, expand\u003dTrue):"},{"line_number":463,"context_line":"        if not expand:"},{"line_number":464,"context_line":"            except_list \u003d [\u0027instance_uuid\u0027, \u0027maintenance\u0027, \u0027power_state\u0027,"},{"line_number":465,"context_line":"                           \u0027provision_state\u0027, \u0027uuid\u0027]"},{"line_number":466,"context_line":"            node.unset_fields_except(except_list)"},{"line_number":467,"context_line":"        else:"},{"line_number":468,"context_line":"            node.ports \u003d [link.Link.make_link(\u0027self\u0027, url, \u0027nodes\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"9aa7fdbe_29943ce1","line":465,"updated":"2014-10-21 20:01:44.000000000","message":"If \u0027maintenance\u0027 is in this list, should we add \u0027maintenance_reason\u0027 too?","commit_id":"827db7fe7277897c65fc7766bf27c3b3feb31762"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"4cc29fd0ebe7e92ae0f46380047d78673971c2f5","unresolved":false,"context_lines":[{"line_number":462,"context_line":"    def _convert_with_links(cls, node, url, expand\u003dTrue):"},{"line_number":463,"context_line":"        if not expand:"},{"line_number":464,"context_line":"            except_list \u003d [\u0027instance_uuid\u0027, \u0027maintenance\u0027, \u0027power_state\u0027,"},{"line_number":465,"context_line":"                           \u0027provision_state\u0027, \u0027uuid\u0027]"},{"line_number":466,"context_line":"            node.unset_fields_except(except_list)"},{"line_number":467,"context_line":"        else:"},{"line_number":468,"context_line":"            node.ports \u003d [link.Link.make_link(\u0027self\u0027, url, \u0027nodes\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"9aa7fdbe_ff13c259","line":465,"in_reply_to":"9aa7fdbe_29943ce1","updated":"2014-10-21 20:36:39.000000000","message":"Shrews helped me. This means that instead of showing all the node info, we show the condensed, more \u0027important\u0027 stuff :-)\n\nSo yeah, we probably don\u0027t want maintenance_reason here.","commit_id":"827db7fe7277897c65fc7766bf27c3b3feb31762"}],"ironic/db/sqlalchemy/models.py":[{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"d7d7980f870fcc5dd5baf945d208e6a63bd62bd1","unresolved":false,"context_lines":[{"line_number":180,"context_line":"                         nullable\u003dTrue)"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"    maintenance \u003d Column(Boolean, default\u003dFalse)"},{"line_number":183,"context_line":"    maintenance_reason \u003d Column(String(255), nullable\u003dTrue)"},{"line_number":184,"context_line":"    console_enabled \u003d Column(Boolean, default\u003dFalse)"},{"line_number":185,"context_line":"    extra \u003d Column(JSONEncodedDict)"},{"line_number":186,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_9ca438a7","line":183,"updated":"2014-10-15 13:55:17.000000000","message":"Are you sure that String(255) is sufficiently? Maybe to use Text column here?","commit_id":"a59ad899b2c87151b715c02159917a1d0090a7da"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"a99a8b39682d48b768c66fd625069de6d4685cf5","unresolved":false,"context_lines":[{"line_number":180,"context_line":"                         nullable\u003dTrue)"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"    maintenance \u003d Column(Boolean, default\u003dFalse)"},{"line_number":183,"context_line":"    maintenance_reason \u003d Column(String(255), nullable\u003dTrue)"},{"line_number":184,"context_line":"    console_enabled \u003d Column(Boolean, default\u003dFalse)"},{"line_number":185,"context_line":"    extra \u003d Column(JSONEncodedDict)"},{"line_number":186,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_a800d634","line":183,"in_reply_to":"baa201ad_9ca438a7","updated":"2014-10-15 15:53:04.000000000","message":"Yeah, probably a good idea.","commit_id":"a59ad899b2c87151b715c02159917a1d0090a7da"}],"ironic/tests/db/sqlalchemy/test_migrations.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"c3d8b9d04242d7748f2f6be21399a4a21219bdee","unresolved":false,"context_lines":[{"line_number":326,"context_line":"        col_names \u003d [column.name for column in nodes.c]"},{"line_number":327,"context_line":"        self.assertIn(\u0027maintenance_reason\u0027, col_names)"},{"line_number":328,"context_line":"        self.assertIsInstance(nodes.c.maintenance_reason.type,"},{"line_number":329,"context_line":"                              sqlalchemy.types.String)"},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"    def test_upgrade_and_version(self):"},{"line_number":332,"context_line":"        with patch_with_engine(self.engine):"}],"source_content_type":"text/x-python","patch_set":7,"id":"9aa7fdbe_7ad44020","line":329,"updated":"2014-10-21 20:59:37.000000000","message":"I don\u0027t know sql, and this clearly works, but I am wondering why not .Text instead of String, since \u0027Text\u0027 is used elsewhere, but maybe those other Text\u0027s are the same as this String.","commit_id":"827db7fe7277897c65fc7766bf27c3b3feb31762"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"ba08ca45d9d4c80b7c75541a6d492e03154a0952","unresolved":false,"context_lines":[{"line_number":326,"context_line":"        col_names \u003d [column.name for column in nodes.c]"},{"line_number":327,"context_line":"        self.assertIn(\u0027maintenance_reason\u0027, col_names)"},{"line_number":328,"context_line":"        self.assertIsInstance(nodes.c.maintenance_reason.type,"},{"line_number":329,"context_line":"                              sqlalchemy.types.String)"},{"line_number":330,"context_line":""},{"line_number":331,"context_line":"    def test_upgrade_and_version(self):"},{"line_number":332,"context_line":"        with patch_with_engine(self.engine):"}],"source_content_type":"text/x-python","patch_set":7,"id":"9aa7fdbe_b96315dc","line":329,"in_reply_to":"9aa7fdbe_7ad44020","updated":"2014-10-21 21:55:05.000000000","message":"Shrews to the rescue again. He said that sqlalchemy.types.String is a base type for all string-based data types in a db (TEXT, VARCHAR, etc)","commit_id":"827db7fe7277897c65fc7766bf27c3b3feb31762"}],"ironic/tests/db/utils.py":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"a3fa9c093b45e81ee5d6c1bb5bfa5598ddb393bd","unresolved":false,"context_lines":[{"line_number":169,"context_line":"        \u0027properties\u0027: kw.get(\u0027properties\u0027, properties),"},{"line_number":170,"context_line":"        \u0027reservation\u0027: kw.get(\u0027reservation\u0027),"},{"line_number":171,"context_line":"        \u0027maintenance\u0027: kw.get(\u0027maintenance\u0027, False),"},{"line_number":172,"context_line":"        \u0027maintenance_reason\u0027: kw.get(\u0027maintenance_reason\u0027, None),"},{"line_number":173,"context_line":"        \u0027console_enabled\u0027: kw.get(\u0027console_enabled\u0027, False),"},{"line_number":174,"context_line":"        \u0027extra\u0027: kw.get(\u0027extra\u0027, {}),"},{"line_number":175,"context_line":"        \u0027updated_at\u0027: kw.get(\u0027created_at\u0027),"}],"source_content_type":"text/x-python","patch_set":1,"id":"baa201ad_fc5c641b","line":172,"updated":"2014-10-15 13:47:34.000000000","message":"nit None is redudant, by default get() already returns None","commit_id":"a59ad899b2c87151b715c02159917a1d0090a7da"}]}
