)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7138,"name":"David Jia","email":"jiataotj@cn.ibm.com","username":"jiataotj"},"change_message_id":"23f793e780a97c2ce0191026d17c4000d226cce1","unresolved":false,"context_lines":[{"line_number":27,"context_line":"behaviour for delete should be (default False to keep compatibility"},{"line_number":28,"context_line":"with current behaviour)."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"This code enables a subsequent API change to add add clean/forced"},{"line_number":31,"context_line":"options to the stop and delete methods"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Fixes bug 1196924"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"AAAASn%2F%2Fvbk%3D","line":30,"updated":"2013-08-30 06:45:34.000000000","message":"typo, two \"add\"","commit_id":"439d5e7d7317e5409180253654ba46652ee46bae"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"49bfa50b33d42bb13fffb1a931919a677ce5dcce","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"A separate config value defines what the default shutdown"},{"line_number":27,"context_line":"behaviour for delete should be (default False to keep compatibility"},{"line_number":28,"context_line":"with current behaviour)."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"This code is structured to enable a subsequent API change to add"},{"line_number":31,"context_line":"clean/forced options to the stop and delete methods"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":19,"id":"AAAATH%2F%2F3IE%3D","line":28,"updated":"2013-10-08 20:49:14.000000000","message":"What behavior do you think most people would expect and desire here?  I think it may make sense to default to True.  Thoughts?\n\nIf we go this route, we should go ahead and leave a note on the Icehouse release notes page (which probably hasn\u0027t been created yet, but we should create it to start keeping track of changes worth documenting like this)","commit_id":"aab2d92d388482e659ca79f699b838ca46440215"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"dd759c9fb97fe625ae195a623282076cc93d5a58","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"A separate config value defines what the default shutdown"},{"line_number":27,"context_line":"behaviour for delete should be (default False to keep compatibility"},{"line_number":28,"context_line":"with current behaviour)."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"This code is structured to enable a subsequent API change to add"},{"line_number":31,"context_line":"clean/forced options to the stop and delete methods"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":19,"id":"AAAATH%2F%2F0bc%3D","line":28,"in_reply_to":"AAAATH%2F%2F3IE%3D","updated":"2013-10-09 15:03:50.000000000","message":"I think False is a better default for delete - its what most people are used to, the majority of cases don\u0027t care, and using true does ave an impact (for example it  makes the current tempest tests time out due to the extra time spent in deletes)","commit_id":"aab2d92d388482e659ca79f699b838ca46440215"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"49bfa50b33d42bb13fffb1a931919a677ce5dcce","unresolved":false,"context_lines":[{"line_number":33,"context_line":"Also as a minor tidy-up moved the repeated definition of"},{"line_number":34,"context_line":"FakeLoopingCall in test_libvirt be common across tests"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Fixes bug 1196924"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"DocImpact"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":19,"id":"AAAATH%2F%2F3IA%3D","line":36,"updated":"2013-10-08 20:49:14.000000000","message":"New preferred syntax:\n\n    Closes-Bug: #1196294\n\nI also wonder if this is more of a feature and makes sense to list as a blueprint?","commit_id":"aab2d92d388482e659ca79f699b838ca46440215"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"dd759c9fb97fe625ae195a623282076cc93d5a58","unresolved":false,"context_lines":[{"line_number":33,"context_line":"Also as a minor tidy-up moved the repeated definition of"},{"line_number":34,"context_line":"FakeLoopingCall in test_libvirt be common across tests"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Fixes bug 1196924"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"DocImpact"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":19,"id":"AAAATH%2F%2F0bY%3D","line":36,"in_reply_to":"AAAATH%2F%2F3IA%3D","updated":"2013-10-09 15:03:50.000000000","message":"Done","commit_id":"aab2d92d388482e659ca79f699b838ca46440215"}],"etc/nova/nova.conf.sample":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"0d62dcdd90f3793f09981c2f36c0d84fd3ecad11","unresolved":false,"context_lines":[{"line_number":1958,"context_line":"# soft reboot request is made. We fall back to hard reboot if"},{"line_number":1959,"context_line":"# instance does not shutdown within this window. (integer"},{"line_number":1960,"context_line":"# value)"},{"line_number":1961,"context_line":"#libvirt_wait_soft_reboot_seconds\u003d120"},{"line_number":1962,"context_line":""},{"line_number":1963,"context_line":"# Use a separated OS thread pool to realize non-blocking"},{"line_number":1964,"context_line":"# libvirt calls (boolean value)"}],"source_content_type":"application/octet-stream","patch_set":14,"id":"AAAASn%2F%2FnuY%3D","side":"PARENT","line":1961,"updated":"2013-09-02 11:25:04.000000000","message":"Should this not be set as deprecated?","commit_id":"9e704ee2ad8b034342cfca72aa1f939bfe21f826"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"7427c90066e1942e31c3f2a295ca8d298eb48862","unresolved":false,"context_lines":[{"line_number":1958,"context_line":"# soft reboot request is made. We fall back to hard reboot if"},{"line_number":1959,"context_line":"# instance does not shutdown within this window. (integer"},{"line_number":1960,"context_line":"# value)"},{"line_number":1961,"context_line":"#libvirt_wait_soft_reboot_seconds\u003d120"},{"line_number":1962,"context_line":""},{"line_number":1963,"context_line":"# Use a separated OS thread pool to realize non-blocking"},{"line_number":1964,"context_line":"# libvirt calls (boolean value)"}],"source_content_type":"application/octet-stream","patch_set":14,"id":"AAAASn%2F%2FUHA%3D","side":"PARENT","line":1961,"in_reply_to":"AAAASn%2F%2FnuY%3D","updated":"2013-09-08 07:48:37.000000000","message":"Done","commit_id":"9e704ee2ad8b034342cfca72aa1f939bfe21f826"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"2305be4f58a597279eb44392e089942c01633c65","unresolved":false,"context_lines":[{"line_number":1927,"context_line":"# stop if instance does not shutdown within this window. A"},{"line_number":1928,"context_line":"# value of 0 will still signal the instance but not wait for"},{"line_number":1929,"context_line":"# it to shutdown (integer value)"},{"line_number":1930,"context_line":"#wait_shutdown_seconds\u003d120"},{"line_number":1931,"context_line":""},{"line_number":1932,"context_line":""},{"line_number":1933,"context_line":"#"}],"source_content_type":"application/octet-stream","patch_set":30,"id":"AAAATn%2F%2BBsE%3D","line":1930,"updated":"2013-12-03 10:22:38.000000000","message":"Different types of instances may have different times for shutting down. Would it be worthwhile exploring storing this as metadata on the image and then passing that value to instance metadata which can be used to overwrite this value.\nThis may not be related to this patch set but is certainly worthwhile considering","commit_id":"00a0ef006d3c432e27ff08195b9a2ab2fe5c2335"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"ee215a9e88dba44c268066cd0eb1e844a09ec782","unresolved":false,"context_lines":[{"line_number":1927,"context_line":"# stop if instance does not shutdown within this window. A"},{"line_number":1928,"context_line":"# value of 0 will still signal the instance but not wait for"},{"line_number":1929,"context_line":"# it to shutdown (integer value)"},{"line_number":1930,"context_line":"#wait_shutdown_seconds\u003d120"},{"line_number":1931,"context_line":""},{"line_number":1932,"context_line":""},{"line_number":1933,"context_line":"#"}],"source_content_type":"application/octet-stream","patch_set":30,"id":"AAAATn%2F%2BAz0%3D","line":1930,"in_reply_to":"AAAATn%2F%2BBsE%3D","updated":"2013-12-03 14:00:45.000000000","message":"Sound like a useful future enhancment","commit_id":"00a0ef006d3c432e27ff08195b9a2ab2fe5c2335"}],"nova/cells/messaging.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"0d62dcdd90f3793f09981c2f36c0d84fd3ecad11","unresolved":false,"context_lines":[{"line_number":1599,"context_line":""},{"line_number":1600,"context_line":"    def stop_instance(self, ctxt, instance, clean_shutdown, do_cast\u003dTrue):"},{"line_number":1601,"context_line":"        \"\"\"Stop an instance in its cell.\"\"\""},{"line_number":1602,"context_line":"        extra_kwargs \u003d dict(clean_shutdown\u003dclean_shutdown)"},{"line_number":1603,"context_line":"        if do_cast:"},{"line_number":1604,"context_line":"            self._instance_action(ctxt, instance, \u0027stop_instance\u0027,"},{"line_number":1605,"context_line":"                                  extra_kwargs\u003dextra_kwargs)"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAASn%2F%2Fnt4%3D","line":1602,"updated":"2013-09-02 11:25:04.000000000","message":"please use {} instead of dict - http://doughellmann.com/2012/11/the-performance-impact-of-using-dict-instead-of-in-cpython-2-7-2.html","commit_id":"439d5e7d7317e5409180253654ba46652ee46bae"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"7427c90066e1942e31c3f2a295ca8d298eb48862","unresolved":false,"context_lines":[{"line_number":1599,"context_line":""},{"line_number":1600,"context_line":"    def stop_instance(self, ctxt, instance, clean_shutdown, do_cast\u003dTrue):"},{"line_number":1601,"context_line":"        \"\"\"Stop an instance in its cell.\"\"\""},{"line_number":1602,"context_line":"        extra_kwargs \u003d dict(clean_shutdown\u003dclean_shutdown)"},{"line_number":1603,"context_line":"        if do_cast:"},{"line_number":1604,"context_line":"            self._instance_action(ctxt, instance, \u0027stop_instance\u0027,"},{"line_number":1605,"context_line":"                                  extra_kwargs\u003dextra_kwargs)"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAASn%2F%2FT4w%3D","line":1602,"in_reply_to":"AAAASn%2F%2Fnt4%3D","updated":"2013-09-08 07:48:37.000000000","message":"Done","commit_id":"439d5e7d7317e5409180253654ba46652ee46bae"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"0d62dcdd90f3793f09981c2f36c0d84fd3ecad11","unresolved":false,"context_lines":[{"line_number":1623,"context_line":"        self._instance_action(ctxt, instance, \u0027resume_instance\u0027)"},{"line_number":1624,"context_line":""},{"line_number":1625,"context_line":"    def terminate_instance(self, ctxt, instance, clean_shutdown\u003dFalse):"},{"line_number":1626,"context_line":"        extra_kwargs \u003d dict(clean_shutdown\u003dclean_shutdown)"},{"line_number":1627,"context_line":"        self._instance_action(ctxt, instance, \u0027terminate_instance\u0027,"},{"line_number":1628,"context_line":"                              extra_kwargs\u003dextra_kwargs)"},{"line_number":1629,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAASn%2F%2Fntw%3D","line":1626,"updated":"2013-09-02 11:25:04.000000000","message":"ditto","commit_id":"439d5e7d7317e5409180253654ba46652ee46bae"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"7427c90066e1942e31c3f2a295ca8d298eb48862","unresolved":false,"context_lines":[{"line_number":1623,"context_line":"        self._instance_action(ctxt, instance, \u0027resume_instance\u0027)"},{"line_number":1624,"context_line":""},{"line_number":1625,"context_line":"    def terminate_instance(self, ctxt, instance, clean_shutdown\u003dFalse):"},{"line_number":1626,"context_line":"        extra_kwargs \u003d dict(clean_shutdown\u003dclean_shutdown)"},{"line_number":1627,"context_line":"        self._instance_action(ctxt, instance, \u0027terminate_instance\u0027,"},{"line_number":1628,"context_line":"                              extra_kwargs\u003dextra_kwargs)"},{"line_number":1629,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAASn%2F%2FT4s%3D","line":1626,"in_reply_to":"AAAASn%2F%2Fntw%3D","updated":"2013-09-08 07:48:37.000000000","message":"Done","commit_id":"439d5e7d7317e5409180253654ba46652ee46bae"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"0d62dcdd90f3793f09981c2f36c0d84fd3ecad11","unresolved":false,"context_lines":[{"line_number":1628,"context_line":"                              extra_kwargs\u003dextra_kwargs)"},{"line_number":1629,"context_line":""},{"line_number":1630,"context_line":"    def soft_delete_instance(self, ctxt, instance, clean_shutdown\u003dFalse):"},{"line_number":1631,"context_line":"        extra_kwargs \u003d dict(clean_shutdown\u003dclean_shutdown)"},{"line_number":1632,"context_line":"        self._instance_action(ctxt, instance, \u0027soft_delete_instance\u0027,"},{"line_number":1633,"context_line":"                              extra_kwargs\u003dextra_kwargs)"},{"line_number":1634,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAASn%2F%2Fnts%3D","line":1631,"updated":"2013-09-02 11:25:04.000000000","message":"ditto","commit_id":"439d5e7d7317e5409180253654ba46652ee46bae"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"7427c90066e1942e31c3f2a295ca8d298eb48862","unresolved":false,"context_lines":[{"line_number":1628,"context_line":"                              extra_kwargs\u003dextra_kwargs)"},{"line_number":1629,"context_line":""},{"line_number":1630,"context_line":"    def soft_delete_instance(self, ctxt, instance, clean_shutdown\u003dFalse):"},{"line_number":1631,"context_line":"        extra_kwargs \u003d dict(clean_shutdown\u003dclean_shutdown)"},{"line_number":1632,"context_line":"        self._instance_action(ctxt, instance, \u0027soft_delete_instance\u0027,"},{"line_number":1633,"context_line":"                              extra_kwargs\u003dextra_kwargs)"},{"line_number":1634,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAASn%2F%2FT4o%3D","line":1631,"in_reply_to":"AAAASn%2F%2Fnts%3D","updated":"2013-09-08 07:48:37.000000000","message":"Done","commit_id":"439d5e7d7317e5409180253654ba46652ee46bae"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"b4baaa67b94e42dad5543700c8d8ffc50426f812","unresolved":false,"context_lines":[{"line_number":1679,"context_line":"        self._instance_action(ctxt, instance, \u0027resume_instance\u0027)"},{"line_number":1680,"context_line":""},{"line_number":1681,"context_line":"    def terminate_instance(self, ctxt, instance, clean_shutdown\u003dFalse):"},{"line_number":1682,"context_line":"        extra_kwargs \u003d dict(clean_shutdown\u003dclean_shutdown)"},{"line_number":1683,"context_line":"        self._instance_action(ctxt, instance, \u0027terminate_instance\u0027,"},{"line_number":1684,"context_line":"                              extra_kwargs\u003dextra_kwargs)"},{"line_number":1685,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"AAAASn%2F%2FRTY%3D","line":1682,"updated":"2013-09-08 13:36:31.000000000","message":"please use {} instead of dict","commit_id":"e41a628cdfeb44e115e2a6d50393a979d45346cc"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"b8e7e4b50fb468ca2390d470a98a6b70acf39e71","unresolved":false,"context_lines":[{"line_number":1679,"context_line":"        self._instance_action(ctxt, instance, \u0027resume_instance\u0027)"},{"line_number":1680,"context_line":""},{"line_number":1681,"context_line":"    def terminate_instance(self, ctxt, instance, clean_shutdown\u003dFalse):"},{"line_number":1682,"context_line":"        extra_kwargs \u003d dict(clean_shutdown\u003dclean_shutdown)"},{"line_number":1683,"context_line":"        self._instance_action(ctxt, instance, \u0027terminate_instance\u0027,"},{"line_number":1684,"context_line":"                              extra_kwargs\u003dextra_kwargs)"},{"line_number":1685,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"AAAASn%2F%2FRJY%3D","line":1682,"in_reply_to":"AAAASn%2F%2FRTY%3D","updated":"2013-09-08 17:11:51.000000000","message":"Aghh - missed one ;-(","commit_id":"e41a628cdfeb44e115e2a6d50393a979d45346cc"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"b4baaa67b94e42dad5543700c8d8ffc50426f812","unresolved":false,"context_lines":[{"line_number":1684,"context_line":"                              extra_kwargs\u003dextra_kwargs)"},{"line_number":1685,"context_line":""},{"line_number":1686,"context_line":"    def soft_delete_instance(self, ctxt, instance, clean_shutdown\u003dFalse):"},{"line_number":1687,"context_line":"        extra_kwargs \u003d {\u0027clean_shutdown\u0027: clean_shutdown}"},{"line_number":1688,"context_line":"        self._instance_action(ctxt, instance, \u0027soft_delete_instance\u0027,"},{"line_number":1689,"context_line":"                              extra_kwargs\u003dextra_kwargs)"},{"line_number":1690,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"AAAASn%2F%2FRTU%3D","line":1687,"updated":"2013-09-08 13:36:31.000000000","message":"ditto","commit_id":"e41a628cdfeb44e115e2a6d50393a979d45346cc"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"b8e7e4b50fb468ca2390d470a98a6b70acf39e71","unresolved":false,"context_lines":[{"line_number":1684,"context_line":"                              extra_kwargs\u003dextra_kwargs)"},{"line_number":1685,"context_line":""},{"line_number":1686,"context_line":"    def soft_delete_instance(self, ctxt, instance, clean_shutdown\u003dFalse):"},{"line_number":1687,"context_line":"        extra_kwargs \u003d {\u0027clean_shutdown\u0027: clean_shutdown}"},{"line_number":1688,"context_line":"        self._instance_action(ctxt, instance, \u0027soft_delete_instance\u0027,"},{"line_number":1689,"context_line":"                              extra_kwargs\u003dextra_kwargs)"},{"line_number":1690,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"AAAASn%2F%2FRJU%3D","line":1687,"in_reply_to":"AAAASn%2F%2FRTU%3D","updated":"2013-09-08 17:11:51.000000000","message":"Sorry - don\u0027t understand the ditto - this one doesn;t use dict","commit_id":"e41a628cdfeb44e115e2a6d50393a979d45346cc"}],"nova/cells/rpcapi.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"0d62dcdd90f3793f09981c2f36c0d84fd3ecad11","unresolved":false,"context_lines":[{"line_number":405,"context_line":"                  self.make_msg(\u0027start_instance\u0027, instance\u003dinstance),"},{"line_number":406,"context_line":"                  version\u003d\u00271.12\u0027)"},{"line_number":407,"context_line":""},{"line_number":408,"context_line":"    def stop_instance(self, ctxt, instance, clean_shutdown, do_cast\u003dTrue):"},{"line_number":409,"context_line":"        \"\"\"Stop an instance in its cell."},{"line_number":410,"context_line":""},{"line_number":411,"context_line":"        This method takes a new-world instance object."}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAASn%2F%2Fntg%3D","line":408,"updated":"2013-09-02 11:25:04.000000000","message":"Why not add clean_shutdown after the do_cast and set a default value?","commit_id":"439d5e7d7317e5409180253654ba46652ee46bae"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"7427c90066e1942e31c3f2a295ca8d298eb48862","unresolved":false,"context_lines":[{"line_number":405,"context_line":"                  self.make_msg(\u0027start_instance\u0027, instance\u003dinstance),"},{"line_number":406,"context_line":"                  version\u003d\u00271.12\u0027)"},{"line_number":407,"context_line":""},{"line_number":408,"context_line":"    def stop_instance(self, ctxt, instance, clean_shutdown, do_cast\u003dTrue):"},{"line_number":409,"context_line":"        \"\"\"Stop an instance in its cell."},{"line_number":410,"context_line":""},{"line_number":411,"context_line":"        This method takes a new-world instance object."}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAASn%2F%2FT4A%3D","line":408,"in_reply_to":"AAAASn%2F%2Fntg%3D","updated":"2013-09-08 07:48:37.000000000","message":"I don\u0027t see why it makes sense to add a default value at this layer.  The default is set in api.py - and I wanted to be sure that anywhere calling into this layer was specifically setting the value.","commit_id":"439d5e7d7317e5409180253654ba46652ee46bae"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"49bfa50b33d42bb13fffb1a931919a677ce5dcce","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        instance_p \u003d jsonutils.to_primitive(instance)"},{"line_number":165,"context_line":"        self.client.cast(ctxt, \u0027instance_delete_everywhere\u0027,"},{"line_number":166,"context_line":"                         instance\u003dinstance_p, delete_type\u003ddelete_type,"},{"line_number":167,"context_line":"                         clean_shutdown\u003dclean_shutdown)"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"    def instance_fault_create_at_top(self, ctxt, instance_fault):"},{"line_number":170,"context_line":"        \"\"\"Create an instance fault at the top.\"\"\""}],"source_content_type":"text/x-python","patch_set":19,"id":"AAAATH%2F%2F3Hs%3D","line":167,"updated":"2013-10-08 20:49:14.000000000","message":"Need to set the version on this message","commit_id":"aab2d92d388482e659ca79f699b838ca46440215"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"dd759c9fb97fe625ae195a623282076cc93d5a58","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        instance_p \u003d jsonutils.to_primitive(instance)"},{"line_number":165,"context_line":"        self.client.cast(ctxt, \u0027instance_delete_everywhere\u0027,"},{"line_number":166,"context_line":"                         instance\u003dinstance_p, delete_type\u003ddelete_type,"},{"line_number":167,"context_line":"                         clean_shutdown\u003dclean_shutdown)"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"    def instance_fault_create_at_top(self, ctxt, instance_fault):"},{"line_number":170,"context_line":"        \"\"\"Create an instance fault at the top.\"\"\""}],"source_content_type":"text/x-python","patch_set":19,"id":"AAAATH%2F%2F0As%3D","line":167,"in_reply_to":"AAAATH%2F%2F3Hs%3D","updated":"2013-10-09 15:03:50.000000000","message":"Done","commit_id":"aab2d92d388482e659ca79f699b838ca46440215"}],"nova/compute/api.py":[{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"49bfa50b33d42bb13fffb1a931919a677ce5dcce","unresolved":false,"context_lines":[{"line_number":109,"context_line":"                    \u0027behavior of every instance having the same name, set \u0027"},{"line_number":110,"context_line":"                    \u0027this option to \"%(name)s\".  Valid keys for the \u0027"},{"line_number":111,"context_line":"                    \u0027template are: name, uuid, count.\u0027),"},{"line_number":112,"context_line":"    cfg.IntOpt(\u0027max_local_block_devices\u0027,"},{"line_number":113,"context_line":"                default\u003d3,"},{"line_number":114,"context_line":"                help\u003d\u0027Maximum number of devices that will result \u0027"},{"line_number":115,"context_line":"                     \u0027in a local image being created on the hypervisor node. \u0027"}],"source_content_type":"text/x-python","patch_set":19,"id":"AAAATH%2F%2F3Iw%3D","line":112,"updated":"2013-10-08 20:49:14.000000000","message":"An unrelated change, but looks like it was just shifting left 1 space to fix alignment, so it\u0027s fine","commit_id":"aab2d92d388482e659ca79f699b838ca46440215"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"dd759c9fb97fe625ae195a623282076cc93d5a58","unresolved":false,"context_lines":[{"line_number":109,"context_line":"                    \u0027behavior of every instance having the same name, set \u0027"},{"line_number":110,"context_line":"                    \u0027this option to \"%(name)s\".  Valid keys for the \u0027"},{"line_number":111,"context_line":"                    \u0027template are: name, uuid, count.\u0027),"},{"line_number":112,"context_line":"    cfg.IntOpt(\u0027max_local_block_devices\u0027,"},{"line_number":113,"context_line":"                default\u003d3,"},{"line_number":114,"context_line":"                help\u003d\u0027Maximum number of devices that will result \u0027"},{"line_number":115,"context_line":"                     \u0027in a local image being created on the hypervisor node. \u0027"}],"source_content_type":"text/x-python","patch_set":19,"id":"AAAATH%2F%2F0aU%3D","line":112,"in_reply_to":"AAAATH%2F%2F3Iw%3D","updated":"2013-10-09 15:03:50.000000000","message":"Yep - just tidying up","commit_id":"aab2d92d388482e659ca79f699b838ca46440215"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"49bfa50b33d42bb13fffb1a931919a677ce5dcce","unresolved":false,"context_lines":[{"line_number":116,"context_line":"                     \u0027Setting this to 0 means nova will allow only \u0027"},{"line_number":117,"context_line":"                     \u0027boot from volume. A negative number means unlimited.\u0027),"},{"line_number":118,"context_line":"    cfg.BoolOpt(\u0027default_shutdown_on_delete\u0027,"},{"line_number":119,"context_line":"               default\u003dFalse,"},{"line_number":120,"context_line":"               help\u003d\u0027Control what happens to the Guest OS when an instance \u0027"},{"line_number":121,"context_line":"                    \u0027is deleted. \u0027"},{"line_number":122,"context_line":"                    \u0027If set to true instances will be given a chance to \u0027"}],"source_content_type":"text/x-python","patch_set":19,"id":"AAAATH%2F%2F3Ho%3D","line":119,"updated":"2013-10-08 20:49:14.000000000","message":"see note about this default in the commit msg","commit_id":"aab2d92d388482e659ca79f699b838ca46440215"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"dd759c9fb97fe625ae195a623282076cc93d5a58","unresolved":false,"context_lines":[{"line_number":116,"context_line":"                     \u0027Setting this to 0 means nova will allow only \u0027"},{"line_number":117,"context_line":"                     \u0027boot from volume. A negative number means unlimited.\u0027),"},{"line_number":118,"context_line":"    cfg.BoolOpt(\u0027default_shutdown_on_delete\u0027,"},{"line_number":119,"context_line":"               default\u003dFalse,"},{"line_number":120,"context_line":"               help\u003d\u0027Control what happens to the Guest OS when an instance \u0027"},{"line_number":121,"context_line":"                    \u0027is deleted. \u0027"},{"line_number":122,"context_line":"                    \u0027If set to true instances will be given a chance to \u0027"}],"source_content_type":"text/x-python","patch_set":19,"id":"AAAATH%2F%2F0bU%3D","line":119,"in_reply_to":"AAAATH%2F%2F3Ho%3D","updated":"2013-10-09 15:03:50.000000000","message":"See reply there for why I think this is the right default","commit_id":"aab2d92d388482e659ca79f699b838ca46440215"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"78a37cb4b589246074f465d9e1fc89b0d80888db","unresolved":false,"context_lines":[{"line_number":120,"context_line":"               help\u003d\u0027Control what happens to the Guest OS when an instance \u0027"},{"line_number":121,"context_line":"                    \u0027is deleted. \u0027"},{"line_number":122,"context_line":"                    \u0027If set to true instances will be given a chance to \u0027"},{"line_number":123,"context_line":"                    \u0027shutdown before they are destroyed.\u0027),"},{"line_number":124,"context_line":"]"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":""}],"source_content_type":"text/x-python","patch_set":30,"id":"AAAATn%2F9hNk%3D","line":123,"updated":"2013-12-10 18:45:24.000000000","message":"The indent is wrong here, but its a minor nit.","commit_id":"00a0ef006d3c432e27ff08195b9a2ab2fe5c2335"}],"nova/compute/cells_api.py":[{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"49bfa50b33d42bb13fffb1a931919a677ce5dcce","unresolved":false,"context_lines":[{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    def _do_soft_delete(self, context, instance, bdms, clean_shutdown,"},{"line_number":196,"context_line":"                        reservations\u003dNone, local\u003dFalse):"},{"line_number":197,"context_line":"        super(ComputeCellsAPI, self).\\"},{"line_number":198,"context_line":"                    _do_soft_delete(context, instance,"},{"line_number":199,"context_line":"                                    bdms\u003dbdms,"},{"line_number":200,"context_line":"                                    clean_shutdown\u003dclean_shutdown,"}],"source_content_type":"text/x-python","patch_set":19,"id":"AAAATH%2F%2F3HM%3D","line":197,"updated":"2013-10-08 20:49:14.000000000","message":"tiny nit: would rather have _do_soft_delete on this line and just have the args start on the next line.  same for all of these reformattings","commit_id":"aab2d92d388482e659ca79f699b838ca46440215"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"dd759c9fb97fe625ae195a623282076cc93d5a58","unresolved":false,"context_lines":[{"line_number":194,"context_line":""},{"line_number":195,"context_line":"    def _do_soft_delete(self, context, instance, bdms, clean_shutdown,"},{"line_number":196,"context_line":"                        reservations\u003dNone, local\u003dFalse):"},{"line_number":197,"context_line":"        super(ComputeCellsAPI, self).\\"},{"line_number":198,"context_line":"                    _do_soft_delete(context, instance,"},{"line_number":199,"context_line":"                                    bdms\u003dbdms,"},{"line_number":200,"context_line":"                                    clean_shutdown\u003dclean_shutdown,"}],"source_content_type":"text/x-python","patch_set":19,"id":"AAAATH%2F%2F0ZE%3D","line":197,"in_reply_to":"AAAATH%2F%2F3HM%3D","updated":"2013-10-09 15:03:50.000000000","message":"Done","commit_id":"aab2d92d388482e659ca79f699b838ca46440215"}],"nova/compute/manager.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"0d62dcdd90f3793f09981c2f36c0d84fd3ecad11","unresolved":false,"context_lines":[{"line_number":1523,"context_line":"            # if the instance can\u0027t power off, don\u0027t release the ip"},{"line_number":1524,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":1525,"context_line":"                pass"},{"line_number":1526,"context_line":"        except Exception as exc:"},{"line_number":1527,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":1528,"context_line":"                # deallocate ip and fail without proceeding to"},{"line_number":1529,"context_line":"                # volume api calls, preserving current behavior"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAASn%2F%2Fnsw%3D","line":1526,"updated":"2013-09-02 11:25:04.000000000","message":"is the exc used?","commit_id":"439d5e7d7317e5409180253654ba46652ee46bae"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"7427c90066e1942e31c3f2a295ca8d298eb48862","unresolved":false,"context_lines":[{"line_number":1523,"context_line":"            # if the instance can\u0027t power off, don\u0027t release the ip"},{"line_number":1524,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":1525,"context_line":"                pass"},{"line_number":1526,"context_line":"        except Exception as exc:"},{"line_number":1527,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":1528,"context_line":"                # deallocate ip and fail without proceeding to"},{"line_number":1529,"context_line":"                # volume api calls, preserving current behavior"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAASn%2F%2FT3s%3D","line":1526,"in_reply_to":"AAAASn%2F%2Fnsw%3D","updated":"2013-09-08 07:48:37.000000000","message":"Done","commit_id":"439d5e7d7317e5409180253654ba46652ee46bae"}],"nova/compute/rpcapi.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"37c5ca55b65de39dd2f072f44e77f8022348d09b","unresolved":false,"context_lines":[{"line_number":213,"context_line":""},{"line_number":214,"context_line":"        3.0 - Remove 2.x compatibility"},{"line_number":215,"context_line":"        3.1 - Update get_spice_console() to take an instance object"},{"line_number":216,"context_line":"        3.2 - Add clean shutdown option to stop, rescue, shelve, delete"},{"line_number":217,"context_line":"              and soft_delete"},{"line_number":218,"context_line":"    \u0027\u0027\u0027"},{"line_number":219,"context_line":""}],"source_content_type":"text/x-python","patch_set":32,"id":"AAAATn%2F9LzE%3D","line":216,"updated":"2013-12-15 09:57:41.000000000","message":"This will need to be rebased - https://github.com/openstack/nova/blob/master/nova/compute/rpcapi.py#L217","commit_id":"4082755e7cd74f802af2655dcf480eb46ea2c24f"}],"nova/tests/virt/libvirt/test_libvirt.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"58b4b4a65109790707276e1b110b94f00dedd69c","unresolved":false,"context_lines":[{"line_number":3194,"context_line":"        # Start test"},{"line_number":3195,"context_line":"        self.mox.ReplayAll()"},{"line_number":3196,"context_line":""},{"line_number":3197,"context_line":"        def fake_shutdown(instance, seconds_to_wait):"},{"line_number":3198,"context_line":"            pass"},{"line_number":3199,"context_line":""},{"line_number":3200,"context_line":"        def fake_destroy(instance):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPn%2F%2FTrg%3D","line":3197,"updated":"2013-07-04 11:45:33.000000000","message":"should the function return True/False?","commit_id":"45f1bbae274e3b96a66b43a10144b59eab25e67f"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"58b4b4a65109790707276e1b110b94f00dedd69c","unresolved":false,"context_lines":[{"line_number":3230,"context_line":"        # Start test"},{"line_number":3231,"context_line":"        self.mox.ReplayAll()"},{"line_number":3232,"context_line":""},{"line_number":3233,"context_line":"        def fake_shutdown(instance, seconds_to_wait):"},{"line_number":3234,"context_line":"            pass"},{"line_number":3235,"context_line":""},{"line_number":3236,"context_line":"        def fake_destroy(instance):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPn%2F%2FTrY%3D","line":3233,"updated":"2013-07-04 11:45:33.000000000","message":"ditto","commit_id":"45f1bbae274e3b96a66b43a10144b59eab25e67f"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"58b4b4a65109790707276e1b110b94f00dedd69c","unresolved":false,"context_lines":[{"line_number":3339,"context_line":"        conn.reboot(None, instance, [])"},{"line_number":3340,"context_line":"        self.assertTrue(self.reboot_hard_reboot_called)"},{"line_number":3341,"context_line":""},{"line_number":3342,"context_line":"    def test_power_off(self):"},{"line_number":3343,"context_line":"        class FakeLoopingCall:"},{"line_number":3344,"context_line":"            def start(self, *a, **k):"},{"line_number":3345,"context_line":"                return self"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPn%2F%2FTrI%3D","line":3342,"updated":"2013-07-04 11:45:33.000000000","message":"would it be possible to add a test where the shutdown fails - there is a specific if in the code where the self._lookup_by_name fails.","commit_id":"45f1bbae274e3b96a66b43a10144b59eab25e67f"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"17cbd30e3328641570c2d8ae0f28ca4f1984f806","unresolved":false,"context_lines":[{"line_number":4209,"context_line":"                return self"},{"line_number":4210,"context_line":""},{"line_number":4211,"context_line":"            def wait(self):"},{"line_number":4212,"context_line":"                return None"},{"line_number":4213,"context_line":""},{"line_number":4214,"context_line":"        info_tuple \u003d (\u0027fake\u0027, \u0027fake\u0027, \u0027fake\u0027, \u0027also_fake\u0027)"},{"line_number":4215,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"AAAAS3%2F%2Fs8U%3D","line":4212,"updated":"2013-09-20 23:40:43.000000000","message":"Could this FakeLoopingCall be moved somewhere so it can be reused?","commit_id":"597913ff48a9108277dd2d732632ba2b76c6c91b"}],"nova/virt/driver.py":[{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"5986a1c514777d4e44428edb7d2be11e6190e1c2","unresolved":false,"context_lines":[{"line_number":56,"context_line":"                    \u0027 the stop if instance does not shutdown within this\u0027"},{"line_number":57,"context_line":"                    \u0027 window. A value of 0 will still signal the instance but\u0027"},{"line_number":58,"context_line":"                    \u0027 not wait for it to shutdown\u0027),"},{"line_number":59,"context_line":"]"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"CONF \u003d cfg.CONF"},{"line_number":62,"context_line":"CONF.register_opts(driver_opts)"}],"source_content_type":"text/x-python","patch_set":23,"id":"AAAATn%2F%2FcV8%3D","line":59,"updated":"2013-11-06 04:26:50.000000000","message":"This should declare that it is replacing \u0027libvirt_wait_soft_reboot_seconds\u0027 so olso handles back compat","commit_id":"6f34a7d09e5ea05b4d35f6de7c202608be0d3093"},{"author":{"_account_id":67,"name":"Vish Ishaya","email":"vishvananda@gmail.com","username":"vishvananda"},"change_message_id":"73d1d69096ea181bb6d6475467fbba3fbc782c55","unresolved":false,"context_lines":[{"line_number":56,"context_line":"                    \u0027 a request is made for clean shutdown.  We continue with\u0027"},{"line_number":57,"context_line":"                    \u0027 the stop if instance does not shutdown within this\u0027"},{"line_number":58,"context_line":"                    \u0027 window. A value of 0 will still signal the instance but\u0027"},{"line_number":59,"context_line":"                    \u0027 not wait for it to shutdown\u0027),"},{"line_number":60,"context_line":"]"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":30,"id":"AAAATn%2F9zcg%3D","line":59,"updated":"2013-12-05 18:22:48.000000000","message":"I was writing a comment that we should use deprecated name in the other file, but I see you already did that. Nice!","commit_id":"00a0ef006d3c432e27ff08195b9a2ab2fe5c2335"}],"nova/virt/hyperv/driver.py":[{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"49bfa50b33d42bb13fffb1a931919a677ce5dcce","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        self._vmops.reboot(instance, network_info, reboot_type)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    def destroy(self, instance, network_info, block_device_info\u003dNone,"},{"line_number":62,"context_line":"                destroy_disks\u003dTrue, context\u003dNone, clean_shutdown\u003dFalse):"},{"line_number":63,"context_line":"        self._vmops.destroy(instance, network_info, block_device_info,"},{"line_number":64,"context_line":"                            destroy_disks)"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"AAAATH%2F%2F3GQ%3D","line":62,"updated":"2013-10-08 20:49:14.000000000","message":"Perhaps leave a \"# TODO Add support for clean_shutdown\" in all of the drivers where you\u0027re adding this but not the supporting code?","commit_id":"aab2d92d388482e659ca79f699b838ca46440215"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"dd759c9fb97fe625ae195a623282076cc93d5a58","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        self._vmops.reboot(instance, network_info, reboot_type)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    def destroy(self, instance, network_info, block_device_info\u003dNone,"},{"line_number":62,"context_line":"                destroy_disks\u003dTrue, context\u003dNone, clean_shutdown\u003dFalse):"},{"line_number":63,"context_line":"        self._vmops.destroy(instance, network_info, block_device_info,"},{"line_number":64,"context_line":"                            destroy_disks)"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-python","patch_set":19,"id":"AAAATH%2F%2F0XQ%3D","line":62,"in_reply_to":"AAAATH%2F%2F3GQ%3D","updated":"2013-10-09 15:03:50.000000000","message":"Done","commit_id":"aab2d92d388482e659ca79f699b838ca46440215"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"ad9f485eedbde473c6cc6a04b65f0a0efab6610a","unresolved":false,"context_lines":[{"line_number":835,"context_line":""},{"line_number":836,"context_line":"    def destroy(self, instance, network_info, block_device_info\u003dNone,"},{"line_number":837,"context_line":"                destroy_disks\u003dTrue):"},{"line_number":838,"context_line":"        self._shutdown(instance, CONF.libvirt_wait_destroy_seconds)"},{"line_number":839,"context_line":"        self._destroy(instance)"},{"line_number":840,"context_line":"        self._cleanup(instance, network_info, block_device_info, destroy_disks)"},{"line_number":841,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAP3%2F%2F92s%3D","line":838,"updated":"2013-07-08 12:54:30.000000000","message":"Destroy is meant to be destructive, changing this behavior I don\u0027t think is right.","commit_id":"45f1bbae274e3b96a66b43a10144b59eab25e67f"},{"author":{"_account_id":7138,"name":"David Jia","email":"jiataotj@cn.ibm.com","username":"jiataotj"},"change_message_id":"c73a2ba1f5152bbb7addf7dcc25aa9867d3cfa82","unresolved":false,"context_lines":[{"line_number":1376,"context_line":"        \"\"\""},{"line_number":1377,"context_line":""},{"line_number":1378,"context_line":"        if seconds_to_wait \u003d\u003d 0:"},{"line_number":1379,"context_line":"            # Don\u0027t even try to shutdown the instance"},{"line_number":1380,"context_line":"            return"},{"line_number":1381,"context_line":""},{"line_number":1382,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPn%2F%2FT8M%3D","line":1379,"updated":"2013-07-04 09:44:32.000000000","message":"if users want to directly shutdown or destroy a instance, we should allow these users to set libvirt_wait_destroy_seconds\u003d0, otherwise, the users can\u0027t do that, do you think that we should support this kind of user case?how about checking negative value as illegal setting?","commit_id":"45f1bbae274e3b96a66b43a10144b59eab25e67f"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"cf54d18416b28be4a4682c98ea529773059cec13","unresolved":false,"context_lines":[{"line_number":1376,"context_line":"        \"\"\""},{"line_number":1377,"context_line":""},{"line_number":1378,"context_line":"        if seconds_to_wait \u003d\u003d 0:"},{"line_number":1379,"context_line":"            # Don\u0027t even try to shutdown the instance"},{"line_number":1380,"context_line":"            return"},{"line_number":1381,"context_line":""},{"line_number":1382,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPn%2F%2FTzM%3D","line":1379,"in_reply_to":"AAAAPn%2F%2FT8M%3D","updated":"2013-07-04 10:45:24.000000000","message":"I think allowing a user to control this would be a useful additional feature - but I don\u0027t think in needs to be part of this bug fix.\n\nA negative value would have the same effect as 0 - so its not invalid as such, just not very useful.  I\u0027m not sure that logging a warning in the compute manager would be helpful","commit_id":"45f1bbae274e3b96a66b43a10144b59eab25e67f"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"58b4b4a65109790707276e1b110b94f00dedd69c","unresolved":false,"context_lines":[{"line_number":1377,"context_line":""},{"line_number":1378,"context_line":"        if seconds_to_wait \u003d\u003d 0:"},{"line_number":1379,"context_line":"            # Don\u0027t even try to shutdown the instance"},{"line_number":1380,"context_line":"            return"},{"line_number":1381,"context_line":""},{"line_number":1382,"context_line":"        try:"},{"line_number":1383,"context_line":"            dom \u003d self._lookup_by_name(instance[\"name\"])"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAPn%2F%2FTrk%3D","line":1380,"updated":"2013-07-04 11:45:33.000000000","message":"there are some cases when the function returns True/False. Why does this return None?\nDoes the function need to return a boolean?","commit_id":"45f1bbae274e3b96a66b43a10144b59eab25e67f"},{"author":{"_account_id":7138,"name":"David Jia","email":"jiataotj@cn.ibm.com","username":"jiataotj"},"change_message_id":"23f793e780a97c2ce0191026d17c4000d226cce1","unresolved":false,"context_lines":[{"line_number":1448,"context_line":"        \"\"\""},{"line_number":1449,"context_line":""},{"line_number":1450,"context_line":"        if CONF.wait_shutdown_seconds \u003d\u003d 0:"},{"line_number":1451,"context_line":"            # Don\u0027t even try to shutdown the instance"},{"line_number":1452,"context_line":"            return"},{"line_number":1453,"context_line":""},{"line_number":1454,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAASn%2F%2FvaM%3D","line":1451,"updated":"2013-08-30 06:45:34.000000000","message":"The value \"0\" is a special value, I\u0027d like add an instruction in nova.conf.sample to let user know what \"0\" means.","commit_id":"439d5e7d7317e5409180253654ba46652ee46bae"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"7427c90066e1942e31c3f2a295ca8d298eb48862","unresolved":false,"context_lines":[{"line_number":1448,"context_line":"        \"\"\""},{"line_number":1449,"context_line":""},{"line_number":1450,"context_line":"        if CONF.wait_shutdown_seconds \u003d\u003d 0:"},{"line_number":1451,"context_line":"            # Don\u0027t even try to shutdown the instance"},{"line_number":1452,"context_line":"            return"},{"line_number":1453,"context_line":""},{"line_number":1454,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":14,"id":"AAAASn%2F%2FT2o%3D","line":1451,"in_reply_to":"AAAASn%2F%2FvaM%3D","updated":"2013-09-08 07:48:37.000000000","message":"Done","commit_id":"439d5e7d7317e5409180253654ba46652ee46bae"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"49bfa50b33d42bb13fffb1a931919a677ce5dcce","unresolved":false,"context_lines":[{"line_number":185,"context_line":"                    \u0027(valid options are: sd, xvd, uvd, vd)\u0027),"},{"line_number":186,"context_line":"    cfg.IntOpt(\u0027libvirt_wait_soft_reboot_seconds\u0027,"},{"line_number":187,"context_line":"               default\u003d120,"},{"line_number":188,"context_line":"               help\u003d\u0027DEPRECATED. \u0027"},{"line_number":189,"context_line":"                    \u0027Number of seconds to wait for instance to shut down after\u0027"},{"line_number":190,"context_line":"                    \u0027 soft reboot request is made. We fall back to hard reboot\u0027"},{"line_number":191,"context_line":"                    \u0027 if instance does not shutdown within this window.\u0027"}],"source_content_type":"text/x-python","patch_set":19,"id":"AAAATH%2F%2F3Gc%3D","line":188,"updated":"2013-10-08 20:49:14.000000000","message":"Can you file a bug to remind us to remove this in J+?","commit_id":"aab2d92d388482e659ca79f699b838ca46440215"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"dd759c9fb97fe625ae195a623282076cc93d5a58","unresolved":false,"context_lines":[{"line_number":185,"context_line":"                    \u0027(valid options are: sd, xvd, uvd, vd)\u0027),"},{"line_number":186,"context_line":"    cfg.IntOpt(\u0027libvirt_wait_soft_reboot_seconds\u0027,"},{"line_number":187,"context_line":"               default\u003d120,"},{"line_number":188,"context_line":"               help\u003d\u0027DEPRECATED. \u0027"},{"line_number":189,"context_line":"                    \u0027Number of seconds to wait for instance to shut down after\u0027"},{"line_number":190,"context_line":"                    \u0027 soft reboot request is made. We fall back to hard reboot\u0027"},{"line_number":191,"context_line":"                    \u0027 if instance does not shutdown within this window.\u0027"}],"source_content_type":"text/x-python","patch_set":19,"id":"AAAATH%2F%2F0Sg%3D","line":188,"in_reply_to":"AAAATH%2F%2F3Gc%3D","updated":"2013-10-09 15:03:50.000000000","message":"Done","commit_id":"aab2d92d388482e659ca79f699b838ca46440215"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"49bfa50b33d42bb13fffb1a931919a677ce5dcce","unresolved":false,"context_lines":[{"line_number":1836,"context_line":""},{"line_number":1837,"context_line":"        if CONF.wait_shutdown_seconds \u003d\u003d 0:"},{"line_number":1838,"context_line":"            # Don\u0027t even try to shutdown the instance"},{"line_number":1839,"context_line":"            return"},{"line_number":1840,"context_line":""},{"line_number":1841,"context_line":"        try:"},{"line_number":1842,"context_line":"            dom \u003d self._lookup_by_name(instance[\"name\"])"}],"source_content_type":"text/x-python","patch_set":19,"id":"AAAATH%2F%2F3GE%3D","line":1839,"updated":"2013-10-08 20:49:14.000000000","message":"It looks like this breaks soft reboot","commit_id":"aab2d92d388482e659ca79f699b838ca46440215"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"dd759c9fb97fe625ae195a623282076cc93d5a58","unresolved":false,"context_lines":[{"line_number":1836,"context_line":""},{"line_number":1837,"context_line":"        if CONF.wait_shutdown_seconds \u003d\u003d 0:"},{"line_number":1838,"context_line":"            # Don\u0027t even try to shutdown the instance"},{"line_number":1839,"context_line":"            return"},{"line_number":1840,"context_line":""},{"line_number":1841,"context_line":"        try:"},{"line_number":1842,"context_line":"            dom \u003d self._lookup_by_name(instance[\"name\"])"}],"source_content_type":"text/x-python","patch_set":19,"id":"AAAATH%2F%2F0Rc%3D","line":1839,"in_reply_to":"AAAATH%2F%2F3GE%3D","updated":"2013-10-09 15:03:50.000000000","message":"Good catch","commit_id":"aab2d92d388482e659ca79f699b838ca46440215"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"5986a1c514777d4e44428edb7d2be11e6190e1c2","unresolved":false,"context_lines":[{"line_number":192,"context_line":"                    \u0027 soft reboot request is made. We fall back to hard reboot\u0027"},{"line_number":193,"context_line":"                    \u0027 if instance does not shutdown within this window.\u0027"},{"line_number":194,"context_line":"                    \u0027 This option is deprecated. Please use\u0027"},{"line_number":195,"context_line":"                    \u0027 wait_shutdown_seconds instead\u0027),"},{"line_number":196,"context_line":"    cfg.BoolOpt(\u0027libvirt_nonblocking\u0027,"},{"line_number":197,"context_line":"                default\u003dTrue,"},{"line_number":198,"context_line":"                help\u003d\u0027Use a separated OS thread pool to realize non-blocking\u0027"}],"source_content_type":"text/x-python","patch_set":23,"id":"AAAATn%2F%2FcWI%3D","line":195,"updated":"2013-11-06 04:26:50.000000000","message":"Sorry, I missed this in previous review - I believe you should be completely deleting this, and then telling oslo.config that \u0027wait_soft_reboot_seconds\u0027 has the deprecated name \u0027libvirt_wait_soft_reboot_seconds\u0027. That way oslo.config would automatically handle back-compat for existing config files using the old name.","commit_id":"6f34a7d09e5ea05b4d35f6de7c202608be0d3093"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"bdbfb119121c5a8ffafeeec570b6824846f85657","unresolved":false,"context_lines":[{"line_number":192,"context_line":"                    \u0027 soft reboot request is made. We fall back to hard reboot\u0027"},{"line_number":193,"context_line":"                    \u0027 if instance does not shutdown within this window.\u0027"},{"line_number":194,"context_line":"                    \u0027 This option is deprecated. Please use\u0027"},{"line_number":195,"context_line":"                    \u0027 wait_shutdown_seconds instead\u0027),"},{"line_number":196,"context_line":"    cfg.BoolOpt(\u0027libvirt_nonblocking\u0027,"},{"line_number":197,"context_line":"                default\u003dTrue,"},{"line_number":198,"context_line":"                help\u003d\u0027Use a separated OS thread pool to realize non-blocking\u0027"}],"source_content_type":"text/x-python","patch_set":23,"id":"AAAATn%2F%2FBsI%3D","line":195,"in_reply_to":"AAAATn%2F%2FI3w%3D","updated":"2013-11-15 14:01:46.000000000","message":"Do a \u0027git grep deprecated_name\u0027 to see many examples of renaming.","commit_id":"6f34a7d09e5ea05b4d35f6de7c202608be0d3093"},{"author":{"_account_id":4912,"name":"Michael H Wilson","email":"geekinutah@gmail.com","username":"geekinutah"},"change_message_id":"4d9f5c9f73aa4cea4d8695b54871e6b70b3e01ce","unresolved":false,"context_lines":[{"line_number":192,"context_line":"                    \u0027 soft reboot request is made. We fall back to hard reboot\u0027"},{"line_number":193,"context_line":"                    \u0027 if instance does not shutdown within this window.\u0027"},{"line_number":194,"context_line":"                    \u0027 This option is deprecated. Please use\u0027"},{"line_number":195,"context_line":"                    \u0027 wait_shutdown_seconds instead\u0027),"},{"line_number":196,"context_line":"    cfg.BoolOpt(\u0027libvirt_nonblocking\u0027,"},{"line_number":197,"context_line":"                default\u003dTrue,"},{"line_number":198,"context_line":"                help\u003d\u0027Use a separated OS thread pool to realize non-blocking\u0027"}],"source_content_type":"text/x-python","patch_set":23,"id":"AAAATn%2F%2FEcQ%3D","line":195,"in_reply_to":"AAAATn%2F%2FI3w%3D","updated":"2013-11-14 20:46:10.000000000","message":"Phil,\n\nCheck out: https://review.openstack.org/#/c/34671/17/nova/openstack/common/db/sqlalchemy/session.py\n\nThis is where we took a bunch of the database options like \u0027sql_connection\u0027, put them in the [database] section and changed their name to \u0027connection\u0027.","commit_id":"6f34a7d09e5ea05b4d35f6de7c202608be0d3093"},{"author":{"_account_id":1501,"name":"Phil Day","email":"philip.day@hp.com","username":"philip-day"},"change_message_id":"944d7e98228505cba2f26ac75c48b3c199e58209","unresolved":false,"context_lines":[{"line_number":192,"context_line":"                    \u0027 soft reboot request is made. We fall back to hard reboot\u0027"},{"line_number":193,"context_line":"                    \u0027 if instance does not shutdown within this window.\u0027"},{"line_number":194,"context_line":"                    \u0027 This option is deprecated. Please use\u0027"},{"line_number":195,"context_line":"                    \u0027 wait_shutdown_seconds instead\u0027),"},{"line_number":196,"context_line":"    cfg.BoolOpt(\u0027libvirt_nonblocking\u0027,"},{"line_number":197,"context_line":"                default\u003dTrue,"},{"line_number":198,"context_line":"                help\u003d\u0027Use a separated OS thread pool to realize non-blocking\u0027"}],"source_content_type":"text/x-python","patch_set":23,"id":"AAAATn%2F%2FI3w%3D","line":195,"in_reply_to":"AAAATn%2F%2FcWI%3D","updated":"2013-11-13 22:58:21.000000000","message":"Can you point me to an example of where this was done please - its not obvious to me how to do this in oslo.config","commit_id":"6f34a7d09e5ea05b4d35f6de7c202608be0d3093"}],"nova/virt/vmwareapi/driver.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"7e149ffcbc83985be0142f44a381cc415c256e68","unresolved":false,"context_lines":[{"line_number":194,"context_line":"        \"\"\"Reboot VM instance.\"\"\""},{"line_number":195,"context_line":"        self._vmops.reboot(instance, network_info)"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"    def destroy(self, instance, network_info, block_device_info\u003dNone,"},{"line_number":198,"context_line":"                destroy_disks\u003dTrue, context\u003dNone, clean_shutdown\u003dFalse):"},{"line_number":199,"context_line":"        \"\"\"Destroy VM instance.\"\"\""},{"line_number":200,"context_line":"        # TODO(PhilD): Add support for clean_shutdown"}],"source_content_type":"text/x-python","patch_set":21,"id":"AAAATn%2F%2FvRc%3D","line":197,"updated":"2013-10-29 17:23:27.000000000","message":"please note that there are 2 drivers - ESX and VC driver. You need to address - https://github.com/openstack/nova/blob/master/nova/virt/vmwareapi/driver.py#L189 and https://github.com/openstack/nova/blob/master/nova/virt/vmwareapi/driver.py#L658\n\nSame with the other methods below","commit_id":"bfa226b1f68bd103b09fd587e9d7b54203848227"}]}
