)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1d8e2647ab284678eadeed7bdf1e5066a46a7fbc","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Resize operation call compute.manager. using cast"},{"line_number":10,"context_line":"this doen\u0027t allow to notify user that there is something"},{"line_number":11,"context_line":"goes wrong. For example attempt to resize instance down"},{"line_number":12,"context_line":"fails silently. Traces were located only in nova-compute.log"},{"line_number":13,"context_line":"resize operation now is splited into 2 parts:"},{"line_number":14,"context_line":"Phase1: check that instance could be resized(sync rpc call)."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fa32b979_b69db5bd","line":11,"updated":"2015-06-24 21:02:07.000000000","message":"s/there is something goes wrong/something has gone wrong/\n\ns/for example attempt to resize instance/For example, an attempt to resize an instance/","commit_id":"4cb155cfe9eac697d1fc32a4f1bd34e2026a95d9"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"59a95bf9248c6580876860c144ec1345af8c8109","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Resize operation call compute.manager. using cast"},{"line_number":10,"context_line":"this doen\u0027t allow to notify user that there is something"},{"line_number":11,"context_line":"goes wrong. For example attempt to resize instance down"},{"line_number":12,"context_line":"fails silently. Traces were located only in nova-compute.log"},{"line_number":13,"context_line":"resize operation now is splited into 2 parts:"},{"line_number":14,"context_line":"Phase1: check that instance could be resized(sync rpc call)."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fa32b979_92565d5a","line":11,"in_reply_to":"fa32b979_b69db5bd","updated":"2015-06-25 12:52:45.000000000","message":"Done","commit_id":"4cb155cfe9eac697d1fc32a4f1bd34e2026a95d9"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1d8e2647ab284678eadeed7bdf1e5066a46a7fbc","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Resize operation call compute.manager. using cast"},{"line_number":10,"context_line":"this doen\u0027t allow to notify user that there is something"},{"line_number":11,"context_line":"goes wrong. For example attempt to resize instance down"},{"line_number":12,"context_line":"fails silently. Traces were located only in nova-compute.log"},{"line_number":13,"context_line":"resize operation now is splited into 2 parts:"},{"line_number":14,"context_line":"Phase1: check that instance could be resized(sync rpc call)."},{"line_number":15,"context_line":"Phase2: execute resize process(async over cast)."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fa32b979_d6d5d942","line":12,"updated":"2015-06-24 21:02:07.000000000","message":"s/Traces were located only in nova-compute.log/The error may only be found in the nova-compute log file/","commit_id":"4cb155cfe9eac697d1fc32a4f1bd34e2026a95d9"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"59a95bf9248c6580876860c144ec1345af8c8109","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Resize operation call compute.manager. using cast"},{"line_number":10,"context_line":"this doen\u0027t allow to notify user that there is something"},{"line_number":11,"context_line":"goes wrong. For example attempt to resize instance down"},{"line_number":12,"context_line":"fails silently. Traces were located only in nova-compute.log"},{"line_number":13,"context_line":"resize operation now is splited into 2 parts:"},{"line_number":14,"context_line":"Phase1: check that instance could be resized(sync rpc call)."},{"line_number":15,"context_line":"Phase2: execute resize process(async over cast)."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fa32b979_f25a4981","line":12,"in_reply_to":"fa32b979_d6d5d942","updated":"2015-06-25 12:52:45.000000000","message":"Done","commit_id":"4cb155cfe9eac697d1fc32a4f1bd34e2026a95d9"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1d8e2647ab284678eadeed7bdf1e5066a46a7fbc","unresolved":false,"context_lines":[{"line_number":12,"context_line":"fails silently. Traces were located only in nova-compute.log"},{"line_number":13,"context_line":"resize operation now is splited into 2 parts:"},{"line_number":14,"context_line":"Phase1: check that instance could be resized(sync rpc call)."},{"line_number":15,"context_line":"Phase2: execute resize process(async over cast)."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Closes-bug: #1455460"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fa32b979_b62e1541","line":15,"updated":"2015-06-24 21:02:07.000000000","message":"Please rework these last three lines into a separate paragraph that explains the *why* and the *how*, not just the what...\n\nFor instance you might say something like:\n\n In order to return more useful error messages to the end user, and to\n allow the operator to better diagnose failures, the resize operation has\n been split into two parts. The first part checks that the instance can indeed\n be resized, while the second part performs the actual instance resize\n operation. The actual resize operation is performed asynchronously,\n since the operation can take a long time, however, the check operation\n is performed synchronously, in order to provide better and quicker failure\n conditions to the user.","commit_id":"4cb155cfe9eac697d1fc32a4f1bd34e2026a95d9"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"59a95bf9248c6580876860c144ec1345af8c8109","unresolved":false,"context_lines":[{"line_number":12,"context_line":"fails silently. Traces were located only in nova-compute.log"},{"line_number":13,"context_line":"resize operation now is splited into 2 parts:"},{"line_number":14,"context_line":"Phase1: check that instance could be resized(sync rpc call)."},{"line_number":15,"context_line":"Phase2: execute resize process(async over cast)."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Closes-bug: #1455460"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"fa32b979_d2570558","line":15,"in_reply_to":"fa32b979_b62e1541","updated":"2015-06-25 12:52:45.000000000","message":"Done","commit_id":"4cb155cfe9eac697d1fc32a4f1bd34e2026a95d9"}],"nova/virt/driver.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1d8e2647ab284678eadeed7bdf1e5066a46a7fbc","unresolved":false,"context_lines":[{"line_number":570,"context_line":"        \"\"\"Checks whether it possible to resize instance or not"},{"line_number":571,"context_line":"        Raises a ResizeError when current instance root size is greater one in"},{"line_number":572,"context_line":"        flavor."},{"line_number":573,"context_line":"        Raises MigrationPreCheckError in other insufficient conditions"},{"line_number":574,"context_line":"        :param context: the context for the migration/resize"},{"line_number":575,"context_line":"        :param instance: nova.objects.instance.Instance being migrated/resized"},{"line_number":576,"context_line":"        :param flavor: target flavor to resize instance"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_d6363902","line":573,"updated":"2015-06-24 21:02:07.000000000","message":"You can put these lines 571-573 below line 577, like so:\n\n :raises ResizeError if current instance\u0027s root disk size is greater than\n         the root disk size in the new instance type.\n :raises MigrationPreCheckError when other the following other failure\n         conditions occur during the pre-check phase:\n          - Condition #1\n          - Condition #2 ...\n\nObviously, replace \"Condition #1\" and \"Condition #2\", etc with the list of actual failure conditions that the virt drivers will raise MigrationPreCheckError on.","commit_id":"4cb155cfe9eac697d1fc32a4f1bd34e2026a95d9"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"59a95bf9248c6580876860c144ec1345af8c8109","unresolved":false,"context_lines":[{"line_number":570,"context_line":"        \"\"\"Checks whether it possible to resize instance or not"},{"line_number":571,"context_line":"        Raises a ResizeError when current instance root size is greater one in"},{"line_number":572,"context_line":"        flavor."},{"line_number":573,"context_line":"        Raises MigrationPreCheckError in other insufficient conditions"},{"line_number":574,"context_line":"        :param context: the context for the migration/resize"},{"line_number":575,"context_line":"        :param instance: nova.objects.instance.Instance being migrated/resized"},{"line_number":576,"context_line":"        :param flavor: target flavor to resize instance"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa32b979_203ce2df","line":573,"in_reply_to":"fa32b979_d6363902","updated":"2015-06-25 12:52:45.000000000","message":"Done","commit_id":"4cb155cfe9eac697d1fc32a4f1bd34e2026a95d9"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"594437365c89f87d868eb6a10673b16afa482e71","unresolved":false,"context_lines":[{"line_number":6507,"context_line":"                                                         disk_info_text)"},{"line_number":6508,"context_line":"        if (root_down and not booted_from_volume) or ephemeral_down:"},{"line_number":6509,"context_line":"            reason \u003d _(\"Unable to resize disk down.\")"},{"line_number":6510,"context_line":"            raise exception.ResizeError(reason\u003dreason)"},{"line_number":6511,"context_line":""},{"line_number":6512,"context_line":"        # NOTE(dgenin): Migration is not implemented for LVM backed instances."},{"line_number":6513,"context_line":"        if CONF.libvirt.images_type \u003d\u003d \u0027lvm\u0027 and not booted_from_volume:"}],"source_content_type":"text/x-python","patch_set":17,"id":"3a50d1a3_179f8366","line":6510,"updated":"2015-07-30 07:14:09.000000000","message":"Can we check this more early, for example at nova api side? If we can, then we needn\u0027t send request to compute node and waiting for the result.","commit_id":"ee7140a3f90e9abccbb37893ebbbb02cf87a2c37"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"a094a871f0d870a0c1b5bd0750805eb87a591b42","unresolved":false,"context_lines":[{"line_number":6507,"context_line":"                                                         disk_info_text)"},{"line_number":6508,"context_line":"        if (root_down and not booted_from_volume) or ephemeral_down:"},{"line_number":6509,"context_line":"            reason \u003d _(\"Unable to resize disk down.\")"},{"line_number":6510,"context_line":"            raise exception.ResizeError(reason\u003dreason)"},{"line_number":6511,"context_line":""},{"line_number":6512,"context_line":"        # NOTE(dgenin): Migration is not implemented for LVM backed instances."},{"line_number":6513,"context_line":"        if CONF.libvirt.images_type \u003d\u003d \u0027lvm\u0027 and not booted_from_volume:"}],"source_content_type":"text/x-python","patch_set":17,"id":"3a50d1a3_6ec6316a","line":6510,"in_reply_to":"3a50d1a3_179f8366","updated":"2015-07-30 08:24:51.000000000","message":"Alex, thank you for review. This logic is not the same for different hypervisors. You could check other drivers.","commit_id":"ee7140a3f90e9abccbb37893ebbbb02cf87a2c37"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"4138ed80ffa4384f5691c03c956bfa1dc4fc4bb5","unresolved":false,"context_lines":[{"line_number":6507,"context_line":"                                                         disk_info_text)"},{"line_number":6508,"context_line":"        if (root_down and not booted_from_volume) or ephemeral_down:"},{"line_number":6509,"context_line":"            reason \u003d _(\"Unable to resize disk down.\")"},{"line_number":6510,"context_line":"            raise exception.ResizeError(reason\u003dreason)"},{"line_number":6511,"context_line":""},{"line_number":6512,"context_line":"        # NOTE(dgenin): Migration is not implemented for LVM backed instances."},{"line_number":6513,"context_line":"        if CONF.libvirt.images_type \u003d\u003d \u0027lvm\u0027 and not booted_from_volume:"}],"source_content_type":"text/x-python","patch_set":17,"id":"3a50d1a3_54298288","line":6510,"in_reply_to":"3a50d1a3_318de82a","updated":"2015-07-30 09:01:02.000000000","message":"Alex, yeah api same implementation depends on driver: there check for lvm in libvirt driver below, for example. There are different requirements for resizing instances for different hypervisors, and it\u0027s OK. This patch doesn\u0027t introduce new checks but splits them from resize process.","commit_id":"ee7140a3f90e9abccbb37893ebbbb02cf87a2c37"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3983d08799391d2ff276a909a450b47c07d113fb","unresolved":false,"context_lines":[{"line_number":6507,"context_line":"                                                         disk_info_text)"},{"line_number":6508,"context_line":"        if (root_down and not booted_from_volume) or ephemeral_down:"},{"line_number":6509,"context_line":"            reason \u003d _(\"Unable to resize disk down.\")"},{"line_number":6510,"context_line":"            raise exception.ResizeError(reason\u003dreason)"},{"line_number":6511,"context_line":""},{"line_number":6512,"context_line":"        # NOTE(dgenin): Migration is not implemented for LVM backed instances."},{"line_number":6513,"context_line":"        if CONF.libvirt.images_type \u003d\u003d \u0027lvm\u0027 and not booted_from_volume:"}],"source_content_type":"text/x-python","patch_set":17,"id":"3a50d1a3_9e613c14","line":6510,"in_reply_to":"3a50d1a3_54298288","updated":"2015-07-31 05:07:39.000000000","message":"The check at 6513 can be driver specific. But the check for new flavor isn\u0027t smaller than old flavor should have consistent behavior.\n\nThis patch fixes silent fault to return error the user. But at same time, we have chance make part of check consistent between the drivers.\n\nAnyway I can remove my -1, to see other people\u0027s opinion.","commit_id":"ee7140a3f90e9abccbb37893ebbbb02cf87a2c37"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"7685bcee03c59febd9bc46a8197e1f66396d72ac","unresolved":false,"context_lines":[{"line_number":6507,"context_line":"                                                         disk_info_text)"},{"line_number":6508,"context_line":"        if (root_down and not booted_from_volume) or ephemeral_down:"},{"line_number":6509,"context_line":"            reason \u003d _(\"Unable to resize disk down.\")"},{"line_number":6510,"context_line":"            raise exception.ResizeError(reason\u003dreason)"},{"line_number":6511,"context_line":""},{"line_number":6512,"context_line":"        # NOTE(dgenin): Migration is not implemented for LVM backed instances."},{"line_number":6513,"context_line":"        if CONF.libvirt.images_type \u003d\u003d \u0027lvm\u0027 and not booted_from_volume:"}],"source_content_type":"text/x-python","patch_set":17,"id":"3a50d1a3_318de82a","line":6510,"in_reply_to":"3a50d1a3_6ec6316a","updated":"2015-07-30 08:46:38.000000000","message":"Emm...this sounds like the API behavior depend on the driver implementation. This doesn\u0027t sound good.","commit_id":"ee7140a3f90e9abccbb37893ebbbb02cf87a2c37"}]}
