)]}'
{"nova/objects/floating_ip.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a455cb0aa4b190bf2d4c4960dcac1538a714f141","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        \u0027pool\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":37,"context_line":"        \u0027interface\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":38,"context_line":"        \u0027fixed_ip\u0027: fields.ObjectField(\u0027FixedIP\u0027, nullable\u003dTrue),"},{"line_number":39,"context_line":"        \u0027external_id\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":40,"context_line":"        }"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    @staticmethod"}],"source_content_type":"text/x-python","patch_set":2,"id":"1abeadc6_097cd01f","line":39,"updated":"2014-08-26 17:52:07.000000000","message":"Since this isn\u0027t stored in the database is there any way that this can be lost if the object is re-created from the database? Or do we not care?","commit_id":"06332115f8c4e0d06914a2803f1c1c8f029a99bd"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"619bb0a614e378f2517d5bdf96a6e6d0c1e43dfd","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        \u0027pool\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":37,"context_line":"        \u0027interface\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":38,"context_line":"        \u0027fixed_ip\u0027: fields.ObjectField(\u0027FixedIP\u0027, nullable\u003dTrue),"},{"line_number":39,"context_line":"        \u0027external_id\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":40,"context_line":"        }"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    @staticmethod"}],"source_content_type":"text/x-python","patch_set":2,"id":"1abeadc6_b52e8e8a","line":39,"in_reply_to":"1abeadc6_097cd01f","updated":"2014-08-28 02:18:24.000000000","message":"This field is only used when we\u0027re using neutron. In that case, these objects aren\u0027t stored in the database at all. That means that we couldn\u0027t reconstruct any of it from stored state regardless, and thus this new field is no different.\n\nIf we\u0027re using nova-network and someone were to stash something in this field, it wouldn\u0027t be saved, but that would be a bug.","commit_id":"06332115f8c4e0d06914a2803f1c1c8f029a99bd"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e7948c4971dbf28bde144039ad47e6ce7ff2725c","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        elif target_version \u003c (1, 6) and self.obj_attr_is_set(\u0027fixed_ip\u0027):"},{"line_number":67,"context_line":"            self.fixed_ip.obj_make_compatible("},{"line_number":68,"context_line":"                    primitive[\u0027fixed_ip\u0027][\u0027nova_object.data\u0027], \u00271.5\u0027)"},{"line_number":69,"context_line":"            primitive[\u0027fixed_ip\u0027][\u0027nova_object.version\u0027] \u003d \u00271.5\u0027"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    @staticmethod"},{"line_number":72,"context_line":"    def _from_db_object(context, floatingip, db_floatingip,"}],"source_content_type":"text/x-python","patch_set":4,"id":"5a890539_6372c2ae","line":69,"updated":"2014-11-20 23:51:27.000000000","message":"Don\u0027t we need a compat check to remove external_id if you\u0027re not at 1.7?","commit_id":"5ed0639880034dc025c0e366a37fee26d7d2e3e0"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"94093a4463c3ea2c3d283bf6258cae27c4556372","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        \u0027pool\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":50,"context_line":"        \u0027interface\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":51,"context_line":"        \u0027fixed_ip\u0027: fields.ObjectField(\u0027FixedIP\u0027, nullable\u003dTrue),"},{"line_number":52,"context_line":"        \u0027external_id\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":53,"context_line":"        }"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    @staticmethod"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba0121b8_1e9f8d51","line":52,"range":{"start_line":52,"start_character":30,"end_line":52,"end_character":41},"updated":"2016-04-01 19:29:44.000000000","message":"Seems we should make this a UUIDField since that\u0027s what it is, but then that makes it more specific to the neutron case, which I\u0027m guessing Dan was trying to avoid, but I don\u0027t think that\u0027s probably necessary....","commit_id":"9cae1f82761a73b28b7804ba5cad733a5c46e42f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"49e058d53a7e71cd2253d243878d0d54b30f0193","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        \u0027pool\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":50,"context_line":"        \u0027interface\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":51,"context_line":"        \u0027fixed_ip\u0027: fields.ObjectField(\u0027FixedIP\u0027, nullable\u003dTrue),"},{"line_number":52,"context_line":"        \u0027external_id\u0027: fields.StringField(nullable\u003dTrue),"},{"line_number":53,"context_line":"        }"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    @staticmethod"}],"source_content_type":"text/x-python","patch_set":7,"id":"ba0121b8_8cc37738","line":52,"range":{"start_line":52,"start_character":30,"end_line":52,"end_character":41},"in_reply_to":"ba0121b8_1e9f8d51","updated":"2016-04-01 20:15:24.000000000","message":"As discussed in IRC on Friday, another idea is we subclass this object with NeutronFloatingIP and override the id and fixed_ip_id fields and make them uuid fields. We don\u0027t register that object though since we aren\u0027t going to pass it over rpc, it\u0027s just for modeling the neutron floating IPs, and we use it between the REST API and the network API.","commit_id":"9cae1f82761a73b28b7804ba5cad733a5c46e42f"}]}
