)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"8749758bb8c388a79b140dccc72ff540a2115008","unresolved":false,"context_lines":[{"line_number":15,"context_line":"Where live_migration_downtime tunes how much guest downtime you are"},{"line_number":16,"context_line":"willing to tolerate during the live-migration and"},{"line_number":17,"context_line":"live_migration_completion_timeout defines how long you are willing to"},{"line_number":18,"context_line":"wait for a 1GB ram (with no storage to move) to have a small enough"},{"line_number":19,"context_line":"amount of memory to copy that it can happen in under"},{"line_number":20,"context_line":"live_migration_downtime seconds."},{"line_number":21,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"fa31d9ce_2835b5d9","line":18,"updated":"2017-02-10 19:51:58.000000000","message":"should this be \"a 1GB RAM instance\"?","commit_id":"f606d056c73c85fecaf75430dd5c104f0fe84a27"}],"nova/conf/libvirt.py":[{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"01674b599c10e91810cc3719212841c15ad9a384","unresolved":false,"context_lines":[{"line_number":328,"context_line":""},{"line_number":329,"context_line":"Will be rounded up to a minimum of %d steps."},{"line_number":330,"context_line":"\"\"\" % LIVE_MIGRATION_DOWNTIME_STEPS_MIN),"},{"line_number":331,"context_line":"    # TODO(hieulq): Need to add min argument by moving from"},{"line_number":332,"context_line":"    # LIVE_MIGRATION_DOWNTIME_DELAY_MIN constant."},{"line_number":333,"context_line":"    cfg.IntOpt(\u0027live_migration_downtime_delay\u0027,"},{"line_number":334,"context_line":"               default\u003d75,"},{"line_number":335,"context_line":"               help\u003d\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a71b18c_d8f19402","side":"PARENT","line":332,"range":{"start_line":331,"start_character":4,"end_line":332,"end_character":49},"updated":"2016-12-07 10:52:11.000000000","message":"I thin this comment is still valid, because we need some validation for live_migration_downtime_delay, provided by oslo.conf, rather then manual checks","commit_id":"190294f37205e128e231056405b1836243ea0599"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"69d56f5f3dfd95dec22a9d57e572d8eaeffa514f","unresolved":false,"context_lines":[{"line_number":328,"context_line":""},{"line_number":329,"context_line":"Will be rounded up to a minimum of %d steps."},{"line_number":330,"context_line":"\"\"\" % LIVE_MIGRATION_DOWNTIME_STEPS_MIN),"},{"line_number":331,"context_line":"    # TODO(hieulq): Need to add min argument by moving from"},{"line_number":332,"context_line":"    # LIVE_MIGRATION_DOWNTIME_DELAY_MIN constant."},{"line_number":333,"context_line":"    cfg.IntOpt(\u0027live_migration_downtime_delay\u0027,"},{"line_number":334,"context_line":"               default\u003d75,"},{"line_number":335,"context_line":"               help\u003d\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a71b18c_047e17ae","side":"PARENT","line":332,"range":{"start_line":331,"start_character":4,"end_line":332,"end_character":49},"in_reply_to":"3a71b18c_d8f19402","updated":"2016-12-08 09:25:38.000000000","message":"Yeah, removed it by mistake.","commit_id":"190294f37205e128e231056405b1836243ea0599"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"01674b599c10e91810cc3719212841c15ad9a384","unresolved":false,"context_lines":[{"line_number":30,"context_line":"# Step count"},{"line_number":31,"context_line":"LIVE_MIGRATION_DOWNTIME_STEPS_MIN \u003d 3"},{"line_number":32,"context_line":"# Delay in seconds"},{"line_number":33,"context_line":"LIVE_MIGRATION_DOWNTIME_DELAY_MIN \u003d 10"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"libvirt_group \u003d cfg.OptGroup(\"libvirt\","},{"line_number":36,"context_line":"                             title\u003d\"Libvirt Options\","}],"source_content_type":"text/x-python","patch_set":1,"id":"3a71b18c_f8a6500d","line":33,"range":{"start_line":33,"start_character":0,"end_line":33,"end_character":38},"updated":"2016-12-07 10:52:11.000000000","message":"I\u0027d add TODO here too","commit_id":"8c1d5c4a04f7828934ef245048945ea1fc9d6917"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"69d56f5f3dfd95dec22a9d57e572d8eaeffa514f","unresolved":false,"context_lines":[{"line_number":30,"context_line":"# Step count"},{"line_number":31,"context_line":"LIVE_MIGRATION_DOWNTIME_STEPS_MIN \u003d 3"},{"line_number":32,"context_line":"# Delay in seconds"},{"line_number":33,"context_line":"LIVE_MIGRATION_DOWNTIME_DELAY_MIN \u003d 10"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"libvirt_group \u003d cfg.OptGroup(\"libvirt\","},{"line_number":36,"context_line":"                             title\u003d\"Libvirt Options\","}],"source_content_type":"text/x-python","patch_set":1,"id":"3a71b18c_04a7f74f","line":33,"range":{"start_line":33,"start_character":0,"end_line":33,"end_character":38},"in_reply_to":"3a71b18c_f8a6500d","updated":"2016-12-08 09:25:38.000000000","message":"Done","commit_id":"8c1d5c4a04f7828934ef245048945ea1fc9d6917"},{"author":{"_account_id":14819,"name":"Timofey Durakov","email":"timofei.nd@gmail.com","username":"tdurakov"},"change_message_id":"01674b599c10e91810cc3719212841c15ad9a384","unresolved":false,"context_lines":[{"line_number":320,"context_line":"is unimportant."},{"line_number":321,"context_line":"\"\"\" % LIVE_MIGRATION_DOWNTIME_MIN),"},{"line_number":322,"context_line":"    cfg.IntOpt(\u0027live_migration_downtime_steps\u0027,"},{"line_number":323,"context_line":"               deprecated_for_removal\u003dTrue,"},{"line_number":324,"context_line":"               deprecated_reason\u003d\"This option is being removed in favor of \""},{"line_number":325,"context_line":"                                 \"fixed number of live migration downtime \""},{"line_number":326,"context_line":"                                 \"steps which is equal to 10.\","},{"line_number":327,"context_line":"               help\u003d\"\"\""},{"line_number":328,"context_line":"Number of incremental steps to reach max downtime value."},{"line_number":329,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a71b18c_3838c8d2","line":326,"range":{"start_line":323,"start_character":15,"end_line":326,"end_character":63},"updated":"2016-12-07 10:52:11.000000000","message":"also add deprecated_since, please","commit_id":"8c1d5c4a04f7828934ef245048945ea1fc9d6917"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"69d56f5f3dfd95dec22a9d57e572d8eaeffa514f","unresolved":false,"context_lines":[{"line_number":320,"context_line":"is unimportant."},{"line_number":321,"context_line":"\"\"\" % LIVE_MIGRATION_DOWNTIME_MIN),"},{"line_number":322,"context_line":"    cfg.IntOpt(\u0027live_migration_downtime_steps\u0027,"},{"line_number":323,"context_line":"               deprecated_for_removal\u003dTrue,"},{"line_number":324,"context_line":"               deprecated_reason\u003d\"This option is being removed in favor of \""},{"line_number":325,"context_line":"                                 \"fixed number of live migration downtime \""},{"line_number":326,"context_line":"                                 \"steps which is equal to 10.\","},{"line_number":327,"context_line":"               help\u003d\"\"\""},{"line_number":328,"context_line":"Number of incremental steps to reach max downtime value."},{"line_number":329,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a71b18c_2449538f","line":326,"range":{"start_line":323,"start_character":15,"end_line":326,"end_character":63},"in_reply_to":"3a71b18c_3838c8d2","updated":"2016-12-08 09:25:38.000000000","message":"Done","commit_id":"8c1d5c4a04f7828934ef245048945ea1fc9d6917"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7f927ae8ff12cb30b8b31739b183ac93cfdfb124","unresolved":false,"context_lines":[{"line_number":329,"context_line":"               deprecated_reason\u003d\"This option is being removed in favor of \""},{"line_number":330,"context_line":"                                 \"new configuration option, \""},{"line_number":331,"context_line":"                                 \"live_migration_time_to_max_downtime.\","},{"line_number":332,"context_line":"               deprecated_since\u003d\"15.0.0\","},{"line_number":333,"context_line":"               help\u003d\"\"\""},{"line_number":334,"context_line":"Number of incremental steps to reach max downtime value."},{"line_number":335,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"1a430d35_a7b40882","line":332,"range":{"start_line":332,"start_character":33,"end_line":332,"end_character":35},"updated":"2017-02-07 15:08:07.000000000","message":"I think that needs updating now?","commit_id":"0c487d796b4f563958620a78efd458b2b17e436d"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"863da59245e3fe3b38a0ed4cd430299d5bacd3b6","unresolved":false,"context_lines":[{"line_number":329,"context_line":"               deprecated_reason\u003d\"This option is being removed in favor of \""},{"line_number":330,"context_line":"                                 \"new configuration option, \""},{"line_number":331,"context_line":"                                 \"live_migration_time_to_max_downtime.\","},{"line_number":332,"context_line":"               deprecated_since\u003d\"15.0.0\","},{"line_number":333,"context_line":"               help\u003d\"\"\""},{"line_number":334,"context_line":"Number of incremental steps to reach max downtime value."},{"line_number":335,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"1a430d35_bad93bf5","line":332,"range":{"start_line":332,"start_character":33,"end_line":332,"end_character":35},"in_reply_to":"1a430d35_a7b40882","updated":"2017-02-08 18:16:00.000000000","message":"+1","commit_id":"0c487d796b4f563958620a78efd458b2b17e436d"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"863da59245e3fe3b38a0ed4cd430299d5bacd3b6","unresolved":false,"context_lines":[{"line_number":335,"context_line":""},{"line_number":336,"context_line":"Will be rounded up to a minimum of %d steps."},{"line_number":337,"context_line":"\"\"\" % LIVE_MIGRATION_DOWNTIME_STEPS_MIN),"},{"line_number":338,"context_line":"    # TODO(hieulq): Need to add min argument by moving from"},{"line_number":339,"context_line":"    # LIVE_MIGRATION_DOWNTIME_DELAY_MIN constant."},{"line_number":340,"context_line":"    cfg.IntOpt(\u0027live_migration_downtime_delay\u0027,"},{"line_number":341,"context_line":"               deprecated_for_removal\u003dTrue,"},{"line_number":342,"context_line":"               deprecated_reason\u003d\"This option is being removed in favor of \""}],"source_content_type":"text/x-python","patch_set":8,"id":"1a430d35_1af16f6b","line":339,"range":{"start_line":338,"start_character":2,"end_line":339,"end_character":49},"updated":"2017-02-08 18:16:00.000000000","message":"delete this comment as well.","commit_id":"0c487d796b4f563958620a78efd458b2b17e436d"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7f927ae8ff12cb30b8b31739b183ac93cfdfb124","unresolved":false,"context_lines":[{"line_number":351,"context_line":"transferred, with lower bound of a minimum of 2 GiB per device."},{"line_number":352,"context_line":"\"\"\" % LIVE_MIGRATION_DOWNTIME_DELAY_MIN),"},{"line_number":353,"context_line":"    cfg.IntOpt(\u0027live_migration_time_to_max_downtime\u0027,"},{"line_number":354,"context_line":"               default\u003d400,"},{"line_number":355,"context_line":"               help\u003d\"\"\""},{"line_number":356,"context_line":"Time, in seconds, required to reach the maximum permitted downtime for live"},{"line_number":357,"context_line":"migration switchover. Downtime value will be increased over time until it"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a430d35_c7cd94b8","line":354,"range":{"start_line":354,"start_character":15,"end_line":354,"end_character":27},"updated":"2017-02-07 15:08:07.000000000","message":"I would rather we default that to half of live_migration_completion_timeout, whatever the user has set that value to be.\n\nIt saves people messing that up so easily.","commit_id":"0c487d796b4f563958620a78efd458b2b17e436d"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"5919e02bf55e510cd25dafc55b491d873f8bb259","unresolved":false,"context_lines":[{"line_number":357,"context_line":"migration switchover. Downtime value will be increased over time until it"},{"line_number":358,"context_line":"reaches the maximum permitted downtime."},{"line_number":359,"context_line":""},{"line_number":360,"context_line":"Value is per GiB of guest RAM + disk to be transferred, with lower bound of a"},{"line_number":361,"context_line":"minimum of 2 GiB per device. Set to 0 to use the maximum permitted downtime at"},{"line_number":362,"context_line":"the beginning of live migration instead of calculating it over time."},{"line_number":363,"context_line":"Default value is 400."}],"source_content_type":"text/x-python","patch_set":8,"id":"1a430d35_2da2dbae","line":360,"updated":"2017-02-06 21:25:49.000000000","message":"Do we need to make the time to max downtime be scaled by instance size?  I wonder if it might make sense to just have it be an absolute value?\n\nI don\u0027t see a huge benefit to having migrations hang around in-progress for many more minutes just to try to reduce their outage time slightly.\n\nIf the system is idle, then migrations should go pretty quick.  If the system is busy, then do we really want the added work of dirty page scanning going on for longer than necessary?","commit_id":"0c487d796b4f563958620a78efd458b2b17e436d"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7f927ae8ff12cb30b8b31739b183ac93cfdfb124","unresolved":false,"context_lines":[{"line_number":357,"context_line":"migration switchover. Downtime value will be increased over time until it"},{"line_number":358,"context_line":"reaches the maximum permitted downtime."},{"line_number":359,"context_line":""},{"line_number":360,"context_line":"Value is per GiB of guest RAM + disk to be transferred, with lower bound of a"},{"line_number":361,"context_line":"minimum of 2 GiB per device. Set to 0 to use the maximum permitted downtime at"},{"line_number":362,"context_line":"the beginning of live migration instead of calculating it over time."},{"line_number":363,"context_line":"Default value is 400."}],"source_content_type":"text/x-python","patch_set":8,"id":"1a430d35_c723d4a5","line":360,"in_reply_to":"1a430d35_2da2dbae","updated":"2017-02-07 15:08:07.000000000","message":"Scaling it is consistent with live_migration_completion_timeout, so its tempting to keep the scale factor in here.","commit_id":"0c487d796b4f563958620a78efd458b2b17e436d"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7f927ae8ff12cb30b8b31739b183ac93cfdfb124","unresolved":false,"context_lines":[{"line_number":360,"context_line":"Value is per GiB of guest RAM + disk to be transferred, with lower bound of a"},{"line_number":361,"context_line":"minimum of 2 GiB per device. Set to 0 to use the maximum permitted downtime at"},{"line_number":362,"context_line":"the beginning of live migration instead of calculating it over time."},{"line_number":363,"context_line":"Default value is 400."},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"If ``live_migration_downtime_steps`` and ``live_migration_downtime_delay``"},{"line_number":366,"context_line":"values are not None, those two are used to calculate downtime instead of"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a430d35_27f1f895","line":363,"range":{"start_line":363,"start_character":0,"end_line":363,"end_character":21},"updated":"2017-02-07 15:08:07.000000000","message":"I would drop this bit, it just repeats whats in the oslo def. I know other configs do this locally, but its an anti-pattern.","commit_id":"0c487d796b4f563958620a78efd458b2b17e436d"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"863da59245e3fe3b38a0ed4cd430299d5bacd3b6","unresolved":false,"context_lines":[{"line_number":360,"context_line":"Value is per GiB of guest RAM + disk to be transferred, with lower bound of a"},{"line_number":361,"context_line":"minimum of 2 GiB per device. Set to 0 to use the maximum permitted downtime at"},{"line_number":362,"context_line":"the beginning of live migration instead of calculating it over time."},{"line_number":363,"context_line":"Default value is 400."},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"If ``live_migration_downtime_steps`` and ``live_migration_downtime_delay``"},{"line_number":366,"context_line":"values are not None, those two are used to calculate downtime instead of"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a430d35_fa8d83d3","line":363,"range":{"start_line":363,"start_character":0,"end_line":363,"end_character":21},"in_reply_to":"1a430d35_27f1f895","updated":"2017-02-08 18:16:00.000000000","message":"+1","commit_id":"0c487d796b4f563958620a78efd458b2b17e436d"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"863da59245e3fe3b38a0ed4cd430299d5bacd3b6","unresolved":false,"context_lines":[{"line_number":362,"context_line":"the beginning of live migration instead of calculating it over time."},{"line_number":363,"context_line":"Default value is 400."},{"line_number":364,"context_line":""},{"line_number":365,"context_line":"If ``live_migration_downtime_steps`` and ``live_migration_downtime_delay``"},{"line_number":366,"context_line":"values are not None, those two are used to calculate downtime instead of"},{"line_number":367,"context_line":"``live_migration_time_to_max_downtime``."},{"line_number":368,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"1a430d35_9a61df07","line":365,"range":{"start_line":365,"start_character":0,"end_line":365,"end_character":74},"updated":"2017-02-08 18:16:00.000000000","message":"Maybe a TODO to update this section when these option are removed completely.","commit_id":"0c487d796b4f563958620a78efd458b2b17e436d"}],"nova/virt/libvirt/migration.py":[{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"863da59245e3fe3b38a0ed4cd430299d5bacd3b6","unresolved":false,"context_lines":[{"line_number":35,"context_line":"# etc in Ocata."},{"line_number":36,"context_line":"libvirt \u003d None"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"LIVE_MIGRATION_DOWNTIME_STEPS \u003d 10"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"def graphics_listen_addrs(migrate_data):"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a430d35_2e8b5069","line":38,"range":{"start_line":38,"start_character":0,"end_line":38,"end_character":29},"updated":"2017-02-08 18:16:00.000000000","message":"I am wondering if this should live in conf file?","commit_id":"0c487d796b4f563958620a78efd458b2b17e436d"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7f927ae8ff12cb30b8b31739b183ac93cfdfb124","unresolved":false,"context_lines":[{"line_number":527,"context_line":"    downtime \u003d CONF.libvirt.live_migration_downtime"},{"line_number":528,"context_line":"    steps \u003d CONF.libvirt.live_migration_downtime_steps"},{"line_number":529,"context_line":"    delay \u003d CONF.libvirt.live_migration_downtime_delay"},{"line_number":530,"context_line":"    time_to_max \u003d CONF.libvirt.live_migration_time_to_max_downtime"},{"line_number":531,"context_line":""},{"line_number":532,"context_line":"    downtime_min \u003d nova.conf.libvirt.LIVE_MIGRATION_DOWNTIME_MIN"},{"line_number":533,"context_line":"    steps_min \u003d nova.conf.libvirt.LIVE_MIGRATION_DOWNTIME_STEPS_MIN"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a430d35_47ba840b","line":530,"range":{"start_line":530,"start_character":31,"end_line":530,"end_character":66},"updated":"2017-02-07 15:08:07.000000000","message":"Its tempting to change this to min(CONF.libvirt.live_migration_time_to_max_downtime, CONF.libvirt.live_migration_completion_timeout) to make sure there are no mess ups here. Could log a warning I guess, but thats probably a little chatty.\n\nAlso, I would move to define this nearer to where it is used.","commit_id":"0c487d796b4f563958620a78efd458b2b17e436d"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"863da59245e3fe3b38a0ed4cd430299d5bacd3b6","unresolved":false,"context_lines":[{"line_number":527,"context_line":"    downtime \u003d CONF.libvirt.live_migration_downtime"},{"line_number":528,"context_line":"    steps \u003d CONF.libvirt.live_migration_downtime_steps"},{"line_number":529,"context_line":"    delay \u003d CONF.libvirt.live_migration_downtime_delay"},{"line_number":530,"context_line":"    time_to_max \u003d CONF.libvirt.live_migration_time_to_max_downtime"},{"line_number":531,"context_line":""},{"line_number":532,"context_line":"    downtime_min \u003d nova.conf.libvirt.LIVE_MIGRATION_DOWNTIME_MIN"},{"line_number":533,"context_line":"    steps_min \u003d nova.conf.libvirt.LIVE_MIGRATION_DOWNTIME_STEPS_MIN"}],"source_content_type":"text/x-python","patch_set":8,"id":"1a430d35_0e1db465","line":530,"range":{"start_line":530,"start_character":31,"end_line":530,"end_character":66},"in_reply_to":"1a430d35_47ba840b","updated":"2017-02-08 18:16:00.000000000","message":"agree. In that case maybe update description in conf file as well to reflect the usage.","commit_id":"0c487d796b4f563958620a78efd458b2b17e436d"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7f927ae8ff12cb30b8b31739b183ac93cfdfb124","unresolved":false,"context_lines":[{"line_number":546,"context_line":"    # TODO(pkoniszewski): remove this code once live_migration_downtime_delay"},{"line_number":547,"context_line":"    # and live_migration_downtime_steps configuration options are removed from"},{"line_number":548,"context_line":"    # nova conf."},{"line_number":549,"context_line":"    if steps and delay:"},{"line_number":550,"context_line":"        if steps \u003c steps_min:"},{"line_number":551,"context_line":"            LOG.warning(_LW(\"Config option live_migration_downtime_steps\u0027s \""},{"line_number":552,"context_line":"                            \"value is less than minimum value %dms, rounded \""}],"source_content_type":"text/x-python","patch_set":8,"id":"1a430d35_678a201d","line":549,"updated":"2017-02-07 15:08:07.000000000","message":"Nit: its tempting to create a new method for the new way, and a method to switch between the old and new method, so its easier to read (and easier to delete the old one).","commit_id":"0c487d796b4f563958620a78efd458b2b17e436d"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7f927ae8ff12cb30b8b31739b183ac93cfdfb124","unresolved":false,"context_lines":[{"line_number":575,"context_line":"            yield (0, downtime)"},{"line_number":576,"context_line":"        else:"},{"line_number":577,"context_line":"            steps \u003d LIVE_MIGRATION_DOWNTIME_STEPS"},{"line_number":578,"context_line":"            delay \u003d int((time_to_max / steps) * data_gb)"},{"line_number":579,"context_line":"            base \u003d downtime / steps"},{"line_number":580,"context_line":"            offset \u003d (downtime - base) / steps"},{"line_number":581,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"1a430d35_27f018c9","line":578,"range":{"start_line":578,"start_character":12,"end_line":578,"end_character":56},"updated":"2017-02-07 15:08:07.000000000","message":"Here time_to_max !\u003d time to get to the max, so maybe re-write this so its more like:\n\n    steps \u003d LIVE_MIGRATION_DOWNTIME_STEPS\n    time_to_max \u003d CONF.libvirt.live_migration_time_to_max_downtime * data_gb\n    delay \u003d time_to_max // steps\n\nI know its the same, and slightly less efficient, but I think ti should be clearer.","commit_id":"0c487d796b4f563958620a78efd458b2b17e436d"}],"releasenotes/notes/deprecate-live-migration-downtime-steps-0d4254d529398666.yaml":[{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"80bf3d22b28303535ae5686e4b45eda043310337","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"deprecations:"},{"line_number":3,"context_line":"  - The live_migration_downtime_steps option in the [libvirt] configuration"},{"line_number":4,"context_line":"    section is deprecated, and will be removed in the P release. Number"},{"line_number":5,"context_line":"    of downtime steps is fixed and is set to 10. To change how fast nova"},{"line_number":6,"context_line":"    will reach downtime set under live_migration_downtime option,"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"1a6eadb0_f47268e2","line":3,"updated":"2016-12-20 18:55:51.000000000","message":"Missing special character \"|\" in this line. Then the description should follow that in next line. This is causing release notes to fail.","commit_id":"42d4d6cc8eda2ed6ca2389151709acdb0f796222"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"80bf3d22b28303535ae5686e4b45eda043310337","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"deprecations:"},{"line_number":3,"context_line":"  - The live_migration_downtime_steps option in the [libvirt] configuration"},{"line_number":4,"context_line":"    section is deprecated, and will be removed in the P release. Number"},{"line_number":5,"context_line":"    of downtime steps is fixed and is set to 10. To change how fast nova"},{"line_number":6,"context_line":"    will reach downtime set under live_migration_downtime option,"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"1a6eadb0_b4471076","line":3,"range":{"start_line":3,"start_character":8,"end_line":3,"end_character":37},"updated":"2016-12-20 18:55:51.000000000","message":"nit: Wrap all the options in quotes, it renders better in release notes.","commit_id":"42d4d6cc8eda2ed6ca2389151709acdb0f796222"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"562abbc3cc66222cf77e06ea7c0da5a8a28ee0d4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"deprecations:"},{"line_number":3,"context_line":"  - The live_migration_downtime_steps option in the [libvirt] configuration"},{"line_number":4,"context_line":"    section is deprecated, and will be removed in the P release. Number"},{"line_number":5,"context_line":"    of downtime steps is fixed and is set to 10. To change how fast nova"},{"line_number":6,"context_line":"    will reach downtime set under live_migration_downtime option,"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"1a6eadb0_72a1f645","line":3,"in_reply_to":"1a6eadb0_7702da0a","updated":"2016-12-21 06:56:12.000000000","message":"Not sure why this would fail because of this character. There are other examples without it as well\nhttps://github.com/openstack/nova/blob/master/releasenotes/notes/deprecate-fatal-exception-format-errors-a5d2bf64e3404c39.yaml","commit_id":"42d4d6cc8eda2ed6ca2389151709acdb0f796222"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"f90d4a69560dd9c4cca3263b80f48506504eaaa0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"deprecations:"},{"line_number":3,"context_line":"  - The live_migration_downtime_steps option in the [libvirt] configuration"},{"line_number":4,"context_line":"    section is deprecated, and will be removed in the P release. Number"},{"line_number":5,"context_line":"    of downtime steps is fixed and is set to 10. To change how fast nova"},{"line_number":6,"context_line":"    will reach downtime set under live_migration_downtime option,"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"1a6eadb0_7702da0a","line":3,"in_reply_to":"1a6eadb0_f47268e2","updated":"2016-12-20 18:58:11.000000000","message":"Refer to https://github.com/openstack/nova/blob/master/releasenotes/notes/deprecate-nova-network-opts-b6da6af4497ef4ca.yaml for details","commit_id":"42d4d6cc8eda2ed6ca2389151709acdb0f796222"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"80bf3d22b28303535ae5686e4b45eda043310337","unresolved":false,"context_lines":[{"line_number":2,"context_line":"deprecations:"},{"line_number":3,"context_line":"  - The live_migration_downtime_steps option in the [libvirt] configuration"},{"line_number":4,"context_line":"    section is deprecated, and will be removed in the P release. Number"},{"line_number":5,"context_line":"    of downtime steps is fixed and is set to 10. To change how fast nova"},{"line_number":6,"context_line":"    will reach downtime set under live_migration_downtime option,"},{"line_number":7,"context_line":"    live_migration_downtime_delay can be changed."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"1a6eadb0_1459a45a","line":7,"range":{"start_line":5,"start_character":49,"end_line":7,"end_character":49},"updated":"2016-12-20 18:55:51.000000000","message":"This sentence is bit confusing. Any chance you can refactor it to make it more clear?","commit_id":"42d4d6cc8eda2ed6ca2389151709acdb0f796222"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7f927ae8ff12cb30b8b31739b183ac93cfdfb124","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"deprecations:"},{"line_number":3,"context_line":"  - The ``live_migration_downtime_steps`` option in the [libvirt] configuration"},{"line_number":4,"context_line":"    section is deprecated, and will be removed in the P release. Number"},{"line_number":5,"context_line":"    of downtime steps is fixed and is set to 10. ``live_migration_downtime_delay``"},{"line_number":6,"context_line":"    can be changed to reduce the delay between steps and therefore set"},{"line_number":7,"context_line":"    downtime to upper bound value in a shorter time."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"1a430d35_e78b70c1","line":4,"range":{"start_line":4,"start_character":54,"end_line":4,"end_character":63},"updated":"2017-02-07 15:08:07.000000000","message":"just say, in a future release. Also pike is now the current release.","commit_id":"0c487d796b4f563958620a78efd458b2b17e436d"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"863da59245e3fe3b38a0ed4cd430299d5bacd3b6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"deprecations:"},{"line_number":3,"context_line":"  - The ``live_migration_downtime_steps`` option in the [libvirt] configuration"},{"line_number":4,"context_line":"    section is deprecated, and will be removed in the P release. Number"},{"line_number":5,"context_line":"    of downtime steps is fixed and is set to 10. ``live_migration_downtime_delay``"},{"line_number":6,"context_line":"    can be changed to reduce the delay between steps and therefore set"},{"line_number":7,"context_line":"    downtime to upper bound value in a shorter time."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"1a430d35_7a14334c","line":4,"range":{"start_line":4,"start_character":54,"end_line":4,"end_character":63},"in_reply_to":"1a430d35_e78b70c1","updated":"2017-02-08 18:16:00.000000000","message":"Don\u0027t you need a new reno as we are in next cycle?","commit_id":"0c487d796b4f563958620a78efd458b2b17e436d"}]}
