)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"d5f1e52cf27249fd37ee2619465b005d983beae2","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Mridula Joshi \u003cmrjoshi@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2021-10-11 13:32:59 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Provision to append the new tags with the existing tags"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Related-Bug: https://bugs.launchpad.net/glance/+bug/1939169"},{"line_number":10,"context_line":"Change-Id: I63c010c6aab6acf800c52ccee53dd0aa0821483f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"70c10f18_38136d2f","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":55},"updated":"2021-10-13 05:59:47.000000000","message":"Append new tags to existing tags","commit_id":"84bc5caea45032ed50f1ca059f10a2d813948747"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"09383f159b35e44a5e7afa6e6ed6677d7b9c8a0b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"6c148e7a_d0797710","updated":"2021-10-14 07:04:06.000000000","message":"Looks good to me, lets see what suggestions are given during PTG for the same!!\n\nThank you for putting this together in a spec.","commit_id":"84bd99b997feb1f1e3c63f5686a8f2849186b947"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"a385d5fdaba192e36bb9aca1d0aeb8d1eda01830","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"40cf8d91_7da9fec4","updated":"2021-10-28 01:45:49.000000000","message":"Overall looks good to me, a few things are left to discuss. I inlined my comments.","commit_id":"84bd99b997feb1f1e3c63f5686a8f2849186b947"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"e69ff4a688230ee3d8ba8edb13c044726756fbcd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"6a4ab407_54aa4084","updated":"2021-11-22 14:19:05.000000000","message":"Looks good to me, thank you!","commit_id":"8cd61548e8277c2252ad2c86be7e4d217db4a77f"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"8e8a12b43d3fba8ed79495bedfd925ad74e9b5ee","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"8f99d374_5e7c3aec","updated":"2021-12-11 17:00:40.000000000","message":"Some questions and comments inline.","commit_id":"61a0405828d9b6ad8cdffdc06027535502cc0311"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"065dae12d4981af1484afea085492ef1d92be438","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"d9487c93_25698122","updated":"2021-12-14 05:53:12.000000000","message":"Thanks Brian for the review","commit_id":"61a0405828d9b6ad8cdffdc06027535502cc0311"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"94540be53f8ad0776ef9d2b79c600faec06a139c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"ffd241f9_e7557d21","updated":"2021-12-17 08:16:05.000000000","message":"I am pro for using POST here, everything else looks good to me.\n","commit_id":"ac35d6d5287f129ef1bf2411ac3d665dd10d0db3"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"ce53b26147f289f04ebbf6419c3644d1b8ca0e6a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"a110ab9d_9848ac30","updated":"2021-12-15 21:16:51.000000000","message":"My concerns have been adressed. Only setting +1 until the PUT/POST discussion with Brian is resolved.","commit_id":"ac35d6d5287f129ef1bf2411ac3d665dd10d0db3"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"17cd1ef4c4f855e8b6dea5525d435e72db50eb0b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"435231a5_418eb41e","updated":"2021-12-20 23:56:22.000000000","message":"Revisions look good.  I prefer PATCH to POST-plus-a-header, but not enough to fight for it.  (My secret hope was that you could improve our current PATCH handling while working on this.)  Looks like a useful addition to the metadefs API.","commit_id":"ac35d6d5287f129ef1bf2411ac3d665dd10d0db3"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"dba2dd5ba800b2d870374c7140a8d70366fb3b29","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"7b82d578_b21722bf","updated":"2021-12-23 06:01:44.000000000","message":"Thank you all for your reviews!!","commit_id":"ac35d6d5287f129ef1bf2411ac3d665dd10d0db3"}],"specs/yoga/approved/glance/append-tags.rst":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"d5f1e52cf27249fd37ee2619465b005d983beae2","unresolved":true,"context_lines":[{"line_number":18,"context_line":"Problem description"},{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Our md-tag-create-multiple (/v2/metadefs/namespaces/{namespace_name}/tags) API"},{"line_number":22,"context_line":"overwrites existing tags for specified namespace rather than creating new one in"},{"line_number":23,"context_line":"addition to the existing tags."},{"line_number":24,"context_line":"Where as if you try to create different tags using md-tag-create"},{"line_number":25,"context_line":"(/v2/metadefs/namespaces/{namespace_name}/tags/{tag_name}) it is adding new tag"},{"line_number":26,"context_line":"in addition to existing ones."},{"line_number":27,"context_line":"So we should have consistency between the two APIs i.e. the ability to append"},{"line_number":28,"context_line":"the tags in md-tag-create-multiple API."},{"line_number":29,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"fd213c60_c390fad0","line":26,"range":{"start_line":21,"start_character":0,"end_line":26,"end_character":29},"updated":"2021-10-13 05:59:47.000000000","message":"You can write these two para in continuation, i.e. in one paragraph only","commit_id":"84bc5caea45032ed50f1ca059f10a2d813948747"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"7d0d3f4c6bcd97301a502c218a4c38ba152acfc7","unresolved":false,"context_lines":[{"line_number":18,"context_line":"Problem description"},{"line_number":19,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Our md-tag-create-multiple (/v2/metadefs/namespaces/{namespace_name}/tags) API"},{"line_number":22,"context_line":"overwrites existing tags for specified namespace rather than creating new one in"},{"line_number":23,"context_line":"addition to the existing tags."},{"line_number":24,"context_line":"Where as if you try to create different tags using md-tag-create"},{"line_number":25,"context_line":"(/v2/metadefs/namespaces/{namespace_name}/tags/{tag_name}) it is adding new tag"},{"line_number":26,"context_line":"in addition to existing ones."},{"line_number":27,"context_line":"So we should have consistency between the two APIs i.e. the ability to append"},{"line_number":28,"context_line":"the tags in md-tag-create-multiple API."},{"line_number":29,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"e907df06_65103726","line":26,"range":{"start_line":21,"start_character":0,"end_line":26,"end_character":29},"in_reply_to":"fd213c60_c390fad0","updated":"2021-10-14 06:34:56.000000000","message":"Ack","commit_id":"84bc5caea45032ed50f1ca059f10a2d813948747"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"d5f1e52cf27249fd37ee2619465b005d983beae2","unresolved":true,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"In addition to this we will add an optional parameter at glanceclient side"},{"line_number":44,"context_line":"which will default to the original behaviour and if the user wants to append the"},{"line_number":45,"context_line":"new tags it can be by changing the value of parameter to True . "},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Alternatives"},{"line_number":48,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"28104e91_3f40b662","line":45,"range":{"start_line":45,"start_character":61,"end_line":45,"end_character":62},"updated":"2021-10-13 05:59:47.000000000","message":"Remove this white space and as well as trailing space after fullstop","commit_id":"84bc5caea45032ed50f1ca059f10a2d813948747"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"7d0d3f4c6bcd97301a502c218a4c38ba152acfc7","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"In addition to this we will add an optional parameter at glanceclient side"},{"line_number":44,"context_line":"which will default to the original behaviour and if the user wants to append the"},{"line_number":45,"context_line":"new tags it can be by changing the value of parameter to True . "},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Alternatives"},{"line_number":48,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9c5897c2_b1532941","line":45,"range":{"start_line":45,"start_character":61,"end_line":45,"end_character":62},"in_reply_to":"28104e91_3f40b662","updated":"2021-10-14 06:34:56.000000000","message":"Ack","commit_id":"84bc5caea45032ed50f1ca059f10a2d813948747"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"d5f1e52cf27249fd37ee2619465b005d983beae2","unresolved":true,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"  POST /v2/metadefs/namespaces/{namespace_name}/tags?append\u003dFalse"},{"line_number":67,"context_line":".. code-block:: python"},{"line_number":68,"context_line":" "},{"line_number":69,"context_line":"  {"},{"line_number":70,"context_line":"   \u0027append\u0027: False"},{"line_number":71,"context_line":"  }"}],"source_content_type":"text/x-rst","patch_set":1,"id":"967fafe9_f4169e0a","line":68,"range":{"start_line":68,"start_character":0,"end_line":68,"end_character":1},"updated":"2021-10-13 05:59:47.000000000","message":"Remove this whitespace","commit_id":"84bc5caea45032ed50f1ca059f10a2d813948747"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"7d0d3f4c6bcd97301a502c218a4c38ba152acfc7","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"  POST /v2/metadefs/namespaces/{namespace_name}/tags?append\u003dFalse"},{"line_number":67,"context_line":".. code-block:: python"},{"line_number":68,"context_line":" "},{"line_number":69,"context_line":"  {"},{"line_number":70,"context_line":"   \u0027append\u0027: False"},{"line_number":71,"context_line":"  }"}],"source_content_type":"text/x-rst","patch_set":1,"id":"eddbb057_b63aad63","line":68,"range":{"start_line":68,"start_character":0,"end_line":68,"end_character":1},"in_reply_to":"967fafe9_f4169e0a","updated":"2021-10-14 06:34:56.000000000","message":"Ack","commit_id":"84bc5caea45032ed50f1ca059f10a2d813948747"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"d5f1e52cf27249fd37ee2619465b005d983beae2","unresolved":true,"context_lines":[{"line_number":148,"context_line":"References"},{"line_number":149,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"https://bugs.launchpad.net/glance/+bug/1939169"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ad2f23ed_3a28ae9b","line":151,"updated":"2021-10-13 05:59:47.000000000","message":"Add a PoC reference here","commit_id":"84bc5caea45032ed50f1ca059f10a2d813948747"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"7d0d3f4c6bcd97301a502c218a4c38ba152acfc7","unresolved":false,"context_lines":[{"line_number":148,"context_line":"References"},{"line_number":149,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"https://bugs.launchpad.net/glance/+bug/1939169"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f1bd2e2_72a25578","line":151,"in_reply_to":"ad2f23ed_3a28ae9b","updated":"2021-10-14 06:34:56.000000000","message":"Ack","commit_id":"84bc5caea45032ed50f1ca059f10a2d813948747"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"a385d5fdaba192e36bb9aca1d0aeb8d1eda01830","unresolved":true,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Our md-tag-create-multiple (/v2/metadefs/namespaces/{namespace_name}/tags) API"},{"line_number":22,"context_line":"overwrites existing tags for specified namespace rather than creating new one in"},{"line_number":23,"context_line":"addition to the existing tags. Where as if you try to create different tags using"},{"line_number":24,"context_line":"md-tag-create (/v2/metadefs/namespaces/{namespace_name}/tags/{tag_name}) it is"},{"line_number":25,"context_line":"adding new tag in addition to existing ones."},{"line_number":26,"context_line":"So we should have consistency between the two APIs i.e. the ability to append"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fbd8c2ae_fe6f2954","line":23,"range":{"start_line":23,"start_character":37,"end_line":23,"end_character":39},"updated":"2021-10-28 01:45:49.000000000","message":"Whereas","commit_id":"84bd99b997feb1f1e3c63f5686a8f2849186b947"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"c86a6889729139d8baf5711100f39f86f3f33ea2","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Our md-tag-create-multiple (/v2/metadefs/namespaces/{namespace_name}/tags) API"},{"line_number":22,"context_line":"overwrites existing tags for specified namespace rather than creating new one in"},{"line_number":23,"context_line":"addition to the existing tags. Where as if you try to create different tags using"},{"line_number":24,"context_line":"md-tag-create (/v2/metadefs/namespaces/{namespace_name}/tags/{tag_name}) it is"},{"line_number":25,"context_line":"adding new tag in addition to existing ones."},{"line_number":26,"context_line":"So we should have consistency between the two APIs i.e. the ability to append"}],"source_content_type":"text/x-rst","patch_set":2,"id":"e48f36f4_9b2a8ffe","line":23,"range":{"start_line":23,"start_character":37,"end_line":23,"end_character":39},"in_reply_to":"fbd8c2ae_fe6f2954","updated":"2021-11-09 08:18:29.000000000","message":"Ack","commit_id":"84bd99b997feb1f1e3c63f5686a8f2849186b947"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"a385d5fdaba192e36bb9aca1d0aeb8d1eda01830","unresolved":true,"context_lines":[{"line_number":57,"context_line":"---------------"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"We are going to change the API and will be adding a query parameter"},{"line_number":60,"context_line":"``append`` to the request."},{"line_number":61,"context_line":"The rest API look like this:"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fb93eeb2_b7cc193b","line":60,"range":{"start_line":60,"start_character":0,"end_line":60,"end_character":26},"updated":"2021-10-28 01:45:49.000000000","message":"During PTG, we discussed the possibility of using a header or the request body instead of a query parameter. If this is still ok with you, maybe this section should be updated.","commit_id":"84bd99b997feb1f1e3c63f5686a8f2849186b947"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"c86a6889729139d8baf5711100f39f86f3f33ea2","unresolved":false,"context_lines":[{"line_number":57,"context_line":"---------------"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"We are going to change the API and will be adding a query parameter"},{"line_number":60,"context_line":"``append`` to the request."},{"line_number":61,"context_line":"The rest API look like this:"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":2,"id":"d6f6d4bb_14e131ca","line":60,"range":{"start_line":60,"start_character":0,"end_line":60,"end_character":26},"in_reply_to":"fb93eeb2_b7cc193b","updated":"2021-11-09 08:18:29.000000000","message":"Ack","commit_id":"84bd99b997feb1f1e3c63f5686a8f2849186b947"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"a385d5fdaba192e36bb9aca1d0aeb8d1eda01830","unresolved":true,"context_lines":[{"line_number":91,"context_line":"The parameter will accept boolean values, if ``True`` it will append the tags"},{"line_number":92,"context_line":"to existing one, else it will overwrite the existing tags."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"* Create multiple tags: ``glance md-tag-create-multiple \u003cNAMESPACE\u003e --names \u003cNAMES\u003e [--delim \u003cDELIM\u003e] [--append [True|False]]``"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"Performance Impact"},{"line_number":97,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"4fdb155d_1028c86d","line":94,"range":{"start_line":94,"start_character":102,"end_line":94,"end_character":126},"updated":"2021-10-28 01:45:49.000000000","message":"As I mentioned on the glanceclient review, I really dislike having \"--append True/False\" for boolean options. Having either \"--append\" or \"\" seems more natural to me (think of \"--verbose\" and \"--debug\" in multiple pieces of software).","commit_id":"84bd99b997feb1f1e3c63f5686a8f2849186b947"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"c86a6889729139d8baf5711100f39f86f3f33ea2","unresolved":false,"context_lines":[{"line_number":91,"context_line":"The parameter will accept boolean values, if ``True`` it will append the tags"},{"line_number":92,"context_line":"to existing one, else it will overwrite the existing tags."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"* Create multiple tags: ``glance md-tag-create-multiple \u003cNAMESPACE\u003e --names \u003cNAMES\u003e [--delim \u003cDELIM\u003e] [--append [True|False]]``"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"Performance Impact"},{"line_number":97,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"76f7e22c_6fcaf023","line":94,"range":{"start_line":94,"start_character":102,"end_line":94,"end_character":126},"in_reply_to":"4fdb155d_1028c86d","updated":"2021-11-09 08:18:29.000000000","message":"Ack","commit_id":"84bd99b997feb1f1e3c63f5686a8f2849186b947"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"e8c104bff2341fd2425bf55b1cd6363997a26864","unresolved":true,"context_lines":[{"line_number":32,"context_line":"At the moment the glance API only overwrites the existing tags with the"},{"line_number":33,"context_line":"newly created tags i.e. the original/default behaviour. The new behaviour suggests"},{"line_number":34,"context_line":"to append the new tags with the existing ones."},{"line_number":35,"context_line":"The goal is to provide a boolean parameter ``append`` in the header, which will"},{"line_number":36,"context_line":"default to the original behaviour."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"If the value of the parameter is True it will append the new tags with the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"278539fe_c1514635","line":35,"range":{"start_line":35,"start_character":45,"end_line":35,"end_character":51},"updated":"2021-11-15 06:10:47.000000000","message":"I think you need to understand the pattern for defining new header, I guess we use x-openstack-* to define header variable.\nPlease understand the standard and define exact header name here.","commit_id":"d694e5f8dd3d50a6aabda2b0317591121bdfd6e2"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"26703931f80a52a47778b675f570e510ca614538","unresolved":false,"context_lines":[{"line_number":32,"context_line":"At the moment the glance API only overwrites the existing tags with the"},{"line_number":33,"context_line":"newly created tags i.e. the original/default behaviour. The new behaviour suggests"},{"line_number":34,"context_line":"to append the new tags with the existing ones."},{"line_number":35,"context_line":"The goal is to provide a boolean parameter ``append`` in the header, which will"},{"line_number":36,"context_line":"default to the original behaviour."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"If the value of the parameter is True it will append the new tags with the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9068ba0c_b4788f7b","line":35,"range":{"start_line":35,"start_character":45,"end_line":35,"end_character":51},"in_reply_to":"278539fe_c1514635","updated":"2021-11-30 05:49:17.000000000","message":"Ack","commit_id":"d694e5f8dd3d50a6aabda2b0317591121bdfd6e2"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"e8c104bff2341fd2425bf55b1cd6363997a26864","unresolved":true,"context_lines":[{"line_number":34,"context_line":"to append the new tags with the existing ones."},{"line_number":35,"context_line":"The goal is to provide a boolean parameter ``append`` in the header, which will"},{"line_number":36,"context_line":"default to the original behaviour."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"If the value of the parameter is True it will append the new tags with the"},{"line_number":39,"context_line":"existing one, if False it will work according to the original behaviour"},{"line_number":40,"context_line":"i.e. overwrite the existing tags with the new tags."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"In addition to this we will add an optional parameter at glanceclient side"},{"line_number":43,"context_line":"which will default to the original behaviour and if the user wants to append the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"33b7f3da_44240154","line":40,"range":{"start_line":37,"start_character":0,"end_line":40,"end_character":51},"updated":"2021-11-15 06:10:47.000000000","message":"If header is present then we are going to append new tags else keep the old behavior","commit_id":"d694e5f8dd3d50a6aabda2b0317591121bdfd6e2"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"26703931f80a52a47778b675f570e510ca614538","unresolved":false,"context_lines":[{"line_number":34,"context_line":"to append the new tags with the existing ones."},{"line_number":35,"context_line":"The goal is to provide a boolean parameter ``append`` in the header, which will"},{"line_number":36,"context_line":"default to the original behaviour."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"If the value of the parameter is True it will append the new tags with the"},{"line_number":39,"context_line":"existing one, if False it will work according to the original behaviour"},{"line_number":40,"context_line":"i.e. overwrite the existing tags with the new tags."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"In addition to this we will add an optional parameter at glanceclient side"},{"line_number":43,"context_line":"which will default to the original behaviour and if the user wants to append the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9f5cba50_0080c59b","line":40,"range":{"start_line":37,"start_character":0,"end_line":40,"end_character":51},"in_reply_to":"33b7f3da_44240154","updated":"2021-11-30 05:49:17.000000000","message":"Ack","commit_id":"d694e5f8dd3d50a6aabda2b0317591121bdfd6e2"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"6d10948b42d6b6566a94686059c47c033302ab06","unresolved":true,"context_lines":[{"line_number":32,"context_line":"At the moment the glance API only overwrites the existing tags with the"},{"line_number":33,"context_line":"newly created tags i.e. the original/default behaviour. The new behaviour suggests"},{"line_number":34,"context_line":"to append the new tags with the existing ones."},{"line_number":35,"context_line":"The goal is to provide a ``X-Openstack-Append`` in the header, which will default to"},{"line_number":36,"context_line":"the original behaviour."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"If header is present then we are going to append new tags else keep the old behavior."}],"source_content_type":"text/x-rst","patch_set":5,"id":"794c7173_d2401027","line":35,"range":{"start_line":35,"start_character":48,"end_line":35,"end_character":61},"updated":"2021-11-29 16:12:44.000000000","message":"Why a header and not a query param? This makes it harder to do the new behavior when you don\u0027t have control over the headers, and/or just more complicated when you do. Seems like just \"?append\u003dtrue\" in the URL would be easier.\n\nAre you referencing some API guideline against doing this in the URL? If so, maybe including that here would be good.","commit_id":"f1501954f1a0aec268862bf943a4edeba112e3ca"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"3a8297e929c39630ef88f02265e38150c69c5858","unresolved":true,"context_lines":[{"line_number":32,"context_line":"At the moment the glance API only overwrites the existing tags with the"},{"line_number":33,"context_line":"newly created tags i.e. the original/default behaviour. The new behaviour suggests"},{"line_number":34,"context_line":"to append the new tags with the existing ones."},{"line_number":35,"context_line":"The goal is to provide a ``X-Openstack-Append`` in the header, which will default to"},{"line_number":36,"context_line":"the original behaviour."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"If header is present then we are going to append new tags else keep the old behavior."}],"source_content_type":"text/x-rst","patch_set":5,"id":"b4544d56_ae463779","line":35,"range":{"start_line":35,"start_character":48,"end_line":35,"end_character":61},"in_reply_to":"794c7173_d2401027","updated":"2021-11-30 08:39:06.000000000","message":"The reason we are not using query parameter other than GET call so to be consistent with the  behavior ,in PTG we decided to use header instead of query parameter.","commit_id":"f1501954f1a0aec268862bf943a4edeba112e3ca"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"6d10948b42d6b6566a94686059c47c033302ab06","unresolved":true,"context_lines":[{"line_number":65,"context_line":"  {"},{"line_number":66,"context_line":"   \u0027X-Openstack-Append\u0027: False"},{"line_number":67,"context_line":"  }"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"  * The \u003cboolean\u003e \u0027X-Openstack-Append\u0027 refers to appending the tags to the existing tags."},{"line_number":70,"context_line":"    It takes boolean values if True then it will append the tags ,if False it will"},{"line_number":71,"context_line":"   overwrite the tags ,default value is False."}],"source_content_type":"text/x-rst","patch_set":5,"id":"06bad720_b822d405","line":68,"updated":"2021-11-29 16:12:44.000000000","message":"This does not look like a header to me, this is in the body. Also, there are no tags included in the body, so the operation being shown here doesn\u0027t make much sense.","commit_id":"f1501954f1a0aec268862bf943a4edeba112e3ca"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"6d10948b42d6b6566a94686059c47c033302ab06","unresolved":true,"context_lines":[{"line_number":123,"context_line":"* Add a boolean parameter in the header and change API"},{"line_number":124,"context_line":"  functionality as per parameter\u0027s value"},{"line_number":125,"context_line":"* Add an optional parameter ``--append`` at the client side"},{"line_number":126,"context_line":"* Add unit test coverage for checking the functionality."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"Dependencies"},{"line_number":129,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"e8d88b29_3a827ce0","line":126,"updated":"2021-11-29 16:12:44.000000000","message":"We should have a tempest test as well right? It should be quite easy to write I think.","commit_id":"f1501954f1a0aec268862bf943a4edeba112e3ca"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"3a8297e929c39630ef88f02265e38150c69c5858","unresolved":false,"context_lines":[{"line_number":123,"context_line":"* Add a boolean parameter in the header and change API"},{"line_number":124,"context_line":"  functionality as per parameter\u0027s value"},{"line_number":125,"context_line":"* Add an optional parameter ``--append`` at the client side"},{"line_number":126,"context_line":"* Add unit test coverage for checking the functionality."},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"Dependencies"},{"line_number":129,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"66fbe423_6144db56","line":126,"in_reply_to":"e8d88b29_3a827ce0","updated":"2021-11-30 08:39:06.000000000","message":"Ack","commit_id":"f1501954f1a0aec268862bf943a4edeba112e3ca"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"8e8a12b43d3fba8ed79495bedfd925ad74e9b5ee","unresolved":true,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/glance/+spec/append-tags"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"In the Glance API we are not having the provision to append the new tags with"},{"line_number":14,"context_line":"the existing tags. Introducing a new optional parameter would help the user to"},{"line_number":15,"context_line":"select whether to append the tags or to go with current behaviour i.e."},{"line_number":16,"context_line":"overwrite the existing tags."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Problem description"},{"line_number":19,"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":7,"id":"0821c37b_636b9852","line":16,"range":{"start_line":13,"start_character":0,"end_line":16,"end_character":28},"updated":"2021-12-11 17:00:40.000000000","message":"You need to say here that you are talking about metadef tags, not image tags.  Probably should clarify this in the title, too.","commit_id":"61a0405828d9b6ad8cdffdc06027535502cc0311"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"065dae12d4981af1484afea085492ef1d92be438","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/glance/+spec/append-tags"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"In the Glance API we are not having the provision to append the new tags with"},{"line_number":14,"context_line":"the existing tags. Introducing a new optional parameter would help the user to"},{"line_number":15,"context_line":"select whether to append the tags or to go with current behaviour i.e."},{"line_number":16,"context_line":"overwrite the existing tags."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Problem description"},{"line_number":19,"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":7,"id":"3f42afc2_1616014c","line":16,"range":{"start_line":13,"start_character":0,"end_line":16,"end_character":28},"in_reply_to":"0821c37b_636b9852","updated":"2021-12-14 05:53:12.000000000","message":"Done","commit_id":"61a0405828d9b6ad8cdffdc06027535502cc0311"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"8e8a12b43d3fba8ed79495bedfd925ad74e9b5ee","unresolved":true,"context_lines":[{"line_number":24,"context_line":"md-tag-create (/v2/metadefs/namespaces/{namespace_name}/tags/{tag_name}) it is"},{"line_number":25,"context_line":"adding new tag in addition to existing ones."},{"line_number":26,"context_line":"So we should have consistency between the two APIs i.e. the ability to append"},{"line_number":27,"context_line":"the tags in md-tag-create-multiple API."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Proposed change"},{"line_number":30,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":7,"id":"b0360820_07dcd999","line":27,"updated":"2021-12-11 17:00:40.000000000","message":"A few things:\n\n- Please mention the http verb in addition to the request path\n- What\u0027s the current behavior of a POST to tags/{tag-name} when tag-name already exists?  Does it give you a 409 response or a 200?\n- POST /tags (the multiple post) is documented to return a 409 ... under what conditions does this happen?  I\u0027m asking because we have that weird PUT /v2/metadefs/namespaces/{namespace_name}/tags/{tag_name} call that iirc allows you to change the name of the tag in the database (in other words, PUT /tags/{name} with new-name in the request body is not equivalent to DELETE /tags/{name} followed by POST /tags/{new-name}).\n\nWhat I\u0027m getting at is that the Metadefs Tags API already has some weird behavior that needs to be explained clearly before you start changing it.  We need to distinguish clearly the situations under which tags are completely replaced vs. simply renamed or we may get some really strange regressions.","commit_id":"61a0405828d9b6ad8cdffdc06027535502cc0311"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"065dae12d4981af1484afea085492ef1d92be438","unresolved":true,"context_lines":[{"line_number":24,"context_line":"md-tag-create (/v2/metadefs/namespaces/{namespace_name}/tags/{tag_name}) it is"},{"line_number":25,"context_line":"adding new tag in addition to existing ones."},{"line_number":26,"context_line":"So we should have consistency between the two APIs i.e. the ability to append"},{"line_number":27,"context_line":"the tags in md-tag-create-multiple API."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Proposed change"},{"line_number":30,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":7,"id":"c654fbf7_6d320217","line":27,"in_reply_to":"b0360820_07dcd999","updated":"2021-12-14 05:53:12.000000000","message":"Hi Brian,\n* The current behavior of a POST to tags/{tag-name} when a tag name already exist is that it returns a 409 response.\n* POST /tags (the multiple post) returns 409 response when two tags with same name are present  request . For example we pass Tag1,Tag2,Tag1 it will return  a 409 response .","commit_id":"61a0405828d9b6ad8cdffdc06027535502cc0311"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"8e8a12b43d3fba8ed79495bedfd925ad74e9b5ee","unresolved":true,"context_lines":[{"line_number":32,"context_line":"At the moment the glance API only overwrites the existing tags with the"},{"line_number":33,"context_line":"newly created tags i.e. the original/default behaviour. The new behaviour suggests"},{"line_number":34,"context_line":"to append the new tags with the existing ones."},{"line_number":35,"context_line":"The goal is to provide a ``X-Openstack-Append`` in the header, which will default to"},{"line_number":36,"context_line":"the original behaviour."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"If header is present then we are going to append new tags else keep the old behavior."}],"source_content_type":"text/x-rst","patch_set":7,"id":"36aa50f0_b5fb09a8","line":35,"range":{"start_line":35,"start_character":25,"end_line":35,"end_character":47},"updated":"2021-12-11 17:00:40.000000000","message":"You should say that this is an optional header that takes a boolean value; if not present, the behavior is the same as passing \"X-Openstack-Append: False\".","commit_id":"61a0405828d9b6ad8cdffdc06027535502cc0311"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"065dae12d4981af1484afea085492ef1d92be438","unresolved":false,"context_lines":[{"line_number":32,"context_line":"At the moment the glance API only overwrites the existing tags with the"},{"line_number":33,"context_line":"newly created tags i.e. the original/default behaviour. The new behaviour suggests"},{"line_number":34,"context_line":"to append the new tags with the existing ones."},{"line_number":35,"context_line":"The goal is to provide a ``X-Openstack-Append`` in the header, which will default to"},{"line_number":36,"context_line":"the original behaviour."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"If header is present then we are going to append new tags else keep the old behavior."}],"source_content_type":"text/x-rst","patch_set":7,"id":"dc30829b_6876147c","line":35,"range":{"start_line":35,"start_character":25,"end_line":35,"end_character":47},"in_reply_to":"36aa50f0_b5fb09a8","updated":"2021-12-14 05:53:12.000000000","message":"Done","commit_id":"61a0405828d9b6ad8cdffdc06027535502cc0311"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"8e8a12b43d3fba8ed79495bedfd925ad74e9b5ee","unresolved":true,"context_lines":[{"line_number":35,"context_line":"The goal is to provide a ``X-Openstack-Append`` in the header, which will default to"},{"line_number":36,"context_line":"the original behaviour."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"If header is present then we are going to append new tags else keep the old behavior."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"In addition to this we will add an optional parameter at glanceclient side"},{"line_number":41,"context_line":"which will default to the original behaviour and if the user wants to append the"}],"source_content_type":"text/x-rst","patch_set":7,"id":"c4006743_54c9f5b2","line":38,"updated":"2021-12-11 17:00:40.000000000","message":"You also need to say what the new behavior is when the append payload contains an already existing tag.  Will it be ignored or re-created (see my question about PUT for an individual tag above)?","commit_id":"61a0405828d9b6ad8cdffdc06027535502cc0311"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"065dae12d4981af1484afea085492ef1d92be438","unresolved":true,"context_lines":[{"line_number":35,"context_line":"The goal is to provide a ``X-Openstack-Append`` in the header, which will default to"},{"line_number":36,"context_line":"the original behaviour."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"If header is present then we are going to append new tags else keep the old behavior."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"In addition to this we will add an optional parameter at glanceclient side"},{"line_number":41,"context_line":"which will default to the original behaviour and if the user wants to append the"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fc3c21b3_536ef978","line":38,"in_reply_to":"c4006743_54c9f5b2","updated":"2021-12-14 05:53:12.000000000","message":"For the new behavior of POST /tags (the multiple post) if tag name already exists it will return a 409 response ,and no new tag will be created.\n(If we pass Tag4,Tag5,Tag6 and Tag4 already exists the new behavior will return a 409 response.)","commit_id":"61a0405828d9b6ad8cdffdc06027535502cc0311"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"8e8a12b43d3fba8ed79495bedfd925ad74e9b5ee","unresolved":true,"context_lines":[{"line_number":44,"context_line":"Alternatives"},{"line_number":45,"context_line":"------------"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"None"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Data model impact"},{"line_number":50,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7544acd4_1b408226","line":47,"range":{"start_line":47,"start_character":0,"end_line":47,"end_character":4},"updated":"2021-12-11 17:00:40.000000000","message":"I\u0027d like to hear why you don\u0027t want to use PATCH for this.  I think it would be better to use the appropriate verb rather than modify POST behavior with a header.\n\nAnother alternative is to use a query string to the POST call, for example, \"?append\u003dtrue\" so that the behavior is explicitly requested as part of the URI instead of hidden in a header somewhere.\n\nA third alternative is to do nothing in the API and make a client change that gives you a single command to accomplish something that takes multiple API calls.","commit_id":"61a0405828d9b6ad8cdffdc06027535502cc0311"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"065dae12d4981af1484afea085492ef1d92be438","unresolved":true,"context_lines":[{"line_number":44,"context_line":"Alternatives"},{"line_number":45,"context_line":"------------"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"None"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Data model impact"},{"line_number":50,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"d01a2dd2_83188648","line":47,"range":{"start_line":47,"start_character":0,"end_line":47,"end_character":4},"in_reply_to":"7544acd4_1b408226","updated":"2021-12-14 05:53:12.000000000","message":"* The reason we are not using PATCH is because we are adding(creating) new tags, PATCH is better in a case when we have large number of values to be provided to update a record, but that replaces not creates. So it doesn\u0027t seem to be a valid option\n\n* The reason we are not using query string is, we are not using query parameters other than GET call so to be consistent with behavior in PTG we decided to use header instead of query parameter.\n\n*  Handling it in client does not serve the purpose here as deployments which are not using python-glanceclient will not be affected with this change.","commit_id":"61a0405828d9b6ad8cdffdc06027535502cc0311"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"17cd1ef4c4f855e8b6dea5525d435e72db50eb0b","unresolved":true,"context_lines":[{"line_number":44,"context_line":"Alternatives"},{"line_number":45,"context_line":"------------"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"None"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Data model impact"},{"line_number":50,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"46a0d3b8_3e399b9b","line":47,"range":{"start_line":47,"start_character":0,"end_line":47,"end_character":4},"in_reply_to":"d01a2dd2_83188648","updated":"2021-12-20 23:56:22.000000000","message":"PATCH + json-patch allows you to remove, replace, or add; see\nhttps://specs.openstack.org/openstack/glance-specs/specs/api/v2/http-patch-image-api-v2.html","commit_id":"61a0405828d9b6ad8cdffdc06027535502cc0311"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"8e8a12b43d3fba8ed79495bedfd925ad74e9b5ee","unresolved":true,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"* The \u003cboolean\u003e \u0027X-Openstack-Append\u0027 refers to appending the tags to the existing tags."},{"line_number":69,"context_line":"  It takes boolean values if True then it will append the tags ,if False it will"},{"line_number":70,"context_line":"  overwrite the tags ,default value is False."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"Example curl usage::"},{"line_number":73,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"a73e9b8f_b9d8618b","line":70,"updated":"2021-12-11 17:00:40.000000000","message":"You need to make clear that it is an optional header.","commit_id":"61a0405828d9b6ad8cdffdc06027535502cc0311"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"065dae12d4981af1484afea085492ef1d92be438","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"* The \u003cboolean\u003e \u0027X-Openstack-Append\u0027 refers to appending the tags to the existing tags."},{"line_number":69,"context_line":"  It takes boolean values if True then it will append the tags ,if False it will"},{"line_number":70,"context_line":"  overwrite the tags ,default value is False."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"Example curl usage::"},{"line_number":73,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"fb33b7c3_21c5267a","line":70,"in_reply_to":"a73e9b8f_b9d8618b","updated":"2021-12-14 05:53:12.000000000","message":"Done","commit_id":"61a0405828d9b6ad8cdffdc06027535502cc0311"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"8e8a12b43d3fba8ed79495bedfd925ad74e9b5ee","unresolved":true,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"We will add an optional parameter ``--append`` to the glanceclient command"},{"line_number":93,"context_line":"md-tag-create-multiple to provide the facility of appending the tags."},{"line_number":94,"context_line":"The parameter will accept boolean values, if ``True`` it will append the tags"},{"line_number":95,"context_line":"to existing one, else it will overwrite the existing tags."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"* Create multiple tags: ``glance md-tag-create-multiple \u003cNAMESPACE\u003e --names \u003cNAMES\u003e [--delim \u003cDELIM\u003e] --append``"},{"line_number":98,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"344bdb00_fc2ce11c","line":95,"range":{"start_line":94,"start_character":0,"end_line":95,"end_character":58},"updated":"2021-12-11 17:00:40.000000000","message":"No, it won\u0027t.  It will simply include the header along with whatever the user has specified (unless you are proposing to do some client-side processing, which I don\u0027t think you are).\n\nAlso, why do you need a boolean value for this?  Do you want 3 different behaviors:\n1. no --append ... do not pass the X-Openstack-Append header at all\n2. --append\u003dfalse ... pass \"X-Openstack-Append: false\" (not really needed, but OK)\n3. --append\u003dtrue ... pass \"X-Openstack-Append: true\"\n\nIf you don\u0027t need #2, then you don\u0027t need this command line option to take a value.  If you do want #1 and #2 to be different, I would like to hear a bit more about why.","commit_id":"61a0405828d9b6ad8cdffdc06027535502cc0311"},{"author":{"_account_id":33765,"name":"Mridula Joshi","email":"mrjoshi@redhat.com","username":"mrjoshi"},"change_message_id":"065dae12d4981af1484afea085492ef1d92be438","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"We will add an optional parameter ``--append`` to the glanceclient command"},{"line_number":93,"context_line":"md-tag-create-multiple to provide the facility of appending the tags."},{"line_number":94,"context_line":"The parameter will accept boolean values, if ``True`` it will append the tags"},{"line_number":95,"context_line":"to existing one, else it will overwrite the existing tags."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"* Create multiple tags: ``glance md-tag-create-multiple \u003cNAMESPACE\u003e --names \u003cNAMES\u003e [--delim \u003cDELIM\u003e] --append``"},{"line_number":98,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"f6915148_a86584c5","line":95,"range":{"start_line":94,"start_character":0,"end_line":95,"end_character":58},"in_reply_to":"344bdb00_fc2ce11c","updated":"2021-12-14 05:53:12.000000000","message":"Ack","commit_id":"61a0405828d9b6ad8cdffdc06027535502cc0311"}]}
