)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"3494148efe01d399e85fd00f33e6e3141747e5af","unresolved":false,"context_lines":[{"line_number":12,"context_line":"also bumped."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I11b6ea44a01d2a830b592784ccc63a1de9bf2ec1"},{"line_number":15,"context_line":"Depends-On: Ib25bd5a3a600c13f7b265d86ad253af3dfa5552f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7a8ec9b2_10f18695","line":15,"updated":"2016-09-15 23:02:58.000000000","message":"If you have to push another patch, you can remove that as it\u0027s unneeded now.","commit_id":"77c7a710fc0eb1f419db650e3aa958c31b3bd74f"}],"doc/source/dev/notifications.rst":[{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"3494148efe01d399e85fd00f33e6e3141747e5af","unresolved":false,"context_lines":[{"line_number":163,"context_line":"fails, regardless of whether it\u0027s immediate or not. As a result of specifying"},{"line_number":164,"context_line":"these parameters, event_type will be formatted as"},{"line_number":165,"context_line":"``baremetal.\u003cobject\u003e.\u003caction\u003e.\u003cstatus\u003e`` on the message bus."},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"This example will send the following notification over the message bus::"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"   {"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a8ec9b2_d041deaa","line":166,"updated":"2016-09-15 23:02:58.000000000","message":"If you update again, you may want to provide examples of valid statuses, such as those talked about in the spec (success/error)","commit_id":"77c7a710fc0eb1f419db650e3aa958c31b3bd74f"}],"ironic/common/exception.py":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"96c22e1b49830b198a2acf2ee793433a78f91d6d","unresolved":false,"context_lines":[{"line_number":613,"context_line":""},{"line_number":614,"context_line":"class NotificationEventTypeError(IronicException):"},{"line_number":615,"context_line":"    _msg_fmt \u003d _(\"Expected \\\"status\\\" to be one of \\\"start\\\", \\\"end\\\", \""},{"line_number":616,"context_line":"                 \"\\\"fail\\\", or \\\"success\\\", but got \\\"%(status)s\\\"\")"},{"line_number":617,"context_line":""},{"line_number":618,"context_line":""},{"line_number":619,"context_line":"class NotificationSchemaObjectError(IronicException):"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa7ab95a_b4d0bc54","line":616,"updated":"2016-09-02 08:53:12.000000000","message":"nit: instead of using escapes (\\\") just create the string with single quotes (\u0027), e.g\n\n\u0027Expected \"status\" to be ...\u0027 \n\n^ looks much better, IMO","commit_id":"8e73b7629e91aef5dbe30434b7da375433d7c7ee"},{"author":{"_account_id":13295,"name":"Mario Villaplana","email":"mario.villaplana@gmail.com","username":"mariojv"},"change_message_id":"b72f03bcde558f210474b986f1765a46957ed3d8","unresolved":false,"context_lines":[{"line_number":613,"context_line":""},{"line_number":614,"context_line":"class NotificationEventTypeError(IronicException):"},{"line_number":615,"context_line":"    _msg_fmt \u003d _(\"Expected \\\"status\\\" to be one of \\\"start\\\", \\\"end\\\", \""},{"line_number":616,"context_line":"                 \"\\\"fail\\\", or \\\"success\\\", but got \\\"%(status)s\\\"\")"},{"line_number":617,"context_line":""},{"line_number":618,"context_line":""},{"line_number":619,"context_line":"class NotificationSchemaObjectError(IronicException):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_5555ccf7","line":616,"in_reply_to":"fa7ab95a_170eca8b","updated":"2016-09-06 22:52:42.000000000","message":"Done","commit_id":"8e73b7629e91aef5dbe30434b7da375433d7c7ee"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"b6c50e753e28789dc3a4e3e2026609e8b64325cb","unresolved":false,"context_lines":[{"line_number":613,"context_line":""},{"line_number":614,"context_line":"class NotificationEventTypeError(IronicException):"},{"line_number":615,"context_line":"    _msg_fmt \u003d _(\"Expected \\\"status\\\" to be one of \\\"start\\\", \\\"end\\\", \""},{"line_number":616,"context_line":"                 \"\\\"fail\\\", or \\\"success\\\", but got \\\"%(status)s\\\"\")"},{"line_number":617,"context_line":""},{"line_number":618,"context_line":""},{"line_number":619,"context_line":"class NotificationSchemaObjectError(IronicException):"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa7ab95a_170eca8b","line":616,"in_reply_to":"fa7ab95a_b4d0bc54","updated":"2016-09-02 09:13:11.000000000","message":"+1","commit_id":"8e73b7629e91aef5dbe30434b7da375433d7c7ee"}],"ironic/objects/notification.py":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"96c22e1b49830b198a2acf2ee793433a78f91d6d","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    the action being taken on the notification, and the status of the action."},{"line_number":39,"context_line":"    \"\"\""},{"line_number":40,"context_line":"    # Version 1.0: Initial version"},{"line_number":41,"context_line":"    VERSION \u003d \u00271.0\u0027"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    fields \u003d {"},{"line_number":44,"context_line":"        \u0027object\u0027: fields.StringField(nullable\u003dFalse),"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa7ab95a_344cac41","line":41,"updated":"2016-09-02 08:53:12.000000000","message":"Wouldn\u0027t updating a field require a version bump ?\n\nIt feels to me that that\u0027s the reason we have versioning in the first place.","commit_id":"8e73b7629e91aef5dbe30434b7da375433d7c7ee"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"b6c50e753e28789dc3a4e3e2026609e8b64325cb","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    the action being taken on the notification, and the status of the action."},{"line_number":39,"context_line":"    \"\"\""},{"line_number":40,"context_line":"    # Version 1.0: Initial version"},{"line_number":41,"context_line":"    VERSION \u003d \u00271.0\u0027"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    fields \u003d {"},{"line_number":44,"context_line":"        \u0027object\u0027: fields.StringField(nullable\u003dFalse),"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa7ab95a_7700f6ab","line":41,"in_reply_to":"fa7ab95a_344cac41","updated":"2016-09-02 09:13:11.000000000","message":"This change is breaking change for those who already uses \u0027phase\u0027 in fields. Since the code and documentation were merged: https://review.openstack.org/#/c/298461\nBut the code was merged 8 days ago, not sure if anyone actively uses it. So it seems to be ok to do this change without version bump.","commit_id":"8e73b7629e91aef5dbe30434b7da375433d7c7ee"},{"author":{"_account_id":13295,"name":"Mario Villaplana","email":"mario.villaplana@gmail.com","username":"mariojv"},"change_message_id":"b72f03bcde558f210474b986f1765a46957ed3d8","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    the action being taken on the notification, and the status of the action."},{"line_number":39,"context_line":"    \"\"\""},{"line_number":40,"context_line":"    # Version 1.0: Initial version"},{"line_number":41,"context_line":"    VERSION \u003d \u00271.0\u0027"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    fields \u003d {"},{"line_number":44,"context_line":"        \u0027object\u0027: fields.StringField(nullable\u003dFalse),"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_1576e4a3","line":41,"in_reply_to":"fa7ab95a_7700f6ab","updated":"2016-09-06 22:52:42.000000000","message":"I think we should change it. If anyone has a notification based on these classes downstream (doubtful but possible), it could break them.","commit_id":"8e73b7629e91aef5dbe30434b7da375433d7c7ee"},{"author":{"_account_id":7711,"name":"Yuriy Zveryanskyy","email":"yzveryanskyy@mirantis.com","username":"yuriyz"},"change_message_id":"841fed1af3335ade202369e94afd99d328da60b7","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    fields \u003d {"},{"line_number":46,"context_line":"        \u0027object\u0027: fields.StringField(nullable\u003dFalse),"},{"line_number":47,"context_line":"        \u0027action\u0027: fields.StringField(nullable\u003dFalse),"},{"line_number":48,"context_line":"        \u0027status\u0027: fields.StringField(nullable\u003dFalse)"},{"line_number":49,"context_line":"    }"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def to_event_type_field(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a89bdaa_3ca46d49","line":48,"updated":"2016-09-13 15:05:24.000000000","message":"Maybe to use enum field here?","commit_id":"2303b0efb90a1a5c837b63c98c774df745ea8956"},{"author":{"_account_id":13295,"name":"Mario Villaplana","email":"mario.villaplana@gmail.com","username":"mariojv"},"change_message_id":"2f4157739a79d224dcb11762157a422c7863566f","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    fields \u003d {"},{"line_number":46,"context_line":"        \u0027object\u0027: fields.StringField(nullable\u003dFalse),"},{"line_number":47,"context_line":"        \u0027action\u0027: fields.StringField(nullable\u003dFalse),"},{"line_number":48,"context_line":"        \u0027status\u0027: fields.StringField(nullable\u003dFalse)"},{"line_number":49,"context_line":"    }"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def to_event_type_field(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a8ec9b2_901e765d","line":48,"in_reply_to":"7a8ec9b2_cfcb29a4","updated":"2016-09-15 22:57:40.000000000","message":"Done. Let me know if you\u0027d also like me to remove the check in to_event_type_field. It\u0027s a bit redundant, but it isn\u0027t hurting anything.","commit_id":"2303b0efb90a1a5c837b63c98c774df745ea8956"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"d728b338507a0e4b860acf02fb0892c83b1ed7eb","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    fields \u003d {"},{"line_number":46,"context_line":"        \u0027object\u0027: fields.StringField(nullable\u003dFalse),"},{"line_number":47,"context_line":"        \u0027action\u0027: fields.StringField(nullable\u003dFalse),"},{"line_number":48,"context_line":"        \u0027status\u0027: fields.StringField(nullable\u003dFalse)"},{"line_number":49,"context_line":"    }"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def to_event_type_field(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a8ec9b2_cfcb29a4","line":48,"in_reply_to":"9a89bdaa_3ca46d49","updated":"2016-09-15 09:39:26.000000000","message":"+1\n\nfields.EnumField(valid_values\u003d[\u0027start\u0027, \u0027end\u0027, \u0027error\u0027, \u0027success\u0027])\n\nI think we should do it in this patch, otherwise, if we change it later it EnumField will raise a ValueError while this code will raise a NotificationEventTypeEror. It may be another breaking change.","commit_id":"2303b0efb90a1a5c837b63c98c774df745ea8956"},{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"5fdc3f270e7308e0f61353fcd844f640b38e28bf","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    }"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"    def to_event_type_field(self):"},{"line_number":54,"context_line":"        if self.status not in [\u0027start\u0027, \u0027end\u0027, \u0027error\u0027, \u0027success\u0027]:"},{"line_number":55,"context_line":"            raise exception.NotificationEventTypeError(status\u003dself.status)"},{"line_number":56,"context_line":"        parts \u003d [\u0027baremetal\u0027, self.object, self.action, self.status]"},{"line_number":57,"context_line":"        return \u0027.\u0027.join(parts)"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7a8ec9b2_bc697afb","line":55,"range":{"start_line":54,"start_character":6,"end_line":55,"end_character":74},"updated":"2016-09-16 10:48:47.000000000","message":"I don\u0027t think this will ever be raised. In fact, removing this lines does not fail in any unittests: http://paste.openstack.org/show/579319/\n\nCan we get rid of it ?","commit_id":"77c7a710fc0eb1f419db650e3aa958c31b3bd74f"}],"ironic/tests/unit/objects/test_objects.py":[{"author":{"_account_id":6773,"name":"Lucas Alvares Gomes","email":"lucasagomes@gmail.com","username":"lucasagomes"},"change_message_id":"96c22e1b49830b198a2acf2ee793433a78f91d6d","unresolved":false,"context_lines":[{"line_number":410,"context_line":"    \u0027Port\u0027: \u00271.6-609504503d68982a10f495659990084b\u0027,"},{"line_number":411,"context_line":"    \u0027Portgroup\u0027: \u00271.2-37b374b19bfd25db7e86aebc364e611e\u0027,"},{"line_number":412,"context_line":"    \u0027Conductor\u0027: \u00271.1-5091f249719d4a465062a1b3dc7f860d\u0027,"},{"line_number":413,"context_line":"    \u0027EventType\u0027: \u00271.0-e77c2cc7e5dd8f59dbcadbfcfff4f443\u0027,"},{"line_number":414,"context_line":"    \u0027NotificationPublisher\u0027: \u00271.0-51a09397d6c0687771fb5be9a999605d\u0027,"},{"line_number":415,"context_line":"}"},{"line_number":416,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"fa7ab95a_f45404c7","line":413,"updated":"2016-09-02 08:53:12.000000000","message":"ditto re-version bump","commit_id":"8e73b7629e91aef5dbe30434b7da375433d7c7ee"},{"author":{"_account_id":13295,"name":"Mario Villaplana","email":"mario.villaplana@gmail.com","username":"mariojv"},"change_message_id":"b72f03bcde558f210474b986f1765a46957ed3d8","unresolved":false,"context_lines":[{"line_number":410,"context_line":"    \u0027Port\u0027: \u00271.6-609504503d68982a10f495659990084b\u0027,"},{"line_number":411,"context_line":"    \u0027Portgroup\u0027: \u00271.2-37b374b19bfd25db7e86aebc364e611e\u0027,"},{"line_number":412,"context_line":"    \u0027Conductor\u0027: \u00271.1-5091f249719d4a465062a1b3dc7f860d\u0027,"},{"line_number":413,"context_line":"    \u0027EventType\u0027: \u00271.0-e77c2cc7e5dd8f59dbcadbfcfff4f443\u0027,"},{"line_number":414,"context_line":"    \u0027NotificationPublisher\u0027: \u00271.0-51a09397d6c0687771fb5be9a999605d\u0027,"},{"line_number":415,"context_line":"}"},{"line_number":416,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a89bdaa_75a810dc","line":413,"in_reply_to":"fa7ab95a_f45404c7","updated":"2016-09-06 22:52:42.000000000","message":"Done","commit_id":"8e73b7629e91aef5dbe30434b7da375433d7c7ee"}]}
