)]}'
{".zuul.yaml":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d2488fe16b79bb3f1250416515e0fc1f55f34a61","unresolved":false,"context_lines":[{"line_number":165,"context_line":"      TLS console proxy code in the libvirt driver."},{"line_number":166,"context_line":"      Starting in Stein, the job was changed to run with python 3 and enabled"},{"line_number":167,"context_line":"      volume multi-attach testing."},{"line_number":168,"context_line":"      Starting in Train, the job enabled counting quota usage from placement."},{"line_number":169,"context_line":"      Runs all tempest compute API and most scenario tests concurrently."},{"line_number":170,"context_line":"    run: playbooks/legacy/nova-next/run.yaml"},{"line_number":171,"context_line":"    post-run: playbooks/legacy/nova-next/post.yaml"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"bfb3d3c7_ec951888","line":168,"updated":"2019-05-29 21:02:48.000000000","message":"✓\n\nhttps://review.opendev.org/#/c/653146/7/playbooks/legacy/nova-next/run.yaml@49","commit_id":"c315cc348825be7416f93a5566005ec729f4414e"}],"nova/conf/quota.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"81b5c48fe3b4da78dac5ffd64825f2630c2c4abd","unresolved":false,"context_lines":[{"line_number":333,"context_line":"have enough quota available to support the cores and ram needed by the server"},{"line_number":334,"context_line":"to be unshelved."},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"The populate_queued_for_delete and populate_user_id online data migrations must"},{"line_number":337,"context_line":"be completed before usage can be counted from placement. Until the data"},{"line_number":338,"context_line":"migration is complete, the system will fall back to legacy quota usage counting"},{"line_number":339,"context_line":"from cell databases depending on the result of an EXISTS database query during"}],"source_content_type":"text/x-python","patch_set":2,"id":"bfb3d3c7_a285d608","line":336,"range":{"start_line":336,"start_character":4,"end_line":336,"end_character":30},"updated":"2019-05-30 18:20:09.000000000","message":"``populate_queued_for_delete``","commit_id":"9e782ed0efc5e21fa3023b702acaaaf9d5b1260d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"81b5c48fe3b4da78dac5ffd64825f2630c2c4abd","unresolved":false,"context_lines":[{"line_number":333,"context_line":"have enough quota available to support the cores and ram needed by the server"},{"line_number":334,"context_line":"to be unshelved."},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"The populate_queued_for_delete and populate_user_id online data migrations must"},{"line_number":337,"context_line":"be completed before usage can be counted from placement. Until the data"},{"line_number":338,"context_line":"migration is complete, the system will fall back to legacy quota usage counting"},{"line_number":339,"context_line":"from cell databases depending on the result of an EXISTS database query during"}],"source_content_type":"text/x-python","patch_set":2,"id":"bfb3d3c7_627b5e27","line":336,"range":{"start_line":336,"start_character":35,"end_line":336,"end_character":51},"updated":"2019-05-30 18:20:09.000000000","message":"``populate_user_id``","commit_id":"9e782ed0efc5e21fa3023b702acaaaf9d5b1260d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"81b5c48fe3b4da78dac5ffd64825f2630c2c4abd","unresolved":false,"context_lines":[{"line_number":340,"context_line":"each quota check, if this configuration option is set to True.  Operators who"},{"line_number":341,"context_line":"want to avoid the performance hit from the EXISTS queries should wait to set"},{"line_number":342,"context_line":"this configuration option to True until after they have completed their online"},{"line_number":343,"context_line":"data migrations via nova-manage db online_data_migrations."},{"line_number":344,"context_line":"\"\"\"),"},{"line_number":345,"context_line":"]"},{"line_number":346,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"bfb3d3c7_c291ea48","line":343,"range":{"start_line":343,"start_character":20,"end_line":343,"end_character":57},"updated":"2019-05-30 18:20:09.000000000","message":"could also go in double-backticks","commit_id":"9e782ed0efc5e21fa3023b702acaaaf9d5b1260d"}],"nova/objects/instance_mapping.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d2488fe16b79bb3f1250416515e0fc1f55f34a61","unresolved":false,"context_lines":[{"line_number":418,"context_line":"        not included in the count (deleted and SOFT_DELETED instances)."},{"line_number":419,"context_line":"        Instances that are queued_for_deleted\u003dNone are not included in the"},{"line_number":420,"context_line":"        count because we are not certain about whether or not they are deleted."},{"line_number":421,"context_line":"        When counting quota usage, we will fall back on the legacy counting"},{"line_number":422,"context_line":"        method and count instances, cores, and ram from cell databases if any"},{"line_number":423,"context_line":"        unmigrated instance mappings (user_id\u003dNone or queued_for_delete\u003dNone)"},{"line_number":424,"context_line":"        are detected, to avoid using a potentially inaccurate count."}],"source_content_type":"text/x-python","patch_set":1,"id":"bfb3d3c7_ac8ba065","side":"PARENT","line":421,"updated":"2019-05-29 21:02:48.000000000","message":"✓\n\nhttps://review.opendev.org/#/c/638072/20/nova/objects/instance_mapping.py@423","commit_id":"923163d91f8618945e24d52cfeb0a0e5d5e49670"}],"nova/quota.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"81b5c48fe3b4da78dac5ffd64825f2630c2c4abd","unresolved":false,"context_lines":[{"line_number":1301,"context_line":"            return _instances_cores_ram_count_api_db_placement(context,"},{"line_number":1302,"context_line":"                                                               project_id,"},{"line_number":1303,"context_line":"                                                               user_id\u003duser_id)"},{"line_number":1304,"context_line":"        else:"},{"line_number":1305,"context_line":"            LOG.warning(\u0027Falling back to legacy quota counting method for \u0027"},{"line_number":1306,"context_line":"                        \u0027instances, cores, and ram\u0027)"},{"line_number":1307,"context_line":"    return _instances_cores_ram_count_legacy(context, project_id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"bfb3d3c7_62a03e91","line":1304,"updated":"2019-05-30 18:20:09.000000000","message":"nit: don\u0027t need this else since you\u0027ve already returned if true on L1300","commit_id":"9e782ed0efc5e21fa3023b702acaaaf9d5b1260d"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7d4c213a15e21f1d6492d512babc6f44d05a023e","unresolved":false,"context_lines":[{"line_number":1176,"context_line":"                {\u0027user\u0027: \u0027server_group_members\u0027: \u003ccount across user\u003e}}"},{"line_number":1177,"context_line":"    \"\"\""},{"line_number":1178,"context_line":"    # Because server group members quota counting is not scoped to a project,"},{"line_number":1179,"context_line":"    # but scoped to a particular InstanceGroup and user, we cannot filter our"},{"line_number":1180,"context_line":"    # user_id/queued_for_delete populated check on project_id or user_id."},{"line_number":1181,"context_line":"    # So, we check whether user_id/queued_for_delete is populated for all"},{"line_number":1182,"context_line":"    # records and cache the result to prevent unnecessary checking once the"},{"line_number":1183,"context_line":"    # data migration has been completed."}],"source_content_type":"text/x-python","patch_set":4,"id":"9fb8cfa7_1bb18be2","line":1180,"range":{"start_line":1179,"start_character":57,"end_line":1180,"end_character":73},"updated":"2019-05-31 19:43:29.000000000","message":"This is a bit clunky, I\u0027m not sure what it\u0027s saying.","commit_id":"f6e3d5f5ff6aa01fdfc5011ef6f1c9eae458b8c6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7d4c213a15e21f1d6492d512babc6f44d05a023e","unresolved":false,"context_lines":[{"line_number":1185,"context_line":"    if not UID_QFD_POPULATED_CACHE_ALL:"},{"line_number":1186,"context_line":"        LOG.debug(\u0027Checking whether user_id and queued_for_delete are \u0027"},{"line_number":1187,"context_line":"                  \u0027populated for all projects\u0027)"},{"line_number":1188,"context_line":"        uid_qfd_populated \u003d _user_id_queued_for_delete_populated(context)"},{"line_number":1189,"context_line":"        if uid_qfd_populated:"},{"line_number":1190,"context_line":"            UID_QFD_POPULATED_CACHE_ALL \u003d True"},{"line_number":1191,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"9fb8cfa7_bba87f77","line":1188,"updated":"2019-05-31 19:43:29.000000000","message":"per https://review.opendev.org/#/c/638324/32/nova/quota.py@1188 you can just replace uid_qfd_populated with UID_QFD_POPULATED_CACHE_ALL","commit_id":"f6e3d5f5ff6aa01fdfc5011ef6f1c9eae458b8c6"}]}
