)]}'
{"nova/compute/rpcapi.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4e65c5c0b819a0b90d7bad4bb8bd2054845d19b0","unresolved":false,"context_lines":[{"line_number":424,"context_line":"    def get_client(self, target, version_cap, serializer):"},{"line_number":425,"context_line":"        if CONF.rpc_response_timeout \u003e 60:"},{"line_number":426,"context_line":"            # NOTE(danms): If the operator has overridden RPC timeout to be"},{"line_number":427,"context_line":"            # longer than one minute (the default) then configure the"},{"line_number":428,"context_line":"            # call monitor timeout to be 60s to keep the same failure timing"},{"line_number":429,"context_line":"            # characteristics while allowing healthy calls to run longer."},{"line_number":430,"context_line":"            cmt \u003d 60"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_2136e503","line":427,"range":{"start_line":427,"start_character":38,"end_line":427,"end_character":49},"updated":"2018-06-11 18:52:15.000000000","message":"If this default value ever changes we\u0027ll be in trouble, but it\u0027s been this default for years and would be a major change if they changed the default, so likely not something to worry about. It might also be possible to actually get the default metadata for the option itself from oslo.config, but I\u0027m not sure.","commit_id":"475eda190d7413bcc0bf8ec46c39bdf482a4d1f6"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a3605e5a10548a8ab09471e83d7fe74bfa56002b","unresolved":false,"context_lines":[{"line_number":424,"context_line":"    def get_client(self, target, version_cap, serializer):"},{"line_number":425,"context_line":"        if CONF.rpc_response_timeout \u003e 60:"},{"line_number":426,"context_line":"            # NOTE(danms): If the operator has overridden RPC timeout to be"},{"line_number":427,"context_line":"            # longer than one minute (the default) then configure the"},{"line_number":428,"context_line":"            # call monitor timeout to be 60s to keep the same failure timing"},{"line_number":429,"context_line":"            # characteristics while allowing healthy calls to run longer."},{"line_number":430,"context_line":"            cmt \u003d 60"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_d7f7b3d3","line":427,"range":{"start_line":427,"start_character":38,"end_line":427,"end_character":49},"in_reply_to":"5f7c97a3_2136e503","updated":"2018-06-11 20:00:48.000000000","message":"Well, we don\u0027t control the default, so it could change underneath us anyway.\n\nThe thought here was that we know nova generally works with a default of 60s, so even if the default shifted, we\u0027d enable this if it went over that value. Maybe I should just define the threshold in nova/rpc.py and adjust this wording a bit?","commit_id":"475eda190d7413bcc0bf8ec46c39bdf482a4d1f6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"486e162b73f9009016878955b052431349035aa4","unresolved":false,"context_lines":[{"line_number":424,"context_line":"    def get_client(self, target, version_cap, serializer):"},{"line_number":425,"context_line":"        if CONF.rpc_response_timeout \u003e 60:"},{"line_number":426,"context_line":"            # NOTE(danms): If the operator has overridden RPC timeout to be"},{"line_number":427,"context_line":"            # longer than one minute (the default) then configure the"},{"line_number":428,"context_line":"            # call monitor timeout to be 60s to keep the same failure timing"},{"line_number":429,"context_line":"            # characteristics while allowing healthy calls to run longer."},{"line_number":430,"context_line":"            cmt \u003d 60"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_d7b0138e","line":427,"range":{"start_line":427,"start_character":38,"end_line":427,"end_character":49},"in_reply_to":"5f7c97a3_d7f7b3d3","updated":"2018-06-11 20:14:12.000000000","message":"This is OK, just noting hypothetical danger, but as noted, that would be a massive change to change the default on this since it would impact a lot of projects. Plus we could probably programmatically figure it out if needed.","commit_id":"475eda190d7413bcc0bf8ec46c39bdf482a4d1f6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4e65c5c0b819a0b90d7bad4bb8bd2054845d19b0","unresolved":false,"context_lines":[{"line_number":425,"context_line":"        if CONF.rpc_response_timeout \u003e 60:"},{"line_number":426,"context_line":"            # NOTE(danms): If the operator has overridden RPC timeout to be"},{"line_number":427,"context_line":"            # longer than one minute (the default) then configure the"},{"line_number":428,"context_line":"            # call monitor timeout to be 60s to keep the same failure timing"},{"line_number":429,"context_line":"            # characteristics while allowing healthy calls to run longer."},{"line_number":430,"context_line":"            cmt \u003d 60"},{"line_number":431,"context_line":"        else:"},{"line_number":432,"context_line":"            cmt \u003d None"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_fc0e5430","line":429,"range":{"start_line":428,"start_character":57,"end_line":429,"end_character":29},"updated":"2018-06-11 18:52:15.000000000","message":"same compared to what? before this change? just thinking ahead to two years from now when this comment will not make a lot of sense if it\u0027s meaning \"same as before this change\".","commit_id":"475eda190d7413bcc0bf8ec46c39bdf482a4d1f6"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a3605e5a10548a8ab09471e83d7fe74bfa56002b","unresolved":false,"context_lines":[{"line_number":425,"context_line":"        if CONF.rpc_response_timeout \u003e 60:"},{"line_number":426,"context_line":"            # NOTE(danms): If the operator has overridden RPC timeout to be"},{"line_number":427,"context_line":"            # longer than one minute (the default) then configure the"},{"line_number":428,"context_line":"            # call monitor timeout to be 60s to keep the same failure timing"},{"line_number":429,"context_line":"            # characteristics while allowing healthy calls to run longer."},{"line_number":430,"context_line":"            cmt \u003d 60"},{"line_number":431,"context_line":"        else:"},{"line_number":432,"context_line":"            cmt \u003d None"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_97fdbbb3","line":429,"range":{"start_line":428,"start_character":57,"end_line":429,"end_character":29},"in_reply_to":"5f7c97a3_fc0e5430","updated":"2018-06-11 20:00:48.000000000","message":"Yeah, same as it has in the past. I\u0027ll re-word.","commit_id":"475eda190d7413bcc0bf8ec46c39bdf482a4d1f6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e013c1d223b135bba1696b833a371bed8edbf31f","unresolved":false,"context_lines":[{"line_number":490,"context_line":"        version \u003d \u00275.0\u0027"},{"line_number":491,"context_line":"        client \u003d self.router.client(ctxt)"},{"line_number":492,"context_line":"        cctxt \u003d client.prepare(server\u003ddestination, version\u003dversion)"},{"line_number":493,"context_line":"        return cctxt.call(ctxt, \u0027check_can_live_migrate_destination\u0027,"},{"line_number":494,"context_line":"                          instance\u003dinstance,"},{"line_number":495,"context_line":"                          block_migration\u003dblock_migration,"},{"line_number":496,"context_line":"                          disk_over_commit\u003ddisk_over_commit)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_8dfebaac","line":493,"updated":"2018-06-14 15:15:13.000000000","message":"We should also do the long timeout here, because check_can_live_migrate_destination is an rpc call made from the conductor live migrate task, which rpc calls the dest host to build the migrate data object, which then rpc calls check_can_live_migrate_source on the source host to see if it\u0027s cool, which then all returns back to conductor. The source can recheck the dest host based on the migrate data, which is something we\u0027re talking about here:\n\nhttps://review.openstack.org/#/c/570528/\n\nBut the point is, it\u0027s a lot of rpc calling around between hosts and could timeout.","commit_id":"fe26a52024416ed2d37c2d5027da4b23231dc515"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"004a5d232511085332f245a0e57cd1e1359c91bf","unresolved":false,"context_lines":[{"line_number":490,"context_line":"        version \u003d \u00275.0\u0027"},{"line_number":491,"context_line":"        client \u003d self.router.client(ctxt)"},{"line_number":492,"context_line":"        cctxt \u003d client.prepare(server\u003ddestination, version\u003dversion)"},{"line_number":493,"context_line":"        return cctxt.call(ctxt, \u0027check_can_live_migrate_destination\u0027,"},{"line_number":494,"context_line":"                          instance\u003dinstance,"},{"line_number":495,"context_line":"                          block_migration\u003dblock_migration,"},{"line_number":496,"context_line":"                          disk_over_commit\u003ddisk_over_commit)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_b8f6555d","line":493,"in_reply_to":"5f7c97a3_8dfebaac","updated":"2018-06-14 16:51:25.000000000","message":"Done in a follow-up above this","commit_id":"fe26a52024416ed2d37c2d5027da4b23231dc515"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"fa13e677e2df6a4fb68e43243a41bcf02f848e10","unresolved":false,"context_lines":[{"line_number":696,"context_line":"        return cctxt.call(ctxt, \u0027post_live_migration_at_destination\u0027,"},{"line_number":697,"context_line":"            instance\u003dinstance, block_migration\u003dblock_migration)"},{"line_number":698,"context_line":""},{"line_number":699,"context_line":"    def pre_live_migration(self, ctxt, instance, block_migration, disk,"},{"line_number":700,"context_line":"            host, migrate_data):"},{"line_number":701,"context_line":"        version \u003d \u00275.0\u0027"},{"line_number":702,"context_line":"        client \u003d self.router.client(ctxt)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_9dab9986","line":699,"range":{"start_line":699,"start_character":8,"end_line":699,"end_character":26},"updated":"2018-06-11 23:07:12.000000000","message":"Random musing: it would be interesting (to me at least) to log something at debug in the compute manager code itself to track (using something like StopWatch) how long pre_live_migration actually took, and if it took longer than CONF.rpc_response_timeout (because that would have been a MessagingTimeout before this). Anyway, maybe I\u0027ll play with that as a patch on top.","commit_id":"fe26a52024416ed2d37c2d5027da4b23231dc515"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"3516f819ddb8548cff1ee861eb0208faf1a48e7c","unresolved":false,"context_lines":[{"line_number":696,"context_line":"        return cctxt.call(ctxt, \u0027post_live_migration_at_destination\u0027,"},{"line_number":697,"context_line":"            instance\u003dinstance, block_migration\u003dblock_migration)"},{"line_number":698,"context_line":""},{"line_number":699,"context_line":"    def pre_live_migration(self, ctxt, instance, block_migration, disk,"},{"line_number":700,"context_line":"            host, migrate_data):"},{"line_number":701,"context_line":"        version \u003d \u00275.0\u0027"},{"line_number":702,"context_line":"        client \u003d self.router.client(ctxt)"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_d3cd7430","line":699,"range":{"start_line":699,"start_character":8,"end_line":699,"end_character":26},"in_reply_to":"5f7c97a3_9dab9986","updated":"2018-06-12 13:33:45.000000000","message":"We can see the heartbeats if we turn on debug logging for o.msg, but that\u0027s a lot of noise. But yeah, it would be nice to see that it\u0027s working, although I don\u0027t think we\u0027ll ever see that in the gate most likely.","commit_id":"fe26a52024416ed2d37c2d5027da4b23231dc515"}],"nova/conf/compute.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4e65c5c0b819a0b90d7bad4bb8bd2054845d19b0","unresolved":false,"context_lines":[{"line_number":992,"context_line":""},{"line_number":993,"context_line":"* Any positive integer in seconds (default value is 60)."},{"line_number":994,"context_line":"\"\"\"),"},{"line_number":995,"context_line":"    cfg.IntOpt(\"long_rpc_timeout\","},{"line_number":996,"context_line":"        default\u003d1800,"},{"line_number":997,"context_line":"        help\u003d\"\"\""},{"line_number":998,"context_line":"This option allows setting an alternate timeout value for RPC calls"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_5c750897","line":995,"updated":"2018-06-11 18:52:15.000000000","message":"I know this is in the [DEFAULT] group, and throwing it into nova/conf/compute.py is OK, I just wonder if there is something more generic like service.py that could house this in case we plan on using this for other rpc api\u0027s outside of the compute service.\n\nThe immediate one that comes to mind is select_destinations in the scheduler rpc api, especially because I think we want to use this heartbeat thing to replace this:\n\nhttps://github.com/openstack/nova/blob/ef6b4f43f467dfad2fd0fe99d9dec3fc93a9ffed/nova/scheduler/utils.py#L854","commit_id":"475eda190d7413bcc0bf8ec46c39bdf482a4d1f6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"bf2614fccfbf00e0f2e8308c10112cb46a89f452","unresolved":false,"context_lines":[{"line_number":992,"context_line":""},{"line_number":993,"context_line":"* Any positive integer in seconds (default value is 60)."},{"line_number":994,"context_line":"\"\"\"),"},{"line_number":995,"context_line":"    cfg.IntOpt(\"long_rpc_timeout\","},{"line_number":996,"context_line":"        default\u003d1800,"},{"line_number":997,"context_line":"        help\u003d\"\"\""},{"line_number":998,"context_line":"This option allows setting an alternate timeout value for RPC calls"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_3c5a8cf1","line":995,"in_reply_to":"5f7c97a3_5c750897","updated":"2018-06-11 18:54:58.000000000","message":"Alternatively, put this in it\u0027s own nova/conf/rpc.py module.","commit_id":"475eda190d7413bcc0bf8ec46c39bdf482a4d1f6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4e65c5c0b819a0b90d7bad4bb8bd2054845d19b0","unresolved":false,"context_lines":[{"line_number":993,"context_line":"* Any positive integer in seconds (default value is 60)."},{"line_number":994,"context_line":"\"\"\"),"},{"line_number":995,"context_line":"    cfg.IntOpt(\"long_rpc_timeout\","},{"line_number":996,"context_line":"        default\u003d1800,"},{"line_number":997,"context_line":"        help\u003d\"\"\""},{"line_number":998,"context_line":"This option allows setting an alternate timeout value for RPC calls"},{"line_number":999,"context_line":"that have the potential to take a long time. If set, RPC calls to"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_7c9fa4b3","line":996,"range":{"start_line":996,"start_character":16,"end_line":996,"end_character":20},"updated":"2018-06-11 18:52:15.000000000","message":"Wow we\u0027re jumping from 1 minute to 30 minutes?","commit_id":"475eda190d7413bcc0bf8ec46c39bdf482a4d1f6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"486e162b73f9009016878955b052431349035aa4","unresolved":false,"context_lines":[{"line_number":993,"context_line":"* Any positive integer in seconds (default value is 60)."},{"line_number":994,"context_line":"\"\"\"),"},{"line_number":995,"context_line":"    cfg.IntOpt(\"long_rpc_timeout\","},{"line_number":996,"context_line":"        default\u003d1800,"},{"line_number":997,"context_line":"        help\u003d\"\"\""},{"line_number":998,"context_line":"This option allows setting an alternate timeout value for RPC calls"},{"line_number":999,"context_line":"that have the potential to take a long time. If set, RPC calls to"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_f7ad0f31","line":996,"range":{"start_line":996,"start_character":16,"end_line":996,"end_character":20},"in_reply_to":"5f7c97a3_77d7bf24","updated":"2018-06-11 20:14:12.000000000","message":"idk, just seemed like a big jump - live migration itself might take a long time, but pre_live_migration itself shouldn\u0027t take 30 minutes (think about if we used this for select_destinations - would we expect scheduling to take up to 30 minutes?).\n\nAlso, I don\u0027t know what people configure rpc_response_timeout to in the wild (I think I have some info from the Huawei public cloud people so I could probably dig that up if needed).","commit_id":"475eda190d7413bcc0bf8ec46c39bdf482a4d1f6"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a3605e5a10548a8ab09471e83d7fe74bfa56002b","unresolved":false,"context_lines":[{"line_number":993,"context_line":"* Any positive integer in seconds (default value is 60)."},{"line_number":994,"context_line":"\"\"\"),"},{"line_number":995,"context_line":"    cfg.IntOpt(\"long_rpc_timeout\","},{"line_number":996,"context_line":"        default\u003d1800,"},{"line_number":997,"context_line":"        help\u003d\"\"\""},{"line_number":998,"context_line":"This option allows setting an alternate timeout value for RPC calls"},{"line_number":999,"context_line":"that have the potential to take a long time. If set, RPC calls to"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_77d7bf24","line":996,"range":{"start_line":996,"start_character":16,"end_line":996,"end_character":20},"in_reply_to":"5f7c97a3_7c9fa4b3","updated":"2018-06-11 20:00:48.000000000","message":"That\u0027s probably not even high enough for some of the really crazy live migration scenarios. Since we\u0027ll fail immediately if the service stops responding, this is \"how long to wait for a service that continues to signal that a thing is ongoing\". Why wouldn\u0027t we wait a long time, especially for calls we\u0027re covering under \"this can take a long time\" that actively signal that they\u0027re still running?","commit_id":"475eda190d7413bcc0bf8ec46c39bdf482a4d1f6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4e65c5c0b819a0b90d7bad4bb8bd2054845d19b0","unresolved":false,"context_lines":[{"line_number":998,"context_line":"This option allows setting an alternate timeout value for RPC calls"},{"line_number":999,"context_line":"that have the potential to take a long time. If set, RPC calls to"},{"line_number":1000,"context_line":"other services will use this value for the timeout (in seconds)"},{"line_number":1001,"context_line":"instead of the global rpc_timeout value."},{"line_number":1002,"context_line":""},{"line_number":1003,"context_line":"operations with RPC calls that utilize this value:"},{"line_number":1004,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_dc6838bb","line":1001,"range":{"start_line":1001,"start_character":22,"end_line":1001,"end_character":33},"updated":"2018-06-11 18:52:15.000000000","message":"``rpc_response_timeout``","commit_id":"475eda190d7413bcc0bf8ec46c39bdf482a4d1f6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4e65c5c0b819a0b90d7bad4bb8bd2054845d19b0","unresolved":false,"context_lines":[{"line_number":1000,"context_line":"other services will use this value for the timeout (in seconds)"},{"line_number":1001,"context_line":"instead of the global rpc_timeout value."},{"line_number":1002,"context_line":""},{"line_number":1003,"context_line":"operations with RPC calls that utilize this value:"},{"line_number":1004,"context_line":""},{"line_number":1005,"context_line":"* live migration"},{"line_number":1006,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_bc5bfc1f","line":1003,"range":{"start_line":1003,"start_character":0,"end_line":1003,"end_character":10},"updated":"2018-06-11 18:52:15.000000000","message":"Operations","commit_id":"475eda190d7413bcc0bf8ec46c39bdf482a4d1f6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4e65c5c0b819a0b90d7bad4bb8bd2054845d19b0","unresolved":false,"context_lines":[{"line_number":1006,"context_line":""},{"line_number":1007,"context_line":"Related options:"},{"line_number":1008,"context_line":""},{"line_number":1009,"context_line":"* rpc_timeout"},{"line_number":1010,"context_line":"\"\"\"),"},{"line_number":1011,"context_line":"]"},{"line_number":1012,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_9c5e4011","line":1009,"range":{"start_line":1009,"start_character":2,"end_line":1009,"end_character":13},"updated":"2018-06-11 18:52:15.000000000","message":"rpc_response_timeout","commit_id":"475eda190d7413bcc0bf8ec46c39bdf482a4d1f6"}],"nova/conf/rpc.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"11a6b7e415126d5e9e4400eefe03033490ac6a50","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# needs:check_deprecation_status"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2018 OpenStack Foundation"},{"line_number":4,"context_line":"# All Rights Reserved."}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_77cc9e33","line":1,"updated":"2018-06-11 21:18:24.000000000","message":"Don\u0027t need this.","commit_id":"6d32c0d40a6334a891cd396c6dace863cc9704b9"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"11a6b7e415126d5e9e4400eefe03033490ac6a50","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"def list_opts():"},{"line_number":48,"context_line":"    return {\u0027DEFAULT\u0027: ALL_OPTS}"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_97ea9a71","line":48,"range":{"start_line":48,"start_character":13,"end_line":48,"end_character":20},"updated":"2018-06-11 21:18:24.000000000","message":"Have you thought about creating an [rpc] group for this in case we add other things later? Granted, the existing messaging / rpc stuff is in [DEFAULT] so maybe it\u0027s better to have this co-located for now. I was just wondering if in the future we\u0027d ever want per-operation timeouts, like for live migration, scheduling, etc.","commit_id":"6d32c0d40a6334a891cd396c6dace863cc9704b9"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a01f6da18906e358d9f9055a6c77a0fa5cf71a0b","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"def list_opts():"},{"line_number":48,"context_line":"    return {\u0027DEFAULT\u0027: ALL_OPTS}"}],"source_content_type":"text/x-python","patch_set":8,"id":"5f7c97a3_1ab1cf44","line":48,"range":{"start_line":48,"start_character":13,"end_line":48,"end_character":20},"in_reply_to":"5f7c97a3_97ea9a71","updated":"2018-06-11 21:44:01.000000000","message":"We could. I had enough time trying to ensure that rpc_response_timeout was actually called that, and in the default section (and not rpc or rpc_rabbit, or messaging) that I thought maybe adding a new section with one timeout in it wasn\u0027t worth it. But, if it matters to you then just say so.","commit_id":"6d32c0d40a6334a891cd396c6dace863cc9704b9"}],"releasenotes/notes/rpc_timeout_changes-6b7e365bb44f7f3a.yaml":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4e65c5c0b819a0b90d7bad4bb8bd2054845d19b0","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Utilizing recent changes in oslo.messaging, the"},{"line_number":5,"context_line":"    `rpc_response_timeout` value can now be increased significantly if"},{"line_number":6,"context_line":"    needed or desired to solve issues with long-running RPC calls"},{"line_number":7,"context_line":"    timing out before completing due to legitimate reasons. If"},{"line_number":8,"context_line":"    `rpc_response_timeout` is increased beyond the default, nova will"},{"line_number":9,"context_line":"    request active call monitoring from oslo.messaging, which will"},{"line_number":10,"context_line":"    effectively heartbeat running activities to avoid a timeout, while"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"5f7c97a3_1cc7909a","line":7,"range":{"start_line":7,"start_character":33,"end_line":7,"end_character":58},"updated":"2018-06-11 18:52:15.000000000","message":"nit: I\u0027d mention any obvious conditions here if you have them.","commit_id":"475eda190d7413bcc0bf8ec46c39bdf482a4d1f6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4e65c5c0b819a0b90d7bad4bb8bd2054845d19b0","unresolved":false,"context_lines":[{"line_number":10,"context_line":"    effectively heartbeat running activities to avoid a timeout, while"},{"line_number":11,"context_line":"    still detecting failures related to service outages or message bus"},{"line_number":12,"context_line":"    congestion in a reasonable amount of time. Further, the"},{"line_number":13,"context_line":"    `[DEFAULT]/long_rpc_timeout` option has been added which allows"},{"line_number":14,"context_line":"    setting an alternate timeout value for longer-running RPC calls"},{"line_number":15,"context_line":"    which are known to take a long time. The default for this is 1800"},{"line_number":16,"context_line":"    seconds, and the `rpc_response_timeout` value will be used for the"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"5f7c97a3_5ce8a814","line":13,"range":{"start_line":13,"start_character":15,"end_line":13,"end_character":31},"updated":"2018-06-11 18:52:15.000000000","message":"You should mention that live migration uses this now by default - or that should go into an upgrade release note.","commit_id":"475eda190d7413bcc0bf8ec46c39bdf482a4d1f6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4e65c5c0b819a0b90d7bad4bb8bd2054845d19b0","unresolved":false,"context_lines":[{"line_number":15,"context_line":"    which are known to take a long time. The default for this is 1800"},{"line_number":16,"context_line":"    seconds, and the `rpc_response_timeout` value will be used for the"},{"line_number":17,"context_line":"    heartbeat frequency interval, providing a similar"},{"line_number":18,"context_line":"    faulure-detection experience for these calls despite the longer"},{"line_number":19,"context_line":"    overall timeout."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"5f7c97a3_7c880470","line":18,"range":{"start_line":18,"start_character":4,"end_line":18,"end_character":11},"updated":"2018-06-11 18:52:15.000000000","message":"failure\n\nfault and fail made a baby!","commit_id":"475eda190d7413bcc0bf8ec46c39bdf482a4d1f6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4e65c5c0b819a0b90d7bad4bb8bd2054845d19b0","unresolved":false,"context_lines":[{"line_number":16,"context_line":"    seconds, and the `rpc_response_timeout` value will be used for the"},{"line_number":17,"context_line":"    heartbeat frequency interval, providing a similar"},{"line_number":18,"context_line":"    faulure-detection experience for these calls despite the longer"},{"line_number":19,"context_line":"    overall timeout."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"5f7c97a3_9ce1602e","line":19,"updated":"2018-06-11 18:52:15.000000000","message":"So if I\u0027m understanding this last sentence properly, without making any config changes, pre_live_migration will have a hard rpc timeout after 30 minutes but will heartbeat the connection is alive every minute, correct? If so, you might want to state that in here as a simple example.\n\nWhat happens if the service does go down (the dest compute dies during pre_live_migration)? Do we get MessagingTimeout or something else?","commit_id":"475eda190d7413bcc0bf8ec46c39bdf482a4d1f6"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"440cbfc8009992875855b9e24120c8f2f32d05b3","unresolved":false,"context_lines":[{"line_number":16,"context_line":"    seconds, and the `rpc_response_timeout` value will be used for the"},{"line_number":17,"context_line":"    heartbeat frequency interval, providing a similar"},{"line_number":18,"context_line":"    faulure-detection experience for these calls despite the longer"},{"line_number":19,"context_line":"    overall timeout."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"5f7c97a3_978dbbd5","line":19,"in_reply_to":"5f7c97a3_9ce1602e","updated":"2018-06-11 20:10:21.000000000","message":"Yeah we get MessagingTimeout as soon as we pass the 1-minute mark and haven\u0027t gotten a heartbeat (which actually runs at timeout/2 to make sure it has time to arrive before the timeout). Same behavior as far as the callers are concerned (i.e. same timeout behavior), it just never happens if the other side is alive and continues to assure us it\u0027s running.","commit_id":"475eda190d7413bcc0bf8ec46c39bdf482a4d1f6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ae2214b3724623bbd6196cd11d4c68ea0fa70c24","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Utilizing recent changes in oslo.messaging, the"},{"line_number":5,"context_line":"    `rpc_response_timeout` value can now be increased significantly if"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"5f7c97a3_0184bbaf","line":2,"updated":"2018-06-14 13:10:17.000000000","message":"While this section in the admin guide is more about the actual hypervisor / guest live migration timing out during the transfer:\n\nhttps://docs.openstack.org/nova/latest/admin/live-migration-usage.html#what-to-do-when-the-migration-times-out\n\nWe could try to work something in here about rpc timeouts during live migration, or put something into the troubleshooting guide:\n\nhttps://docs.openstack.org/nova/latest/admin/support-compute.html","commit_id":"fe26a52024416ed2d37c2d5027da4b23231dc515"}]}
