)]}'
{"specs/train/approved/glance/cache-api.rst":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"29743869977913f5c4c88613555a6497c0f0de8c","unresolved":false,"context_lines":[{"line_number":153,"context_line":"Other end user impact"},{"line_number":154,"context_line":"---------------------"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"The OpenStack client should have new commands, such as:"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"* openstack image cache list"},{"line_number":159,"context_line":"* openstack image cache precache \u003cIMAGE-ID\u003e"},{"line_number":160,"context_line":"* openstack image cache delete-cached-image \u003cIMAGE-ID\u003e"},{"line_number":161,"context_line":"* openstack image cache delete-cached-images"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"Similarly, the glance client could be updated:"},{"line_number":164,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_2aa53b47","line":161,"range":{"start_line":156,"start_character":0,"end_line":161,"end_character":44},"updated":"2019-06-14 05:55:44.000000000","message":"Not a part of this, we are not responsible for adding support to openstackclient.","commit_id":"a27c3fe358828c40b2645eda9c4f6184458a7902"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"015aa2ba5dabaf95ed61aa4ffca479ae58f64473","unresolved":false,"context_lines":[{"line_number":153,"context_line":"Other end user impact"},{"line_number":154,"context_line":"---------------------"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"The OpenStack client should have new commands, such as:"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"* openstack image cache list"},{"line_number":159,"context_line":"* openstack image cache precache \u003cIMAGE-ID\u003e"},{"line_number":160,"context_line":"* openstack image cache delete-cached-image \u003cIMAGE-ID\u003e"},{"line_number":161,"context_line":"* openstack image cache delete-cached-images"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"Similarly, the glance client could be updated:"},{"line_number":164,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_7a8d1829","line":161,"range":{"start_line":156,"start_character":0,"end_line":161,"end_character":44},"in_reply_to":"9fb8cfa7_2aa53b47","updated":"2019-06-17 16:32:03.000000000","message":"Done","commit_id":"a27c3fe358828c40b2645eda9c4f6184458a7902"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"36ef91317881a7b28d8390f6ab1e863c88db78c6","unresolved":false,"context_lines":[{"line_number":160,"context_line":"* openstack image cache delete-cached-image \u003cIMAGE-ID\u003e"},{"line_number":161,"context_line":"* openstack image cache delete-cached-images"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"Similarly, the glance client could be updated:"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"* glance cache-list"},{"line_number":166,"context_line":"* glance cache-precache \u003cIMAGE-ID\u003e"},{"line_number":167,"context_line":"* glance cache-delete \u003cIMAGE-ID\u003e"},{"line_number":168,"context_line":"* glance cache-delete-all"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"Performance Impact"},{"line_number":171,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_6a2253bb","line":168,"range":{"start_line":163,"start_character":0,"end_line":168,"end_character":25},"updated":"2019-06-14 06:01:42.000000000","message":"At the moment cache is local to each glance-node and glance client does not have ability to query specific node unlike cache-manage utility, so how we are going to achieve the same?\n\nAre we going to introduce new command line parameter --host/--port so that glanceclient will able to query specific node or what?","commit_id":"a27c3fe358828c40b2645eda9c4f6184458a7902"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"015aa2ba5dabaf95ed61aa4ffca479ae58f64473","unresolved":false,"context_lines":[{"line_number":160,"context_line":"* openstack image cache delete-cached-image \u003cIMAGE-ID\u003e"},{"line_number":161,"context_line":"* openstack image cache delete-cached-images"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"Similarly, the glance client could be updated:"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"* glance cache-list"},{"line_number":166,"context_line":"* glance cache-precache \u003cIMAGE-ID\u003e"},{"line_number":167,"context_line":"* glance cache-delete \u003cIMAGE-ID\u003e"},{"line_number":168,"context_line":"* glance cache-delete-all"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"Performance Impact"},{"line_number":171,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_ba74f0ff","line":168,"range":{"start_line":163,"start_character":0,"end_line":168,"end_character":25},"in_reply_to":"9fb8cfa7_6a2253bb","updated":"2019-06-17 16:32:03.000000000","message":"According to https://etherpad.openstack.org/p/Glance-Train-PTG-planning (line 55) we aim to deprecate glance-cache-manage, so I think all of its features should be available through glanceclient and this API.\n\nWe could probably add --host/--port (and have sane defaults, like localhost:9292).\n\nAnother solution would be to not have --host/--port, but the operators would have to connect to each node individually to run some operations.\n\nWhat do you think?","commit_id":"a27c3fe358828c40b2645eda9c4f6184458a7902"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"8b5e6683345af70e1a4656a4bbced8ec549fc9bd","unresolved":false,"context_lines":[{"line_number":160,"context_line":"* openstack image cache delete-cached-image \u003cIMAGE-ID\u003e"},{"line_number":161,"context_line":"* openstack image cache delete-cached-images"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"Similarly, the glance client could be updated:"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"* glance cache-list"},{"line_number":166,"context_line":"* glance cache-precache \u003cIMAGE-ID\u003e"},{"line_number":167,"context_line":"* glance cache-delete \u003cIMAGE-ID\u003e"},{"line_number":168,"context_line":"* glance cache-delete-all"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"Performance Impact"},{"line_number":171,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_02950040","line":168,"range":{"start_line":163,"start_character":0,"end_line":168,"end_character":25},"in_reply_to":"9fb8cfa7_8282ddff","updated":"2019-06-26 12:58:39.000000000","message":"I talked to him, and it seems he\u0027d rather keep it simple. We should not introduce --host/--port. Instead, we should rely on his work on rabbitmq.\n\nSo for now, the glanceclient should only be able to work \"locally\".","commit_id":"a27c3fe358828c40b2645eda9c4f6184458a7902"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"d5ee8d46904e9efc58e12892127491acf6215808","unresolved":false,"context_lines":[{"line_number":160,"context_line":"* openstack image cache delete-cached-image \u003cIMAGE-ID\u003e"},{"line_number":161,"context_line":"* openstack image cache delete-cached-images"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"Similarly, the glance client could be updated:"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"* glance cache-list"},{"line_number":166,"context_line":"* glance cache-precache \u003cIMAGE-ID\u003e"},{"line_number":167,"context_line":"* glance cache-delete \u003cIMAGE-ID\u003e"},{"line_number":168,"context_line":"* glance cache-delete-all"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"Performance Impact"},{"line_number":171,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_8282ddff","line":168,"range":{"start_line":163,"start_character":0,"end_line":168,"end_character":25},"in_reply_to":"9fb8cfa7_ba74f0ff","updated":"2019-06-18 04:25:50.000000000","message":"If we add --host/--port parameters to glanceclient then it might have regression to other commands.\n\nThe idea is to add a wrapper around glance-client which will be used for triggering cache commands.\n\nI would like to have Jokke\u0027s opinion about this as well.","commit_id":"a27c3fe358828c40b2645eda9c4f6184458a7902"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"29743869977913f5c4c88613555a6497c0f0de8c","unresolved":false,"context_lines":[{"line_number":170,"context_line":"Performance Impact"},{"line_number":171,"context_line":"------------------"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"Using this API will induce database queries, but should not result in more"},{"line_number":174,"context_line":"queries than the use of \"glance-cache-manage\"."},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"Other deployer impact"},{"line_number":177,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_aab92b79","line":174,"range":{"start_line":173,"start_character":0,"end_line":174,"end_character":46},"updated":"2019-06-14 05:55:44.000000000","message":"None\n\nin this case as we will be using same queries which were used previously.","commit_id":"a27c3fe358828c40b2645eda9c4f6184458a7902"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"015aa2ba5dabaf95ed61aa4ffca479ae58f64473","unresolved":false,"context_lines":[{"line_number":170,"context_line":"Performance Impact"},{"line_number":171,"context_line":"------------------"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"Using this API will induce database queries, but should not result in more"},{"line_number":174,"context_line":"queries than the use of \"glance-cache-manage\"."},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"Other deployer impact"},{"line_number":177,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_da72044a","line":174,"range":{"start_line":173,"start_character":0,"end_line":174,"end_character":46},"in_reply_to":"9fb8cfa7_aab92b79","updated":"2019-06-17 16:32:03.000000000","message":"Done","commit_id":"a27c3fe358828c40b2645eda9c4f6184458a7902"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"29743869977913f5c4c88613555a6497c0f0de8c","unresolved":false,"context_lines":[{"line_number":199,"context_line":"Work Items"},{"line_number":200,"context_line":"----------"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"* Add new API endpoints"},{"line_number":203,"context_line":"* Add python-openstackclient support"},{"line_number":204,"context_line":"* Add python-glanceclient support"},{"line_number":205,"context_line":"* Deprecate glance-cache-manage"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_cac01fe4","line":202,"range":{"start_line":202,"start_character":3,"end_line":202,"end_character":23},"updated":"2019-06-14 05:55:44.000000000","message":"Add new cache endpoint (/v2/cache)","commit_id":"a27c3fe358828c40b2645eda9c4f6184458a7902"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"015aa2ba5dabaf95ed61aa4ffca479ae58f64473","unresolved":false,"context_lines":[{"line_number":199,"context_line":"Work Items"},{"line_number":200,"context_line":"----------"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"* Add new API endpoints"},{"line_number":203,"context_line":"* Add python-openstackclient support"},{"line_number":204,"context_line":"* Add python-glanceclient support"},{"line_number":205,"context_line":"* Deprecate glance-cache-manage"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_faa02894","line":202,"range":{"start_line":202,"start_character":3,"end_line":202,"end_character":23},"in_reply_to":"9fb8cfa7_cac01fe4","updated":"2019-06-17 16:32:03.000000000","message":"Done","commit_id":"a27c3fe358828c40b2645eda9c4f6184458a7902"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"29743869977913f5c4c88613555a6497c0f0de8c","unresolved":false,"context_lines":[{"line_number":200,"context_line":"----------"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"* Add new API endpoints"},{"line_number":203,"context_line":"* Add python-openstackclient support"},{"line_number":204,"context_line":"* Add python-glanceclient support"},{"line_number":205,"context_line":"* Deprecate glance-cache-manage"},{"line_number":206,"context_line":"* Deprecate glance-cache-prefetcher"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_8ae8e77b","line":203,"range":{"start_line":203,"start_character":2,"end_line":203,"end_character":36},"updated":"2019-06-14 05:55:44.000000000","message":"We are not responsible for adding support to openstack client","commit_id":"a27c3fe358828c40b2645eda9c4f6184458a7902"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"015aa2ba5dabaf95ed61aa4ffca479ae58f64473","unresolved":false,"context_lines":[{"line_number":200,"context_line":"----------"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"* Add new API endpoints"},{"line_number":203,"context_line":"* Add python-openstackclient support"},{"line_number":204,"context_line":"* Add python-glanceclient support"},{"line_number":205,"context_line":"* Deprecate glance-cache-manage"},{"line_number":206,"context_line":"* Deprecate glance-cache-prefetcher"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_1a9e5c54","line":203,"range":{"start_line":203,"start_character":2,"end_line":203,"end_character":36},"in_reply_to":"9fb8cfa7_8ae8e77b","updated":"2019-06-17 16:32:03.000000000","message":"Done","commit_id":"a27c3fe358828c40b2645eda9c4f6184458a7902"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"29743869977913f5c4c88613555a6497c0f0de8c","unresolved":false,"context_lines":[{"line_number":204,"context_line":"* Add python-glanceclient support"},{"line_number":205,"context_line":"* Deprecate glance-cache-manage"},{"line_number":206,"context_line":"* Deprecate glance-cache-prefetcher"},{"line_number":207,"context_line":"* Remove glance-registry (currently used by the prefetcher)"},{"line_number":208,"context_line":"* glance-cache-cleaner: use the new endpoints"},{"line_number":209,"context_line":"* glance-cache-pruner: use the new endpoints"},{"line_number":210,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_eac3a3eb","line":207,"range":{"start_line":207,"start_character":0,"end_line":207,"end_character":59},"updated":"2019-06-14 05:55:44.000000000","message":"Removing registry will not be a part of this spec.","commit_id":"a27c3fe358828c40b2645eda9c4f6184458a7902"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"015aa2ba5dabaf95ed61aa4ffca479ae58f64473","unresolved":false,"context_lines":[{"line_number":204,"context_line":"* Add python-glanceclient support"},{"line_number":205,"context_line":"* Deprecate glance-cache-manage"},{"line_number":206,"context_line":"* Deprecate glance-cache-prefetcher"},{"line_number":207,"context_line":"* Remove glance-registry (currently used by the prefetcher)"},{"line_number":208,"context_line":"* glance-cache-cleaner: use the new endpoints"},{"line_number":209,"context_line":"* glance-cache-pruner: use the new endpoints"},{"line_number":210,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_baaab06e","line":207,"range":{"start_line":207,"start_character":0,"end_line":207,"end_character":59},"in_reply_to":"9fb8cfa7_eac3a3eb","updated":"2019-06-17 16:32:03.000000000","message":"Done","commit_id":"a27c3fe358828c40b2645eda9c4f6184458a7902"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"29743869977913f5c4c88613555a6497c0f0de8c","unresolved":false,"context_lines":[{"line_number":205,"context_line":"* Deprecate glance-cache-manage"},{"line_number":206,"context_line":"* Deprecate glance-cache-prefetcher"},{"line_number":207,"context_line":"* Remove glance-registry (currently used by the prefetcher)"},{"line_number":208,"context_line":"* glance-cache-cleaner: use the new endpoints"},{"line_number":209,"context_line":"* glance-cache-pruner: use the new endpoints"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_0a9157f1","line":209,"range":{"start_line":208,"start_character":0,"end_line":209,"end_character":44},"updated":"2019-06-14 05:55:44.000000000","message":"pruner and cleaner has no impact after adding new API endpoint.","commit_id":"a27c3fe358828c40b2645eda9c4f6184458a7902"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"015aa2ba5dabaf95ed61aa4ffca479ae58f64473","unresolved":false,"context_lines":[{"line_number":205,"context_line":"* Deprecate glance-cache-manage"},{"line_number":206,"context_line":"* Deprecate glance-cache-prefetcher"},{"line_number":207,"context_line":"* Remove glance-registry (currently used by the prefetcher)"},{"line_number":208,"context_line":"* glance-cache-cleaner: use the new endpoints"},{"line_number":209,"context_line":"* glance-cache-pruner: use the new endpoints"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fb8cfa7_7ab678df","line":209,"range":{"start_line":208,"start_character":0,"end_line":209,"end_character":44},"in_reply_to":"9fb8cfa7_0a9157f1","updated":"2019-06-17 16:32:03.000000000","message":"Done","commit_id":"a27c3fe358828c40b2645eda9c4f6184458a7902"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"536a427b1053515d3cc2be5aeaca90c6706a17b9","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"* Users would have to deal with fewer commands (the glance-cache-prefetcher"},{"line_number":28,"context_line":"  features would be part of the OpenStack client and the Glance client);"},{"line_number":29,"context_line":"* Along with the planned work on cluster awareness, this would make it easier to"},{"line_number":30,"context_line":"  manage split deployments (multiple glance-api nodes on different locations)"},{"line_number":31,"context_line":"* Operators could stop deploying glance-registry (some of them already though,"},{"line_number":32,"context_line":"  and it is an issue)"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7faddb67_dfcbb2a2","line":30,"range":{"start_line":29,"start_character":0,"end_line":30,"end_character":77},"updated":"2019-07-08 13:59:19.000000000","message":"we need to plan the api from ground up this in mind. We definitely do not want dozen API endpoints behaving slightly different. Nor we want to break the API when the cluster awareness gets enabled for it.","commit_id":"4df3e6fe5200eb713dea779ebb06b84a9b1417ff"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"536a427b1053515d3cc2be5aeaca90c6706a17b9","unresolved":false,"context_lines":[{"line_number":45,"context_line":"* Delete all images from the cache"},{"line_number":46,"context_line":"* Pre-cache an image"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"We would like to get rid of the queuing operation, so no new API endpoints will"},{"line_number":49,"context_line":"be added for queue-related operations."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Alternatives"},{"line_number":52,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7faddb67_dff2d206","line":49,"range":{"start_line":48,"start_character":1,"end_line":49,"end_character":38},"updated":"2019-07-08 13:59:19.000000000","message":"I\u0027d say we rather want to keep the queue that giving anyone opportunity to overwhelm the node with IO by precaching tons of images at once. Probably showing the queued images on the listing and even some level of status indication for the one that is currently under works. If queued image gets issued delete call, it just gets deleted from the Q.","commit_id":"4df3e6fe5200eb713dea779ebb06b84a9b1417ff"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"36c4ee072ce89bff7120ce2dcc0d226edb017ca6","unresolved":false,"context_lines":[{"line_number":45,"context_line":"* Delete all images from the cache"},{"line_number":46,"context_line":"* Pre-cache an image"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"We would like to get rid of the queuing operation, so no new API endpoints will"},{"line_number":49,"context_line":"be added for queue-related operations."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Alternatives"},{"line_number":52,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7faddb67_69c34858","line":49,"range":{"start_line":48,"start_character":1,"end_line":49,"end_character":38},"in_reply_to":"7faddb67_dff2d206","updated":"2019-07-18 09:20:23.000000000","message":"Agree","commit_id":"4df3e6fe5200eb713dea779ebb06b84a9b1417ff"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"536a427b1053515d3cc2be5aeaca90c6706a17b9","unresolved":false,"context_lines":[{"line_number":104,"context_line":""},{"line_number":105,"context_line":"* 200 -- Upon authorization and successful request. The response body"},{"line_number":106,"context_line":"  contains the JSON payload with the cached images."},{"line_number":107,"context_line":""},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"**[New API] Delete an image from the cache**"},{"line_number":110,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7faddb67_bf66f6ec","line":107,"updated":"2019-07-08 13:59:19.000000000","message":"Probably 403 here as well","commit_id":"4df3e6fe5200eb713dea779ebb06b84a9b1417ff"}],"specs/victoria/approved/glance/cache-api.rst":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"087acc4498888cf2c7ff98839c8dd89db33d588f","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/glance/+spec/cache-api"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The glance-cache-prefetcher command currently depends on the glance registry."},{"line_number":14,"context_line":"Since the latter has been deprecated, this is an issue. We should instead rely"},{"line_number":15,"context_line":"on the v2 API, that we propose to extend in this blueprint. Doing so will also"},{"line_number":16,"context_line":"help user with split deployments, in which the glance-api nodes are in different"},{"line_number":17,"context_line":"locations."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bf51134e_c94f96bc","line":17,"range":{"start_line":13,"start_character":0,"end_line":17,"end_character":10},"updated":"2020-07-17 16:39:38.000000000","message":"Now we have removed dependency of prefetcher on registry and its connect with API now. Even we have managed to removed registry code this cycle.\n\nSo we need to restructure this spec accordingly.","commit_id":"5419a614090ce9d205015dcce42817e25fbe360d"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"82cbae7afe6737cad5db461fb26eb940318b2a4d","unresolved":false,"context_lines":[{"line_number":23,"context_line":"* Along with the planned work on cluster awareness, this would make it easier to"},{"line_number":24,"context_line":"  manage split deployments (multiple glance-api nodes on different locations)"},{"line_number":25,"context_line":"* Users would have to deal with fewer commands since the"},{"line_number":26,"context_line":"  glance-cache-prefetcher features could become part of the glance client."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bf51134e_828ec22f","line":26,"range":{"start_line":26,"start_character":2,"end_line":26,"end_character":73},"updated":"2020-07-23 07:37:07.000000000","message":"glance-cache-prefetcher is now part of glance-api and it runs as a periodic job. We will not make if part of glance client.","commit_id":"1021cd0f1cb16f0ea928c8b71a05d21a5ce7bbb0"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"82cbae7afe6737cad5db461fb26eb940318b2a4d","unresolved":false,"context_lines":[{"line_number":34,"context_line":"the \"glance-cache-manage\" tool. These are the operations we would like to"},{"line_number":35,"context_line":"support:"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"* List cached images"},{"line_number":38,"context_line":"* Delete an image from the cache"},{"line_number":39,"context_line":"* Delete all images from the cache"},{"line_number":40,"context_line":"* Pre-cache an image"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"We would like to get rid of the queuing operation, so no new API endpoints will"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bf51134e_6283ae05","line":39,"range":{"start_line":37,"start_character":0,"end_line":39,"end_character":34},"updated":"2020-07-23 07:37:07.000000000","message":"List cached images\nList queued images\nQueue image for caching\nDelete queued image\nDelete cached image","commit_id":"1021cd0f1cb16f0ea928c8b71a05d21a5ce7bbb0"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"82cbae7afe6737cad5db461fb26eb940318b2a4d","unresolved":false,"context_lines":[{"line_number":37,"context_line":"* List cached images"},{"line_number":38,"context_line":"* Delete an image from the cache"},{"line_number":39,"context_line":"* Delete all images from the cache"},{"line_number":40,"context_line":"* Pre-cache an image"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"We would like to get rid of the queuing operation, so no new API endpoints will"},{"line_number":43,"context_line":"be added for queue-related operations."}],"source_content_type":"text/x-rst","patch_set":4,"id":"bf51134e_2289b625","line":40,"range":{"start_line":40,"start_character":2,"end_line":40,"end_character":20},"updated":"2020-07-23 07:37:07.000000000","message":"We are not going to add this API","commit_id":"1021cd0f1cb16f0ea928c8b71a05d21a5ce7bbb0"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"c281d5abd48152d08ec5a5768a6064bf880d3bd5","unresolved":false,"context_lines":[{"line_number":37,"context_line":"* List cached images"},{"line_number":38,"context_line":"* Delete an image from the cache"},{"line_number":39,"context_line":"* Delete all images from the cache"},{"line_number":40,"context_line":"* Pre-cache an image"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"We would like to get rid of the queuing operation, so no new API endpoints will"},{"line_number":43,"context_line":"be added for queue-related operations."}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f621f24_1690f6ec","line":40,"range":{"start_line":40,"start_character":2,"end_line":40,"end_character":20},"in_reply_to":"1f621f24_fbed63b7","updated":"2020-11-11 06:00:52.000000000","message":"It is already part of API as a periodic job, What I meant to say here is we will not have API call to pre-cache image.","commit_id":"1021cd0f1cb16f0ea928c8b71a05d21a5ce7bbb0"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"1587d1b6401605661cfd3524bd1133b7c36b1eea","unresolved":false,"context_lines":[{"line_number":37,"context_line":"* List cached images"},{"line_number":38,"context_line":"* Delete an image from the cache"},{"line_number":39,"context_line":"* Delete all images from the cache"},{"line_number":40,"context_line":"* Pre-cache an image"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"We would like to get rid of the queuing operation, so no new API endpoints will"},{"line_number":43,"context_line":"be added for queue-related operations."}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f621f24_fbed63b7","line":40,"range":{"start_line":40,"start_character":2,"end_line":40,"end_character":20},"in_reply_to":"bf51134e_2289b625","updated":"2020-11-10 12:53:49.000000000","message":"So if we are not going to add pre-caching to the API how is one supposed to do it?","commit_id":"1021cd0f1cb16f0ea928c8b71a05d21a5ce7bbb0"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"076df7f33e628881df455ae3c5626ac28392155f","unresolved":false,"context_lines":[{"line_number":37,"context_line":"* List cached images"},{"line_number":38,"context_line":"* Delete an image from the cache"},{"line_number":39,"context_line":"* Delete all images from the cache"},{"line_number":40,"context_line":"* Pre-cache an image"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"We would like to get rid of the queuing operation, so no new API endpoints will"},{"line_number":43,"context_line":"be added for queue-related operations."}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f621f24_1c1b941b","line":40,"range":{"start_line":40,"start_character":2,"end_line":40,"end_character":20},"in_reply_to":"bf51134e_2289b625","updated":"2020-10-28 14:47:49.000000000","message":"This being the immediate \"cache this now\" action, as opposed to \"please cache this the next time the periodic runs\" right?","commit_id":"1021cd0f1cb16f0ea928c8b71a05d21a5ce7bbb0"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"1587d1b6401605661cfd3524bd1133b7c36b1eea","unresolved":false,"context_lines":[{"line_number":39,"context_line":"* Delete all images from the cache"},{"line_number":40,"context_line":"* Pre-cache an image"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"We would like to get rid of the queuing operation, so no new API endpoints will"},{"line_number":43,"context_line":"be added for queue-related operations."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Alternatives"},{"line_number":46,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f621f24_9bfd4f70","line":43,"range":{"start_line":42,"start_character":0,"end_line":43,"end_character":38},"updated":"2020-11-10 12:53:49.000000000","message":"I\u0027m not sure this is the right thing to do. If we move the cache to operate synchronous manner, it\u0027s literally the opposite of what we have been doing with rest of the API trying to avoid holding the client connection hostage forlonger operations.","commit_id":"1021cd0f1cb16f0ea928c8b71a05d21a5ce7bbb0"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"c281d5abd48152d08ec5a5768a6064bf880d3bd5","unresolved":false,"context_lines":[{"line_number":39,"context_line":"* Delete all images from the cache"},{"line_number":40,"context_line":"* Pre-cache an image"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"We would like to get rid of the queuing operation, so no new API endpoints will"},{"line_number":43,"context_line":"be added for queue-related operations."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Alternatives"},{"line_number":46,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f621f24_b622e2b7","line":43,"range":{"start_line":42,"start_character":0,"end_line":43,"end_character":38},"in_reply_to":"1f621f24_9bfd4f70","updated":"2020-11-11 06:00:52.000000000","message":"Not sure how I missed it, but we need queueing operations","commit_id":"1021cd0f1cb16f0ea928c8b71a05d21a5ce7bbb0"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"82cbae7afe6737cad5db461fb26eb940318b2a4d","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"**New API**"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"* List cached images"},{"line_number":67,"context_line":"* Delete a cached image"},{"line_number":68,"context_line":"* Delete cached images"},{"line_number":69,"context_line":"* Pre-cache an image"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"**Common Response Codes**"},{"line_number":72,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"bf51134e_a27ca620","line":69,"range":{"start_line":66,"start_character":0,"end_line":69,"end_character":20},"updated":"2020-07-23 07:37:07.000000000","message":"Ditto as line 39 and 40","commit_id":"1021cd0f1cb16f0ea928c8b71a05d21a5ce7bbb0"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"1587d1b6401605661cfd3524bd1133b7c36b1eea","unresolved":false,"context_lines":[{"line_number":76,"context_line":"* Forbidden: `403 Forbidden`"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"**[New API] List cached images**"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"List all images cached on this node::"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    GET /v2/cache"},{"line_number":84,"context_line":"    {"},{"line_number":85,"context_line":"       \"cached_images\": ["},{"line_number":86,"context_line":"          {"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f621f24_3bcd1b31","line":83,"range":{"start_line":79,"start_character":0,"end_line":83,"end_character":17},"updated":"2020-11-10 12:53:49.000000000","message":"So we do have already /v2/cached_images and /v2/queued_images handled by glance/api/v2/cached_images.py as this is release stable API we should a) not change the endpoints and b) align this spec based on the existing endpoints and their features. What is missing from there or additional optional parameters can be added but we just can\u0027t go and break those endpoints willy nilly.\n\nThis is unfortunate as it does prevent my PTG proposal of having all the cache related functions behind single entry-point under the API, but it is what it is.","commit_id":"1021cd0f1cb16f0ea928c8b71a05d21a5ce7bbb0"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"c281d5abd48152d08ec5a5768a6064bf880d3bd5","unresolved":false,"context_lines":[{"line_number":76,"context_line":"* Forbidden: `403 Forbidden`"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"**[New API] List cached images**"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"List all images cached on this node::"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"    GET /v2/cache"},{"line_number":84,"context_line":"    {"},{"line_number":85,"context_line":"       \"cached_images\": ["},{"line_number":86,"context_line":"          {"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f621f24_15d8e378","line":83,"range":{"start_line":79,"start_character":0,"end_line":83,"end_character":17},"in_reply_to":"1f621f24_3bcd1b31","updated":"2020-11-11 06:00:52.000000000","message":"AFAIK, this is not yet officially routed under API mapper and still part of cache middleware (means these API will be available only if cache_manage middleware is enabled.) If we move this officially under /V2 then it will became part of glance API officially.\n\nStill if you think we should not do this then I need to add same /cahced_images and /queued_images mapping under V2 router mapping.","commit_id":"1021cd0f1cb16f0ea928c8b71a05d21a5ce7bbb0"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"076df7f33e628881df455ae3c5626ac28392155f","unresolved":false,"context_lines":[{"line_number":92,"context_line":"             \"checksum\": \"6788146b9d3fddc8dd03d86bfe9239b0\""},{"line_number":93,"context_line":"          },"},{"line_number":94,"context_line":"       ]"},{"line_number":95,"context_line":"    }"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Response codes:"},{"line_number":98,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f621f24_7caf2894","line":95,"updated":"2020-10-28 14:47:49.000000000","message":"What\u0027s the plan for this to be cluster-aware? I would expect this needs to take a list of hosts or something that will have the image cached, or some grouping construct. In Nova, we have aggregates, which group hosts in some way, and the image cache API takes an aggregate reference to say \"this image needs to be cached on the hosts in this group.\"\n\nI\u0027m assuming that once the cluster-aware stuff is here, what happens is a call to cache an image lands on one of the workers, and that worker is responsible for dispatching the request to the others so they all know about it, right? I\u0027m sure the proposal is not that any cached image is cached everywhere, so what\u0027s the scoping construct used to control which workers will cache an image?\n\nI think it was said that the cache accounting is done node-local in a sqlite database, which means the cache call has to fan out to all the workers as described above. Is there some reason it\u0027s not in the main database such that the worker who receives the call can just make note in the database for the periodic to see?","commit_id":"1021cd0f1cb16f0ea928c8b71a05d21a5ce7bbb0"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"c281d5abd48152d08ec5a5768a6064bf880d3bd5","unresolved":false,"context_lines":[{"line_number":92,"context_line":"             \"checksum\": \"6788146b9d3fddc8dd03d86bfe9239b0\""},{"line_number":93,"context_line":"          },"},{"line_number":94,"context_line":"       ]"},{"line_number":95,"context_line":"    }"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Response codes:"},{"line_number":98,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f621f24_f551e7da","line":95,"in_reply_to":"1f621f24_7caf2894","updated":"2020-11-11 06:00:52.000000000","message":"Need to address this in new revision.","commit_id":"1021cd0f1cb16f0ea928c8b71a05d21a5ce7bbb0"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"076df7f33e628881df455ae3c5626ac28392155f","unresolved":false,"context_lines":[{"line_number":136,"context_line":"Security impact"},{"line_number":137,"context_line":"---------------"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"Permissions should be checked properly before pre-caching or deleting an image."},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"Notifications impact"},{"line_number":142,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f621f24_9c832405","line":139,"updated":"2020-10-28 14:47:49.000000000","message":"Does this mean a new policy rule? Presumably there should be rules for:\n\n * listing cached images\n * showing a cached image\n * deleting a cached image\n\n...and the same for the queue as well.","commit_id":"1021cd0f1cb16f0ea928c8b71a05d21a5ce7bbb0"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"c281d5abd48152d08ec5a5768a6064bf880d3bd5","unresolved":false,"context_lines":[{"line_number":136,"context_line":"Security impact"},{"line_number":137,"context_line":"---------------"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"Permissions should be checked properly before pre-caching or deleting an image."},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"Notifications impact"},{"line_number":142,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f621f24_755797cb","line":139,"in_reply_to":"1f621f24_7b37934e","updated":"2020-11-11 06:00:52.000000000","message":"there is already an existing policy called as manage_image_cache we can utilize that or else introduce new one for each of the api call.","commit_id":"1021cd0f1cb16f0ea928c8b71a05d21a5ce7bbb0"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"1587d1b6401605661cfd3524bd1133b7c36b1eea","unresolved":false,"context_lines":[{"line_number":136,"context_line":"Security impact"},{"line_number":137,"context_line":"---------------"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"Permissions should be checked properly before pre-caching or deleting an image."},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"Notifications impact"},{"line_number":142,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1f621f24_7b37934e","line":139,"in_reply_to":"1f621f24_9c832405","updated":"2020-11-10 12:53:49.000000000","message":"++","commit_id":"1021cd0f1cb16f0ea928c8b71a05d21a5ce7bbb0"}],"specs/xena/approved/glance/cache-api.rst":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f675cda99e2dc4076f12f0d068188288a58bc84c","unresolved":true,"context_lines":[{"line_number":142,"context_line":"Security impact"},{"line_number":143,"context_line":"---------------"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"Permissions should be checked properly before deleting the images from cache."},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"Notifications impact"},{"line_number":148,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"00d08223_e57bc2c5","line":145,"updated":"2021-06-01 14:15:28.000000000","message":"What permission rules specifically?","commit_id":"7475c021179897532618f64056df8f3ba7aa0b07"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"5f3077af90c1137872b3f5dabcf500589e1886c3","unresolved":true,"context_lines":[{"line_number":142,"context_line":"Security impact"},{"line_number":143,"context_line":"---------------"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"Permissions should be checked properly before deleting the images from cache."},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"Notifications impact"},{"line_number":148,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"293076a6_0e98fc7a","line":145,"in_reply_to":"00d08223_e57bc2c5","updated":"2021-06-01 14:37:55.000000000","message":"I thought user should have permission to queue image for caching, so it should use policy used for create_image or has its own?","commit_id":"7475c021179897532618f64056df8f3ba7aa0b07"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"536e38765d87c02114dc850fae1caac800d1e570","unresolved":false,"context_lines":[{"line_number":142,"context_line":"Security impact"},{"line_number":143,"context_line":"---------------"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"Permissions should be checked properly before deleting the images from cache."},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"Notifications impact"},{"line_number":148,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"335a01b5_bc392e95","line":145,"in_reply_to":"1436daba_b0afa8e7","updated":"2021-06-02 13:41:26.000000000","message":"No, I would not think that you would want this. Cache space is limited on each node. If every user decides to cache every image, there won\u0027t be cache space for all of them.\n\nI think the use-case for this is so that admins can pre-cache images that are commonly-used, like the default ubuntu and windows images. Also for an edge operator to make sure that images are cached on specific workers at specific sites so that they don\u0027t have to take a long download hit on the first boot.","commit_id":"7475c021179897532618f64056df8f3ba7aa0b07"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"77cde550a33e776c1e6477a981f65f4b6bea3982","unresolved":false,"context_lines":[{"line_number":142,"context_line":"Security impact"},{"line_number":143,"context_line":"---------------"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"Permissions should be checked properly before deleting the images from cache."},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"Notifications impact"},{"line_number":148,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1436daba_b0afa8e7","line":145,"in_reply_to":"293076a6_0e98fc7a","updated":"2021-06-02 05:44:19.000000000","message":"Done","commit_id":"7475c021179897532618f64056df8f3ba7aa0b07"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f675cda99e2dc4076f12f0d068188288a58bc84c","unresolved":true,"context_lines":[{"line_number":158,"context_line":"* glance cache-list"},{"line_number":159,"context_line":"* glance queue-image \u003cIMAGE-ID\u003e"},{"line_number":160,"context_line":"* glance cache-delete \u003cIMAGE-ID\u003e"},{"line_number":161,"context_line":"* glance cache-delete-all"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"Performance Impact"},{"line_number":164,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"73fc4c05_05df7cf1","line":161,"updated":"2021-06-01 14:15:28.000000000","message":"These commands would go directly to the public endpoint and affect only one unknown worker. In a real deployment all of these in a row would hit *different* workers and be super confusing.\n\nHow does one target a specific worker? Presumably a direct URL override option on the command-line?\n\nI wonder if it would make sense to make these commands *refuse* to run without such a direct override? Otherwise just using them as shown here is almost certainly going to confuse everyone with a larger deployment than devstack.","commit_id":"7475c021179897532618f64056df8f3ba7aa0b07"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"77cde550a33e776c1e6477a981f65f4b6bea3982","unresolved":false,"context_lines":[{"line_number":158,"context_line":"* glance cache-list"},{"line_number":159,"context_line":"* glance queue-image \u003cIMAGE-ID\u003e"},{"line_number":160,"context_line":"* glance cache-delete \u003cIMAGE-ID\u003e"},{"line_number":161,"context_line":"* glance cache-delete-all"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"Performance Impact"},{"line_number":164,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"92b6ebf3_3e07d7bd","line":161,"in_reply_to":"3874dde3_5f047664","updated":"2021-06-02 05:44:19.000000000","message":"Done","commit_id":"7475c021179897532618f64056df8f3ba7aa0b07"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"5f3077af90c1137872b3f5dabcf500589e1886c3","unresolved":true,"context_lines":[{"line_number":158,"context_line":"* glance cache-list"},{"line_number":159,"context_line":"* glance queue-image \u003cIMAGE-ID\u003e"},{"line_number":160,"context_line":"* glance cache-delete \u003cIMAGE-ID\u003e"},{"line_number":161,"context_line":"* glance cache-delete-all"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"Performance Impact"},{"line_number":164,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3874dde3_5f047664","line":161,"in_reply_to":"73fc4c05_05df7cf1","updated":"2021-06-01 14:37:55.000000000","message":"+1, I think I will add one more lite-spec for python-glanceclient implementation and explain it there?","commit_id":"7475c021179897532618f64056df8f3ba7aa0b07"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f675cda99e2dc4076f12f0d068188288a58bc84c","unresolved":true,"context_lines":[{"line_number":168,"context_line":"Other deployer impact"},{"line_number":169,"context_line":"---------------------"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"None"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"Developer impact"},{"line_number":174,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"27b59629_02779af6","line":171,"updated":"2021-06-01 14:15:28.000000000","message":"It seems like saying this will have no impact is kinda misleading. I think that today admins run the local image caching commands _on_ the node that they intend to target right? Presumably with ansible or something else that knows all of the nodes and their roles, caching from a manifest of golden images. Are you expecting them to have glance client installed on those nodes, have it read glance-api.conf and connect to localhost? That would likely be a change there (having glance client installed on a worker node), but I\u0027m guessing not. Even still, WSGI services won\u0027t have the port (or the right one) configured and you won\u0027t really be able to deduce the correct URL reliably.\n\nIf you\u0027re expecting this to be used remotely (I assume you are), operators will need to know the direct URL of each worker node from behind the load balancer, right? Will they provide that URL to the glance client as an override?","commit_id":"7475c021179897532618f64056df8f3ba7aa0b07"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"5f3077af90c1137872b3f5dabcf500589e1886c3","unresolved":true,"context_lines":[{"line_number":168,"context_line":"Other deployer impact"},{"line_number":169,"context_line":"---------------------"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"None"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"Developer impact"},{"line_number":174,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"73eeec01_257b6279","line":171,"in_reply_to":"27b59629_02779af6","updated":"2021-06-01 14:37:55.000000000","message":"Yep, this is a valid point, I think existing glance-cache-manage use to have --host and --port options, so we should use them in glance-client as well.","commit_id":"7475c021179897532618f64056df8f3ba7aa0b07"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"77cde550a33e776c1e6477a981f65f4b6bea3982","unresolved":false,"context_lines":[{"line_number":168,"context_line":"Other deployer impact"},{"line_number":169,"context_line":"---------------------"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"None"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"Developer impact"},{"line_number":174,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"32b270af_97e750cc","line":171,"in_reply_to":"73eeec01_257b6279","updated":"2021-06-02 05:44:19.000000000","message":"Done","commit_id":"7475c021179897532618f64056df8f3ba7aa0b07"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f675cda99e2dc4076f12f0d068188288a58bc84c","unresolved":true,"context_lines":[{"line_number":207,"context_line":"Testing"},{"line_number":208,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"* The new API endpoints should be tested using Tempest tests."},{"line_number":211,"context_line":""},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"a93b154f_993f29b7","line":210,"updated":"2021-06-01 14:15:28.000000000","message":"We have a two-glance job for distributed-import, so we should be able to test that each returns a different set of image cache results, but we probably need to modify devstack to have them place their cache dir/db in different places. I definitely think that a tempest test should be required, since it should be quite easy to write, given the existing infrastructure we have.","commit_id":"7475c021179897532618f64056df8f3ba7aa0b07"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"5f3077af90c1137872b3f5dabcf500589e1886c3","unresolved":true,"context_lines":[{"line_number":207,"context_line":"Testing"},{"line_number":208,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"* The new API endpoints should be tested using Tempest tests."},{"line_number":211,"context_line":""},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"c0749502_bb0bacff","line":210,"in_reply_to":"a93b154f_993f29b7","updated":"2021-06-01 14:37:55.000000000","message":"Thank you for pointing this out!","commit_id":"7475c021179897532618f64056df8f3ba7aa0b07"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"77cde550a33e776c1e6477a981f65f4b6bea3982","unresolved":true,"context_lines":[{"line_number":207,"context_line":"Testing"},{"line_number":208,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"* The new API endpoints should be tested using Tempest tests."},{"line_number":211,"context_line":""},{"line_number":212,"context_line":""},{"line_number":213,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"793ab147_8f2e497f","line":210,"in_reply_to":"c0749502_bb0bacff","updated":"2021-06-02 05:44:19.000000000","message":"Added this point as workitem","commit_id":"7475c021179897532618f64056df8f3ba7aa0b07"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"f675cda99e2dc4076f12f0d068188288a58bc84c","unresolved":true,"context_lines":[{"line_number":213,"context_line":"Documentation Impact"},{"line_number":214,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"* The API documentation will need to be updated"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ec5da0c4_93359677","line":216,"updated":"2021-06-01 14:15:28.000000000","message":"This is helpful when grokking the above, since the general per-node caching model isn\u0027t covered in this spec:\n\nhttps://docs.openstack.org/glance/victoria/admin/cache.html\n\nProbably worth adding.","commit_id":"7475c021179897532618f64056df8f3ba7aa0b07"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"77cde550a33e776c1e6477a981f65f4b6bea3982","unresolved":false,"context_lines":[{"line_number":213,"context_line":"Documentation Impact"},{"line_number":214,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"* The API documentation will need to be updated"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5d117eac_cf764222","line":216,"in_reply_to":"847d4b2a_c71becf0","updated":"2021-06-02 05:44:19.000000000","message":"Done","commit_id":"7475c021179897532618f64056df8f3ba7aa0b07"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"5f3077af90c1137872b3f5dabcf500589e1886c3","unresolved":true,"context_lines":[{"line_number":213,"context_line":"Documentation Impact"},{"line_number":214,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"* The API documentation will need to be updated"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":5,"id":"847d4b2a_c71becf0","line":216,"in_reply_to":"ec5da0c4_93359677","updated":"2021-06-01 14:37:55.000000000","message":"+1","commit_id":"7475c021179897532618f64056df8f3ba7aa0b07"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"536e38765d87c02114dc850fae1caac800d1e570","unresolved":true,"context_lines":[{"line_number":46,"context_line":"and will be marked as stable in following cycle."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Either existing policies like \"create_image\", \"delete_image\" or new policies"},{"line_number":49,"context_line":"\"queue_image\", \"delete_cached_image\" should be enforced so that user with"},{"line_number":50,"context_line":"appropriate permissions can perform these operations."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":6,"id":"305df2d1_100ca918","line":49,"range":{"start_line":49,"start_character":1,"end_line":49,"end_character":12},"updated":"2021-06-02 13:41:26.000000000","message":"I think \"cache_image\" would be a much more logical choice.\n\nI definitely think this _has_ to be different permissions than create_image and delete_image.","commit_id":"ef1d1b66354b86e7da3b183805ed334aa6d9395c"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1e13e31a7db999deaaa7a62552a5c56dbfbde19b","unresolved":true,"context_lines":[{"line_number":46,"context_line":"and will be marked as stable in following cycle."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Either existing policies like \"create_image\", \"delete_image\" or new policies"},{"line_number":49,"context_line":"\"queue_image\", \"delete_cached_image\" should be enforced so that user with"},{"line_number":50,"context_line":"appropriate permissions can perform these operations."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":6,"id":"abcbc330_06fbc29f","line":49,"range":{"start_line":49,"start_character":1,"end_line":49,"end_character":12},"in_reply_to":"305df2d1_100ca918","updated":"2021-06-02 13:59:30.000000000","message":"Ack","commit_id":"ef1d1b66354b86e7da3b183805ed334aa6d9395c"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"536e38765d87c02114dc850fae1caac800d1e570","unresolved":true,"context_lines":[{"line_number":161,"context_line":"The glance client should be updated, with new commands:"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"* glance cache-list"},{"line_number":164,"context_line":"* glance queue-image \u003cIMAGE-ID\u003e"},{"line_number":165,"context_line":"* glance cache-delete \u003cIMAGE-ID\u003e"},{"line_number":166,"context_line":"* glance cache-delete-all"},{"line_number":167,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"10614e0d_7e6c1c1f","line":164,"range":{"start_line":164,"start_character":9,"end_line":164,"end_character":20},"updated":"2021-06-02 13:41:26.000000000","message":"If we are going to be defining new commands in glanceclient, is there any reason not to call this cache-image? I think it makes a lot more sense than queue-image. I\u0027m guessing the existing tool name provides the context, but in glance client itself, this won\u0027t obviously be related to caching.","commit_id":"ef1d1b66354b86e7da3b183805ed334aa6d9395c"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1e13e31a7db999deaaa7a62552a5c56dbfbde19b","unresolved":true,"context_lines":[{"line_number":161,"context_line":"The glance client should be updated, with new commands:"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"* glance cache-list"},{"line_number":164,"context_line":"* glance queue-image \u003cIMAGE-ID\u003e"},{"line_number":165,"context_line":"* glance cache-delete \u003cIMAGE-ID\u003e"},{"line_number":166,"context_line":"* glance cache-delete-all"},{"line_number":167,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"93974083_1d46379b","line":164,"range":{"start_line":164,"start_character":9,"end_line":164,"end_character":20},"in_reply_to":"10614e0d_7e6c1c1f","updated":"2021-06-02 13:59:30.000000000","message":"sounds good","commit_id":"ef1d1b66354b86e7da3b183805ed334aa6d9395c"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"536e38765d87c02114dc850fae1caac800d1e570","unresolved":true,"context_lines":[{"line_number":234,"context_line":"References"},{"line_number":235,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":6,"id":"88e38bc0_73250c4f","line":237,"updated":"2021-06-02 13:41:26.000000000","message":"FWIW, I meant to add this to the references section:\n\nhttps://docs.openstack.org/glance/victoria/admin/cache.html\n\nI guess I commented on the doc one, so that probably wasn\u0027t clear.","commit_id":"ef1d1b66354b86e7da3b183805ed334aa6d9395c"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1e13e31a7db999deaaa7a62552a5c56dbfbde19b","unresolved":false,"context_lines":[{"line_number":234,"context_line":"References"},{"line_number":235,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":236,"context_line":""},{"line_number":237,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":6,"id":"b2eb38c2_326f6abb","line":237,"in_reply_to":"88e38bc0_73250c4f","updated":"2021-06-02 13:59:30.000000000","message":"Ack","commit_id":"ef1d1b66354b86e7da3b183805ed334aa6d9395c"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"c2c688f65dde217850e9db3ca1d6a890522212c4","unresolved":true,"context_lines":[{"line_number":46,"context_line":"and will be marked as stable in following cycle."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"In addition to above proposed change this will introduce two new policies"},{"line_number":49,"context_line":"\"cache_image\" and \"delete_cache\" so that user with appropriate permissions"},{"line_number":50,"context_line":"can perform these operations. It is recommended to keep \"cache-image\" and"},{"line_number":51,"context_line":"\"delete-cache\" operations limited to admin use only."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"Alternatives"},{"line_number":54,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"60e9c7a3_100719ed","line":51,"range":{"start_line":49,"start_character":0,"end_line":51,"end_character":14},"updated":"2021-06-02 15:04:18.000000000","message":"NIT: Either \"_\" or \"-\" specially in single paragraph ;)\n\nAlso can we be consistent with the names, maybe \"cache_queue\", \"cache_delete\" and \"cache_list\" just like on the client examples below rather than swapping the order around.\n\nListing should be under it\u0027s own policy rule to ease up the read-only roles etc.","commit_id":"1f464d59980296ec3ea13ca3682866c50d7a36c2"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"e4baf7ec77e1db668a0f9e6b4d00e55080be7441","unresolved":false,"context_lines":[{"line_number":46,"context_line":"and will be marked as stable in following cycle."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"In addition to above proposed change this will introduce two new policies"},{"line_number":49,"context_line":"\"cache_image\" and \"delete_cache\" so that user with appropriate permissions"},{"line_number":50,"context_line":"can perform these operations. It is recommended to keep \"cache-image\" and"},{"line_number":51,"context_line":"\"delete-cache\" operations limited to admin use only."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"Alternatives"},{"line_number":54,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5098aef2_62b0e7c1","line":51,"range":{"start_line":49,"start_character":0,"end_line":51,"end_character":14},"in_reply_to":"60e9c7a3_100719ed","updated":"2021-06-02 15:20:28.000000000","message":"Ack","commit_id":"1f464d59980296ec3ea13ca3682866c50d7a36c2"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"d2964552645d4d262ec014e225396f08dec04a79","unresolved":true,"context_lines":[{"line_number":122,"context_line":"* 204 -- The image was deleted"},{"line_number":123,"context_line":"* 403 -- Permission denied"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"**[New API] Delete all queued or cached iamges**"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"Delete all queued or cached images::"},{"line_number":128,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"c4979801_58679b63","line":125,"range":{"start_line":125,"start_character":40,"end_line":125,"end_character":46},"updated":"2021-06-02 15:09:19.000000000","message":"NIT: \"images\"","commit_id":"1f464d59980296ec3ea13ca3682866c50d7a36c2"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"e4baf7ec77e1db668a0f9e6b4d00e55080be7441","unresolved":false,"context_lines":[{"line_number":122,"context_line":"* 204 -- The image was deleted"},{"line_number":123,"context_line":"* 403 -- Permission denied"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"**[New API] Delete all queued or cached iamges**"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"Delete all queued or cached images::"},{"line_number":128,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"9885aa9f_98b1bbca","line":125,"range":{"start_line":125,"start_character":40,"end_line":125,"end_character":46},"in_reply_to":"c4979801_58679b63","updated":"2021-06-02 15:20:28.000000000","message":"Done","commit_id":"1f464d59980296ec3ea13ca3682866c50d7a36c2"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"5e751c7fc3b54c89b5508cb4ce042813ad1d3df3","unresolved":true,"context_lines":[{"line_number":142,"context_line":"Response codes:"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"* 202 -- The request has been accepted, the image will be queued for caching"},{"line_number":145,"context_line":"* 403 -- Permission denied"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"Security impact"},{"line_number":148,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"47b5280d_02c0bea2","line":145,"updated":"2021-06-02 15:11:10.000000000","message":"404 Not Found in a case the image does not exists, user does not have rights to it?","commit_id":"1f464d59980296ec3ea13ca3682866c50d7a36c2"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"e4baf7ec77e1db668a0f9e6b4d00e55080be7441","unresolved":false,"context_lines":[{"line_number":142,"context_line":"Response codes:"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"* 202 -- The request has been accepted, the image will be queued for caching"},{"line_number":145,"context_line":"* 403 -- Permission denied"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"Security impact"},{"line_number":148,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"341d911f_080772f0","line":145,"in_reply_to":"47b5280d_02c0bea2","updated":"2021-06-02 15:20:28.000000000","message":"Ack","commit_id":"1f464d59980296ec3ea13ca3682866c50d7a36c2"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"c2c688f65dde217850e9db3ca1d6a890522212c4","unresolved":true,"context_lines":[{"line_number":162,"context_line":"The glance client should be updated, with new commands:"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"* glance cache-list"},{"line_number":165,"context_line":"* glance cache-image \u003cIMAGE-ID\u003e"},{"line_number":166,"context_line":"* glance cache-delete \u003cIMAGE-ID\u003e"},{"line_number":167,"context_line":"* glance cache-delete-all"},{"line_number":168,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"9b312cdc_a9f2f757","line":165,"range":{"start_line":165,"start_character":9,"end_line":165,"end_character":20},"updated":"2021-06-02 15:04:18.000000000","message":"Totally agree with Dan\u0027s concern in PS6 about the \u0027queue-image\u0027 not being obvious, maybe rather \"cache-queue\" than \"cache-image\" to avoid confusion further (the image will not be cached at the point when user gets 204 created response).","commit_id":"1f464d59980296ec3ea13ca3682866c50d7a36c2"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"d2964552645d4d262ec014e225396f08dec04a79","unresolved":true,"context_lines":[{"line_number":162,"context_line":"The glance client should be updated, with new commands:"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"* glance cache-list"},{"line_number":165,"context_line":"* glance cache-image \u003cIMAGE-ID\u003e"},{"line_number":166,"context_line":"* glance cache-delete \u003cIMAGE-ID\u003e"},{"line_number":167,"context_line":"* glance cache-delete-all"},{"line_number":168,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"c51700a4_486fd29d","line":165,"range":{"start_line":165,"start_character":9,"end_line":165,"end_character":20},"in_reply_to":"9b312cdc_a9f2f757","updated":"2021-06-02 15:09:19.000000000","message":"oops 201","commit_id":"1f464d59980296ec3ea13ca3682866c50d7a36c2"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"637a432a8be94913de7dc9afa8c2698ed6015541","unresolved":false,"context_lines":[{"line_number":162,"context_line":"The glance client should be updated, with new commands:"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"* glance cache-list"},{"line_number":165,"context_line":"* glance cache-image \u003cIMAGE-ID\u003e"},{"line_number":166,"context_line":"* glance cache-delete \u003cIMAGE-ID\u003e"},{"line_number":167,"context_line":"* glance cache-delete-all"},{"line_number":168,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"b1c1dc27_c450a883","line":165,"range":{"start_line":165,"start_character":9,"end_line":165,"end_character":20},"in_reply_to":"a747aeda_de629fcf","updated":"2021-06-02 15:55:35.000000000","message":"I think all of these are async and will be noted in the docs right? AIUI, a subsequent cache-list will show that the image is queued until it\u0027s cached right? I think that covers us. IMHO \"cache-queue\" doesn\u0027t immediately scream \"this will cache an image\" to me, but it\u0027s definitely better than \"queue-image\" :)","commit_id":"1f464d59980296ec3ea13ca3682866c50d7a36c2"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"e4baf7ec77e1db668a0f9e6b4d00e55080be7441","unresolved":false,"context_lines":[{"line_number":162,"context_line":"The glance client should be updated, with new commands:"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"* glance cache-list"},{"line_number":165,"context_line":"* glance cache-image \u003cIMAGE-ID\u003e"},{"line_number":166,"context_line":"* glance cache-delete \u003cIMAGE-ID\u003e"},{"line_number":167,"context_line":"* glance cache-delete-all"},{"line_number":168,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"a747aeda_de629fcf","line":165,"range":{"start_line":165,"start_character":9,"end_line":165,"end_character":20},"in_reply_to":"c51700a4_486fd29d","updated":"2021-06-02 15:20:28.000000000","message":"Ack, we will finalize the name in glanceclient lite spec.","commit_id":"1f464d59980296ec3ea13ca3682866c50d7a36c2"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"8500d18c01faf2877dff963873b99618aaffb36b","unresolved":true,"context_lines":[{"line_number":40,"context_line":"* Delete all cached and queued images using single API call"},{"line_number":41,"context_line":"* Queue image for prefetching"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"As caching now will be part of glance API, we would like to deprecate"},{"line_number":44,"context_line":"``cachemanage`` middleware and remove it as per deprecation and removal"},{"line_number":45,"context_line":"policy. The newly added cache endpoints will be ``EXPERIMENTAL`` in this cycle"},{"line_number":46,"context_line":"and will be marked as stable in following cycle."},{"line_number":47,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"245123ff_82b655cf","line":44,"range":{"start_line":43,"start_character":60,"end_line":44,"end_character":40},"updated":"2021-06-03 14:55:41.000000000","message":"I think there is a whole lot more change implied by these few words than some of us realized. The only piece of code proposed for this just adds a few more APIs to the existing stuff to flesh out the capabilities. It sounds like this is actually converting an api-in-middleware to a proper API (i.e. moving that modified section of code to an API instead of a piece of middleware).\n\nIt would probably be good to call that out more explicitly here.","commit_id":"76f28d6fe29c494a60dbd5707920229becce35f8"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"2288c4b8cad4ebb96923f8660ffd2d8356e142cd","unresolved":false,"context_lines":[{"line_number":40,"context_line":"* Delete all cached and queued images using single API call"},{"line_number":41,"context_line":"* Queue image for prefetching"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"As caching now will be part of glance API, we would like to deprecate"},{"line_number":44,"context_line":"``cachemanage`` middleware and remove it as per deprecation and removal"},{"line_number":45,"context_line":"policy. The newly added cache endpoints will be ``EXPERIMENTAL`` in this cycle"},{"line_number":46,"context_line":"and will be marked as stable in following cycle."},{"line_number":47,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"4d9a1f4e_3ac2f385","line":44,"range":{"start_line":43,"start_character":60,"end_line":44,"end_character":40},"in_reply_to":"245123ff_82b655cf","updated":"2021-06-09 14:24:49.000000000","message":"Done","commit_id":"76f28d6fe29c494a60dbd5707920229becce35f8"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"18cc5c9467bde5e14cd9fcc2a49ab09ccc2325c1","unresolved":true,"context_lines":[{"line_number":45,"context_line":"policy. The newly added cache endpoints will be ``EXPERIMENTAL`` in this cycle"},{"line_number":46,"context_line":"and will be marked as stable in following cycle."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"In addition to above proposed change this will introduce two new policies"},{"line_number":49,"context_line":"\"cache_image\", \"list_cache\" and \"delete_cache\" so that user with appropriate"},{"line_number":50,"context_line":"permissions can perform these operations. It is recommended to keep"},{"line_number":51,"context_line":"\"cache_image\", \"list_cache\" and \"delete_cache\" operations limited to admin"}],"source_content_type":"text/x-rst","patch_set":8,"id":"e8e187f1_887e2ad4","line":48,"range":{"start_line":48,"start_character":57,"end_line":48,"end_character":60},"updated":"2021-06-03 14:29:21.000000000","message":"You have 3 policies listed.","commit_id":"76f28d6fe29c494a60dbd5707920229becce35f8"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"2288c4b8cad4ebb96923f8660ffd2d8356e142cd","unresolved":false,"context_lines":[{"line_number":45,"context_line":"policy. The newly added cache endpoints will be ``EXPERIMENTAL`` in this cycle"},{"line_number":46,"context_line":"and will be marked as stable in following cycle."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"In addition to above proposed change this will introduce two new policies"},{"line_number":49,"context_line":"\"cache_image\", \"list_cache\" and \"delete_cache\" so that user with appropriate"},{"line_number":50,"context_line":"permissions can perform these operations. It is recommended to keep"},{"line_number":51,"context_line":"\"cache_image\", \"list_cache\" and \"delete_cache\" operations limited to admin"}],"source_content_type":"text/x-rst","patch_set":8,"id":"24fff6a7_a5816f06","line":48,"range":{"start_line":48,"start_character":57,"end_line":48,"end_character":60},"in_reply_to":"e8e187f1_887e2ad4","updated":"2021-06-09 14:24:49.000000000","message":"Done","commit_id":"76f28d6fe29c494a60dbd5707920229becce35f8"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"18cc5c9467bde5e14cd9fcc2a49ab09ccc2325c1","unresolved":true,"context_lines":[{"line_number":46,"context_line":"and will be marked as stable in following cycle."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"In addition to above proposed change this will introduce two new policies"},{"line_number":49,"context_line":"\"cache_image\", \"list_cache\" and \"delete_cache\" so that user with appropriate"},{"line_number":50,"context_line":"permissions can perform these operations. It is recommended to keep"},{"line_number":51,"context_line":"\"cache_image\", \"list_cache\" and \"delete_cache\" operations limited to admin"},{"line_number":52,"context_line":"use only."}],"source_content_type":"text/x-rst","patch_set":8,"id":"0a3fb822_270e10b8","line":49,"range":{"start_line":49,"start_character":0,"end_line":49,"end_character":46},"updated":"2021-06-03 14:29:21.000000000","message":"I suggest naming these cache_image, cache_list, and cache_delete.","commit_id":"76f28d6fe29c494a60dbd5707920229becce35f8"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"2288c4b8cad4ebb96923f8660ffd2d8356e142cd","unresolved":false,"context_lines":[{"line_number":46,"context_line":"and will be marked as stable in following cycle."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"In addition to above proposed change this will introduce two new policies"},{"line_number":49,"context_line":"\"cache_image\", \"list_cache\" and \"delete_cache\" so that user with appropriate"},{"line_number":50,"context_line":"permissions can perform these operations. It is recommended to keep"},{"line_number":51,"context_line":"\"cache_image\", \"list_cache\" and \"delete_cache\" operations limited to admin"},{"line_number":52,"context_line":"use only."}],"source_content_type":"text/x-rst","patch_set":8,"id":"a5f649f1_7357e891","line":49,"range":{"start_line":49,"start_character":0,"end_line":49,"end_character":46},"in_reply_to":"0a3fb822_270e10b8","updated":"2021-06-09 14:24:49.000000000","message":"Done","commit_id":"76f28d6fe29c494a60dbd5707920229becce35f8"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"8500d18c01faf2877dff963873b99618aaffb36b","unresolved":true,"context_lines":[{"line_number":49,"context_line":"\"cache_image\", \"list_cache\" and \"delete_cache\" so that user with appropriate"},{"line_number":50,"context_line":"permissions can perform these operations. It is recommended to keep"},{"line_number":51,"context_line":"\"cache_image\", \"list_cache\" and \"delete_cache\" operations limited to admin"},{"line_number":52,"context_line":"use only."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Alternatives"},{"line_number":55,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"7f62839b_8aa56e9f","line":52,"updated":"2021-06-03 14:55:41.000000000","message":"As noted in the IRC meeting just now, it would be good if we can have some better definition of the policy aspects here, specifically about how we can make this secure-rbac-compliant from the start. Moving it to a proper API where we look up the image in question, etc will be an important part of that.","commit_id":"76f28d6fe29c494a60dbd5707920229becce35f8"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"2288c4b8cad4ebb96923f8660ffd2d8356e142cd","unresolved":false,"context_lines":[{"line_number":49,"context_line":"\"cache_image\", \"list_cache\" and \"delete_cache\" so that user with appropriate"},{"line_number":50,"context_line":"permissions can perform these operations. It is recommended to keep"},{"line_number":51,"context_line":"\"cache_image\", \"list_cache\" and \"delete_cache\" operations limited to admin"},{"line_number":52,"context_line":"use only."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Alternatives"},{"line_number":55,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"6fdd786f_938473d4","line":52,"in_reply_to":"7f62839b_8aa56e9f","updated":"2021-06-09 14:24:49.000000000","message":"Done","commit_id":"76f28d6fe29c494a60dbd5707920229becce35f8"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"d46950721a873c119f006d64fcfd4001bc2995d2","unresolved":true,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"In addition to above proposed change this will introduce three new policies"},{"line_number":54,"context_line":"`cache_image`, `cache_list` and `delete_cache` so that user with appropriate"},{"line_number":55,"context_line":"permissions can perform these operations. We will also deprecate existing"},{"line_number":56,"context_line":"`manage_image_cache\u0027 policy in favor of new policies. To make the new"},{"line_number":57,"context_line":"policies compatible with secure RBAC we all need to ensure to pass required"},{"line_number":58,"context_line":"parameters like ImageTarge while enforcing the new policies. It is recommended"}],"source_content_type":"text/x-rst","patch_set":9,"id":"91fb2971_f5b764bf","line":55,"range":{"start_line":55,"start_character":65,"end_line":55,"end_character":73},"updated":"2021-06-08 15:22:18.000000000","message":"the existing","commit_id":"18a1dca149cddd15b46926efcde0f0aae357d493"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"2288c4b8cad4ebb96923f8660ffd2d8356e142cd","unresolved":false,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"In addition to above proposed change this will introduce three new policies"},{"line_number":54,"context_line":"`cache_image`, `cache_list` and `delete_cache` so that user with appropriate"},{"line_number":55,"context_line":"permissions can perform these operations. We will also deprecate existing"},{"line_number":56,"context_line":"`manage_image_cache\u0027 policy in favor of new policies. To make the new"},{"line_number":57,"context_line":"policies compatible with secure RBAC we all need to ensure to pass required"},{"line_number":58,"context_line":"parameters like ImageTarge while enforcing the new policies. It is recommended"}],"source_content_type":"text/x-rst","patch_set":9,"id":"41a69626_8988f2a1","line":55,"range":{"start_line":55,"start_character":65,"end_line":55,"end_character":73},"in_reply_to":"91fb2971_f5b764bf","updated":"2021-06-09 14:24:49.000000000","message":"Done","commit_id":"18a1dca149cddd15b46926efcde0f0aae357d493"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"d46950721a873c119f006d64fcfd4001bc2995d2","unresolved":true,"context_lines":[{"line_number":54,"context_line":"`cache_image`, `cache_list` and `delete_cache` so that user with appropriate"},{"line_number":55,"context_line":"permissions can perform these operations. We will also deprecate existing"},{"line_number":56,"context_line":"`manage_image_cache\u0027 policy in favor of new policies. To make the new"},{"line_number":57,"context_line":"policies compatible with secure RBAC we all need to ensure to pass required"},{"line_number":58,"context_line":"parameters like ImageTarge while enforcing the new policies. It is recommended"},{"line_number":59,"context_line":"to keep `cache_image`, `cache_list` and `delete_cache` operations limited to"},{"line_number":60,"context_line":"admin use only."}],"source_content_type":"text/x-rst","patch_set":9,"id":"a0e3a496_b5a3dafd","line":57,"range":{"start_line":57,"start_character":40,"end_line":57,"end_character":43},"updated":"2021-06-08 15:22:18.000000000","message":"s/all//","commit_id":"18a1dca149cddd15b46926efcde0f0aae357d493"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"2288c4b8cad4ebb96923f8660ffd2d8356e142cd","unresolved":false,"context_lines":[{"line_number":54,"context_line":"`cache_image`, `cache_list` and `delete_cache` so that user with appropriate"},{"line_number":55,"context_line":"permissions can perform these operations. We will also deprecate existing"},{"line_number":56,"context_line":"`manage_image_cache\u0027 policy in favor of new policies. To make the new"},{"line_number":57,"context_line":"policies compatible with secure RBAC we all need to ensure to pass required"},{"line_number":58,"context_line":"parameters like ImageTarge while enforcing the new policies. It is recommended"},{"line_number":59,"context_line":"to keep `cache_image`, `cache_list` and `delete_cache` operations limited to"},{"line_number":60,"context_line":"admin use only."}],"source_content_type":"text/x-rst","patch_set":9,"id":"4ef7853b_9c6ec4b4","line":57,"range":{"start_line":57,"start_character":40,"end_line":57,"end_character":43},"in_reply_to":"a0e3a496_b5a3dafd","updated":"2021-06-09 14:24:49.000000000","message":"Done","commit_id":"18a1dca149cddd15b46926efcde0f0aae357d493"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"d46950721a873c119f006d64fcfd4001bc2995d2","unresolved":true,"context_lines":[{"line_number":55,"context_line":"permissions can perform these operations. We will also deprecate existing"},{"line_number":56,"context_line":"`manage_image_cache\u0027 policy in favor of new policies. To make the new"},{"line_number":57,"context_line":"policies compatible with secure RBAC we all need to ensure to pass required"},{"line_number":58,"context_line":"parameters like ImageTarge while enforcing the new policies. It is recommended"},{"line_number":59,"context_line":"to keep `cache_image`, `cache_list` and `delete_cache` operations limited to"},{"line_number":60,"context_line":"admin use only."},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"2aeacde8_f04c7497","line":58,"range":{"start_line":58,"start_character":16,"end_line":58,"end_character":26},"updated":"2021-06-08 15:22:18.000000000","message":"ImageTarget","commit_id":"18a1dca149cddd15b46926efcde0f0aae357d493"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"b73636d122f27a346f6321a4d0035bd9b1ee468e","unresolved":true,"context_lines":[{"line_number":242,"context_line":""},{"line_number":243,"context_line":"* The API documentation will need to be updated"},{"line_number":244,"context_line":"* Need to update Cache documentation as well with new commands"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"References"},{"line_number":248,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":10,"id":"d6f69065_3f03d9a6","line":245,"range":{"start_line":245,"start_character":0,"end_line":245,"end_character":0},"updated":"2021-06-09 23:59:51.000000000","message":"I think weshould also remove documentation regarding glance-cache-manage and glance-cache-prefetcher, shouldn\u0027t we?","commit_id":"7fc0bd705d1d25ca8be5bed090234658da7670c0"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"4331a08f204df67e6e421224db2065e9e08c9475","unresolved":true,"context_lines":[{"line_number":242,"context_line":""},{"line_number":243,"context_line":"* The API documentation will need to be updated"},{"line_number":244,"context_line":"* Need to update Cache documentation as well with new commands"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"References"},{"line_number":248,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":10,"id":"960c5c46_2682f21c","line":245,"range":{"start_line":245,"start_character":0,"end_line":245,"end_character":0},"in_reply_to":"d6f69065_3f03d9a6","updated":"2021-06-10 19:58:06.000000000","message":"Yes, but presumably you could consider that all inside \"update\" so I think this is okay.","commit_id":"7fc0bd705d1d25ca8be5bed090234658da7670c0"}]}
