)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"29083e8feefa65c57f8c2c8ab8636677fac85a53","unresolved":false,"context_lines":[{"line_number":26,"context_line":"mix-version db tables."},{"line_number":27,"context_line":"3. add orm relationship between reg_limit and pro_limit"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"bp: unified-limits"},{"line_number":30,"context_line":"Change-Id: Ibb408758466ff367f57bafbd4b8c9213499f8dc3"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5f7c97a3_44fb2646","line":29,"range":{"start_line":29,"start_character":0,"end_line":29,"end_character":18},"updated":"2018-06-20 14:34:17.000000000","message":"Thanks for picking this up. I opened a bug for this and added some context there about why we want to do this. Feel free to reference it here.\n\nhttps://bugs.launchpad.net/keystone/+bug/1777893\n\nAlso, the unified limit blueprint isn\u0027t really being targeted in Rocky, we might be better off breaking the things we want to accomplish as RFE or bugs and tracking them as launchpad bugs. We can leave the strict two level enforcement model blueprint for the bulk of the new model work.","commit_id":"7f2cfb92143d6ea3d14be6e9552a4037e98fdc15"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"e44f17b035cbe4c049dc8a7513d8120d37495b93","unresolved":false,"context_lines":[{"line_number":12,"context_line":"   registered_limit and limit tables."},{"line_number":13,"context_line":"2. removed the primary key but added unique index for `id` column."},{"line_number":14,"context_line":"3. dropped the forieign keys in limit table."},{"line_number":15,"context_line":"4. dropped the unique constraints in both tables"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Closes-bug: #1777893"},{"line_number":18,"context_line":"Change-Id: Ibb408758466ff367f57bafbd4b8c9213499f8dc3"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"5f7c97a3_96f925c6","line":15,"updated":"2018-06-25 14:37:42.000000000","message":"We could add detail here explaining why this path was taken. What you\u0027ve found and written up in etherpad [0] is valuable information that we should associate to this commit.\n\n[0] https://etherpad.openstack.org/p/keystone-unified-limit-migration-notepad","commit_id":"7a837221abcdbb715718bec1700cf840b0dc02ad"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"fb7fa98b62094f5bcfca0bc6fa3c64af765fe3d5","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add auto increase primary key for unified limit"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"What this patch did and Why:"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"1. added an auto increment primary column `interenal_id` for both"},{"line_number":12,"context_line":"   registered_limit and limit tables. Removed the primary key but"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"5f7c97a3_174cb43d","line":9,"updated":"2018-06-29 21:20:55.000000000","message":"Thanks for breaking it down here.. I was about halfway through the patch making comments and then revisited this and it answered them.","commit_id":"8100ba3661c0884c280d183777663d525a5091e2"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"fb7fa98b62094f5bcfca0bc6fa3c64af765fe3d5","unresolved":false,"context_lines":[{"line_number":14,"context_line":"   the db performance."},{"line_number":15,"context_line":"2. dropped the forieign keys in limit table. Now the `project_id`"},{"line_number":16,"context_line":"   column has a forieign key. Using forieign key in between different"},{"line_number":17,"context_line":"   backends can lead some unexpected error. The"},{"line_number":18,"context_line":"3. dropped the unique constraints and foreign key constraint in both"},{"line_number":19,"context_line":"   tables. Because `region_id` can be null, in this case, both"},{"line_number":20,"context_line":"   constraints can\u0027t work well in all kinds of DBs. We\u0027ll check the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"5f7c97a3_773de88c","line":17,"range":{"start_line":17,"start_character":44,"end_line":17,"end_character":47},"updated":"2018-06-29 21:20:55.000000000","message":"s/The//","commit_id":"8100ba3661c0884c280d183777663d525a5091e2"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"fb7fa98b62094f5bcfca0bc6fa3c64af765fe3d5","unresolved":false,"context_lines":[{"line_number":24,"context_line":"SQLite, it doesn\u0027t support adding a primary column into an existed"},{"line_number":25,"context_line":"table, so taht we recreated the tables in SQLite case."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Closes-bug: #1777893"},{"line_number":28,"context_line":"Change-Id: Ibb408758466ff367f57bafbd4b8c9213499f8dc3"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"5f7c97a3_576b0c85","line":27,"updated":"2018-06-29 21:20:55.000000000","message":"Just to clarify, this shouldn\u0027t really impact end users or deployers outside of just having to run a migration. That said, I don\u0027t think a release note is required in this specific case. But I\u0027m willing to be convinced otherwise if someone else things we should include one here.","commit_id":"8100ba3661c0884c280d183777663d525a5091e2"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"1138b9799fab289910c30498c26bc621f6d2745d","unresolved":false,"context_lines":[{"line_number":24,"context_line":"SQLite, it doesn\u0027t support adding a primary column into an existed"},{"line_number":25,"context_line":"table, so taht we recreated the tables in SQLite case."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Closes-bug: #1777893"},{"line_number":28,"context_line":"Change-Id: Ibb408758466ff367f57bafbd4b8c9213499f8dc3"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"5f7c97a3_69d4284c","line":27,"in_reply_to":"5f7c97a3_576b0c85","updated":"2018-06-30 02:37:19.000000000","message":"++, the change won\u0027t impact end users","commit_id":"8100ba3661c0884c280d183777663d525a5091e2"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"f4daa548bf12ca7f39a6b2dac6005f14779249a4","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"1. added an auto increment primary column `interenal_id` for both"},{"line_number":12,"context_line":"   registered_limit and limit tables. Removed the primary key but"},{"line_number":13,"context_line":"   added unique index for `id` column. This change can improve"},{"line_number":14,"context_line":"   the db performance."},{"line_number":15,"context_line":"2. dropped the forieign keys in limit table. The `project_id`"},{"line_number":16,"context_line":"   column has a forieign key. Using forieign key between different"},{"line_number":17,"context_line":"   backends can lead some unexpected error."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"5f7c97a3_ca2193b7","line":14,"range":{"start_line":13,"start_character":51,"end_line":14,"end_character":22},"updated":"2018-07-02 18:59:07.000000000","message":"why? what evidences do you have regarding this claim?","commit_id":"05f776aba2e654374115802cd49db52780080ae9"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"3cf2b2f65ee5bbada4952c4e5667487816d17b2e","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"1. added an auto increment primary column `interenal_id` for both"},{"line_number":12,"context_line":"   registered_limit and limit tables. Removed the primary key but"},{"line_number":13,"context_line":"   added unique index for `id` column. This change can improve"},{"line_number":14,"context_line":"   the db performance."},{"line_number":15,"context_line":"2. dropped the forieign keys in limit table. The `project_id`"},{"line_number":16,"context_line":"   column has a forieign key. Using forieign key between different"},{"line_number":17,"context_line":"   backends can lead some unexpected error."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"5f7c97a3_9e143843","line":14,"range":{"start_line":13,"start_character":51,"end_line":14,"end_character":22},"in_reply_to":"5f7c97a3_ca2193b7","updated":"2018-07-03 02:22:37.000000000","message":"This is a suggestion from morgan: http://eavesdrop.openstack.org/meetings/keystone/2018/keystone.2018-06-19-16.00.log.html#l-224\n\nI\u0027m not professional at DB, after doing some research, it\u0027s seem that \"uuid vs int\" does not has a clear conclusion in some place.\nhere is one of the blog: https://tomharrisonjr.com/uuid-or-guid-as-primary-keys-be-careful-7b2aa3dcb439\n\nAnd in OpenStack, Nova, Cinder use int primary key for db as well.","commit_id":"05f776aba2e654374115802cd49db52780080ae9"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"f4daa548bf12ca7f39a6b2dac6005f14779249a4","unresolved":false,"context_lines":[{"line_number":12,"context_line":"   registered_limit and limit tables. Removed the primary key but"},{"line_number":13,"context_line":"   added unique index for `id` column. This change can improve"},{"line_number":14,"context_line":"   the db performance."},{"line_number":15,"context_line":"2. dropped the forieign keys in limit table. The `project_id`"},{"line_number":16,"context_line":"   column has a forieign key. Using forieign key between different"},{"line_number":17,"context_line":"   backends can lead some unexpected error."},{"line_number":18,"context_line":"3. dropped the unique constraints and foreign key constraint in both"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"5f7c97a3_8a563b2a","line":15,"range":{"start_line":15,"start_character":15,"end_line":15,"end_character":23},"updated":"2018-07-02 18:59:07.000000000","message":"foreign","commit_id":"05f776aba2e654374115802cd49db52780080ae9"},{"author":{"_account_id":11022,"name":"Rodrigo Duarte Sousa","email":"rodrigodsousa@gmail.com","username":"rodrigods"},"change_message_id":"f4daa548bf12ca7f39a6b2dac6005f14779249a4","unresolved":false,"context_lines":[{"line_number":13,"context_line":"   added unique index for `id` column. This change can improve"},{"line_number":14,"context_line":"   the db performance."},{"line_number":15,"context_line":"2. dropped the forieign keys in limit table. The `project_id`"},{"line_number":16,"context_line":"   column has a forieign key. Using forieign key between different"},{"line_number":17,"context_line":"   backends can lead some unexpected error."},{"line_number":18,"context_line":"3. dropped the unique constraints and foreign key constraint in both"},{"line_number":19,"context_line":"   tables. Because `region_id` can be null, in this case, both"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"5f7c97a3_aa51b732","line":16,"range":{"start_line":16,"start_character":16,"end_line":16,"end_character":24},"updated":"2018-07-02 18:59:07.000000000","message":"foreign","commit_id":"05f776aba2e654374115802cd49db52780080ae9"},{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"db8777280b8a22e730a9c988de919ff45f48192b","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"NOTE: For MySQL and PostgreSQL, we did the change inner tables. But"},{"line_number":24,"context_line":"for SQLite, it doesn\u0027t support adding a primary column into an existed"},{"line_number":25,"context_line":"table, so taht we recreated the tables instead.."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Closes-bug: #1777893"},{"line_number":28,"context_line":"Change-Id: Ibb408758466ff367f57bafbd4b8c9213499f8dc3"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"5f7c97a3_88c3ac06","line":25,"range":{"start_line":25,"start_character":10,"end_line":25,"end_character":14},"updated":"2018-07-02 13:50:42.000000000","message":"that*","commit_id":"05f776aba2e654374115802cd49db52780080ae9"}],"keystone/common/sql/contract_repo/versions/047_contract_expand_update_pk_for_unified_limit.py":[{"author":{"_account_id":5046,"name":"Lance Bragstad","email":"lbragstad@redhat.com","username":"ldbragst"},"change_message_id":"fb7fa98b62094f5bcfca0bc6fa3c64af765fe3d5","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    if migrate_engine.name !\u003d \u0027sqlite\u0027:"},{"line_number":28,"context_line":"        project_table \u003d sql.Table(\u0027project\u0027, meta, autoload\u003dTrue)"},{"line_number":29,"context_line":"        inspector \u003d sql.engine.reflection.Inspector.from_engine(migrate_engine)"},{"line_number":30,"context_line":"        for fk in inspector.get_foreign_keys(\u0027limit\u0027):"},{"line_number":31,"context_line":"            fkey \u003d migrate.ForeignKeyConstraint("},{"line_number":32,"context_line":"                [limit_table.c.project_id],"},{"line_number":33,"context_line":"                [project_table.c.id],"},{"line_number":34,"context_line":"                name\u003dfk[\u0027name\u0027])"},{"line_number":35,"context_line":"            fkey.drop()"},{"line_number":36,"context_line":"        for uc in inspector.get_unique_constraints(\u0027limit\u0027):"},{"line_number":37,"context_line":"            if set(uc[\u0027column_names\u0027]) \u003d\u003d set([\u0027project_id\u0027, \u0027service_id\u0027,"},{"line_number":38,"context_line":"                                               \u0027region_id\u0027, \u0027resource_name\u0027]):"}],"source_content_type":"text/x-python","patch_set":12,"id":"5f7c97a3_17b7d423","line":35,"range":{"start_line":30,"start_character":0,"end_line":35,"end_character":23},"updated":"2018-06-29 21:20:55.000000000","message":"We\u0027re doing this in the backend now, right?","commit_id":"8100ba3661c0884c280d183777663d525a5091e2"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"1138b9799fab289910c30498c26bc621f6d2745d","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    if migrate_engine.name !\u003d \u0027sqlite\u0027:"},{"line_number":28,"context_line":"        project_table \u003d sql.Table(\u0027project\u0027, meta, autoload\u003dTrue)"},{"line_number":29,"context_line":"        inspector \u003d sql.engine.reflection.Inspector.from_engine(migrate_engine)"},{"line_number":30,"context_line":"        for fk in inspector.get_foreign_keys(\u0027limit\u0027):"},{"line_number":31,"context_line":"            fkey \u003d migrate.ForeignKeyConstraint("},{"line_number":32,"context_line":"                [limit_table.c.project_id],"},{"line_number":33,"context_line":"                [project_table.c.id],"},{"line_number":34,"context_line":"                name\u003dfk[\u0027name\u0027])"},{"line_number":35,"context_line":"            fkey.drop()"},{"line_number":36,"context_line":"        for uc in inspector.get_unique_constraints(\u0027limit\u0027):"},{"line_number":37,"context_line":"            if set(uc[\u0027column_names\u0027]) \u003d\u003d set([\u0027project_id\u0027, \u0027service_id\u0027,"},{"line_number":38,"context_line":"                                               \u0027region_id\u0027, \u0027resource_name\u0027]):"}],"source_content_type":"text/x-python","patch_set":12,"id":"5f7c97a3_a9f24004","line":35,"range":{"start_line":30,"start_character":0,"end_line":35,"end_character":23},"in_reply_to":"5f7c97a3_17b7d423","updated":"2018-06-30 02:37:19.000000000","message":"yeah, we have the project_id FK now.","commit_id":"8100ba3661c0884c280d183777663d525a5091e2"}]}
