)]}'
{"nova/tests/virt/vmwareapi/test_vmwareapi.py":[{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"e5ca288e96b3c77f85f453adbbbdd1505f0e944a","unresolved":false,"context_lines":[{"line_number":340,"context_line":"        self.assertRaises(exception.InstanceUnacceptable,"},{"line_number":341,"context_line":"                          self._create_vm)"},{"line_number":342,"context_line":""},{"line_number":343,"context_line":"    def _spawn_attach_volume_vmdk(self, vc_support\u003dFalse, set_image_ref\u003dTrue):"},{"line_number":344,"context_line":"        self._create_instance_in_the_db(set_image_ref\u003dset_image_ref)"},{"line_number":345,"context_line":"        self.type_data \u003d db.flavor_get_by_name(None, \u0027m1.large\u0027)"},{"line_number":346,"context_line":"        self.mox.StubOutWithMock(block_device, \u0027volume_in_mapping\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2Bcdk%3D","line":343,"updated":"2013-11-26 01:10:36.000000000","message":"It would be safer to add the new parameter to the end of the list to cope with anyone calling _spawn_attach_volume_vmdk(False)","commit_id":"d2784aa20cab494db9ad054701b743d3e7984ac8"},{"author":{"_account_id":7992,"name":"Kartik Bommepally","email":"kbommepally@vmware.com","username":"kartikaditya"},"change_message_id":"c6919883b0d5ce9a7622d13f10d7c900baee98c3","unresolved":false,"context_lines":[{"line_number":340,"context_line":"        self.assertRaises(exception.InstanceUnacceptable,"},{"line_number":341,"context_line":"                          self._create_vm)"},{"line_number":342,"context_line":""},{"line_number":343,"context_line":"    def _spawn_attach_volume_vmdk(self, vc_support\u003dFalse, set_image_ref\u003dTrue):"},{"line_number":344,"context_line":"        self._create_instance_in_the_db(set_image_ref\u003dset_image_ref)"},{"line_number":345,"context_line":"        self.type_data \u003d db.flavor_get_by_name(None, \u0027m1.large\u0027)"},{"line_number":346,"context_line":"        self.mox.StubOutWithMock(block_device, \u0027volume_in_mapping\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2BIuo%3D","line":343,"in_reply_to":"AAAATn%2F%2Bcdk%3D","updated":"2013-12-02 07:22:50.000000000","message":"Done","commit_id":"d2784aa20cab494db9ad054701b743d3e7984ac8"}],"nova/virt/vmwareapi/driver.py":[{"author":{"_account_id":8334,"name":"Noorul Islam K M","email":"noorul@noorul.com","username":"noorul"},"change_message_id":"1bc68a1b986f7ffbdf1a68f14b57b5aecd16d171","unresolved":false,"context_lines":[{"line_number":911,"context_line":"            task_info \u003d self._call_method(vim_util, \"get_dynamic_property\","},{"line_number":912,"context_line":"                            task_ref, \"Task\", \"info\")"},{"line_number":913,"context_line":"            task_name \u003d \"vim_task\""},{"line_number":914,"context_line":"            if hasattr(task_info, \u0027name\u0027):"},{"line_number":915,"context_line":"                task_name \u003d task_info.name"},{"line_number":916,"context_line":"            if task_info.state in [\u0027queued\u0027, \u0027running\u0027]:"},{"line_number":917,"context_line":"                return"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2F3GU%3D","line":914,"updated":"2013-10-26 16:04:20.000000000","message":"Do you think this one-line statement is better?\n\ntask_name \u003d getattr(task_info, \u0027name\u0027, \u0027vim_task\u0027)","commit_id":"00950d962dcf3cf4fbab9b6caac4d5867b440e8a"},{"author":{"_account_id":7992,"name":"Kartik Bommepally","email":"kbommepally@vmware.com","username":"kartikaditya"},"change_message_id":"f08fd40aea02e148361cebbbc98b6eee01a781ea","unresolved":false,"context_lines":[{"line_number":911,"context_line":"            task_info \u003d self._call_method(vim_util, \"get_dynamic_property\","},{"line_number":912,"context_line":"                            task_ref, \"Task\", \"info\")"},{"line_number":913,"context_line":"            task_name \u003d \"vim_task\""},{"line_number":914,"context_line":"            if hasattr(task_info, \u0027name\u0027):"},{"line_number":915,"context_line":"                task_name \u003d task_info.name"},{"line_number":916,"context_line":"            if task_info.state in [\u0027queued\u0027, \u0027running\u0027]:"},{"line_number":917,"context_line":"                return"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2F3DU%3D","line":914,"in_reply_to":"AAAATn%2F%2F3GU%3D","updated":"2013-10-26 17:20:05.000000000","message":"Done","commit_id":"00950d962dcf3cf4fbab9b6caac4d5867b440e8a"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"c2063ecf0832be6088955315182865bb427a3eaf","unresolved":false,"context_lines":[{"line_number":911,"context_line":"            task_info \u003d self._call_method(vim_util, \"get_dynamic_property\","},{"line_number":912,"context_line":"                            task_ref, \"Task\", \"info\")"},{"line_number":913,"context_line":"            task_name \u003d \"vim_task\""},{"line_number":914,"context_line":"            if hasattr(task_info, \u0027name\u0027):"},{"line_number":915,"context_line":"                task_name \u003d task_info.name"},{"line_number":916,"context_line":"            if task_info.state in [\u0027queued\u0027, \u0027running\u0027]:"},{"line_number":917,"context_line":"                return"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2F3FQ%3D","line":914,"in_reply_to":"AAAATn%2F%2F3GU%3D","updated":"2013-10-26 16:19:46.000000000","message":"Yes, that would be better and save the if","commit_id":"00950d962dcf3cf4fbab9b6caac4d5867b440e8a"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"e5ca288e96b3c77f85f453adbbbdd1505f0e944a","unresolved":false,"context_lines":[{"line_number":910,"context_line":"        try:"},{"line_number":911,"context_line":"            task_info \u003d self._call_method(vim_util, \"get_dynamic_property\","},{"line_number":912,"context_line":"                            task_ref, \"Task\", \"info\")"},{"line_number":913,"context_line":"            task_name \u003d getattr(task_info, \u0027name\u0027, \u0027vim_task\u0027)"},{"line_number":914,"context_line":"            if task_info.state in [\u0027queued\u0027, \u0027running\u0027]:"},{"line_number":915,"context_line":"                return"},{"line_number":916,"context_line":"            elif task_info.state \u003d\u003d \u0027success\u0027:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2BcSA%3D","line":913,"updated":"2013-11-26 01:10:36.000000000","message":"I realise it\u0027s a done deal, but \u0027vim_task\u0027 is super confusing to folk like me that use vim :)","commit_id":"d2784aa20cab494db9ad054701b743d3e7984ac8"},{"author":{"_account_id":7992,"name":"Kartik Bommepally","email":"kbommepally@vmware.com","username":"kartikaditya"},"change_message_id":"c6919883b0d5ce9a7622d13f10d7c900baee98c3","unresolved":false,"context_lines":[{"line_number":910,"context_line":"        try:"},{"line_number":911,"context_line":"            task_info \u003d self._call_method(vim_util, \"get_dynamic_property\","},{"line_number":912,"context_line":"                            task_ref, \"Task\", \"info\")"},{"line_number":913,"context_line":"            task_name \u003d getattr(task_info, \u0027name\u0027, \u0027vim_task\u0027)"},{"line_number":914,"context_line":"            if task_info.state in [\u0027queued\u0027, \u0027running\u0027]:"},{"line_number":915,"context_line":"                return"},{"line_number":916,"context_line":"            elif task_info.state \u003d\u003d \u0027success\u0027:"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2BIqw%3D","line":913,"in_reply_to":"AAAATn%2F%2BcSA%3D","updated":"2013-12-02 07:22:50.000000000","message":"Renamed to vsphere_task. I really don\u0027t know what to add here. One way is for the caller to provide task name and that must be done in a separate patch since its being used everywhere.","commit_id":"d2784aa20cab494db9ad054701b743d3e7984ac8"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"8db05416362b09f38085e18be3106c564a5f4e03","unresolved":false,"context_lines":[{"line_number":889,"context_line":"        try:"},{"line_number":890,"context_line":"            task_info \u003d self._call_method(vim_util, \"get_dynamic_property\","},{"line_number":891,"context_line":"                            task_ref, \"Task\", \"info\")"},{"line_number":892,"context_line":"            task_name \u003d getattr(task_info, \u0027name\u0027, \u0027vsphere_task\u0027)"},{"line_number":893,"context_line":"            if task_info.state in [\u0027queued\u0027, \u0027running\u0027]:"},{"line_number":894,"context_line":"                return"},{"line_number":895,"context_line":"            elif task_info.state \u003d\u003d \u0027success\u0027:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUX%2F%2F4gw%3D","line":892,"updated":"2014-02-10 07:13:17.000000000","message":"I would have preferred to see this as a separate patch - it\u0027s unrelated to the relocate thing","commit_id":"4b1c12b888e5c8839ff5e5ee0fba9e32f98ff6dd"},{"author":{"_account_id":7992,"name":"Kartik Bommepally","email":"kbommepally@vmware.com","username":"kartikaditya"},"change_message_id":"6f2a971ed6ccf2f86a3547846c30ec9468839f5c","unresolved":false,"context_lines":[{"line_number":889,"context_line":"        try:"},{"line_number":890,"context_line":"            task_info \u003d self._call_method(vim_util, \"get_dynamic_property\","},{"line_number":891,"context_line":"                            task_ref, \"Task\", \"info\")"},{"line_number":892,"context_line":"            task_name \u003d getattr(task_info, \u0027name\u0027, \u0027vsphere_task\u0027)"},{"line_number":893,"context_line":"            if task_info.state in [\u0027queued\u0027, \u0027running\u0027]:"},{"line_number":894,"context_line":"                return"},{"line_number":895,"context_line":"            elif task_info.state \u003d\u003d \u0027success\u0027:"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAVn%2F%2FcK4%3D","line":892,"in_reply_to":"AAAAUX%2F%2F4gw%3D","updated":"2014-03-06 02:51:43.000000000","message":"Done","commit_id":"4b1c12b888e5c8839ff5e5ee0fba9e32f98ff6dd"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"d37966254a2fff97a8195f0f054497e501652f30","unresolved":false,"context_lines":[{"line_number":899,"context_line":"        try:"},{"line_number":900,"context_line":"            task_info \u003d self._call_method(vim_util, \"get_dynamic_property\","},{"line_number":901,"context_line":"                            task_ref, \"Task\", \"info\")"},{"line_number":902,"context_line":"            task_name \u003d getattr(task_info, \u0027name\u0027, \u0027vsphere_task\u0027)"},{"line_number":903,"context_line":"            if task_info.state in [\u0027queued\u0027, \u0027running\u0027]:"},{"line_number":904,"context_line":"                return"},{"line_number":905,"context_line":"            elif task_info.state \u003d\u003d \u0027success\u0027:"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAU3%2F%2F2iI%3D","line":902,"updated":"2014-02-24 14:00:32.000000000","message":"honestly, it seems really weird to do that optional processing of this here. It seems much better to set the task_info.name default on the call side.","commit_id":"7be8cd84a7ee9cfbfe1cd658ca4ced3919fc43c7"},{"author":{"_account_id":7992,"name":"Kartik Bommepally","email":"kbommepally@vmware.com","username":"kartikaditya"},"change_message_id":"5c4c511121bc19a649c5566f568eb1d0fef0d318","unresolved":false,"context_lines":[{"line_number":899,"context_line":"        try:"},{"line_number":900,"context_line":"            task_info \u003d self._call_method(vim_util, \"get_dynamic_property\","},{"line_number":901,"context_line":"                            task_ref, \"Task\", \"info\")"},{"line_number":902,"context_line":"            task_name \u003d getattr(task_info, \u0027name\u0027, \u0027vsphere_task\u0027)"},{"line_number":903,"context_line":"            if task_info.state in [\u0027queued\u0027, \u0027running\u0027]:"},{"line_number":904,"context_line":"                return"},{"line_number":905,"context_line":"            elif task_info.state \u003d\u003d \u0027success\u0027:"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAVn%2F%2FcK8%3D","line":902,"in_reply_to":"AAAAU3%2F%2F2aM%3D","updated":"2014-03-06 02:51:51.000000000","message":"Removing this change.\nWill push it in a separate review.","commit_id":"7be8cd84a7ee9cfbfe1cd658ca4ced3919fc43c7"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"6d8438b478d0d4a86c51cca4a118917aa27326ff","unresolved":false,"context_lines":[{"line_number":899,"context_line":"        try:"},{"line_number":900,"context_line":"            task_info \u003d self._call_method(vim_util, \"get_dynamic_property\","},{"line_number":901,"context_line":"                            task_ref, \"Task\", \"info\")"},{"line_number":902,"context_line":"            task_name \u003d getattr(task_info, \u0027name\u0027, \u0027vsphere_task\u0027)"},{"line_number":903,"context_line":"            if task_info.state in [\u0027queued\u0027, \u0027running\u0027]:"},{"line_number":904,"context_line":"                return"},{"line_number":905,"context_line":"            elif task_info.state \u003d\u003d \u0027success\u0027:"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAU3%2F%2F2aM%3D","line":902,"in_reply_to":"AAAAU3%2F%2F2iI%3D","updated":"2014-02-24 14:13:01.000000000","message":"the task_info is data that is returned from the backend.","commit_id":"7be8cd84a7ee9cfbfe1cd658ca4ced3919fc43c7"}],"nova/virt/vmwareapi/volumeops.py":[{"author":{"_account_id":8334,"name":"Noorul Islam K M","email":"noorul@noorul.com","username":"noorul"},"change_message_id":"1bc68a1b986f7ffbdf1a68f14b57b5aecd16d171","unresolved":false,"context_lines":[{"line_number":457,"context_line":"        LOG.debug(_(\"Root volume attach. Driver type: %s\"), driver_type,"},{"line_number":458,"context_line":"                  instance\u003dinstance)"},{"line_number":459,"context_line":"        # Relocate volume to the instance location in case of VC before"},{"line_number":460,"context_line":"        # performing attach."},{"line_number":461,"context_line":"        if driver_type \u003d\u003d \u0027vmdk\u0027 and self._vc_support:"},{"line_number":462,"context_line":"            vm_ref \u003d vm_util.get_vm_ref(self._session, instance)"},{"line_number":463,"context_line":"            data \u003d connection_info[\u0027data\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2F3F0%3D","line":460,"updated":"2013-10-26 16:04:20.000000000","message":"Is this comment not redundant? See 466","commit_id":"00950d962dcf3cf4fbab9b6caac4d5867b440e8a"},{"author":{"_account_id":7992,"name":"Kartik Bommepally","email":"kbommepally@vmware.com","username":"kartikaditya"},"change_message_id":"f08fd40aea02e148361cebbbc98b6eee01a781ea","unresolved":false,"context_lines":[{"line_number":457,"context_line":"        LOG.debug(_(\"Root volume attach. Driver type: %s\"), driver_type,"},{"line_number":458,"context_line":"                  instance\u003dinstance)"},{"line_number":459,"context_line":"        # Relocate volume to the instance location in case of VC before"},{"line_number":460,"context_line":"        # performing attach."},{"line_number":461,"context_line":"        if driver_type \u003d\u003d \u0027vmdk\u0027 and self._vc_support:"},{"line_number":462,"context_line":"            vm_ref \u003d vm_util.get_vm_ref(self._session, instance)"},{"line_number":463,"context_line":"            data \u003d connection_info[\u0027data\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAATn%2F%2F3DM%3D","line":460,"in_reply_to":"AAAATn%2F%2F3F0%3D","updated":"2013-10-26 17:20:05.000000000","message":"Done","commit_id":"00950d962dcf3cf4fbab9b6caac4d5867b440e8a"},{"author":{"_account_id":4190,"name":"lifeless","email":"robertc@robertcollins.net","username":"lifeless"},"change_message_id":"e5ca288e96b3c77f85f453adbbbdd1505f0e944a","unresolved":false,"context_lines":[{"line_number":456,"context_line":"        driver_type \u003d connection_info[\u0027driver_volume_type\u0027]"},{"line_number":457,"context_line":"        LOG.debug(_(\"Root volume attach. Driver type: %s\"), driver_type,"},{"line_number":458,"context_line":"                  instance\u003dinstance)"},{"line_number":459,"context_line":"        if driver_type \u003d\u003d \u0027vmdk\u0027 and self._vc_support:"},{"line_number":460,"context_line":"            vm_ref \u003d vm_util.get_vm_ref(self._session, instance)"},{"line_number":461,"context_line":"            data \u003d connection_info[\u0027data\u0027]"},{"line_number":462,"context_line":"            # Get the volume ref"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2BcSU%3D","line":459,"updated":"2013-11-26 01:10:36.000000000","message":"Not for this patch, but this smells like it wants to be a new sub driver, rather than conditional code.","commit_id":"d2784aa20cab494db9ad054701b743d3e7984ac8"},{"author":{"_account_id":7992,"name":"Kartik Bommepally","email":"kbommepally@vmware.com","username":"kartikaditya"},"change_message_id":"c6919883b0d5ce9a7622d13f10d7c900baee98c3","unresolved":false,"context_lines":[{"line_number":456,"context_line":"        driver_type \u003d connection_info[\u0027driver_volume_type\u0027]"},{"line_number":457,"context_line":"        LOG.debug(_(\"Root volume attach. Driver type: %s\"), driver_type,"},{"line_number":458,"context_line":"                  instance\u003dinstance)"},{"line_number":459,"context_line":"        if driver_type \u003d\u003d \u0027vmdk\u0027 and self._vc_support:"},{"line_number":460,"context_line":"            vm_ref \u003d vm_util.get_vm_ref(self._session, instance)"},{"line_number":461,"context_line":"            data \u003d connection_info[\u0027data\u0027]"},{"line_number":462,"context_line":"            # Get the volume ref"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATn%2F%2BIrw%3D","line":459,"in_reply_to":"AAAATn%2F%2BcSU%3D","updated":"2013-12-02 07:22:50.000000000","message":"Agreed, but that would need a different patch as you said.","commit_id":"d2784aa20cab494db9ad054701b743d3e7984ac8"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"df8f888d7c7ccb436d24f094830aeea46d548ed6","unresolved":false,"context_lines":[{"line_number":458,"context_line":"        driver_type \u003d connection_info[\u0027driver_volume_type\u0027]"},{"line_number":459,"context_line":"        LOG.debug(_(\"Root volume attach. Driver type: %s\"), driver_type,"},{"line_number":460,"context_line":"                  instance\u003dinstance)"},{"line_number":461,"context_line":"        if driver_type \u003d\u003d \u0027vmdk\u0027 and self._vc_support:"},{"line_number":462,"context_line":"            vm_ref \u003d vm_util.get_vm_ref(self._session, instance)"},{"line_number":463,"context_line":"            data \u003d connection_info[\u0027data\u0027]"},{"line_number":464,"context_line":"            # Get the volume ref"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2BIbk%3D","line":461,"updated":"2013-12-02 07:57:28.000000000","message":"Consider swapping the check here. the _vc_support is a flag so it would be better to check that prior to checking an string match","commit_id":"9b68c8825c999da1451abe0a4b47bbf4a6b2827a"},{"author":{"_account_id":7992,"name":"Kartik Bommepally","email":"kbommepally@vmware.com","username":"kartikaditya"},"change_message_id":"266d3580960508d84db3f39e79240226a227464d","unresolved":false,"context_lines":[{"line_number":458,"context_line":"        driver_type \u003d connection_info[\u0027driver_volume_type\u0027]"},{"line_number":459,"context_line":"        LOG.debug(_(\"Root volume attach. Driver type: %s\"), driver_type,"},{"line_number":460,"context_line":"                  instance\u003dinstance)"},{"line_number":461,"context_line":"        if driver_type \u003d\u003d \u0027vmdk\u0027 and self._vc_support:"},{"line_number":462,"context_line":"            vm_ref \u003d vm_util.get_vm_ref(self._session, instance)"},{"line_number":463,"context_line":"            data \u003d connection_info[\u0027data\u0027]"},{"line_number":464,"context_line":"            # Get the volume ref"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2BIXY%3D","line":461,"in_reply_to":"AAAATn%2F%2BIbk%3D","updated":"2013-12-02 08:31:11.000000000","message":"Done","commit_id":"9b68c8825c999da1451abe0a4b47bbf4a6b2827a"}]}
