)]}'
{"nova/tests/unit/virt/powervm/test_driver.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"36878050639dd30602c0799f492d6666ca12a374","unresolved":false,"context_lines":[{"line_number":161,"context_line":"        mock_power_off.assert_called_once_with("},{"line_number":162,"context_line":"            self.drv.adapter, self.inst, force_immediate\u003dTrue, timeout\u003dNone)"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"        # Long timeout (retry interval means nothing on powervm)"},{"line_number":165,"context_line":"        mock_power_off.reset_mock()"},{"line_number":166,"context_line":"        self.drv.power_off(self.inst, timeout\u003d500, retry_interval\u003d10)"},{"line_number":167,"context_line":"        mock_power_off.assert_called_once_with("},{"line_number":168,"context_line":"            self.drv.adapter, self.inst, force_immediate\u003dFalse, timeout\u003d500)"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    @mock.patch(\u0027nova.virt.powervm.vm.reboot\u0027)"},{"line_number":171,"context_line":"    def test_reboot(self, mock_reboot):"}],"source_content_type":"text/x-python","patch_set":7,"id":"da36d5c6_c06c0d9f","line":168,"range":{"start_line":164,"start_character":0,"end_line":168,"end_character":76},"updated":"2017-02-20 04:21:11.000000000","message":"It should be another test method.","commit_id":"79a0bdc17d48e903a6fefb2fe0a4a4ad5b042cfc"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"f46ec4ea5356a0baa32df1d1ad9710f16248cc0b","unresolved":false,"context_lines":[{"line_number":161,"context_line":"        mock_power_off.assert_called_once_with("},{"line_number":162,"context_line":"            self.drv.adapter, self.inst, force_immediate\u003dTrue, timeout\u003dNone)"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"        # Long timeout (retry interval means nothing on powervm)"},{"line_number":165,"context_line":"        mock_power_off.reset_mock()"},{"line_number":166,"context_line":"        self.drv.power_off(self.inst, timeout\u003d500, retry_interval\u003d10)"},{"line_number":167,"context_line":"        mock_power_off.assert_called_once_with("},{"line_number":168,"context_line":"            self.drv.adapter, self.inst, force_immediate\u003dFalse, timeout\u003d500)"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    @mock.patch(\u0027nova.virt.powervm.vm.reboot\u0027)"},{"line_number":171,"context_line":"    def test_reboot(self, mock_reboot):"}],"source_content_type":"text/x-python","patch_set":7,"id":"da36d5c6_7149678b","line":168,"range":{"start_line":164,"start_character":0,"end_line":168,"end_character":76},"in_reply_to":"da36d5c6_c06c0d9f","updated":"2017-02-20 16:00:48.000000000","message":"Done","commit_id":"79a0bdc17d48e903a6fefb2fe0a4a4ad5b042cfc"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"36878050639dd30602c0799f492d6666ca12a374","unresolved":false,"context_lines":[{"line_number":172,"context_line":"        inst \u003d mock.Mock()"},{"line_number":173,"context_line":"        self.drv.reboot(\u0027context\u0027, inst, \u0027network_info\u0027, \u0027SOFT\u0027)"},{"line_number":174,"context_line":"        mock_reboot.assert_called_once_with(self.apt, inst, False)"},{"line_number":175,"context_line":"        mock_reboot.reset_mock()"},{"line_number":176,"context_line":"        self.drv.reboot(\u0027context\u0027, inst, \u0027network_info\u0027, \u0027HARD\u0027)"},{"line_number":177,"context_line":"        mock_reboot.assert_called_once_with(self.apt, inst, True)"}],"source_content_type":"text/x-python","patch_set":7,"id":"da36d5c6_000545c1","line":177,"range":{"start_line":175,"start_character":0,"end_line":177,"end_character":65},"updated":"2017-02-20 04:21:11.000000000","message":"ditto","commit_id":"79a0bdc17d48e903a6fefb2fe0a4a4ad5b042cfc"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"f46ec4ea5356a0baa32df1d1ad9710f16248cc0b","unresolved":false,"context_lines":[{"line_number":172,"context_line":"        inst \u003d mock.Mock()"},{"line_number":173,"context_line":"        self.drv.reboot(\u0027context\u0027, inst, \u0027network_info\u0027, \u0027SOFT\u0027)"},{"line_number":174,"context_line":"        mock_reboot.assert_called_once_with(self.apt, inst, False)"},{"line_number":175,"context_line":"        mock_reboot.reset_mock()"},{"line_number":176,"context_line":"        self.drv.reboot(\u0027context\u0027, inst, \u0027network_info\u0027, \u0027HARD\u0027)"},{"line_number":177,"context_line":"        mock_reboot.assert_called_once_with(self.apt, inst, True)"}],"source_content_type":"text/x-python","patch_set":7,"id":"da36d5c6_b15bdf53","line":177,"range":{"start_line":175,"start_character":0,"end_line":177,"end_character":65},"in_reply_to":"da36d5c6_000545c1","updated":"2017-02-20 16:00:48.000000000","message":"Done","commit_id":"79a0bdc17d48e903a6fefb2fe0a4a4ad5b042cfc"}],"nova/tests/unit/virt/powervm/test_vm.py":[{"author":{"_account_id":8190,"name":"Drew Thorstensen (thorst)","email":"thorst@us.ibm.com","username":"thorst"},"change_message_id":"10df84f5ed24181b013fb4888b80b857f45bec22","unresolved":false,"context_lines":[{"line_number":262,"context_line":"    @mock.patch(\u0027pypowervm.tasks.power.power_off\u0027, autospec\u003dTrue)"},{"line_number":263,"context_line":"    @mock.patch(\u0027oslo_concurrency.lockutils.lock\u0027, autospec\u003dTrue)"},{"line_number":264,"context_line":"    @mock.patch(\u0027nova.virt.powervm.vm.get_instance_wrapper\u0027)"},{"line_number":265,"context_line":"    def test_power_off(self, mock_wrap, mock_lock, mock_power_off):"},{"line_number":266,"context_line":"        instance \u003d objects.Instance(**powervm.TEST_INSTANCE)"},{"line_number":267,"context_line":"        entry \u003d mock.Mock(state\u003dpvm_bp.LPARState.NOT_ACTIVATED)"},{"line_number":268,"context_line":"        mock_wrap.return_value \u003d entry"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"        vm.power_off(None, instance)"},{"line_number":271,"context_line":"        self.assertEqual(0, mock_power_off.call_count)"},{"line_number":272,"context_line":"        mock_lock.assert_called_once_with(\u0027power_%s\u0027 % instance.uuid)"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"        stop_states \u003d ["},{"line_number":275,"context_line":"            pvm_bp.LPARState.RUNNING, pvm_bp.LPARState.STARTING,"},{"line_number":276,"context_line":"            pvm_bp.LPARState.OPEN_FIRMWARE, pvm_bp.LPARState.SHUTTING_DOWN,"},{"line_number":277,"context_line":"            pvm_bp.LPARState.ERROR, pvm_bp.LPARState.RESUMING,"},{"line_number":278,"context_line":"            pvm_bp.LPARState.SUSPENDING]"},{"line_number":279,"context_line":"        for stop_state in stop_states:"},{"line_number":280,"context_line":"            entry.state \u003d stop_state"},{"line_number":281,"context_line":"            mock_power_off.reset_mock()"},{"line_number":282,"context_line":"            mock_lock.reset_mock()"},{"line_number":283,"context_line":"            vm.power_off(None, instance)"},{"line_number":284,"context_line":"            mock_power_off.assert_called_once_with("},{"line_number":285,"context_line":"                entry, None, force_immediate\u003dpower.Force.ON_FAILURE)"},{"line_number":286,"context_line":"            mock_lock.assert_called_once_with(\u0027power_%s\u0027 % instance.uuid)"},{"line_number":287,"context_line":"            mock_power_off.reset_mock()"},{"line_number":288,"context_line":"            mock_lock.reset_mock()"},{"line_number":289,"context_line":"            vm.power_off(None, instance, force_immediate\u003dTrue, timeout\u003d5)"},{"line_number":290,"context_line":"            mock_power_off.assert_called_once_with("},{"line_number":291,"context_line":"                entry, None, force_immediate\u003dTrue, timeout\u003d5)"},{"line_number":292,"context_line":"            mock_lock.assert_called_once_with(\u0027power_%s\u0027 % instance.uuid)"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"    @mock.patch(\u0027pypowervm.tasks.power.power_off\u0027, autospec\u003dTrue)"},{"line_number":295,"context_line":"    @mock.patch(\u0027nova.virt.powervm.vm.get_instance_wrapper\u0027)"}],"source_content_type":"text/x-python","patch_set":18,"id":"ffe62b97_166465b8","line":292,"range":{"start_line":265,"start_character":0,"end_line":292,"end_character":73},"updated":"2017-03-27 13:11:45.000000000","message":"Missing a \u0027test_reboot\u0027?","commit_id":"96b37352540805e9d63d0dad3a6206a36fb0d7ad"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"a057f370d7aa274fa3fb964edcaabd78cc077848","unresolved":false,"context_lines":[{"line_number":262,"context_line":"    @mock.patch(\u0027pypowervm.tasks.power.power_off\u0027, autospec\u003dTrue)"},{"line_number":263,"context_line":"    @mock.patch(\u0027oslo_concurrency.lockutils.lock\u0027, autospec\u003dTrue)"},{"line_number":264,"context_line":"    @mock.patch(\u0027nova.virt.powervm.vm.get_instance_wrapper\u0027)"},{"line_number":265,"context_line":"    def test_power_off(self, mock_wrap, mock_lock, mock_power_off):"},{"line_number":266,"context_line":"        instance \u003d objects.Instance(**powervm.TEST_INSTANCE)"},{"line_number":267,"context_line":"        entry \u003d mock.Mock(state\u003dpvm_bp.LPARState.NOT_ACTIVATED)"},{"line_number":268,"context_line":"        mock_wrap.return_value \u003d entry"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"        vm.power_off(None, instance)"},{"line_number":271,"context_line":"        self.assertEqual(0, mock_power_off.call_count)"},{"line_number":272,"context_line":"        mock_lock.assert_called_once_with(\u0027power_%s\u0027 % instance.uuid)"},{"line_number":273,"context_line":""},{"line_number":274,"context_line":"        stop_states \u003d ["},{"line_number":275,"context_line":"            pvm_bp.LPARState.RUNNING, pvm_bp.LPARState.STARTING,"},{"line_number":276,"context_line":"            pvm_bp.LPARState.OPEN_FIRMWARE, pvm_bp.LPARState.SHUTTING_DOWN,"},{"line_number":277,"context_line":"            pvm_bp.LPARState.ERROR, pvm_bp.LPARState.RESUMING,"},{"line_number":278,"context_line":"            pvm_bp.LPARState.SUSPENDING]"},{"line_number":279,"context_line":"        for stop_state in stop_states:"},{"line_number":280,"context_line":"            entry.state \u003d stop_state"},{"line_number":281,"context_line":"            mock_power_off.reset_mock()"},{"line_number":282,"context_line":"            mock_lock.reset_mock()"},{"line_number":283,"context_line":"            vm.power_off(None, instance)"},{"line_number":284,"context_line":"            mock_power_off.assert_called_once_with("},{"line_number":285,"context_line":"                entry, None, force_immediate\u003dpower.Force.ON_FAILURE)"},{"line_number":286,"context_line":"            mock_lock.assert_called_once_with(\u0027power_%s\u0027 % instance.uuid)"},{"line_number":287,"context_line":"            mock_power_off.reset_mock()"},{"line_number":288,"context_line":"            mock_lock.reset_mock()"},{"line_number":289,"context_line":"            vm.power_off(None, instance, force_immediate\u003dTrue, timeout\u003d5)"},{"line_number":290,"context_line":"            mock_power_off.assert_called_once_with("},{"line_number":291,"context_line":"                entry, None, force_immediate\u003dTrue, timeout\u003d5)"},{"line_number":292,"context_line":"            mock_lock.assert_called_once_with(\u0027power_%s\u0027 % instance.uuid)"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"    @mock.patch(\u0027pypowervm.tasks.power.power_off\u0027, autospec\u003dTrue)"},{"line_number":295,"context_line":"    @mock.patch(\u0027nova.virt.powervm.vm.get_instance_wrapper\u0027)"}],"source_content_type":"text/x-python","patch_set":18,"id":"ffe62b97_c4d195cf","line":292,"range":{"start_line":265,"start_character":0,"end_line":292,"end_character":73},"in_reply_to":"ffe62b97_166465b8","updated":"2017-03-27 18:00:18.000000000","message":"Done","commit_id":"96b37352540805e9d63d0dad3a6206a36fb0d7ad"}],"nova/virt/powervm/driver.py":[{"author":{"_account_id":8190,"name":"Drew Thorstensen (thorst)","email":"thorst@us.ibm.com","username":"thorst"},"change_message_id":"a18797d53031cbae52b127c74a942141545011be","unresolved":false,"context_lines":[{"line_number":324,"context_line":"        vm.reboot(self.adapter, instance, reboot_type \u003d\u003d \u0027HARD\u0027)"},{"line_number":325,"context_line":"        # pypowervm exceptions are sufficient to indicate real failure."},{"line_number":326,"context_line":"        # Otherwise, pypowervm thinks the instance is up."},{"line_number":327,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":8,"id":"da36d5c6_ba5a864e","line":327,"range":{"start_line":327,"start_character":8,"end_line":327,"end_character":19},"updated":"2017-02-22 16:17:27.000000000","message":"Seems unnecessary?","commit_id":"e341ec0eb93acc4d7b0cbc5e92fe043e2d7d3b8c"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"9348f4c203a932b972627158abb41b3a72f73440","unresolved":false,"context_lines":[{"line_number":324,"context_line":"        vm.reboot(self.adapter, instance, reboot_type \u003d\u003d \u0027HARD\u0027)"},{"line_number":325,"context_line":"        # pypowervm exceptions are sufficient to indicate real failure."},{"line_number":326,"context_line":"        # Otherwise, pypowervm thinks the instance is up."},{"line_number":327,"context_line":"        return True"}],"source_content_type":"text/x-python","patch_set":8,"id":"da36d5c6_9d421c3d","line":327,"range":{"start_line":327,"start_character":8,"end_line":327,"end_character":19},"in_reply_to":"da36d5c6_ba5a864e","updated":"2017-02-22 16:22:31.000000000","message":"True.","commit_id":"e341ec0eb93acc4d7b0cbc5e92fe043e2d7d3b8c"},{"author":{"_account_id":8190,"name":"Drew Thorstensen (thorst)","email":"thorst@us.ibm.com","username":"thorst"},"change_message_id":"c01bd48fa916c7cbf115b43dac209059a1d5627c","unresolved":false,"context_lines":[{"line_number":157,"context_line":"            admin_ctx \u003d ctx.get_admin_context(read_deleted\u003d\u0027yes\u0027)"},{"line_number":158,"context_line":"            flavor \u003d flavor_obj.Flavor.get_by_id(admin_ctx,"},{"line_number":159,"context_line":"                                                 instance.instance_type_id)"},{"line_number":160,"context_line":"        # TODO(efried): Use TaskFlow"},{"line_number":161,"context_line":"        vm.crt_lpar(self.adapter, self.host_wrapper, instance, flavor)"},{"line_number":162,"context_line":"        # TODO(thorst, efried) Plug the VIFs"},{"line_number":163,"context_line":"        # TODO(thorst, efried) Create/Connect the disk"},{"line_number":164,"context_line":"        # TODO(thorst, efried) Add the config drive"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba2be162_bd49e28d","line":161,"range":{"start_line":160,"start_character":0,"end_line":161,"end_character":70},"updated":"2017-03-01 14:55:19.000000000","message":"Wish we started with task flow...but I get why you did it in this order.  And task flow is the next change set in the series.","commit_id":"8292b526aa71c107449e6b62e1fac167912b5ac5"},{"author":{"_account_id":8190,"name":"Drew Thorstensen (thorst)","email":"thorst@us.ibm.com","username":"thorst"},"change_message_id":"10df84f5ed24181b013fb4888b80b857f45bec22","unresolved":false,"context_lines":[{"line_number":231,"context_line":"        self._log_operation(reboot_type + \u0027 reboot\u0027, instance)"},{"line_number":232,"context_line":"        vm.reboot(self.adapter, instance, reboot_type \u003d\u003d \u0027HARD\u0027)"},{"line_number":233,"context_line":"        # pypowervm exceptions are sufficient to indicate real failure."},{"line_number":234,"context_line":"        # Otherwise, pypowervm thinks the instance is up."}],"source_content_type":"text/x-python","patch_set":18,"id":"ffe62b97_16d6a550","line":234,"updated":"2017-03-27 13:11:45.000000000","message":"I don\u0027t fully understand this comment.","commit_id":"96b37352540805e9d63d0dad3a6206a36fb0d7ad"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"a057f370d7aa274fa3fb964edcaabd78cc077848","unresolved":false,"context_lines":[{"line_number":231,"context_line":"        self._log_operation(reboot_type + \u0027 reboot\u0027, instance)"},{"line_number":232,"context_line":"        vm.reboot(self.adapter, instance, reboot_type \u003d\u003d \u0027HARD\u0027)"},{"line_number":233,"context_line":"        # pypowervm exceptions are sufficient to indicate real failure."},{"line_number":234,"context_line":"        # Otherwise, pypowervm thinks the instance is up."}],"source_content_type":"text/x-python","patch_set":18,"id":"ffe62b97_e4f37972","line":234,"in_reply_to":"ffe62b97_16d6a550","updated":"2017-03-27 18:00:18.000000000","message":"It means there wasn\u0027t an error.  In other words, if we get here, the VM has rebooted and is active as far as we can tell.","commit_id":"96b37352540805e9d63d0dad3a6206a36fb0d7ad"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"27683e60dad24f04167c9171e1b0d6d8267f7d82","unresolved":false,"context_lines":[{"line_number":208,"context_line":"                 block_device_info\u003dNone):"},{"line_number":209,"context_line":"        \"\"\"Power on the specified instance."},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"        :param instance: nova.objects.instance.Instance"},{"line_number":212,"context_line":"        \"\"\""},{"line_number":213,"context_line":"        self._log_operation(\u0027power_on\u0027, instance)"},{"line_number":214,"context_line":"        vm.power_on(self.adapter, instance)"}],"source_content_type":"text/x-python","patch_set":24,"id":"7ffa3b31_323dcd8e","line":211,"updated":"2017-04-21 16:16:58.000000000","message":"oh we can do better docstrings than this buddy!\n\nbut I won\u0027t hold up on it","commit_id":"29ef20bf8bbac23d07944ac9125e2860283d8d31"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"27683e60dad24f04167c9171e1b0d6d8267f7d82","unresolved":false,"context_lines":[{"line_number":223,"context_line":"        successfully even in cases in which the underlying domain/vm"},{"line_number":224,"context_line":"        is paused or halted/stopped."},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"        :param instance: nova.objects.instance.Instance"},{"line_number":227,"context_line":"        :param network_info:"},{"line_number":228,"context_line":"           :py:meth:`~nova.network.manager.NetworkManager.get_instance_nw_info`"},{"line_number":229,"context_line":"        :param reboot_type: Either a HARD or SOFT reboot"}],"source_content_type":"text/x-python","patch_set":24,"id":"7ffa3b31_1259b1fc","line":226,"updated":"2017-04-21 16:16:58.000000000","message":"nit: doc context param","commit_id":"29ef20bf8bbac23d07944ac9125e2860283d8d31"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"27683e60dad24f04167c9171e1b0d6d8267f7d82","unresolved":false,"context_lines":[{"line_number":225,"context_line":""},{"line_number":226,"context_line":"        :param instance: nova.objects.instance.Instance"},{"line_number":227,"context_line":"        :param network_info:"},{"line_number":228,"context_line":"           :py:meth:`~nova.network.manager.NetworkManager.get_instance_nw_info`"},{"line_number":229,"context_line":"        :param reboot_type: Either a HARD or SOFT reboot"},{"line_number":230,"context_line":"        :param block_device_info: Info pertaining to attached volumes"},{"line_number":231,"context_line":"        :param bad_volumes_callback: Function to handle any bad volumes"}],"source_content_type":"text/x-python","patch_set":24,"id":"7ffa3b31_d276a970","line":228,"range":{"start_line":228,"start_character":35,"end_line":228,"end_character":42},"updated":"2017-04-21 16:16:58.000000000","message":"this is a lie - should updated this (later is ok)","commit_id":"29ef20bf8bbac23d07944ac9125e2860283d8d31"}],"nova/virt/powervm/vm.py":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"8f86e4de351223bddfede39c6417285e95679b10","unresolved":false,"context_lines":[{"line_number":183,"context_line":"                # If we get here, pypowervm thinks the instance is down."},{"line_number":184,"context_line":"                power.power_on(entry, None)"},{"line_number":185,"context_line":"        except Exception as e:"},{"line_number":186,"context_line":"            LOG.exception(e)"},{"line_number":187,"context_line":"            raise exc.InstanceRebootFailure(reason\u003dsix.text_type(e))"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"7ffa3b31_fcd1a2fc","line":186,"updated":"2017-04-20 15:23:29.000000000","message":"LOG.exception(\"Unable to reboot instance\", instance\u003dinstance)","commit_id":"d7306c0732179ea556ab058984bd4140f2cff314"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"88535478594e0608513cbf2ddc15f5b17f0f5452","unresolved":false,"context_lines":[{"line_number":183,"context_line":"                # If we get here, pypowervm thinks the instance is down."},{"line_number":184,"context_line":"                power.power_on(entry, None)"},{"line_number":185,"context_line":"        except Exception as e:"},{"line_number":186,"context_line":"            LOG.exception(e)"},{"line_number":187,"context_line":"            raise exc.InstanceRebootFailure(reason\u003dsix.text_type(e))"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":""}],"source_content_type":"text/x-python","patch_set":21,"id":"7ffa3b31_8dd4a621","line":186,"in_reply_to":"7ffa3b31_fcd1a2fc","updated":"2017-04-20 16:22:33.000000000","message":"Done","commit_id":"d7306c0732179ea556ab058984bd4140f2cff314"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"27683e60dad24f04167c9171e1b0d6d8267f7d82","unresolved":false,"context_lines":[{"line_number":138,"context_line":"                    use the default from pypowervm\u0027s power off method."},{"line_number":139,"context_line":"     :param force_immediate: (Optional, Default False) Should it be immediately"},{"line_number":140,"context_line":"                            shut down."},{"line_number":141,"context_line":"    :raises: InstancePowerOffFailure"},{"line_number":142,"context_line":"    \"\"\""},{"line_number":143,"context_line":"    # Synchronize power-on and power-off ops on a given instance"},{"line_number":144,"context_line":"    with lockutils.lock(\u0027power_%s\u0027 % instance.uuid):"}],"source_content_type":"text/x-python","patch_set":24,"id":"7ffa3b31_f2de453c","line":141,"updated":"2017-04-21 16:16:58.000000000","message":"Is there anything specific to a timeout failure from the pypowervm library? From the tests it looks like there could be (at least for reboot), but that just gets handled and raised up as InstancePowerOffFailure which is OK.","commit_id":"29ef20bf8bbac23d07944ac9125e2860283d8d31"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"b45c1ce7fb0f903e10f87d33249064187adbdff2","unresolved":false,"context_lines":[{"line_number":138,"context_line":"                    use the default from pypowervm\u0027s power off method."},{"line_number":139,"context_line":"     :param force_immediate: (Optional, Default False) Should it be immediately"},{"line_number":140,"context_line":"                            shut down."},{"line_number":141,"context_line":"    :raises: InstancePowerOffFailure"},{"line_number":142,"context_line":"    \"\"\""},{"line_number":143,"context_line":"    # Synchronize power-on and power-off ops on a given instance"},{"line_number":144,"context_line":"    with lockutils.lock(\u0027power_%s\u0027 % instance.uuid):"}],"source_content_type":"text/x-python","patch_set":24,"id":"ff0f0b1f_4efbf7bf","line":141,"in_reply_to":"7ffa3b31_f2de453c","updated":"2017-05-24 18:57:35.000000000","message":"No, the timeout in the test case was just a convenient pvm_exc.Error subclass to use.","commit_id":"29ef20bf8bbac23d07944ac9125e2860283d8d31"}]}
