)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"eae0936c86c9345ffffdd1fd6c4baf81857da055","unresolved":false,"context_lines":[{"line_number":15,"context_line":"instance is already running on and fail the cold migration"},{"line_number":16,"context_line":"with an UnableToMigrateToSelf error in the compute service."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"This change adds a backward compatible option to allow"},{"line_number":19,"context_line":"resize to the same host but disable cold migration to the"},{"line_number":20,"context_line":"same host. The API knows if we are resizing or cold mgirating"},{"line_number":21,"context_line":"if the flavor changes, so the appropriate option will be used"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3fa7e38b_5544e1b7","line":18,"updated":"2019-11-22 08:51:55.000000000","message":"Or we could just avoid to set the instance to error when cold-migration on a hypervisor not support it.","commit_id":"7281b68020deb6cbec47c0b469a1f89a0a6d4c88"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6b8525bb3ac88a5b7b02562a5e4d6063c4bad32b","unresolved":false,"context_lines":[{"line_number":15,"context_line":"instance is already running on and fail the cold migration"},{"line_number":16,"context_line":"with an UnableToMigrateToSelf error in the compute service."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"This change adds a backward compatible option to allow"},{"line_number":19,"context_line":"resize to the same host but disable cold migration to the"},{"line_number":20,"context_line":"same host. The API knows if we are resizing or cold mgirating"},{"line_number":21,"context_line":"if the flavor changes, so the appropriate option will be used"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3fa7e38b_847d491d","line":18,"in_reply_to":"3fa7e38b_5544e1b7","updated":"2019-11-22 14:24:50.000000000","message":"We already don\u0027t set the instance to ERROR status on UnableToMigrateToSelf:\n\nhttps://github.com/openstack/nova/blob/991d675675c1c6bb87a2b9d19327e2b4473f6c0b/nova/compute/manager.py#L4635\n\nhttps://github.com/openstack/nova/blob/991d675675c1c6bb87a2b9d19327e2b4473f6c0b/nova/compute/manager.py#L4738\n\nhttps://github.com/openstack/nova/blob/991d675675c1c6bb87a2b9d19327e2b4473f6c0b/nova/compute/manager.py#L9386\n\nBut the operation still fails.","commit_id":"7281b68020deb6cbec47c0b469a1f89a0a6d4c88"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f51e9a5b9338d0789c2d948014e2ccc271e633c9","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"This change adds a backward compatible option to allow"},{"line_number":19,"context_line":"resize to the same host but disable cold migration to the"},{"line_number":20,"context_line":"same host. The API knows if we are resizing or cold mgirating"},{"line_number":21,"context_line":"if the flavor changes, so the appropriate option will be used"},{"line_number":22,"context_line":"based on the operation. The new option defaults to the configured"},{"line_number":23,"context_line":"value of allow_resize_to_same_host (which defaults to False)."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3fa7e38b_98fcfeb6","line":20,"range":{"start_line":20,"start_character":52,"end_line":20,"end_character":61},"updated":"2019-11-19 20:44:52.000000000","message":"migrating","commit_id":"7281b68020deb6cbec47c0b469a1f89a0a6d4c88"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f51e9a5b9338d0789c2d948014e2ccc271e633c9","unresolved":false,"context_lines":[{"line_number":18,"context_line":"This change adds a backward compatible option to allow"},{"line_number":19,"context_line":"resize to the same host but disable cold migration to the"},{"line_number":20,"context_line":"same host. The API knows if we are resizing or cold mgirating"},{"line_number":21,"context_line":"if the flavor changes, so the appropriate option will be used"},{"line_number":22,"context_line":"based on the operation. The new option defaults to the configured"},{"line_number":23,"context_line":"value of allow_resize_to_same_host (which defaults to False)."},{"line_number":24,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3fa7e38b_18224e55","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":2},"updated":"2019-11-19 20:44:52.000000000","message":"\"based on whether or not\" ?","commit_id":"7281b68020deb6cbec47c0b469a1f89a0a6d4c88"}],"nova/compute/api.py":[{"author":{"_account_id":26124,"name":"Jing Zhang","email":"Jing.C.Zhang@Nokia.com","username":"Jing.C.Zhang"},"change_message_id":"6553092e36d68a8dc66fc4d6f490ec49c278d26c","unresolved":false,"context_lines":[{"line_number":3611,"context_line":"        :param cold_migrate: true if performing a cold migration, false"},{"line_number":3612,"context_line":"            for resize"},{"line_number":3613,"context_line":"        \"\"\""},{"line_number":3614,"context_line":"        allow_same_host \u003d CONF.allow_resize_to_same_host"},{"line_number":3615,"context_line":"        if cold_migrate:"},{"line_number":3616,"context_line":"            allow_same_host \u003d CONF.workarounds.allow_cold_migrate_to_same_host"},{"line_number":3617,"context_line":"            if allow_same_host is None:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_57f465f1","line":3614,"updated":"2019-08-12 22:57:11.000000000","message":"Since we want them be separate flags, checking them separately shall be better, i.e.\nif cold_migrate: check allow_code_migrate_to_same_host flag only\nelse: check allow_resize to same_host flag","commit_id":"43258ca8a78c1a3a672e1ce4e5001063122d3ea8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"88c9042a0c2442f6af3ae128049ab2dcb51e621b","unresolved":false,"context_lines":[{"line_number":3611,"context_line":"        :param cold_migrate: true if performing a cold migration, false"},{"line_number":3612,"context_line":"            for resize"},{"line_number":3613,"context_line":"        \"\"\""},{"line_number":3614,"context_line":"        allow_same_host \u003d CONF.allow_resize_to_same_host"},{"line_number":3615,"context_line":"        if cold_migrate:"},{"line_number":3616,"context_line":"            allow_same_host \u003d CONF.workarounds.allow_cold_migrate_to_same_host"},{"line_number":3617,"context_line":"            if allow_same_host is None:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_88b94c16","line":3614,"in_reply_to":"7faddb67_57f465f1","updated":"2019-08-13 17:41:44.000000000","message":"I\u0027ll change this if I need to rebase or address other feedback.","commit_id":"43258ca8a78c1a3a672e1ce4e5001063122d3ea8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b9c4b9c97930a259f11db7c5622f9f71b137bb6f","unresolved":false,"context_lines":[{"line_number":3611,"context_line":"        :param cold_migrate: true if performing a cold migration, false"},{"line_number":3612,"context_line":"            for resize"},{"line_number":3613,"context_line":"        \"\"\""},{"line_number":3614,"context_line":"        allow_same_host \u003d CONF.allow_resize_to_same_host"},{"line_number":3615,"context_line":"        if cold_migrate:"},{"line_number":3616,"context_line":"            allow_same_host \u003d CONF.workarounds.allow_cold_migrate_to_same_host"},{"line_number":3617,"context_line":"            if allow_same_host is None:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_954287ab","line":3614,"in_reply_to":"7faddb67_88b94c16","updated":"2019-11-19 20:00:43.000000000","message":"Actually I\u0027m going to leave this. If cold_migrate is True but allow_cold_migrate_to_same_host is None (the default) then we still need to check the allow_resize_to_same_host flag in the cold migrate case so splitting this up doesn\u0027t buy us much.","commit_id":"43258ca8a78c1a3a672e1ce4e5001063122d3ea8"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"6ce2f53c5c7aa8f960bbd648eff92f5399eea0fa","unresolved":false,"context_lines":[{"line_number":3621,"context_line":"                allow_same_host \u003d CONF.allow_resize_to_same_host"},{"line_number":3622,"context_line":""},{"line_number":3623,"context_line":"        if not allow_same_host:"},{"line_number":3624,"context_line":"            filter_properties[\u0027ignore_hosts\u0027].append(instance.host)"},{"line_number":3625,"context_line":""},{"line_number":3626,"context_line":"    @check_instance_lock"},{"line_number":3627,"context_line":"    @check_instance_state(vm_state\u003d[vm_states.ACTIVE, vm_states.STOPPED,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_769d5c55","line":3624,"updated":"2019-09-05 13:57:28.000000000","message":"I know currently _filter_same_host_resize is only being called with a correct filter_properties that already contains the \u0027ignore_hosts\u0027 key, but I\u0027d be more comfortable not relying on whatever called us to have set \u0027ignore_hosts\u0027 in filter_properties, to avoid a potential KeyError here.\n\n\u003clater\u003e\n\nI think the best way of doing it would be:\n\n  filter_properties \u003d {}\n  filter_properties[\u0027ignore_hosts\u0027] \u003d self._get_hosts_to_ignore(instance, cold_migrate)\n\nwhere _ignore_hosts is the current _filter_same_host_resize, but it returns [instance.host] or [], depending on its internal logic, and then we could have an easy unit test for _get_hosts_to_ignore that covers all 12 (yes, I counted) possible combinations of cold_migrate (True/False), allow_resize_to_same_host (True/False) and allow_cold_migrate_to_same_host (None/True/False).","commit_id":"43258ca8a78c1a3a672e1ce4e5001063122d3ea8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b9c4b9c97930a259f11db7c5622f9f71b137bb6f","unresolved":false,"context_lines":[{"line_number":3621,"context_line":"                allow_same_host \u003d CONF.allow_resize_to_same_host"},{"line_number":3622,"context_line":""},{"line_number":3623,"context_line":"        if not allow_same_host:"},{"line_number":3624,"context_line":"            filter_properties[\u0027ignore_hosts\u0027].append(instance.host)"},{"line_number":3625,"context_line":""},{"line_number":3626,"context_line":"    @check_instance_lock"},{"line_number":3627,"context_line":"    @check_instance_state(vm_state\u003d[vm_states.ACTIVE, vm_states.STOPPED,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_752eebfa","line":3624,"in_reply_to":"7faddb67_769d5c55","updated":"2019-11-19 20:00:43.000000000","message":"I took this in a slightly different direction since returning the host or empty list was still weird so now the method just returns a boolean so the original logic is closer but it\u0027s calling a function (this new function) rather than checking a single config option.","commit_id":"43258ca8a78c1a3a672e1ce4e5001063122d3ea8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"afcdc96c3f2087eacf71d56c1ad09c7a59eed8b5","unresolved":false,"context_lines":[{"line_number":3800,"context_line":"                    validate_pci\u003dTrue)"},{"line_number":3801,"context_line":""},{"line_number":3802,"context_line":"        filter_properties \u003d {\u0027ignore_hosts\u0027: []}"},{"line_number":3803,"context_line":"        if not self._allow_same_host_resize(same_instance_type):"},{"line_number":3804,"context_line":"            filter_properties[\u0027ignore_hosts\u0027].append(instance.host)"},{"line_number":3805,"context_line":""},{"line_number":3806,"context_line":"        request_spec \u003d objects.RequestSpec.get_by_instance_uuid("}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_186a4eb4","line":3803,"range":{"start_line":3803,"start_character":20,"end_line":3803,"end_character":43},"updated":"2019-11-19 20:23:11.000000000","message":"heh, could have just name this allow_resize_to_same_host","commit_id":"e4c9620cfe6d4e7116f88e623213f3c72ee6cc56"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"10dd746668f8c900e1c62fe366d7c273445a830f","unresolved":false,"context_lines":[{"line_number":3866,"context_line":"                # if not set, default to allow_resize_to_same_host for backward"},{"line_number":3867,"context_line":"                # compatibility."},{"line_number":3868,"context_line":"                allow_same_host \u003d CONF.allow_resize_to_same_host"},{"line_number":3869,"context_line":"        return True if allow_same_host else False"},{"line_number":3870,"context_line":""},{"line_number":3871,"context_line":"    @check_instance_lock"},{"line_number":3872,"context_line":"    @check_instance_state(vm_state\u003d[vm_states.ACTIVE, vm_states.STOPPED,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_789ee2b8","line":3869,"range":{"start_line":3869,"start_character":15,"end_line":3869,"end_character":49},"updated":"2019-11-19 20:25:33.000000000","message":"This ternary is redundant.","commit_id":"e4c9620cfe6d4e7116f88e623213f3c72ee6cc56"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f51e9a5b9338d0789c2d948014e2ccc271e633c9","unresolved":false,"context_lines":[{"line_number":3865,"context_line":"                # allow_cold_migrate_to_same_host defaults to None to mean"},{"line_number":3866,"context_line":"                # if not set, default to allow_resize_to_same_host for backward"},{"line_number":3867,"context_line":"                # compatibility."},{"line_number":3868,"context_line":"                allow_same_host \u003d CONF.allow_resize_to_same_host"},{"line_number":3869,"context_line":"        return allow_same_host"},{"line_number":3870,"context_line":""},{"line_number":3871,"context_line":"    @check_instance_lock"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_d8e4b610","line":3868,"updated":"2019-11-19 20:44:52.000000000","message":"This flipping back and forth is confusing to me. I would rather pull out the conf values and then use just logic to calculate whether or not we allow it.","commit_id":"7281b68020deb6cbec47c0b469a1f89a0a6d4c88"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"edf1341e034819581caa868e3fe08a0a63ab8ffd","unresolved":false,"context_lines":[{"line_number":3865,"context_line":"                # allow_cold_migrate_to_same_host defaults to None to mean"},{"line_number":3866,"context_line":"                # if not set, default to allow_resize_to_same_host for backward"},{"line_number":3867,"context_line":"                # compatibility."},{"line_number":3868,"context_line":"                allow_same_host \u003d CONF.allow_resize_to_same_host"},{"line_number":3869,"context_line":"        return allow_same_host"},{"line_number":3870,"context_line":""},{"line_number":3871,"context_line":"    @check_instance_lock"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_f85ad24d","line":3868,"in_reply_to":"3fa7e38b_38838a05","updated":"2019-11-19 21:11:14.000000000","message":"I guess. Almost anything other than if..if... and flip-flopping that flag back and forth would be better, IMHO.","commit_id":"7281b68020deb6cbec47c0b469a1f89a0a6d4c88"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"fd34444b559f70a4d73ec9de6c743ebe11098f6f","unresolved":false,"context_lines":[{"line_number":3865,"context_line":"                # allow_cold_migrate_to_same_host defaults to None to mean"},{"line_number":3866,"context_line":"                # if not set, default to allow_resize_to_same_host for backward"},{"line_number":3867,"context_line":"                # compatibility."},{"line_number":3868,"context_line":"                allow_same_host \u003d CONF.allow_resize_to_same_host"},{"line_number":3869,"context_line":"        return allow_same_host"},{"line_number":3870,"context_line":""},{"line_number":3871,"context_line":"    @check_instance_lock"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_38838a05","line":3868,"in_reply_to":"3fa7e38b_d8e4b610","updated":"2019-11-19 20:49:30.000000000","message":"So what this person asked for?\n\nhttps://review.opendev.org/#/c/676022/1/nova/compute/api.py@3614","commit_id":"7281b68020deb6cbec47c0b469a1f89a0a6d4c88"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"6dcc7927a8dca4090f643e8709982347a29efdf3","unresolved":false,"context_lines":[{"line_number":3865,"context_line":"                # allow_cold_migrate_to_same_host defaults to None to mean"},{"line_number":3866,"context_line":"                # if not set, default to allow_resize_to_same_host for backward"},{"line_number":3867,"context_line":"                # compatibility."},{"line_number":3868,"context_line":"                allow_same_host \u003d CONF.allow_resize_to_same_host"},{"line_number":3869,"context_line":"        return allow_same_host"},{"line_number":3870,"context_line":""},{"line_number":3871,"context_line":"    @check_instance_lock"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_3c23305a","line":3868,"in_reply_to":"3fa7e38b_f85ad24d","updated":"2019-11-25 20:16:15.000000000","message":"I have to agree with Dan here. Wouldn\u0027t the following (pseudocode) be clearer:\n\n  if cold_migrate:\n    if CONF.allow_cold_migrate_to_same_host is None:\n      return allow_resize_to_same_host\n    return CONF.allow_cold_migrate_to_same_host\n  return CONF.allow_resize_to_same_host","commit_id":"7281b68020deb6cbec47c0b469a1f89a0a6d4c88"}],"nova/conf/workarounds.py":[{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"6dcc7927a8dca4090f643e8709982347a29efdf3","unresolved":false,"context_lines":[{"line_number":264,"context_line":"add the same host to the destination options for scheduling, but does not mean"},{"line_number":265,"context_line":"the same host will be selected by the scheduler."},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"If not using the vCenter driver this should be False to avoid bug 1748697:"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"https://bugs.launchpad.net/nova/+bug/1748697"},{"line_number":270,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_9cd5841d","line":267,"range":{"start_line":267,"start_character":0,"end_line":267,"end_character":74},"updated":"2019-11-25 20:16:15.000000000","message":"I think Dan means this line? And I sorta get his point: if the libvirt driver knows it can\u0027t cold migrate to the same host, a workaround config option shouldn\u0027t be necessary to communicate that to the rest of the deployment. Which you (Matt) already know, because you did that follow up trait change - this patch is just to make it backportable.","commit_id":"7281b68020deb6cbec47c0b469a1f89a0a6d4c88"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f51e9a5b9338d0789c2d948014e2ccc271e633c9","unresolved":false,"context_lines":[{"line_number":271,"context_line":".. note:: This workaround is applied globally in the API service and therefore"},{"line_number":272,"context_line":"          does not account for a mixed hypervisor deployment, e.g. libvirt and"},{"line_number":273,"context_line":"          vCenter drivers in different aggregates."},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"Related options:"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"* ``[DEFAULT]/allow_resize_to_same_host`` - Most compute drivers"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_d8927658","line":274,"updated":"2019-11-19 20:44:52.000000000","message":"Won\u0027t the libvirt op have to set the old thing to True *and* set this to False to make things work? That makes it less useful/sensical as a workaround. It should also probably call that out specifically. And I tend to think the above means it\u0027s not really a workaround. I would expect someone not hacking around a problem would have nothing set in their workarounds section, whereas this is more like forcing a workaround off to enable a feature, which seems weird to me.","commit_id":"7281b68020deb6cbec47c0b469a1f89a0a6d4c88"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8608f4ca006e0153f94b26292120a6d87aedd2c8","unresolved":false,"context_lines":[{"line_number":271,"context_line":".. note:: This workaround is applied globally in the API service and therefore"},{"line_number":272,"context_line":"          does not account for a mixed hypervisor deployment, e.g. libvirt and"},{"line_number":273,"context_line":"          vCenter drivers in different aggregates."},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"Related options:"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"* ``[DEFAULT]/allow_resize_to_same_host`` - Most compute drivers"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_5398a767","line":274,"in_reply_to":"3fa7e38b_18356ef6","updated":"2019-11-19 22:02:27.000000000","message":"\u003e Right, so:\n \u003e \n \u003e - If I\u0027m libvirt, I have the feature enabled already and the bug.\n \u003e To *fix* the bug, I *disable* a workaround\n \u003e - If I\u0027m vcenter, I have the feature enabled already and no bug. To\n \u003e keep working I *enable* a workaround.\n\nIf you\u0027re vcenter you don\u0027t touch this - no change.\n\n \u003e \n \u003e Just seems like it\u0027s the wrong message in both cases. I\u0027d rather\n \u003e this just not be a workaround, and reno that it\u0027s defaulting to\n \u003e None for now, but will default to False in the future and remove\n \u003e the none option.\n\nSo you\u0027re asking that this just go into the [DEFAULT] group like the allow_resize_to_same_host option? I think it has to default to None for backward compat, which it seems you agree with.\n\nI have it as a workaround because I think we can eventually deprecate and remove the option altogether when we have a trait reported by the computes that the API can use rather than a global option, and that\u0027s this:\n\nhttps://review.opendev.org/#/c/666604/","commit_id":"7281b68020deb6cbec47c0b469a1f89a0a6d4c88"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"6dcc7927a8dca4090f643e8709982347a29efdf3","unresolved":false,"context_lines":[{"line_number":271,"context_line":".. note:: This workaround is applied globally in the API service and therefore"},{"line_number":272,"context_line":"          does not account for a mixed hypervisor deployment, e.g. libvirt and"},{"line_number":273,"context_line":"          vCenter drivers in different aggregates."},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"Related options:"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"* ``[DEFAULT]/allow_resize_to_same_host`` - Most compute drivers"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_9cba64bd","line":274,"in_reply_to":"3fa7e38b_5398a767","updated":"2019-11-25 20:16:15.000000000","message":"So to recap - for my own clarity as much as anything else:\n\nvCenter - want to be able to cold migrate to same host:\nallow_resize_to_same_host is already True\nallow_cold_migrate_to_same_host is left unset/None, which will default to allow_resize_to_same_host\u0027s True.\n\nvCenter - DON\u0027T want to be able to cold migrate to same host:\nallow_resize_to_same_host is already False\nallow_cold_migrate_to_same_host is left unset/None, which will default to allow_resize_to_same_host\u0027s False.\n\nlibvirt - allow_resize_to_same_host is False:\nThe problem necessitating this workaround is never encountered.\n\nlibvirt - allow_resize_to_same_host is True:\nMight hit bug 1748697 - hope the operators finds the workaround CONF option and sets it, pending upgrade to U, which will include the \"real\" trait-related fix.","commit_id":"7281b68020deb6cbec47c0b469a1f89a0a6d4c88"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"edf1341e034819581caa868e3fe08a0a63ab8ffd","unresolved":false,"context_lines":[{"line_number":271,"context_line":".. note:: This workaround is applied globally in the API service and therefore"},{"line_number":272,"context_line":"          does not account for a mixed hypervisor deployment, e.g. libvirt and"},{"line_number":273,"context_line":"          vCenter drivers in different aggregates."},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"Related options:"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"* ``[DEFAULT]/allow_resize_to_same_host`` - Most compute drivers"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_18356ef6","line":274,"in_reply_to":"3fa7e38b_58b686de","updated":"2019-11-19 21:11:14.000000000","message":"Right, so:\n\n - If I\u0027m libvirt, I have the feature enabled already and the bug. To *fix* the bug, I *disable* a workaround\n - If I\u0027m vcenter, I have the feature enabled already and no bug. To keep working I *enable* a workaround.\n\nJust seems like it\u0027s the wrong message in both cases. I\u0027d rather this just not be a workaround, and reno that it\u0027s defaulting to None for now, but will default to False in the future and remove the none option.","commit_id":"7281b68020deb6cbec47c0b469a1f89a0a6d4c88"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"1ab13881aaba76a68a9910a2ea4fd193ee41b758","unresolved":false,"context_lines":[{"line_number":271,"context_line":".. note:: This workaround is applied globally in the API service and therefore"},{"line_number":272,"context_line":"          does not account for a mixed hypervisor deployment, e.g. libvirt and"},{"line_number":273,"context_line":"          vCenter drivers in different aggregates."},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"Related options:"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"* ``[DEFAULT]/allow_resize_to_same_host`` - Most compute drivers"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_6f89ec23","line":274,"in_reply_to":"3fa7e38b_9cba64bd","updated":"2019-11-25 21:22:09.000000000","message":"\u003e So to recap - for my own clarity as much as anything else:\n \u003e \n \u003e vCenter - want to be able to cold migrate to same host:\n \u003e allow_resize_to_same_host is already True\n \u003e allow_cold_migrate_to_same_host is left unset/None, which will\n \u003e default to allow_resize_to_same_host\u0027s True.\n \u003e \n \u003e vCenter - DON\u0027T want to be able to cold migrate to same host:\n \u003e allow_resize_to_same_host is already False\n \u003e allow_cold_migrate_to_same_host is left unset/None, which will\n \u003e default to allow_resize_to_same_host\u0027s False.\n \u003e \n \u003e libvirt - allow_resize_to_same_host is False:\n \u003e The problem necessitating this workaround is never encountered.\n \u003e \n \u003e libvirt - allow_resize_to_same_host is True:\n \u003e Might hit bug 1748697 - hope the operators finds the workaround\n \u003e CONF option and sets it, pending upgrade to U, which will include\n \u003e the \"real\" trait-related fix.\n\nCorrect.","commit_id":"7281b68020deb6cbec47c0b469a1f89a0a6d4c88"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"fd34444b559f70a4d73ec9de6c743ebe11098f6f","unresolved":false,"context_lines":[{"line_number":271,"context_line":".. note:: This workaround is applied globally in the API service and therefore"},{"line_number":272,"context_line":"          does not account for a mixed hypervisor deployment, e.g. libvirt and"},{"line_number":273,"context_line":"          vCenter drivers in different aggregates."},{"line_number":274,"context_line":""},{"line_number":275,"context_line":"Related options:"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"* ``[DEFAULT]/allow_resize_to_same_host`` - Most compute drivers"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_58b686de","line":274,"in_reply_to":"3fa7e38b_d8927658","updated":"2019-11-19 20:49:30.000000000","message":"By old thing you mean allow_resize_to_same_host right? If they have that set to True when they get this code, they are already potentially getting the same host for cold migration and failing - that\u0027s the bug. This gives them an out by leaving allow_resize_to_same_host\u003dTrue and changing this new option to False to say, same-host resize - sure go ahead, but disallow cold migration to the same host because I know my deployment doesn\u0027t support it.\n\nIf you have left allow_resize_to_same_host\u003dFalse (which it is by default), then you also get allow_cold_migrate_to_same_host\u003dFalse by default so it\u0027s no difference in behavior.","commit_id":"7281b68020deb6cbec47c0b469a1f89a0a6d4c88"}],"releasenotes/notes/bug-1748697-workaround-allow-cold-migrate-same-host-a2c8b8ecd56883ee.yaml":[{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"6ce2f53c5c7aa8f960bbd648eff92f5399eea0fa","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    ``[workarounds]/allow_cold_migrate_to_same_host``, has been added which"},{"line_number":6,"context_line":"    by default has the same value as the"},{"line_number":7,"context_line":"    ``[DEFAULT]/allow_resize_to_same_host`` option for backward compatibility."},{"line_number":8,"context_line":"    The new option can be used to enable resize to the same host, which is"},{"line_number":9,"context_line":"    supported by most compute drivers, but disable cold migration to the same"},{"line_number":10,"context_line":"    host, which is not allowed by any compute drivers except for the"},{"line_number":11,"context_line":"    ``vmwareapi.VMwareVCDriver`` driver. This provides a workaround for"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"7faddb67_96cc9834","line":8,"range":{"start_line":8,"start_character":4,"end_line":8,"end_character":64},"updated":"2019-09-05 13:57:28.000000000","message":"nit: this threw me, because before getting to the rest of the sentence, it makes it look like the new option applies for resizes, which isn\u0027t the case. Maybe something like \"The new option allows controlling same host cold migration (which is only supported by the vCenter driver) independently of same host resize (which is supported by most drivers).\"","commit_id":"43258ca8a78c1a3a672e1ce4e5001063122d3ea8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b9c4b9c97930a259f11db7c5622f9f71b137bb6f","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    ``[workarounds]/allow_cold_migrate_to_same_host``, has been added which"},{"line_number":6,"context_line":"    by default has the same value as the"},{"line_number":7,"context_line":"    ``[DEFAULT]/allow_resize_to_same_host`` option for backward compatibility."},{"line_number":8,"context_line":"    The new option can be used to enable resize to the same host, which is"},{"line_number":9,"context_line":"    supported by most compute drivers, but disable cold migration to the same"},{"line_number":10,"context_line":"    host, which is not allowed by any compute drivers except for the"},{"line_number":11,"context_line":"    ``vmwareapi.VMwareVCDriver`` driver. This provides a workaround for"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"3fa7e38b_350dd38e","line":8,"range":{"start_line":8,"start_character":4,"end_line":8,"end_character":64},"in_reply_to":"7faddb67_96cc9834","updated":"2019-11-19 20:00:43.000000000","message":"Done","commit_id":"43258ca8a78c1a3a672e1ce4e5001063122d3ea8"}]}
