)]}'
{"specs/ocata/approved/cells-quota-api-db.rst":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7f075fdfd7b8c502ac954e78bec1604ef8dfcd33","unresolved":false,"context_lines":[{"line_number":52,"context_line":"methods that perform any ``get`` type operation on the ``quotas``,"},{"line_number":53,"context_line":"``quota_classes``, ``project_user_quotas`` tables will be modified to load"},{"line_number":54,"context_line":"initially from the API database. If the item is not found then it will be"},{"line_number":55,"context_line":"searched for in the cell database."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Because there will often be attempt to access entries in"},{"line_number":58,"context_line":"``project_user_quotas`` and ``quotas`` that are empty we will need to cache"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a8bc5a2_70095a95","line":55,"updated":"2016-09-22 15:47:00.000000000","message":"We have a way of rebuilding the qutoa, why not just rebuild for the tenant in the api-db, rather that worrying about accessing the old cell DB?","commit_id":"ce10463bb7c9f07761c39549d61c42e119e8454b"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"9fe1321d39b24d45aa43af5166e155ff11c0e8dd","unresolved":false,"context_lines":[{"line_number":52,"context_line":"methods that perform any ``get`` type operation on the ``quotas``,"},{"line_number":53,"context_line":"``quota_classes``, ``project_user_quotas`` tables will be modified to load"},{"line_number":54,"context_line":"initially from the API database. If the item is not found then it will be"},{"line_number":55,"context_line":"searched for in the cell database."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Because there will often be attempt to access entries in"},{"line_number":58,"context_line":"``project_user_quotas`` and ``quotas`` that are empty we will need to cache"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a8bc5a2_50c7fe11","line":55,"in_reply_to":"5a8bc5a2_70095a95","updated":"2016-09-22 15:49:50.000000000","message":"I agree, but it\u0027s a little more nuanced than that. The quota will need to be rebuilt for all users within the tenant for quotas that track at a user level. And that still requires accessing the cell db, just not for the quota tables.","commit_id":"ce10463bb7c9f07761c39549d61c42e119e8454b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"939a084420c704513a1c9108cb185ad7d9d6def5","unresolved":false,"context_lines":[{"line_number":52,"context_line":"methods that perform any ``get`` type operation on the ``quotas``,"},{"line_number":53,"context_line":"``quota_classes``, ``project_user_quotas`` tables will be modified to load"},{"line_number":54,"context_line":"initially from the API database. If the item is not found then it will be"},{"line_number":55,"context_line":"searched for in the cell database."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Because there will often be attempt to access entries in"},{"line_number":58,"context_line":"``project_user_quotas`` and ``quotas`` that are empty we will need to cache"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a8bc5a2_307512f9","line":55,"in_reply_to":"5a8bc5a2_70095a95","updated":"2016-09-22 15:49:15.000000000","message":"Like calling this to force a refresh if they aren\u0027t in the API DB?\n\nhttps://github.com/openstack/nova/blob/1dfd79495e565eda3997b0a272c594a8d2c422d4/nova/db/sqlalchemy/api.py#L3772","commit_id":"ce10463bb7c9f07761c39549d61c42e119e8454b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d3a7718a233b041e02804159d1ad31f460b73463","unresolved":false,"context_lines":[{"line_number":76,"context_line":"Migration of flavors has already been completed and for the above tables we"},{"line_number":77,"context_line":"will generally follow this example. [3]_"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"The ``quota_usages`` and ``reservations`` table will not read from both"},{"line_number":80,"context_line":"databases. No data migration will be made for usages and reservations."},{"line_number":81,"context_line":"New database access methods will be created that access these tables in the"},{"line_number":82,"context_line":"API datbase. The ``DbQuotaDriver`` code will be modified to use these methods."},{"line_number":83,"context_line":"When usages or reservations are found to be missing in the API database a"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a8bc5a2_90e8a67e","line":80,"range":{"start_line":79,"start_character":0,"end_line":80,"end_character":70},"updated":"2016-09-22 15:50:27.000000000","message":"This might negate the point of forcing a usage refresh by calling this:\n\nhttps://github.com/openstack/nova/blob/1dfd79495e565eda3997b0a272c594a8d2c422d4/nova/db/sqlalchemy/api.py#L3772\n\nRelated to the question above.","commit_id":"ce10463bb7c9f07761c39549d61c42e119e8454b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b1b0072cd93ebb8142ac75eac68e6b067dfad3f3","unresolved":false,"context_lines":[{"line_number":76,"context_line":"Migration of flavors has already been completed and for the above tables we"},{"line_number":77,"context_line":"will generally follow this example. [3]_"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"The ``quota_usages`` and ``reservations`` table will not read from both"},{"line_number":80,"context_line":"databases. No data migration will be made for usages and reservations."},{"line_number":81,"context_line":"New database access methods will be created that access these tables in the"},{"line_number":82,"context_line":"API datbase. The ``DbQuotaDriver`` code will be modified to use these methods."},{"line_number":83,"context_line":"When usages or reservations are found to be missing in the API database a"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a8bc5a2_b0404258","line":80,"range":{"start_line":79,"start_character":0,"end_line":80,"end_character":70},"in_reply_to":"5a8bc5a2_90e8a67e","updated":"2016-09-22 15:52:43.000000000","message":"I\u0027m also not sure how we avoid migrating the usages, unless we\u0027re just going to rebuild them in the API DB - because the Nova REST API has a usages extension for getting quota usages for a given tenant.","commit_id":"ce10463bb7c9f07761c39549d61c42e119e8454b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"17524c504586b0061aaeec3097a2966f2ba52d16","unresolved":false,"context_lines":[{"line_number":76,"context_line":"Migration of flavors has already been completed and for the above tables we"},{"line_number":77,"context_line":"will generally follow this example. [3]_"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"The ``quota_usages`` and ``reservations`` table will not read from both"},{"line_number":80,"context_line":"databases. No data migration will be made for usages and reservations."},{"line_number":81,"context_line":"New database access methods will be created that access these tables in the"},{"line_number":82,"context_line":"API datbase. The ``DbQuotaDriver`` code will be modified to use these methods."},{"line_number":83,"context_line":"When usages or reservations are found to be missing in the API database a"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a8bc5a2_fbc70b43","line":80,"range":{"start_line":79,"start_character":0,"end_line":80,"end_character":70},"in_reply_to":"5a8bc5a2_b0404258","updated":"2016-09-22 16:03:11.000000000","message":"So we don\u0027t migrate the usage data, we refresh it in the API DB if it\u0027s not there yet. We don\u0027t migrate reservations either since they are short-lived during the lifetime of a request. So new reservations go in the API DB, lookups check the API DB and fallback to the cell DB, and we don\u0027t do any online data migration for reservations.","commit_id":"ce10463bb7c9f07761c39549d61c42e119e8454b"}]}
