)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f35f0d01a81ed31a56d909fa669577ad757cea0f","unresolved":true,"context_lines":[{"line_number":9,"context_line":"The migrations were not creating a composite primary key for the"},{"line_number":10,"context_line":"\u0027workers\u0027 table. Correct the model."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Strange that the migration auto-generation logic didn\u0027t pick this up."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Icf8a47248827de30bfa81279b63ffbc2b2a88331"},{"line_number":15,"context_line":"Signed-off-by: Stephen Finucane \u003cstephenfin@redhat.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"dec1d4c7_51d63daf","line":12,"updated":"2023-11-15 12:25:43.000000000","message":"Ah, from the [docs](https://alembic.sqlalchemy.org/en/latest/autogenerate.html#what-does-autogenerate-detect-and-what-does-it-not-detect):\n\n\u003e Autogenerate can’t currently, but will eventually detect:\n\u003e\n\u003e - Some free-standing constraint additions and removals may not be supported, including `PRIMARY KEY`, `EXCLUDE`, `CHECK`; these are not necessarily implemented within the autogenerate detection system and also may not be supported by the supporting SQLAlchemy dialect.\n\nGuess that\u0027s it.","commit_id":"4230fbc8231e996fec0e5c36d77878602e72182d"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"7b964123d1a72f7728529f48efd6582bd0d9fe27","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"32b397e0_b57a8933","updated":"2023-11-01 15:22:15.000000000","message":"This looks good to me.  Thanks!","commit_id":"b66cc3a39f0577351199295feb59d157e3f4e17b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"5e7ccb11cd1bb935d2d2542d346e961d79e2fab6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"f2f082c6_29b960de","updated":"2023-11-06 12:43:37.000000000","message":"recheck","commit_id":"b66cc3a39f0577351199295feb59d157e3f4e17b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0b45cbfcbc0ef9eaf18d55292fb9e01252aabe75","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"7f80ec8f_9d18ade3","updated":"2023-10-27 13:53:36.000000000","message":"recheck to get fresh results and figure out what\u0027s going on here","commit_id":"b66cc3a39f0577351199295feb59d157e3f4e17b"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"fd8ece4961f7e3e91d82ccf456c060e2abd990f9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"84fe7870_e8d67c2c","updated":"2023-11-17 14:26:08.000000000","message":"my comment is beyond the work of this patch so we can target it in a follow up.","commit_id":"4230fbc8231e996fec0e5c36d77878602e72182d"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"713448bc72664583e8a97213ce3e5597707d34b5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"b672d5c8_fd2abe8e","updated":"2023-11-30 14:59:05.000000000","message":"recheck\n\ntempest-integrated-storage oom-killer","commit_id":"4230fbc8231e996fec0e5c36d77878602e72182d"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"bcf017074641f5efae85e880f4f3e846f8d3da30","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"25476a54_3b6575bf","updated":"2023-12-07 12:30:55.000000000","message":"recheck  cinder-grenade-mn-sub-volbak this time","commit_id":"4230fbc8231e996fec0e5c36d77878602e72182d"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"728ff66351db3cfc2d89cd9a6bd1f72e911c557b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"80908d43_7464bf2a","updated":"2023-11-27 14:47:26.000000000","message":"recheck - tempest-ipv6-only failure","commit_id":"4230fbc8231e996fec0e5c36d77878602e72182d"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"69181ab6ae183e538ed5b0d5c410eb168bd519f6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"8b2df338_6b596ee3","updated":"2023-12-07 08:39:36.000000000","message":"recheck cinder-tempest-plugin-lvm-lio-barbican failed","commit_id":"4230fbc8231e996fec0e5c36d77878602e72182d"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"659d54c9f3d5d40ac0739ba26c82546f6459d9b9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"e7a860db_4496c205","updated":"2024-02-22 08:54:26.000000000","message":"recheck lets give it another try","commit_id":"4230fbc8231e996fec0e5c36d77878602e72182d"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"531753ad2a31e1e7036177bccb076639d34cd0ee","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"1a4280cc_a8decd13","updated":"2023-11-22 10:19:21.000000000","message":"recheck network test failed in grenade skip level job\n\n2023-11-17 15:08:48.810 | tempest.api.network.test_routers.RoutersTest.test_add_remove_router_interface_with_subnet_id[id-b42e6e39-2e37-49cc-a6f4-8467e940900a,smoke]\n\n2023-11-17 15:08:48.810 | Details: {\u0027type\u0027: \u0027BadRequest\u0027, \u0027message\u0027: \u0027Bad router request: Router already has a port on subnet 164b8ab3-ad59-4785-839a-2f8a7c95c556.\u0027, \u0027detail\u0027: \u0027\u0027}","commit_id":"4230fbc8231e996fec0e5c36d77878602e72182d"}],"cinder/db/sqlalchemy/models.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"14d92333c271d20c8fe7111c301d37f9cf1f0243","unresolved":true,"context_lines":[{"line_number":1228,"context_line":""},{"line_number":1229,"context_line":"    # Type of the resource we are working on (Volume, Snapshot, Backup) it must"},{"line_number":1230,"context_line":"    # match the Versioned Object class name."},{"line_number":1231,"context_line":"    resource_type \u003d sa.Column(sa.String(40), nullable\u003dFalse)"},{"line_number":1232,"context_line":"    # UUID of the resource we are working on"},{"line_number":1233,"context_line":"    resource_id \u003d sa.Column(sa.String(36), nullable\u003dFalse)"},{"line_number":1234,"context_line":""},{"line_number":1235,"context_line":"    # Status that should be cleaned on service failure"},{"line_number":1236,"context_line":"    status \u003d sa.Column(sa.String(255), nullable\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":4,"id":"4e774693_ec23f9b4","line":1233,"range":{"start_line":1231,"start_character":0,"end_line":1233,"end_character":58},"updated":"2023-11-16 07:21:59.000000000","message":"maybe I\u0027m missing something but this is acceptable syntax for creating composite primary keys right?","commit_id":"4230fbc8231e996fec0e5c36d77878602e72182d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ed5c43f27dca3c6746514732a1eeae4e8a063741","unresolved":false,"context_lines":[{"line_number":1228,"context_line":""},{"line_number":1229,"context_line":"    # Type of the resource we are working on (Volume, Snapshot, Backup) it must"},{"line_number":1230,"context_line":"    # match the Versioned Object class name."},{"line_number":1231,"context_line":"    resource_type \u003d sa.Column(sa.String(40), nullable\u003dFalse)"},{"line_number":1232,"context_line":"    # UUID of the resource we are working on"},{"line_number":1233,"context_line":"    resource_id \u003d sa.Column(sa.String(36), nullable\u003dFalse)"},{"line_number":1234,"context_line":""},{"line_number":1235,"context_line":"    # Status that should be cleaned on service failure"},{"line_number":1236,"context_line":"    status \u003d sa.Column(sa.String(255), nullable\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":4,"id":"92d0d0d2_6cf43819","line":1233,"range":{"start_line":1231,"start_character":0,"end_line":1233,"end_character":58},"in_reply_to":"12759e9b_e241ef85","updated":"2023-11-16 14:38:32.000000000","message":"Yes, the issue is that the migrations don\u0027t do this so ultimately what we have in models does not match what\u0027s in the database and the database is the real source of truth. We could add a migration to configure these primary keys, but my purpose here was to get the migrations reflecting reality. Changing reality (to butcher the metaphor) is a different task IMO, and I\u0027d rather leave that to someone else.","commit_id":"4230fbc8231e996fec0e5c36d77878602e72182d"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"e42c57db708a481f9e2e3af35b93f9b75e312f23","unresolved":true,"context_lines":[{"line_number":1228,"context_line":""},{"line_number":1229,"context_line":"    # Type of the resource we are working on (Volume, Snapshot, Backup) it must"},{"line_number":1230,"context_line":"    # match the Versioned Object class name."},{"line_number":1231,"context_line":"    resource_type \u003d sa.Column(sa.String(40), nullable\u003dFalse)"},{"line_number":1232,"context_line":"    # UUID of the resource we are working on"},{"line_number":1233,"context_line":"    resource_id \u003d sa.Column(sa.String(36), nullable\u003dFalse)"},{"line_number":1234,"context_line":""},{"line_number":1235,"context_line":"    # Status that should be cleaned on service failure"},{"line_number":1236,"context_line":"    status \u003d sa.Column(sa.String(255), nullable\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":4,"id":"12759e9b_e241ef85","line":1233,"range":{"start_line":1231,"start_character":0,"end_line":1233,"end_character":58},"in_reply_to":"4e774693_ec23f9b4","updated":"2023-11-16 07:25:59.000000000","message":"I see it\u0027s not a part of migrations[1].\n\nSo the id field is an integer field with autoincrement so it can\u0027t uniquely identify a row hence we might have added these two fields along with it to create the primary key.\nIs it possible for the migration to have them with primary key rather than removing it from here? I don\u0027t think the \u0027id\u0027 field alone is any useful.\n\n[1] https://github.com/openstack/cinder/blob/master/cinder/db/migrations/versions/921e1a36b076_initial.py#L775-L776","commit_id":"4230fbc8231e996fec0e5c36d77878602e72182d"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"fd8ece4961f7e3e91d82ccf456c060e2abd990f9","unresolved":false,"context_lines":[{"line_number":1228,"context_line":""},{"line_number":1229,"context_line":"    # Type of the resource we are working on (Volume, Snapshot, Backup) it must"},{"line_number":1230,"context_line":"    # match the Versioned Object class name."},{"line_number":1231,"context_line":"    resource_type \u003d sa.Column(sa.String(40), nullable\u003dFalse)"},{"line_number":1232,"context_line":"    # UUID of the resource we are working on"},{"line_number":1233,"context_line":"    resource_id \u003d sa.Column(sa.String(36), nullable\u003dFalse)"},{"line_number":1234,"context_line":""},{"line_number":1235,"context_line":"    # Status that should be cleaned on service failure"},{"line_number":1236,"context_line":"    status \u003d sa.Column(sa.String(255), nullable\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":4,"id":"87321dce_65f489b4","line":1233,"range":{"start_line":1231,"start_character":0,"end_line":1233,"end_character":58},"in_reply_to":"92d0d0d2_6cf43819","updated":"2023-11-17 14:26:08.000000000","message":"Makes sense but it\u0027s sad that this detail was hidden. we can surely target this in a follow up patch with a migration altering the primary keys.","commit_id":"4230fbc8231e996fec0e5c36d77878602e72182d"}]}
