)]}'
{"specs/train/approved/placement-req-filter-forbidden-aggregates.rst":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"c60cc1a8c98fcdd95b82d6a9e5360e37bcee1ab4","unresolved":false,"context_lines":[{"line_number":69,"context_line":"get the required traits set in both flavor and images from request_spec object"},{"line_number":70,"context_line":"and compare it with the required traits set in the aggregate metadata."},{"line_number":71,"context_line":"If any of the traits are not matching with the aggregate metadata, it will"},{"line_number":72,"context_line":"include that aggregate as isolated aggregate in the ``member_of`` query"},{"line_number":73,"context_line":"parameter of ``GET /allocation_candidates`` API. If there are multiple"},{"line_number":74,"context_line":"isolated aggregates, then the query parameter should be like:"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_2d7e75af","line":72,"range":{"start_line":72,"start_character":26,"end_line":72,"end_character":34},"updated":"2019-08-08 15:38:24.000000000","message":"forbidden","commit_id":"ff69a423f6a091cec4fb7c09a874d69ff7474e2e"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"c60cc1a8c98fcdd95b82d6a9e5360e37bcee1ab4","unresolved":false,"context_lines":[{"line_number":71,"context_line":"If any of the traits are not matching with the aggregate metadata, it will"},{"line_number":72,"context_line":"include that aggregate as isolated aggregate in the ``member_of`` query"},{"line_number":73,"context_line":"parameter of ``GET /allocation_candidates`` API. If there are multiple"},{"line_number":74,"context_line":"isolated aggregates, then the query parameter should be like:"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"``\u0026member_of\u003d!in:\u003cagg1\u003e,\u003cagg2\u003e,\u003cagg3\u003e``"},{"line_number":77,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_4d7bb1bd","line":74,"range":{"start_line":74,"start_character":0,"end_line":74,"end_character":8},"updated":"2019-08-08 15:38:24.000000000","message":"forbidden","commit_id":"ff69a423f6a091cec4fb7c09a874d69ff7474e2e"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"c60cc1a8c98fcdd95b82d6a9e5360e37bcee1ab4","unresolved":false,"context_lines":[{"line_number":182,"context_line":""},{"line_number":183,"context_line":"  enable_isolated_aggregate_filtering\u003dFalse"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"To enable `isolate_aggregates` request filter, operator should set this"},{"line_number":186,"context_line":"config option to true."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"Developer impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_ad43456c","line":185,"range":{"start_line":185,"start_character":10,"end_line":185,"end_character":30},"updated":"2019-08-08 15:38:24.000000000","message":"this should be ``double backticked``","commit_id":"ff69a423f6a091cec4fb7c09a874d69ff7474e2e"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"c60cc1a8c98fcdd95b82d6a9e5360e37bcee1ab4","unresolved":false,"context_lines":[{"line_number":233,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"This spec is dependent on `negative-aggregate-membership`_ which supports"},{"line_number":236,"context_line":"passing isolated aggregates in the `member_of` query parameter."},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"Testing"},{"line_number":239,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7faddb67_8d5a094e","line":236,"range":{"start_line":236,"start_character":8,"end_line":236,"end_character":16},"updated":"2019-08-08 15:38:24.000000000","message":"forbidden","commit_id":"ff69a423f6a091cec4fb7c09a874d69ff7474e2e"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"6e1c95f1eaf5771b7e8bce9f27938038bb96c76c","unresolved":false,"context_lines":[{"line_number":59,"context_line":"Proposed change"},{"line_number":60,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Add a new placement request filter ``isolate_aggregates`` and a new config"},{"line_number":63,"context_line":"option of type boolean ``enable_isolated_aggregate_filtering``. Operator will"},{"line_number":64,"context_line":"set `True` to enable the request filter. By default the value will be set to"},{"line_number":65,"context_line":"`False`. Operator will need to set aggregate metadata key/value pairs"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fa7e38b_c388c920","line":62,"range":{"start_line":62,"start_character":35,"end_line":62,"end_character":57},"updated":"2019-09-18 14:45:26.000000000","message":"I don\u0027t think this should be in ``code`` or contain the _, but rather refer to it like this:\n\n Add a new placement request filter to provide isolated aggregates,\n and a new config option ... to enable it.\n\nThe ``code`` reference to the actual name of the method is too much detail, that method name may change, and it isn\u0027t even in the right tense. Everything else calls it \"isolateD aggregates\" here. IMHO, just refer to the new filter by function and the actual config knob by ``code`` like you\u0027re already doing here.","commit_id":"74865e998729322ef7d09444a70fe4221c055991"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"9113e793853a0e5a586837795830477100c10b50","unresolved":false,"context_lines":[{"line_number":59,"context_line":"Proposed change"},{"line_number":60,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Add a new placement request filter ``isolate_aggregates`` and a new config"},{"line_number":63,"context_line":"option of type boolean ``enable_isolated_aggregate_filtering``. Operator will"},{"line_number":64,"context_line":"set `True` to enable the request filter. By default the value will be set to"},{"line_number":65,"context_line":"`False`. Operator will need to set aggregate metadata key/value pairs"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3fa7e38b_83d731c0","line":62,"range":{"start_line":62,"start_character":35,"end_line":62,"end_character":57},"in_reply_to":"3fa7e38b_c388c920","updated":"2019-09-18 14:52:29.000000000","message":"Yeah, I agree with this.","commit_id":"74865e998729322ef7d09444a70fe4221c055991"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"860db26ddd9d8e5fd0ef2245044e0024101ca025","unresolved":false,"context_lines":[{"line_number":60,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Add a new placement request filter ``isolate_aggregates`` and a new config"},{"line_number":63,"context_line":"option of type boolean ``enable_isolated_aggregate_filtering``. Operator will"},{"line_number":64,"context_line":"set `True` to enable the request filter. By default the value will be set to"},{"line_number":65,"context_line":"`False`. Operator will need to set aggregate metadata key/value pairs"},{"line_number":66,"context_line":"`trait:\u003ctrait_name\u003e\u003drequired` with traits which they expect to match with the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7faddb67_6b20ae9c","line":63,"range":{"start_line":63,"start_character":32,"end_line":63,"end_character":40},"updated":"2019-08-12 06:20:14.000000000","message":"nit: Above is ``isolate_aggregates``, why is this \u0027isolated\u0027? IMO, to be consistent, is easier to understand when reading the code.","commit_id":"74865e998729322ef7d09444a70fe4221c055991"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"6dfcff79d495b45f43d0224acc7be8b65fc96b21","unresolved":false,"context_lines":[{"line_number":60,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Add a new placement request filter ``isolate_aggregates`` and a new config"},{"line_number":63,"context_line":"option of type boolean ``enable_isolated_aggregate_filtering``. Operator will"},{"line_number":64,"context_line":"set `True` to enable the request filter. By default the value will be set to"},{"line_number":65,"context_line":"`False`. Operator will need to set aggregate metadata key/value pairs"},{"line_number":66,"context_line":"`trait:\u003ctrait_name\u003e\u003drequired` with traits which they expect to match with the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7faddb67_9f6be183","line":63,"range":{"start_line":63,"start_character":32,"end_line":63,"end_character":40},"in_reply_to":"7faddb67_6b20ae9c","updated":"2019-08-12 14:08:38.000000000","message":"We [1] want the conf options to read more like \"do X filtering\" than \"enable a filter named X in the code\" [2]. These names are the most appropriate English-wise for their target audience. \n\n[1] Dan\n[2] https://review.opendev.org/#/c/667952/2/nova/conf/scheduler.py@187","commit_id":"74865e998729322ef7d09444a70fe4221c055991"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"af79d346af4575f76d75fd3f49a6add71e88d2ed","unresolved":false,"context_lines":[{"line_number":60,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Add a new placement request filter ``isolate_aggregates`` and a new config"},{"line_number":63,"context_line":"option of type boolean ``enable_isolated_aggregate_filtering``. Operator will"},{"line_number":64,"context_line":"set `True` to enable the request filter. By default the value will be set to"},{"line_number":65,"context_line":"`False`. Operator will need to set aggregate metadata key/value pairs"},{"line_number":66,"context_line":"`trait:\u003ctrait_name\u003e\u003drequired` with traits which they expect to match with the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7faddb67_1dbef2fe","line":63,"range":{"start_line":63,"start_character":32,"end_line":63,"end_character":40},"in_reply_to":"7faddb67_9f6be183","updated":"2019-08-14 10:39:22.000000000","message":"@Eric, I got it, thanks.","commit_id":"74865e998729322ef7d09444a70fe4221c055991"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c22377d0bf4666eed1b2551a78b1b3065f0a701c","unresolved":false,"context_lines":[{"line_number":60,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Add a new placement request filter ``isolate_aggregates`` and a new config"},{"line_number":63,"context_line":"option of type boolean ``enable_isolated_aggregate_filtering``. Operator will"},{"line_number":64,"context_line":"set `True` to enable the request filter. By default the value will be set to"},{"line_number":65,"context_line":"`False`. Operator will need to set aggregate metadata key/value pairs"},{"line_number":66,"context_line":"`trait:\u003ctrait_name\u003e\u003drequired` with traits which they expect to match with the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"7faddb67_46fca03d","line":63,"range":{"start_line":63,"start_character":32,"end_line":63,"end_character":40},"in_reply_to":"7faddb67_9f6be183","updated":"2019-08-14 00:35:23.000000000","message":"ya i think i personally prefer that this style also.","commit_id":"74865e998729322ef7d09444a70fe4221c055991"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c22377d0bf4666eed1b2551a78b1b3065f0a701c","unresolved":false,"context_lines":[{"line_number":82,"context_line":"  openstack aggregate set --property trait:CUSTOM_WINDOWS_LICENSED\u003drequired 123"},{"line_number":83,"context_line":"  openstack aggregate set --property trait:CUSTOM_XYZ\u003drequired 123"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Operator will need to set ``trait:\u003ctrait_name\u003e\u003drequired`` to images for"},{"line_number":86,"context_line":"windows OS images."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":".. code::"},{"line_number":89,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"7faddb67_26c084e0","line":86,"range":{"start_line":85,"start_character":0,"end_line":86,"end_character":18},"updated":"2019-08-14 00:35:23.000000000","message":"by the way i assume i can use standard traits with this too right.\n\ne.g. trait:HW_CPU_HYPERTHREADING\u003drequired or proably a better example would be the compte capablity trait for multi attach.\n\nso that if i want to prevent instance landing on my mulit attach capable host unless the ask form multi attach or any other standard trait i coudl use this prefilter.","commit_id":"74865e998729322ef7d09444a70fe4221c055991"}]}
