)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"a1fea680f530aae6838eabc6597917aa0f715806","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"514572b8_a0eccc0e","updated":"2023-10-26 13:35:36.000000000","message":"Just came across this spec and this makes sense to me. Let me leave a few comments in case these are useful.","commit_id":"29a67459a57ca4900d0eaf543c431fbf2c810188"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"331eb2be377db1d70ab4b5150ff5e3c81e340162","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"988fe5fe_3fac7ffa","updated":"2023-10-26 13:07:53.000000000","message":"Some minor corrections inline, otherwise looks good to me !","commit_id":"29a67459a57ca4900d0eaf543c431fbf2c810188"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"2d56c915ace7d6890209c3c82ad4462e107795e6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"3caedd60_8635a753","updated":"2023-10-26 14:24:33.000000000","message":"Thank you for reviews, I have modified spec as per suggestion.","commit_id":"29a67459a57ca4900d0eaf543c431fbf2c810188"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"eb6f8b11a6c42bf10cdda128ce7e7ed4fa94c7dd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"2bc6311b_1b03920e","updated":"2023-10-30 13:43:21.000000000","message":"Looks pretty good, just a few nits and comments. Thanks!","commit_id":"363f309d84e30205adaf43726f5239eee7d354f5"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"093c82a820faf9dea070e577100361937408f5d1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"1d7db6f1_c47cced5","updated":"2023-10-30 14:01:41.000000000","message":"Thank you Dan for detail review, added some inline questions. Please have a look at those.","commit_id":"363f309d84e30205adaf43726f5239eee7d354f5"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"2257c3b958e0dead49e4f8e3e1f0fe3bf2b36847","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"fa3d0161_82433781","updated":"2023-10-31 14:15:09.000000000","message":"Thank you for inputs Dan!","commit_id":"363f309d84e30205adaf43726f5239eee7d354f5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"58032d8cbc1858542f9adf2c38ba6d408c480b21","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"aada0713_b814cb8b","updated":"2023-10-31 14:31:46.000000000","message":"One missed nit and a new one, but not important to fix unless you respin. Looks good to me now technically, thanks!","commit_id":"5860e4e6a1e6e15252848dcbd7c1d124e7a61056"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"6b20a2fa6b318d02f674409a4976de459c299b8a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"f517298d_18732803","updated":"2023-10-31 14:39:59.000000000","message":"Thank you dan :)","commit_id":"c238b9e735d2c20a854f71626fad23ad80f7e66e"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"db5b1b9fd722530f143b15adb1cc75c1c2e861b1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"5eb7aca8_c96250dc","updated":"2023-11-06 16:56:04.000000000","message":"A bit of nitpicking and a question about reverting from the centralized DB to the legacy sqlite config :)","commit_id":"3e8b136353d50f8f95110aa0f8862f2de57282d8"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"e9f5c34cb7761ececb4b0df57557ba7d7d8a4178","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"11e5956d_a2222e30","updated":"2023-12-18 17:06:59.000000000","message":"A few questions inline, but overall, I think this is fine.","commit_id":"f736ec5f50e58bbdc5dd6fb187edbadf31917dee"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"703a09d51bcd758f0e7cae843764bfded0c36391","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"5af65d7a_e08b6631","updated":"2023-12-19 04:59:42.000000000","message":"Thank you for review Brian!!","commit_id":"f736ec5f50e58bbdc5dd6fb187edbadf31917dee"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"0be779a0ec6edd5a4c8656a98abaa72f1c5ca0bc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"fb29e579_e2c954a5","updated":"2024-01-12 10:06:23.000000000","message":"Approving the spec, Thank you all the reviewers !!","commit_id":"a3920b7fb200799f977d9403de92462f240c5b1c"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"f7d142c492d597433c634a2f9b656c706e047cba","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"d78811db_4d7cec05","updated":"2023-12-19 12:53:44.000000000","message":"LGTM.  I just need to remember what needs to go into the release notes (as discussed on PS 10) when reviewing the code change!","commit_id":"a3920b7fb200799f977d9403de92462f240c5b1c"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"5e3d7c39c5d84d1c0fad63a14be31bde7b150761","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"1967996c_f39f4997","updated":"2024-01-11 15:15:59.000000000","message":"My comments were addressed, thanks!","commit_id":"a3920b7fb200799f977d9403de92462f240c5b1c"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"3c3705bbbda9ba3578bbc6434011fba8f6061f8c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"11ee3c1b_eb92bb4d","updated":"2024-01-11 14:34:52.000000000","message":"Re-adding my +2","commit_id":"a3920b7fb200799f977d9403de92462f240c5b1c"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"c18dfdf620b88c8a42ad78a2593294d3e84860e9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"0dc7fb4c_79ed434d","updated":"2024-01-03 12:45:38.000000000","message":"Thanks !!","commit_id":"a3920b7fb200799f977d9403de92462f240c5b1c"}],"specs/2024.1/approved/glance/centralized-cache-db.rst":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"7eff9e19ae9fd43d3fa2720a8c079ee83d8b3dc6","unresolved":true,"context_lines":[{"line_number":84,"context_line":"Schema for cached_images::"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"  CREATE TABLE cached_images ("},{"line_number":87,"context_line":"    image_id varchar(36) PRIMARY KEY,"},{"line_number":88,"context_line":"    last_accessed datetime,"},{"line_number":89,"context_line":"    last_modified datetime,"},{"line_number":90,"context_line":"    size bigint,"}],"source_content_type":"text/x-rst","patch_set":4,"id":"48c16bb8_82468225","line":87,"updated":"2023-10-27 07:03:58.000000000","message":"i think here we need to make image_id and node_reference_id as composite primary key or remove image_id as primary key and introduce new id field (auto incremental) as primary key.","commit_id":"2dcd056bdb2456ef0bb322081b77d4c223cee2f4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"23d596a96495b1859d782977f43a31e39a005734","unresolved":true,"context_lines":[{"line_number":84,"context_line":"Schema for cached_images::"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"  CREATE TABLE cached_images ("},{"line_number":87,"context_line":"    image_id varchar(36) PRIMARY KEY,"},{"line_number":88,"context_line":"    last_accessed datetime,"},{"line_number":89,"context_line":"    last_modified datetime,"},{"line_number":90,"context_line":"    size bigint,"}],"source_content_type":"text/x-rst","patch_set":4,"id":"e744ae2c_39a589bb","line":87,"in_reply_to":"48c16bb8_82468225","updated":"2023-10-27 13:27:03.000000000","message":"You shouldn\u0027t use image_id for the primary key at all (for this and other reasons). Use an autoincrement integer and add a unique constraint on (image_id, node).","commit_id":"2dcd056bdb2456ef0bb322081b77d4c223cee2f4"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"687e9110698ea0e981734b084fe144e0579a8178","unresolved":false,"context_lines":[{"line_number":84,"context_line":"Schema for cached_images::"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"  CREATE TABLE cached_images ("},{"line_number":87,"context_line":"    image_id varchar(36) PRIMARY KEY,"},{"line_number":88,"context_line":"    last_accessed datetime,"},{"line_number":89,"context_line":"    last_modified datetime,"},{"line_number":90,"context_line":"    size bigint,"}],"source_content_type":"text/x-rst","patch_set":4,"id":"f8583396_1ec37c21","line":87,"in_reply_to":"e744ae2c_39a589bb","updated":"2023-10-30 09:23:03.000000000","message":"Done","commit_id":"2dcd056bdb2456ef0bb322081b77d4c223cee2f4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"eb6f8b11a6c42bf10cdda128ce7e7ed4fa94c7dd","unresolved":true,"context_lines":[{"line_number":18,"context_line":"regular operations and sqlite for storing information about caching"},{"line_number":19,"context_line":"related operations. Even though sqlite database is only created if we enable"},{"line_number":20,"context_line":"cache middleware we still need to maintain it along with centralized"},{"line_number":21,"context_line":"database. Also glance cache are local to each controller node (glance"},{"line_number":22,"context_line":"api service), so in case of multiple glance services running we have"},{"line_number":23,"context_line":"multiple sqlite database(s) operational."},{"line_number":24,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"a0eace14_092071ae","line":21,"range":{"start_line":21,"start_character":22,"end_line":21,"end_character":27},"updated":"2023-10-30 13:43:21.000000000","message":"if you have \"are\" after this, caches should be plural.","commit_id":"363f309d84e30205adaf43726f5239eee7d354f5"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"093c82a820faf9dea070e577100361937408f5d1","unresolved":false,"context_lines":[{"line_number":18,"context_line":"regular operations and sqlite for storing information about caching"},{"line_number":19,"context_line":"related operations. Even though sqlite database is only created if we enable"},{"line_number":20,"context_line":"cache middleware we still need to maintain it along with centralized"},{"line_number":21,"context_line":"database. Also glance cache are local to each controller node (glance"},{"line_number":22,"context_line":"api service), so in case of multiple glance services running we have"},{"line_number":23,"context_line":"multiple sqlite database(s) operational."},{"line_number":24,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1a3eedc7_7880237f","line":21,"range":{"start_line":21,"start_character":22,"end_line":21,"end_character":27},"in_reply_to":"a0eace14_092071ae","updated":"2023-10-30 14:01:41.000000000","message":"Ack","commit_id":"363f309d84e30205adaf43726f5239eee7d354f5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"eb6f8b11a6c42bf10cdda128ce7e7ed4fa94c7dd","unresolved":true,"context_lines":[{"line_number":30,"context_line":"case we can get rid of creating sqlite database per glance service and"},{"line_number":31,"context_line":"have everything under central database."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"At present users can choose between `sqlite` (Default) and `xattr` how caching"},{"line_number":34,"context_line":"can be controlled using `image_cache_driver` configuration option. We proposed"},{"line_number":35,"context_line":"to introduce new driver `centralized_db` and required configuration options,"},{"line_number":36,"context_line":"make it default and mark `sqlite` driver and related configuration options as"}],"source_content_type":"text/x-rst","patch_set":5,"id":"bc3a9ead_924e30ed","line":33,"range":{"start_line":33,"start_character":67,"end_line":33,"end_character":70},"updated":"2023-10-30 13:43:21.000000000","message":"\"for how\"","commit_id":"363f309d84e30205adaf43726f5239eee7d354f5"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"093c82a820faf9dea070e577100361937408f5d1","unresolved":false,"context_lines":[{"line_number":30,"context_line":"case we can get rid of creating sqlite database per glance service and"},{"line_number":31,"context_line":"have everything under central database."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"At present users can choose between `sqlite` (Default) and `xattr` how caching"},{"line_number":34,"context_line":"can be controlled using `image_cache_driver` configuration option. We proposed"},{"line_number":35,"context_line":"to introduce new driver `centralized_db` and required configuration options,"},{"line_number":36,"context_line":"make it default and mark `sqlite` driver and related configuration options as"}],"source_content_type":"text/x-rst","patch_set":5,"id":"d3509569_1c413241","line":33,"range":{"start_line":33,"start_character":67,"end_line":33,"end_character":70},"in_reply_to":"bc3a9ead_924e30ed","updated":"2023-10-30 14:01:41.000000000","message":"Ack","commit_id":"363f309d84e30205adaf43726f5239eee7d354f5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"eb6f8b11a6c42bf10cdda128ce7e7ed4fa94c7dd","unresolved":true,"context_lines":[{"line_number":36,"context_line":"make it default and mark `sqlite` driver and related configuration options as"},{"line_number":37,"context_line":"deprecated in this cycle and removed next \u0027D\u0027 development cycle."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"In order to use central database for caching we recommend to have same schema"},{"line_number":40,"context_line":"(columns) as sqlite database with additional reference to local node"},{"line_number":41,"context_line":"(glance service). New deployments will directly start using this new central"},{"line_number":42,"context_line":"database if cache is enabled."}],"source_content_type":"text/x-rst","patch_set":5,"id":"01219919_ab435b1a","line":39,"range":{"start_line":39,"start_character":66,"end_line":39,"end_character":70},"updated":"2023-10-30 13:43:21.000000000","message":"\"almost the same\" .. right? :)","commit_id":"363f309d84e30205adaf43726f5239eee7d354f5"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"093c82a820faf9dea070e577100361937408f5d1","unresolved":false,"context_lines":[{"line_number":36,"context_line":"make it default and mark `sqlite` driver and related configuration options as"},{"line_number":37,"context_line":"deprecated in this cycle and removed next \u0027D\u0027 development cycle."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"In order to use central database for caching we recommend to have same schema"},{"line_number":40,"context_line":"(columns) as sqlite database with additional reference to local node"},{"line_number":41,"context_line":"(glance service). New deployments will directly start using this new central"},{"line_number":42,"context_line":"database if cache is enabled."}],"source_content_type":"text/x-rst","patch_set":5,"id":"154725b5_ecd0eb05","line":39,"range":{"start_line":39,"start_character":66,"end_line":39,"end_character":70},"in_reply_to":"01219919_ab435b1a","updated":"2023-10-30 14:01:41.000000000","message":"yep :)","commit_id":"363f309d84e30205adaf43726f5239eee7d354f5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"eb6f8b11a6c42bf10cdda128ce7e7ed4fa94c7dd","unresolved":true,"context_lines":[{"line_number":44,"context_line":"In case of upgrades/updates we need to deal with migrating existing records"},{"line_number":45,"context_line":"from sqlite database to central database. Since we might have multiple"},{"line_number":46,"context_line":"glance(s) running this will be difficult to handle using alembic migrations."},{"line_number":47,"context_line":"To avoid this using migration we can perform this operation onetime during"},{"line_number":48,"context_line":"service startup. If sqlite database is present at service start and"},{"line_number":49,"context_line":"`image_cache_driver` is not set to `sqlite` and `xattr` then we will"},{"line_number":50,"context_line":"read records from it and insert those in newly created `cached_images` table"}],"source_content_type":"text/x-rst","patch_set":5,"id":"e8d84ed3_af9f694f","line":47,"range":{"start_line":47,"start_character":60,"end_line":47,"end_character":67},"updated":"2023-10-30 13:43:21.000000000","message":"\"one time\"","commit_id":"363f309d84e30205adaf43726f5239eee7d354f5"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"093c82a820faf9dea070e577100361937408f5d1","unresolved":false,"context_lines":[{"line_number":44,"context_line":"In case of upgrades/updates we need to deal with migrating existing records"},{"line_number":45,"context_line":"from sqlite database to central database. Since we might have multiple"},{"line_number":46,"context_line":"glance(s) running this will be difficult to handle using alembic migrations."},{"line_number":47,"context_line":"To avoid this using migration we can perform this operation onetime during"},{"line_number":48,"context_line":"service startup. If sqlite database is present at service start and"},{"line_number":49,"context_line":"`image_cache_driver` is not set to `sqlite` and `xattr` then we will"},{"line_number":50,"context_line":"read records from it and insert those in newly created `cached_images` table"}],"source_content_type":"text/x-rst","patch_set":5,"id":"113b2e56_5d472cac","line":47,"range":{"start_line":47,"start_character":60,"end_line":47,"end_character":67},"in_reply_to":"e8d84ed3_af9f694f","updated":"2023-10-30 14:01:41.000000000","message":"Ack","commit_id":"363f309d84e30205adaf43726f5239eee7d354f5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"eb6f8b11a6c42bf10cdda128ce7e7ed4fa94c7dd","unresolved":true,"context_lines":[{"line_number":52,"context_line":"database table and keep the sqlite database file as it is (to be deleted by"},{"line_number":53,"context_line":"administrator/operator later if required). Important point here to note is"},{"line_number":54,"context_line":"if deployer choose not to use `sqlite` driver for cache then it can not be"},{"line_number":55,"context_line":"changed back to use the same later."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"As deployment can have multiple glance services running, to record cache"},{"line_number":58,"context_line":"details separately for multiple glance services we can use existing"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7f84485b_647219d5","line":55,"updated":"2023-10-30 13:43:21.000000000","message":"I\u0027m not sure what this last sentence means. Are just you saying that if they select \"centralized_db\" as we migrate their records out of sqlite, then we will not migrate them back if they revert to sqlite? That makes sense of course, but it might be good to clarify this wording so that reads easier.","commit_id":"363f309d84e30205adaf43726f5239eee7d354f5"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"413828b348cab170ed341273fdfcfe00bfbbffd0","unresolved":false,"context_lines":[{"line_number":52,"context_line":"database table and keep the sqlite database file as it is (to be deleted by"},{"line_number":53,"context_line":"administrator/operator later if required). Important point here to note is"},{"line_number":54,"context_line":"if deployer choose not to use `sqlite` driver for cache then it can not be"},{"line_number":55,"context_line":"changed back to use the same later."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"As deployment can have multiple glance services running, to record cache"},{"line_number":58,"context_line":"details separately for multiple glance services we can use existing"}],"source_content_type":"text/x-rst","patch_set":5,"id":"b4db43ed_9bf521de","line":55,"in_reply_to":"44293589_463052c4","updated":"2023-10-31 05:23:25.000000000","message":"Done","commit_id":"363f309d84e30205adaf43726f5239eee7d354f5"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"093c82a820faf9dea070e577100361937408f5d1","unresolved":true,"context_lines":[{"line_number":52,"context_line":"database table and keep the sqlite database file as it is (to be deleted by"},{"line_number":53,"context_line":"administrator/operator later if required). Important point here to note is"},{"line_number":54,"context_line":"if deployer choose not to use `sqlite` driver for cache then it can not be"},{"line_number":55,"context_line":"changed back to use the same later."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"As deployment can have multiple glance services running, to record cache"},{"line_number":58,"context_line":"details separately for multiple glance services we can use existing"}],"source_content_type":"text/x-rst","patch_set":5,"id":"44293589_463052c4","line":55,"in_reply_to":"7f84485b_647219d5","updated":"2023-10-30 14:01:41.000000000","message":"yes, I will reword it better!","commit_id":"363f309d84e30205adaf43726f5239eee7d354f5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"eb6f8b11a6c42bf10cdda128ce7e7ed4fa94c7dd","unresolved":true,"context_lines":[{"line_number":60,"context_line":"differentiate cache records for each glance service running in the"},{"line_number":61,"context_line":"deployment. `worker_self_reference_url` is used to identify nodes in case of"},{"line_number":62,"context_line":"new import workflow earlier and now same can be used for this purpose as"},{"line_number":63,"context_line":"well."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Once we migrate existing cache records to central database we need to"},{"line_number":66,"context_line":"ensure that existing cache related command line utilities like cache-cleaner,"}],"source_content_type":"text/x-rst","patch_set":5,"id":"065c4909_1da7c725","line":63,"updated":"2023-10-30 13:43:21.000000000","message":"We probably need to do something to detect the default value for this and not move records if it appears to be unset. It would be be bad if all the nodes merge their cache records together under the same node\u003d\"\" key.\n\nWe also might want to first look in the DB to see if we have any records for our node, and if so, not migrate any from sqlite to it. That would help the case where someone puts the same value for worker_self_reference_url on every node. Ideally just the first one would run and the others would just do no migration because they think it\u0027s already been done. That would also allow you to not destroy the sqlite database for regular nodes to prevent running again later, if you want. We\u0027d just only do the migration once because we can only start up and find no records for our node the one time before we migrate them. Just a thought.","commit_id":"363f309d84e30205adaf43726f5239eee7d354f5"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"093c82a820faf9dea070e577100361937408f5d1","unresolved":true,"context_lines":[{"line_number":60,"context_line":"differentiate cache records for each glance service running in the"},{"line_number":61,"context_line":"deployment. `worker_self_reference_url` is used to identify nodes in case of"},{"line_number":62,"context_line":"new import workflow earlier and now same can be used for this purpose as"},{"line_number":63,"context_line":"well."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Once we migrate existing cache records to central database we need to"},{"line_number":66,"context_line":"ensure that existing cache related command line utilities like cache-cleaner,"}],"source_content_type":"text/x-rst","patch_set":5,"id":"b39ac79a_fb030440","line":63,"in_reply_to":"065c4909_1da7c725","updated":"2023-10-30 14:01:41.000000000","message":"ack, what should be the default value for it and will it have any impact on distributed image import stuff?","commit_id":"363f309d84e30205adaf43726f5239eee7d354f5"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"413828b348cab170ed341273fdfcfe00bfbbffd0","unresolved":true,"context_lines":[{"line_number":60,"context_line":"differentiate cache records for each glance service running in the"},{"line_number":61,"context_line":"deployment. `worker_self_reference_url` is used to identify nodes in case of"},{"line_number":62,"context_line":"new import workflow earlier and now same can be used for this purpose as"},{"line_number":63,"context_line":"well."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Once we migrate existing cache records to central database we need to"},{"line_number":66,"context_line":"ensure that existing cache related command line utilities like cache-cleaner,"}],"source_content_type":"text/x-rst","patch_set":5,"id":"b169a627_e3774c2f","line":63,"in_reply_to":"093d10fb_02731a2b","updated":"2023-10-31 05:23:25.000000000","message":"I think we agreed(?) to check if worker_self_reference_url is not set then we should not start the service.\n\nWhat I will mention here is;\n\nIf we found that worker_self_reference_url is not set at the service startup then we will log error message and did not start the service. Also since in case of multiple nodes, worker_self_reference_url needs to be set unique value per node and if it by mistake two or more nodes has same value for it then we will not migrate cache data of that node to centralized database with logging appropriate message.","commit_id":"363f309d84e30205adaf43726f5239eee7d354f5"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"2257c3b958e0dead49e4f8e3e1f0fe3bf2b36847","unresolved":false,"context_lines":[{"line_number":60,"context_line":"differentiate cache records for each glance service running in the"},{"line_number":61,"context_line":"deployment. `worker_self_reference_url` is used to identify nodes in case of"},{"line_number":62,"context_line":"new import workflow earlier and now same can be used for this purpose as"},{"line_number":63,"context_line":"well."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Once we migrate existing cache records to central database we need to"},{"line_number":66,"context_line":"ensure that existing cache related command line utilities like cache-cleaner,"}],"source_content_type":"text/x-rst","patch_set":5,"id":"04b38461_43679222","line":63,"in_reply_to":"905192bc_673bf2c4","updated":"2023-10-31 14:15:09.000000000","message":"Done","commit_id":"363f309d84e30205adaf43726f5239eee7d354f5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"16d34c34b5c7b009eb52c5065dd49fa0924d90f6","unresolved":true,"context_lines":[{"line_number":60,"context_line":"differentiate cache records for each glance service running in the"},{"line_number":61,"context_line":"deployment. `worker_self_reference_url` is used to identify nodes in case of"},{"line_number":62,"context_line":"new import workflow earlier and now same can be used for this purpose as"},{"line_number":63,"context_line":"well."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Once we migrate existing cache records to central database we need to"},{"line_number":66,"context_line":"ensure that existing cache related command line utilities like cache-cleaner,"}],"source_content_type":"text/x-rst","patch_set":5,"id":"905192bc_673bf2c4","line":63,"in_reply_to":"b169a627_e3774c2f","updated":"2023-10-31 13:49:31.000000000","message":"Ack, I think I said that if you\u0027re not using import or caching, then it isn\u0027t necessary (and maybe shouldn\u0027t be). But, making it required is fine and if people complain we can make it optional for cases where it\u0027s not really required. Your call.","commit_id":"363f309d84e30205adaf43726f5239eee7d354f5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ac8447182a475804c57f0ec79370b1972b672b22","unresolved":true,"context_lines":[{"line_number":60,"context_line":"differentiate cache records for each glance service running in the"},{"line_number":61,"context_line":"deployment. `worker_self_reference_url` is used to identify nodes in case of"},{"line_number":62,"context_line":"new import workflow earlier and now same can be used for this purpose as"},{"line_number":63,"context_line":"well."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Once we migrate existing cache records to central database we need to"},{"line_number":66,"context_line":"ensure that existing cache related command line utilities like cache-cleaner,"}],"source_content_type":"text/x-rst","patch_set":5,"id":"093d10fb_02731a2b","line":63,"in_reply_to":"b39ac79a_fb030440","updated":"2023-10-30 15:20:29.000000000","message":"It\u0027s required to be set for the distributed import stuff, but not otherwise. I think defaulting it to \"\" or None is fine, we should just check it before we say \"blank node, no problem\" in the cache migration stuff because we will end up destroying data (and merging all the nodes\u0027 data into a single namespace) if we do.","commit_id":"363f309d84e30205adaf43726f5239eee7d354f5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"eb6f8b11a6c42bf10cdda128ce7e7ed4fa94c7dd","unresolved":true,"context_lines":[{"line_number":84,"context_line":"Schema for cached_images::"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"  CREATE TABLE cached_images ("},{"line_number":87,"context_line":"    id int auto increment PRIMARY KEY,"},{"line_number":88,"context_line":"    image_id varchar(36),"},{"line_number":89,"context_line":"    last_accessed datetime,"},{"line_number":90,"context_line":"    last_modified datetime,"}],"source_content_type":"text/x-rst","patch_set":5,"id":"e7795660_28eec08a","line":87,"updated":"2023-10-30 13:43:21.000000000","message":"I would make this a bigint as well. Nova has already got people with int keys that have rolled over. I suspect caching operations could do that even faster. The additional cost is minimal, IMHO.","commit_id":"363f309d84e30205adaf43726f5239eee7d354f5"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"093c82a820faf9dea070e577100361937408f5d1","unresolved":false,"context_lines":[{"line_number":84,"context_line":"Schema for cached_images::"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"  CREATE TABLE cached_images ("},{"line_number":87,"context_line":"    id int auto increment PRIMARY KEY,"},{"line_number":88,"context_line":"    image_id varchar(36),"},{"line_number":89,"context_line":"    last_accessed datetime,"},{"line_number":90,"context_line":"    last_modified datetime,"}],"source_content_type":"text/x-rst","patch_set":5,"id":"cd44ded0_d7a90eec","line":87,"in_reply_to":"e7795660_28eec08a","updated":"2023-10-30 14:01:41.000000000","message":"Ack","commit_id":"363f309d84e30205adaf43726f5239eee7d354f5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"eb6f8b11a6c42bf10cdda128ce7e7ed4fa94c7dd","unresolved":true,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"  CREATE TABLE cache_node_reference ("},{"line_number":103,"context_line":"    node_reference_id int PRIMARY KEY auto increment,"},{"line_number":104,"context_line":"    node_reference_url varchar(36)"},{"line_number":105,"context_line":"  )"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"REST API impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"28cfb221_0597e23c","line":104,"updated":"2023-10-30 13:43:21.000000000","message":"I\u0027m sure this is way too short. I\u0027d go with varchar(255) here, which is a reasonable URL length limit.","commit_id":"363f309d84e30205adaf43726f5239eee7d354f5"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"093c82a820faf9dea070e577100361937408f5d1","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"  CREATE TABLE cache_node_reference ("},{"line_number":103,"context_line":"    node_reference_id int PRIMARY KEY auto increment,"},{"line_number":104,"context_line":"    node_reference_url varchar(36)"},{"line_number":105,"context_line":"  )"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"REST API impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5ff8b7c3_c7ab58e5","line":104,"in_reply_to":"28cfb221_0597e23c","updated":"2023-10-30 14:01:41.000000000","message":"Ack","commit_id":"363f309d84e30205adaf43726f5239eee7d354f5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"eb6f8b11a6c42bf10cdda128ce7e7ed4fa94c7dd","unresolved":true,"context_lines":[{"line_number":165,"context_line":"* Introduce new centralized_db driver and related configuration options"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"* Change cache code to use new mysql database"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"* Modify related commandline tools like cache-cleaner, cache-pruner"},{"line_number":170,"context_line":"  to use centralized driver"},{"line_number":171,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"e59be6bd_fe50e055","line":168,"updated":"2023-10-30 13:43:21.000000000","message":"Missing a step in here to add migration routines?","commit_id":"363f309d84e30205adaf43726f5239eee7d354f5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ac8447182a475804c57f0ec79370b1972b672b22","unresolved":true,"context_lines":[{"line_number":165,"context_line":"* Introduce new centralized_db driver and related configuration options"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"* Change cache code to use new mysql database"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"* Modify related commandline tools like cache-cleaner, cache-pruner"},{"line_number":170,"context_line":"  to use centralized driver"},{"line_number":171,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"7dfdbd48_44b9880c","line":168,"in_reply_to":"2315c50f_15651e45","updated":"2023-10-30 15:20:29.000000000","message":"Sorry, second item is what I meant here. I was reading these in order of execution and you can\u0027t really do #2 until you have the other items done. Meaning you can\u0027t add that startup logic to migrate records until you have tables, models, and code to insert them.\n\nSo maybe just reorder these so they match the actual order you\u0027ll do them?","commit_id":"363f309d84e30205adaf43726f5239eee7d354f5"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"413828b348cab170ed341273fdfcfe00bfbbffd0","unresolved":false,"context_lines":[{"line_number":165,"context_line":"* Introduce new centralized_db driver and related configuration options"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"* Change cache code to use new mysql database"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"* Modify related commandline tools like cache-cleaner, cache-pruner"},{"line_number":170,"context_line":"  to use centralized driver"},{"line_number":171,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"2d63167e_e7c765aa","line":168,"in_reply_to":"7dfdbd48_44b9880c","updated":"2023-10-31 05:23:25.000000000","message":"I will reorder it in new revision","commit_id":"363f309d84e30205adaf43726f5239eee7d354f5"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"093c82a820faf9dea070e577100361937408f5d1","unresolved":true,"context_lines":[{"line_number":165,"context_line":"* Introduce new centralized_db driver and related configuration options"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"* Change cache code to use new mysql database"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"* Modify related commandline tools like cache-cleaner, cache-pruner"},{"line_number":170,"context_line":"  to use centralized driver"},{"line_number":171,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"2315c50f_15651e45","line":168,"in_reply_to":"e59be6bd_fe50e055","updated":"2023-10-30 14:01:41.000000000","message":"1st and 2nd work item?","commit_id":"363f309d84e30205adaf43726f5239eee7d354f5"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"58032d8cbc1858542f9adf2c38ba6d408c480b21","unresolved":true,"context_lines":[{"line_number":45,"context_line":"In case of upgrades/updates we need to deal with migrating existing records"},{"line_number":46,"context_line":"from sqlite database to central database. Since we might have multiple"},{"line_number":47,"context_line":"glance(s) running this will be difficult to handle using alembic migrations."},{"line_number":48,"context_line":"To avoid this using migration we can perform this operation onetime during"},{"line_number":49,"context_line":"service startup. If sqlite database is present at service start and"},{"line_number":50,"context_line":"`image_cache_driver` is not set to `sqlite` and `xattr` then we will"},{"line_number":51,"context_line":"read records from it and insert those in newly created `cached_images` table"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9d10e272_54a00363","line":48,"range":{"start_line":48,"start_character":60,"end_line":48,"end_character":67},"updated":"2023-10-31 14:31:46.000000000","message":"\"one time\"","commit_id":"5860e4e6a1e6e15252848dcbd7c1d124e7a61056"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"6b20a2fa6b318d02f674409a4976de459c299b8a","unresolved":true,"context_lines":[{"line_number":45,"context_line":"In case of upgrades/updates we need to deal with migrating existing records"},{"line_number":46,"context_line":"from sqlite database to central database. Since we might have multiple"},{"line_number":47,"context_line":"glance(s) running this will be difficult to handle using alembic migrations."},{"line_number":48,"context_line":"To avoid this using migration we can perform this operation onetime during"},{"line_number":49,"context_line":"service startup. If sqlite database is present at service start and"},{"line_number":50,"context_line":"`image_cache_driver` is not set to `sqlite` and `xattr` then we will"},{"line_number":51,"context_line":"read records from it and insert those in newly created `cached_images` table"}],"source_content_type":"text/x-rst","patch_set":6,"id":"be3fdb8f_95155bf4","line":48,"range":{"start_line":48,"start_character":60,"end_line":48,"end_character":67},"in_reply_to":"9d10e272_54a00363","updated":"2023-10-31 14:39:59.000000000","message":"Sorry missed it earlier, fixed now.","commit_id":"5860e4e6a1e6e15252848dcbd7c1d124e7a61056"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"d12f65cac6f035fd1790bfc4a8d5e0e7af22cd9b","unresolved":false,"context_lines":[{"line_number":45,"context_line":"In case of upgrades/updates we need to deal with migrating existing records"},{"line_number":46,"context_line":"from sqlite database to central database. Since we might have multiple"},{"line_number":47,"context_line":"glance(s) running this will be difficult to handle using alembic migrations."},{"line_number":48,"context_line":"To avoid this using migration we can perform this operation onetime during"},{"line_number":49,"context_line":"service startup. If sqlite database is present at service start and"},{"line_number":50,"context_line":"`image_cache_driver` is not set to `sqlite` and `xattr` then we will"},{"line_number":51,"context_line":"read records from it and insert those in newly created `cached_images` table"}],"source_content_type":"text/x-rst","patch_set":6,"id":"bb9df718_7b2292ec","line":48,"range":{"start_line":48,"start_character":60,"end_line":48,"end_character":67},"in_reply_to":"be3fdb8f_95155bf4","updated":"2023-10-31 14:40:20.000000000","message":"Done","commit_id":"5860e4e6a1e6e15252848dcbd7c1d124e7a61056"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"58032d8cbc1858542f9adf2c38ba6d408c480b21","unresolved":true,"context_lines":[{"line_number":65,"context_line":"as well. Since `worker_self_reference_url` is required for `glance-direct`"},{"line_number":66,"context_line":"import method as well, if we found that it was not set by the deployer for"},{"line_number":67,"context_line":"any of the glance setup, then at the service startup we will log appropriate"},{"line_number":68,"context_line":"error message and refrain service from starting. Also, since in the case of"},{"line_number":69,"context_line":"multiple nodes, `worker_self_reference_url` needs to be set to a unique value"},{"line_number":70,"context_line":"per node, and if, by mistake, two or more nodes have the same value for it,"},{"line_number":71,"context_line":"then we will not migrate the cache data of that node to a centralized database"}],"source_content_type":"text/x-rst","patch_set":6,"id":"904d23db_f695ef1b","line":68,"range":{"start_line":68,"start_character":18,"end_line":68,"end_character":25},"updated":"2023-10-31 14:31:46.000000000","message":"\"refrain\" sounds confusing to a native speaker, so I\u0027d say \"prevent (the)\" here. Not critical though.","commit_id":"5860e4e6a1e6e15252848dcbd7c1d124e7a61056"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"6b20a2fa6b318d02f674409a4976de459c299b8a","unresolved":false,"context_lines":[{"line_number":65,"context_line":"as well. Since `worker_self_reference_url` is required for `glance-direct`"},{"line_number":66,"context_line":"import method as well, if we found that it was not set by the deployer for"},{"line_number":67,"context_line":"any of the glance setup, then at the service startup we will log appropriate"},{"line_number":68,"context_line":"error message and refrain service from starting. Also, since in the case of"},{"line_number":69,"context_line":"multiple nodes, `worker_self_reference_url` needs to be set to a unique value"},{"line_number":70,"context_line":"per node, and if, by mistake, two or more nodes have the same value for it,"},{"line_number":71,"context_line":"then we will not migrate the cache data of that node to a centralized database"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff704441_31dddb06","line":68,"range":{"start_line":68,"start_character":18,"end_line":68,"end_character":25},"in_reply_to":"904d23db_f695ef1b","updated":"2023-10-31 14:39:59.000000000","message":"Done","commit_id":"5860e4e6a1e6e15252848dcbd7c1d124e7a61056"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"db5b1b9fd722530f143b15adb1cc75c1c2e861b1","unresolved":true,"context_lines":[{"line_number":13,"context_line":"Problem description"},{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"We use two different database(s) for glance. One is centralized database"},{"line_number":17,"context_line":"managed by oslo.db (default is MySql) for storing information related to"},{"line_number":18,"context_line":"regular operations and sqlite for storing information about caching"},{"line_number":19,"context_line":"related operations. Even though sqlite database is only created if we enable"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9e234e6b_06ff87cc","line":16,"range":{"start_line":16,"start_character":51,"end_line":16,"end_character":52},"updated":"2023-11-06 16:56:04.000000000","message":"I\u0027d say \"one is a/the\"","commit_id":"3e8b136353d50f8f95110aa0f8862f2de57282d8"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"c0ee1507105501e9d56e4a341a7abc8fc5b7c44e","unresolved":false,"context_lines":[{"line_number":13,"context_line":"Problem description"},{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"We use two different database(s) for glance. One is centralized database"},{"line_number":17,"context_line":"managed by oslo.db (default is MySql) for storing information related to"},{"line_number":18,"context_line":"regular operations and sqlite for storing information about caching"},{"line_number":19,"context_line":"related operations. Even though sqlite database is only created if we enable"}],"source_content_type":"text/x-rst","patch_set":9,"id":"abcfb882_299547e6","line":16,"range":{"start_line":16,"start_character":51,"end_line":16,"end_character":52},"in_reply_to":"9e234e6b_06ff87cc","updated":"2023-11-07 06:06:39.000000000","message":"Ack","commit_id":"3e8b136353d50f8f95110aa0f8862f2de57282d8"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"db5b1b9fd722530f143b15adb1cc75c1c2e861b1","unresolved":true,"context_lines":[{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"We use two different database(s) for glance. One is centralized database"},{"line_number":17,"context_line":"managed by oslo.db (default is MySql) for storing information related to"},{"line_number":18,"context_line":"regular operations and sqlite for storing information about caching"},{"line_number":19,"context_line":"related operations. Even though sqlite database is only created if we enable"},{"line_number":20,"context_line":"cache middleware we still need to maintain it along with centralized"}],"source_content_type":"text/x-rst","patch_set":9,"id":"5e599ceb_2c2f333e","line":17,"range":{"start_line":17,"start_character":31,"end_line":17,"end_character":36},"updated":"2023-11-06 16:56:04.000000000","message":"Proper capitalization: MySQL","commit_id":"3e8b136353d50f8f95110aa0f8862f2de57282d8"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"c0ee1507105501e9d56e4a341a7abc8fc5b7c44e","unresolved":false,"context_lines":[{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"We use two different database(s) for glance. One is centralized database"},{"line_number":17,"context_line":"managed by oslo.db (default is MySql) for storing information related to"},{"line_number":18,"context_line":"regular operations and sqlite for storing information about caching"},{"line_number":19,"context_line":"related operations. Even though sqlite database is only created if we enable"},{"line_number":20,"context_line":"cache middleware we still need to maintain it along with centralized"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3bc4ad5a_1a2396a2","line":17,"range":{"start_line":17,"start_character":31,"end_line":17,"end_character":36},"in_reply_to":"5e599ceb_2c2f333e","updated":"2023-11-07 06:06:39.000000000","message":"Ack","commit_id":"3e8b136353d50f8f95110aa0f8862f2de57282d8"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"db5b1b9fd722530f143b15adb1cc75c1c2e861b1","unresolved":true,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"We use two different database(s) for glance. One is centralized database"},{"line_number":17,"context_line":"managed by oslo.db (default is MySql) for storing information related to"},{"line_number":18,"context_line":"regular operations and sqlite for storing information about caching"},{"line_number":19,"context_line":"related operations. Even though sqlite database is only created if we enable"},{"line_number":20,"context_line":"cache middleware we still need to maintain it along with centralized"},{"line_number":21,"context_line":"database. Also glance caches are local to each controller node (glance"}],"source_content_type":"text/x-rst","patch_set":9,"id":"bc658ad6_2fe73842","line":18,"range":{"start_line":18,"start_character":18,"end_line":18,"end_character":19},"updated":"2023-11-06 16:56:04.000000000","message":"I would write \"and the other is...\" or even better:\n\n\"... regular operations; the other one is a sqlite database for storing...\"","commit_id":"3e8b136353d50f8f95110aa0f8862f2de57282d8"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"c0ee1507105501e9d56e4a341a7abc8fc5b7c44e","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"We use two different database(s) for glance. One is centralized database"},{"line_number":17,"context_line":"managed by oslo.db (default is MySql) for storing information related to"},{"line_number":18,"context_line":"regular operations and sqlite for storing information about caching"},{"line_number":19,"context_line":"related operations. Even though sqlite database is only created if we enable"},{"line_number":20,"context_line":"cache middleware we still need to maintain it along with centralized"},{"line_number":21,"context_line":"database. Also glance caches are local to each controller node (glance"}],"source_content_type":"text/x-rst","patch_set":9,"id":"caa2277e_df79f964","line":18,"range":{"start_line":18,"start_character":18,"end_line":18,"end_character":19},"in_reply_to":"bc658ad6_2fe73842","updated":"2023-11-07 06:06:39.000000000","message":"Ack","commit_id":"3e8b136353d50f8f95110aa0f8862f2de57282d8"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"db5b1b9fd722530f143b15adb1cc75c1c2e861b1","unresolved":true,"context_lines":[{"line_number":16,"context_line":"We use two different database(s) for glance. One is centralized database"},{"line_number":17,"context_line":"managed by oslo.db (default is MySql) for storing information related to"},{"line_number":18,"context_line":"regular operations and sqlite for storing information about caching"},{"line_number":19,"context_line":"related operations. Even though sqlite database is only created if we enable"},{"line_number":20,"context_line":"cache middleware we still need to maintain it along with centralized"},{"line_number":21,"context_line":"database. Also glance caches are local to each controller node (glance"},{"line_number":22,"context_line":"api service), so in case of multiple glance services running we have"}],"source_content_type":"text/x-rst","patch_set":9,"id":"e065594b_c118ab32","line":19,"range":{"start_line":19,"start_character":32,"end_line":19,"end_character":38},"updated":"2023-11-06 16:56:04.000000000","message":"the sqlite...","commit_id":"3e8b136353d50f8f95110aa0f8862f2de57282d8"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"c0ee1507105501e9d56e4a341a7abc8fc5b7c44e","unresolved":false,"context_lines":[{"line_number":16,"context_line":"We use two different database(s) for glance. One is centralized database"},{"line_number":17,"context_line":"managed by oslo.db (default is MySql) for storing information related to"},{"line_number":18,"context_line":"regular operations and sqlite for storing information about caching"},{"line_number":19,"context_line":"related operations. Even though sqlite database is only created if we enable"},{"line_number":20,"context_line":"cache middleware we still need to maintain it along with centralized"},{"line_number":21,"context_line":"database. Also glance caches are local to each controller node (glance"},{"line_number":22,"context_line":"api service), so in case of multiple glance services running we have"}],"source_content_type":"text/x-rst","patch_set":9,"id":"647326e9_86b95508","line":19,"range":{"start_line":19,"start_character":32,"end_line":19,"end_character":38},"in_reply_to":"e065594b_c118ab32","updated":"2023-11-07 06:06:39.000000000","message":"Ack","commit_id":"3e8b136353d50f8f95110aa0f8862f2de57282d8"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"db5b1b9fd722530f143b15adb1cc75c1c2e861b1","unresolved":true,"context_lines":[{"line_number":51,"context_line":"read records from it and insert those in newly created `cached_images` table"},{"line_number":52,"context_line":"in central database. Once all records are migrated we will clear the sqlite"},{"line_number":53,"context_line":"database table and keep the sqlite database file as it is (to be deleted by"},{"line_number":54,"context_line":"administrator/operator later if required). Important point here is once"},{"line_number":55,"context_line":"deployer chooses to use `centralized_db` and we migrate their records out"},{"line_number":56,"context_line":"of `sqlite` to centralized database, then we will not migrate them back"},{"line_number":57,"context_line":"if deployer wants to revert back to `sqlite` driver."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"As deployment can have multiple glance services running, to record cache"},{"line_number":60,"context_line":"details separately for multiple glance services, we can use existing"}],"source_content_type":"text/x-rst","patch_set":9,"id":"80028da7_87b66c85","line":57,"range":{"start_line":54,"start_character":43,"end_line":57,"end_character":52},"updated":"2023-11-06 16:56:04.000000000","message":"Just to be clear, the deployer can still use sqlite (even though we\u0027ll deprecate it and remove it at some point), but if they come back to sqlite, they\u0027ll lose caching info?","commit_id":"3e8b136353d50f8f95110aa0f8862f2de57282d8"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"c0ee1507105501e9d56e4a341a7abc8fc5b7c44e","unresolved":true,"context_lines":[{"line_number":51,"context_line":"read records from it and insert those in newly created `cached_images` table"},{"line_number":52,"context_line":"in central database. Once all records are migrated we will clear the sqlite"},{"line_number":53,"context_line":"database table and keep the sqlite database file as it is (to be deleted by"},{"line_number":54,"context_line":"administrator/operator later if required). Important point here is once"},{"line_number":55,"context_line":"deployer chooses to use `centralized_db` and we migrate their records out"},{"line_number":56,"context_line":"of `sqlite` to centralized database, then we will not migrate them back"},{"line_number":57,"context_line":"if deployer wants to revert back to `sqlite` driver."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"As deployment can have multiple glance services running, to record cache"},{"line_number":60,"context_line":"details separately for multiple glance services, we can use existing"}],"source_content_type":"text/x-rst","patch_set":9,"id":"979d80e2_82bf6e7b","line":57,"range":{"start_line":54,"start_character":43,"end_line":57,"end_character":52},"in_reply_to":"80028da7_87b66c85","updated":"2023-11-07 06:06:39.000000000","message":"yes, they need to re-cache everything again.","commit_id":"3e8b136353d50f8f95110aa0f8862f2de57282d8"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"703a09d51bcd758f0e7cae843764bfded0c36391","unresolved":false,"context_lines":[{"line_number":51,"context_line":"read records from it and insert those in newly created `cached_images` table"},{"line_number":52,"context_line":"in central database. Once all records are migrated we will clear the sqlite"},{"line_number":53,"context_line":"database table and keep the sqlite database file as it is (to be deleted by"},{"line_number":54,"context_line":"administrator/operator later if required). Important point here is once"},{"line_number":55,"context_line":"deployer chooses to use `centralized_db` and we migrate their records out"},{"line_number":56,"context_line":"of `sqlite` to centralized database, then we will not migrate them back"},{"line_number":57,"context_line":"if deployer wants to revert back to `sqlite` driver."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"As deployment can have multiple glance services running, to record cache"},{"line_number":60,"context_line":"details separately for multiple glance services, we can use existing"}],"source_content_type":"text/x-rst","patch_set":9,"id":"d9e356fa_180091be","line":57,"range":{"start_line":54,"start_character":43,"end_line":57,"end_character":52},"in_reply_to":"979d80e2_82bf6e7b","updated":"2023-12-19 04:59:42.000000000","message":"Done","commit_id":"3e8b136353d50f8f95110aa0f8862f2de57282d8"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"db5b1b9fd722530f143b15adb1cc75c1c2e861b1","unresolved":true,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Once we migrate existing cache records to central database we need to"},{"line_number":75,"context_line":"ensure that existing cache related command line utilities like cache-cleaner,"},{"line_number":76,"context_line":"cache-pruner are working as expected. Since these utilities uses dedicated"},{"line_number":77,"context_line":"configuration file (glance-cache.conf), we need to make provision to"},{"line_number":78,"context_line":"introduce required configuration options in this file so that these tools can"},{"line_number":79,"context_line":"connect to central database."}],"source_content_type":"text/x-rst","patch_set":9,"id":"bf79a197_055b0129","line":76,"range":{"start_line":76,"start_character":64,"end_line":76,"end_character":65},"updated":"2023-11-06 16:56:04.000000000","message":"use","commit_id":"3e8b136353d50f8f95110aa0f8862f2de57282d8"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"c0ee1507105501e9d56e4a341a7abc8fc5b7c44e","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Once we migrate existing cache records to central database we need to"},{"line_number":75,"context_line":"ensure that existing cache related command line utilities like cache-cleaner,"},{"line_number":76,"context_line":"cache-pruner are working as expected. Since these utilities uses dedicated"},{"line_number":77,"context_line":"configuration file (glance-cache.conf), we need to make provision to"},{"line_number":78,"context_line":"introduce required configuration options in this file so that these tools can"},{"line_number":79,"context_line":"connect to central database."}],"source_content_type":"text/x-rst","patch_set":9,"id":"201f5bc3_e9f68719","line":76,"range":{"start_line":76,"start_character":64,"end_line":76,"end_character":65},"in_reply_to":"bf79a197_055b0129","updated":"2023-11-07 06:06:39.000000000","message":"Ack","commit_id":"3e8b136353d50f8f95110aa0f8862f2de57282d8"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"e9f5c34cb7761ececb4b0df57557ba7d7d8a4178","unresolved":true,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"We use two different database(s) for glance. One is a centralized database"},{"line_number":17,"context_line":"managed by oslo.db (default is MySQL) for storing information related to"},{"line_number":18,"context_line":"regular operations; the other one is a sqlite database sqlite for"},{"line_number":19,"context_line":"storing information about caching related operations. Even though the"},{"line_number":20,"context_line":"sqlite database is only created if we enable cache middleware we still"},{"line_number":21,"context_line":"need to maintain it along with centralized database. Also glance caches"}],"source_content_type":"text/x-rst","patch_set":10,"id":"ecc81cc1_e27df1b1","line":18,"range":{"start_line":18,"start_character":55,"end_line":18,"end_character":61},"updated":"2023-12-18 17:06:59.000000000","message":"don\u0027t need this one","commit_id":"f736ec5f50e58bbdc5dd6fb187edbadf31917dee"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"703a09d51bcd758f0e7cae843764bfded0c36391","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"We use two different database(s) for glance. One is a centralized database"},{"line_number":17,"context_line":"managed by oslo.db (default is MySQL) for storing information related to"},{"line_number":18,"context_line":"regular operations; the other one is a sqlite database sqlite for"},{"line_number":19,"context_line":"storing information about caching related operations. Even though the"},{"line_number":20,"context_line":"sqlite database is only created if we enable cache middleware we still"},{"line_number":21,"context_line":"need to maintain it along with centralized database. Also glance caches"}],"source_content_type":"text/x-rst","patch_set":10,"id":"57af923b_a68be335","line":18,"range":{"start_line":18,"start_character":55,"end_line":18,"end_character":61},"in_reply_to":"ecc81cc1_e27df1b1","updated":"2023-12-19 04:59:42.000000000","message":"Acknowledged","commit_id":"f736ec5f50e58bbdc5dd6fb187edbadf31917dee"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"e9f5c34cb7761ececb4b0df57557ba7d7d8a4178","unresolved":true,"context_lines":[{"line_number":26,"context_line":"Proposed change"},{"line_number":27,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"We proposed to use centralized database (default MySql) for caching related"},{"line_number":30,"context_line":"operations and stop using sqlite database from this release onwards. In this"},{"line_number":31,"context_line":"case we can get rid of creating sqlite database per glance service and"},{"line_number":32,"context_line":"have everything under central database."}],"source_content_type":"text/x-rst","patch_set":10,"id":"35b13cd5_577c709c","line":29,"range":{"start_line":29,"start_character":3,"end_line":29,"end_character":11},"updated":"2023-12-18 17:06:59.000000000","message":"should be \u0027propose\u0027 here and at line 36","commit_id":"f736ec5f50e58bbdc5dd6fb187edbadf31917dee"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"703a09d51bcd758f0e7cae843764bfded0c36391","unresolved":false,"context_lines":[{"line_number":26,"context_line":"Proposed change"},{"line_number":27,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"We proposed to use centralized database (default MySql) for caching related"},{"line_number":30,"context_line":"operations and stop using sqlite database from this release onwards. In this"},{"line_number":31,"context_line":"case we can get rid of creating sqlite database per glance service and"},{"line_number":32,"context_line":"have everything under central database."}],"source_content_type":"text/x-rst","patch_set":10,"id":"88d48769_db17a1d1","line":29,"range":{"start_line":29,"start_character":3,"end_line":29,"end_character":11},"in_reply_to":"35b13cd5_577c709c","updated":"2023-12-19 04:59:42.000000000","message":"Acknowledged","commit_id":"f736ec5f50e58bbdc5dd6fb187edbadf31917dee"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"e9f5c34cb7761ececb4b0df57557ba7d7d8a4178","unresolved":true,"context_lines":[{"line_number":47,"context_line":"from sqlite database to central database. Since we might have multiple"},{"line_number":48,"context_line":"glance(s) running this will be difficult to handle using alembic migrations."},{"line_number":49,"context_line":"To avoid this using migration we can perform this operation one time during"},{"line_number":50,"context_line":"service startup. If sqlite database is present at service start and"},{"line_number":51,"context_line":"`image_cache_driver` is not set to `sqlite` and `xattr` then we will"},{"line_number":52,"context_line":"read records from it and insert those in newly created `cached_images` table"},{"line_number":53,"context_line":"in central database. Once all records are migrated we will clear the sqlite"}],"source_content_type":"text/x-rst","patch_set":10,"id":"cbb88ab6_8c4e9998","line":50,"range":{"start_line":50,"start_character":17,"end_line":50,"end_character":63},"updated":"2023-12-18 17:06:59.000000000","message":"How are you detecting this? By whether the image_cache_sqlite_db file exists?  If so, we need to say in the release notes or something that if you want to migrate an existing cache to the centralized db, don\u0027t mess with your image_cache_sqlite_db value (otherwise, i can see an operator who wants to use the new driver deleting all the sqlite-related stuff from the config file).","commit_id":"f736ec5f50e58bbdc5dd6fb187edbadf31917dee"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"703a09d51bcd758f0e7cae843764bfded0c36391","unresolved":false,"context_lines":[{"line_number":47,"context_line":"from sqlite database to central database. Since we might have multiple"},{"line_number":48,"context_line":"glance(s) running this will be difficult to handle using alembic migrations."},{"line_number":49,"context_line":"To avoid this using migration we can perform this operation one time during"},{"line_number":50,"context_line":"service startup. If sqlite database is present at service start and"},{"line_number":51,"context_line":"`image_cache_driver` is not set to `sqlite` and `xattr` then we will"},{"line_number":52,"context_line":"read records from it and insert those in newly created `cached_images` table"},{"line_number":53,"context_line":"in central database. Once all records are migrated we will clear the sqlite"}],"source_content_type":"text/x-rst","patch_set":10,"id":"14e4d205_625a7f57","line":50,"range":{"start_line":50,"start_character":17,"end_line":50,"end_character":63},"in_reply_to":"cbb88ab6_8c4e9998","updated":"2023-12-19 04:59:42.000000000","message":"yes, I will mention it in the release note and also documentation.","commit_id":"f736ec5f50e58bbdc5dd6fb187edbadf31917dee"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"e9f5c34cb7761ececb4b0df57557ba7d7d8a4178","unresolved":true,"context_lines":[{"line_number":48,"context_line":"glance(s) running this will be difficult to handle using alembic migrations."},{"line_number":49,"context_line":"To avoid this using migration we can perform this operation one time during"},{"line_number":50,"context_line":"service startup. If sqlite database is present at service start and"},{"line_number":51,"context_line":"`image_cache_driver` is not set to `sqlite` and `xattr` then we will"},{"line_number":52,"context_line":"read records from it and insert those in newly created `cached_images` table"},{"line_number":53,"context_line":"in central database. Once all records are migrated we will clear the sqlite"},{"line_number":54,"context_line":"database table and keep the sqlite database file as it is (to be deleted by"}],"source_content_type":"text/x-rst","patch_set":10,"id":"02a2e43e_4136b7ca","line":51,"range":{"start_line":51,"start_character":0,"end_line":51,"end_character":55},"updated":"2023-12-18 17:06:59.000000000","message":"I\u0027m not sure why you put it this way?  What I mean is, why not say image_cache_driver is set to centralized_db?\n\nA related issue is that the sqlite driver was the previous default, so if an operator wanted to use sqlite, they didn\u0027t have to set a value for image_cache_driver to get it.  But now, with the centralized_db driver as the default value, a config file with no setting for image_cache_driver will result in an operator getting the new driver; if they want to stick with sqlite, they need to explicitly set the config option.  I guess this just needs to be mentioned in the release notes.","commit_id":"f736ec5f50e58bbdc5dd6fb187edbadf31917dee"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"703a09d51bcd758f0e7cae843764bfded0c36391","unresolved":false,"context_lines":[{"line_number":48,"context_line":"glance(s) running this will be difficult to handle using alembic migrations."},{"line_number":49,"context_line":"To avoid this using migration we can perform this operation one time during"},{"line_number":50,"context_line":"service startup. If sqlite database is present at service start and"},{"line_number":51,"context_line":"`image_cache_driver` is not set to `sqlite` and `xattr` then we will"},{"line_number":52,"context_line":"read records from it and insert those in newly created `cached_images` table"},{"line_number":53,"context_line":"in central database. Once all records are migrated we will clear the sqlite"},{"line_number":54,"context_line":"database table and keep the sqlite database file as it is (to be deleted by"}],"source_content_type":"text/x-rst","patch_set":10,"id":"2bb8e97d_17d3a58b","line":51,"range":{"start_line":51,"start_character":0,"end_line":51,"end_character":55},"in_reply_to":"02a2e43e_4136b7ca","updated":"2023-12-19 04:59:42.000000000","message":"Ack, will mention it in the release note.","commit_id":"f736ec5f50e58bbdc5dd6fb187edbadf31917dee"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"e9f5c34cb7761ececb4b0df57557ba7d7d8a4178","unresolved":true,"context_lines":[{"line_number":67,"context_line":"import method as well, if we found that it was not set by the deployer for"},{"line_number":68,"context_line":"any of the glance setup, then at the service startup we will log appropriate"},{"line_number":69,"context_line":"error message and prevent the service from starting. Also, since in the case of"},{"line_number":70,"context_line":"multiple nodes, `worker_self_reference_url` needs to be set to a unique value"},{"line_number":71,"context_line":"per node, and if, by mistake, two or more nodes have the same value for it,"},{"line_number":72,"context_line":"then we will not migrate the cache data of that node to a centralized database"},{"line_number":73,"context_line":"with logging an appropriate warning message."}],"source_content_type":"text/x-rst","patch_set":10,"id":"a8e42058_953db4ab","line":70,"range":{"start_line":70,"start_character":16,"end_line":70,"end_character":43},"updated":"2023-12-18 17:06:59.000000000","message":"nit: You need to use double-backticks to get this rendered in monospace font in HTML.  Single-backticks (like you use throughout this entire file) will give you italics in RST.","commit_id":"f736ec5f50e58bbdc5dd6fb187edbadf31917dee"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"703a09d51bcd758f0e7cae843764bfded0c36391","unresolved":false,"context_lines":[{"line_number":67,"context_line":"import method as well, if we found that it was not set by the deployer for"},{"line_number":68,"context_line":"any of the glance setup, then at the service startup we will log appropriate"},{"line_number":69,"context_line":"error message and prevent the service from starting. Also, since in the case of"},{"line_number":70,"context_line":"multiple nodes, `worker_self_reference_url` needs to be set to a unique value"},{"line_number":71,"context_line":"per node, and if, by mistake, two or more nodes have the same value for it,"},{"line_number":72,"context_line":"then we will not migrate the cache data of that node to a centralized database"},{"line_number":73,"context_line":"with logging an appropriate warning message."}],"source_content_type":"text/x-rst","patch_set":10,"id":"43966427_bf7efb84","line":70,"range":{"start_line":70,"start_character":16,"end_line":70,"end_character":43},"in_reply_to":"a8e42058_953db4ab","updated":"2023-12-19 04:59:42.000000000","message":"Acknowledged","commit_id":"f736ec5f50e58bbdc5dd6fb187edbadf31917dee"}],"specs/2024.1/approved/glance/mysql-db-cache.rst":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"a1fea680f530aae6838eabc6597917aa0f715806","unresolved":true,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Use MySql database for caching"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/glance/+spec/mysql-db-cache"}],"source_content_type":"text/x-rst","patch_set":2,"id":"a69f06aa_62a18e33","line":8,"range":{"start_line":8,"start_character":4,"end_line":8,"end_character":9},"updated":"2023-10-26 13:35:36.000000000","message":"wondering if you explicitly require MySql or you just intend to store these cache records to the existing glance service database (managed through oslo.db) ?","commit_id":"29a67459a57ca4900d0eaf543c431fbf2c810188"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"f7790d52820d6798d6b3c5548ba59c539e508dec","unresolved":true,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Use MySql database for caching"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/glance/+spec/mysql-db-cache"}],"source_content_type":"text/x-rst","patch_set":2,"id":"f1e0fb40_46f15caa","line":8,"range":{"start_line":8,"start_character":4,"end_line":8,"end_character":9},"in_reply_to":"a69f06aa_62a18e33","updated":"2023-10-26 13:46:47.000000000","message":"+1 good point, this will be the centralized db used by glance service managed through oslo.db","commit_id":"29a67459a57ca4900d0eaf543c431fbf2c810188"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"2d56c915ace7d6890209c3c82ad4462e107795e6","unresolved":false,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Use MySql database for caching"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/glance/+spec/mysql-db-cache"}],"source_content_type":"text/x-rst","patch_set":2,"id":"2cc6642b_279f0ba1","line":8,"range":{"start_line":8,"start_character":4,"end_line":8,"end_character":9},"in_reply_to":"f1e0fb40_46f15caa","updated":"2023-10-26 14:24:33.000000000","message":"Done","commit_id":"29a67459a57ca4900d0eaf543c431fbf2c810188"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"331eb2be377db1d70ab4b5150ff5e3c81e340162","unresolved":true,"context_lines":[{"line_number":8,"context_line":"Use MySql database for caching"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/glance/+spec/mysql-db-cache"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Problem description"},{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"b959a056_8542a979","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":60},"updated":"2023-10-26 13:07:53.000000000","message":"Is this BP yet to register or link is different?","commit_id":"29a67459a57ca4900d0eaf543c431fbf2c810188"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"2d56c915ace7d6890209c3c82ad4462e107795e6","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Use MySql database for caching"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/glance/+spec/mysql-db-cache"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Problem description"},{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"e40cb871_9c4472f8","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":60},"in_reply_to":"94c41494_d7704c76","updated":"2023-10-26 14:24:33.000000000","message":"I will register blueprint once name is finalized","commit_id":"29a67459a57ca4900d0eaf543c431fbf2c810188"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"f7790d52820d6798d6b3c5548ba59c539e508dec","unresolved":true,"context_lines":[{"line_number":8,"context_line":"Use MySql database for caching"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/glance/+spec/mysql-db-cache"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Problem description"},{"line_number":14,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"94c41494_d7704c76","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":60},"in_reply_to":"b959a056_8542a979","updated":"2023-10-26 13:46:47.000000000","message":"yet to register","commit_id":"29a67459a57ca4900d0eaf543c431fbf2c810188"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"331eb2be377db1d70ab4b5150ff5e3c81e340162","unresolved":true,"context_lines":[{"line_number":43,"context_line":"later if required)."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"To record cache details separately for multiple glance services we can use"},{"line_number":46,"context_line":"existing configuration option `worker_reference_url` which will"},{"line_number":47,"context_line":"differentiate cache records for each glance service running in the"},{"line_number":48,"context_line":"deployment. `worker_reference_url` is used to identify nodes in case of"},{"line_number":49,"context_line":"new import workflow earlier and now same can be used for this purpose as"}],"source_content_type":"text/x-rst","patch_set":2,"id":"e5a8d784_cf4bb257","line":46,"range":{"start_line":46,"start_character":30,"end_line":46,"end_character":52},"updated":"2023-10-26 13:07:53.000000000","message":"The existing conf option is `worker_self_reference_url\u0027","commit_id":"29a67459a57ca4900d0eaf543c431fbf2c810188"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"2d56c915ace7d6890209c3c82ad4462e107795e6","unresolved":false,"context_lines":[{"line_number":43,"context_line":"later if required)."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"To record cache details separately for multiple glance services we can use"},{"line_number":46,"context_line":"existing configuration option `worker_reference_url` which will"},{"line_number":47,"context_line":"differentiate cache records for each glance service running in the"},{"line_number":48,"context_line":"deployment. `worker_reference_url` is used to identify nodes in case of"},{"line_number":49,"context_line":"new import workflow earlier and now same can be used for this purpose as"}],"source_content_type":"text/x-rst","patch_set":2,"id":"6b5625a9_721799a4","line":46,"range":{"start_line":46,"start_character":30,"end_line":46,"end_character":52},"in_reply_to":"be001372_d408d7c3","updated":"2023-10-26 14:24:33.000000000","message":"Done","commit_id":"29a67459a57ca4900d0eaf543c431fbf2c810188"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"f7790d52820d6798d6b3c5548ba59c539e508dec","unresolved":true,"context_lines":[{"line_number":43,"context_line":"later if required)."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"To record cache details separately for multiple glance services we can use"},{"line_number":46,"context_line":"existing configuration option `worker_reference_url` which will"},{"line_number":47,"context_line":"differentiate cache records for each glance service running in the"},{"line_number":48,"context_line":"deployment. `worker_reference_url` is used to identify nodes in case of"},{"line_number":49,"context_line":"new import workflow earlier and now same can be used for this purpose as"}],"source_content_type":"text/x-rst","patch_set":2,"id":"be001372_d408d7c3","line":46,"range":{"start_line":46,"start_character":30,"end_line":46,"end_character":52},"in_reply_to":"e5a8d784_cf4bb257","updated":"2023-10-26 13:46:47.000000000","message":"ack","commit_id":"29a67459a57ca4900d0eaf543c431fbf2c810188"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"331eb2be377db1d70ab4b5150ff5e3c81e340162","unresolved":true,"context_lines":[{"line_number":45,"context_line":"To record cache details separately for multiple glance services we can use"},{"line_number":46,"context_line":"existing configuration option `worker_reference_url` which will"},{"line_number":47,"context_line":"differentiate cache records for each glance service running in the"},{"line_number":48,"context_line":"deployment. `worker_reference_url` is used to identify nodes in case of"},{"line_number":49,"context_line":"new import workflow earlier and now same can be used for this purpose as"},{"line_number":50,"context_line":"well."},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"8afe0135_c206f2fc","line":48,"range":{"start_line":48,"start_character":12,"end_line":48,"end_character":34},"updated":"2023-10-26 13:07:53.000000000","message":"ditto","commit_id":"29a67459a57ca4900d0eaf543c431fbf2c810188"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"f7790d52820d6798d6b3c5548ba59c539e508dec","unresolved":false,"context_lines":[{"line_number":45,"context_line":"To record cache details separately for multiple glance services we can use"},{"line_number":46,"context_line":"existing configuration option `worker_reference_url` which will"},{"line_number":47,"context_line":"differentiate cache records for each glance service running in the"},{"line_number":48,"context_line":"deployment. `worker_reference_url` is used to identify nodes in case of"},{"line_number":49,"context_line":"new import workflow earlier and now same can be used for this purpose as"},{"line_number":50,"context_line":"well."},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"dab73b7e_11ae7b71","line":48,"range":{"start_line":48,"start_character":12,"end_line":48,"end_character":34},"in_reply_to":"8afe0135_c206f2fc","updated":"2023-10-26 13:46:47.000000000","message":"Ack","commit_id":"29a67459a57ca4900d0eaf543c431fbf2c810188"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"a1fea680f530aae6838eabc6597917aa0f715806","unresolved":true,"context_lines":[{"line_number":49,"context_line":"new import workflow earlier and now same can be used for this purpose as"},{"line_number":50,"context_line":"well."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Once we migrate cache operations to MySql database we need to ensure that"},{"line_number":53,"context_line":"existing cache related command line utilities like cache-cleaner,"},{"line_number":54,"context_line":"cache-pruner are working as expected."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":2,"id":"183172b3_29b0f659","line":54,"range":{"start_line":52,"start_character":0,"end_line":54,"end_character":37},"updated":"2023-10-26 13:35:36.000000000","message":"IIUC glance-cache-cleaner and pruner only reads glance-cache.conf by default. In case we store cache records in mysql then it\u0027d mean users have to configure database options (oslo.db options ?) so that these tools can properly connect to db.\n\nI\u0027m not sure if we can implement automated way to detect database connection but in worst case we have to document this upgrade impact.","commit_id":"29a67459a57ca4900d0eaf543c431fbf2c810188"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"729447d3357872b861499218b82bf21f0f0a7880","unresolved":true,"context_lines":[{"line_number":49,"context_line":"new import workflow earlier and now same can be used for this purpose as"},{"line_number":50,"context_line":"well."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Once we migrate cache operations to MySql database we need to ensure that"},{"line_number":53,"context_line":"existing cache related command line utilities like cache-cleaner,"},{"line_number":54,"context_line":"cache-pruner are working as expected."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":2,"id":"a4228ac4_e2c142d1","line":54,"range":{"start_line":52,"start_character":0,"end_line":54,"end_character":37},"in_reply_to":"1749d223_dc59bc9e","updated":"2023-10-26 13:58:15.000000000","message":"Ack, that also sounds better, I will mention about it in next revision.","commit_id":"29a67459a57ca4900d0eaf543c431fbf2c810188"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"f7790d52820d6798d6b3c5548ba59c539e508dec","unresolved":true,"context_lines":[{"line_number":49,"context_line":"new import workflow earlier and now same can be used for this purpose as"},{"line_number":50,"context_line":"well."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Once we migrate cache operations to MySql database we need to ensure that"},{"line_number":53,"context_line":"existing cache related command line utilities like cache-cleaner,"},{"line_number":54,"context_line":"cache-pruner are working as expected."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":2,"id":"2b3ec1e4_31489d36","line":54,"range":{"start_line":52,"start_character":0,"end_line":54,"end_character":37},"in_reply_to":"183172b3_29b0f659","updated":"2023-10-26 13:46:47.000000000","message":"we have a common database connection config in glance-api.conf that will be enough  AFAICT.","commit_id":"29a67459a57ca4900d0eaf543c431fbf2c810188"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"cf10578b94ff32b448a8eb0b02159eac4fd7e068","unresolved":true,"context_lines":[{"line_number":49,"context_line":"new import workflow earlier and now same can be used for this purpose as"},{"line_number":50,"context_line":"well."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Once we migrate cache operations to MySql database we need to ensure that"},{"line_number":53,"context_line":"existing cache related command line utilities like cache-cleaner,"},{"line_number":54,"context_line":"cache-pruner are working as expected."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1749d223_dc59bc9e","line":54,"range":{"start_line":52,"start_character":0,"end_line":54,"end_character":37},"in_reply_to":"2b3ec1e4_31489d36","updated":"2023-10-26 13:52:46.000000000","message":"IIUC glance-cache-cleaner and glance-cache-pruner does not load glance-api.conf by default. So having database options in glance-api.conf does not help.\n\nreferences:\nhttps://github.com/openstack/glance/blob/03a14a9b9c3fbbe106d1f2cc1e33fb594a5be963/glance/cmd/cache_cleaner.py#L55\nhttps://github.com/openstack/glance/blob/03a14a9b9c3fbbe106d1f2cc1e33fb594a5be963/glance/common/config.py#L660\n\nIt\u0027d be probably an option to make these commands load glance-api.conf as well, but I feel like that change would conflict with the current design to have separate cache.conf file. So I tend to add db options to cache.conf to contain all options required cache commands in this single file.","commit_id":"29a67459a57ca4900d0eaf543c431fbf2c810188"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"747ac87f6f711a91b7bbd3d8e731adc58b117fe1","unresolved":true,"context_lines":[{"line_number":49,"context_line":"new import workflow earlier and now same can be used for this purpose as"},{"line_number":50,"context_line":"well."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Once we migrate cache operations to MySql database we need to ensure that"},{"line_number":53,"context_line":"existing cache related command line utilities like cache-cleaner,"},{"line_number":54,"context_line":"cache-pruner are working as expected."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":2,"id":"f84cdeb4_a5cfc08e","line":54,"range":{"start_line":52,"start_character":0,"end_line":54,"end_character":37},"in_reply_to":"a4228ac4_e2c142d1","updated":"2023-10-26 14:07:32.000000000","message":"I think we need to refactor sqlite driver and then introduce base driver altogether to deal with centralized database.\n\nhttps://github.com/openstack/glance/blob/03a14a9b9c3fbbe106d1f2cc1e33fb594a5be963/glance/image_cache/drivers/sqlite.py","commit_id":"29a67459a57ca4900d0eaf543c431fbf2c810188"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"2d56c915ace7d6890209c3c82ad4462e107795e6","unresolved":false,"context_lines":[{"line_number":49,"context_line":"new import workflow earlier and now same can be used for this purpose as"},{"line_number":50,"context_line":"well."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Once we migrate cache operations to MySql database we need to ensure that"},{"line_number":53,"context_line":"existing cache related command line utilities like cache-cleaner,"},{"line_number":54,"context_line":"cache-pruner are working as expected."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":2,"id":"75cf58c5_f9d1ae34","line":54,"range":{"start_line":52,"start_character":0,"end_line":54,"end_character":37},"in_reply_to":"f84cdeb4_a5cfc08e","updated":"2023-10-26 14:24:33.000000000","message":"Done","commit_id":"29a67459a57ca4900d0eaf543c431fbf2c810188"},{"author":{"_account_id":19138,"name":"Pranali Deore","email":"pdeore@redhat.com","username":"PranaliD"},"change_message_id":"331eb2be377db1d70ab4b5150ff5e3c81e340162","unresolved":true,"context_lines":[{"line_number":163,"context_line":"Documentation Impact"},{"line_number":164,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"Need to document use of `worker_reference_url` in case of import workflow"},{"line_number":167,"context_line":"and cache related operations."},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":2,"id":"90ef9566_2bd58cff","line":166,"range":{"start_line":166,"start_character":25,"end_line":166,"end_character":46},"updated":"2023-10-26 13:07:53.000000000","message":"ditto","commit_id":"29a67459a57ca4900d0eaf543c431fbf2c810188"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"f7790d52820d6798d6b3c5548ba59c539e508dec","unresolved":false,"context_lines":[{"line_number":163,"context_line":"Documentation Impact"},{"line_number":164,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"Need to document use of `worker_reference_url` in case of import workflow"},{"line_number":167,"context_line":"and cache related operations."},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ee2ca24c_b2058f1a","line":166,"range":{"start_line":166,"start_character":25,"end_line":166,"end_character":46},"in_reply_to":"90ef9566_2bd58cff","updated":"2023-10-26 13:46:47.000000000","message":"Ack","commit_id":"29a67459a57ca4900d0eaf543c431fbf2c810188"}]}
