)]}'
{"specs/rocky/approved/glance/operator-image-workflow.rst":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"90d820852b601d1ecfe4424a2c70bdcf2cc7d0f0","unresolved":false,"context_lines":[{"line_number":50,"context_line":"Proposed change"},{"line_number":51,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"This spec proposes adding a new column ``\"hidden\"`` in images table."},{"line_number":54,"context_line":"Images where ``\"hidden\" \u003d 1`` will be omitted from the image list presented to"},{"line_number":55,"context_line":"the user. This will apply to all image visibilities."},{"line_number":56,"context_line":"However, the images will continue to be discoverable."},{"line_number":57,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ff6b8bd7_04a2779b","line":54,"range":{"start_line":53,"start_character":0,"end_line":54,"end_character":29},"updated":"2018-03-05 15:21:39.000000000","message":"Let\u0027s make this a boolean and let sqlalchemy figure out the best way to represent it.","commit_id":"2cad100f394dd05b7111c963f39fcd89fcbfe55d"},{"author":{"_account_id":2033,"name":"Belmiro Moreira","email":"moreira.belmiro.email.lists@gmail.com","username":"moreira-belmiro-email-lists"},"change_message_id":"ee09acc59848a7dc63f2cdb86871131cc6079099","unresolved":false,"context_lines":[{"line_number":50,"context_line":"Proposed change"},{"line_number":51,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"This spec proposes adding a new column ``\"hidden\"`` in images table."},{"line_number":54,"context_line":"Images where ``\"hidden\" \u003d 1`` will be omitted from the image list presented to"},{"line_number":55,"context_line":"the user. This will apply to all image visibilities."},{"line_number":56,"context_line":"However, the images will continue to be discoverable."},{"line_number":57,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ff6b8bd7_b52c179a","line":54,"range":{"start_line":53,"start_character":0,"end_line":54,"end_character":29},"in_reply_to":"ff6b8bd7_04a2779b","updated":"2018-03-05 17:38:54.000000000","message":"ok","commit_id":"2cad100f394dd05b7111c963f39fcd89fcbfe55d"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"90d820852b601d1ecfe4424a2c70bdcf2cc7d0f0","unresolved":false,"context_lines":[{"line_number":53,"context_line":"This spec proposes adding a new column ``\"hidden\"`` in images table."},{"line_number":54,"context_line":"Images where ``\"hidden\" \u003d 1`` will be omitted from the image list presented to"},{"line_number":55,"context_line":"the user. This will apply to all image visibilities."},{"line_number":56,"context_line":"However, the images will continue to be discoverable."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":".. note:: Example"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ff6b8bd7_a4bcebbb","line":56,"range":{"start_line":56,"start_character":0,"end_line":56,"end_character":53},"updated":"2018-03-05 15:21:39.000000000","message":"We discussed this at the PTG, and the question came up, \"why should the images be discoverable?\".  How about instead, a hidden image will only show up for an admin or the image owner?  That way, end users who already know the image_id can still use it, and nova will still be able to use it for rebuilds (since nova records the image_id in a table), but users who haven\u0027t already used it will be forced to use the latest version (which is what we really want).  How does that sound?","commit_id":"2cad100f394dd05b7111c963f39fcd89fcbfe55d"},{"author":{"_account_id":2033,"name":"Belmiro Moreira","email":"moreira.belmiro.email.lists@gmail.com","username":"moreira-belmiro-email-lists"},"change_message_id":"ee09acc59848a7dc63f2cdb86871131cc6079099","unresolved":false,"context_lines":[{"line_number":53,"context_line":"This spec proposes adding a new column ``\"hidden\"`` in images table."},{"line_number":54,"context_line":"Images where ``\"hidden\" \u003d 1`` will be omitted from the image list presented to"},{"line_number":55,"context_line":"the user. This will apply to all image visibilities."},{"line_number":56,"context_line":"However, the images will continue to be discoverable."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":".. note:: Example"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ff6b8bd7_75e19ffe","line":56,"range":{"start_line":56,"start_character":0,"end_line":56,"end_character":53},"in_reply_to":"ff6b8bd7_a4bcebbb","updated":"2018-03-05 17:38:54.000000000","message":"We have use cases where the user can\u0027t/don\u0027t want to use the latest (recommended) image. This is user/service managers responsibility.\nThe example provided in the spec focus in security but packages versions are also important (for example centos 7.3 to centos 7.4).\nSo, if hidden images are not discoverable cloud admins will need to keep a static list of all hidden images/uuids to provide it to its users which is difficult manage.","commit_id":"2cad100f394dd05b7111c963f39fcd89fcbfe55d"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"90d820852b601d1ecfe4424a2c70bdcf2cc7d0f0","unresolved":false,"context_lines":[{"line_number":64,"context_line":"    So now he uses ``\"?visibility\u003dpublic\u0026hidden\u003dtrue\"`` to get the list of all"},{"line_number":65,"context_line":"    available images."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"If the image has ``\"hidden\" \u003d 0`` the image is not omitted from the image list."},{"line_number":68,"context_line":"It preserves the current behaviour."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"At image creation, if not specified, it\u0027s used ``\"hidden\" \u003d 0``."}],"source_content_type":"text/x-rst","patch_set":2,"id":"ff6b8bd7_a4e14bd3","line":67,"range":{"start_line":67,"start_character":0,"end_line":67,"end_character":34},"updated":"2018-03-05 15:21:39.000000000","message":"If the image does has hidden \u003d False","commit_id":"2cad100f394dd05b7111c963f39fcd89fcbfe55d"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"90d820852b601d1ecfe4424a2c70bdcf2cc7d0f0","unresolved":false,"context_lines":[{"line_number":67,"context_line":"If the image has ``\"hidden\" \u003d 0`` the image is not omitted from the image list."},{"line_number":68,"context_line":"It preserves the current behaviour."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"At image creation, if not specified, it\u0027s used ``\"hidden\" \u003d 0``."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"Changing the property \"hidden\" will be considered an image update. Because,"},{"line_number":73,"context_line":"the policy is already defined for this operation no other changes are required."}],"source_content_type":"text/x-rst","patch_set":2,"id":"ff6b8bd7_24ae9b2e","line":70,"range":{"start_line":70,"start_character":37,"end_line":70,"end_character":63},"updated":"2018-03-05 15:21:39.000000000","message":"set as hidden \u003d False","commit_id":"2cad100f394dd05b7111c963f39fcd89fcbfe55d"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"90d820852b601d1ecfe4424a2c70bdcf2cc7d0f0","unresolved":false,"context_lines":[{"line_number":95,"context_line":"-----------------"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Add the \"hidden\" column in images table:"},{"line_number":98,"context_line":"{`hidden` tinyint(1) NOT NULL DEFAULT \u00270\u0027}"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"REST API impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ff6b8bd7_64eb33b0","line":98,"range":{"start_line":98,"start_character":0,"end_line":98,"end_character":42},"updated":"2018-03-05 15:21:39.000000000","message":"Just say that this is a boolean column, you can leave the details out.","commit_id":"2cad100f394dd05b7111c963f39fcd89fcbfe55d"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"90d820852b601d1ecfe4424a2c70bdcf2cc7d0f0","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Add the \"hidden\" column in images table:"},{"line_number":98,"context_line":"{`hidden` tinyint(1) NOT NULL DEFAULT \u00270\u0027}"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"REST API impact"},{"line_number":102,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ff6b8bd7_a4994b20","line":99,"updated":"2018-03-05 15:21:39.000000000","message":"Need to add something here about the E-M-C database strategy.  (See this section in the template in the git repo for details.)  I think you\u0027ll basically have this:\n\nTriggers: not required (a Queens release Glance will reject an image-update call setting \u0027hidden\u0027 with a 400 because it doesn\u0027t recognize the field).\n\nExpand: will add a boolean \u0027hidden\u0027 column to the images table.\n\nContract: not required\n\nData Migration: set all rows to False","commit_id":"2cad100f394dd05b7111c963f39fcd89fcbfe55d"},{"author":{"_account_id":2033,"name":"Belmiro Moreira","email":"moreira.belmiro.email.lists@gmail.com","username":"moreira-belmiro-email-lists"},"change_message_id":"ee09acc59848a7dc63f2cdb86871131cc6079099","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Add the \"hidden\" column in images table:"},{"line_number":98,"context_line":"{`hidden` tinyint(1) NOT NULL DEFAULT \u00270\u0027}"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"REST API impact"},{"line_number":102,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ff6b8bd7_952793b7","line":99,"in_reply_to":"ff6b8bd7_a4994b20","updated":"2018-03-05 17:38:54.000000000","message":"Will add it.","commit_id":"2cad100f394dd05b7111c963f39fcd89fcbfe55d"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"b4d67106d364cba8beb5f9b805bf3e7bed184e90","unresolved":false,"context_lines":[{"line_number":145,"context_line":"----------"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"- Add support in GET call for the property \"hidden\"."},{"line_number":148,"context_line":"Consider the default \"hidden\u003dfalse\"."},{"line_number":149,"context_line":"- Change the image table schema adding a new field."},{"line_number":150,"context_line":"- Change the glance-client to support the new property."},{"line_number":151,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ff6b8bd7_97d79b24","line":148,"range":{"start_line":148,"start_character":0,"end_line":148,"end_character":36},"updated":"2018-03-05 15:53:15.000000000","message":"The current sphinx failure is because this line needs to be indented (line up the \u0027C\u0027 under the \u0027A\u0027).","commit_id":"2cad100f394dd05b7111c963f39fcd89fcbfe55d"},{"author":{"_account_id":2033,"name":"Belmiro Moreira","email":"moreira.belmiro.email.lists@gmail.com","username":"moreira-belmiro-email-lists"},"change_message_id":"ee09acc59848a7dc63f2cdb86871131cc6079099","unresolved":false,"context_lines":[{"line_number":145,"context_line":"----------"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"- Add support in GET call for the property \"hidden\"."},{"line_number":148,"context_line":"Consider the default \"hidden\u003dfalse\"."},{"line_number":149,"context_line":"- Change the image table schema adding a new field."},{"line_number":150,"context_line":"- Change the glance-client to support the new property."},{"line_number":151,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ff6b8bd7_d51bcb70","line":148,"range":{"start_line":148,"start_character":0,"end_line":148,"end_character":36},"in_reply_to":"ff6b8bd7_97d79b24","updated":"2018-03-05 17:38:54.000000000","message":"Thank you :) needed to be something trivial... \nI already spent a lot of time because of this :)","commit_id":"2cad100f394dd05b7111c963f39fcd89fcbfe55d"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"d3386035ff42bee7e0bf5035ebabf26db947e192","unresolved":false,"context_lines":[{"line_number":164,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":".. [0] https://review.openstack.org/#/c/327980/"},{"line_number":167,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"df7087c5_43a7e150","line":167,"updated":"2018-03-19 23:42:57.000000000","message":"Move the reviews you have as references in your commit message here:\nhttps://review.openstack.org/#/c/327980\nhttps://review.openstack.org/#/c/108574\n\nAlso, add the previous version of this spec so that the discussion isn\u0027t lost:\nhttps://review.openstack.org/#/c/508133/","commit_id":"2cad100f394dd05b7111c963f39fcd89fcbfe55d"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"c175d82b3382f477ca8ae477c37d81341e9392f0","unresolved":false,"context_lines":[{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Operator maintained images lifecycle"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"This spec addresses the problem that cloud operators have into keep a"},{"line_number":12,"context_line":"public image list with only the latest images versions available."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f6a8fd7_206a67ec","line":10,"updated":"2018-04-23 09:12:37.000000000","message":"It should have a link to the blueprint as per the specs template.","commit_id":"b7db624cd0a21e459ac9131df02283f4e52cfdcb"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"5532bbddd0d245313b541133587edba945f403d8","unresolved":false,"context_lines":[{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Operator maintained images lifecycle"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"This spec addresses the problem that cloud operators have into keep a"},{"line_number":12,"context_line":"public image list with only the latest images versions available."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f6a8fd7_ac570926","line":10,"in_reply_to":"9f6a8fd7_206a67ec","updated":"2018-04-25 21:52:35.000000000","message":"Abhishek is correct.  You can use this URL:\n\nhttps://blueprints.launchpad.net/glance/+spec/hidden-images\n\n(Just put it on a line by itself before the first paragraph)","commit_id":"b7db624cd0a21e459ac9131df02283f4e52cfdcb"},{"author":{"_account_id":2033,"name":"Belmiro Moreira","email":"moreira.belmiro.email.lists@gmail.com","username":"moreira-belmiro-email-lists"},"change_message_id":"76db3e7e69520f49a161607238281bd8cda252f2","unresolved":false,"context_lines":[{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Operator maintained images lifecycle"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"This spec addresses the problem that cloud operators have into keep a"},{"line_number":12,"context_line":"public image list with only the latest images versions available."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"5f7c97a3_ef11f305","line":10,"in_reply_to":"9f6a8fd7_ac570926","updated":"2018-05-23 19:27:28.000000000","message":"Done","commit_id":"b7db624cd0a21e459ac9131df02283f4e52cfdcb"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"5532bbddd0d245313b541133587edba945f403d8","unresolved":false,"context_lines":[{"line_number":89,"context_line":"This solution is less flexible because visibility \"hidden\" has potentially"},{"line_number":90,"context_line":"the same scope as \"public\". The user roles that can use this visibility"},{"line_number":91,"context_line":"need to be controlled by policy."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Data model impact"},{"line_number":95,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f6a8fd7_17671eeb","line":92,"updated":"2018-04-25 21:52:35.000000000","message":"I think you should mention another alternative here, namely, that hidden images *not* be discoverable, since it came up at the PTG.  You can incorporate your response on PS2 here.  One other reason to keep the hidden images discoverable came up in a discussion I was having the other day, namely, that some appliance vendors will only support their software on particular images.","commit_id":"b7db624cd0a21e459ac9131df02283f4e52cfdcb"},{"author":{"_account_id":2033,"name":"Belmiro Moreira","email":"moreira.belmiro.email.lists@gmail.com","username":"moreira-belmiro-email-lists"},"change_message_id":"76db3e7e69520f49a161607238281bd8cda252f2","unresolved":false,"context_lines":[{"line_number":89,"context_line":"This solution is less flexible because visibility \"hidden\" has potentially"},{"line_number":90,"context_line":"the same scope as \"public\". The user roles that can use this visibility"},{"line_number":91,"context_line":"need to be controlled by policy."},{"line_number":92,"context_line":""},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Data model impact"},{"line_number":95,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5f7c97a3_af1c5b13","line":92,"in_reply_to":"9f6a8fd7_17671eeb","updated":"2018-05-23 19:27:28.000000000","message":"Done","commit_id":"b7db624cd0a21e459ac9131df02283f4e52cfdcb"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"5532bbddd0d245313b541133587edba945f403d8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"9f6a8fd7_cc527d35","line":175,"updated":"2018-04-25 21:52:35.000000000","message":"You need to make these a bulleted list, or they all run together when this gets rendered into HTML.  (Just put a dash before each one.)","commit_id":"b7db624cd0a21e459ac9131df02283f4e52cfdcb"},{"author":{"_account_id":2033,"name":"Belmiro Moreira","email":"moreira.belmiro.email.lists@gmail.com","username":"moreira-belmiro-email-lists"},"change_message_id":"76db3e7e69520f49a161607238281bd8cda252f2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"5f7c97a3_8f215f50","line":175,"in_reply_to":"9f6a8fd7_cc527d35","updated":"2018-05-23 19:27:28.000000000","message":"Done","commit_id":"b7db624cd0a21e459ac9131df02283f4e52cfdcb"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"a968bc02871aeb3979de743345f33d9e6958d9cd","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/glance/+spec/hidden-images"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This spec addresses the problem that cloud operators have into keep a"},{"line_number":14,"context_line":"public image list with only the latest images versions available."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f7c97a3_b8395fa4","line":13,"range":{"start_line":13,"start_character":58,"end_line":13,"end_character":67},"updated":"2018-06-04 20:17:14.000000000","message":"\"in keeping\"?\n\nNot important, but thought I would point out in case you need to update.","commit_id":"801a955c78169bc53cf458051870562250dc13c2"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"49507ac95cb31a43b6fa85b9f68af0ed85276db3","unresolved":false,"context_lines":[{"line_number":66,"context_line":"    So now he uses ``\"?visibility\u003dpublic\u0026hidden\u003dtrue\"`` to get the list of all"},{"line_number":67,"context_line":"    available images."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"If the image has ``\"hidden\" \u003d False`` the image is not omitted from the image"},{"line_number":70,"context_line":"list. It preserves the current behaviour."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"At image creation, if not specified, it\u0027s used ``\"hidden\" \u003d False``."},{"line_number":73,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f7c97a3_18d8801c","line":70,"range":{"start_line":69,"start_character":0,"end_line":70,"end_character":41},"updated":"2018-06-05 14:31:22.000000000","message":"I think it would be better to do this so that the column is not required to be populated, that is, (a) hidden \u003d False and (b) hidden \u003d null both count as \"image is not hidden\".  Then we don\u0027t have to do a data migration.","commit_id":"801a955c78169bc53cf458051870562250dc13c2"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"49507ac95cb31a43b6fa85b9f68af0ed85276db3","unresolved":false,"context_lines":[{"line_number":69,"context_line":"If the image has ``\"hidden\" \u003d False`` the image is not omitted from the image"},{"line_number":70,"context_line":"list. It preserves the current behaviour."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"At image creation, if not specified, it\u0027s used ``\"hidden\" \u003d False``."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Changing the property \"hidden\" will be considered an image update. Because,"},{"line_number":75,"context_line":"the policy is already defined for this operation no other changes are required."}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f7c97a3_18f16096","line":72,"updated":"2018-06-05 14:31:22.000000000","message":"If you accept the above suggestion, then we don\u0027t have to populate this at all at the time of image creation.  But the functionality will be the same, that is, if you don\u0027t explicitly set hidden \u003d True on an image, it is NOT hidden.","commit_id":"801a955c78169bc53cf458051870562250dc13c2"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"a968bc02871aeb3979de743345f33d9e6958d9cd","unresolved":false,"context_lines":[{"line_number":81,"context_line":"Alternatives"},{"line_number":82,"context_line":"------------"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Instead using a new image property we can have a new visibility \u003d \"hidden\"."},{"line_number":85,"context_line":"Images with this new visibility state will not be in the default image list."},{"line_number":86,"context_line":"To list images with visibility \"hidden\" it will be required to explicitly"},{"line_number":87,"context_line":"request it. Ex:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f7c97a3_580ccbeb","line":84,"range":{"start_line":84,"start_character":8,"end_line":84,"end_character":13},"updated":"2018-06-04 20:17:14.000000000","message":"of using","commit_id":"801a955c78169bc53cf458051870562250dc13c2"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"a968bc02871aeb3979de743345f33d9e6958d9cd","unresolved":false,"context_lines":[{"line_number":99,"context_line":"software on particular images). If \"hidden\" images are not discoverable cloud"},{"line_number":100,"context_line":"admins will need implement their own solution to expose these images."},{"line_number":101,"context_line":""},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"Data model impact"},{"line_number":104,"context_line":"-----------------"},{"line_number":105,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f7c97a3_78ad079a","line":102,"updated":"2018-06-04 20:17:14.000000000","message":"One other alternative that came to mind would be to explicitly track replacements. So the user experience could be something like:\n\nglance image create ... -replaces \u003cUUID\u003e\n\nThen glance list would only show the new replacement images. But if for example the image was \"ubuntu-16.04\", then have something like:\n\nglance list-versions ubuntu-16.04\n\nand the user could get a list of all the versions of that image are available.\n\nThis is a lot more work though, and would probably be overkill for our purposes.","commit_id":"801a955c78169bc53cf458051870562250dc13c2"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"49507ac95cb31a43b6fa85b9f68af0ed85276db3","unresolved":false,"context_lines":[{"line_number":99,"context_line":"software on particular images). If \"hidden\" images are not discoverable cloud"},{"line_number":100,"context_line":"admins will need implement their own solution to expose these images."},{"line_number":101,"context_line":""},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"Data model impact"},{"line_number":104,"context_line":"-----------------"},{"line_number":105,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f7c97a3_f807c4c8","line":102,"in_reply_to":"5f7c97a3_78ad079a","updated":"2018-06-05 14:31:22.000000000","message":"Agree that it\u0027s overkill for this proposal, but it\u0027s worth keeping in mind.","commit_id":"801a955c78169bc53cf458051870562250dc13c2"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"49507ac95cb31a43b6fa85b9f68af0ed85276db3","unresolved":false,"context_lines":[{"line_number":110,"context_line":"setting \u0027hidden\u0027 with a 400 because it doesn\u0027t recognize the field."},{"line_number":111,"context_line":"- Expand: will add a boolean \"hidden\" column to the images table."},{"line_number":112,"context_line":"- Contract: not required"},{"line_number":113,"context_line":"- Data Migration: set the \"hidden\" column to False in all rows."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"REST API impact"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f7c97a3_98b3300b","line":113,"updated":"2018-06-05 14:31:22.000000000","message":"I think this will actually require triggers, unless the proposal is changed so that migration is not necessary.  (See my earlier comment.)","commit_id":"801a955c78169bc53cf458051870562250dc13c2"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"5814da7dd3ff952fc3283607f6359b930af47013","unresolved":false,"context_lines":[{"line_number":110,"context_line":"setting \u0027hidden\u0027 with a 400 because it doesn\u0027t recognize the field."},{"line_number":111,"context_line":"- Expand: will add a boolean \"hidden\" column to the images table."},{"line_number":112,"context_line":"- Contract: not required"},{"line_number":113,"context_line":"- Data Migration: set the \"hidden\" column to False in all rows."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"REST API impact"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f7c97a3_b83dccde","line":113,"in_reply_to":"5f7c97a3_98b3300b","updated":"2018-06-05 14:35:46.000000000","message":"Yes, please no triggers!","commit_id":"801a955c78169bc53cf458051870562250dc13c2"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"49507ac95cb31a43b6fa85b9f68af0ed85276db3","unresolved":false,"context_lines":[{"line_number":116,"context_line":"REST API impact"},{"line_number":117,"context_line":"---------------"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"A new property \"hidden\" will be accepted for the GET call."},{"line_number":120,"context_line":"GET v2/images ... hidden\u003dtrue/false"},{"line_number":121,"context_line":"By default the API will consider hidden\u003dfalse."},{"line_number":122,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f7c97a3_d876880d","line":119,"range":{"start_line":119,"start_character":49,"end_line":119,"end_character":57},"updated":"2018-06-05 14:31:22.000000000","message":"GET v2/images call.","commit_id":"801a955c78169bc53cf458051870562250dc13c2"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"49507ac95cb31a43b6fa85b9f68af0ed85276db3","unresolved":false,"context_lines":[{"line_number":117,"context_line":"---------------"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"A new property \"hidden\" will be accepted for the GET call."},{"line_number":120,"context_line":"GET v2/images ... hidden\u003dtrue/false"},{"line_number":121,"context_line":"By default the API will consider hidden\u003dfalse."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f7c97a3_d85f6873","line":120,"updated":"2018-06-05 14:31:22.000000000","message":"It would probably be more clear to state this as: A new filter on the \u0027hidden\u0027 property will be added to the GET v2/images call.","commit_id":"801a955c78169bc53cf458051870562250dc13c2"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"49507ac95cb31a43b6fa85b9f68af0ed85276db3","unresolved":false,"context_lines":[{"line_number":119,"context_line":"A new property \"hidden\" will be accepted for the GET call."},{"line_number":120,"context_line":"GET v2/images ... hidden\u003dtrue/false"},{"line_number":121,"context_line":"By default the API will consider hidden\u003dfalse."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"Security impact"},{"line_number":124,"context_line":"---------------"},{"line_number":125,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"5f7c97a3_f897c4ea","line":122,"updated":"2018-06-05 14:31:22.000000000","message":"One other impact is that the GET v2/schemas/image response will need to be updated with the new \u0027hidden\u0027 field.","commit_id":"801a955c78169bc53cf458051870562250dc13c2"}]}
