)]}'
{"nova/db/api.py":[{"author":{"_account_id":1419,"name":"Mike Pittaro","email":"mikeyp@LaHondaResearch.org","username":"mikeyp-3"},"change_message_id":"09dc05cfb269f5115651256436adf965de01b35f","unresolved":false,"context_lines":[{"line_number":672,"context_line":"    \"\"\"Update an instance info cache record in the table."},{"line_number":673,"context_line":""},{"line_number":674,"context_line":"    :param instance_id: \u003d id of info cache\u0027s instance"},{"line_number":675,"context_line":"    :param values: \u003d dict containing column values to update"},{"line_number":676,"context_line":"    \"\"\""},{"line_number":677,"context_line":"    return IMPL.instance_info_cache_update(context, instance_id, values,"},{"line_number":678,"context_line":"                                           session)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAC3%2F%2F%2FJ8%3D","line":675,"updated":"2011-12-06 01:36:48.000000000","message":"missing doc for session","commit_id":"3f396ff7a55b086b1d29ae9dc73bc00fd2cf53bd"},{"author":{"_account_id":1419,"name":"Mike Pittaro","email":"mikeyp@LaHondaResearch.org","username":"mikeyp-3"},"change_message_id":"09dc05cfb269f5115651256436adf965de01b35f","unresolved":false,"context_lines":[{"line_number":682,"context_line":"                                              session\u003dNone):"},{"line_number":683,"context_line":"    \"\"\"Deletes an existing instance_info_cache record"},{"line_number":684,"context_line":""},{"line_number":685,"context_line":"    :param instance_id: \u003d id of the instance tied to the cache record"},{"line_number":686,"context_line":"    \"\"\""},{"line_number":687,"context_line":"    return IMPL.instance_info_cache_delete_by_instance_id(context, instance_id,"},{"line_number":688,"context_line":"                                                          session)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAC3%2F%2F%2FJ4%3D","line":685,"updated":"2011-12-06 01:36:48.000000000","message":"missing param doc for session","commit_id":"3f396ff7a55b086b1d29ae9dc73bc00fd2cf53bd"}],"nova/db/sqlalchemy/api.py":[{"author":{"_account_id":1419,"name":"Mike Pittaro","email":"mikeyp@LaHondaResearch.org","username":"mikeyp-3"},"change_message_id":"09dc05cfb269f5115651256436adf965de01b35f","unresolved":false,"context_lines":[{"line_number":1689,"context_line":"    \"\"\"Update an instance info cache record in the table."},{"line_number":1690,"context_line":""},{"line_number":1691,"context_line":"    :param instance_id: \u003d id of info cache\u0027s instance"},{"line_number":1692,"context_line":"    :param values: \u003d dict containing column values to update"},{"line_number":1693,"context_line":"    \"\"\""},{"line_number":1694,"context_line":"    session \u003d session or get_session()"},{"line_number":1695,"context_line":"    info_cache \u003d instance_info_cache_get(context, instance_id,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAC3%2F%2F%2FJo%3D","line":1692,"updated":"2011-12-06 01:36:48.000000000","message":"missing :param doc for session","commit_id":"3f396ff7a55b086b1d29ae9dc73bc00fd2cf53bd"},{"author":{"_account_id":475,"name":"Rick Harris","email":"rick.harris@rackspace.com","username":"rconradharris"},"change_message_id":"41b88fb4320d2f54925083102aed2aba6ec3a16e","unresolved":false,"context_lines":[{"line_number":1691,"context_line":"    :param instance_id: \u003d id of info cache\u0027s instance"},{"line_number":1692,"context_line":"    :param values: \u003d dict containing column values to update"},{"line_number":1693,"context_line":"    \"\"\""},{"line_number":1694,"context_line":"    session \u003d session or get_session()"},{"line_number":1695,"context_line":"    info_cache \u003d instance_info_cache_get(context, instance_id,"},{"line_number":1696,"context_line":"                                         session\u003dsession)"},{"line_number":1697,"context_line":"    if info_cache:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAC3%2F%2F%2FSA%3D","line":1694,"updated":"2011-12-05 18:47:58.000000000","message":"The setting of the missing session is done differently from the method above.\n\nJust for the sake of consistency, should we settle on just one?\n\n(Have no preference on which one to use.... okay slightly lean towards the OR idiom, but that\u0027s just me :-)","commit_id":"3f396ff7a55b086b1d29ae9dc73bc00fd2cf53bd"},{"author":{"_account_id":191,"name":"Trey Morris","email":"trey.morris@rackspace.com","username":"tr3buchet"},"change_message_id":"5c4d52d8757aa3dfb0eee8189485c7560caa0ce3","unresolved":false,"context_lines":[{"line_number":1691,"context_line":"    :param instance_id: \u003d id of info cache\u0027s instance"},{"line_number":1692,"context_line":"    :param values: \u003d dict containing column values to update"},{"line_number":1693,"context_line":"    \"\"\""},{"line_number":1694,"context_line":"    session \u003d session or get_session()"},{"line_number":1695,"context_line":"    info_cache \u003d instance_info_cache_get(context, instance_id,"},{"line_number":1696,"context_line":"                                         session\u003dsession)"},{"line_number":1697,"context_line":"    if info_cache:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAC3%2F%2F%2FIQ%3D","line":1694,"in_reply_to":"AAAAC3%2F%2F%2FSA%3D","updated":"2011-12-05 23:38:38.000000000","message":"Done","commit_id":"3f396ff7a55b086b1d29ae9dc73bc00fd2cf53bd"},{"author":{"_account_id":1419,"name":"Mike Pittaro","email":"mikeyp@LaHondaResearch.org","username":"mikeyp-3"},"change_message_id":"09dc05cfb269f5115651256436adf965de01b35f","unresolved":false,"context_lines":[{"line_number":1705,"context_line":"                                              session\u003dNone):"},{"line_number":1706,"context_line":"    \"\"\"Deletes an existing instance_info_cache record"},{"line_number":1707,"context_line":""},{"line_number":1708,"context_line":"    :param instance_id: \u003d id of the instance tied to the cache record"},{"line_number":1709,"context_line":"    \"\"\""},{"line_number":1710,"context_line":"    values \u003d {\u0027deleted\u0027: True}"},{"line_number":1711,"context_line":"    instance_info_cache_update(context, instance_id, values, session)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAC3%2F%2F%2FJk%3D","line":1708,"updated":"2011-12-06 01:36:48.000000000","message":"missing :param doc for session","commit_id":"3f396ff7a55b086b1d29ae9dc73bc00fd2cf53bd"},{"author":{"_account_id":475,"name":"Rick Harris","email":"rick.harris@rackspace.com","username":"rconradharris"},"change_message_id":"41b88fb4320d2f54925083102aed2aba6ec3a16e","unresolved":false,"context_lines":[{"line_number":1707,"context_line":""},{"line_number":1708,"context_line":"    :param instance_id: \u003d id of the instance tied to the cache record"},{"line_number":1709,"context_line":"    \"\"\""},{"line_number":1710,"context_line":"    values \u003d {\u0027deleted\u0027: True}"},{"line_number":1711,"context_line":"    instance_info_cache_update(context, instance_id, values, session)"},{"line_number":1712,"context_line":""},{"line_number":1713,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAC3%2F%2F%2FSU%3D","line":1710,"updated":"2011-12-05 18:47:58.000000000","message":"Should you be setting \"deleted_at\" here as well?","commit_id":"3f396ff7a55b086b1d29ae9dc73bc00fd2cf53bd"},{"author":{"_account_id":191,"name":"Trey Morris","email":"trey.morris@rackspace.com","username":"tr3buchet"},"change_message_id":"5c4d52d8757aa3dfb0eee8189485c7560caa0ce3","unresolved":false,"context_lines":[{"line_number":1707,"context_line":""},{"line_number":1708,"context_line":"    :param instance_id: \u003d id of the instance tied to the cache record"},{"line_number":1709,"context_line":"    \"\"\""},{"line_number":1710,"context_line":"    values \u003d {\u0027deleted\u0027: True}"},{"line_number":1711,"context_line":"    instance_info_cache_update(context, instance_id, values, session)"},{"line_number":1712,"context_line":""},{"line_number":1713,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAC3%2F%2F%2FIA%3D","line":1710,"in_reply_to":"AAAAC3%2F%2F%2FSU%3D","updated":"2011-12-05 23:38:38.000000000","message":"and also updated_at.\n\nboth done!","commit_id":"3f396ff7a55b086b1d29ae9dc73bc00fd2cf53bd"}],"nova/db/sqlalchemy/migrate_repo/versions/061_add_instance_info_cache_table.py":[{"author":{"_account_id":1132,"name":"Brian Waldon","email":"brian@waldon.cc","username":"bcwaldon"},"change_message_id":"8619f7b307d4881eecb56f0b4564c359925256b3","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    fixed_ips \u003d Table(\u0027fixed_ips\u0027, meta, autoload\u003dTrue)"},{"line_number":52,"context_line":"    floating_ips \u003d Table(\u0027floating_ips\u0027, meta, autoload\u003dTrue)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    migrate_engine.execute(\"CREATE UNIQUE INDEX uuid ON instances (uuid)\")"},{"line_number":55,"context_line":"    # create instance_info_caches table"},{"line_number":56,"context_line":"    try:"},{"line_number":57,"context_line":"        instance_info_caches.create()"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAC3%2F%2F%2FnE%3D","line":54,"updated":"2011-12-02 13:42:06.000000000","message":"Can you leave this (and the line in the downgrade) out of this patch? I agree it needs to be done but it isn\u0027t related to these blueprints.","commit_id":"87366e6edddb155b2dad534b3723ef663e1faabe"},{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"1715cab046bda7ec1e9f6e226d1740cdfbfc45f9","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    fixed_ips \u003d Table(\u0027fixed_ips\u0027, meta, autoload\u003dTrue)"},{"line_number":52,"context_line":"    floating_ips \u003d Table(\u0027floating_ips\u0027, meta, autoload\u003dTrue)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    migrate_engine.execute(\"CREATE UNIQUE INDEX uuid ON instances (uuid)\")"},{"line_number":55,"context_line":"    # create instance_info_caches table"},{"line_number":56,"context_line":"    try:"},{"line_number":57,"context_line":"        instance_info_caches.create()"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAC3%2F%2F%2FQo%3D","line":54,"updated":"2011-12-05 19:22:37.000000000","message":"This needs to go away.","commit_id":"3f396ff7a55b086b1d29ae9dc73bc00fd2cf53bd"},{"author":{"_account_id":191,"name":"Trey Morris","email":"trey.morris@rackspace.com","username":"tr3buchet"},"change_message_id":"5c4d52d8757aa3dfb0eee8189485c7560caa0ce3","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    fixed_ips \u003d Table(\u0027fixed_ips\u0027, meta, autoload\u003dTrue)"},{"line_number":52,"context_line":"    floating_ips \u003d Table(\u0027floating_ips\u0027, meta, autoload\u003dTrue)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    migrate_engine.execute(\"CREATE UNIQUE INDEX uuid ON instances (uuid)\")"},{"line_number":55,"context_line":"    # create instance_info_caches table"},{"line_number":56,"context_line":"    try:"},{"line_number":57,"context_line":"        instance_info_caches.create()"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAC3%2F%2F%2FHs%3D","line":54,"in_reply_to":"AAAAC3%2F%2F%2FQo%3D","updated":"2011-12-05 23:38:38.000000000","message":"Done","commit_id":"3f396ff7a55b086b1d29ae9dc73bc00fd2cf53bd"},{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"1715cab046bda7ec1e9f6e226d1740cdfbfc45f9","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        logging.error(_(\"Table |%s| not created!\"), repr(instance_info_caches))"},{"line_number":62,"context_line":"        raise"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    # all of these functions return a python list of python dicts"},{"line_number":65,"context_line":"    # that have nothing to do with sqlalchemy objects whatsoever"},{"line_number":66,"context_line":"    # after returning"},{"line_number":67,"context_line":"    def get_instances():"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAC3%2F%2F%2FQQ%3D","line":64,"updated":"2011-12-05 19:22:37.000000000","message":"I think we should leave the cache empty.  It\u0027s better to leave it empty since this is essentially just going to populate it with data that\u0027s going to be immediately stale when we actually go to use the cache.","commit_id":"3f396ff7a55b086b1d29ae9dc73bc00fd2cf53bd"},{"author":{"_account_id":191,"name":"Trey Morris","email":"trey.morris@rackspace.com","username":"tr3buchet"},"change_message_id":"5c4d52d8757aa3dfb0eee8189485c7560caa0ce3","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        logging.error(_(\"Table |%s| not created!\"), repr(instance_info_caches))"},{"line_number":62,"context_line":"        raise"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    # all of these functions return a python list of python dicts"},{"line_number":65,"context_line":"    # that have nothing to do with sqlalchemy objects whatsoever"},{"line_number":66,"context_line":"    # after returning"},{"line_number":67,"context_line":"    def get_instances():"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAC3%2F%2F%2FHo%3D","line":64,"in_reply_to":"AAAAC3%2F%2F%2FQQ%3D","updated":"2011-12-05 23:38:38.000000000","message":"working on it","commit_id":"3f396ff7a55b086b1d29ae9dc73bc00fd2cf53bd"},{"author":{"_account_id":475,"name":"Rick Harris","email":"rick.harris@rackspace.com","username":"rconradharris"},"change_message_id":"41b88fb4320d2f54925083102aed2aba6ec3a16e","unresolved":false,"context_lines":[{"line_number":66,"context_line":"    # after returning"},{"line_number":67,"context_line":"    def get_instances():"},{"line_number":68,"context_line":"        # want all instances whether there is network info or not"},{"line_number":69,"context_line":"        s \u003d select([instances.c.id, instances.c.uuid])"},{"line_number":70,"context_line":"        keys \u003d (\u0027id\u0027, \u0027uuid\u0027)"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        return [dict(zip(keys, row)) for row in s.execute()]"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAC3%2F%2F%2FRo%3D","line":69,"updated":"2011-12-05 18:47:58.000000000","message":"Would prefer if single letter vars were avoided if at all possible.","commit_id":"3f396ff7a55b086b1d29ae9dc73bc00fd2cf53bd"},{"author":{"_account_id":191,"name":"Trey Morris","email":"trey.morris@rackspace.com","username":"tr3buchet"},"change_message_id":"5c4d52d8757aa3dfb0eee8189485c7560caa0ce3","unresolved":false,"context_lines":[{"line_number":66,"context_line":"    # after returning"},{"line_number":67,"context_line":"    def get_instances():"},{"line_number":68,"context_line":"        # want all instances whether there is network info or not"},{"line_number":69,"context_line":"        s \u003d select([instances.c.id, instances.c.uuid])"},{"line_number":70,"context_line":"        keys \u003d (\u0027id\u0027, \u0027uuid\u0027)"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        return [dict(zip(keys, row)) for row in s.execute()]"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAC3%2F%2F%2FHk%3D","line":69,"in_reply_to":"AAAAC3%2F%2F%2FRo%3D","updated":"2011-12-05 23:38:38.000000000","message":"what about vifs.c?","commit_id":"3f396ff7a55b086b1d29ae9dc73bc00fd2cf53bd"},{"author":{"_account_id":475,"name":"Rick Harris","email":"rick.harris@rackspace.com","username":"rconradharris"},"change_message_id":"41b88fb4320d2f54925083102aed2aba6ec3a16e","unresolved":false,"context_lines":[{"line_number":249,"context_line":""},{"line_number":250,"context_line":"def downgrade(migrate_engine):"},{"line_number":251,"context_line":"    # facepalm"},{"line_number":252,"context_line":"    migrate_engine.execute(\"CREATE UNIQUE INDEX uuid ON instances (uuid)\")"},{"line_number":253,"context_line":"    try:"},{"line_number":254,"context_line":"        instance_info_caches.drop()"},{"line_number":255,"context_line":"    except Exception:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAC3%2F%2F%2FRs%3D","line":252,"updated":"2011-12-05 18:47:58.000000000","message":"Shouldn\u0027t we be dropping the index here since the upgrade created it?","commit_id":"3f396ff7a55b086b1d29ae9dc73bc00fd2cf53bd"},{"author":{"_account_id":191,"name":"Trey Morris","email":"trey.morris@rackspace.com","username":"tr3buchet"},"change_message_id":"5c4d52d8757aa3dfb0eee8189485c7560caa0ce3","unresolved":false,"context_lines":[{"line_number":249,"context_line":""},{"line_number":250,"context_line":"def downgrade(migrate_engine):"},{"line_number":251,"context_line":"    # facepalm"},{"line_number":252,"context_line":"    migrate_engine.execute(\"CREATE UNIQUE INDEX uuid ON instances (uuid)\")"},{"line_number":253,"context_line":"    try:"},{"line_number":254,"context_line":"        instance_info_caches.drop()"},{"line_number":255,"context_line":"    except Exception:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAC3%2F%2F%2FHc%3D","line":252,"in_reply_to":"AAAAC3%2F%2F%2FQk%3D","updated":"2011-12-05 23:38:38.000000000","message":"Done","commit_id":"3f396ff7a55b086b1d29ae9dc73bc00fd2cf53bd"},{"author":{"_account_id":191,"name":"Trey Morris","email":"trey.morris@rackspace.com","username":"tr3buchet"},"change_message_id":"5c4d52d8757aa3dfb0eee8189485c7560caa0ce3","unresolved":false,"context_lines":[{"line_number":249,"context_line":""},{"line_number":250,"context_line":"def downgrade(migrate_engine):"},{"line_number":251,"context_line":"    # facepalm"},{"line_number":252,"context_line":"    migrate_engine.execute(\"CREATE UNIQUE INDEX uuid ON instances (uuid)\")"},{"line_number":253,"context_line":"    try:"},{"line_number":254,"context_line":"        instance_info_caches.drop()"},{"line_number":255,"context_line":"    except Exception:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAC3%2F%2F%2FHg%3D","line":252,"in_reply_to":"AAAAC3%2F%2F%2FRs%3D","updated":"2011-12-05 23:38:38.000000000","message":"Done","commit_id":"3f396ff7a55b086b1d29ae9dc73bc00fd2cf53bd"},{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"1715cab046bda7ec1e9f6e226d1740cdfbfc45f9","unresolved":false,"context_lines":[{"line_number":249,"context_line":""},{"line_number":250,"context_line":"def downgrade(migrate_engine):"},{"line_number":251,"context_line":"    # facepalm"},{"line_number":252,"context_line":"    migrate_engine.execute(\"CREATE UNIQUE INDEX uuid ON instances (uuid)\")"},{"line_number":253,"context_line":"    try:"},{"line_number":254,"context_line":"        instance_info_caches.drop()"},{"line_number":255,"context_line":"    except Exception:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAC3%2F%2F%2FQk%3D","line":252,"in_reply_to":"AAAAC3%2F%2F%2FRs%3D","updated":"2011-12-05 19:22:37.000000000","message":"That\u0027s broken in itself... but it also needs to be dropped from this patch.","commit_id":"3f396ff7a55b086b1d29ae9dc73bc00fd2cf53bd"},{"author":{"_account_id":112,"name":"Jesse Andrews","email":"anotherjesse@gmail.com","username":"anotherjesse"},"change_message_id":"ca48e19d9d0b40c6b0f052ac88159c51e8b914f1","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from sqlalchemy import *"},{"line_number":19,"context_line":"from migrate import *"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from nova import log as logging"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"meta \u003d MetaData()"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAC3%2F%2F%2FE4%3D","line":21,"updated":"2011-12-06 00:38:34.000000000","message":"from nova import utils","commit_id":"3c2f6c9063e30aa7641f1e892789d1b166982b25"},{"author":{"_account_id":191,"name":"Trey Morris","email":"trey.morris@rackspace.com","username":"tr3buchet"},"change_message_id":"b9d78138a81f1b9eec0361fb022f41fc8f2abf4a","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from sqlalchemy import *"},{"line_number":19,"context_line":"from migrate import *"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from nova import log as logging"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"meta \u003d MetaData()"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAC3%2F%2F%2B4Q%3D","line":21,"in_reply_to":"AAAAC3%2F%2F%2FE4%3D","updated":"2011-12-06 17:54:03.000000000","message":"Done","commit_id":"3c2f6c9063e30aa7641f1e892789d1b166982b25"}],"nova/db/sqlalchemy/models.py":[{"author":{"_account_id":475,"name":"Rick Harris","email":"rick.harris@rackspace.com","username":"rconradharris"},"change_message_id":"41b88fb4320d2f54925083102aed2aba6ec3a16e","unresolved":false,"context_lines":[{"line_number":270,"context_line":"    network_info \u003d Column(Text)"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"    # this is all uuid based, we have them might as well start using them"},{"line_number":273,"context_line":"    instance_id \u003d Column(Integer, ForeignKey(\u0027instances.uuid\u0027), nullable\u003dTrue)"},{"line_number":274,"context_line":"    instance \u003d relationship(Instance,"},{"line_number":275,"context_line":"                            backref\u003dbackref(\u0027info_cache\u0027),"},{"line_number":276,"context_line":"                            foreign_keys\u003dinstance_id,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAC3%2F%2F%2FRg%3D","line":273,"updated":"2011-12-05 18:47:58.000000000","message":"Not sure I understand what\u0027s going on here. We have an integer column with a foreign key to a string UUID field. It\u0027s called instance_id and it\u0027s nullable?\n\nShould this be:\n\ninstance_uuid \u003d Column(String(36), ForeignKey(\u0027instances.uuid\u0027), nullable\u003dFalse)","commit_id":"3f396ff7a55b086b1d29ae9dc73bc00fd2cf53bd"},{"author":{"_account_id":191,"name":"Trey Morris","email":"trey.morris@rackspace.com","username":"tr3buchet"},"change_message_id":"5c4d52d8757aa3dfb0eee8189485c7560caa0ce3","unresolved":false,"context_lines":[{"line_number":270,"context_line":"    network_info \u003d Column(Text)"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"    # this is all uuid based, we have them might as well start using them"},{"line_number":273,"context_line":"    instance_id \u003d Column(Integer, ForeignKey(\u0027instances.uuid\u0027), nullable\u003dTrue)"},{"line_number":274,"context_line":"    instance \u003d relationship(Instance,"},{"line_number":275,"context_line":"                            backref\u003dbackref(\u0027info_cache\u0027),"},{"line_number":276,"context_line":"                            foreign_keys\u003dinstance_id,"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAC3%2F%2F%2FHQ%3D","line":273,"in_reply_to":"AAAAC3%2F%2F%2FRg%3D","updated":"2011-12-05 23:38:38.000000000","message":"you\u0027re right, this is left over from before i decided to use instance uuid. we lost a lot of stuff from some bad rebases, so some of this code could be stale, as we see happening here.\n\ndone!","commit_id":"3f396ff7a55b086b1d29ae9dc73bc00fd2cf53bd"}],"nova/network/model.py":[{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"1715cab046bda7ec1e9f6e226d1740cdfbfc45f9","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        # pull ad_hoc out of kwargs if it\u0027s there"},{"line_number":32,"context_line":"        self[\u0027ad_hoc\u0027] \u003d kwargs.pop(\u0027ad_hoc\u0027, {})"},{"line_number":33,"context_line":"        # update ad_hoc with any additional kwargs that may exist"},{"line_number":34,"context_line":"        self[\u0027ad_hoc\u0027].update(kwargs)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"class IP(Model):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAC3%2F%2F%2FQM%3D","line":34,"updated":"2011-12-05 19:22:37.000000000","message":"I don\u0027t like the \u0027ad_hoc\u0027 name, really.  I feel like \u0027extra_data\u0027 or \u0027meta_data\u0027 or something is more appropriate.","commit_id":"3f396ff7a55b086b1d29ae9dc73bc00fd2cf53bd"},{"author":{"_account_id":191,"name":"Trey Morris","email":"trey.morris@rackspace.com","username":"tr3buchet"},"change_message_id":"5c4d52d8757aa3dfb0eee8189485c7560caa0ce3","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        # pull ad_hoc out of kwargs if it\u0027s there"},{"line_number":32,"context_line":"        self[\u0027ad_hoc\u0027] \u003d kwargs.pop(\u0027ad_hoc\u0027, {})"},{"line_number":33,"context_line":"        # update ad_hoc with any additional kwargs that may exist"},{"line_number":34,"context_line":"        self[\u0027ad_hoc\u0027].update(kwargs)"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"class IP(Model):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAC3%2F%2F%2FHE%3D","line":34,"in_reply_to":"AAAAC3%2F%2F%2FQM%3D","updated":"2011-12-05 23:38:38.000000000","message":"i\u0027ll get on changing them\ns/ad_hoc/meta/\n\nor maybe m3ta :D","commit_id":"3f396ff7a55b086b1d29ae9dc73bc00fd2cf53bd"},{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"0824b806440a98d6677d69f1a94a2b0b2f7eaf7a","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    @classmethod"},{"line_number":59,"context_line":"    def hydrate(cls, ip):"},{"line_number":60,"context_line":"        return IP(**ip)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"class FixedIP(IP):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAC3%2F%2F%2FSM%3D","line":60,"updated":"2011-12-05 18:35:24.000000000","message":"cls(**ip) so subclassing works, I think.  You have a number of other cases of this below.","commit_id":"3f396ff7a55b086b1d29ae9dc73bc00fd2cf53bd"},{"author":{"_account_id":191,"name":"Trey Morris","email":"trey.morris@rackspace.com","username":"tr3buchet"},"change_message_id":"5c4d52d8757aa3dfb0eee8189485c7560caa0ce3","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    @classmethod"},{"line_number":59,"context_line":"    def hydrate(cls, ip):"},{"line_number":60,"context_line":"        return IP(**ip)"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"class FixedIP(IP):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAC3%2F%2F%2FHI%3D","line":60,"in_reply_to":"AAAAC3%2F%2F%2FSM%3D","updated":"2011-12-05 23:38:38.000000000","message":"i\u0027m perfectly happy with not allowing this to be subclassed. we should discuss this more.","commit_id":"3f396ff7a55b086b1d29ae9dc73bc00fd2cf53bd"},{"author":{"_account_id":1419,"name":"Mike Pittaro","email":"mikeyp@LaHondaResearch.org","username":"mikeyp-3"},"change_message_id":"09dc05cfb269f5115651256436adf965de01b35f","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        self[\u0027gateway\u0027] \u003d gateway"},{"line_number":114,"context_line":"        self[\u0027ips\u0027] \u003d ips or []"},{"line_number":115,"context_line":"        self[\u0027routes\u0027] \u003d routes or []"},{"line_number":116,"context_line":"        self[\u0027version\u0027] \u003d kwargs.pop(\u0027version\u0027)"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        self.set_ad_hoc(kwargs)"},{"line_number":119,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAC3%2F%2F%2FII%3D","line":116,"updated":"2011-12-06 01:36:48.000000000","message":"is version optional ?  if so, kwargs.pop(\u0027version\u0027, None)","commit_id":"3f396ff7a55b086b1d29ae9dc73bc00fd2cf53bd"},{"author":{"_account_id":1419,"name":"Mike Pittaro","email":"mikeyp@LaHondaResearch.org","username":"mikeyp-3"},"change_message_id":"b9481326389c0f92c519fb12cb400ca354f775b8","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        self[\u0027gateway\u0027] \u003d gateway"},{"line_number":114,"context_line":"        self[\u0027ips\u0027] \u003d ips or []"},{"line_number":115,"context_line":"        self[\u0027routes\u0027] \u003d routes or []"},{"line_number":116,"context_line":"        self[\u0027version\u0027] \u003d kwargs.pop(\u0027version\u0027)"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        self.set_ad_hoc(kwargs)"},{"line_number":119,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAC3%2F%2F%2FFQ%3D","line":116,"updated":"2011-12-06 00:29:03.000000000","message":"If version is optional, I think this should be pop(\u0027version\u0027, None)","commit_id":"3c2f6c9063e30aa7641f1e892789d1b166982b25"},{"author":{"_account_id":191,"name":"Trey Morris","email":"trey.morris@rackspace.com","username":"tr3buchet"},"change_message_id":"b9d78138a81f1b9eec0361fb022f41fc8f2abf4a","unresolved":false,"context_lines":[{"line_number":113,"context_line":"        self[\u0027gateway\u0027] \u003d gateway"},{"line_number":114,"context_line":"        self[\u0027ips\u0027] \u003d ips or []"},{"line_number":115,"context_line":"        self[\u0027routes\u0027] \u003d routes or []"},{"line_number":116,"context_line":"        self[\u0027version\u0027] \u003d kwargs.pop(\u0027version\u0027)"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"        self.set_ad_hoc(kwargs)"},{"line_number":119,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAC3%2F%2F%2B4M%3D","line":116,"in_reply_to":"AAAAC3%2F%2F%2FFQ%3D","updated":"2011-12-06 17:54:03.000000000","message":"nice catch","commit_id":"3c2f6c9063e30aa7641f1e892789d1b166982b25"},{"author":{"_account_id":385,"name":"Jason Kölker","email":"jason@koelker.net","username":"jason-koelker"},"change_message_id":"45b3edf98667cac7e0b466f6c60ec90874097821","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    @classmethod"},{"line_number":59,"context_line":"    def hydrate(cls, ip):"},{"line_number":60,"context_line":"        if IP:"},{"line_number":61,"context_line":"            return IP(**ip)"},{"line_number":62,"context_line":"        return None"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAAC3%2F%2F%2BdU%3D","line":60,"updated":"2011-12-08 00:19:42.000000000","message":"Should be\n    if ip:","commit_id":"8819c08137163602bad4a9d7c0a9779fe709e5c9"}],"nova/tests/fake_network_cache_model.py":[{"author":{"_account_id":1419,"name":"Mike Pittaro","email":"mikeyp@LaHondaResearch.org","username":"mikeyp-3"},"change_message_id":"09dc05cfb269f5115651256436adf965de01b35f","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    new_ip \u003d dict(address\u003d\u0027192.168.1.100\u0027)"},{"line_number":23,"context_line":"    ip_dict \u003d ip_dict or {}"},{"line_number":24,"context_line":"    new_ip.update(ip_dict)"},{"line_number":25,"context_line":"    return model.FixedIP(**ip_dict)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"def new_route(route_dict\u003dNone):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAC3%2F%2F%2FGI%3D","line":25,"updated":"2011-12-06 01:36:48.000000000","message":"did you mean new_ip instead of ip_dict ?","commit_id":"3f396ff7a55b086b1d29ae9dc73bc00fd2cf53bd"},{"author":{"_account_id":1419,"name":"Mike Pittaro","email":"mikeyp@LaHondaResearch.org","username":"mikeyp-3"},"change_message_id":"b9481326389c0f92c519fb12cb400ca354f775b8","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    new_ip \u003d dict(address\u003d\u0027192.168.1.100\u0027)"},{"line_number":23,"context_line":"    ip_dict \u003d ip_dict or {}"},{"line_number":24,"context_line":"    new_ip.update(ip_dict)"},{"line_number":25,"context_line":"    return model.FixedIP(**ip_dict)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"def new_route(route_dict\u003dNone):"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAC3%2F%2F%2FFM%3D","line":25,"updated":"2011-12-06 00:29:03.000000000","message":"should this have been new_ip ?","commit_id":"3c2f6c9063e30aa7641f1e892789d1b166982b25"},{"author":{"_account_id":191,"name":"Trey Morris","email":"trey.morris@rackspace.com","username":"tr3buchet"},"change_message_id":"b9d78138a81f1b9eec0361fb022f41fc8f2abf4a","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    new_ip \u003d dict(address\u003d\u0027192.168.1.100\u0027)"},{"line_number":23,"context_line":"    ip_dict \u003d ip_dict or {}"},{"line_number":24,"context_line":"    new_ip.update(ip_dict)"},{"line_number":25,"context_line":"    return model.FixedIP(**ip_dict)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"def new_route(route_dict\u003dNone):"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAAC3%2F%2F%2B4E%3D","line":25,"in_reply_to":"AAAAC3%2F%2F%2FFM%3D","updated":"2011-12-06 17:54:03.000000000","message":"Done","commit_id":"3c2f6c9063e30aa7641f1e892789d1b166982b25"}]}
