)]}'
{"nova/objects/external_event.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"cfe34d3d7f35b91d9a357f99b7462796f44bc24b","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    # Version 1.0: Initial version"},{"line_number":35,"context_line":"    #              Supports network-changed and vif-plugged"},{"line_number":36,"context_line":"    # Version 1.1: changes \u0027name\u0027 to be EnumField"},{"line_number":37,"context_line":"    VERSION \u003d \u00271.1\u0027"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    fields \u003d {"},{"line_number":40,"context_line":"        \u0027instance_uuid\u0027: fields.UUIDField(),"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_9374ca9c","line":37,"updated":"2015-05-14 17:50:21.000000000","message":"You don\u0027t need a bump for this because we aren\u0027t changing the format, and because we know that they have only ever had these values.","commit_id":"c232ea08d9cecf0003c0bd1198c76dbd26d09761"},{"author":{"_account_id":6685,"name":"Baodong (Robert) Li","email":"baoli@cisco.com","username":"baoli"},"change_message_id":"2497ee99686233fffdf1fdac32af0aa75f9a8616","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    # Version 1.0: Initial version"},{"line_number":35,"context_line":"    #              Supports network-changed and vif-plugged"},{"line_number":36,"context_line":"    # Version 1.1: changes \u0027name\u0027 to be EnumField"},{"line_number":37,"context_line":"    VERSION \u003d \u00271.1\u0027"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"    fields \u003d {"},{"line_number":40,"context_line":"        \u0027instance_uuid\u0027: fields.UUIDField(),"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_fe6aa519","line":37,"in_reply_to":"7a016987_9374ca9c","updated":"2015-05-14 18:29:27.000000000","message":"Done","commit_id":"c232ea08d9cecf0003c0bd1198c76dbd26d09761"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"43bf639545c1f8b3a8167778a6210471cdcd5433","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    fields \u003d {"},{"line_number":40,"context_line":"        \u0027instance_uuid\u0027: fields.UUIDField(),"},{"line_number":41,"context_line":"        \u0027name\u0027: fields.EnumField(valid_values\u003dEVENT_NAMES),"},{"line_number":42,"context_line":"        \u0027status\u0027: fields.StringField(),"},{"line_number":43,"context_line":"        \u0027tag\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":44,"context_line":"        \u0027data\u0027: fields.DictOfStringsField(),"},{"line_number":45,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_f3741ed0","line":42,"updated":"2015-05-14 18:05:45.000000000","message":"Given that there is a EVENT_STATUSES list of strings above, I presume this field can be an enum too.","commit_id":"c232ea08d9cecf0003c0bd1198c76dbd26d09761"},{"author":{"_account_id":6685,"name":"Baodong (Robert) Li","email":"baoli@cisco.com","username":"baoli"},"change_message_id":"2497ee99686233fffdf1fdac32af0aa75f9a8616","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    fields \u003d {"},{"line_number":40,"context_line":"        \u0027instance_uuid\u0027: fields.UUIDField(),"},{"line_number":41,"context_line":"        \u0027name\u0027: fields.EnumField(valid_values\u003dEVENT_NAMES),"},{"line_number":42,"context_line":"        \u0027status\u0027: fields.StringField(),"},{"line_number":43,"context_line":"        \u0027tag\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":44,"context_line":"        \u0027data\u0027: fields.DictOfStringsField(),"},{"line_number":45,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_be742dfd","line":42,"in_reply_to":"7a016987_1e146142","updated":"2015-05-14 18:29:27.000000000","message":"sure, please go ahead","commit_id":"c232ea08d9cecf0003c0bd1198c76dbd26d09761"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"493b2cef8e8412214ae3a5b7bb21cad22c3a9a19","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    fields \u003d {"},{"line_number":40,"context_line":"        \u0027instance_uuid\u0027: fields.UUIDField(),"},{"line_number":41,"context_line":"        \u0027name\u0027: fields.EnumField(valid_values\u003dEVENT_NAMES),"},{"line_number":42,"context_line":"        \u0027status\u0027: fields.StringField(),"},{"line_number":43,"context_line":"        \u0027tag\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":44,"context_line":"        \u0027data\u0027: fields.DictOfStringsField(),"},{"line_number":45,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_1e146142","line":42,"in_reply_to":"7a016987_f3741ed0","updated":"2015-05-14 18:08:41.000000000","message":"Yes, and we enforce it at the API so it should be fine to Enum-ify this. If you don\u0027t want to do it in this patch, I\u0027m happy to follow up with it separately.","commit_id":"c232ea08d9cecf0003c0bd1198c76dbd26d09761"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"de5acac1ff96b7d3abbf21ce594765fa9b95466e","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    fields \u003d {"},{"line_number":39,"context_line":"        \u0027instance_uuid\u0027: fields.UUIDField(),"},{"line_number":40,"context_line":"        \u0027name\u0027: fields.EnumField(valid_values\u003dEVENT_NAMES),"},{"line_number":41,"context_line":"        \u0027status\u0027: fields.StringField(),"},{"line_number":42,"context_line":"        \u0027tag\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":43,"context_line":"        \u0027data\u0027: fields.DictOfStringsField(),"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a016987_ab2166b6","line":40,"updated":"2015-05-15 15:58:39.000000000","message":"You should review the changes proposed in https://review.openstack.org/#/c/181086/ as that review will change the way EnumField is handled.","commit_id":"bba9b8db95765ef933435fe795fd22fbf27c2f26"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"ca71f92a2acdca842217945e34304384302d17c0","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    fields \u003d {"},{"line_number":39,"context_line":"        \u0027instance_uuid\u0027: fields.UUIDField(),"},{"line_number":40,"context_line":"        \u0027name\u0027: fields.EnumField(valid_values\u003dEVENT_NAMES),"},{"line_number":41,"context_line":"        \u0027status\u0027: fields.StringField(),"},{"line_number":42,"context_line":"        \u0027tag\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":43,"context_line":"        \u0027data\u0027: fields.DictOfStringsField(),"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a016987_ae3df4bc","line":40,"in_reply_to":"7a016987_ab2166b6","updated":"2015-05-15 16:02:12.000000000","message":"It isn\u0027t a big problem either way - my current version of that patch keeps EnumField unchanged for anonymous enums, but encourages creation of named enums by subclassing BaseEnumField instead. I\u0027m happy to change this to use a named enum later if this merges before my own patch merges - it doesn\u0027t involve any version bumps on the objects to changes from anonymous to named enums.","commit_id":"bba9b8db95765ef933435fe795fd22fbf27c2f26"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"a29d14fcf113c06b024a79cdd2f2b45294352ccb","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    fields \u003d {"},{"line_number":39,"context_line":"        \u0027instance_uuid\u0027: fields.UUIDField(),"},{"line_number":40,"context_line":"        \u0027name\u0027: fields.EnumField(valid_values\u003dEVENT_NAMES),"},{"line_number":41,"context_line":"        \u0027status\u0027: fields.StringField(),"},{"line_number":42,"context_line":"        \u0027tag\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":43,"context_line":"        \u0027data\u0027: fields.DictOfStringsField(),"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a016987_ee152c49","line":40,"in_reply_to":"7a016987_ae3df4bc","updated":"2015-05-15 16:20:31.000000000","message":"Heh, true enough, but this change will need to be rebased anyway (currently based on an outdated patch), and since 181086 just got approved, he might as well take a look at it.\n\n(For the record, I commented on this change before I saw your update on 181086 to allow anonymous enums.)","commit_id":"bba9b8db95765ef933435fe795fd22fbf27c2f26"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"d2b8fda483c9a904b41bb2ccf99fc404230f3fb2","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    fields \u003d {"},{"line_number":39,"context_line":"        \u0027instance_uuid\u0027: fields.UUIDField(),"},{"line_number":40,"context_line":"        \u0027name\u0027: fields.EnumField(valid_values\u003dEVENT_NAMES),"},{"line_number":41,"context_line":"        \u0027status\u0027: fields.StringField(),"},{"line_number":42,"context_line":"        \u0027tag\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":43,"context_line":"        \u0027data\u0027: fields.DictOfStringsField(),"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a016987_6975b696","line":40,"in_reply_to":"7a016987_ee152c49","updated":"2015-05-15 16:25:49.000000000","message":"My preference is that we support both things, FWIW, because I like the anonymous enum in some cases. So this is fine as it is, IMHO.","commit_id":"bba9b8db95765ef933435fe795fd22fbf27c2f26"}],"nova/tests/unit/objects/test_objects.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"cfe34d3d7f35b91d9a357f99b7462796f44bc24b","unresolved":false,"context_lines":[{"line_number":1136,"context_line":"    \u0027InstanceActionEvent\u0027: \u00271.1-538698f30974064543134784c5da6056\u0027,"},{"line_number":1137,"context_line":"    \u0027InstanceActionEventList\u0027: \u00271.0-3510dc5bc494bcf2468f54249366164f\u0027,"},{"line_number":1138,"context_line":"    \u0027InstanceActionList\u0027: \u00271.0-7f3f14a6c16fa16113c112a3b2ffffdd\u0027,"},{"line_number":1139,"context_line":"    \u0027InstanceExternalEvent\u0027: \u00271.1-2c5d816a6447594d9ba91cc44834f685\u0027,"},{"line_number":1140,"context_line":"    \u0027InstanceFault\u0027: \u00271.2-090c74b3833c715845ec2cf24a686aaf\u0027,"},{"line_number":1141,"context_line":"    \u0027InstanceFaultList\u0027: \u00271.1-94f71c64972f25ba5675704bf2087fdb\u0027,"},{"line_number":1142,"context_line":"    \u0027InstanceGroup\u0027: \u00271.9-a77a59735d62790dcaa413a21acfaa73\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_d3b92230","line":1139,"updated":"2015-05-14 17:50:21.000000000","message":"Just fix the hash without the version bump and say something in the commit message. I\u0027ll ack it as safe.","commit_id":"c232ea08d9cecf0003c0bd1198c76dbd26d09761"},{"author":{"_account_id":6685,"name":"Baodong (Robert) Li","email":"baoli@cisco.com","username":"baoli"},"change_message_id":"2497ee99686233fffdf1fdac32af0aa75f9a8616","unresolved":false,"context_lines":[{"line_number":1136,"context_line":"    \u0027InstanceActionEvent\u0027: \u00271.1-538698f30974064543134784c5da6056\u0027,"},{"line_number":1137,"context_line":"    \u0027InstanceActionEventList\u0027: \u00271.0-3510dc5bc494bcf2468f54249366164f\u0027,"},{"line_number":1138,"context_line":"    \u0027InstanceActionList\u0027: \u00271.0-7f3f14a6c16fa16113c112a3b2ffffdd\u0027,"},{"line_number":1139,"context_line":"    \u0027InstanceExternalEvent\u0027: \u00271.1-2c5d816a6447594d9ba91cc44834f685\u0027,"},{"line_number":1140,"context_line":"    \u0027InstanceFault\u0027: \u00271.2-090c74b3833c715845ec2cf24a686aaf\u0027,"},{"line_number":1141,"context_line":"    \u0027InstanceFaultList\u0027: \u00271.1-94f71c64972f25ba5675704bf2087fdb\u0027,"},{"line_number":1142,"context_line":"    \u0027InstanceGroup\u0027: \u00271.9-a77a59735d62790dcaa413a21acfaa73\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_7e659543","line":1139,"in_reply_to":"7a016987_d3b92230","updated":"2015-05-14 18:29:27.000000000","message":"Done","commit_id":"c232ea08d9cecf0003c0bd1198c76dbd26d09761"}]}
