)]}'
{"specs/newton/approved/glance/community_visibility.rst":[{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"c870ebf5e3fe6ca0a06ecf6305dbacd36333946d","unresolved":false,"context_lines":[{"line_number":173,"context_line":"  changed to a value that renders the member-list inert."},{"line_number":174,"context_line":"* Image member operations (that is, creating image members or changing"},{"line_number":175,"context_line":"  the member_status of image members) are allowed only when an image has a"},{"line_number":176,"context_line":"  visibility under which the member-list is *not* inert.  The justification"},{"line_number":177,"context_line":"  for this is that it is confusing to users to be able to perform member"},{"line_number":178,"context_line":"  operations on an image when these operations have no effect on the"},{"line_number":179,"context_line":"  accessiblity of the image."},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"Alternatives"},{"line_number":182,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a77a97e_6ebfb3d0","line":179,"range":{"start_line":176,"start_character":58,"end_line":179,"end_character":28},"updated":"2016-11-15 11:49:46.000000000","message":"Our member operations are controlled by policies. IMO this causes even more confusion if we indicate by the visibility that these operations are available for the image while policy is blocking them.","commit_id":"b31a8ea9a68738ebb74cd4245973f770f56dc3e8"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"cbcbb804741e71c250ee6be90ab8175cf0bed890","unresolved":false,"context_lines":[{"line_number":176,"context_line":"  visibility under which the member-list is *not* inert.  The justification"},{"line_number":177,"context_line":"  for this is that it is confusing to users to be able to perform member"},{"line_number":178,"context_line":"  operations on an image when these operations have no effect on the"},{"line_number":179,"context_line":"  accessiblity of the image."},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"Alternatives"},{"line_number":182,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a77a97e_4e41220b","line":179,"range":{"start_line":179,"start_character":2,"end_line":179,"end_character":14},"updated":"2016-11-15 07:53:26.000000000","message":"accessibility","commit_id":"b31a8ea9a68738ebb74cd4245973f770f56dc3e8"},{"author":{"_account_id":12807,"name":"Steve Lewis (stevelle)","email":"stevelle@gmail.com","username":"stevelle"},"change_message_id":"e4845d17232e42ce6842a7470947f5a13d546c39","unresolved":false,"context_lines":[{"line_number":173,"context_line":"  changed to a value that renders the member-list inert."},{"line_number":174,"context_line":"* Image member operations (that is, creating image members or changing"},{"line_number":175,"context_line":"  the member_status of image members) are allowed only when an image has a"},{"line_number":176,"context_line":"  visibility under which the member-list is *not* inert.  The justification"},{"line_number":177,"context_line":"  for this is that it is confusing to users to be able to perform member"},{"line_number":178,"context_line":"  operations on an image when these operations have no effect on the"},{"line_number":179,"context_line":"  accessiblity of the image."},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"Alternatives"},{"line_number":182,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a77a97e_82ba10e0","line":179,"range":{"start_line":176,"start_character":58,"end_line":179,"end_character":28},"in_reply_to":"7a77a97e_6ebfb3d0","updated":"2016-11-15 18:23:12.000000000","message":"Seems like this is confusing one way or the other because the current state is as well. Maybe if aspects of the local policy were discoverable via API calls it would help. Maybe if the related policy options were reported in image details it would help as well.","commit_id":"b31a8ea9a68738ebb74cd4245973f770f56dc3e8"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"cbcbb804741e71c250ee6be90ab8175cf0bed890","unresolved":false,"context_lines":[{"line_number":330,"context_line":"creating the image does not have appropriate permissions to set the specified"},{"line_number":331,"context_line":"visibility value on an image, the image-create call will fail as it does now."},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"In order to preserve backward compatability with the current workflow for"},{"line_number":334,"context_line":"sharing an image, the default ``visibility`` of an image will be ``shared``:"},{"line_number":335,"context_line":""},{"line_number":336,"context_line":"* An image with shared visibility and no image members is not accessible to"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a77a97e_2e3146a3","line":333,"range":{"start_line":333,"start_character":30,"end_line":333,"end_character":43},"updated":"2016-11-15 07:53:26.000000000","message":"compatibility","commit_id":"b31a8ea9a68738ebb74cd4245973f770f56dc3e8"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"5a8125e79982c588ae19780431afd30ff539f440","unresolved":false,"context_lines":[{"line_number":353,"context_line":"  * In deployments using both v1 and v2 of the Image API, if an image is"},{"line_number":354,"context_line":"    created using v1 and then an image-show call is made in v2, the visibility"},{"line_number":355,"context_line":"    of ``shared`` makes it clear to the v2 user that the image is in a state"},{"line_number":356,"context_line":"    where it can both accept members and be accessed by any existing members."},{"line_number":357,"context_line":""},{"line_number":358,"context_line":"If the default visibility value were *not* ``shared``, then v1 would need to be"},{"line_number":359,"context_line":"modified so that ``private`` images could accept members and be accessed by"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a77a97e_41c9b678","line":356,"updated":"2016-11-22 17:11:16.000000000","message":"The above text clearly explains why it is appropriate to make \"shared\" the visibility setting for all images that are not is_public \u003d True. ++","commit_id":"b31a8ea9a68738ebb74cd4245973f770f56dc3e8"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"c870ebf5e3fe6ca0a06ecf6305dbacd36333946d","unresolved":false,"context_lines":[{"line_number":359,"context_line":"modified so that ``private`` images could accept members and be accessed by"},{"line_number":360,"context_line":"members.  This, however, would create a situation where an image would behave"},{"line_number":361,"context_line":"radically differently depending upon whether you tried to access it by the v1"},{"line_number":362,"context_line":"or the v2 API.  We don\u0027t want to do that."},{"line_number":363,"context_line":""},{"line_number":364,"context_line":"A key question here is whether changing the default visibility from ``private``"},{"line_number":365,"context_line":"to ``shared`` introduces a backward incompatibility into the v2 API.  Here are"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a77a97e_c3f980ca","line":362,"updated":"2016-11-15 11:49:46.000000000","message":"It\u0027s fine to have v1 and v2 behaving differently, they are 2 different major API version. As long as we do not break the backwards compatibility of either one individually.","commit_id":"b31a8ea9a68738ebb74cd4245973f770f56dc3e8"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"239d53061a619fdfb59800b6f4c7ee28322a7125","unresolved":false,"context_lines":[{"line_number":359,"context_line":"modified so that ``private`` images could accept members and be accessed by"},{"line_number":360,"context_line":"members.  This, however, would create a situation where an image would behave"},{"line_number":361,"context_line":"radically differently depending upon whether you tried to access it by the v1"},{"line_number":362,"context_line":"or the v2 API.  We don\u0027t want to do that."},{"line_number":363,"context_line":""},{"line_number":364,"context_line":"A key question here is whether changing the default visibility from ``private``"},{"line_number":365,"context_line":"to ``shared`` introduces a backward incompatibility into the v2 API.  Here are"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a77a97e_98eedcb2","line":362,"in_reply_to":"7a77a97e_c3f980ca","updated":"2016-11-16 13:25:30.000000000","message":"behaving differently in detailed ways across major versions makes sense, but behaving different at a conceptual level (thus \"radically different\") is probably not a great idea? If one\u0027s intent in v2 can be overridden simply by using v1 that\u0027s not great.","commit_id":"b31a8ea9a68738ebb74cd4245973f770f56dc3e8"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"c870ebf5e3fe6ca0a06ecf6305dbacd36333946d","unresolved":false,"context_lines":[{"line_number":367,"context_line":""},{"line_number":368,"context_line":"1. The current situation is that the ``visibility`` of an image created by a"},{"line_number":369,"context_line":"   non-admin user has ``visibility`` !\u003d ``public``.  That situation is"},{"line_number":370,"context_line":"   preserved."},{"line_number":371,"context_line":""},{"line_number":372,"context_line":"2. If we *don\u0027t* make the default visibility ``shared``, then we are in fact"},{"line_number":373,"context_line":"   introducing a backward incompatibility in that any current user scripts that"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a77a97e_438f3023","line":370,"updated":"2016-11-15 11:49:46.000000000","message":"It also has ``visibility`` \u003d\u003d ``private`` we do not preserve and we break every single check and audit that verifies the visibility of newly created image out there.","commit_id":"b31a8ea9a68738ebb74cd4245973f770f56dc3e8"},{"author":{"_account_id":12807,"name":"Steve Lewis (stevelle)","email":"stevelle@gmail.com","username":"stevelle"},"change_message_id":"e4845d17232e42ce6842a7470947f5a13d546c39","unresolved":false,"context_lines":[{"line_number":367,"context_line":""},{"line_number":368,"context_line":"1. The current situation is that the ``visibility`` of an image created by a"},{"line_number":369,"context_line":"   non-admin user has ``visibility`` !\u003d ``public``.  That situation is"},{"line_number":370,"context_line":"   preserved."},{"line_number":371,"context_line":""},{"line_number":372,"context_line":"2. If we *don\u0027t* make the default visibility ``shared``, then we are in fact"},{"line_number":373,"context_line":"   introducing a backward incompatibility in that any current user scripts that"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a77a97e_bc357747","line":370,"in_reply_to":"7a77a97e_438f3023","updated":"2016-11-15 18:23:12.000000000","message":"It seems like v1 has emphasized ``is_public`` over ``visibility``. In code review we can exhaustively and painstakingly review each unit and functional test around image visibility in the change set to ensure that behavior is preserved. \n\nWhen the tests for v1 were updated to work with visibility all of these were changed so we know it can be done. It adds risk to the change but this doesn\u0027t necessarily create a backwards incompatible situation does it?","commit_id":"b31a8ea9a68738ebb74cd4245973f770f56dc3e8"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"c870ebf5e3fe6ca0a06ecf6305dbacd36333946d","unresolved":false,"context_lines":[{"line_number":376,"context_line":"   working group agreed that it was a \"minor\" backward incompatibility that"},{"line_number":377,"context_line":"   would be permissible, they pointed out that Glance users were likely to be"},{"line_number":378,"context_line":"   annoyed by the workflow change.  The change in ``visibility`` value is a"},{"line_number":379,"context_line":"   lesser of two evils.)"},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"3. What we want to be the case is that when a user creates an image without"},{"line_number":382,"context_line":"   specifying a visibility, the image behaves the same way it does now.  Images"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a77a97e_c3d180fd","line":379,"updated":"2016-11-15 11:49:46.000000000","message":"What we can do and what would be way smaller issue is that the image is private per default, but when member gets added to private image we transition it to shared.\n\nOr we address this user experience issue in the client.","commit_id":"b31a8ea9a68738ebb74cd4245973f770f56dc3e8"},{"author":{"_account_id":12807,"name":"Steve Lewis (stevelle)","email":"stevelle@gmail.com","username":"stevelle"},"change_message_id":"e4845d17232e42ce6842a7470947f5a13d546c39","unresolved":false,"context_lines":[{"line_number":376,"context_line":"   working group agreed that it was a \"minor\" backward incompatibility that"},{"line_number":377,"context_line":"   would be permissible, they pointed out that Glance users were likely to be"},{"line_number":378,"context_line":"   annoyed by the workflow change.  The change in ``visibility`` value is a"},{"line_number":379,"context_line":"   lesser of two evils.)"},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"3. What we want to be the case is that when a user creates an image without"},{"line_number":382,"context_line":"   specifying a visibility, the image behaves the same way it does now.  Images"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a77a97e_f7caa84e","line":379,"in_reply_to":"7a77a97e_c3d180fd","updated":"2016-11-15 18:23:12.000000000","message":"This is an option. Thinking through it there are a number of different risks (code complexity and maintenance cost, potential race condition and conflicts for API consumers during usage due to implicit behavior). Policy settings don\u0027t become meaningfully more problematic than they already are.\n\nAlternatively, adding a convenience call to the glance client may reduce the number of private integrations broken but doesn\u0027t help those which are not build on the glance client. I view this alternative as a poor choice.","commit_id":"b31a8ea9a68738ebb74cd4245973f770f56dc3e8"},{"author":{"_account_id":17043,"name":"Timothy Symanczyk","email":"tim@symanczyk.com","username":"timothy_symanczyk"},"change_message_id":"a3fb6ce27e4242ce10760faed22db2ead9bb1f61","unresolved":false,"context_lines":[{"line_number":376,"context_line":"   working group agreed that it was a \"minor\" backward incompatibility that"},{"line_number":377,"context_line":"   would be permissible, they pointed out that Glance users were likely to be"},{"line_number":378,"context_line":"   annoyed by the workflow change.  The change in ``visibility`` value is a"},{"line_number":379,"context_line":"   lesser of two evils.)"},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"3. What we want to be the case is that when a user creates an image without"},{"line_number":382,"context_line":"   specifying a visibility, the image behaves the same way it does now.  Images"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a77a97e_cf5c3028","line":379,"in_reply_to":"7a77a97e_c3d180fd","updated":"2016-11-15 18:39:04.000000000","message":"We had discussed this as an option a while ago. One issue with this plan is it leads to some disparate and potentially confusing behaviour for the end user. For example if we say that adding a member to a \u0027private\u0027 image automatically switches it to \u0027shared\u0027, then what is the correct behaviour for removing \"the last\" member from a \u0027shared\u0027 image? If the image had become \u0027shared\u0027 through this implicit method, then it would be logical to switch it back to \u0027private\u0027. But if the image had become \u0027shared\u0027 through an explicit visibility set operation - then I would argue that it would only be logical for the visibility state to remain as \u0027shared\u0027. If these conclusions hold water then this leads to two negative outcomes - 1) A requirement in the system to track exactly how each \u0027shared\u0027 image became \u0027shared\u0027 (which would just be a matter of additional code, and should not be taken as a deal-breaker), but much worse 2) The situation for the enduser where doing the same operation against two different \u0027shared\u0027 images would result in completely different behaviours if they came to be \u0027shared\u0027 via the two different paths.\n\nBoth of these problems are likely surmountable - but this is at least some of the reasoning why we chose not to pursue this course of action previously.","commit_id":"b31a8ea9a68738ebb74cd4245973f770f56dc3e8"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"239d53061a619fdfb59800b6f4c7ee28322a7125","unresolved":false,"context_lines":[{"line_number":376,"context_line":"   working group agreed that it was a \"minor\" backward incompatibility that"},{"line_number":377,"context_line":"   would be permissible, they pointed out that Glance users were likely to be"},{"line_number":378,"context_line":"   annoyed by the workflow change.  The change in ``visibility`` value is a"},{"line_number":379,"context_line":"   lesser of two evils.)"},{"line_number":380,"context_line":""},{"line_number":381,"context_line":"3. What we want to be the case is that when a user creates an image without"},{"line_number":382,"context_line":"   specifying a visibility, the image behaves the same way it does now.  Images"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a77a97e_38dce8e3","line":379,"in_reply_to":"7a77a97e_c3d180fd","updated":"2016-11-16 13:25:30.000000000","message":"transitioning from private to shared as a result of change in membership seems rather more magical and implicit than default to shared but shared to no one. It\u0027s because of the number of dimensions on which the implicit behavior happens.","commit_id":"b31a8ea9a68738ebb74cd4245973f770f56dc3e8"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"c870ebf5e3fe6ca0a06ecf6305dbacd36333946d","unresolved":false,"context_lines":[{"line_number":387,"context_line":""},{"line_number":388,"context_line":"The conclusion is that setting the default visibility to ``private`` would"},{"line_number":389,"context_line":"have a greater end user impact than the proposal to make the default visibility"},{"line_number":390,"context_line":"value ``shared``."},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"Note that if the v2 API is used to set the visibility of an image to"},{"line_number":393,"context_line":"``private``, if the v1 API is used to share the image, the request will fail"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a77a97e_8335c847","line":390,"updated":"2016-11-15 11:49:46.000000000","message":"It still is backwards incompatible API breaking change we could address like I proposed above.\n\nThe problem is that anyone ever used glance expects the image being private when it\u0027s created initially. The actions allowed or disallowed for that image visibility is almost irrelevat against the fact that as soon as we had more than is-public boolean (Images API v2) we have specially told that the image is per default private.","commit_id":"b31a8ea9a68738ebb74cd4245973f770f56dc3e8"},{"author":{"_account_id":12807,"name":"Steve Lewis (stevelle)","email":"stevelle@gmail.com","username":"stevelle"},"change_message_id":"e4845d17232e42ce6842a7470947f5a13d546c39","unresolved":false,"context_lines":[{"line_number":387,"context_line":""},{"line_number":388,"context_line":"The conclusion is that setting the default visibility to ``private`` would"},{"line_number":389,"context_line":"have a greater end user impact than the proposal to make the default visibility"},{"line_number":390,"context_line":"value ``shared``."},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"Note that if the v2 API is used to set the visibility of an image to"},{"line_number":393,"context_line":"``private``, if the v1 API is used to share the image, the request will fail"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a77a97e_82ff7000","line":390,"in_reply_to":"7a77a97e_8335c847","updated":"2016-11-15 18:23:12.000000000","message":"I try but am struggling to see this as a backwards incompatible change. What I see is a new term introduced to differentiate ambiguous existing behaviors. The word ``private`` is currently used ambiguously in v2 as I understand it where the concept is underspecified dramatically in v1.\n\nIs this concern addressable with different labeling or greater granularity in ``visibility`` messages? \nInstead of ``shared`` perhaps ``sharable`` when no members are specified and ``shared`` only when the first member is specified?\n\nThese are all problematic from a timeline perspective but I would rather ask even if I won\u0027t like the answer.","commit_id":"b31a8ea9a68738ebb74cd4245973f770f56dc3e8"},{"author":{"_account_id":5202,"name":"Erno Kuvaja","email":"jokke@usr.fi","username":"jokke"},"change_message_id":"f83719ab519ab53bb37066934bd2f12cc6ba408c","unresolved":false,"context_lines":[{"line_number":414,"context_line":"          [SUR1].  The results of the survey were reported in [SUR2].  Briefly,"},{"line_number":415,"context_line":"          operators were evenly split on whether images with visibility"},{"line_number":416,"context_line":"          ``private`` should all be migrated to ``shared`` or whether only"},{"line_number":417,"context_line":"          those images with members should be migrated to ``shared``.  Given"},{"line_number":418,"context_line":"          the even split, we\u0027ve decided to go with the majority consensus among"},{"line_number":419,"context_line":"          developers and people who\u0027ve commented on this spec and have the"},{"line_number":420,"context_line":"          migration move all ``private`` images to ``shared``."},{"line_number":421,"context_line":""},{"line_number":422,"context_line":"          [SUR1] http://lists.openstack.org/pipermail/openstack-operators/2016-November/012107.html"},{"line_number":423,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3a71b18c_1de05e28","line":420,"range":{"start_line":417,"start_character":71,"end_line":420,"end_character":62},"updated":"2016-12-07 15:43:14.000000000","message":"I still think that this approach ignores the big masses. As in the cloud users, not operators. The people who are not actively following what\u0027s going on in the community and will wake up one morning, log into their cloud account and start searching their nitros as all their images just \"got shared\" (including their snapshots).\n\nWhile changing only the already shared images to shared status will cause a change to workflow of sharing old images, I\u0027d say it\u0027s still smaller bad than affecting absolutely everyone. And I do not want to let this happen to the people using OpenStack clouds or supporting those end users.","commit_id":"c8bba683db3753dec69d00fc63688d6768f1203e"},{"author":{"_account_id":21722,"name":"Dharini Chandrasekar","email":"dharini.chandrasekar@intel.com","username":"dharinic"},"change_message_id":"e0ccaebf7f4137ea950e7c7b3efc1bd657a814b4","unresolved":false,"context_lines":[{"line_number":166,"context_line":""},{"line_number":167,"context_line":"The behaviour for the initial implementation for community images shall"},{"line_number":168,"context_line":"respect the current paradigm in glance - where changing visiblities does not"},{"line_number":169,"context_line":"affect an image\u0027s internal member-list.  To be precise, consistent with current"},{"line_number":170,"context_line":"behavior:"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"* An image\u0027s member-list persists even when the visibility of an image has"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a71b18c_309fb804","line":169,"range":{"start_line":169,"start_character":39,"end_line":169,"end_character":41},"updated":"2016-12-08 17:12:21.000000000","message":"Nit: Extra space","commit_id":"35936ca9222ebfc7f49df3c0ffc9781ca99441aa"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"3330f243d0ea51cd61eb954403d7ee67cf870488","unresolved":false,"context_lines":[{"line_number":166,"context_line":""},{"line_number":167,"context_line":"The behaviour for the initial implementation for community images shall"},{"line_number":168,"context_line":"respect the current paradigm in glance - where changing visiblities does not"},{"line_number":169,"context_line":"affect an image\u0027s internal member-list.  To be precise, consistent with current"},{"line_number":170,"context_line":"behavior:"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"* An image\u0027s member-list persists even when the visibility of an image has"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a71b18c_d9b4ec36","line":169,"range":{"start_line":169,"start_character":39,"end_line":169,"end_character":41},"in_reply_to":"3a71b18c_309fb804","updated":"2016-12-08 18:22:27.000000000","message":"I always use 2 spaces after a period.  It makes it easier to delineate sentences in a monospaced font, plus it gets taken care of when the RST is rendered.","commit_id":"35936ca9222ebfc7f49df3c0ffc9781ca99441aa"},{"author":{"_account_id":22448,"name":"Alexander Bashmakov","email":"abashmak@yahoo.com","username":"abashmak"},"change_message_id":"bc074ea0c414f17e2d2c86a090ca13ac8b1c9a9c","unresolved":false,"context_lines":[{"line_number":236,"context_line":""},{"line_number":237,"context_line":"   - ``visibility`` \u003d ``public``"},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"2. For all unique ``image_id`` in ``image_members`` where ``deleted`` !\u003d 1:"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"   - ``visibility`` \u003d ``shared``"},{"line_number":242,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a71b18c_c0107dab","line":239,"range":{"start_line":239,"start_character":3,"end_line":239,"end_character":74},"updated":"2016-12-08 14:22:34.000000000","message":"Should explicitly specify \"``is_public`` \u003d\u003d 0\" to make sure there is no overlap with #1 above.","commit_id":"35936ca9222ebfc7f49df3c0ffc9781ca99441aa"},{"author":{"_account_id":22448,"name":"Alexander Bashmakov","email":"abashmak@yahoo.com","username":"abashmak"},"change_message_id":"bc074ea0c414f17e2d2c86a090ca13ac8b1c9a9c","unresolved":false,"context_lines":[{"line_number":431,"context_line":"sample).  In the end, the compromise we reached is reflected in this spec.  The"},{"line_number":432,"context_line":"primary justification for this migration path is that it\u0027s worth trading some"},{"line_number":433,"context_line":"minor incompatibilities between pre-Ocata and Ocata image sharing in order to"},{"line_number":434,"context_line":"avoid end user confusion when they first use Glance after a deployment has"},{"line_number":435,"context_line":"upgraded to Ocata and suddenly see that all the images they own now have a"},{"line_number":436,"context_line":"visibility of \u0027shared\u0027."},{"line_number":437,"context_line":""},{"line_number":438,"context_line":"Thus, the end user impact of an upgrade to the Glance Ocata release will be the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a71b18c_00d8b5ee","line":435,"range":{"start_line":434,"start_character":71,"end_line":435,"end_character":8},"updated":"2016-12-08 14:22:34.000000000","message":"s/has upgraded/has been upgraded/","commit_id":"35936ca9222ebfc7f49df3c0ffc9781ca99441aa"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"3330f243d0ea51cd61eb954403d7ee67cf870488","unresolved":false,"context_lines":[{"line_number":431,"context_line":"sample).  In the end, the compromise we reached is reflected in this spec.  The"},{"line_number":432,"context_line":"primary justification for this migration path is that it\u0027s worth trading some"},{"line_number":433,"context_line":"minor incompatibilities between pre-Ocata and Ocata image sharing in order to"},{"line_number":434,"context_line":"avoid end user confusion when they first use Glance after a deployment has"},{"line_number":435,"context_line":"upgraded to Ocata and suddenly see that all the images they own now have a"},{"line_number":436,"context_line":"visibility of \u0027shared\u0027."},{"line_number":437,"context_line":""},{"line_number":438,"context_line":"Thus, the end user impact of an upgrade to the Glance Ocata release will be the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a71b18c_79f8387d","line":435,"range":{"start_line":434,"start_character":71,"end_line":435,"end_character":8},"in_reply_to":"3a71b18c_00d8b5ee","updated":"2016-12-08 18:22:27.000000000","message":"Done","commit_id":"35936ca9222ebfc7f49df3c0ffc9781ca99441aa"},{"author":{"_account_id":22448,"name":"Alexander Bashmakov","email":"abashmak@yahoo.com","username":"abashmak"},"change_message_id":"bc074ea0c414f17e2d2c86a090ca13ac8b1c9a9c","unresolved":false,"context_lines":[{"line_number":438,"context_line":"Thus, the end user impact of an upgrade to the Glance Ocata release will be the"},{"line_number":439,"context_line":"following:"},{"line_number":440,"context_line":""},{"line_number":441,"context_line":"* Any existing \"private\" image that has members will have visibility \u0027shared\u0027."},{"line_number":442,"context_line":""},{"line_number":443,"context_line":"* Any existing \"private\" image that has no image members will have visibility"},{"line_number":444,"context_line":"  \u0027private\u0027."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a71b18c_e001f93a","line":441,"range":{"start_line":441,"start_character":40,"end_line":441,"end_character":47},"updated":"2016-12-08 14:22:34.000000000","message":"non-deleted members?","commit_id":"35936ca9222ebfc7f49df3c0ffc9781ca99441aa"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"3330f243d0ea51cd61eb954403d7ee67cf870488","unresolved":false,"context_lines":[{"line_number":438,"context_line":"Thus, the end user impact of an upgrade to the Glance Ocata release will be the"},{"line_number":439,"context_line":"following:"},{"line_number":440,"context_line":""},{"line_number":441,"context_line":"* Any existing \"private\" image that has members will have visibility \u0027shared\u0027."},{"line_number":442,"context_line":""},{"line_number":443,"context_line":"* Any existing \"private\" image that has no image members will have visibility"},{"line_number":444,"context_line":"  \u0027private\u0027."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a71b18c_b9f2d098","line":441,"range":{"start_line":441,"start_character":40,"end_line":441,"end_character":47},"in_reply_to":"3a71b18c_e001f93a","updated":"2016-12-08 18:22:27.000000000","message":"Done","commit_id":"35936ca9222ebfc7f49df3c0ffc9781ca99441aa"},{"author":{"_account_id":22448,"name":"Alexander Bashmakov","email":"abashmak@yahoo.com","username":"abashmak"},"change_message_id":"bc074ea0c414f17e2d2c86a090ca13ac8b1c9a9c","unresolved":false,"context_lines":[{"line_number":440,"context_line":""},{"line_number":441,"context_line":"* Any existing \"private\" image that has members will have visibility \u0027shared\u0027."},{"line_number":442,"context_line":""},{"line_number":443,"context_line":"* Any existing \"private\" image that has no image members will have visibility"},{"line_number":444,"context_line":"  \u0027private\u0027."},{"line_number":445,"context_line":""},{"line_number":446,"context_line":"  * Incompatibility: Unlike pre-Ocata, the visibility of the image must be"},{"line_number":447,"context_line":"    changed to \u0027shared\u0027 before the member-create call will succeed.  Users of"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a71b18c_9bf27605","line":444,"range":{"start_line":443,"start_character":67,"end_line":444,"end_character":12},"updated":"2016-12-08 14:22:34.000000000","message":"More clarity: \"will have its visibility set to ``private`` during the upgrade to Ocata.\"","commit_id":"35936ca9222ebfc7f49df3c0ffc9781ca99441aa"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"3330f243d0ea51cd61eb954403d7ee67cf870488","unresolved":false,"context_lines":[{"line_number":440,"context_line":""},{"line_number":441,"context_line":"* Any existing \"private\" image that has members will have visibility \u0027shared\u0027."},{"line_number":442,"context_line":""},{"line_number":443,"context_line":"* Any existing \"private\" image that has no image members will have visibility"},{"line_number":444,"context_line":"  \u0027private\u0027."},{"line_number":445,"context_line":""},{"line_number":446,"context_line":"  * Incompatibility: Unlike pre-Ocata, the visibility of the image must be"},{"line_number":447,"context_line":"    changed to \u0027shared\u0027 before the member-create call will succeed.  Users of"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a71b18c_d9edccb8","line":444,"range":{"start_line":443,"start_character":67,"end_line":444,"end_character":12},"in_reply_to":"3a71b18c_9bf27605","updated":"2016-12-08 18:22:27.000000000","message":"Done","commit_id":"35936ca9222ebfc7f49df3c0ffc9781ca99441aa"},{"author":{"_account_id":21722,"name":"Dharini Chandrasekar","email":"dharini.chandrasekar@intel.com","username":"dharinic"},"change_message_id":"e0ccaebf7f4137ea950e7c7b3efc1bd657a814b4","unresolved":false,"context_lines":[{"line_number":443,"context_line":"* Any existing \"private\" image that has no image members will have visibility"},{"line_number":444,"context_line":"  \u0027private\u0027."},{"line_number":445,"context_line":""},{"line_number":446,"context_line":"  * Incompatibility: Unlike pre-Ocata, the visibility of the image must be"},{"line_number":447,"context_line":"    changed to \u0027shared\u0027 before the member-create call will succeed.  Users of"},{"line_number":448,"context_line":"    the v1 API (of whom there should be fewer and fewer, as that version was"},{"line_number":449,"context_line":"    deprecated in Newton) must explicitly set ``is_public`` to ``False`` before"},{"line_number":450,"context_line":"    the member-create call will succeed."},{"line_number":451,"context_line":""},{"line_number":452,"context_line":"* Any images created after the upgrade for which a visibility is not specified"},{"line_number":453,"context_line":"  at the time of image creation will have visibility \u0027shared\u0027."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a71b18c_51299636","line":450,"range":{"start_line":446,"start_character":21,"end_line":450,"end_character":40},"updated":"2016-12-08 17:12:21.000000000","message":"Maybe the first sentence can follow the second? Cos, the v1 users need to set ``is_public`` \u003d False, is what we are stressing on. And this will in turn make the image shared?","commit_id":"35936ca9222ebfc7f49df3c0ffc9781ca99441aa"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"3330f243d0ea51cd61eb954403d7ee67cf870488","unresolved":false,"context_lines":[{"line_number":443,"context_line":"* Any existing \"private\" image that has no image members will have visibility"},{"line_number":444,"context_line":"  \u0027private\u0027."},{"line_number":445,"context_line":""},{"line_number":446,"context_line":"  * Incompatibility: Unlike pre-Ocata, the visibility of the image must be"},{"line_number":447,"context_line":"    changed to \u0027shared\u0027 before the member-create call will succeed.  Users of"},{"line_number":448,"context_line":"    the v1 API (of whom there should be fewer and fewer, as that version was"},{"line_number":449,"context_line":"    deprecated in Newton) must explicitly set ``is_public`` to ``False`` before"},{"line_number":450,"context_line":"    the member-create call will succeed."},{"line_number":451,"context_line":""},{"line_number":452,"context_line":"* Any images created after the upgrade for which a visibility is not specified"},{"line_number":453,"context_line":"  at the time of image creation will have visibility \u0027shared\u0027."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a71b18c_59b9bc78","line":450,"range":{"start_line":446,"start_character":21,"end_line":450,"end_character":40},"in_reply_to":"3a71b18c_51299636","updated":"2016-12-08 18:22:27.000000000","message":"Done","commit_id":"35936ca9222ebfc7f49df3c0ffc9781ca99441aa"},{"author":{"_account_id":21722,"name":"Dharini Chandrasekar","email":"dharini.chandrasekar@intel.com","username":"dharinic"},"change_message_id":"e0ccaebf7f4137ea950e7c7b3efc1bd657a814b4","unresolved":false,"context_lines":[{"line_number":468,"context_line":"    *two* aspects: (1) the visibility must be \u0027shared\u0027, and (2) the image\u0027s"},{"line_number":469,"context_line":"    member-list must be non-empty."},{"line_number":470,"context_line":""},{"line_number":471,"context_line":"    The upside to this incompatibility is that in the Glance Ocata release, a"},{"line_number":472,"context_line":"    ``visibility`` value of ``private`` will actually mean \"private\"."},{"line_number":473,"context_line":""},{"line_number":474,"context_line":".. [SUR1] http://lists.openstack.org/pipermail/openstack-operators/2016-November/012107.html"},{"line_number":475,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a71b18c_b19f4a5e","line":472,"range":{"start_line":471,"start_character":4,"end_line":472,"end_character":69},"updated":"2016-12-08 17:12:21.000000000","message":"This kind of gives an idea that the current \"private\" is inefficient. Maybe we can rephrase it?","commit_id":"35936ca9222ebfc7f49df3c0ffc9781ca99441aa"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"3330f243d0ea51cd61eb954403d7ee67cf870488","unresolved":false,"context_lines":[{"line_number":468,"context_line":"    *two* aspects: (1) the visibility must be \u0027shared\u0027, and (2) the image\u0027s"},{"line_number":469,"context_line":"    member-list must be non-empty."},{"line_number":470,"context_line":""},{"line_number":471,"context_line":"    The upside to this incompatibility is that in the Glance Ocata release, a"},{"line_number":472,"context_line":"    ``visibility`` value of ``private`` will actually mean \"private\"."},{"line_number":473,"context_line":""},{"line_number":474,"context_line":".. [SUR1] http://lists.openstack.org/pipermail/openstack-operators/2016-November/012107.html"},{"line_number":475,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a71b18c_f917e851","line":472,"range":{"start_line":471,"start_character":4,"end_line":472,"end_character":69},"in_reply_to":"3a71b18c_b19f4a5e","updated":"2016-12-08 18:22:27.000000000","message":"Done","commit_id":"35936ca9222ebfc7f49df3c0ffc9781ca99441aa"}]}
