)]}'
{"nova/conf/conductor.py":[{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"e41174823cfac55286794166b19d33856cfece92","unresolved":false,"context_lines":[{"line_number":26,"context_line":"        default\u003dFalse,"},{"line_number":27,"context_line":"        deprecated_for_removal\u003dTrue,"},{"line_number":28,"context_line":"        help\u003d\u0027\u0027\u0027"},{"line_number":29,"context_line":"DEPRECATED: Perform nova-conductor operations locally. This legacy mode was"},{"line_number":30,"context_line":"introduced to bridge a gap during the transition to the conductor service."},{"line_number":31,"context_line":"It no longer represents a reasonable alternative for deployers."},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_b2f54aee","line":29,"range":{"start_line":29,"start_character":0,"end_line":29,"end_character":11},"updated":"2016-06-13 09:56:39.000000000","message":"this will led to redundant word \"DEPRECATED\" in sample config file, please remove this.\nhttp://docs-draft.openstack.org/84/324784/2/check/gate-nova-docs/259ef54//doc/build/html/sample_config.html","commit_id":"e4171e8c61fb8cae284f70b93661a78b6ca986b4"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"581d6f52b07e19acf98cb6130a583f4575b28bea","unresolved":false,"context_lines":[{"line_number":26,"context_line":"        default\u003dFalse,"},{"line_number":27,"context_line":"        deprecated_for_removal\u003dTrue,"},{"line_number":28,"context_line":"        help\u003d\u0027\u0027\u0027"},{"line_number":29,"context_line":"DEPRECATED: Perform nova-conductor operations locally. This legacy mode was"},{"line_number":30,"context_line":"introduced to bridge a gap during the transition to the conductor service."},{"line_number":31,"context_line":"It no longer represents a reasonable alternative for deployers."},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_dc1d7974","line":29,"range":{"start_line":29,"start_character":0,"end_line":29,"end_character":11},"in_reply_to":"7aa08908_b2f54aee","updated":"2016-06-13 16:49:46.000000000","message":"Oh, did not know this. Nice catch - will fix this in other places as well if I bump onto it.","commit_id":"e4171e8c61fb8cae284f70b93661a78b6ca986b4"},{"author":{"_account_id":19741,"name":"Hieu LE","email":"hieulq2@viettel.com.vn","username":"hieulq"},"change_message_id":"e41174823cfac55286794166b19d33856cfece92","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        default\u003d\u0027nova.conductor.manager.ConductorManager\u0027,"},{"line_number":60,"context_line":"        deprecated_for_removal\u003dTrue,"},{"line_number":61,"context_line":"        help\u003d\u0027\u0027\u0027"},{"line_number":62,"context_line":"DEPRECATED: Full class name for the Manager for conductor."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Removal in 14.0"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7aa08908_12dffe69","line":62,"range":{"start_line":62,"start_character":0,"end_line":62,"end_character":11},"updated":"2016-06-13 09:56:39.000000000","message":"Same as above","commit_id":"e4171e8c61fb8cae284f70b93661a78b6ca986b4"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"82dbdef427d854de006cb0cd777126d0cce6425e","unresolved":false,"context_lines":[{"line_number":25,"context_line":"        \u0027use_local\u0027,"},{"line_number":26,"context_line":"        default\u003dFalse,"},{"line_number":27,"context_line":"        deprecated_for_removal\u003dTrue,"},{"line_number":28,"context_line":"        help\u003d\u0027\u0027\u0027"},{"line_number":29,"context_line":"Perform nova-conductor operations locally. This legacy mode was"},{"line_number":30,"context_line":"introduced to bridge a gap during the transition to the conductor service."},{"line_number":31,"context_line":"It no longer represents a reasonable alternative for deployers."}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_9cb2bc92","line":28,"range":{"start_line":28,"start_character":13,"end_line":28,"end_character":16},"updated":"2016-06-24 13:17:49.000000000","message":"Micro nit: I am tempted by \"\"\" here, duno why.","commit_id":"ed6b36255feddc0dacd2fd3b1182bce77e9a912b"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"d1e35517f544036a63bdfc13df27196c5090caab","unresolved":false,"context_lines":[{"line_number":25,"context_line":"        \u0027use_local\u0027,"},{"line_number":26,"context_line":"        default\u003dFalse,"},{"line_number":27,"context_line":"        deprecated_for_removal\u003dTrue,"},{"line_number":28,"context_line":"        help\u003d\u0027\u0027\u0027"},{"line_number":29,"context_line":"Perform nova-conductor operations locally. This legacy mode was"},{"line_number":30,"context_line":"introduced to bridge a gap during the transition to the conductor service."},{"line_number":31,"context_line":"It no longer represents a reasonable alternative for deployers."}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_39640f48","line":28,"range":{"start_line":28,"start_character":13,"end_line":28,"end_character":16},"in_reply_to":"3aaa91ec_9cb2bc92","updated":"2016-06-27 22:29:01.000000000","message":"Done","commit_id":"ed6b36255feddc0dacd2fd3b1182bce77e9a912b"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"82dbdef427d854de006cb0cd777126d0cce6425e","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Removal may be as early as 14.0."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Possible values:"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"* True or False (default)"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Related options:"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"* None"},{"line_number":42,"context_line":"\u0027\u0027\u0027),"},{"line_number":43,"context_line":"    cfg.StrOpt("},{"line_number":44,"context_line":"        \u0027topic\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_fce300d7","line":41,"range":{"start_line":35,"start_character":0,"end_line":41,"end_character":6},"updated":"2016-06-24 13:17:49.000000000","message":"I think we should drop these bits.","commit_id":"ed6b36255feddc0dacd2fd3b1182bce77e9a912b"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"d1e35517f544036a63bdfc13df27196c5090caab","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Removal may be as early as 14.0."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Possible values:"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"* True or False (default)"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Related options:"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"* None"},{"line_number":42,"context_line":"\u0027\u0027\u0027),"},{"line_number":43,"context_line":"    cfg.StrOpt("},{"line_number":44,"context_line":"        \u0027topic\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_f973a713","line":41,"range":{"start_line":35,"start_character":0,"end_line":41,"end_character":6},"in_reply_to":"3aaa91ec_fce300d7","updated":"2016-06-27 22:29:01.000000000","message":"Done","commit_id":"ed6b36255feddc0dacd2fd3b1182bce77e9a912b"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"82dbdef427d854de006cb0cd777126d0cce6425e","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"* None"},{"line_number":42,"context_line":"\u0027\u0027\u0027),"},{"line_number":43,"context_line":"    cfg.StrOpt("},{"line_number":44,"context_line":"        \u0027topic\u0027,"},{"line_number":45,"context_line":"        default\u003d\u0027conductor\u0027,"},{"line_number":46,"context_line":"        help\u003d\u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_1c2d2cfe","line":43,"updated":"2016-06-24 13:17:49.000000000","message":"I think we should mark this as deprecated, to be dropped next cycle.","commit_id":"ed6b36255feddc0dacd2fd3b1182bce77e9a912b"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"d1e35517f544036a63bdfc13df27196c5090caab","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"* None"},{"line_number":42,"context_line":"\u0027\u0027\u0027),"},{"line_number":43,"context_line":"    cfg.StrOpt("},{"line_number":44,"context_line":"        \u0027topic\u0027,"},{"line_number":45,"context_line":"        default\u003d\u0027conductor\u0027,"},{"line_number":46,"context_line":"        help\u003d\u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_19779303","line":43,"in_reply_to":"3aaa91ec_1c2d2cfe","updated":"2016-06-27 22:29:01.000000000","message":"Done","commit_id":"ed6b36255feddc0dacd2fd3b1182bce77e9a912b"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"82dbdef427d854de006cb0cd777126d0cce6425e","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        help\u003d\u0027\u0027\u0027"},{"line_number":47,"context_line":"Topic exchange name on which conductor nodes listen."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Possible values:"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* String, valid topic exchange name. Default is \u0027conductor\u0027."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"Related options:"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* None"},{"line_number":56,"context_line":"\u0027\u0027\u0027),"},{"line_number":57,"context_line":"    cfg.StrOpt("},{"line_number":58,"context_line":"        \u0027manager\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_5cfcd471","line":55,"range":{"start_line":49,"start_character":0,"end_line":55,"end_character":6},"updated":"2016-06-24 13:17:49.000000000","message":"I think we can drop this text.","commit_id":"ed6b36255feddc0dacd2fd3b1182bce77e9a912b"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"d1e35517f544036a63bdfc13df27196c5090caab","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        help\u003d\u0027\u0027\u0027"},{"line_number":47,"context_line":"Topic exchange name on which conductor nodes listen."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Possible values:"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* String, valid topic exchange name. Default is \u0027conductor\u0027."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"Related options:"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"* None"},{"line_number":56,"context_line":"\u0027\u0027\u0027),"},{"line_number":57,"context_line":"    cfg.StrOpt("},{"line_number":58,"context_line":"        \u0027manager\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_79b4d7d0","line":55,"range":{"start_line":49,"start_character":0,"end_line":55,"end_character":6},"in_reply_to":"3aaa91ec_5cfcd471","updated":"2016-06-27 22:29:01.000000000","message":"Done","commit_id":"ed6b36255feddc0dacd2fd3b1182bce77e9a912b"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"82dbdef427d854de006cb0cd777126d0cce6425e","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Removal in 14.0"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Possible values:"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"* String with full class name"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Related options:"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"* None"},{"line_number":73,"context_line":"\u0027\u0027\u0027),"},{"line_number":74,"context_line":"    cfg.IntOpt("},{"line_number":75,"context_line":"        \u0027workers\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_bc44d8b6","line":72,"range":{"start_line":66,"start_character":0,"end_line":72,"end_character":6},"updated":"2016-06-24 13:17:49.000000000","message":"I think we can drop this text.","commit_id":"ed6b36255feddc0dacd2fd3b1182bce77e9a912b"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"d1e35517f544036a63bdfc13df27196c5090caab","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Removal in 14.0"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Possible values:"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"* String with full class name"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Related options:"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"* None"},{"line_number":73,"context_line":"\u0027\u0027\u0027),"},{"line_number":74,"context_line":"    cfg.IntOpt("},{"line_number":75,"context_line":"        \u0027workers\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_d9c98b5c","line":72,"range":{"start_line":66,"start_character":0,"end_line":72,"end_character":6},"in_reply_to":"3aaa91ec_bc44d8b6","updated":"2016-06-27 22:29:01.000000000","message":"Done","commit_id":"ed6b36255feddc0dacd2fd3b1182bce77e9a912b"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"82dbdef427d854de006cb0cd777126d0cce6425e","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"Possible values:"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"* Integer greater than zero. Default is equal to number of available cores"},{"line_number":84,"context_line":"  this host."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Related options:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_1c7b6cf6","line":83,"range":{"start_line":83,"start_character":2,"end_line":83,"end_character":28},"updated":"2016-06-24 13:17:49.000000000","message":"Can we update the min_value for the IntOpt please. Then drop this text, as its covered really.","commit_id":"ed6b36255feddc0dacd2fd3b1182bce77e9a912b"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"82dbdef427d854de006cb0cd777126d0cce6425e","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"Possible values:"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"* Integer greater than zero. Default is equal to number of available cores"},{"line_number":84,"context_line":"  this host."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Related options:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_7c6c3035","line":83,"range":{"start_line":83,"start_character":29,"end_line":83,"end_character":74},"updated":"2016-06-24 13:17:49.000000000","message":"The default being equal to the number of cores I think is important here, because this will not generate a sensible default.","commit_id":"ed6b36255feddc0dacd2fd3b1182bce77e9a912b"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"d1e35517f544036a63bdfc13df27196c5090caab","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"Possible values:"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"* Integer greater than zero. Default is equal to number of available cores"},{"line_number":84,"context_line":"  this host."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Related options:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_99fd4371","line":83,"range":{"start_line":83,"start_character":2,"end_line":83,"end_character":28},"in_reply_to":"3aaa91ec_1c7b6cf6","updated":"2016-06-27 22:29:01.000000000","message":"Done","commit_id":"ed6b36255feddc0dacd2fd3b1182bce77e9a912b"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"d1e35517f544036a63bdfc13df27196c5090caab","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"Possible values:"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"* Integer greater than zero. Default is equal to number of available cores"},{"line_number":84,"context_line":"  this host."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Related options:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_397d2fe8","line":83,"range":{"start_line":83,"start_character":29,"end_line":83,"end_character":74},"in_reply_to":"3aaa91ec_7c6c3035","updated":"2016-06-27 22:29:01.000000000","message":"Why number of available cores will not generate sensible default?","commit_id":"ed6b36255feddc0dacd2fd3b1182bce77e9a912b"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"82dbdef427d854de006cb0cd777126d0cce6425e","unresolved":false,"context_lines":[{"line_number":100,"context_line":"* If \u003d\u003d 0, only try once, no retries"},{"line_number":101,"context_line":"* Integer grater than 0"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"Related options:"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"* None"},{"line_number":106,"context_line":"\u0027\u0027\u0027)"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_3cd468bb","line":105,"range":{"start_line":103,"start_character":0,"end_line":105,"end_character":6},"updated":"2016-06-24 13:17:49.000000000","message":"I think we should drop this bit.","commit_id":"ed6b36255feddc0dacd2fd3b1182bce77e9a912b"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"d1e35517f544036a63bdfc13df27196c5090caab","unresolved":false,"context_lines":[{"line_number":100,"context_line":"* If \u003d\u003d 0, only try once, no retries"},{"line_number":101,"context_line":"* Integer grater than 0"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"Related options:"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"* None"},{"line_number":106,"context_line":"\u0027\u0027\u0027)"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_99af037d","line":105,"range":{"start_line":103,"start_character":0,"end_line":105,"end_character":6},"in_reply_to":"3aaa91ec_3cd468bb","updated":"2016-06-27 22:29:01.000000000","message":"Done","commit_id":"ed6b36255feddc0dacd2fd3b1182bce77e9a912b"},{"author":{"_account_id":18339,"name":"Sivasathurappan Radhakrishnan","email":"siva.radhakrishnan@intel.com","username":"sivakrishnan"},"change_message_id":"7e65f50e13ce13e3779b40dc2004309d167e3308","unresolved":false,"context_lines":[{"line_number":68,"context_line":"    min\u003d-1,"},{"line_number":69,"context_line":"    help\u003d\"\"\""},{"line_number":70,"context_line":"Number of times to retry live-migration before failing."},{"line_number":71,"context_line":"Possible values:"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"* If \u003d\u003d -1, try until out of hosts (default)"},{"line_number":74,"context_line":"* If \u003d\u003d 0, only try once, no retries"}],"source_content_type":"text/x-python","patch_set":4,"id":"3aaa91ec_ee3c3fc1","line":71,"updated":"2016-06-28 21:30:31.000000000","message":"Need a line space after Possible Values","commit_id":"cb7e8f63c141af6e9e468caa02fbeabcd24d0b5f"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"81986e0f74e98bc13f9c8417c86434388df7178d","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    \u0027conductor\u0027,"},{"line_number":21,"context_line":"    title\u003d\u0027Conductor Options\u0027)"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"ALL_OPTS \u003d ["},{"line_number":24,"context_line":"    cfg.BoolOpt("},{"line_number":25,"context_line":"        \u0027use_local\u0027,"},{"line_number":26,"context_line":"        default\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":6,"id":"dada55a8_7d1eed0c","line":23,"range":{"start_line":23,"start_character":0,"end_line":23,"end_character":8},"updated":"2016-07-26 21:15:09.000000000","message":"Wy not call this \"conductor_opts\"? that will group all conductor opts together.","commit_id":"edacaf7cd868f8f680f6b35f4cee6fcc64823e92"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"cda4cfcede9711e30ada65379c014a0f293678fc","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    \u0027conductor\u0027,"},{"line_number":21,"context_line":"    title\u003d\u0027Conductor Options\u0027)"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"ALL_OPTS \u003d ["},{"line_number":24,"context_line":"    cfg.BoolOpt("},{"line_number":25,"context_line":"        \u0027use_local\u0027,"},{"line_number":26,"context_line":"        default\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":6,"id":"dada55a8_f25b1020","line":23,"range":{"start_line":23,"start_character":0,"end_line":23,"end_character":8},"in_reply_to":"dada55a8_7d1eed0c","updated":"2016-07-27 11:01:33.000000000","message":"ALL_OPTS is OK. We should define which we want.","commit_id":"edacaf7cd868f8f680f6b35f4cee6fcc64823e92"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"b1b451fba95a73aa98b6895d3dff6bb46630f28c","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    \u0027conductor\u0027,"},{"line_number":21,"context_line":"    title\u003d\u0027Conductor Options\u0027)"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"ALL_OPTS \u003d ["},{"line_number":24,"context_line":"    cfg.BoolOpt("},{"line_number":25,"context_line":"        \u0027use_local\u0027,"},{"line_number":26,"context_line":"        default\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":6,"id":"bacf61ea_0f264668","line":23,"range":{"start_line":23,"start_character":0,"end_line":23,"end_character":8},"in_reply_to":"dada55a8_f25b1020","updated":"2016-07-27 16:03:50.000000000","message":"ok that is fine. But somehow I will like it more if this is changed to conductor_opts, just improves code readability.","commit_id":"edacaf7cd868f8f680f6b35f4cee6fcc64823e92"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"81986e0f74e98bc13f9c8417c86434388df7178d","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    cfg.StrOpt("},{"line_number":36,"context_line":"        \u0027topic\u0027,"},{"line_number":37,"context_line":"        default\u003d\u0027conductor\u0027,"},{"line_number":38,"context_line":"        deprecated_for_removal\u003dTrue,"},{"line_number":39,"context_line":"        help\u003d\"Topic exchange name on which conductor nodes listen.\"),"},{"line_number":40,"context_line":"    cfg.StrOpt("},{"line_number":41,"context_line":"        \u0027manager\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"dada55a8_7d00ad34","line":38,"range":{"start_line":38,"start_character":8,"end_line":38,"end_character":30},"updated":"2016-07-26 21:15:09.000000000","message":"If you address other comments, please make a note on when this could be removed. Post Newton? It gets so much easier later when you want to remove an option rather than searching the history.","commit_id":"edacaf7cd868f8f680f6b35f4cee6fcc64823e92"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"cda4cfcede9711e30ada65379c014a0f293678fc","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    cfg.StrOpt("},{"line_number":36,"context_line":"        \u0027topic\u0027,"},{"line_number":37,"context_line":"        default\u003d\u0027conductor\u0027,"},{"line_number":38,"context_line":"        deprecated_for_removal\u003dTrue,"},{"line_number":39,"context_line":"        help\u003d\"Topic exchange name on which conductor nodes listen.\"),"},{"line_number":40,"context_line":"    cfg.StrOpt("},{"line_number":41,"context_line":"        \u0027manager\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"dada55a8_d2b1ac48","line":38,"range":{"start_line":38,"start_character":8,"end_line":38,"end_character":30},"in_reply_to":"dada55a8_7d00ad34","updated":"2016-07-27 11:01:33.000000000","message":"We need a reno for this add.","commit_id":"edacaf7cd868f8f680f6b35f4cee6fcc64823e92"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"b1b451fba95a73aa98b6895d3dff6bb46630f28c","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    cfg.StrOpt("},{"line_number":36,"context_line":"        \u0027topic\u0027,"},{"line_number":37,"context_line":"        default\u003d\u0027conductor\u0027,"},{"line_number":38,"context_line":"        deprecated_for_removal\u003dTrue,"},{"line_number":39,"context_line":"        help\u003d\"Topic exchange name on which conductor nodes listen.\"),"},{"line_number":40,"context_line":"    cfg.StrOpt("},{"line_number":41,"context_line":"        \u0027manager\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"bacf61ea_2f1d0a10","line":38,"range":{"start_line":38,"start_character":8,"end_line":38,"end_character":30},"in_reply_to":"dada55a8_d2b1ac48","updated":"2016-07-27 16:03:50.000000000","message":"agree","commit_id":"edacaf7cd868f8f680f6b35f4cee6fcc64823e92"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"81986e0f74e98bc13f9c8417c86434388df7178d","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        min\u003d1,"},{"line_number":53,"context_line":"        help\u003d\"\"\""},{"line_number":54,"context_line":"Number of workers for OpenStack Conductor service. The default will be the"},{"line_number":55,"context_line":"number of CPUs available."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Possible values:"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"dada55a8_dd4b99af","line":55,"updated":"2016-07-26 21:15:09.000000000","message":"What happens if number is greater than CPU\u0027s on a system? I am guessing it will not error out but takes the value as number of CPU\u0027s available. I think its worth mentioning that here.","commit_id":"edacaf7cd868f8f680f6b35f4cee6fcc64823e92"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"cda4cfcede9711e30ada65379c014a0f293678fc","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        min\u003d1,"},{"line_number":53,"context_line":"        help\u003d\"\"\""},{"line_number":54,"context_line":"Number of workers for OpenStack Conductor service. The default will be the"},{"line_number":55,"context_line":"number of CPUs available."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Possible values:"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"dada55a8_b29358a2","line":55,"in_reply_to":"dada55a8_dd4b99af","updated":"2016-07-27 11:01:33.000000000","message":"Nope, it just has more workers than you have CPUs, and thats OK, its just not always that useful, unless they are all holding locks or something.","commit_id":"edacaf7cd868f8f680f6b35f4cee6fcc64823e92"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"81986e0f74e98bc13f9c8417c86434388df7178d","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"* If \u003d\u003d -1, try until out of hosts (default)"},{"line_number":73,"context_line":"* If \u003d\u003d 0, only try once, no retries"},{"line_number":74,"context_line":"* Integer grater than 0"},{"line_number":75,"context_line":"\"\"\")"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"dada55a8_1d89b126","line":74,"range":{"start_line":74,"start_character":10,"end_line":74,"end_character":16},"updated":"2016-07-26 21:15:09.000000000","message":"greater","commit_id":"edacaf7cd868f8f680f6b35f4cee6fcc64823e92"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"81986e0f74e98bc13f9c8417c86434388df7178d","unresolved":false,"context_lines":[{"line_number":73,"context_line":"* If \u003d\u003d 0, only try once, no retries"},{"line_number":74,"context_line":"* Integer grater than 0"},{"line_number":75,"context_line":"\"\"\")"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"def register_opts(conf):"},{"line_number":79,"context_line":"    conf.register_group(conductor_group)"}],"source_content_type":"text/x-python","patch_set":6,"id":"dada55a8_9de801e4","line":76,"updated":"2016-07-26 21:15:09.000000000","message":"I think we should leave ALL_OPTS here and add conductor__opts and migrate_opts to that list. Then register ALL_OPTS in function below.","commit_id":"edacaf7cd868f8f680f6b35f4cee6fcc64823e92"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"cda4cfcede9711e30ada65379c014a0f293678fc","unresolved":false,"context_lines":[{"line_number":73,"context_line":"* If \u003d\u003d 0, only try once, no retries"},{"line_number":74,"context_line":"* Integer grater than 0"},{"line_number":75,"context_line":"\"\"\")"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"def register_opts(conf):"},{"line_number":79,"context_line":"    conf.register_group(conductor_group)"}],"source_content_type":"text/x-python","patch_set":6,"id":"dada55a8_f2e03028","line":76,"in_reply_to":"dada55a8_9de801e4","updated":"2016-07-27 11:01:33.000000000","message":"-1 that honestly.\n\nThe list isn\u0027t long enough for that to be worth while here.\n\nin the really long files its handy, but not sure its worth it here.","commit_id":"edacaf7cd868f8f680f6b35f4cee6fcc64823e92"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"e2fb0ac277a9799453947987544c0792a2d3f3a7","unresolved":false,"context_lines":[{"line_number":33,"context_line":"introduced to bridge a gap during the transition to the conductor service."},{"line_number":34,"context_line":"It no longer represents a reasonable alternative for deployers."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Removal may be as early as 14.0."},{"line_number":37,"context_line":"\"\"\"),"},{"line_number":38,"context_line":"    cfg.StrOpt("},{"line_number":39,"context_line":"        \u0027topic\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"bacf61ea_6b4a0bae","line":36,"range":{"start_line":36,"start_character":0,"end_line":36,"end_character":32},"updated":"2016-07-28 20:05:17.000000000","message":"I will delete this opt in another patch.","commit_id":"bd27cc14cc44cb76eed44fc2a0441f9aaab59658"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"e2fb0ac277a9799453947987544c0792a2d3f3a7","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        help\u003d\"\"\""},{"line_number":52,"context_line":"Full class name for the Manager for conductor."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Removal in 14.0"},{"line_number":55,"context_line":"\"\"\"),"},{"line_number":56,"context_line":"    cfg.IntOpt("},{"line_number":57,"context_line":"        \u0027workers\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"bacf61ea_8b4f7fbc","line":54,"range":{"start_line":54,"start_character":0,"end_line":54,"end_character":15},"updated":"2016-07-28 20:05:17.000000000","message":"I will delete this opt in another patch.","commit_id":"bd27cc14cc44cb76eed44fc2a0441f9aaab59658"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"47e4b98515da46ff5b47f6354a8029e1b799c14c","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    cfg.StrOpt("},{"line_number":39,"context_line":"        \u0027topic\u0027,"},{"line_number":40,"context_line":"        default\u003d\u0027conductor\u0027,"},{"line_number":41,"context_line":"        deprecated_for_removal\u003dTrue,"},{"line_number":42,"context_line":"        help\u003d\"\"\""},{"line_number":43,"context_line":"Topic exchange name on which conductor nodes listen."},{"line_number":44,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"bacf61ea_6906371d","line":41,"updated":"2016-08-05 09:20:13.000000000","message":"We should probably add a deprecated_reason for this one.","commit_id":"f9da78eb594e4090db517947440a5da67a335227"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"83e3386073eae7dd87665884d31311cfc8e3755e","unresolved":false,"context_lines":[{"line_number":53,"context_line":"\"\"\"),"},{"line_number":54,"context_line":"    cfg.IntOpt("},{"line_number":55,"context_line":"        \u0027workers\u0027,"},{"line_number":56,"context_line":"        default\u003dpsutil.NUM_CPUS,"},{"line_number":57,"context_line":"        min\u003d1,"},{"line_number":58,"context_line":"        help\u003d\"\"\""},{"line_number":59,"context_line":"Number of workers for OpenStack Conductor service. The default will be the"}],"source_content_type":"text/x-python","patch_set":11,"id":"bacf61ea_c9df63d4","line":56,"updated":"2016-08-05 09:32:59.000000000","message":"This isn\u0027t correct, we should leave the default as empty, because this will make our tooling report the default as the number of workers on the doc build machine. Which is totally wrong.\n\nhttps://github.com/openstack/nova/blob/bc5035343d366a18cae587f92ecb4e871aba974a/nova/cmd/conductor.py#L45","commit_id":"4e2ec6e3d5bbb4504e9ad18ea4e1b062f1a2e7a8"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"876ccd82746eb49fd184db2422cf90ec7c579729","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"conductor_group \u003d cfg.OptGroup("},{"line_number":22,"context_line":"    \u0027conductor\u0027,"},{"line_number":23,"context_line":"    title\u003d\u0027Conductor Options\u0027)"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"ALL_OPTS \u003d ["},{"line_number":26,"context_line":"    cfg.BoolOpt("}],"source_content_type":"text/x-python","patch_set":12,"id":"bacf61ea_0c8ea92d","line":23,"updated":"2016-08-05 09:45:41.000000000","message":"The group really needs help text adding.","commit_id":"2de06e310f043f8b22f8be41ade8549125daf488"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"cfd9f043c6aef6ba91b935e8d499e8c6b2d22829","unresolved":false,"context_lines":[{"line_number":28,"context_line":"\"\"\","},{"line_number":29,"context_line":")"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"ALL_OPTS \u003d ["},{"line_number":32,"context_line":"    cfg.BoolOpt("},{"line_number":33,"context_line":"        \u0027use_local\u0027,"},{"line_number":34,"context_line":"        default\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":13,"id":"9ad45d7e_ffa9dae0","line":31,"updated":"2016-08-08 12:47:17.000000000","message":"Nit: Not sure ALL_OPTS is great when it doesn\u0027t include all the opts. Maybe conductor_opts would be better? But this is an existing odd-ness, lets tidy that up later.","commit_id":"b382c09db85a5977650f48b6dc10dccdd1c21907"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"cfd9f043c6aef6ba91b935e8d499e8c6b2d22829","unresolved":false,"context_lines":[{"line_number":64,"context_line":"\"\"\"),"},{"line_number":65,"context_line":"]"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"migrate_opts \u003d ["},{"line_number":68,"context_line":"    cfg.IntOpt("},{"line_number":69,"context_line":"        \u0027migrate_max_retries\u0027,"},{"line_number":70,"context_line":"        default\u003d-1,"}],"source_content_type":"text/x-python","patch_set":13,"id":"9ad45d7e_3f3ed2b8","line":67,"updated":"2016-08-08 12:47:17.000000000","message":"Nit: we should probably move this into some other file, like compute, but lets leave that for now.","commit_id":"b382c09db85a5977650f48b6dc10dccdd1c21907"}],"releasenotes/notes/deprecate-conductor-topic-0ff728443b38031e.yaml":[{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"11f55515e6f3441e69410c6c3914ea3124a76d07","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"deprecations:"},{"line_number":3,"context_line":"  - The ``conductor.topic`` config option is now deprecated and may be removed"},{"line_number":4,"context_line":"    as early as the 15.0.0 release. It is an option which is not used in the"},{"line_number":5,"context_line":"    Nova."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"bacf61ea_1fabc28a","line":5,"range":{"start_line":4,"start_character":36,"end_line":5,"end_character":8},"updated":"2016-08-03 20:07:32.000000000","message":"This option is not used in Nova.","commit_id":"23da98256fa7febe4e9dc3825505864856d011de"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"47e4b98515da46ff5b47f6354a8029e1b799c14c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"deprecations:"},{"line_number":3,"context_line":"  - The ``conductor.topic`` config option is now deprecated and may be removed"},{"line_number":4,"context_line":"    as early as the 15.0.0 release. This option is not used in Nova."}],"source_content_type":"text/x-yaml","patch_set":10,"id":"bacf61ea_e91a276e","line":4,"range":{"start_line":4,"start_character":36,"end_line":4,"end_character":68},"updated":"2016-08-05 09:20:13.000000000","message":"Its more that this is not useful, it is used.","commit_id":"f9da78eb594e4090db517947440a5da67a335227"}]}
