)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":21813,"name":"Andrey Volkov","email":"m@amadev.ru","username":"avolkov"},"change_message_id":"207e838906c5dc79d7cf785c7823c2af70fa4d0a","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Rollback original image info if server fail to rebuild"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently no indication that the rebuild was refused, and worse, we get a wrong"},{"line_number":10,"context_line":"imageref for the instance."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This patch rollbacks image info and set server status to ERROR when we rebuild"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f96bb07_0d3fc8d6","line":9,"updated":"2018-01-22 15:19:57.000000000","message":"nit: format commit message with 72 line length limit, please","commit_id":"efa96f1973b9b3b6dc79c9deae6c9254c8c41fdb"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7c29870b63083f5b653d850eeda9f05e3e46b336","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Rollback original image info if server fail to rebuild"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Currently no indication that the rebuild was refused, and worse, we get a wrong"},{"line_number":10,"context_line":"imageref for the instance."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This patch rollbacks image info and set server status to ERROR when we rebuild"},{"line_number":13,"context_line":"a server fail in scheduling stage, such as no valid host found for rebuild."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f96bb07_ed5a9c81","line":10,"range":{"start_line":9,"start_character":65,"end_line":10,"end_character":26},"updated":"2018-01-22 15:05:53.000000000","message":"Until Queens we\u0027d get this if you tried doing a rebuild of a volume-backed instance too. We\u0027d just happily accept the rebuild request and fail to replace the image in the root disk on the compute side.","commit_id":"efa96f1973b9b3b6dc79c9deae6c9254c8c41fdb"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7c29870b63083f5b653d850eeda9f05e3e46b336","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Currently no indication that the rebuild was refused, and worse, we get a wrong"},{"line_number":10,"context_line":"imageref for the instance."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This patch rollbacks image info and set server status to ERROR when we rebuild"},{"line_number":13,"context_line":"a server fail in scheduling stage, such as no valid host found for rebuild."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"closes-bug: 1744325"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7f96bb07_8d4bd8ae","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":31},"updated":"2018-01-22 15:05:53.000000000","message":"By this I assume you mean the system_metadata? There is more that gets changed based on the requested image though, right, like keypair, userdata, disk config, kernel_id, ramdisk_id, and anything from https://github.com/openstack/nova/blob/master/nova/compute/api.py#L491 (_inherit_properties_from_image).\n\nSo we\u0027d still be leaving the instance in a half-baked state even if we revert the system_metadata.\n\nRather than try to fix part of the broken instance properties, why not just put the instance into ERROR state and be done with it? It will take a proper rebuild of the instance with a valid image to fix it.","commit_id":"efa96f1973b9b3b6dc79c9deae6c9254c8c41fdb"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"497507ff4ee10784591394bdafeee2a824076753","unresolved":false,"context_lines":[{"line_number":14,"context_line":"to get it out of ERROR state and reset with right instance metadata and"},{"line_number":15,"context_line":"properties."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"closes-bug: 1744325"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: Ibb7bee15a3d4ee6f0ef53ba12e8b41f65a1fe999"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7f96bb07_0384500b","line":17,"updated":"2018-01-23 15:00:12.000000000","message":"This should be exactly:\n\n Closes-Bug: #1744325","commit_id":"23e6c5d8a4d7325cfc5203331e59f66558d86986"}],"nova/conductor/manager.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7c29870b63083f5b653d850eeda9f05e3e46b336","unresolved":false,"context_lines":[{"line_number":950,"context_line":"                    host, node, limits \u003d (selection.service_host,"},{"line_number":951,"context_line":"                            selection.nodename, selection.limits)"},{"line_number":952,"context_line":"                except exception.NoValidHost as ex:"},{"line_number":953,"context_line":"                    instance.image_ref \u003d orig_image_ref"},{"line_number":954,"context_line":"                    instance.system_metadata.clear()"},{"line_number":955,"context_line":"                    if orig_sys_metadata:"},{"line_number":956,"context_line":"                        instance.system_metadata.update(orig_sys_metadata)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_cdad6032","line":953,"range":{"start_line":953,"start_character":41,"end_line":953,"end_character":55},"updated":"2018-01-22 15:05:53.000000000","message":"In the case of an evacuate, this is None:\n\nhttps://github.com/openstack/nova/blob/master/nova/compute/api.py#L4232\n\nSo here you\u0027d be setting the image_ref to None for a failed evacuate during scheduling, which would be wrong.","commit_id":"efa96f1973b9b3b6dc79c9deae6c9254c8c41fdb"},{"author":{"_account_id":21813,"name":"Andrey Volkov","email":"m@amadev.ru","username":"avolkov"},"change_message_id":"207e838906c5dc79d7cf785c7823c2af70fa4d0a","unresolved":false,"context_lines":[{"line_number":961,"context_line":"                    with excutils.save_and_reraise_exception():"},{"line_number":962,"context_line":"                        self._set_vm_state_and_notify(context, instance.uuid,"},{"line_number":963,"context_line":"                                \u0027rebuild_server\u0027,"},{"line_number":964,"context_line":"                                {\u0027vm_state\u0027: vm_states.ERROR,"},{"line_number":965,"context_line":"                                 \u0027task_state\u0027: None}, ex, request_spec)"},{"line_number":966,"context_line":"                        LOG.warning(\"No valid host found for rebuild\","},{"line_number":967,"context_line":"                                    instance\u003dinstance)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_3083fb58","line":964,"updated":"2018-01-22 15:19:57.000000000","message":"Why do we change that only for NoValidHost and UnsupportedPolicyException but not for all other exceptions?","commit_id":"efa96f1973b9b3b6dc79c9deae6c9254c8c41fdb"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7c29870b63083f5b653d850eeda9f05e3e46b336","unresolved":false,"context_lines":[{"line_number":966,"context_line":"                        LOG.warning(\"No valid host found for rebuild\","},{"line_number":967,"context_line":"                                    instance\u003dinstance)"},{"line_number":968,"context_line":"                except exception.UnsupportedPolicyException as ex:"},{"line_number":969,"context_line":"                    instance.image_ref \u003d orig_image_ref"},{"line_number":970,"context_line":"                    instance.system_metadata.clear()"},{"line_number":971,"context_line":"                    if orig_sys_metadata:"},{"line_number":972,"context_line":"                        instance.system_metadata.update(orig_sys_metadata)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_8da75850","line":969,"range":{"start_line":969,"start_character":41,"end_line":969,"end_character":55},"updated":"2018-01-22 15:05:53.000000000","message":"same","commit_id":"efa96f1973b9b3b6dc79c9deae6c9254c8c41fdb"}],"nova/tests/functional/regressions/test_bug_1713783.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"04e64cfe6a1463b50bc524b58d303b8ee86e51a8","unresolved":false,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"        self._wait_for_notification_event_type(\u0027compute_task.rebuild_server\u0027)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        server \u003d self._wait_for_state_change(self.api, server, \u0027ERROR\u0027)"},{"line_number":113,"context_line":"        self.assertEqual(self.hostname, server[\u0027OS-EXT-SRV-ATTR:host\u0027])"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"        # Check migrations"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f96bb07_540530c1","line":112,"updated":"2018-01-23 16:16:40.000000000","message":"nit: we could assert that the instance has a fault on it, something like this I think:\n\nself.assertIn(\u0027No valid host\u0027, server[\u0027fault\u0027][\u0027message\u0027])\n\n?","commit_id":"4196fbc3a3e1b1fa9e357bcec92ea07a972924a8"}],"nova/tests/functional/test_servers.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7c29870b63083f5b653d850eeda9f05e3e46b336","unresolved":false,"context_lines":[{"line_number":1200,"context_line":"            # Before microversion 2.51 events are only returned for instance"},{"line_number":1201,"context_line":"            # actions if you\u0027re an admin."},{"line_number":1202,"context_line":"            self.api_fixture.admin_api)"},{"line_number":1203,"context_line":"        # Unfortunately the server\u0027s image_ref is updated to be the new image"},{"line_number":1204,"context_line":"        # even though the rebuild should not work."},{"line_number":1205,"context_line":"        server \u003d self.api.get_server(server[\u0027id\u0027])"},{"line_number":1206,"context_line":"        self.assertEqual(rebuild_image_ref, server[\u0027image\u0027][\u0027id\u0027])"},{"line_number":1207,"context_line":""},{"line_number":1208,"context_line":"    def test_rebuild_with_new_image(self):"},{"line_number":1209,"context_line":"        \"\"\"Rebuilds a server with a different image which will run it through"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_2d4ba487","line":1206,"range":{"start_line":1203,"start_character":8,"end_line":1206,"end_character":66},"updated":"2018-01-22 15:05:53.000000000","message":"Why wouldn\u0027t this change as part of your change in conductor?","commit_id":"efa96f1973b9b3b6dc79c9deae6c9254c8c41fdb"}],"releasenotes/notes/bug-1744325-rebuild-error-status-9e2da03f3f81fd6e.yaml":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"d2c080fe59a57d7f7e4816d5b0216946dceee32e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    If scheduling fails during rebuild the server instance will go to ERROR"},{"line_number":5,"context_line":"    state and a fault will be recorded. `Bug 1744325`_"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    .. _Bug 1744325: https://bugs.launchpad.net/nova/+bug/1744325"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"7f96bb07_affd3db2","line":7,"updated":"2018-01-23 16:41:02.000000000","message":"perfect, concise and clear.","commit_id":"d03a890a34f632adc9a19a33c8a5aebbccec50e4"}]}
