)]}'
{"specs/wallaby/approved/glance/distributed-image-import.rst":[{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"5b431af6538818f4c93b479828adde95ed9eb2f5","unresolved":true,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/glance/+spec/distributed-image-import"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Glance is moving towards supporting rich operations on images, mostly"},{"line_number":14,"context_line":"during create time, via the import mechanism. This opens the door to"},{"line_number":15,"context_line":"things like metadata injection, format conversion, and copying between"},{"line_number":16,"context_line":"stores. Currently in order for this to work, the API nodes require"},{"line_number":17,"context_line":"access to shared storage which is a real blocker to adoption by"}],"source_content_type":"text/x-rst","patch_set":1,"id":"0bf8ad3d_6ed9e734","line":14,"updated":"2021-02-04 17:59:00.000000000","message":"L:13-14, tbf this has been stable feature since Queens and always on since Rocky. Bit heavy to claim we are moving towards it now.","commit_id":"65bcac00e3a07a6fd07e46b2ae2fffa55cf1b19b"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"494fac7da64ffc99479946ec92b7acdf2c885391","unresolved":true,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/glance/+spec/distributed-image-import"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Glance is moving towards supporting rich operations on images, mostly"},{"line_number":14,"context_line":"during create time, via the import mechanism. This opens the door to"},{"line_number":15,"context_line":"things like metadata injection, format conversion, and copying between"},{"line_number":16,"context_line":"stores. Currently in order for this to work, the API nodes require"},{"line_number":17,"context_line":"access to shared storage which is a real blocker to adoption by"}],"source_content_type":"text/x-rst","patch_set":1,"id":"89adbdb1_8072ad38","line":14,"in_reply_to":"0bf8ad3d_6ed9e734","updated":"2021-02-04 18:15:12.000000000","message":"The \"moving towards\" phrasing was indicative of the Glance team\u0027s desire to see people use import as their primary method of uploading an image. I don\u0027t say anything here about it being unstable, but my interest in fixing this import problem is very specifically because I don\u0027t think it\u0027s reasonable to expect people to use this in production with a shared storage requirement. So I don\u0027t think this phrasing is unreasonable.","commit_id":"65bcac00e3a07a6fd07e46b2ae2fffa55cf1b19b"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"5b431af6538818f4c93b479828adde95ed9eb2f5","unresolved":true,"context_lines":[{"line_number":15,"context_line":"things like metadata injection, format conversion, and copying between"},{"line_number":16,"context_line":"stores. Currently in order for this to work, the API nodes require"},{"line_number":17,"context_line":"access to shared storage which is a real blocker to adoption by"},{"line_number":18,"context_line":"deployers, and is the subject of this spec."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Problem description"},{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"2c9226d8_1265e871","line":18,"updated":"2021-02-04 17:59:00.000000000","message":"L:16-18 is accurate only for \u0027glance-direct\u0027 import method.","commit_id":"65bcac00e3a07a6fd07e46b2ae2fffa55cf1b19b"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"494fac7da64ffc99479946ec92b7acdf2c885391","unresolved":true,"context_lines":[{"line_number":15,"context_line":"things like metadata injection, format conversion, and copying between"},{"line_number":16,"context_line":"stores. Currently in order for this to work, the API nodes require"},{"line_number":17,"context_line":"access to shared storage which is a real blocker to adoption by"},{"line_number":18,"context_line":"deployers, and is the subject of this spec."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Problem description"},{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"51c6895a_565026b0","line":18,"in_reply_to":"2c9226d8_1265e871","updated":"2021-02-04 18:15:12.000000000","message":"Ack, will amend.","commit_id":"65bcac00e3a07a6fd07e46b2ae2fffa55cf1b19b"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"5b431af6538818f4c93b479828adde95ed9eb2f5","unresolved":true,"context_lines":[{"line_number":25,"context_line":"the covers as a ``glance_store`` but it must be a locally-accessible"},{"line_number":26,"context_line":"directory on the host filesystem. When using multiple API worker nodes"},{"line_number":27,"context_line":"(as any real deployment would), the staging directories of all worker"},{"line_number":28,"context_line":"nodes must be shared (i.e. mounted on a common NFS server). This is"},{"line_number":29,"context_line":"obviously a problem for HA, performance, and a non-starter for any"},{"line_number":30,"context_line":"arrangement where some glance API workers are located in remote sites."},{"line_number":31,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"64c219a9_4eddb632","line":28,"updated":"2021-02-04 17:59:00.000000000","message":"L:26-28, DITTO L:18","commit_id":"65bcac00e3a07a6fd07e46b2ae2fffa55cf1b19b"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"5b431af6538818f4c93b479828adde95ed9eb2f5","unresolved":true,"context_lines":[{"line_number":36,"context_line":"multi-node load-balanced scenario, the \"stage\" operation will almost"},{"line_number":37,"context_line":"definitely hit a different worker than the \"import\" operation, which"},{"line_number":38,"context_line":"will result in the latter not having access to the staged image data"},{"line_number":39,"context_line":"in its staging store, and thus a failure."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":1,"id":"daa817a3_503dc5b3","line":39,"updated":"2021-02-04 17:59:00.000000000","message":"Again applies only on \u0027glance-direct\u0027 import method when the staging is it\u0027s own request.","commit_id":"65bcac00e3a07a6fd07e46b2ae2fffa55cf1b19b"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"5b431af6538818f4c93b479828adde95ed9eb2f5","unresolved":true,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"Initially, this implementation will use the reserved and"},{"line_number":93,"context_line":"quota-independent ``os_glance`` namespace to store the URL in the"},{"line_number":94,"context_line":"image\u0027s ``extra_properties``."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"Later, when work is done to complete the usage of the staging"},{"line_number":97,"context_line":"directory as a proper glance store, we may be able to store the URL in"}],"source_content_type":"text/x-rst","patch_set":1,"id":"b65a79b7_2258d411","line":94,"updated":"2021-02-04 17:59:00.000000000","message":"We should not track the image data in \u0027extra_properties\u0027, while we do have image Locations data model already in place for this purpose. This might be fine for experimental proof of concept but should not be introduced to production code.","commit_id":"65bcac00e3a07a6fd07e46b2ae2fffa55cf1b19b"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"8ecca0019438bd40e24aed89a112faaebe4a307d","unresolved":true,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"Initially, this implementation will use the reserved and"},{"line_number":93,"context_line":"quota-independent ``os_glance`` namespace to store the URL in the"},{"line_number":94,"context_line":"image\u0027s ``extra_properties``."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"Later, when work is done to complete the usage of the staging"},{"line_number":97,"context_line":"directory as a proper glance store, we may be able to store the URL in"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1d40e18a_baeadf83","line":94,"in_reply_to":"896ce1f0_d7eaa04f","updated":"2021-02-04 20:29:03.000000000","message":"\u003e Ok, lets be clear here. My objection is fundamental, not technicality. Thus I don\u0027t understand why you even thought that I would agree on the design just because someone else wrote it down when you couldn\u0027t convince me on it over the past 2 months when I owned the spec.\n\nOkay, I have a hard time understanding how someone could be so fundamentally (but not technically) opposed to an approach that already has precedent in the tree that they would subvert a formal vote by the core team of that project. I wrote this spec because the PTL said I should, not because I thought it would change anything about the disagreement. But really, thanks for making it clear that it\u0027s not a technical objection and that there\u0027s nothing we can do to move forward here. It certainly helps me focus my energy.","commit_id":"65bcac00e3a07a6fd07e46b2ae2fffa55cf1b19b"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"494fac7da64ffc99479946ec92b7acdf2c885391","unresolved":true,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"Initially, this implementation will use the reserved and"},{"line_number":93,"context_line":"quota-independent ``os_glance`` namespace to store the URL in the"},{"line_number":94,"context_line":"image\u0027s ``extra_properties``."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"Later, when work is done to complete the usage of the staging"},{"line_number":97,"context_line":"directory as a proper glance store, we may be able to store the URL in"}],"source_content_type":"text/x-rst","patch_set":1,"id":"b84e5a7d_b987af40","line":94,"in_reply_to":"b65a79b7_2258d411","updated":"2021-02-04 18:15:12.000000000","message":"How can I better acknowledge your objection to this while continuing moving forward? I think the rest of the people involved here have said that they\u0027re okay with doing this the only way we can today. I think I was pretty direct with my language here that we _will_ move to location-based metadata when an appropriate interface becomes available.\n\nIf you have specific technical reasons for why using the extra property is not suitable for production use, please articulate them and I will document them here. Given that we already use an extra property for something as important as the task lock, I think we\u0027re pretty well covered on production use of properties for internal transient purposes.","commit_id":"65bcac00e3a07a6fd07e46b2ae2fffa55cf1b19b"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"dbbce9c281227f1c2c43c74860d8f08b57ac40ee","unresolved":true,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"Initially, this implementation will use the reserved and"},{"line_number":93,"context_line":"quota-independent ``os_glance`` namespace to store the URL in the"},{"line_number":94,"context_line":"image\u0027s ``extra_properties``."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"Later, when work is done to complete the usage of the staging"},{"line_number":97,"context_line":"directory as a proper glance store, we may be able to store the URL in"}],"source_content_type":"text/x-rst","patch_set":1,"id":"896ce1f0_d7eaa04f","line":94,"in_reply_to":"b84e5a7d_b987af40","updated":"2021-02-04 20:10:11.000000000","message":"Ok, lets be clear here. My objection is fundamental, not technicality. Thus I don\u0027t understand why you even thought that I would agree on the design just because someone else wrote it down when you couldn\u0027t convince me on it over the past 2 months when I owned the spec.\n\nWe have data model for tracking the image data, our staging logic needs tweaking for us to be able to use it for this case. It does not make it any less \"the only place\" we should be tracking the image data. As an Example: Even we would be able to technically implement, storing the smaller images as BLOB in the database instead of using glance_store for it and we could test that it works, we would not fundamentally agree that being the right thing to do either. I am truly sorry if this did not come across clear enough after you spent all the effort polishing your proof of concept and we got stagnant on the last mile. I still think the proxy code is great and there is no way it would give me joy to see it not being released part of Wallaby.\n\nSo the intersection of \"right thing to do can happen in future, not this cycle\" and \"can be merged when done right\" seems to be \"can merge in some future cycle, when done right\", just like I expressed our options last week during the weekly meeting and week before that etc.","commit_id":"65bcac00e3a07a6fd07e46b2ae2fffa55cf1b19b"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"5b431af6538818f4c93b479828adde95ed9eb2f5","unresolved":true,"context_lines":[{"line_number":124,"context_line":""},{"line_number":125,"context_line":"More users will be able to use the image import functionality after"},{"line_number":126,"context_line":"this is implemented as operators unwilling or unable to provide shared"},{"line_number":127,"context_line":"storage between their workers will no longer need to disable import"},{"line_number":128,"context_line":"for their users."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"Performance Impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"863b7ca7_dd3ba47d","line":127,"range":{"start_line":127,"start_character":61,"end_line":127,"end_character":67},"updated":"2021-02-04 17:59:00.000000000","message":"\u0027glance-direct\u0027 import method","commit_id":"65bcac00e3a07a6fd07e46b2ae2fffa55cf1b19b"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"5b431af6538818f4c93b479828adde95ed9eb2f5","unresolved":true,"context_lines":[{"line_number":210,"context_line":"Since this just makes something work that did not before, no large"},{"line_number":211,"context_line":"amount of documentation will need to be written. Appropriate tweaks to"},{"line_number":212,"context_line":"operator documentation around the new (lack of) requirements to enable"},{"line_number":213,"context_line":"this feature will be made."},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"References"},{"line_number":216,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"535483f6_de76b42a","line":213,"updated":"2021-02-04 17:59:00.000000000","message":"The new config options and their usage/impact should be documented together with network requirements to make this work. (Until now there has been no reason for two different glance-api nodes to be able to communicate to eachother as all requests have been coming from loadbalancers, that will not be the case anymore.)","commit_id":"65bcac00e3a07a6fd07e46b2ae2fffa55cf1b19b"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"494fac7da64ffc99479946ec92b7acdf2c885391","unresolved":true,"context_lines":[{"line_number":210,"context_line":"Since this just makes something work that did not before, no large"},{"line_number":211,"context_line":"amount of documentation will need to be written. Appropriate tweaks to"},{"line_number":212,"context_line":"operator documentation around the new (lack of) requirements to enable"},{"line_number":213,"context_line":"this feature will be made."},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"References"},{"line_number":216,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"c547a011_6620800e","line":213,"in_reply_to":"535483f6_de76b42a","updated":"2021-02-04 18:15:12.000000000","message":"I think I covered the deployer impact on these items in that section. I also think that config options come implicitly with some explanation. However, I\u0027ll add words here to make it clear that deployment considerations will need to be covered here, instead of sounding like the doc changes will just be subtractive of restrictions.","commit_id":"65bcac00e3a07a6fd07e46b2ae2fffa55cf1b19b"}]}
