)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"bdb4e37afa83b39eb1c98044de87cb1a0818bcdc","unresolved":false,"context_lines":[{"line_number":18,"context_line":"skip initialization of the instance if it appears to be owned"},{"line_number":19,"context_line":"by another host, logging a prominent warning in that case."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"As a result, if you have destroy_on_evacuate\u003dFalse and you start"},{"line_number":22,"context_line":"a nova compute with an incorrect hostname, or run it twice from"},{"line_number":23,"context_line":"another host, then the worst that will happen is you get log"},{"line_number":24,"context_line":"warnings about the instances on the host being ignored. This should"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ba7be1f8_9a2bce32","line":21,"updated":"2015-02-27 15:53:33.000000000","message":"s/destroy_on_evacuate/destroy_after_evacuate/","commit_id":"86a771eb99365cf02e680474b742eb2a05f1e6d2"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d3630c313d26ba5fc1e86e5b39e1ae68ab460d0a","unresolved":false,"context_lines":[{"line_number":23,"context_line":"another host, then the worst that will happen is you get log"},{"line_number":24,"context_line":"warnings about the instances on the host being ignored. This should"},{"line_number":25,"context_line":"be an indication that something is wrong, but still allow for"},{"line_number":26,"context_line":"fixing it without any loss. If the configuration option is disabled"},{"line_number":27,"context_line":"and a legitimate evacuation does occur, simply enabling it and then"},{"line_number":28,"context_line":"restarting the compute service will cause the cleanup to occur."},{"line_number":29,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ba7be1f8_36411a0c","line":26,"updated":"2015-02-27 16:24:35.000000000","message":"Maybe we want this last sentence in the help string for the config option since that\u0027s what an operator is going to be reading if they see the warning and are looking at changing things, they won\u0027t be digging through git history to find the change that introduced the option itself.","commit_id":"9580a1c5a9e2331dccd6fdea5696657dd43c3c94"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6a8eb0fbcc00cc0f890b8483ef69021994d2defc","unresolved":false,"context_lines":[{"line_number":26,"context_line":"fixing it without any loss. If the configuration option is disabled"},{"line_number":27,"context_line":"and a legitimate evacuation does occur, simply enabling it and then"},{"line_number":28,"context_line":"restarting the compute service will cause the cleanup to occur."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Partial-Bug: #1419785"},{"line_number":31,"context_line":"Change-Id: Ib9a3c72c096822dd5c65c905117ae14994c73e99"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ba7be1f8_1687b662","line":29,"updated":"2015-02-27 16:22:39.000000000","message":"Do we need DocImpact here?  I\u0027m assuming not since I think new config options (all config options) are just automatically gathered and generated into the config docs per release.\n\nI\u0027ll ask Anne.","commit_id":"9580a1c5a9e2331dccd6fdea5696657dd43c3c94"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e487ec81451b79b9ab18a7c65846e630710121e9","unresolved":false,"context_lines":[{"line_number":26,"context_line":"fixing it without any loss. If the configuration option is disabled"},{"line_number":27,"context_line":"and a legitimate evacuation does occur, simply enabling it and then"},{"line_number":28,"context_line":"restarting the compute service will cause the cleanup to occur."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Partial-Bug: #1419785"},{"line_number":31,"context_line":"Change-Id: Ib9a3c72c096822dd5c65c905117ae14994c73e99"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"ba7be1f8_39574d04","line":29,"updated":"2015-02-27 16:42:44.000000000","message":"DocImpact tag should probably be here, don\u0027t get mad at me, blame Anne!\n\n(10:35:39 AM) annegentle: mriedem: it\u0027s still good to add a DocImpact flag for tracking/metrics purposes","commit_id":"58cb24a3b34a94815043d4c45dbf6e144c87334d"}],"nova/compute/manager.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"bdb4e37afa83b39eb1c98044de87cb1a0818bcdc","unresolved":false,"context_lines":[{"line_number":758,"context_line":"                    LOG.warning(_LW(\u0027Instance %(uuid)s appears to have been \u0027"},{"line_number":759,"context_line":"                                    \u0027evacuated from this host to %(host)s. \u0027"},{"line_number":760,"context_line":"                                    \u0027Not destroying it locally due to \u0027"},{"line_number":761,"context_line":"                                    \u0027config.\u0027),"},{"line_number":762,"context_line":"                                {\u0027uuid\u0027: instance.uuid,"},{"line_number":763,"context_line":"                                 \u0027host\u0027: instance.host})"},{"line_number":764,"context_line":"                    continue"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_5aa95623","line":761,"updated":"2015-02-27 15:53:33.000000000","message":"I might say \"due to config setting for \u0027destroy_after_evacuate\u0027\" to be specific so someone knows what option is being used w/o having to check the code.","commit_id":"86a771eb99365cf02e680474b742eb2a05f1e6d2"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"93b27fbc5189ab4c027e358d1c23da784815b1d7","unresolved":false,"context_lines":[{"line_number":754,"context_line":"                               \u0027vm_state\u0027: instance.vm_state},"},{"line_number":755,"context_line":"                              instance\u003dinstance)"},{"line_number":756,"context_line":"                    continue"},{"line_number":757,"context_line":"                if not CONF.destroy_after_evacuate:"},{"line_number":758,"context_line":"                    LOG.warning(_LW(\u0027Instance %(uuid)s appears to have been \u0027"},{"line_number":759,"context_line":"                                    \u0027evacuated from this host to %(host)s. \u0027"},{"line_number":760,"context_line":"                                    \u0027Not destroying it locally due to \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba7be1f8_319e60b9","line":757,"updated":"2015-03-01 16:13:39.000000000","message":"please see https://review.openstack.org/#/c/154029/4/nova/compute/manager.py,cm\ni do not understand why we have this here","commit_id":"a4bb5667e657c2615e927dfe570fc003f7e68860"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"38b55855f06fa969c8debeaf2975d9a6de34caf7","unresolved":false,"context_lines":[{"line_number":754,"context_line":"                               \u0027vm_state\u0027: instance.vm_state},"},{"line_number":755,"context_line":"                              instance\u003dinstance)"},{"line_number":756,"context_line":"                    continue"},{"line_number":757,"context_line":"                if not CONF.destroy_after_evacuate:"},{"line_number":758,"context_line":"                    LOG.warning(_LW(\u0027Instance %(uuid)s appears to have been \u0027"},{"line_number":759,"context_line":"                                    \u0027evacuated from this host to %(host)s. \u0027"},{"line_number":760,"context_line":"                                    \u0027Not destroying it locally due to \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba7be1f8_f1b84813","line":757,"in_reply_to":"ba7be1f8_11e95c1a","updated":"2015-03-01 16:39:11.000000000","message":"I specifically want it here to log each instance that would have been destroyed.","commit_id":"a4bb5667e657c2615e927dfe570fc003f7e68860"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"ef08a34a4cd651257a95ca26eee02cf6f6ae1460","unresolved":false,"context_lines":[{"line_number":754,"context_line":"                               \u0027vm_state\u0027: instance.vm_state},"},{"line_number":755,"context_line":"                              instance\u003dinstance)"},{"line_number":756,"context_line":"                    continue"},{"line_number":757,"context_line":"                if not CONF.destroy_after_evacuate:"},{"line_number":758,"context_line":"                    LOG.warning(_LW(\u0027Instance %(uuid)s appears to have been \u0027"},{"line_number":759,"context_line":"                                    \u0027evacuated from this host to %(host)s. \u0027"},{"line_number":760,"context_line":"                                    \u0027Not destroying it locally due to \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba7be1f8_11e95c1a","line":757,"in_reply_to":"ba7be1f8_319e60b9","updated":"2015-03-01 16:21:00.000000000","message":"calling it once per instance is a bit of an overkill - i think that this can just be done around the evacuate method:\nhttps://github.com/openstack/nova/blob/master/nova/compute/manager.py#L1173","commit_id":"a4bb5667e657c2615e927dfe570fc003f7e68860"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"b5467e6774ab9a270fc8f4de8862de5d0ebd1d77","unresolved":false,"context_lines":[{"line_number":754,"context_line":"                               \u0027vm_state\u0027: instance.vm_state},"},{"line_number":755,"context_line":"                              instance\u003dinstance)"},{"line_number":756,"context_line":"                    continue"},{"line_number":757,"context_line":"                if not CONF.destroy_after_evacuate:"},{"line_number":758,"context_line":"                    LOG.warning(_LW(\u0027Instance %(uuid)s appears to have been \u0027"},{"line_number":759,"context_line":"                                    \u0027evacuated from this host to %(host)s. \u0027"},{"line_number":760,"context_line":"                                    \u0027Not destroying it locally due to \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba7be1f8_f8b8242c","line":757,"in_reply_to":"ba7be1f8_f1b84813","updated":"2015-03-02 07:03:25.000000000","message":"For the vmware driver there may be thousand of instances running. So restarting compute node would have thousands of unnecessary log messages. That is why I originally went down the road of having the driver flag for the the driver supporting this functionality. The warning message may also be a little misleading. Can you drop the \u0027appears to have been evacuated\u0027?\n\nIf you do decide to keep this then I suggest that you have instance\u003dinstance in the message. That will make filtering of log messages easier.","commit_id":"a4bb5667e657c2615e927dfe570fc003f7e68860"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"605a2461eb3fe8356dc155395bc98ebb88c1779a","unresolved":false,"context_lines":[{"line_number":754,"context_line":"                               \u0027vm_state\u0027: instance.vm_state},"},{"line_number":755,"context_line":"                              instance\u003dinstance)"},{"line_number":756,"context_line":"                    continue"},{"line_number":757,"context_line":"                if not CONF.destroy_after_evacuate:"},{"line_number":758,"context_line":"                    LOG.warning(_LW(\u0027Instance %(uuid)s appears to have been \u0027"},{"line_number":759,"context_line":"                                    \u0027evacuated from this host to %(host)s. \u0027"},{"line_number":760,"context_line":"                                    \u0027Not destroying it locally due to \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba7be1f8_9e445fb8","line":757,"in_reply_to":"ba7be1f8_f8b8242c","updated":"2015-03-02 14:52:52.000000000","message":"It would only do that if (a) you changed your hostname or (b) you had actually evacuated/reassigned the thousands of VMs. For (a) a bunch of log warnings is probably appropriate because you either just changed your hostname to something broken or started another copy of nova compute which would have previously deleted all your VMs.\n\nNote that AFAICT, we already log every instance on every startup for vmware, even without the above special cases:\n\nhttps://github.com/openstack/nova/blob/master/nova/compute/manager.py#L1054\n\nand also (at warning level)\n\nhttps://github.com/openstack/nova/blob/master/nova/compute/manager.py#L1085\n\nSince the log I\u0027m adding here only does so when one of the exceptional circumstances happens, I think this is fine.","commit_id":"a4bb5667e657c2615e927dfe570fc003f7e68860"}],"nova/tests/unit/compute/test_compute_mgr.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"bdb4e37afa83b39eb1c98044de87cb1a0818bcdc","unresolved":false,"context_lines":[{"line_number":1963,"context_line":"        self.flags(destroy_after_evacuate\u003dFalse)"},{"line_number":1964,"context_line":"        inst \u003d mock.MagicMock()"},{"line_number":1965,"context_line":"        inst.uuid \u003d \u0027foo\u0027"},{"line_number":1966,"context_line":"        inst.host \u003d \u0027notthishost\u0027"},{"line_number":1967,"context_line":"        mock_giod.return_value \u003d [inst]"},{"line_number":1968,"context_line":"        with mock.patch.object(self.compute.driver, \u0027destroy\u0027) as mock_d:"},{"line_number":1969,"context_line":"            self.compute._destroy_evacuated_instances(mock.MagicMock())"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_15396fd8","line":1966,"updated":"2015-02-27 15:53:33.000000000","message":"nit: I like this in the other test:\n\ninst.host \u003d self.compute.host + \u0027-alt\u0027","commit_id":"86a771eb99365cf02e680474b742eb2a05f1e6d2"}],"nova/utils.py":[{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"c863c53046d87cb77f0e04d18b17b8fd8fa78005","unresolved":false,"context_lines":[{"line_number":109,"context_line":"                help\u003d\u0027Whether to destroy instances on startup when we suspect \u0027"},{"line_number":110,"context_line":"                     \u0027they have previously been evacuated. This can result in \u0027"},{"line_number":111,"context_line":"                      \u0027data loss if undesired. See \u0027"},{"line_number":112,"context_line":"                      \u0027https://launchpad.net/bugs/1419785\u0027),"},{"line_number":113,"context_line":"    ]"},{"line_number":114,"context_line":"CONF \u003d cfg.CONF"},{"line_number":115,"context_line":"CONF.register_opts(monkey_patch_opts)"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a80dd14_d83a99cc","line":112,"updated":"2015-03-05 10:37:29.000000000","message":"I think this kind of config option is a really bad idea, even when in the workarounds group. People are only going to learn of the existence and need to set this config option, after nova has already destroyed all their guests at least once. That is just a terrible experience to put admins through.","commit_id":"922148ac45c5a70da8969815b4f47e3c758d6974"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"062518ca4a23dea2f5f41d83642d23e57aac595a","unresolved":false,"context_lines":[{"line_number":109,"context_line":"                help\u003d\u0027Whether to destroy instances on startup when we suspect \u0027"},{"line_number":110,"context_line":"                     \u0027they have previously been evacuated. This can result in \u0027"},{"line_number":111,"context_line":"                      \u0027data loss if undesired. See \u0027"},{"line_number":112,"context_line":"                      \u0027https://launchpad.net/bugs/1419785\u0027),"},{"line_number":113,"context_line":"    ]"},{"line_number":114,"context_line":"CONF \u003d cfg.CONF"},{"line_number":115,"context_line":"CONF.register_opts(monkey_patch_opts)"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a80dd14_315ad4f3","line":112,"in_reply_to":"9a80dd14_d83a99cc","updated":"2015-03-05 19:39:43.000000000","message":"I agree this type of thing is not ideal, and work around group makes sense. But when I was deploying OpenStack I would look at all the new config options for every release before migrating as to look for gotchas like this.","commit_id":"922148ac45c5a70da8969815b4f47e3c758d6974"}]}
