)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"6c59d2e5deb170310a972b242c10f7286e0bf951","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"e411e19f_4bd2c4f8","updated":"2021-12-14 14:27:50.000000000","message":"Thanks !","commit_id":"f7422e277bf1c4cb58314b1f67a286dcafa180b4"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"2b6ad421e210c0b8cf77d4120eafdf02f9a89aab","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"3bd6a2b1_60103736","updated":"2022-01-11 20:44:59.000000000","message":"This all makes sense and will be a useful addition to the API, LGTM","commit_id":"f7422e277bf1c4cb58314b1f67a286dcafa180b4"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8ff2f6f0d44213413d34a5d71ee3ac86e4a221b6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"6af00ecf_71f6d5c3","updated":"2021-12-13 12:09:40.000000000","message":"i am +1 on this over all but i think we should use ; or otherwise support mixing by only allowing in at the end of the required clause.","commit_id":"f7422e277bf1c4cb58314b1f67a286dcafa180b4"}],"doc/source/specs/train/approved/2005346-any-traits-in-allocation_candidates-query.rst":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2500b72772fa36f2da630c6a19392d922293ff45","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"The `granular-resource-requests`_ spec proposes support for multiple request"},{"line_number":47,"context_line":"groups in the Placement query identified by a positive integer postfix in the"},{"line_number":48,"context_line":"``required`` query param. The new ``in:TRAIT1,TRAIT2`` syntax is applicable to"},{"line_number":49,"context_line":"the ``required\u003cN\u003e`` query params as well."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"..  _`granular-resource-requests`: https://specs.openstack.org/openstack/nova-specs/specs/rocky/approved/granular-resource-requests.html"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fce034c_99053fc5","line":49,"range":{"start_line":48,"start_character":1,"end_line":49,"end_character":41},"updated":"2019-04-15 14:32:32.000000000","message":"i would generally read in as \"all of\" rather than \"any of\"\n\ncan i suggest using \nrequired\u003dany: and required\u003dall: instead.\n\nand also supporting the mixed case\n\nso /allocation_candiates\u0026...\n      \u0026required\u003dall:TRAIT1,TRAIT2\n      \u0026required\u003dany:TRAIT3,TRAIT4\n      \u0026...\n\nor more succinctly \n\nso /allocation_candiates\u0026...\n      \u0026required\u003dall:TRAIT1,TRAIT2;any:TRAIT3,TRAIT4","commit_id":"6c1252495c498e429c0bdf9cb3a4c5a718132382"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"80ad8a2c1945a884c6c5754c4d64c3d260f3cf59","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"The `granular-resource-requests`_ spec proposes support for multiple request"},{"line_number":47,"context_line":"groups in the Placement query identified by a positive integer postfix in the"},{"line_number":48,"context_line":"``required`` query param. The new ``in:TRAIT1,TRAIT2`` syntax is applicable to"},{"line_number":49,"context_line":"the ``required\u003cN\u003e`` query params as well."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"..  _`granular-resource-requests`: https://specs.openstack.org/openstack/nova-specs/specs/rocky/approved/granular-resource-requests.html"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fce034c_ab73ccb0","line":49,"range":{"start_line":48,"start_character":1,"end_line":49,"end_character":41},"in_reply_to":"3fce034c_99053fc5","updated":"2019-04-17 16:52:09.000000000","message":"\u0027in\u0027 is already used elsewhere in other query params (such as member_of on GET /resource_providers ) to mean \"at least one of these\" and the absense of \u0027in:\u0027 when commas are present already means \u0027all of these\u0027.\n\nMaintaining grammatic coherence is important. If we were to do it all over again having explicit \u0027all\u0027 and \u0027any\u0027 might have been the right thing to do, but changing it not now isn\u0027t really an option.","commit_id":"6c1252495c498e429c0bdf9cb3a4c5a718132382"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"259b8b78ecdbc81f02121b24f1e08924d136948d","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"The `granular-resource-requests`_ spec proposes support for multiple request"},{"line_number":47,"context_line":"groups in the Placement query identified by a positive integer postfix in the"},{"line_number":48,"context_line":"``required`` query param. The new ``in:TRAIT1,TRAIT2`` syntax is applicable to"},{"line_number":49,"context_line":"the ``required\u003cN\u003e`` query params as well."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"..  _`granular-resource-requests`: https://specs.openstack.org/openstack/nova-specs/specs/rocky/approved/granular-resource-requests.html"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"ffb9cba7_89742337","line":49,"range":{"start_line":48,"start_character":1,"end_line":49,"end_character":41},"in_reply_to":"3fce034c_ab73ccb0","updated":"2019-04-23 18:10:40.000000000","message":"if that is the established use of in i guess we can favor convention over intuition.\n\nalthough i woudl also consider depercating in\nand intoducing \"any\" and \"all\" across the all the api parmater that currenlty support in.","commit_id":"6c1252495c498e429c0bdf9cb3a4c5a718132382"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"f36f24e9afcf8b931fb4e4754b887af010e04232","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"The `granular-resource-requests`_ spec proposes support for multiple request"},{"line_number":47,"context_line":"groups in the Placement query identified by a positive integer postfix in the"},{"line_number":48,"context_line":"``required`` query param. The new ``in:TRAIT1,TRAIT2`` syntax is applicable to"},{"line_number":49,"context_line":"the ``required\u003cN\u003e`` query params as well."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"..  _`granular-resource-requests`: https://specs.openstack.org/openstack/nova-specs/specs/rocky/approved/granular-resource-requests.html"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7148006b_ac857b93","line":49,"range":{"start_line":48,"start_character":1,"end_line":49,"end_character":41},"in_reply_to":"ffb9cba7_49306b57","updated":"2021-11-29 16:33:41.000000000","message":"Documented this in the Alternatives section","commit_id":"6c1252495c498e429c0bdf9cb3a4c5a718132382"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"5e2051c382835dbc392a9084e1630c1622e844e1","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"The `granular-resource-requests`_ spec proposes support for multiple request"},{"line_number":47,"context_line":"groups in the Placement query identified by a positive integer postfix in the"},{"line_number":48,"context_line":"``required`` query param. The new ``in:TRAIT1,TRAIT2`` syntax is applicable to"},{"line_number":49,"context_line":"the ``required\u003cN\u003e`` query params as well."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"..  _`granular-resource-requests`: https://specs.openstack.org/openstack/nova-specs/specs/rocky/approved/granular-resource-requests.html"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"ffb9cba7_49306b57","line":49,"range":{"start_line":48,"start_character":1,"end_line":49,"end_character":41},"in_reply_to":"ffb9cba7_89742337","updated":"2019-04-23 18:21:01.000000000","message":"I see your point, Sean. We currently (e.g. with member_of) have three main cases: any, all, and none (forbidden). The current syntax:\n\n # all\n member_of\u003dA,B\n member_of\u003dA\u0026member_of\u003dB\n # any\n member_of\u003din:A,B\n # none\n member_of\u003d!in:A,B\n member_of\u003d!A\u0026member_of\u003d!B  # I think?\n\nThis, especially as we get into that last bit, starts to get messy in terms of punctuation, and the following would be more intuitive:\n\n member_of\u003dall:A,B\n member_of\u003dany:A,B\n member_of\u003dnone:A,B\n\nThat said, I think such a transition should be made in its own microversion; so unless we\u0027re going to land that first, I\u0027m with Chris that we should follow precedent with this one.","commit_id":"6c1252495c498e429c0bdf9cb3a4c5a718132382"}],"doc/source/specs/yoga/approved/2005346-any-traits-in-allocation_candidates-query.rst":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8ff2f6f0d44213413d34a5d71ee3ac86e4a221b6","unresolved":true,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"None"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"REST API impact"},{"line_number":69,"context_line":"---------------"},{"line_number":70,"context_line":"Today the ``GET /allocation_candidates`` and ``GET /resource_providers`` query"},{"line_number":71,"context_line":"support the ``required`` query param in the form of"}],"source_content_type":"text/x-rst","patch_set":5,"id":"94a29a37_9a5bb78e","line":68,"range":{"start_line":68,"start_character":0,"end_line":68,"end_character":15},"updated":"2021-12-13 12:09:40.000000000","message":"can we support \n\nrequired\u003dTRAIT0,in:TRAIT1,TRAIT2,in:TRAIT3,TRAIT4\n\ne.g. required trait0 and (trait 1 or trait 2) and (trait3 or trait4)\n\nfrom a parsing perspective  we woudl need it to be something like this\n\nrequired\u003d([A-Z_]*[!,|,])*(in:([A-Z_]*[!,|,])*)*\n\nthe old style traits need to be first so we can unabiguously differciate them from the traits contained within the in statement\n\n\nunless we change the seperate for in form comma \",\" to  semi-colon \";\" \nif we use in:trait1;trait2,trait3\n\nwe can clearlyt tell that trait3 is not part of the new syntax and it makes it simple to to mix\ni would prefer to supprot mix by either of these 2 methods but i think using ; as the seperator with in is the simplest\nfrom a parsign standpoint.","commit_id":"f7422e277bf1c4cb58314b1f67a286dcafa180b4"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c2c4efc99053d1f196263fe89b32291b5cdea868","unresolved":true,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"None"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"REST API impact"},{"line_number":69,"context_line":"---------------"},{"line_number":70,"context_line":"Today the ``GET /allocation_candidates`` and ``GET /resource_providers`` query"},{"line_number":71,"context_line":"support the ``required`` query param in the form of"}],"source_content_type":"text/x-rst","patch_set":5,"id":"d9f9f809_6cf9cf8c","line":68,"range":{"start_line":68,"start_character":0,"end_line":68,"end_character":15},"in_reply_to":"3e093ce9_8d7d604a","updated":"2021-12-13 12:39:50.000000000","message":"mixing is covered by the follow up spec so im happy to proceed with this one as is.","commit_id":"f7422e277bf1c4cb58314b1f67a286dcafa180b4"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d8cfca58f827a0123e1ef9751d4c78ff51e7f19e","unresolved":true,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"None"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"REST API impact"},{"line_number":69,"context_line":"---------------"},{"line_number":70,"context_line":"Today the ``GET /allocation_candidates`` and ``GET /resource_providers`` query"},{"line_number":71,"context_line":"support the ``required`` query param in the form of"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3e093ce9_8d7d604a","line":68,"range":{"start_line":68,"start_character":0,"end_line":68,"end_character":15},"in_reply_to":"94a29a37_9a5bb78e","updated":"2021-12-13 12:20:29.000000000","message":"i said this on the follow up but have we considerd  instad of support in\nwe could support\n\n\"and\" \"or\" and \"not\" then  allow () for grouping and space for seperation?\n\n required\u003dtrait0 and (trait 1 or trait 2) and not (trait3 or trait4)","commit_id":"f7422e277bf1c4cb58314b1f67a286dcafa180b4"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"6c59d2e5deb170310a972b242c10f7286e0bf951","unresolved":true,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"None"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"REST API impact"},{"line_number":69,"context_line":"---------------"},{"line_number":70,"context_line":"Today the ``GET /allocation_candidates`` and ``GET /resource_providers`` query"},{"line_number":71,"context_line":"support the ``required`` query param in the form of"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fcd225a6_0440e70d","line":68,"range":{"start_line":68,"start_character":0,"end_line":68,"end_character":15},"in_reply_to":"d9f9f809_6cf9cf8c","updated":"2021-12-14 14:27:50.000000000","message":"Agreed.","commit_id":"f7422e277bf1c4cb58314b1f67a286dcafa180b4"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"6c59d2e5deb170310a972b242c10f7286e0bf951","unresolved":true,"context_lines":[{"line_number":70,"context_line":"Today the ``GET /allocation_candidates`` and ``GET /resource_providers`` query"},{"line_number":71,"context_line":"support the ``required`` query param in the form of"},{"line_number":72,"context_line":"``required\u003dTRAIT1,TRAIT2,!TRAIT3``. This spec proposes to implement a new"},{"line_number":73,"context_line":"microversion to allow the format of ``required\u003din:TRAIT1,TRAIT2`` as well"},{"line_number":74,"context_line":"as the old format."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Each resource provider returned from a request having"},{"line_number":77,"context_line":"``required\u003din:TRAIT1,TRAIT2`` should have *at least* one matching trait from"}],"source_content_type":"text/x-rst","patch_set":5,"id":"56c13688_41eb8a9a","line":74,"range":{"start_line":73,"start_character":66,"end_line":74,"end_character":18},"updated":"2021-12-14 14:27:50.000000000","message":"yeah, then looks good for upgrade concerns.","commit_id":"f7422e277bf1c4cb58314b1f67a286dcafa180b4"}]}
