)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c035100edade761ac851e9ef5b151a19ff95a3ad","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"370b66f4_869e4252","updated":"2021-11-29 16:34:48.000000000","message":"\u003e Patch Set 3: Code-Review-1\n\u003e \n\u003e i would cover this in the same spec to be honest \n\u003e as the intoduction of the any trait.\n\u003e \n\u003e i think if we supprot one of them we will want both\n\u003e so it might be different work items but i think it shoudl be one spec\n\nI\u0027d like to keep the two spec separate as they are small and easy to understand. I agree that we can spare one microversion during the implementation and I noted that in the spec.","commit_id":"3598b110689f2d7c123d1a8aece7f31ee68679b4"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"8a66dce39d0afe2a3588856ce831c67fb11f0af7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"e58045d9_26fe4bc3","updated":"2022-01-11 20:54:33.000000000","message":"This also looks good, useful to be able to use both \"all\" and \"any\" together for different sets of traits.","commit_id":"fb71123aa1fa589e2b7a015c453b2b5040ba7d0a"}],"doc/source/specs/train/approved/2005345-placement-mixing-required-traits-with-any-traits.rst":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"984f9fc17f3c111e05a5812a7559f933e9c0bd02","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Support mixing required traits with any traits"},{"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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/mixing-required-traits-with-any-traits"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The `any-traits-in-allocation-candidates-query`_ spec proposed to allow"},{"line_number":14,"context_line":"querying traits in the form of ``required\u003din:TRAIT1,TRAIT2``. This spec goes"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_a101ef3b","line":11,"updated":"2019-04-02 18:08:39.000000000","message":"this also needs to be uopdated","commit_id":"c6599dbe22f8c20f0b5098904485bc7f02ac6769"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"9e5778c1e6b0b233bfe24c78bf7e8944d2bded07","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Neutron through Nova needs to be able to query Placement for allocation"},{"line_number":36,"context_line":"candidates that are matching to *at least one* trait from the list of traits as"},{"line_number":37,"context_line":"well as matching another specific trait in a single query."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Use Cases"},{"line_number":40,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_c8c6a04a","line":37,"updated":"2019-04-02 15:47:47.000000000","message":"If you respin, I would only add mentioning what happens currently if one were to send a request with a repeated param, as it would be useful for a test with an older microversion.","commit_id":"c6599dbe22f8c20f0b5098904485bc7f02ac6769"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"143ca6e9a335b3813077879f1b030f764fcb3657","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Neutron through Nova needs to be able to query Placement for allocation"},{"line_number":36,"context_line":"candidates that are matching to *at least one* trait from the list of traits as"},{"line_number":37,"context_line":"well as matching another specific trait in a single query."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Use Cases"},{"line_number":40,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_354f4f6b","line":37,"in_reply_to":"5fc1f717_c8c6a04a","updated":"2019-04-04 13:08:03.000000000","message":"I\u0027ve done the two related specs here a bit out of order. That description would fit better in the other one, upon which this one depends.","commit_id":"c6599dbe22f8c20f0b5098904485bc7f02ac6769"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"143ca6e9a335b3813077879f1b030f764fcb3657","unresolved":false,"context_lines":[{"line_number":161,"context_line":""},{"line_number":162,"context_line":"* The `any-traits-in-allocation-candidates-query`_ spec"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"..  _`any-traits-in-allocation-candidates-query`: https://review.openstack.org/#/c/565730"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"Testing"},{"line_number":167,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_b53a5fc1","line":164,"updated":"2019-04-04 13:08:03.000000000","message":"this needs to be updated as well.","commit_id":"c6599dbe22f8c20f0b5098904485bc7f02ac6769"}],"doc/source/specs/yoga/approved/2005345-placement-mixing-required-traits-with-any-traits.rst":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1d6f1487cca73edead0c5cac4b2f73ace09ca2be","unresolved":true,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"For example::"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"  GET /allocation_candidates?required1\u003dCUSTOM_VNIC_TYPE_DIRECT\u0026"},{"line_number":25,"context_line":"                             required1\u003din:CUSTOM_PHYSNET_FOO,CUSTOM_PHYSNET_BAR"},{"line_number":26,"context_line":"                             ..."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"requests a networking device RP in the candidates that supports the ``direct``"}],"source_content_type":"text/x-rst","patch_set":7,"id":"59ecaec4_61f249f7","line":25,"range":{"start_line":24,"start_character":2,"end_line":25,"end_character":79},"updated":"2021-12-13 12:17:46.000000000","message":"or we can just use \n\n  GET /allocation_candidates?required1\u003dCUSTOM_VNIC_TYPE_DIRECT,in:CUSTOM_PHYSNET_FOO;CUSTOM_PHYSNET_BAR\n\nif we just use ; for the seperatot when using in staemtnt then we can clearly tell where the start,end of the in block is by the next,\n\n\n  GET /allocation_candidates?required1\u003dCUSTOM_VNIC_TYPE_DIRECT,in:CUSTOM_PHYSNET_FOO;CUSTOM_PHYSNET_BAR,in:CUSTOM_PHYSNET_FOO1;CUSTOM_PHYSNET_BAR2,CUSTOM_WHATERVER\n\nthis would pars as required1\u003dCUSTOM_VNIC_TYPE_DIRECT and (CUSTOM_PHYSNET_FOO or CUSTOM_PHYSNET_BAR) and (CUSTOM_PHYSNET_FOO1 or CUSTOM_PHYSNET_BAR2) and CUSTOM_WHATERVER\n\nalther the more i type this out the more i feel lik just support \"and\", \"or\" and \"not\" with \"()\" for grouping is actully the bettwr long term approch.","commit_id":"fb71123aa1fa589e2b7a015c453b2b5040ba7d0a"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"130b63c0e7dc8e748dfc13b1b627d31d5fd827e1","unresolved":true,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"For example::"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"  GET /allocation_candidates?required1\u003dCUSTOM_VNIC_TYPE_DIRECT\u0026"},{"line_number":25,"context_line":"                             required1\u003din:CUSTOM_PHYSNET_FOO,CUSTOM_PHYSNET_BAR"},{"line_number":26,"context_line":"                             ..."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"requests a networking device RP in the candidates that supports the ``direct``"}],"source_content_type":"text/x-rst","patch_set":7,"id":"4feb7ebf_c5f73de0","line":25,"range":{"start_line":24,"start_character":2,"end_line":25,"end_character":79},"in_reply_to":"48f26cfb_01de9d0d","updated":"2021-12-14 14:30:12.000000000","message":"Agreed.","commit_id":"fb71123aa1fa589e2b7a015c453b2b5040ba7d0a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"b6fa35df0955d81aefd9439b94f61bc9dbca584a","unresolved":true,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"For example::"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"  GET /allocation_candidates?required1\u003dCUSTOM_VNIC_TYPE_DIRECT\u0026"},{"line_number":25,"context_line":"                             required1\u003din:CUSTOM_PHYSNET_FOO,CUSTOM_PHYSNET_BAR"},{"line_number":26,"context_line":"                             ..."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"requests a networking device RP in the candidates that supports the ``direct``"}],"source_content_type":"text/x-rst","patch_set":7,"id":"b33d9584_90f1b478","line":25,"range":{"start_line":24,"start_character":2,"end_line":25,"end_character":79},"in_reply_to":"59ecaec4_61f249f7","updated":"2021-12-13 12:33:08.000000000","message":"The current proposal directly mimics how the member_of query param is handled. So yes, we can start using \u0027;\u0027 or \u0027or\u0027 and \u0027and\u0027, but then we introduce an inconsistency with how member_of is used today.","commit_id":"fb71123aa1fa589e2b7a015c453b2b5040ba7d0a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c2cb22daa5377b52d70480b5c1b7fd513051401d","unresolved":true,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"For example::"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"  GET /allocation_candidates?required1\u003dCUSTOM_VNIC_TYPE_DIRECT\u0026"},{"line_number":25,"context_line":"                             required1\u003din:CUSTOM_PHYSNET_FOO,CUSTOM_PHYSNET_BAR"},{"line_number":26,"context_line":"                             ..."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"requests a networking device RP in the candidates that supports the ``direct``"}],"source_content_type":"text/x-rst","patch_set":7,"id":"48f26cfb_01de9d0d","line":25,"range":{"start_line":24,"start_character":2,"end_line":25,"end_character":79},"in_reply_to":"b33d9584_90f1b478","updated":"2021-12-13 12:50:04.000000000","message":"we spoke about this on irc and gibi conviced me we could model this in the flavor and image.\n\nhttps://meetings.opendev.org/irclogs/%23openstack-nova/latest.log.html#t2021-12-13T12:07:30\n\n\ntl;dr gibi ilustrated that we could use the slightly ugly \ntrait:inFOO,BAR\u003drequired syntax in nova to model this\nrelying on the case requirements\n\ni had forgot that we dont do required: in the flavor\n\ni have conter proprosed we use the slight nicer\n\ntrait:FOO,BAR\u003drequired_in syntax instead but he has conviced me that we could model this in nova so i think we can proceed with this.\n\n\nthere may still be merit in support and/or/not/() or ANY/ALL at some point but i can agree with gibi on the consitance argument and if we want to support this\nin the future we should also make it work for member_of and the other query args.\n\nwith all that said im happy to defer this dicussion out of this spec and proceed with thsi as written.","commit_id":"fb71123aa1fa589e2b7a015c453b2b5040ba7d0a"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"8a66dce39d0afe2a3588856ce831c67fb11f0af7","unresolved":true,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":".. note::"},{"line_number":105,"context_line":"    To ease the implementation we might decide to implement this API change in"},{"line_number":106,"context_line":"    the same microversion as `any-traits-in-allocation-candidates-query`_"},{"line_number":107,"context_line":"    implemented in."},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"Security impact"},{"line_number":110,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"e12defd2_902bc1db","line":107,"range":{"start_line":105,"start_character":4,"end_line":107,"end_character":19},"updated":"2022-01-11 20:54:33.000000000","message":"As I read this spec, I wondered if we could just do one microversion for any traits + mixing any and required traits and this answers that question. I was thinking from an end user point of view, IMHO it would be more intuitive if both abilities became available at the same time in the same microversion instead of having a separate one for the addition of mixing.","commit_id":"fb71123aa1fa589e2b7a015c453b2b5040ba7d0a"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"130b63c0e7dc8e748dfc13b1b627d31d5fd827e1","unresolved":true,"context_lines":[{"line_number":142,"context_line":"Upgrade impact"},{"line_number":143,"context_line":"--------------"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"None"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"Implementation"},{"line_number":148,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":7,"id":"20b80eb3_81841259","line":145,"updated":"2021-12-14 14:30:12.000000000","message":"no behaviour change for the existing queries indeed.","commit_id":"fb71123aa1fa589e2b7a015c453b2b5040ba7d0a"}]}
