)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"6f63c0aea2e95652bf80e6f7d9a136b68087a76e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     svenkataramanaia \u003csvenkataramanaia@ebaysf.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-07-08 16:53:27 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add instance IP to /instances"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ice8f07cdaf873034dc7dc8840fcc403b4756ac12"},{"line_number":10,"context_line":"Closes-Bug: #1339400"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"baada198_bba43609","line":7,"updated":"2014-07-09 00:30:46.000000000","message":"should have a useful message underneath this, explaining the purpose/point.","commit_id":"c5cd5db54f9cb376f224826a7496cd2993181545"},{"author":{"_account_id":11831,"name":"Suthan Venkataramanaiah","email":"svenkataramanaia@ebaysf.com","username":"svenkataramanaia"},"change_message_id":"ea5c2348d75b6ae8424ed6a4c88c0a26c9bde342","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     svenkataramanaia \u003csvenkataramanaia@ebaysf.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-07-08 16:53:27 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add instance IP to /instances"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ice8f07cdaf873034dc7dc8840fcc403b4756ac12"},{"line_number":10,"context_line":"Closes-Bug: #1339400"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"baada198_209372fb","line":7,"in_reply_to":"baada198_6fac8e8d","updated":"2014-07-09 21:01:13.000000000","message":"Done","commit_id":"c5cd5db54f9cb376f224826a7496cd2993181545"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"edff4d635a5a030084e0cce7d5ca4540b9681064","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     svenkataramanaia \u003csvenkataramanaia@ebaysf.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-07-08 16:53:27 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add instance IP to /instances"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ice8f07cdaf873034dc7dc8840fcc403b4756ac12"},{"line_number":10,"context_line":"Closes-Bug: #1339400"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"baada198_6fac8e8d","line":7,"in_reply_to":"baada198_bba43609","updated":"2014-07-09 11:52:36.000000000","message":"+1","commit_id":"c5cd5db54f9cb376f224826a7496cd2993181545"}],"trove/instance/models.py":[{"author":{"_account_id":9664,"name":"amrith","email":"amrith.kumar@gmail.com","username":"amrith"},"change_message_id":"16af86c87bc971c32301e313445765f9a573c973","unresolved":false,"context_lines":[{"line_number":949,"context_line":"                #TODO(tim.simpson): Delete when we get notifications working!"},{"line_number":950,"context_line":"                if InstanceTasks.BUILDING \u003d\u003d db.task_status:"},{"line_number":951,"context_line":"                    db.server_status \u003d \"BUILD\""},{"line_number":952,"context_line":"                    db.addresses \u003d {}"},{"line_number":953,"context_line":"                else:"},{"line_number":954,"context_line":"                    try:"},{"line_number":955,"context_line":"                        server \u003d find_server(db.id, db.compute_instance_id)"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_8f2ee68a","line":952,"updated":"2014-07-11 11:18:29.000000000","message":"Why? Can you not get an IP for a server that is in BUILD state?\n\nI can see that you are attempting a slightly modify existing code and maybe the earlier code didn\u0027t care to get server status for a server in building state. But, IP should be available for a server in BUILD state. right?","commit_id":"af74e78f2de0f6f36e9319a14a58298c63996dc4"},{"author":{"_account_id":9683,"name":"Mat Lowery","email":"mlowery@ebaysf.com","username":"mat-lowery"},"change_message_id":"b08441b249aec0f859e3ee045c032f976abdd234","unresolved":false,"context_lines":[{"line_number":949,"context_line":"                #TODO(tim.simpson): Delete when we get notifications working!"},{"line_number":950,"context_line":"                if InstanceTasks.BUILDING \u003d\u003d db.task_status:"},{"line_number":951,"context_line":"                    db.server_status \u003d \"BUILD\""},{"line_number":952,"context_line":"                    db.addresses \u003d {}"},{"line_number":953,"context_line":"                else:"},{"line_number":954,"context_line":"                    try:"},{"line_number":955,"context_line":"                        server \u003d find_server(db.id, db.compute_instance_id)"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_a05f300e","line":952,"in_reply_to":"baada198_8f2ee68a","updated":"2014-07-11 15:28:18.000000000","message":"Hi amrith,\n\nThis is the same behavior as here:\nhttp://git.io/QfMoyg\n\nSo InstanceTasks.BUILDING is the initial task_status in the DB for a Trove instance. And TM doesn\u0027t set task_state to InstanceTasks.NONE until after the Nova call returns. And since trove.taskmanager.api.API#create_instance is a cast, the create call will return before Nova has even been called. If I then turn around and immediately attempt to list instances before Nova has supplied an IP, then there\u0027s no IP. That\u0027s why I think this line is valid.","commit_id":"af74e78f2de0f6f36e9319a14a58298c63996dc4"}],"trove/instance/service.py":[{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"6f63c0aea2e95652bf80e6f7d9a136b68087a76e","unresolved":false,"context_lines":[{"line_number":134,"context_line":"        LOG.info(_(\"Indexing a database instance for tenant \u0027%s\u0027\") % tenant_id)"},{"line_number":135,"context_line":"        context \u003d req.environ[wsgi.CONTEXT_KEY]"},{"line_number":136,"context_line":"        servers, marker \u003d models.Instances.load(context)"},{"line_number":137,"context_line":"        view \u003d views.InstancesView(servers, req\u003dreq)   # view with IP address added"},{"line_number":138,"context_line":"        paged \u003d pagination.SimplePaginatedDataView(req.url, \u0027instances\u0027, view,"},{"line_number":139,"context_line":"                                                   marker)"},{"line_number":140,"context_line":"        return wsgi.Result(paged.data(), 200)"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_3b6106d4","line":137,"updated":"2014-07-09 00:30:46.000000000","message":"unnecessary and not helpful comment; please remove.","commit_id":"c5cd5db54f9cb376f224826a7496cd2993181545"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"edff4d635a5a030084e0cce7d5ca4540b9681064","unresolved":false,"context_lines":[{"line_number":134,"context_line":"        LOG.info(_(\"Indexing a database instance for tenant \u0027%s\u0027\") % tenant_id)"},{"line_number":135,"context_line":"        context \u003d req.environ[wsgi.CONTEXT_KEY]"},{"line_number":136,"context_line":"        servers, marker \u003d models.Instances.load(context)"},{"line_number":137,"context_line":"        view \u003d views.InstancesView(servers, req\u003dreq)   # view with IP address added"},{"line_number":138,"context_line":"        paged \u003d pagination.SimplePaginatedDataView(req.url, \u0027instances\u0027, view,"},{"line_number":139,"context_line":"                                                   marker)"},{"line_number":140,"context_line":"        return wsgi.Result(paged.data(), 200)"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_6f756e31","line":137,"in_reply_to":"baada198_3b6106d4","updated":"2014-07-09 11:52:36.000000000","message":"+1","commit_id":"c5cd5db54f9cb376f224826a7496cd2993181545"},{"author":{"_account_id":11831,"name":"Suthan Venkataramanaiah","email":"svenkataramanaia@ebaysf.com","username":"svenkataramanaia"},"change_message_id":"ea5c2348d75b6ae8424ed6a4c88c0a26c9bde342","unresolved":false,"context_lines":[{"line_number":134,"context_line":"        LOG.info(_(\"Indexing a database instance for tenant \u0027%s\u0027\") % tenant_id)"},{"line_number":135,"context_line":"        context \u003d req.environ[wsgi.CONTEXT_KEY]"},{"line_number":136,"context_line":"        servers, marker \u003d models.Instances.load(context)"},{"line_number":137,"context_line":"        view \u003d views.InstancesView(servers, req\u003dreq)   # view with IP address added"},{"line_number":138,"context_line":"        paged \u003d pagination.SimplePaginatedDataView(req.url, \u0027instances\u0027, view,"},{"line_number":139,"context_line":"                                                   marker)"},{"line_number":140,"context_line":"        return wsgi.Result(paged.data(), 200)"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_60ee4a8d","line":137,"in_reply_to":"baada198_6f756e31","updated":"2014-07-09 21:01:13.000000000","message":"Done","commit_id":"c5cd5db54f9cb376f224826a7496cd2993181545"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"7cef82fa4a0bbbf2246f96288bd04e08ad232fae","unresolved":false,"context_lines":[{"line_number":134,"context_line":"        LOG.info(_(\"Indexing a database instance for tenant \u0027%s\u0027\") % tenant_id)"},{"line_number":135,"context_line":"        context \u003d req.environ[wsgi.CONTEXT_KEY]"},{"line_number":136,"context_line":"        servers, marker \u003d models.Instances.load(context)"},{"line_number":137,"context_line":"        view \u003d views.InstancesView(servers, req\u003dreq)   "},{"line_number":138,"context_line":"        paged \u003d pagination.SimplePaginatedDataView(req.url, \u0027instances\u0027, view,"},{"line_number":139,"context_line":"                                                   marker)"},{"line_number":140,"context_line":"        return wsgi.Result(paged.data(), 200)"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_b7026909","line":137,"updated":"2014-07-09 19:38:37.000000000","message":"Missed white space at the end of the line","commit_id":"f6fc629438d42d5cea7606b49bbe6702b0eb0a46"},{"author":{"_account_id":11831,"name":"Suthan Venkataramanaiah","email":"svenkataramanaia@ebaysf.com","username":"svenkataramanaia"},"change_message_id":"1be6b73d6ad25b662f77bed7eac16e7e6986e431","unresolved":false,"context_lines":[{"line_number":134,"context_line":"        LOG.info(_(\"Indexing a database instance for tenant \u0027%s\u0027\") % tenant_id)"},{"line_number":135,"context_line":"        context \u003d req.environ[wsgi.CONTEXT_KEY]"},{"line_number":136,"context_line":"        servers, marker \u003d models.Instances.load(context)"},{"line_number":137,"context_line":"        view \u003d views.InstancesView(servers, req\u003dreq)   "},{"line_number":138,"context_line":"        paged \u003d pagination.SimplePaginatedDataView(req.url, \u0027instances\u0027, view,"},{"line_number":139,"context_line":"                                                   marker)"},{"line_number":140,"context_line":"        return wsgi.Result(paged.data(), 200)"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_0607661e","line":137,"in_reply_to":"baada198_126ec3c9","updated":"2014-07-09 21:12:42.000000000","message":"Done","commit_id":"f6fc629438d42d5cea7606b49bbe6702b0eb0a46"},{"author":{"_account_id":11831,"name":"Suthan Venkataramanaiah","email":"svenkataramanaia@ebaysf.com","username":"svenkataramanaia"},"change_message_id":"1be6b73d6ad25b662f77bed7eac16e7e6986e431","unresolved":false,"context_lines":[{"line_number":134,"context_line":"        LOG.info(_(\"Indexing a database instance for tenant \u0027%s\u0027\") % tenant_id)"},{"line_number":135,"context_line":"        context \u003d req.environ[wsgi.CONTEXT_KEY]"},{"line_number":136,"context_line":"        servers, marker \u003d models.Instances.load(context)"},{"line_number":137,"context_line":"        view \u003d views.InstancesView(servers, req\u003dreq)   "},{"line_number":138,"context_line":"        paged \u003d pagination.SimplePaginatedDataView(req.url, \u0027instances\u0027, view,"},{"line_number":139,"context_line":"                                                   marker)"},{"line_number":140,"context_line":"        return wsgi.Result(paged.data(), 200)"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_e60b5229","line":137,"in_reply_to":"baada198_b7026909","updated":"2014-07-09 21:12:42.000000000","message":"Done","commit_id":"f6fc629438d42d5cea7606b49bbe6702b0eb0a46"},{"author":{"_account_id":9749,"name":"Greg Lucas","email":"greg@glucas.net","username":"glucas"},"change_message_id":"dceacb5c45b245e95283d7ce8b662fe9f2e9eeea","unresolved":false,"context_lines":[{"line_number":134,"context_line":"        LOG.info(_(\"Indexing a database instance for tenant \u0027%s\u0027\") % tenant_id)"},{"line_number":135,"context_line":"        context \u003d req.environ[wsgi.CONTEXT_KEY]"},{"line_number":136,"context_line":"        servers, marker \u003d models.Instances.load(context)"},{"line_number":137,"context_line":"        view \u003d views.InstancesView(servers, req\u003dreq)   "},{"line_number":138,"context_line":"        paged \u003d pagination.SimplePaginatedDataView(req.url, \u0027instances\u0027, view,"},{"line_number":139,"context_line":"                                                   marker)"},{"line_number":140,"context_line":"        return wsgi.Result(paged.data(), 200)"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_126ec3c9","line":137,"in_reply_to":"baada198_b7026909","updated":"2014-07-09 19:45:29.000000000","message":"Looks like this file could be dropped from the patch set altogether?","commit_id":"f6fc629438d42d5cea7606b49bbe6702b0eb0a46"}],"trove/instance/views.py":[{"author":{"_account_id":8214,"name":"Auston McReynolds","email":"amcreynolds@ebaysf.com","username":"amcreynolds"},"change_message_id":"6f63c0aea2e95652bf80e6f7d9a136b68087a76e","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        if CONF.trove_volume_support:"},{"line_number":43,"context_line":"            instance_dict[\u0027volume\u0027] \u003d {\u0027size\u0027: self.instance.volume_size}"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        #Ipaddress added"},{"line_number":46,"context_line":"        if self.instance.hostname:"},{"line_number":47,"context_line":"            instance_dict[\u0027hostname\u0027] \u003d self.instance.hostname"},{"line_number":48,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_5b5eba13","line":45,"updated":"2014-07-09 00:30:46.000000000","message":"unnecessary and not helpful comment; please remove.","commit_id":"c5cd5db54f9cb376f224826a7496cd2993181545"},{"author":{"_account_id":8415,"name":"Denis M.","email":"lildee1991@gmail.com","username":"dmakogon"},"change_message_id":"edff4d635a5a030084e0cce7d5ca4540b9681064","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        if CONF.trove_volume_support:"},{"line_number":43,"context_line":"            instance_dict[\u0027volume\u0027] \u003d {\u0027size\u0027: self.instance.volume_size}"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        #Ipaddress added"},{"line_number":46,"context_line":"        if self.instance.hostname:"},{"line_number":47,"context_line":"            instance_dict[\u0027hostname\u0027] \u003d self.instance.hostname"},{"line_number":48,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_af8ea625","line":45,"in_reply_to":"baada198_5b5eba13","updated":"2014-07-09 11:52:36.000000000","message":"+1","commit_id":"c5cd5db54f9cb376f224826a7496cd2993181545"},{"author":{"_account_id":11831,"name":"Suthan Venkataramanaiah","email":"svenkataramanaia@ebaysf.com","username":"svenkataramanaia"},"change_message_id":"ea5c2348d75b6ae8424ed6a4c88c0a26c9bde342","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        if CONF.trove_volume_support:"},{"line_number":43,"context_line":"            instance_dict[\u0027volume\u0027] \u003d {\u0027size\u0027: self.instance.volume_size}"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"        #Ipaddress added"},{"line_number":46,"context_line":"        if self.instance.hostname:"},{"line_number":47,"context_line":"            instance_dict[\u0027hostname\u0027] \u003d self.instance.hostname"},{"line_number":48,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_00fd8e3b","line":45,"in_reply_to":"baada198_af8ea625","updated":"2014-07-09 21:01:13.000000000","message":"Done","commit_id":"c5cd5db54f9cb376f224826a7496cd2993181545"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"bafefe328be975814d5bb639f1b22ff48ec59ab9","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            instance_dict[\u0027hostname\u0027] \u003d self.instance.hostname"},{"line_number":48,"context_line":"        else:"},{"line_number":49,"context_line":"            ip \u003d self.instance.get_visible_ip_addresses()"},{"line_number":50,"context_line":"            if ip is not None and len(ip) \u003e 0:"},{"line_number":51,"context_line":"                instance_dict[\u0027ip\u0027] \u003d ip"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        LOG.debug(instance_dict)"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_57882dc6","line":50,"range":{"start_line":50,"start_character":12,"end_line":50,"end_character":46},"updated":"2014-07-09 19:34:44.000000000","message":"This can be reduced to:\n  if ip:\njust like with self.instance.hostname","commit_id":"c5cd5db54f9cb376f224826a7496cd2993181545"},{"author":{"_account_id":11831,"name":"Suthan Venkataramanaiah","email":"svenkataramanaia@ebaysf.com","username":"svenkataramanaia"},"change_message_id":"ea5c2348d75b6ae8424ed6a4c88c0a26c9bde342","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            instance_dict[\u0027hostname\u0027] \u003d self.instance.hostname"},{"line_number":48,"context_line":"        else:"},{"line_number":49,"context_line":"            ip \u003d self.instance.get_visible_ip_addresses()"},{"line_number":50,"context_line":"            if ip is not None and len(ip) \u003e 0:"},{"line_number":51,"context_line":"                instance_dict[\u0027ip\u0027] \u003d ip"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"        LOG.debug(instance_dict)"}],"source_content_type":"text/x-python","patch_set":2,"id":"baada198_60956ae3","line":50,"range":{"start_line":50,"start_character":12,"end_line":50,"end_character":46},"in_reply_to":"baada198_57882dc6","updated":"2014-07-09 21:01:13.000000000","message":"Done","commit_id":"c5cd5db54f9cb376f224826a7496cd2993181545"},{"author":{"_account_id":10215,"name":"Peter Stachowski","email":"peter@tesora.com","username":"peterstac"},"change_message_id":"7cef82fa4a0bbbf2246f96288bd04e08ad232fae","unresolved":false,"context_lines":[{"line_number":46,"context_line":"            instance_dict[\u0027hostname\u0027] \u003d self.instance.hostname"},{"line_number":47,"context_line":"        else:"},{"line_number":48,"context_line":"            ip \u003d self.instance.get_visible_ip_addresses()"},{"line_number":49,"context_line":"            if ip is not None and len(ip) \u003e 0:"},{"line_number":50,"context_line":"                instance_dict[\u0027ip\u0027] \u003d ip"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        LOG.debug(instance_dict)"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_5212fb58","line":49,"updated":"2014-07-09 19:38:37.000000000","message":"This can be reduced to:\n  if ip:\njust like with self.instance.hostname\n(Might as well improve the code when you move it ;))","commit_id":"f6fc629438d42d5cea7606b49bbe6702b0eb0a46"},{"author":{"_account_id":11831,"name":"Suthan Venkataramanaiah","email":"svenkataramanaia@ebaysf.com","username":"svenkataramanaia"},"change_message_id":"1be6b73d6ad25b662f77bed7eac16e7e6986e431","unresolved":false,"context_lines":[{"line_number":46,"context_line":"            instance_dict[\u0027hostname\u0027] \u003d self.instance.hostname"},{"line_number":47,"context_line":"        else:"},{"line_number":48,"context_line":"            ip \u003d self.instance.get_visible_ip_addresses()"},{"line_number":49,"context_line":"            if ip is not None and len(ip) \u003e 0:"},{"line_number":50,"context_line":"                instance_dict[\u0027ip\u0027] \u003d ip"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"        LOG.debug(instance_dict)"}],"source_content_type":"text/x-python","patch_set":3,"id":"baada198_461b1eca","line":49,"in_reply_to":"baada198_5212fb58","updated":"2014-07-09 21:12:42.000000000","message":"Done","commit_id":"f6fc629438d42d5cea7606b49bbe6702b0eb0a46"}],"trove/tests/api/instances.py":[{"author":{"_account_id":5390,"name":"Steve Leon","username":"steve-leon","inactive":true},"change_message_id":"4859d18bfe8bd6830ef4563833294943dee9030c","unresolved":false,"context_lines":[{"line_number":938,"context_line":"                check.datastore()"},{"line_number":939,"context_line":"                check.volume()"},{"line_number":940,"context_line":""},{"line_number":941,"context_line":"    @test"},{"line_number":942,"context_line":"    def test_get_instance(self):"},{"line_number":943,"context_line":"        expected_attrs \u003d [\u0027created\u0027, \u0027databases\u0027, \u0027flavor\u0027, \u0027hostname\u0027, \u0027id\u0027,"},{"line_number":944,"context_line":"                          \u0027links\u0027, \u0027name\u0027, \u0027status\u0027, \u0027updated\u0027, \u0027ip\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_6ada474c","line":941,"updated":"2014-07-11 22:33:08.000000000","message":"I was expecting this test to failed since the detailed view no longer returns the IP nor the hostname. Perhaps im not understanding this well","commit_id":"af74e78f2de0f6f36e9319a14a58298c63996dc4"},{"author":{"_account_id":5293,"name":"Nikhil","email":"SlickNik@gmail.com","username":"slicknik"},"change_message_id":"327e4e0abf6771420a02081c2b6499a956240570","unresolved":false,"context_lines":[{"line_number":938,"context_line":"                check.datastore()"},{"line_number":939,"context_line":"                check.volume()"},{"line_number":940,"context_line":""},{"line_number":941,"context_line":"    @test"},{"line_number":942,"context_line":"    def test_get_instance(self):"},{"line_number":943,"context_line":"        expected_attrs \u003d [\u0027created\u0027, \u0027databases\u0027, \u0027flavor\u0027, \u0027hostname\u0027, \u0027id\u0027,"},{"line_number":944,"context_line":"                          \u0027links\u0027, \u0027name\u0027, \u0027status\u0027, \u0027updated\u0027, \u0027ip\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"baada198_f1cb916f","line":941,"in_reply_to":"baada198_6ada474c","updated":"2014-07-14 08:31:42.000000000","message":"InstanceDetailView extends InstanceView, and InstanceView now returns IP and hostname, so this should still work.","commit_id":"af74e78f2de0f6f36e9319a14a58298c63996dc4"}]}
