)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"879533c4eb678e4f0a9659aa04fd48dbc94156b8","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"VMware: Fix VMDK volume detach issue if the backing VM is unregistered"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currrently, if the backing VM is unregistered and registered back"},{"line_number":10,"context_line":"in vCenter of an attached volume, the VMDK volume detach operation"},{"line_number":11,"context_line":"fails. Because we are relying on the VM MOID present in the"},{"line_number":12,"context_line":"connection_info, provided by cinder."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3aaa91ec_7f9e7757","line":9,"range":{"start_line":9,"start_character":15,"end_line":9,"end_character":45},"updated":"2016-06-22 07:20:52.000000000","message":"What is unregestering that? It is supposed to be \u0027managed by\u0027 Cinder.","commit_id":"407e38c84173e19158e443711e5fd7617dd185da"},{"author":{"_account_id":6498,"name":"Divakar Padiyar Nandavar","email":"divakar.padiyar-nandavar@hpe.com","username":"divakar-padiyar-nandavar"},"change_message_id":"630b8f1971cea4f18e6a2515c71d40cbd3f1b62d","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"VMware: Fix VMDK volume detach issue if the backing VM is unregistered"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currrently, if the backing VM is unregistered and registered back"},{"line_number":10,"context_line":"in vCenter of an attached volume, the VMDK volume detach operation"},{"line_number":11,"context_line":"fails. Because we are relying on the VM MOID present in the"},{"line_number":12,"context_line":"connection_info, provided by cinder."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3aaa91ec_c63a3fcd","line":9,"range":{"start_line":9,"start_character":15,"end_line":9,"end_character":45},"in_reply_to":"3aaa91ec_7f9e7757","updated":"2016-06-22 09:34:10.000000000","message":"Consider a user scenario that the volume backed VM is corrupted somehow and needs to be restored from a backup in which case it is like unregistering and registering the volume backed vm.","commit_id":"407e38c84173e19158e443711e5fd7617dd185da"}],"nova/virt/vmwareapi/volumeops.py":[{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"879533c4eb678e4f0a9659aa04fd48dbc94156b8","unresolved":false,"context_lines":[{"line_number":307,"context_line":"        return vutil.get_moref(volume_ref_name, \u0027VirtualMachine\u0027)"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"    def _get_volume_ref_by_vol_id(self, volume_uuid):"},{"line_number":310,"context_line":"        volume_name \u003d \u0027volume-%s\u0027 % volume_uuid"},{"line_number":311,"context_line":"        return vm_util.get_vm_ref_from_name(self._session, volume_name)"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"    def _get_vmdk_base_volume_device(self, volume_ref):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_7f1157ac","line":310,"range":{"start_line":310,"start_character":22,"end_line":310,"end_character":33},"updated":"2016-06-22 07:20:52.000000000","message":"We shouldn\u0027t rely on this; the prefix is configurable (see volume_name_template option in cinder). Also, it will break if the Cinder driver changes the naming format for backing VMs.\n\nOne option is to retrieve the name by moref during attach and persist it in instance\u0027s extra config.","commit_id":"407e38c84173e19158e443711e5fd7617dd185da"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"1049e63db1b088122c7ae68b6df23973210bfb0f","unresolved":false,"context_lines":[{"line_number":307,"context_line":"        return vutil.get_moref(volume_ref_name, \u0027VirtualMachine\u0027)"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"    def _get_volume_ref_by_vol_id(self, volume_uuid):"},{"line_number":310,"context_line":"        volume_name \u003d \u0027volume-%s\u0027 % volume_uuid"},{"line_number":311,"context_line":"        return vm_util.get_vm_ref_from_name(self._session, volume_name)"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"    def _get_vmdk_base_volume_device(self, volume_ref):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_aecd055f","line":310,"range":{"start_line":310,"start_character":22,"end_line":310,"end_character":33},"in_reply_to":"3aaa91ec_2050045d","updated":"2016-06-23 12:01:24.000000000","message":"Let me check that option. I need to see whether we cover all cases of volume creation.","commit_id":"407e38c84173e19158e443711e5fd7617dd185da"},{"author":{"_account_id":10210,"name":"Chinmaya Bharadwaj","email":"chinmaya-bharadwaj.a@hpe.com","username":"chinmay"},"change_message_id":"b4302472bd7413ca3861809a7b7bb36c528e92d6","unresolved":false,"context_lines":[{"line_number":307,"context_line":"        return vutil.get_moref(volume_ref_name, \u0027VirtualMachine\u0027)"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"    def _get_volume_ref_by_vol_id(self, volume_uuid):"},{"line_number":310,"context_line":"        volume_name \u003d \u0027volume-%s\u0027 % volume_uuid"},{"line_number":311,"context_line":"        return vm_util.get_vm_ref_from_name(self._session, volume_name)"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"    def _get_vmdk_base_volume_device(self, volume_ref):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_e37ef117","line":310,"range":{"start_line":310,"start_character":22,"end_line":310,"end_character":33},"in_reply_to":"3aaa91ec_4206e686","updated":"2016-06-23 16:13:48.000000000","message":"Thanks Vipin! I have some comments on that.","commit_id":"407e38c84173e19158e443711e5fd7617dd185da"},{"author":{"_account_id":10210,"name":"Chinmaya Bharadwaj","email":"chinmaya-bharadwaj.a@hpe.com","username":"chinmay"},"change_message_id":"a0fea9221ea8ac98138934fabe6ce628f5a5289a","unresolved":false,"context_lines":[{"line_number":307,"context_line":"        return vutil.get_moref(volume_ref_name, \u0027VirtualMachine\u0027)"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"    def _get_volume_ref_by_vol_id(self, volume_uuid):"},{"line_number":310,"context_line":"        volume_name \u003d \u0027volume-%s\u0027 % volume_uuid"},{"line_number":311,"context_line":"        return vm_util.get_vm_ref_from_name(self._session, volume_name)"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"    def _get_vmdk_base_volume_device(self, volume_ref):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_2050045d","line":310,"range":{"start_line":310,"start_character":22,"end_line":310,"end_character":33},"in_reply_to":"3aaa91ec_54087591","updated":"2016-06-23 11:48:00.000000000","message":"I was saying something like this in cinder while creating the backing vm spec.\n\n`create_spec.instanceUuid \u003d volume[\u0027id\u0027]`\n\nSo, nova doesn\u0027t have to be dependent on the MoID which can change. make \"FindAllByUuid\" call to get the ref. \n\nLooks like will have to change the method signature of [1] \u0026 [2] in cinder vmdk driver.\n\n[1]:https://github.com/openstack/cinder/blob/master/cinder/volume/drivers/vmware/vmdk.py#L433\n\n[2]: https://github.com/openstack/cinder/blob/master/cinder/volume/drivers/vmware/volumeops.py#L699","commit_id":"407e38c84173e19158e443711e5fd7617dd185da"},{"author":{"_account_id":10210,"name":"Chinmaya Bharadwaj","email":"chinmaya-bharadwaj.a@hpe.com","username":"chinmay"},"change_message_id":"3399484f045c89738ea3fb383112036db84fc3a4","unresolved":false,"context_lines":[{"line_number":307,"context_line":"        return vutil.get_moref(volume_ref_name, \u0027VirtualMachine\u0027)"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"    def _get_volume_ref_by_vol_id(self, volume_uuid):"},{"line_number":310,"context_line":"        volume_name \u003d \u0027volume-%s\u0027 % volume_uuid"},{"line_number":311,"context_line":"        return vm_util.get_vm_ref_from_name(self._session, volume_name)"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"    def _get_vmdk_base_volume_device(self, volume_ref):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_cb208a4c","line":310,"range":{"start_line":310,"start_character":22,"end_line":310,"end_character":33},"in_reply_to":"3aaa91ec_7f1157ac","updated":"2016-06-22 09:22:53.000000000","message":"yes, I wasn\u0027t sure of other means to get the ref during detach. I\u0027ll try the option you suggested.","commit_id":"407e38c84173e19158e443711e5fd7617dd185da"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"d82f37725ab7a802d976dfa636cddde3e1e2822c","unresolved":false,"context_lines":[{"line_number":307,"context_line":"        return vutil.get_moref(volume_ref_name, \u0027VirtualMachine\u0027)"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"    def _get_volume_ref_by_vol_id(self, volume_uuid):"},{"line_number":310,"context_line":"        volume_name \u003d \u0027volume-%s\u0027 % volume_uuid"},{"line_number":311,"context_line":"        return vm_util.get_vm_ref_from_name(self._session, volume_name)"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"    def _get_vmdk_base_volume_device(self, volume_ref):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_54087591","line":310,"range":{"start_line":310,"start_character":22,"end_line":310,"end_character":33},"in_reply_to":"3aaa91ec_9472ddab","updated":"2016-06-23 10:33:06.000000000","message":"See https://review.openstack.org/#/c/194534/","commit_id":"407e38c84173e19158e443711e5fd7617dd185da"},{"author":{"_account_id":9171,"name":"Vipin Balachandran","email":"vipin.bl@gmail.com","username":"vbala"},"change_message_id":"3719e97406acd2df3faa283a99f9f919ea79f92a","unresolved":false,"context_lines":[{"line_number":307,"context_line":"        return vutil.get_moref(volume_ref_name, \u0027VirtualMachine\u0027)"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"    def _get_volume_ref_by_vol_id(self, volume_uuid):"},{"line_number":310,"context_line":"        volume_name \u003d \u0027volume-%s\u0027 % volume_uuid"},{"line_number":311,"context_line":"        return vm_util.get_vm_ref_from_name(self._session, volume_name)"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"    def _get_vmdk_base_volume_device(self, volume_ref):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_4206e686","line":310,"range":{"start_line":310,"start_character":22,"end_line":310,"end_character":33},"in_reply_to":"3aaa91ec_aecd055f","updated":"2016-06-23 15:01:39.000000000","message":"We also need to cover the clone part. Changing the signature will affect many methods. We can use the extra_config to pass the instanceUuid to the volumeops module. Posted a WIP patch here:\nhttps://review.openstack.org/#/c/333389\n\nI need to update the unit tests.","commit_id":"407e38c84173e19158e443711e5fd7617dd185da"},{"author":{"_account_id":10210,"name":"Chinmaya Bharadwaj","email":"chinmaya-bharadwaj.a@hpe.com","username":"chinmay"},"change_message_id":"d5e31af0e0d0458c29c9406512fb14218680e11d","unresolved":false,"context_lines":[{"line_number":307,"context_line":"        return vutil.get_moref(volume_ref_name, \u0027VirtualMachine\u0027)"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"    def _get_volume_ref_by_vol_id(self, volume_uuid):"},{"line_number":310,"context_line":"        volume_name \u003d \u0027volume-%s\u0027 % volume_uuid"},{"line_number":311,"context_line":"        return vm_util.get_vm_ref_from_name(self._session, volume_name)"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"    def _get_vmdk_base_volume_device(self, volume_ref):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_9472ddab","line":310,"range":{"start_line":310,"start_character":22,"end_line":310,"end_character":33},"in_reply_to":"3aaa91ec_cb208a4c","updated":"2016-06-23 10:22:38.000000000","message":"How about setting \"summary.config.instanceUUID\" to cinder volume id when creating the volume in cinder ? and use it while detaching? instanceUUID will be constant, by documentation : \n\n\"\nThis identifier is used by VirtualCenter to uniquely identify all virtual machine instances, including those that may share the same SMBIOS UUID.\"","commit_id":"407e38c84173e19158e443711e5fd7617dd185da"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"5f171136cdee951811926e006a7da4c35448c73a","unresolved":false,"context_lines":[{"line_number":525,"context_line":"                  instance\u003dinstance)"},{"line_number":526,"context_line":"        data \u003d connection_info[\u0027data\u0027]"},{"line_number":527,"context_line":"        # getting the volume ref by volume name"},{"line_number":528,"context_line":"        volume_ref \u003d self._get_volume_ref_by_name(data[\u0027name\u0027])"},{"line_number":529,"context_line":""},{"line_number":530,"context_line":"        device \u003d self._get_vmdk_backed_disk_device(vm_ref, data)"},{"line_number":531,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"dada55a8_7a8945ca","line":528,"updated":"2016-07-24 13:29:26.000000000","message":"if this is using a old cinder version this would blow up. this should use a get.","commit_id":"c943fcb8a084cedf27296a7ff540968f6c800630"},{"author":{"_account_id":10210,"name":"Chinmaya Bharadwaj","email":"chinmaya-bharadwaj.a@hpe.com","username":"chinmay"},"change_message_id":"53f95175fc346035ca08eaa20c69ee7cea7b0d58","unresolved":false,"context_lines":[{"line_number":525,"context_line":"                  instance\u003dinstance)"},{"line_number":526,"context_line":"        data \u003d connection_info[\u0027data\u0027]"},{"line_number":527,"context_line":"        # getting the volume ref by volume name"},{"line_number":528,"context_line":"        volume_ref \u003d self._get_volume_ref_by_name(data[\u0027name\u0027])"},{"line_number":529,"context_line":""},{"line_number":530,"context_line":"        device \u003d self._get_vmdk_backed_disk_device(vm_ref, data)"},{"line_number":531,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"dada55a8_aeced680","line":528,"in_reply_to":"dada55a8_7a8945ca","updated":"2016-07-25 06:15:51.000000000","message":"Done","commit_id":"c943fcb8a084cedf27296a7ff540968f6c800630"}]}
