)]}'
{"nova/tests/test_xenapi.py":[{"author":{"_account_id":475,"name":"Rick Harris","email":"rick.harris@rackspace.com","username":"rconradharris"},"change_message_id":"edb298228b617f0dd862cd50a3f201c45cb2d1fb","unresolved":false,"context_lines":[{"line_number":812,"context_line":""},{"line_number":813,"context_line":"    def test_resize_xenserver_6(self):"},{"line_number":814,"context_line":"        instance \u003d db.instance_create(self.context, self.instance_values)"},{"line_number":815,"context_line":"        self.called \u003d False"},{"line_number":816,"context_line":""},{"line_number":817,"context_line":"        def fake_vdi_resize(*args, **kwargs):"},{"line_number":818,"context_line":"            self.called \u003d True"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAACX%2F%2F63w%3D","line":815,"updated":"2011-10-25 00:11:45.000000000","message":"This seems slightly dangerous since the \u0027called\u0027 value can leak across tests. \n\nIt might be better to initialize a local dictionary and then use that to store whether the function was called:\n\ncalled \u003d {\u0027resize\u0027: False}\n\ndef fake_vdi_resize(*args, **kwargs):\n    called[\u0027resize\u0027] \u003d True\n\nself.assertEqual(called[\u0027resize\u0027], True)","commit_id":"6d0c65bcbe6e73d2db04122f2e5d57b97ef3a2f1"},{"author":{"_account_id":385,"name":"Jason Kölker","email":"jason@koelker.net","username":"jason-koelker"},"change_message_id":"4e95fdfe9ca940cc413c9f3fa9c25089d1141c29","unresolved":false,"context_lines":[{"line_number":812,"context_line":""},{"line_number":813,"context_line":"    def test_resize_xenserver_6(self):"},{"line_number":814,"context_line":"        instance \u003d db.instance_create(self.context, self.instance_values)"},{"line_number":815,"context_line":"        self.called \u003d False"},{"line_number":816,"context_line":""},{"line_number":817,"context_line":"        def fake_vdi_resize(*args, **kwargs):"},{"line_number":818,"context_line":"            self.called \u003d True"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAACX%2F%2F6io%3D","line":815,"in_reply_to":"AAAACX%2F%2F63w%3D","updated":"2011-10-26 16:21:26.000000000","message":"Done","commit_id":"6d0c65bcbe6e73d2db04122f2e5d57b97ef3a2f1"}],"nova/virt/xenapi_conn.py":[{"author":{"_account_id":475,"name":"Rick Harris","email":"rick.harris@rackspace.com","username":"rconradharris"},"change_message_id":"edb298228b617f0dd862cd50a3f201c45cb2d1fb","unresolved":false,"context_lines":[{"line_number":415,"context_line":"    def get_product_version(self):"},{"line_number":416,"context_line":"        \"\"\"Return a tuple of (major, minor, rev) for the host version\"\"\""},{"line_number":417,"context_line":"        product_version \u003d self.get_xenapi_host_version()[\u0027product_version\u0027]"},{"line_number":418,"context_line":"        return tuple([int(part) for part in product_version.split(\u0027.\u0027)])"},{"line_number":419,"context_line":""},{"line_number":420,"context_line":"    def get_imported_xenapi(self):"},{"line_number":421,"context_line":"        \"\"\"Stubout point. This can be replaced with a mock xenapi module.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAACX%2F%2F63s%3D","line":418,"updated":"2011-10-25 00:11:45.000000000","message":"Very minor, but the square brackets are unnecessary here since the tuple can be built from the generator comprehension.","commit_id":"6d0c65bcbe6e73d2db04122f2e5d57b97ef3a2f1"},{"author":{"_account_id":385,"name":"Jason Kölker","email":"jason@koelker.net","username":"jason-koelker"},"change_message_id":"4e95fdfe9ca940cc413c9f3fa9c25089d1141c29","unresolved":false,"context_lines":[{"line_number":415,"context_line":"    def get_product_version(self):"},{"line_number":416,"context_line":"        \"\"\"Return a tuple of (major, minor, rev) for the host version\"\"\""},{"line_number":417,"context_line":"        product_version \u003d self.get_xenapi_host_version()[\u0027product_version\u0027]"},{"line_number":418,"context_line":"        return tuple([int(part) for part in product_version.split(\u0027.\u0027)])"},{"line_number":419,"context_line":""},{"line_number":420,"context_line":"    def get_imported_xenapi(self):"},{"line_number":421,"context_line":"        \"\"\"Stubout point. This can be replaced with a mock xenapi module.\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAACX%2F%2F6ic%3D","line":418,"in_reply_to":"AAAACX%2F%2F63s%3D","updated":"2011-10-26 16:21:26.000000000","message":"Done","commit_id":"6d0c65bcbe6e73d2db04122f2e5d57b97ef3a2f1"},{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"1b60f0c1f23fb21c80d83d5e3a40b5e09591cb71","unresolved":false,"context_lines":[{"line_number":436,"context_line":"        if self.get_product_version()[0] \u003e 5:"},{"line_number":437,"context_line":"            resize_func_name \u003d \u0027VDI.resize\u0027"},{"line_number":438,"context_line":"        return resize_func_name"},{"line_number":439,"context_line":""},{"line_number":440,"context_line":"    @contextlib.contextmanager"},{"line_number":441,"context_line":"    def _get_session(self):"},{"line_number":442,"context_line":"        \"\"\"Return exclusive session for scope of with statement\"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAACX%2F%2F6UI%3D","line":439,"updated":"2011-10-27 02:30:55.000000000","message":"Thought about this some more.  I\u0027d like to see the xen version cached.  Ie, only grab the version from xenapi once.  It\u0027ll save having to make this extra xenapi call on every resize.","commit_id":"7f04d4f0a850a8a6dd77eaa90031233ec1114d52"},{"author":{"_account_id":642,"name":"Matt Dietz","email":"matthew.dietz@gmail.com","username":"cerberus"},"change_message_id":"3c94b1eaa959be49992cc46a854dc31e89c68444","unresolved":false,"context_lines":[{"line_number":436,"context_line":"        if self.get_product_version()[0] \u003e 5:"},{"line_number":437,"context_line":"            resize_func_name \u003d \u0027VDI.resize\u0027"},{"line_number":438,"context_line":"        return resize_func_name"},{"line_number":439,"context_line":""},{"line_number":440,"context_line":"    @contextlib.contextmanager"},{"line_number":441,"context_line":"    def _get_session(self):"},{"line_number":442,"context_line":"        \"\"\"Return exclusive session for scope of with statement\"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAACX%2F%2F5nQ%3D","line":439,"in_reply_to":"AAAACX%2F%2F6UI%3D","updated":"2011-10-31 18:20:55.000000000","message":"/obvious - we should make sure to refactor that outside of the session altogether to avoid even attempting to log in.","commit_id":"7f04d4f0a850a8a6dd77eaa90031233ec1114d52"},{"author":{"_account_id":475,"name":"Rick Harris","email":"rick.harris@rackspace.com","username":"rconradharris"},"change_message_id":"ee280c9b4afcdea49c3e1febfbb2ca91070ef223","unresolved":false,"context_lines":[{"line_number":211,"context_line":"    def finish_migration(self, context, migration, instance, disk_info,"},{"line_number":212,"context_line":"                         network_info, resize_instance\u003dFalse):"},{"line_number":213,"context_line":"        \"\"\"Completes a resize, turning on the migrated instance\"\"\""},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"        self._vmops.finish_migration(context, migration, instance, disk_info,"},{"line_number":216,"context_line":"                                     network_info, resize_instance)"},{"line_number":217,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAACn%2F%2F%2Fjw%3D","line":214,"updated":"2011-11-09 22:25:44.000000000","message":"Accidental whitespace tweak?\n\nDoesn\u0027t match surrounding code, that\u0027s why I ask...","commit_id":"3a347bbcf31a874400aa5b9ceca160165a64710b"},{"author":{"_account_id":475,"name":"Rick Harris","email":"rick.harris@rackspace.com","username":"rconradharris"},"change_message_id":"ee280c9b4afcdea49c3e1febfbb2ca91070ef223","unresolved":false,"context_lines":[{"line_number":592,"context_line":"        super(HostState, self).__init__()"},{"line_number":593,"context_line":"        self._session \u003d session"},{"line_number":594,"context_line":"        self._stats \u003d {}"},{"line_number":595,"context_line":"        self._product_version \u003d None"},{"line_number":596,"context_line":"        self.update_status()"},{"line_number":597,"context_line":""},{"line_number":598,"context_line":"    def get_host_stats(self, refresh\u003dFalse):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAACn%2F%2F%2Fj0%3D","line":595,"updated":"2011-11-09 22:25:44.000000000","message":"Is this vestigial? Dont see it used anywhere.","commit_id":"3a347bbcf31a874400aa5b9ceca160165a64710b"}]}
