)]}'
{"nova/tests/test_xenapi.py":[{"author":{"_account_id":100,"name":"Johannes Erdfelt","email":"johannes@erdfelt.com","username":"johannes.erdfelt"},"change_message_id":"1395344be040567afebb5bb8ce83349e491ffb49","unresolved":false,"context_lines":[{"line_number":715,"context_line":"    def test_rescue(self):"},{"line_number":716,"context_line":"        instance \u003d self._create_instance()"},{"line_number":717,"context_line":"        session \u003d xenapi_conn.XenAPISession(\u0027test_url\u0027, \u0027root\u0027, \u0027test_pass\u0027)"},{"line_number":718,"context_line":"        vm_uuid \u003d vm_utils.VMHelper.lookup(session, instance.name)"},{"line_number":719,"context_line":""},{"line_number":720,"context_line":"        xenapi_fake.create_vbd(vm_uuid, \"swap\", userdevice\u003d1)"},{"line_number":721,"context_line":"        xenapi_fake.create_vbd(vm_uuid, \"rootfs\", userdevice\u003d0)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAHX%2F%2F9QA%3D","line":718,"updated":"2012-05-10 22:51:31.000000000","message":"While this code works, pretty much everywhere here that you call a uuid is actually a ref (eg vm_ref instead of vm_uuid)\n\nvdi_uuids are really uuids :)\n\nI don\u0027t know why XS has a UUID and a ref that both uniquely identify objects, but it has caused me confusion often as well.","commit_id":"8a8dc311a3c27e6a41a2443c95bbe4614300ea70"},{"author":{"_account_id":706,"name":"Brian Lamar","email":"brian.lamar@rackspace.com","username":"blamar"},"change_message_id":"2e9d318654f009058bce3885f3aab7f5e85253d0","unresolved":false,"context_lines":[{"line_number":715,"context_line":"    def test_rescue(self):"},{"line_number":716,"context_line":"        instance \u003d self._create_instance()"},{"line_number":717,"context_line":"        session \u003d xenapi_conn.XenAPISession(\u0027test_url\u0027, \u0027root\u0027, \u0027test_pass\u0027)"},{"line_number":718,"context_line":"        vm_uuid \u003d vm_utils.VMHelper.lookup(session, instance.name)"},{"line_number":719,"context_line":""},{"line_number":720,"context_line":"        xenapi_fake.create_vbd(vm_uuid, \"swap\", userdevice\u003d1)"},{"line_number":721,"context_line":"        xenapi_fake.create_vbd(vm_uuid, \"rootfs\", userdevice\u003d0)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAHX%2F%2F7mI%3D","line":718,"in_reply_to":"AAAAHX%2F%2F9QA%3D","updated":"2012-05-15 21:12:19.000000000","message":"vm_uuid in this case is a Python \u003ctype \u0027str\u0027\u003e value which contains a value such as \"b4d15512-78dd-4b28-939d-b8067907a7eb\". I think I see the problem we\u0027re going to have here haha. \n\nvm_ref is used a lot of places in the code and I\u0027ve always had a problem with it because near everything in Python is a \"reference\". However, what I was missing was that vm_ref is referring to the XenServer concept of a virtual machine reference UUID? Whew...\n\nI see what you mean but there has got to be a better way....haha. I\u0027ll clean this up to be more in line with other code.","commit_id":"8a8dc311a3c27e6a41a2443c95bbe4614300ea70"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"ad5114792d301db4102ac44290b0578b5c172c39","unresolved":false,"context_lines":[{"line_number":716,"context_line":"        vm_ref \u003d vm_utils.VMHelper.lookup(session, instance.name)"},{"line_number":717,"context_line":""},{"line_number":718,"context_line":"        xenapi_fake.create_vbd(vm_ref, \"swap\", userdevice\u003d1)"},{"line_number":719,"context_line":"        xenapi_fake.create_vbd(vm_ref, \"rootfs\", userdevice\u003d0)"},{"line_number":720,"context_line":""},{"line_number":721,"context_line":"        conn \u003d xenapi_conn.get_connection(False)"},{"line_number":722,"context_line":"        image_meta \u003d {\u0027id\u0027: glance_stubs.FakeGlance.IMAGE_VHD,"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAHX%2F%2F4XM%3D","line":719,"updated":"2012-05-23 21:55:02.000000000","message":"Curiosity only: Is there a reason these vbds need to be created in this order?  I would have expected \"userdevice\u003d0\" to appear first…","commit_id":"1d7b4f1e5eb3d6e00eeaa927c67c765f726b9d77"}],"nova/virt/xenapi/vmops.py":[{"author":{"_account_id":100,"name":"Johannes Erdfelt","email":"johannes@erdfelt.com","username":"johannes.erdfelt"},"change_message_id":"1395344be040567afebb5bb8ce83349e491ffb49","unresolved":false,"context_lines":[{"line_number":1019,"context_line":"            if vbd[\"userdevice\"] \u003d\u003d \"0\":"},{"line_number":1020,"context_line":"                return vbd[\"VDI\"]"},{"line_number":1021,"context_line":""},{"line_number":1022,"context_line":"        raise Exception(_(\"Unable to find root VBD/VDI for VM\"))"},{"line_number":1023,"context_line":""},{"line_number":1024,"context_line":"    def _safe_destroy_vdis(self, vdi_refs):"},{"line_number":1025,"context_line":"        \"\"\"Destroys the requested VDIs, logging any StorageError exceptions.\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAHX%2F%2F9P8%3D","line":1022,"updated":"2012-05-10 22:51:31.000000000","message":"Is there a more appropriate exception we can use? Maybe exceptions.NotFound?","commit_id":"8a8dc311a3c27e6a41a2443c95bbe4614300ea70"},{"author":{"_account_id":706,"name":"Brian Lamar","email":"brian.lamar@rackspace.com","username":"blamar"},"change_message_id":"2e9d318654f009058bce3885f3aab7f5e85253d0","unresolved":false,"context_lines":[{"line_number":1019,"context_line":"            if vbd[\"userdevice\"] \u003d\u003d \"0\":"},{"line_number":1020,"context_line":"                return vbd[\"VDI\"]"},{"line_number":1021,"context_line":""},{"line_number":1022,"context_line":"        raise Exception(_(\"Unable to find root VBD/VDI for VM\"))"},{"line_number":1023,"context_line":""},{"line_number":1024,"context_line":"    def _safe_destroy_vdis(self, vdi_refs):"},{"line_number":1025,"context_line":"        \"\"\"Destroys the requested VDIs, logging any StorageError exceptions.\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAHX%2F%2F8Ds%3D","line":1022,"in_reply_to":"AAAAHX%2F%2F9P8%3D","updated":"2012-05-15 21:12:19.000000000","message":"Sure. I was blindly copying, but exceptions.NotFound makes more sense I suppose. Will update that.","commit_id":"8a8dc311a3c27e6a41a2443c95bbe4614300ea70"},{"author":{"_account_id":1030,"name":"Chris Behrens","email":"cbehrens@codestud.com","username":"cbehrens"},"change_message_id":"294fa6fd5fa56604f147488a6be58b616f96cbf7","unresolved":false,"context_lines":[{"line_number":1019,"context_line":"            if vbd[\"userdevice\"] \u003d\u003d \"0\":"},{"line_number":1020,"context_line":"                return vbd[\"VDI\"]"},{"line_number":1021,"context_line":""},{"line_number":1022,"context_line":"        raise Exception(_(\"Unable to find root VBD/VDI for VM\"))"},{"line_number":1023,"context_line":""},{"line_number":1024,"context_line":"    def _safe_destroy_vdis(self, vdi_refs):"},{"line_number":1025,"context_line":"        \"\"\"Destroys the requested VDIs, logging any StorageError exceptions.\"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAHX%2F%2F6WU%3D","line":1022,"updated":"2012-05-18 07:15:55.000000000","message":"in patch set 1, i think you said you were going to change this to NotFound, even though you\u0027re blindly copying.  Just verifying this might have slipped your mind.. :)","commit_id":"ed224a9d9d1f574447b1272625c51101e9ed94e5"}]}
