)]}'
{"nova/compute/manager.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"3be86685316025b9cb6dc997d7c824a598a06465","unresolved":false,"context_lines":[{"line_number":132,"context_line":"    cfg.BoolOpt(\u0027handle_virt_lifecycle_events\u0027,"},{"line_number":133,"context_line":"                default\u003dTrue,"},{"line_number":134,"context_line":"                help\u003d\u0027Whether or not to handle events raised from the compute \u0027"},{"line_number":135,"context_line":"                     \u0027driver\\\u0027s \"emit_event\" method. Care should be taken \u0027"},{"line_number":136,"context_line":"                     \u0027when using this and sync_power_state_interval is not \u0027"},{"line_number":137,"context_line":"                     \u0027-1.\u0027),"},{"line_number":138,"context_line":"    ]"}],"source_content_type":"text/x-python","patch_set":1,"id":"7aaa499b_b5c10483","line":135,"updated":"2015-04-11 23:03:56.000000000","message":"You could use double quotes to not have to escape here","commit_id":"c0cfb146a128d3aa7859ba8b3c76cc3b7b7dfbd8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a8b7863b2b0cc8f46733c5d427fc9671e14d04dc","unresolved":false,"context_lines":[{"line_number":132,"context_line":"    cfg.BoolOpt(\u0027handle_virt_lifecycle_events\u0027,"},{"line_number":133,"context_line":"                default\u003dTrue,"},{"line_number":134,"context_line":"                help\u003d\u0027Whether or not to handle events raised from the compute \u0027"},{"line_number":135,"context_line":"                     \u0027driver\\\u0027s \"emit_event\" method. Care should be taken \u0027"},{"line_number":136,"context_line":"                     \u0027when using this and sync_power_state_interval is not \u0027"},{"line_number":137,"context_line":"                     \u0027-1.\u0027),"},{"line_number":138,"context_line":"    ]"}],"source_content_type":"text/x-python","patch_set":1,"id":"7aaa499b_f6b0af8d","line":135,"in_reply_to":"7aaa499b_b5c10483","updated":"2015-04-12 22:30:22.000000000","message":"Done","commit_id":"c0cfb146a128d3aa7859ba8b3c76cc3b7b7dfbd8"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"2a69c072ec5571621b1d2f37f263aa2ee90d16fd","unresolved":false,"context_lines":[{"line_number":133,"context_line":"                default\u003dTrue,"},{"line_number":134,"context_line":"                help\u003d\u0027Whether or not to handle events raised from the compute \u0027"},{"line_number":135,"context_line":"                     \u0027driver\\\u0027s \"emit_event\" method. Care should be taken \u0027"},{"line_number":136,"context_line":"                     \u0027when using this and sync_power_state_interval is not \u0027"},{"line_number":137,"context_line":"                     \u0027-1.\u0027),"},{"line_number":138,"context_line":"    ]"},{"line_number":139,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7aaa499b_86f25c99","line":136,"range":{"start_line":136,"start_character":42,"end_line":136,"end_character":68},"updated":"2015-04-12 12:48:31.000000000","message":"please add in a check at init and see that the sync_power_state_interval  is not -1. if it is then at least have a log warning so that an admin has an idea of what she/he has done wrong","commit_id":"c0cfb146a128d3aa7859ba8b3c76cc3b7b7dfbd8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5bd13936ebbd4a7ad4d1323a20d8814ed9b240b5","unresolved":false,"context_lines":[{"line_number":133,"context_line":"                default\u003dTrue,"},{"line_number":134,"context_line":"                help\u003d\u0027Whether or not to handle events raised from the compute \u0027"},{"line_number":135,"context_line":"                     \u0027driver\\\u0027s \"emit_event\" method. Care should be taken \u0027"},{"line_number":136,"context_line":"                     \u0027when using this and sync_power_state_interval is not \u0027"},{"line_number":137,"context_line":"                     \u0027-1.\u0027),"},{"line_number":138,"context_line":"    ]"},{"line_number":139,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7aaa499b_e1a90ae1","line":136,"in_reply_to":"7aaa499b_86f25c99","updated":"2015-04-12 14:20:52.000000000","message":"I think that\u0027s a separate patch since you can disable the power state sync interval today and not all drivers implement handling lifecycle events.  I think with -1, _sync_power_states isn\u0027t even called, so it\u0027d have to be something you check on init.  Else I\u0027m assuming you\u0027re asking for some combination of checking if sync_power_state_interval \u003c 0 and handle_virt_lifecycle_event \u003d\u003d False?","commit_id":"c0cfb146a128d3aa7859ba8b3c76cc3b7b7dfbd8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a8b7863b2b0cc8f46733c5d427fc9671e14d04dc","unresolved":false,"context_lines":[{"line_number":133,"context_line":"                default\u003dTrue,"},{"line_number":134,"context_line":"                help\u003d\u0027Whether or not to handle events raised from the compute \u0027"},{"line_number":135,"context_line":"                     \u0027driver\\\u0027s \"emit_event\" method. Care should be taken \u0027"},{"line_number":136,"context_line":"                     \u0027when using this and sync_power_state_interval is not \u0027"},{"line_number":137,"context_line":"                     \u0027-1.\u0027),"},{"line_number":138,"context_line":"    ]"},{"line_number":139,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7aaa499b_d6adb332","line":136,"in_reply_to":"7aaa499b_e1a90ae1","updated":"2015-04-12 22:30:22.000000000","message":"I added more wording in the config option help.","commit_id":"c0cfb146a128d3aa7859ba8b3c76cc3b7b7dfbd8"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"75076743349f9e9fa44c3fa5bc0ce45aee32eb08","unresolved":false,"context_lines":[{"line_number":134,"context_line":"                help\u003d\u0027Whether or not to handle events raised from the compute \u0027"},{"line_number":135,"context_line":"                     \u0027driver\\\u0027s \"emit_event\" method. Care should be taken \u0027"},{"line_number":136,"context_line":"                     \u0027when using this and sync_power_state_interval is not \u0027"},{"line_number":137,"context_line":"                     \u0027-1.\u0027),"},{"line_number":138,"context_line":"    ]"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"interval_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":1,"id":"7aaa499b_353174a3","line":137,"updated":"2015-04-11 23:24:41.000000000","message":"Just question, when operator should decide to set this value to False?","commit_id":"c0cfb146a128d3aa7859ba8b3c76cc3b7b7dfbd8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"31b8e608677a3d4dacf068f052384485a8281d12","unresolved":false,"context_lines":[{"line_number":134,"context_line":"                help\u003d\u0027Whether or not to handle events raised from the compute \u0027"},{"line_number":135,"context_line":"                     \u0027driver\\\u0027s \"emit_event\" method. Care should be taken \u0027"},{"line_number":136,"context_line":"                     \u0027when using this and sync_power_state_interval is not \u0027"},{"line_number":137,"context_line":"                     \u0027-1.\u0027),"},{"line_number":138,"context_line":"    ]"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"interval_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":1,"id":"7aaa499b_165f9b73","line":137,"in_reply_to":"7aaa499b_213132a3","updated":"2015-04-12 22:15:13.000000000","message":"Yeah I can try and add some wording around this.  It\u0027s kind of a fine line because I don\u0027t want to raise an alarm and say it\u0027s broken, but it is racy as we\u0027ve seen and we don\u0027t test it well at scale in the gate (especially this reboot case), so operators should be able to turn it off if they have problems with it.","commit_id":"c0cfb146a128d3aa7859ba8b3c76cc3b7b7dfbd8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5bd13936ebbd4a7ad4d1323a20d8814ed9b240b5","unresolved":false,"context_lines":[{"line_number":134,"context_line":"                help\u003d\u0027Whether or not to handle events raised from the compute \u0027"},{"line_number":135,"context_line":"                     \u0027driver\\\u0027s \"emit_event\" method. Care should be taken \u0027"},{"line_number":136,"context_line":"                     \u0027when using this and sync_power_state_interval is not \u0027"},{"line_number":137,"context_line":"                     \u0027-1.\u0027),"},{"line_number":138,"context_line":"    ]"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"interval_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":1,"id":"7aaa499b_615f3a0f","line":137,"in_reply_to":"7aaa499b_353174a3","updated":"2015-04-12 14:20:52.000000000","message":"Value for which option?  handle_virt_lifecycle_events or sync_power_state_interval?  Or are you just asking from an operator\u0027s perspective why they\u0027d want to disable handling lifecycle events from the virt driver?","commit_id":"c0cfb146a128d3aa7859ba8b3c76cc3b7b7dfbd8"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"f5834cd5e091f6778fabc0c4aa10da7aa33bfb1f","unresolved":false,"context_lines":[{"line_number":134,"context_line":"                help\u003d\u0027Whether or not to handle events raised from the compute \u0027"},{"line_number":135,"context_line":"                     \u0027driver\\\u0027s \"emit_event\" method. Care should be taken \u0027"},{"line_number":136,"context_line":"                     \u0027when using this and sync_power_state_interval is not \u0027"},{"line_number":137,"context_line":"                     \u0027-1.\u0027),"},{"line_number":138,"context_line":"    ]"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"interval_opts \u003d ["}],"source_content_type":"text/x-python","patch_set":1,"id":"7aaa499b_213132a3","line":137,"in_reply_to":"7aaa499b_615f3a0f","updated":"2015-04-12 15:05:16.000000000","message":"yea, from an operator\u0027s perspective","commit_id":"c0cfb146a128d3aa7859ba8b3c76cc3b7b7dfbd8"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"1f5c8de58ce4e74de90238402fdf49a0e4905414","unresolved":false,"context_lines":[{"line_number":1256,"context_line":"        if CONF.workarounds.handle_virt_lifecycle_events:"},{"line_number":1257,"context_line":"            self.driver.register_event_listener(self.handle_events)"},{"line_number":1258,"context_line":"        else:"},{"line_number":1259,"context_line":"            # NOTE(mriedem): If the _sync_power_states periodic task is"},{"line_number":1260,"context_line":"            # disabled we should emit a warning in the logs."},{"line_number":1261,"context_line":"            if CONF.sync_power_state_interval \u003c 0:"},{"line_number":1262,"context_line":"                LOG.warn(_LW(\u0027Instance lifecycle events from the compute \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"bab921fb_1f657544","line":1259,"updated":"2015-04-23 06:56:39.000000000","message":"This note is not necessary or a least it\u0027s a comment.","commit_id":"d09785b97a282e8538642f6f8bcdd8491197ed74"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"b338acb0d16959234508456f03984bf5fe91e92d","unresolved":false,"context_lines":[{"line_number":1264,"context_line":"                             \u0027changes to an instance outside of the compute \u0027"},{"line_number":1265,"context_line":"                             \u0027service will not be synchronized \u0027"},{"line_number":1266,"context_line":"                             \u0027automatically since the _sync_power_states \u0027"},{"line_number":1267,"context_line":"                             \u0027periodic task is also disabled.\u0027))"},{"line_number":1268,"context_line":"            else:"},{"line_number":1269,"context_line":"                LOG.info(_LI(\u0027Instance lifecycle events from the compute \u0027"},{"line_number":1270,"context_line":"                             \u0027driver have been disabled. Note that lifecycle \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"bab921fb_5f553cc4","line":1267,"updated":"2015-04-22 20:35:23.000000000","message":"I just wonder if we could just consider this condition as something not supported by Nova, ie. raise something instead of leaving a warning ?","commit_id":"d09785b97a282e8538642f6f8bcdd8491197ed74"},{"author":{"_account_id":1849,"name":"Joe Gordon","email":"joe.gordon0@gmail.com","username":"jogo"},"change_message_id":"a463933547d4485a2976a0f1e79f14c38c1c8d10","unresolved":false,"context_lines":[{"line_number":1264,"context_line":"                             \u0027changes to an instance outside of the compute \u0027"},{"line_number":1265,"context_line":"                             \u0027service will not be synchronized \u0027"},{"line_number":1266,"context_line":"                             \u0027automatically since the _sync_power_states \u0027"},{"line_number":1267,"context_line":"                             \u0027periodic task is also disabled.\u0027))"},{"line_number":1268,"context_line":"            else:"},{"line_number":1269,"context_line":"                LOG.info(_LI(\u0027Instance lifecycle events from the compute \u0027"},{"line_number":1270,"context_line":"                             \u0027driver have been disabled. Note that lifecycle \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"bab921fb_9f20744b","line":1267,"in_reply_to":"bab921fb_5f553cc4","updated":"2015-04-22 20:38:34.000000000","message":"good idea","commit_id":"d09785b97a282e8538642f6f8bcdd8491197ed74"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9578c2fed52c67254a30a19a6fa562bde21448e3","unresolved":false,"context_lines":[{"line_number":1264,"context_line":"                             \u0027changes to an instance outside of the compute \u0027"},{"line_number":1265,"context_line":"                             \u0027service will not be synchronized \u0027"},{"line_number":1266,"context_line":"                             \u0027automatically since the _sync_power_states \u0027"},{"line_number":1267,"context_line":"                             \u0027periodic task is also disabled.\u0027))"},{"line_number":1268,"context_line":"            else:"},{"line_number":1269,"context_line":"                LOG.info(_LI(\u0027Instance lifecycle events from the compute \u0027"},{"line_number":1270,"context_line":"                             \u0027driver have been disabled. Note that lifecycle \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"bab921fb_ce451c18","line":1267,"in_reply_to":"bab921fb_9f20744b","updated":"2015-04-22 23:02:54.000000000","message":"I don\u0027t know, I don\u0027t have a strong opinion on it I guess - I kind of think of this as, well, if you really want to hammer this thing and disable all external events from affecting your compute service, so be it.  That\u0027s what the warning is for.","commit_id":"d09785b97a282e8538642f6f8bcdd8491197ed74"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"bd62dc02887d2c1a61879dd6e98784ce3b189c7c","unresolved":false,"context_lines":[{"line_number":1264,"context_line":"                             \u0027changes to an instance outside of the compute \u0027"},{"line_number":1265,"context_line":"                             \u0027service will not be synchronized \u0027"},{"line_number":1266,"context_line":"                             \u0027automatically since the _sync_power_states \u0027"},{"line_number":1267,"context_line":"                             \u0027periodic task is also disabled.\u0027))"},{"line_number":1268,"context_line":"            else:"},{"line_number":1269,"context_line":"                LOG.info(_LI(\u0027Instance lifecycle events from the compute \u0027"},{"line_number":1270,"context_line":"                             \u0027driver have been disabled. Note that lifecycle \u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"bab921fb_ae7c2821","line":1267,"in_reply_to":"bab921fb_ce451c18","updated":"2015-04-22 23:10:43.000000000","message":"Fair enough, let\u0027s leave the operator do what he wants provided he\u0027s enough aware.\n\nI\u0027m not also strong opiniated so +1","commit_id":"d09785b97a282e8538642f6f8bcdd8491197ed74"}]}
