)]}'
{"nova/conf/service.py":[{"author":{"_account_id":18339,"name":"Sivasathurappan Radhakrishnan","email":"siva.radhakrishnan@intel.com","username":"sivakrishnan"},"change_message_id":"f37e95f07b3f499fff508cba4f430d37de8e71fb","unresolved":false,"context_lines":[{"line_number":19,"context_line":"    cfg.IntOpt(\u0027report_interval\u0027,"},{"line_number":20,"context_line":"               default\u003d10,"},{"line_number":21,"context_line":"               help\u003d\"\"\""},{"line_number":22,"context_line":"Seconds between nodes reporting state to datastore."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Compute Service must know the status of each compute node to manage"},{"line_number":25,"context_line":"them effectively. ServiceGroup driver on each compute node"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_548287c9","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":21},"updated":"2016-06-27 20:11:54.000000000","message":"nit: s/Seconds betweeen nodes/Time interval in seconds between nodes","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"143c53cbce31382092dcdc81ae700d7286b363e9","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Possible Values:"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"* Any positive integer (in seconds)"},{"line_number":32,"context_line":"* 10 seconds(default)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Related Options:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_93450519","line":31,"range":{"start_line":31,"start_character":1,"end_line":31,"end_character":35},"updated":"2016-06-28 11:19:38.000000000","message":"Nit: add min\u003d0 flag to IntOpt :)","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"143c53cbce31382092dcdc81ae700d7286b363e9","unresolved":false,"context_lines":[{"line_number":46,"context_line":"If set to true, this option allows services to periodically runs tasks"},{"line_number":47,"context_line":"on the manager and report its state to the database services table."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Possible Values:"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* True (default), False"},{"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":"\"\"\"),"},{"line_number":57,"context_line":"    cfg.IntOpt(\u0027periodic_fuzzy_delay\u0027,"},{"line_number":58,"context_line":"               default\u003d60,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_d31cad15","line":55,"range":{"start_line":49,"start_character":0,"end_line":55,"end_character":6},"updated":"2016-06-28 11:19:38.000000000","message":"Following John\u0027s comment on consistency it is OK to drop both of these as they are quite obvious. Maybe indicating default value in possible values is not much needed, after all :)","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"676de82c3e26e0b2525ee8309cf2aab9198bb8bd","unresolved":false,"context_lines":[{"line_number":61,"context_line":"starting the periodic task scheduler to reduce stampeding."},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"When compute workers are restarted in unison across a cluster,"},{"line_number":64,"context_line":"they all end up running the periodic tasks at the same time"},{"line_number":65,"context_line":"causing problems for the external services. To mitigate this"},{"line_number":66,"context_line":"behavior, periodic_fuzzy_delay option allows you to introduce a"},{"line_number":67,"context_line":"random initial delay when starting the periodic task scheduler."}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_0f046cc4","line":64,"updated":"2016-06-27 20:24:29.000000000","message":"s/end up running periodic tasks at the same time/run simultaneous periodic tasks","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"143c53cbce31382092dcdc81ae700d7286b363e9","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"Possible Values:"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"* Any positive integer (in seconds)"},{"line_number":72,"context_line":"* 0 : disable the random delay"},{"line_number":73,"context_line":"* 60 (default)"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_73b979ec","line":71,"range":{"start_line":71,"start_character":0,"end_line":71,"end_character":35},"updated":"2016-06-28 11:19:38.000000000","message":"Nit: Add min\u003d0 flag to IntOpt","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"143c53cbce31382092dcdc81ae700d7286b363e9","unresolved":false,"context_lines":[{"line_number":72,"context_line":"* 0 : disable the random delay"},{"line_number":73,"context_line":"* 60 (default)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Related Options:"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"* None"},{"line_number":78,"context_line":"\"\"\"),"},{"line_number":79,"context_line":"    cfg.ListOpt(\u0027enabled_apis\u0027,"},{"line_number":80,"context_line":"                default\u003d[\u0027osapi_compute\u0027, \u0027metadata\u0027],"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_f3cd6987","line":77,"range":{"start_line":75,"start_character":0,"end_line":77,"end_character":6},"updated":"2016-06-28 11:19:38.000000000","message":"Drop this section","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"143c53cbce31382092dcdc81ae700d7286b363e9","unresolved":false,"context_lines":[{"line_number":86,"context_line":"* List of APIs"},{"line_number":87,"context_line":"* [\u0027osapi_compute\u0027, \u0027metadata\u0027] (default)"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"Related Options:"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"* None"},{"line_number":92,"context_line":"\"\"\"),"},{"line_number":93,"context_line":"    cfg.ListOpt(\u0027enabled_ssl_apis\u0027,"},{"line_number":94,"context_line":"                default\u003d[],"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_33c89174","line":91,"range":{"start_line":89,"start_character":0,"end_line":91,"end_character":6},"updated":"2016-06-28 11:19:38.000000000","message":"Drop this section","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":18335,"name":"Pushkar Umaranikar","email":"pushkar.umaranikar@intel.com","username":"pushkarumaranikar"},"change_message_id":"a372ee72284e6ba1db62af4e66bd99a8902602fe","unresolved":false,"context_lines":[{"line_number":101,"context_line":"Possible Values:"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"* List of APIs"},{"line_number":104,"context_line":"* [] (default)"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Related Options:"},{"line_number":107,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_1f2c6c49","line":104,"range":{"start_line":104,"start_character":0,"end_line":104,"end_character":14},"updated":"2016-06-28 14:37:42.000000000","message":"nit : Something like \" * empty list (default) \" would be more readable.","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"143c53cbce31382092dcdc81ae700d7286b363e9","unresolved":false,"context_lines":[{"line_number":103,"context_line":"* List of APIs"},{"line_number":104,"context_line":"* [] (default)"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Related Options:"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"* None"},{"line_number":109,"context_line":"\"\"\"),"},{"line_number":110,"context_line":"    cfg.StrOpt(\u0027osapi_compute_listen\u0027,"},{"line_number":111,"context_line":"               default\u003d\"0.0.0.0\","}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_b3aac183","line":108,"range":{"start_line":106,"start_character":0,"end_line":108,"end_character":6},"updated":"2016-06-28 11:19:38.000000000","message":"Drop this section","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"143c53cbce31382092dcdc81ae700d7286b363e9","unresolved":false,"context_lines":[{"line_number":120,"context_line":"* Any valid IP address"},{"line_number":121,"context_line":"* 0.0.0.0 (default)"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"Related Options:"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"* None"},{"line_number":126,"context_line":"\"\"\"),"},{"line_number":127,"context_line":"    cfg.IntOpt(\u0027osapi_compute_listen_port\u0027,"},{"line_number":128,"context_line":"               default\u003d8774,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_d3914d54","line":125,"range":{"start_line":123,"start_character":0,"end_line":125,"end_character":6},"updated":"2016-06-28 11:19:38.000000000","message":"Drop this section","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"143c53cbce31382092dcdc81ae700d7286b363e9","unresolved":false,"context_lines":[{"line_number":139,"context_line":"* A port number (value between 1 and 65535)"},{"line_number":140,"context_line":"* 8774 (default)"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"Related Options:"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"* None"},{"line_number":145,"context_line":"\"\"\"),"},{"line_number":146,"context_line":"    cfg.IntOpt(\u0027osapi_compute_workers\u0027,"},{"line_number":147,"context_line":"               help\u003d\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_538c3d35","line":144,"range":{"start_line":142,"start_character":0,"end_line":144,"end_character":6},"updated":"2016-06-28 11:19:38.000000000","message":"Drop this section","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"676de82c3e26e0b2525ee8309cf2aab9198bb8bd","unresolved":false,"context_lines":[{"line_number":148,"context_line":"This option specifies the number of workers for OpenStack API service."},{"line_number":149,"context_line":"The default will be the number of CPUs available."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"OpenStack API service can be configured to run as multi-process (workers)."},{"line_number":152,"context_line":"This overcomes the problem of reduction in throughput when API request"},{"line_number":153,"context_line":"concurrency increases. OpenStack API service will run in the specified"},{"line_number":154,"context_line":"number of processes."}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_cff0a4cc","line":151,"updated":"2016-06-27 20:24:29.000000000","message":"s/service/services","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"143c53cbce31382092dcdc81ae700d7286b363e9","unresolved":false,"context_lines":[{"line_number":158,"context_line":"* Any positive integer"},{"line_number":159,"context_line":"* None (default value)"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"Related Options:"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"* None"},{"line_number":164,"context_line":"\"\"\"),"},{"line_number":165,"context_line":"    cfg.StrOpt(\u0027metadata_manager\u0027,"},{"line_number":166,"context_line":"               default\u003d\u0027nova.api.manager.MetadataManager\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_f37ba927","line":163,"range":{"start_line":161,"start_character":0,"end_line":163,"end_character":6},"updated":"2016-06-28 11:19:38.000000000","message":"Drop this section","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"143c53cbce31382092dcdc81ae700d7286b363e9","unresolved":false,"context_lines":[{"line_number":166,"context_line":"               default\u003d\u0027nova.api.manager.MetadataManager\u0027,"},{"line_number":167,"context_line":"               deprecated_for_removal\u003dTrue,"},{"line_number":168,"context_line":"               help\u003d\"\"\""},{"line_number":169,"context_line":"DEPRECATED: OpenStack metadata service manager"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"Possible Values:"},{"line_number":172,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_93b4e5d1","line":169,"range":{"start_line":169,"start_character":0,"end_line":169,"end_character":10},"updated":"2016-06-28 11:19:38.000000000","message":"If deprecated_for_removal flag is set True, then we do not have to add DEPRECATED keyword at the beginning of message. It will be inserted automatically, and now this result in 2x DEPRECATED next to each other :)","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"143c53cbce31382092dcdc81ae700d7286b363e9","unresolved":false,"context_lines":[{"line_number":173,"context_line":"* Full Python path to the class to be used"},{"line_number":174,"context_line":"* \u0027nova.api.manager.MetadataManager\u0027 (default)"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"Related Options:"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"* None"},{"line_number":179,"context_line":"\"\"\"),"},{"line_number":180,"context_line":"    cfg.StrOpt(\u0027metadata_listen\u0027,"},{"line_number":181,"context_line":"               default\u003d\"0.0.0.0\","}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_33c4113f","line":178,"range":{"start_line":176,"start_character":0,"end_line":178,"end_character":6},"updated":"2016-06-28 11:19:38.000000000","message":"Drop this section","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"143c53cbce31382092dcdc81ae700d7286b363e9","unresolved":false,"context_lines":[{"line_number":187,"context_line":""},{"line_number":188,"context_line":"Possible Values:"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"* Any valid IP address"},{"line_number":191,"context_line":"* 0.0.0.0 (default)"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"Related Options:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_93eb45b0","line":190,"range":{"start_line":190,"start_character":2,"end_line":190,"end_character":22},"updated":"2016-06-28 11:19:38.000000000","message":"Is hostname also possible?","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"143c53cbce31382092dcdc81ae700d7286b363e9","unresolved":false,"context_lines":[{"line_number":190,"context_line":"* Any valid IP address"},{"line_number":191,"context_line":"* 0.0.0.0 (default)"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"Related Options:"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"* None"},{"line_number":196,"context_line":"\"\"\"),"},{"line_number":197,"context_line":"    cfg.IntOpt(\u0027metadata_listen_port\u0027,"},{"line_number":198,"context_line":"               default\u003d8775,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_73dcd918","line":195,"range":{"start_line":193,"start_character":0,"end_line":195,"end_character":6},"updated":"2016-06-28 11:19:38.000000000","message":"Drop this section","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"143c53cbce31382092dcdc81ae700d7286b363e9","unresolved":false,"context_lines":[{"line_number":209,"context_line":"* A port number (value between 1 and 65535)"},{"line_number":210,"context_line":"* 8775 (default)"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"Related Options:"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"* None"},{"line_number":215,"context_line":"\"\"\"),"},{"line_number":216,"context_line":"    cfg.IntOpt(\u0027metadata_workers\u0027,"},{"line_number":217,"context_line":"               help\u003d\"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_33db711d","line":214,"range":{"start_line":212,"start_character":0,"end_line":214,"end_character":6},"updated":"2016-06-28 11:19:38.000000000","message":"Drop this section","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"676de82c3e26e0b2525ee8309cf2aab9198bb8bd","unresolved":false,"context_lines":[{"line_number":218,"context_line":"This option specifies the number of workers for metadata service."},{"line_number":219,"context_line":"The default will be the number of CPUs available."},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"metadata service can be configured to run as multi-process (workers)."},{"line_number":222,"context_line":"This overcomes the problem of reduction in throughput when API request"},{"line_number":223,"context_line":"concurrency increases. metadata service will run in the specified"},{"line_number":224,"context_line":"number of processes."}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_4faf947d","line":221,"updated":"2016-06-27 20:24:29.000000000","message":"s/metadata/The metadata","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"676de82c3e26e0b2525ee8309cf2aab9198bb8bd","unresolved":false,"context_lines":[{"line_number":220,"context_line":""},{"line_number":221,"context_line":"metadata service can be configured to run as multi-process (workers)."},{"line_number":222,"context_line":"This overcomes the problem of reduction in throughput when API request"},{"line_number":223,"context_line":"concurrency increases. metadata service will run in the specified"},{"line_number":224,"context_line":"number of processes."},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"Possible Values:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_8fd05cf9","line":223,"updated":"2016-06-27 20:24:29.000000000","message":"s/metadata/The metadata","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"143c53cbce31382092dcdc81ae700d7286b363e9","unresolved":false,"context_lines":[{"line_number":225,"context_line":""},{"line_number":226,"context_line":"Possible Values:"},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"* Any positive integer"},{"line_number":229,"context_line":"* None (default value)"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"Related Options:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_d3f4ad88","line":228,"range":{"start_line":228,"start_character":0,"end_line":228,"end_character":22},"updated":"2016-06-28 11:19:38.000000000","message":"Nit: add min\u003d0 to IntOpt :)","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"143c53cbce31382092dcdc81ae700d7286b363e9","unresolved":false,"context_lines":[{"line_number":228,"context_line":"* Any positive integer"},{"line_number":229,"context_line":"* None (default value)"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"Related Options:"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"* None"},{"line_number":234,"context_line":"\"\"\"),"},{"line_number":235,"context_line":"    # NOTE(sdague): Ironic is still using this facility for their HA"},{"line_number":236,"context_line":"    # manager. Ensure they are sorted before removing this."}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_93398544","line":233,"range":{"start_line":231,"start_character":0,"end_line":233,"end_character":6},"updated":"2016-06-28 11:19:38.000000000","message":"Drop this section","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"143c53cbce31382092dcdc81ae700d7286b363e9","unresolved":false,"context_lines":[{"line_number":238,"context_line":"               default\u003d\u0027nova.compute.manager.ComputeManager\u0027,"},{"line_number":239,"context_line":"               deprecated_for_removal\u003dTrue,"},{"line_number":240,"context_line":"               help\u003d\"\"\""},{"line_number":241,"context_line":"DEPRECATED: Full class name for the Manager for compute"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"Possible Values:"},{"line_number":244,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_b382c1c6","line":241,"range":{"start_line":241,"start_character":0,"end_line":241,"end_character":10},"updated":"2016-06-28 11:19:38.000000000","message":"As mentioned above :)","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"143c53cbce31382092dcdc81ae700d7286b363e9","unresolved":false,"context_lines":[{"line_number":245,"context_line":"* Full Python path to the class to be used"},{"line_number":246,"context_line":"* \u0027nova.compute.manager.ComputeManager\u0027(default)"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"Related Options:"},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"* None"},{"line_number":251,"context_line":"\"\"\"),"},{"line_number":252,"context_line":"    cfg.StrOpt(\u0027console_manager\u0027,"},{"line_number":253,"context_line":"               default\u003d\u0027nova.console.manager.ConsoleProxyManager\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_b3592191","line":250,"range":{"start_line":248,"start_character":0,"end_line":250,"end_character":6},"updated":"2016-06-28 11:19:38.000000000","message":"Drop this section","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"143c53cbce31382092dcdc81ae700d7286b363e9","unresolved":false,"context_lines":[{"line_number":253,"context_line":"               default\u003d\u0027nova.console.manager.ConsoleProxyManager\u0027,"},{"line_number":254,"context_line":"               deprecated_for_removal\u003dTrue,"},{"line_number":255,"context_line":"               help\u003d\"\"\""},{"line_number":256,"context_line":"DEPRECATED: Full class name for the Manager for console proxy"},{"line_number":257,"context_line":""},{"line_number":258,"context_line":"Possible Values:"},{"line_number":259,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_d3694d27","line":256,"range":{"start_line":256,"start_character":0,"end_line":256,"end_character":10},"updated":"2016-06-28 11:19:38.000000000","message":"As mentioned above :)","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"143c53cbce31382092dcdc81ae700d7286b363e9","unresolved":false,"context_lines":[{"line_number":260,"context_line":"* Full Python path to the class to be used"},{"line_number":261,"context_line":"* \u0027nova.console.manager.ConsoleProxyManager\u0027(default)"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"Related Options:"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"* None"},{"line_number":266,"context_line":"\"\"\"),"},{"line_number":267,"context_line":"    cfg.StrOpt(\u0027consoleauth_manager\u0027,"},{"line_number":268,"context_line":"               default\u003d\u0027nova.consoleauth.manager.ConsoleAuthManager\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_334ed1c1","line":265,"range":{"start_line":263,"start_character":0,"end_line":265,"end_character":6},"updated":"2016-06-28 11:19:38.000000000","message":"As mentioned above :)","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"143c53cbce31382092dcdc81ae700d7286b363e9","unresolved":false,"context_lines":[{"line_number":268,"context_line":"               default\u003d\u0027nova.consoleauth.manager.ConsoleAuthManager\u0027,"},{"line_number":269,"context_line":"               deprecated_for_removal\u003dTrue,"},{"line_number":270,"context_line":"               help\u003d\"\"\""},{"line_number":271,"context_line":"DEPRECATED: Manager for console auth"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"Possible Values:"},{"line_number":274,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_134bd5b1","line":271,"range":{"start_line":271,"start_character":0,"end_line":271,"end_character":10},"updated":"2016-06-28 11:19:38.000000000","message":"As mentioned above :)","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"143c53cbce31382092dcdc81ae700d7286b363e9","unresolved":false,"context_lines":[{"line_number":275,"context_line":"* Full Python path to the class to be used"},{"line_number":276,"context_line":"* \u0027nova.consoleauth.manager.ConsoleAuthManager\u0027(default)"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"Related Options:"},{"line_number":279,"context_line":""},{"line_number":280,"context_line":"* None"},{"line_number":281,"context_line":"\"\"\"),"},{"line_number":282,"context_line":"    cfg.StrOpt(\u0027cert_manager\u0027,"},{"line_number":283,"context_line":"               default\u003d\u0027nova.cert.manager.CertManager\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_b3d001cb","line":280,"range":{"start_line":278,"start_character":0,"end_line":280,"end_character":6},"updated":"2016-06-28 11:19:38.000000000","message":"Drop this section","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"143c53cbce31382092dcdc81ae700d7286b363e9","unresolved":false,"context_lines":[{"line_number":283,"context_line":"               default\u003d\u0027nova.cert.manager.CertManager\u0027,"},{"line_number":284,"context_line":"               deprecated_for_removal\u003dTrue,"},{"line_number":285,"context_line":"               help\u003d\"\"\""},{"line_number":286,"context_line":"DEPRECATED: Full class name for the Manager for cert"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"Possible Values:"},{"line_number":289,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_f3da89e8","line":286,"range":{"start_line":286,"start_character":0,"end_line":286,"end_character":10},"updated":"2016-06-28 11:19:38.000000000","message":"As mentioned above :)","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"143c53cbce31382092dcdc81ae700d7286b363e9","unresolved":false,"context_lines":[{"line_number":290,"context_line":"* Full Python path to the class to be used"},{"line_number":291,"context_line":"* \u0027nova.cert.manager.CertManager\u0027(default)"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"Related Options:"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"* None"},{"line_number":296,"context_line":"\"\"\"),"},{"line_number":297,"context_line":"    # NOTE(sdague): the network_manager has a bunch of different in"},{"line_number":298,"context_line":"    # tree classes that are still legit options. In Newton we should"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_13e2b59f","line":295,"range":{"start_line":293,"start_character":0,"end_line":295,"end_character":6},"updated":"2016-06-28 11:19:38.000000000","message":"Drop this section","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"143c53cbce31382092dcdc81ae700d7286b363e9","unresolved":false,"context_lines":[{"line_number":307,"context_line":"* Full Python path to the class to be used"},{"line_number":308,"context_line":"* \u0027nova.network.manager.VlanManager\u0027(default)"},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"Related Options:"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"* None"},{"line_number":313,"context_line":"\"\"\"),"},{"line_number":314,"context_line":"    cfg.StrOpt(\u0027scheduler_manager\u0027,"},{"line_number":315,"context_line":"               default\u003d\u0027nova.scheduler.manager.SchedulerManager\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_33fc113e","line":312,"range":{"start_line":310,"start_character":1,"end_line":312,"end_character":6},"updated":"2016-06-28 11:19:38.000000000","message":"Drop this section","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"143c53cbce31382092dcdc81ae700d7286b363e9","unresolved":false,"context_lines":[{"line_number":315,"context_line":"               default\u003d\u0027nova.scheduler.manager.SchedulerManager\u0027,"},{"line_number":316,"context_line":"               deprecated_for_removal\u003dTrue,"},{"line_number":317,"context_line":"               help\u003d\"\"\""},{"line_number":318,"context_line":"DEPRECATED: Full class name for the Manager for scheduler"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"Possible Values:"},{"line_number":321,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_b39e4105","line":318,"range":{"start_line":318,"start_character":0,"end_line":318,"end_character":10},"updated":"2016-06-28 11:19:38.000000000","message":"As mentioned above :)","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"143c53cbce31382092dcdc81ae700d7286b363e9","unresolved":false,"context_lines":[{"line_number":322,"context_line":"* Full Python path to the class to be used"},{"line_number":323,"context_line":"* \u0027nova.scheduler.manager.SchedulerManager\u0027(default)"},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"Related Options:"},{"line_number":326,"context_line":""},{"line_number":327,"context_line":"* None"},{"line_number":328,"context_line":"\"\"\"),"},{"line_number":329,"context_line":"    cfg.IntOpt(\u0027service_down_time\u0027,"},{"line_number":330,"context_line":"               default\u003d60,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_93a3454f","line":327,"range":{"start_line":325,"start_character":0,"end_line":327,"end_character":6},"updated":"2016-06-28 11:19:38.000000000","message":"Drop this section","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"676de82c3e26e0b2525ee8309cf2aab9198bb8bd","unresolved":false,"context_lines":[{"line_number":331,"context_line":"               help\u003d\"\"\""},{"line_number":332,"context_line":"Maximum time since last check-in for up service"},{"line_number":333,"context_line":""},{"line_number":334,"context_line":"Each compute node periodically updates their status on database based on the"},{"line_number":335,"context_line":"specified report interval. If the compute node hasn\u0027t updated the status"},{"line_number":336,"context_line":"for more than service_down_time, then the compute node is considered down."},{"line_number":337,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_af1c38c2","line":334,"updated":"2016-06-27 20:24:29.000000000","message":"s/status on database/database status","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"143c53cbce31382092dcdc81ae700d7286b363e9","unresolved":false,"context_lines":[{"line_number":337,"context_line":""},{"line_number":338,"context_line":"Possible Values:"},{"line_number":339,"context_line":""},{"line_number":340,"context_line":"* Any positive integer (in seconds)"},{"line_number":341,"context_line":"* 60 seconds (default)"},{"line_number":342,"context_line":""},{"line_number":343,"context_line":"Related Options:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aaa91ec_b3b5a17f","line":340,"range":{"start_line":340,"start_character":0,"end_line":340,"end_character":35},"updated":"2016-06-28 11:19:38.000000000","message":"nit: add min\u003d0 flag to IntOpt","commit_id":"3991596145f61a01836f5b5ed8b5c4ec1f8d919c"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"aab36d022ce40216ce95eda6ee6315b63a35accd","unresolved":false,"context_lines":[{"line_number":18,"context_line":"service_opts \u003d ["},{"line_number":19,"context_line":"    cfg.IntOpt(\u0027report_interval\u0027,"},{"line_number":20,"context_line":"               default\u003d10,"},{"line_number":21,"context_line":"               min\u003d0,"},{"line_number":22,"context_line":"               help\u003d\"\"\""},{"line_number":23,"context_line":"This option specifies the time interval between nodes"},{"line_number":24,"context_line":"reporting their state to datastore."}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_b0fd6c3d","line":21,"updated":"2016-07-25 21:37:43.000000000","message":"Where did this minimum value of 0 come from? Do we really things work correctly if there is a zero second wait between reporting runs?","commit_id":"3822634d889ae04652d77fea8a37a9082c531f58"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"4ba2f34a83f4b5c6788c9c2365c02b28d880315a","unresolved":false,"context_lines":[{"line_number":18,"context_line":"service_opts \u003d ["},{"line_number":19,"context_line":"    cfg.IntOpt(\u0027report_interval\u0027,"},{"line_number":20,"context_line":"               default\u003d10,"},{"line_number":21,"context_line":"               min\u003d0,"},{"line_number":22,"context_line":"               help\u003d\"\"\""},{"line_number":23,"context_line":"This option specifies the time interval between nodes"},{"line_number":24,"context_line":"reporting their state to datastore."}],"source_content_type":"text/x-python","patch_set":3,"id":"9ad45d7e_78faedbe","line":21,"in_reply_to":"bacf61ea_dcf2e2d1","updated":"2016-08-09 10:36:34.000000000","message":"It should be 1.","commit_id":"3822634d889ae04652d77fea8a37a9082c531f58"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"7791825900e676625cdc9a925fb2f2832ecbcde2","unresolved":false,"context_lines":[{"line_number":18,"context_line":"service_opts \u003d ["},{"line_number":19,"context_line":"    cfg.IntOpt(\u0027report_interval\u0027,"},{"line_number":20,"context_line":"               default\u003d10,"},{"line_number":21,"context_line":"               min\u003d0,"},{"line_number":22,"context_line":"               help\u003d\"\"\""},{"line_number":23,"context_line":"This option specifies the time interval between nodes"},{"line_number":24,"context_line":"reporting their state to datastore."}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_dcf2e2d1","line":21,"in_reply_to":"dada55a8_b0fd6c3d","updated":"2016-07-28 18:35:08.000000000","message":"Minimum value of 0 is just assumption that interval should not be negative (code does not specify special usages for -1 etc). I guess that problems with bandwidth/IO might happen which would result in buffers being filled.\n\nI am not aware of any use-cases for 0 other than debug or stress-tests. Probably we can leave it as it is.","commit_id":"3822634d889ae04652d77fea8a37a9082c531f58"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"aab36d022ce40216ce95eda6ee6315b63a35accd","unresolved":false,"context_lines":[{"line_number":23,"context_line":"This option specifies the time interval between nodes"},{"line_number":24,"context_line":"reporting their state to datastore."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Compute Service must know the status of each compute node to manage"},{"line_number":27,"context_line":"them effectively. ServiceGroup driver on each compute node"},{"line_number":28,"context_line":"periodically updates their status on database based on the"},{"line_number":29,"context_line":"specified report interval."}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_90b66888","line":26,"updated":"2016-07-25 21:37:43.000000000","message":"s/Compute Service/The compute service/","commit_id":"3822634d889ae04652d77fea8a37a9082c531f58"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"7791825900e676625cdc9a925fb2f2832ecbcde2","unresolved":false,"context_lines":[{"line_number":23,"context_line":"This option specifies the time interval between nodes"},{"line_number":24,"context_line":"reporting their state to datastore."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Compute Service must know the status of each compute node to manage"},{"line_number":27,"context_line":"them effectively. ServiceGroup driver on each compute node"},{"line_number":28,"context_line":"periodically updates their status on database based on the"},{"line_number":29,"context_line":"specified report interval."}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_1cbbdae6","line":26,"in_reply_to":"dada55a8_90b66888","updated":"2016-07-28 18:35:08.000000000","message":"Done","commit_id":"3822634d889ae04652d77fea8a37a9082c531f58"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"aab36d022ce40216ce95eda6ee6315b63a35accd","unresolved":false,"context_lines":[{"line_number":24,"context_line":"reporting their state to datastore."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Compute Service must know the status of each compute node to manage"},{"line_number":27,"context_line":"them effectively. ServiceGroup driver on each compute node"},{"line_number":28,"context_line":"periodically updates their status on database based on the"},{"line_number":29,"context_line":"specified report interval."},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_f07c04b7","line":27,"updated":"2016-07-25 21:37:43.000000000","message":"s/ServiceGroup driver/The service group driver/","commit_id":"3822634d889ae04652d77fea8a37a9082c531f58"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"7791825900e676625cdc9a925fb2f2832ecbcde2","unresolved":false,"context_lines":[{"line_number":24,"context_line":"reporting their state to datastore."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Compute Service must know the status of each compute node to manage"},{"line_number":27,"context_line":"them effectively. ServiceGroup driver on each compute node"},{"line_number":28,"context_line":"periodically updates their status on database based on the"},{"line_number":29,"context_line":"specified report interval."},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_1ca2baae","line":27,"in_reply_to":"dada55a8_f07c04b7","updated":"2016-07-28 18:35:08.000000000","message":"Done","commit_id":"3822634d889ae04652d77fea8a37a9082c531f58"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"aab36d022ce40216ce95eda6ee6315b63a35accd","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Compute Service must know the status of each compute node to manage"},{"line_number":27,"context_line":"them effectively. ServiceGroup driver on each compute node"},{"line_number":28,"context_line":"periodically updates their status on database based on the"},{"line_number":29,"context_line":"specified report interval."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Possible Values:"}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_703e54db","line":28,"updated":"2016-07-25 21:37:43.000000000","message":"Its only a database for the database driver right? For other datastores it is different.","commit_id":"3822634d889ae04652d77fea8a37a9082c531f58"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"7791825900e676625cdc9a925fb2f2832ecbcde2","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Compute Service must know the status of each compute node to manage"},{"line_number":27,"context_line":"them effectively. ServiceGroup driver on each compute node"},{"line_number":28,"context_line":"periodically updates their status on database based on the"},{"line_number":29,"context_line":"specified report interval."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Possible Values:"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_bca9ee7d","line":28,"in_reply_to":"dada55a8_703e54db","updated":"2016-07-28 18:35:08.000000000","message":"Done","commit_id":"3822634d889ae04652d77fea8a37a9082c531f58"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"aab36d022ce40216ce95eda6ee6315b63a35accd","unresolved":false,"context_lines":[{"line_number":26,"context_line":"Compute Service must know the status of each compute node to manage"},{"line_number":27,"context_line":"them effectively. ServiceGroup driver on each compute node"},{"line_number":28,"context_line":"periodically updates their status on database based on the"},{"line_number":29,"context_line":"specified report interval."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Possible Values:"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_c413015b","line":29,"updated":"2016-07-25 21:37:43.000000000","message":"Overall, I think I\u0027d just re-write this entire paragraph to read something like:\n\nThis flag controls how frequently the state of services on a given hypervisor node. Nova needs to know this to determine the overall health of the deployment.","commit_id":"3822634d889ae04652d77fea8a37a9082c531f58"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"7791825900e676625cdc9a925fb2f2832ecbcde2","unresolved":false,"context_lines":[{"line_number":26,"context_line":"Compute Service must know the status of each compute node to manage"},{"line_number":27,"context_line":"them effectively. ServiceGroup driver on each compute node"},{"line_number":28,"context_line":"periodically updates their status on database based on the"},{"line_number":29,"context_line":"specified report interval."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Possible Values:"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_bc456eb4","line":29,"in_reply_to":"dada55a8_c413015b","updated":"2016-07-28 18:35:08.000000000","message":"Done","commit_id":"3822634d889ae04652d77fea8a37a9082c531f58"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"aab36d022ce40216ce95eda6ee6315b63a35accd","unresolved":false,"context_lines":[{"line_number":46,"context_line":"Enable periodic tasks"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"If set to true, this option allows services to periodically runs tasks"},{"line_number":49,"context_line":"on the manager and report its state to the database services table."},{"line_number":50,"context_line":"\"\"\"),"},{"line_number":51,"context_line":"    cfg.IntOpt(\u0027periodic_fuzzy_delay\u0027,"},{"line_number":52,"context_line":"               default\u003d60,"}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_a4352ddc","line":49,"updated":"2016-07-25 21:37:43.000000000","message":"Again, its only in the database if you use the db driver, right? So something more generic would be good here.","commit_id":"3822634d889ae04652d77fea8a37a9082c531f58"},{"author":{"_account_id":14511,"name":"Maciej Szankin","email":"maciej+review@szankin.pl","username":"mszankin"},"change_message_id":"7791825900e676625cdc9a925fb2f2832ecbcde2","unresolved":false,"context_lines":[{"line_number":46,"context_line":"Enable periodic tasks"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"If set to true, this option allows services to periodically runs tasks"},{"line_number":49,"context_line":"on the manager and report its state to the database services table."},{"line_number":50,"context_line":"\"\"\"),"},{"line_number":51,"context_line":"    cfg.IntOpt(\u0027periodic_fuzzy_delay\u0027,"},{"line_number":52,"context_line":"               default\u003d60,"}],"source_content_type":"text/x-python","patch_set":3,"id":"bacf61ea_fc7c06ed","line":49,"in_reply_to":"dada55a8_a4352ddc","updated":"2016-07-28 18:35:08.000000000","message":"Done","commit_id":"3822634d889ae04652d77fea8a37a9082c531f58"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"0c3318acf6f9ab5ab761871335cda1e8881a23ca","unresolved":false,"context_lines":[{"line_number":55,"context_line":"behavior, periodic_fuzzy_delay option allows you to introduce a"},{"line_number":56,"context_line":"random initial delay when starting the periodic task scheduler."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Possible Values:"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"* Any positive integer (in seconds)"},{"line_number":61,"context_line":"* 0 : disable the random delay"},{"line_number":62,"context_line":"\"\"\"),"},{"line_number":63,"context_line":"    cfg.ListOpt(\u0027enabled_apis\u0027,"},{"line_number":64,"context_line":"                default\u003d[\u0027osapi_compute\u0027, \u0027metadata\u0027],"}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_223426fa","line":61,"range":{"start_line":58,"start_character":0,"end_line":61,"end_character":30},"updated":"2016-08-01 22:12:40.000000000","message":"drop this and mention disable above","commit_id":"7f40c504805778666230957c5dd83988af29bf6b"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"0c3318acf6f9ab5ab761871335cda1e8881a23ca","unresolved":false,"context_lines":[{"line_number":98,"context_line":"concurrency increases. OpenStack API service will run in the specified"},{"line_number":99,"context_line":"number of processes."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"Possible Values:"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"* Any positive integer"},{"line_number":104,"context_line":"* None (default value)"},{"line_number":105,"context_line":"\"\"\"),"},{"line_number":106,"context_line":"    cfg.StrOpt(\u0027metadata_manager\u0027,"},{"line_number":107,"context_line":"               default\u003d\u0027nova.api.manager.MetadataManager\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_e257ae23","line":104,"range":{"start_line":101,"start_character":0,"end_line":104,"end_character":22},"updated":"2016-08-01 22:12:40.000000000","message":"drop this","commit_id":"7f40c504805778666230957c5dd83988af29bf6b"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"0c3318acf6f9ab5ab761871335cda1e8881a23ca","unresolved":false,"context_lines":[{"line_number":134,"context_line":"concurrency increases. The metadata service will run in the specified"},{"line_number":135,"context_line":"number of processes."},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"Possible Values:"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"* Any positive integer"},{"line_number":140,"context_line":"* None (default value)"},{"line_number":141,"context_line":"\"\"\"),"},{"line_number":142,"context_line":"    # NOTE(sdague): Ironic is still using this facility for their HA"},{"line_number":143,"context_line":"    # manager. Ensure they are sorted before removing this."}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_02500231","line":140,"range":{"start_line":137,"start_character":0,"end_line":140,"end_character":22},"updated":"2016-08-01 22:12:40.000000000","message":"drop this. None is default of Intopt, no need to explicitly call it. http://docs-draft.openstack.org/61/332861/5/check/gate-nova-docs-ubuntu-xenial/72dca35//doc/build/html/sample_config.html","commit_id":"7f40c504805778666230957c5dd83988af29bf6b"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"0c3318acf6f9ab5ab761871335cda1e8881a23ca","unresolved":false,"context_lines":[{"line_number":171,"context_line":"               default\u003d60,"},{"line_number":172,"context_line":"               min\u003d0,"},{"line_number":173,"context_line":"               help\u003d\"\"\""},{"line_number":174,"context_line":"Maximum time since last check-in for up service"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"Each compute node periodically updates their database status based on the"},{"line_number":177,"context_line":"specified report interval. If the compute node hasn\u0027t updated the status"}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_42b83a75","line":174,"range":{"start_line":174,"start_character":8,"end_line":174,"end_character":12},"updated":"2016-08-01 22:12:40.000000000","message":"mention time units here.","commit_id":"7f40c504805778666230957c5dd83988af29bf6b"},{"author":{"_account_id":19590,"name":"Sarafraj Singh","email":"Sarafraj.Singh@intel.com","username":"sarafrajsingh"},"change_message_id":"0c3318acf6f9ab5ab761871335cda1e8881a23ca","unresolved":false,"context_lines":[{"line_number":177,"context_line":"specified report interval. If the compute node hasn\u0027t updated the status"},{"line_number":178,"context_line":"for more than service_down_time, then the compute node is considered down."},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"Possible Values:"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"* Any positive integer (in seconds)"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"Related Options:"},{"line_number":185,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"bacf61ea_a2b3f696","line":182,"range":{"start_line":180,"start_character":0,"end_line":182,"end_character":35},"updated":"2016-08-01 22:12:40.000000000","message":"drop this section","commit_id":"7f40c504805778666230957c5dd83988af29bf6b"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"1dfffa328d864d8e1b424951ebf4334164566111","unresolved":false,"context_lines":[{"line_number":23,"context_line":"               default\u003d10,"},{"line_number":24,"context_line":"               min\u003d0,"},{"line_number":25,"context_line":"               help\u003d\"\"\""},{"line_number":26,"context_line":"Number of seconds how frequently the state of services on a given hypervisor"},{"line_number":27,"context_line":"node is reported. Nova needs to know this to determine the overall"},{"line_number":28,"context_line":"health of the deployment."},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"9ad45d7e_93937ffa","line":26,"updated":"2016-08-08 11:55:52.000000000","message":"This sentence needs to be rewritten for grammar. Perhaps, \"Number of seconds indicating how frequently the state of services on a given hypervisor is reported.\"","commit_id":"fbdeb52a4af065c5c6bc49a215ca7a27b1eba34c"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"fe69f69e0285c9709ee375729728c7d79719bfdf","unresolved":false,"context_lines":[{"line_number":21,"context_line":"service_opts \u003d ["},{"line_number":22,"context_line":"    cfg.IntOpt(\u0027report_interval\u0027,"},{"line_number":23,"context_line":"               default\u003d10,"},{"line_number":24,"context_line":"               min\u003d0,"},{"line_number":25,"context_line":"               help\u003d\"\"\""},{"line_number":26,"context_line":"Number of seconds indicating how frequently the state of services on a"},{"line_number":27,"context_line":"given hypervisor is reported. Nova needs to know this to determine the"}],"source_content_type":"text/x-python","patch_set":7,"id":"9ad45d7e_7596784d","line":24,"updated":"2016-08-09 10:37:47.000000000","message":"Nit: This seems wrong. I think the min should be 1.","commit_id":"5339047b78fc669165702da6d544f704bc72b45e"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"fe69f69e0285c9709ee375729728c7d79719bfdf","unresolved":false,"context_lines":[{"line_number":34,"context_line":"  is less than report_interval, services will routinely be considered down,"},{"line_number":35,"context_line":"  because they report in too rarely."},{"line_number":36,"context_line":"\"\"\"),"},{"line_number":37,"context_line":"    cfg.BoolOpt(\u0027periodic_enable\u0027,"},{"line_number":38,"context_line":"               default\u003dTrue,"},{"line_number":39,"context_line":"               help\u003d\"\"\""},{"line_number":40,"context_line":"Enable periodic tasks."}],"source_content_type":"text/x-python","patch_set":7,"id":"9ad45d7e_f504287f","line":37,"updated":"2016-08-09 10:37:47.000000000","message":"Lets add a TODO to deprecate this one.\n\nIf you turn this off, nova is broken.","commit_id":"5339047b78fc669165702da6d544f704bc72b45e"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"fe69f69e0285c9709ee375729728c7d79719bfdf","unresolved":false,"context_lines":[{"line_number":40,"context_line":"Enable periodic tasks."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"If set to true, this option allows services to periodically run tasks"},{"line_number":43,"context_line":"on the manager and report its state to used datastore."},{"line_number":44,"context_line":"\"\"\"),"},{"line_number":45,"context_line":"    cfg.IntOpt(\u0027periodic_fuzzy_delay\u0027,"},{"line_number":46,"context_line":"               default\u003d60,"}],"source_content_type":"text/x-python","patch_set":7,"id":"9ad45d7e_55f41486","line":43,"range":{"start_line":43,"start_character":15,"end_line":43,"end_character":54},"updated":"2016-08-09 10:37:47.000000000","message":"The periodic tasks do all sorts of things, not sure we need to mention the datastore.","commit_id":"5339047b78fc669165702da6d544f704bc72b45e"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"fe69f69e0285c9709ee375729728c7d79719bfdf","unresolved":false,"context_lines":[{"line_number":62,"context_line":"\"\"\"),"},{"line_number":63,"context_line":"    cfg.ListOpt(\u0027enabled_apis\u0027,"},{"line_number":64,"context_line":"                default\u003d[\u0027osapi_compute\u0027, \u0027metadata\u0027],"},{"line_number":65,"context_line":"                help\u003d\"List of APIs to be enabled by default.\"),"},{"line_number":66,"context_line":"    cfg.ListOpt(\u0027enabled_ssl_apis\u0027,"},{"line_number":67,"context_line":"                default\u003d[],"},{"line_number":68,"context_line":"                help\u003d\"\"\""}],"source_content_type":"text/x-python","patch_set":7,"id":"9ad45d7e_f5bc286e","line":65,"updated":"2016-08-09 10:37:47.000000000","message":"I think we need to specify the item type, and that should be a string with a specified choices:\n\n  item_type\u003dtypes.String(choices\u003d[\u0027osapi_compute\u0027, \u0027metadata\u0027])","commit_id":"5339047b78fc669165702da6d544f704bc72b45e"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"fe69f69e0285c9709ee375729728c7d79719bfdf","unresolved":false,"context_lines":[{"line_number":88,"context_line":"requests."},{"line_number":89,"context_line":"\"\"\"),"},{"line_number":90,"context_line":"    cfg.IntOpt(\u0027osapi_compute_workers\u0027,"},{"line_number":91,"context_line":"               min\u003d0,"},{"line_number":92,"context_line":"               help\u003d\"\"\""},{"line_number":93,"context_line":"Number of workers for OpenStack API service. The default will be the number"},{"line_number":94,"context_line":"of CPUs available."}],"source_content_type":"text/x-python","patch_set":7,"id":"9ad45d7e_b582b092","line":91,"updated":"2016-08-09 10:37:47.000000000","message":"Surely this is 1?\n\nhttps://github.com/openstack/nova/blob/8e7b5791f0876747c7951fe74b2a62acb26c05b1/nova/service.py#L298","commit_id":"5339047b78fc669165702da6d544f704bc72b45e"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"fe69f69e0285c9709ee375729728c7d79719bfdf","unresolved":false,"context_lines":[{"line_number":124,"context_line":"requests."},{"line_number":125,"context_line":"\"\"\"),"},{"line_number":126,"context_line":"    cfg.IntOpt(\u0027metadata_workers\u0027,"},{"line_number":127,"context_line":"               min\u003d0,"},{"line_number":128,"context_line":"               help\u003d\"\"\""},{"line_number":129,"context_line":"Number of workers for metadata service. If not specified the number of"},{"line_number":130,"context_line":"available CPUs will be used."}],"source_content_type":"text/x-python","patch_set":7,"id":"9ad45d7e_75a4b8a5","line":127,"updated":"2016-08-09 10:37:47.000000000","message":"Surely 1 is the min? As above.","commit_id":"5339047b78fc669165702da6d544f704bc72b45e"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"fe69f69e0285c9709ee375729728c7d79719bfdf","unresolved":false,"context_lines":[{"line_number":162,"context_line":"    # turn this into a selector."},{"line_number":163,"context_line":"    cfg.StrOpt(\u0027network_manager\u0027,"},{"line_number":164,"context_line":"               default\u003d\u0027nova.network.manager.VlanManager\u0027,"},{"line_number":165,"context_line":"               help\u003d\"Full class name for the Manager for network\"),"},{"line_number":166,"context_line":"    cfg.StrOpt(\u0027scheduler_manager\u0027,"},{"line_number":167,"context_line":"               default\u003d\u0027nova.scheduler.manager.SchedulerManager\u0027,"},{"line_number":168,"context_line":"               deprecated_for_removal\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":7,"id":"9ad45d7e_58d9e982","line":165,"updated":"2016-08-09 10:37:47.000000000","message":"Could we add the list of possible values in here please? Flat, FlatDHCP and VlanManager I think.","commit_id":"5339047b78fc669165702da6d544f704bc72b45e"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"fe69f69e0285c9709ee375729728c7d79719bfdf","unresolved":false,"context_lines":[{"line_number":179,"context_line":""},{"line_number":180,"context_line":"Related Options:"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"* report_interval (service_down_time should not be less than report_interval)"},{"line_number":183,"context_line":"\"\"\")"},{"line_number":184,"context_line":"]"},{"line_number":185,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"9ad45d7e_78730d81","line":182,"updated":"2016-08-09 10:37:47.000000000","message":"Nit: its tempting to move these options next to each other.","commit_id":"5339047b78fc669165702da6d544f704bc72b45e"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"70e081fd83335c59fd15bde6591d14ea87ec95a5","unresolved":false,"context_lines":[{"line_number":21,"context_line":"service_opts \u003d ["},{"line_number":22,"context_line":"    cfg.IntOpt(\u0027report_interval\u0027,"},{"line_number":23,"context_line":"               default\u003d10,"},{"line_number":24,"context_line":"               min\u003d1,"},{"line_number":25,"context_line":"               help\u003d\"\"\""},{"line_number":26,"context_line":"Number of seconds indicating how frequently the state of services on a"},{"line_number":27,"context_line":"given hypervisor is reported. Nova needs to know this to determine the"}],"source_content_type":"text/x-python","patch_set":10,"id":"3ac371cc_b25e2ee7","line":24,"updated":"2016-08-16 09:17:22.000000000","message":"I think we need to drop this, and add a TODO to fix this up.","commit_id":"60ea25f52b5d68bbec8494c2113f77ac7886da13"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"70e081fd83335c59fd15bde6591d14ea87ec95a5","unresolved":false,"context_lines":[{"line_number":36,"context_line":"\"\"\"),"},{"line_number":37,"context_line":"    cfg.IntOpt(\u0027service_down_time\u0027,"},{"line_number":38,"context_line":"               default\u003d60,"},{"line_number":39,"context_line":"               min\u003d0,"},{"line_number":40,"context_line":"               help\u003d\"\"\""},{"line_number":41,"context_line":"Maximum time in seconds since last check-in for up service"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3ac371cc_f226e666","line":39,"updated":"2016-08-16 09:17:22.000000000","message":"If its a bad value, this is recalculated from report_interval, and a warning is output. But I think we should drop this for now.","commit_id":"60ea25f52b5d68bbec8494c2113f77ac7886da13"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"70e081fd83335c59fd15bde6591d14ea87ec95a5","unresolved":false,"context_lines":[{"line_number":60,"context_line":"\"\"\"),"},{"line_number":61,"context_line":"    cfg.IntOpt(\u0027periodic_fuzzy_delay\u0027,"},{"line_number":62,"context_line":"               default\u003d60,"},{"line_number":63,"context_line":"               min\u003d0,"},{"line_number":64,"context_line":"               help\u003d\"\"\""},{"line_number":65,"context_line":"Number of seconds to randomly delay when starting the periodic task"},{"line_number":66,"context_line":"scheduler to reduce stampeding."}],"source_content_type":"text/x-python","patch_set":10,"id":"3ac371cc_f220a69d","line":63,"updated":"2016-08-16 09:17:22.000000000","message":"lets leave this one, a -ve value is non-sensical.","commit_id":"60ea25f52b5d68bbec8494c2113f77ac7886da13"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"70e081fd83335c59fd15bde6591d14ea87ec95a5","unresolved":false,"context_lines":[{"line_number":106,"context_line":"requests."},{"line_number":107,"context_line":"\"\"\"),"},{"line_number":108,"context_line":"    cfg.IntOpt(\u0027osapi_compute_workers\u0027,"},{"line_number":109,"context_line":"               min\u003d1,"},{"line_number":110,"context_line":"               help\u003d\"\"\""},{"line_number":111,"context_line":"Number of workers for OpenStack API service. The default will be the number"},{"line_number":112,"context_line":"of CPUs available."}],"source_content_type":"text/x-python","patch_set":10,"id":"3ac371cc_671cfac1","line":109,"updated":"2016-08-16 09:17:22.000000000","message":"This one is good, we spit out a warning a die in a fire if this is below 1.","commit_id":"60ea25f52b5d68bbec8494c2113f77ac7886da13"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"70e081fd83335c59fd15bde6591d14ea87ec95a5","unresolved":false,"context_lines":[{"line_number":142,"context_line":"requests."},{"line_number":143,"context_line":"\"\"\"),"},{"line_number":144,"context_line":"    cfg.IntOpt(\u0027metadata_workers\u0027,"},{"line_number":145,"context_line":"               min\u003d1,"},{"line_number":146,"context_line":"               help\u003d\"\"\""},{"line_number":147,"context_line":"Number of workers for metadata service. If not specified the number of"},{"line_number":148,"context_line":"available CPUs will be used."}],"source_content_type":"text/x-python","patch_set":10,"id":"3ac371cc_070d4690","line":145,"updated":"2016-08-16 09:17:22.000000000","message":"This one is good, we spit out a warning a die in a fire if this is below 1.","commit_id":"60ea25f52b5d68bbec8494c2113f77ac7886da13"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"2fc91216077b49d7090729a4634b2d80fe89101a","unresolved":false,"context_lines":[{"line_number":51,"context_line":"* report_interval (service_down_time should not be less than report_interval)"},{"line_number":52,"context_line":"\"\"\"),"},{"line_number":53,"context_line":"    # TODO(macsz) deprecate periodic_enable. Setting to False causes nova to"},{"line_number":54,"context_line":"    #  fail"},{"line_number":55,"context_line":"    cfg.BoolOpt(\u0027periodic_enable\u0027,"},{"line_number":56,"context_line":"               default\u003dTrue,"},{"line_number":57,"context_line":"               help\u003d\"\"\""}],"source_content_type":"text/x-python","patch_set":13,"id":"7a8ec9b2_1438ac9f","line":54,"range":{"start_line":54,"start_character":6,"end_line":54,"end_character":7},"updated":"2016-09-21 10:38:43.000000000","message":"Nit: drop that.","commit_id":"e8436283e45b6716fb61d6f6590fadb5fb4ba45c"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"2fc91216077b49d7090729a4634b2d80fe89101a","unresolved":false,"context_lines":[{"line_number":108,"context_line":"requests."},{"line_number":109,"context_line":"\"\"\"),"},{"line_number":110,"context_line":"    cfg.IntOpt(\u0027osapi_compute_workers\u0027,"},{"line_number":111,"context_line":"               min\u003d1,"},{"line_number":112,"context_line":"               help\u003d\"\"\""},{"line_number":113,"context_line":"Number of workers for OpenStack API service. The default will be the number"},{"line_number":114,"context_line":"of CPUs available."}],"source_content_type":"text/x-python","patch_set":13,"id":"7a8ec9b2_f1527234","line":111,"updated":"2016-09-21 10:38:43.000000000","message":"This one is good, because values \u003c1 failed before this was here anyways.","commit_id":"e8436283e45b6716fb61d6f6590fadb5fb4ba45c"},{"author":{"_account_id":16907,"name":"Diana Clarke","email":"diana.joan.clarke@gmail.com","username":"diana-clarke"},"change_message_id":"a9899db3ae10ad29d025e830e89a8990e5729985","unresolved":false,"context_lines":[{"line_number":108,"context_line":"requests."},{"line_number":109,"context_line":"\"\"\"),"},{"line_number":110,"context_line":"    cfg.IntOpt(\u0027osapi_compute_workers\u0027,"},{"line_number":111,"context_line":"               min\u003d1,"},{"line_number":112,"context_line":"               help\u003d\"\"\""},{"line_number":113,"context_line":"Number of workers for OpenStack API service. The default will be the number"},{"line_number":114,"context_line":"of CPUs available."}],"source_content_type":"text/x-python","patch_set":13,"id":"5a3905b3_8c2f63f5","line":111,"in_reply_to":"1a95cdbc_a50ee238","updated":"2017-01-20 14:08:19.000000000","message":"This change was backwards incompatible. Here are just a few of the resulting bugs:\n\n- Can\u0027t deploy overcloud with ocata/trunk on rhel\n- https://bugs.launchpad.net/tripleo/+bug/1633735\n\n- nova\u0027s osapi_compute_workers is not valid (must be greater than 1)\n- https://bugs.launchpad.net/tripleo/+bug/1631133\n\n- Nova misconfigured after upgrade to RHOS-11: ConfigFileValueError: Value for option osapi_compute_workers is not valid \n- https://bugzilla.redhat.com/show_bug.cgi?id\u003d1412197\n\nAnd I\u0027m sure there are more, but I didn\u0027t keep track of them all as I googled.\n\nPS. The openstack codesearch tool is helpful when it comes to seeing how other projects (like tripleo) configure these values.\n\n- http://codesearch.openstack.org/?q\u003dosapi_compute_workers\u0026i\u003dnope\u0026files\u003d\u0026repos\u003d","commit_id":"e8436283e45b6716fb61d6f6590fadb5fb4ba45c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"026c096be9fef7581c970d9c0971329ab2d5ae4f","unresolved":false,"context_lines":[{"line_number":108,"context_line":"requests."},{"line_number":109,"context_line":"\"\"\"),"},{"line_number":110,"context_line":"    cfg.IntOpt(\u0027osapi_compute_workers\u0027,"},{"line_number":111,"context_line":"               min\u003d1,"},{"line_number":112,"context_line":"               help\u003d\"\"\""},{"line_number":113,"context_line":"Number of workers for OpenStack API service. The default will be the number"},{"line_number":114,"context_line":"of CPUs available."}],"source_content_type":"text/x-python","patch_set":13,"id":"1a95cdbc_a50ee238","line":111,"in_reply_to":"7a8ec9b2_f1527234","updated":"2016-10-06 20:33:53.000000000","message":"See: https://review.openstack.org/#/c/383440/","commit_id":"e8436283e45b6716fb61d6f6590fadb5fb4ba45c"}]}
