)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"8ccfbc9245c3c80a6b6a1bfcc86bc355e7a3b0db","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2019-04-08 18:42:19 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"add spec for image metadata prefiltering"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: If4189380642a9fa381e8921d8dcc87c0e7d1db9e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"3fce034c_3f91af9a","line":8,"updated":"2019-04-12 13:28:16.000000000","message":"Blueprint:...","commit_id":"cb1607f41cf0d717d93b7b8003e97c4a3ba2d371"}],"specs/train/approved/image-metadata-prefiltering.rst":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"343b1faff5f5213aaea2b70f061d7a10e53b23b9","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/image-metadata-prefiltering"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Nova support specifying hyperviors sepcific device model via image properties."},{"line_number":14,"context_line":"Today when such properties are set on an image they are not considered when"},{"line_number":15,"context_line":"scheduling unless the operator manually configures the ImagePropertiesFilter."},{"line_number":16,"context_line":"If the operator does not configure the ImagePropertiesFilter and an instance"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_02fc01b3","line":13,"range":{"start_line":13,"start_character":24,"end_line":13,"end_character":34},"updated":"2019-03-26 19:43:29.000000000","message":"a hypervisor-","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"343b1faff5f5213aaea2b70f061d7a10e53b23b9","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/image-metadata-prefiltering"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Nova support specifying hyperviors sepcific device model via image properties."},{"line_number":14,"context_line":"Today when such properties are set on an image they are not considered when"},{"line_number":15,"context_line":"scheduling unless the operator manually configures the ImagePropertiesFilter."},{"line_number":16,"context_line":"If the operator does not configure the ImagePropertiesFilter and an instance"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_a22e4d40","line":13,"range":{"start_line":13,"start_character":35,"end_line":13,"end_character":43},"updated":"2019-03-26 19:43:29.000000000","message":"specific","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"343b1faff5f5213aaea2b70f061d7a10e53b23b9","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/image-metadata-prefiltering"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Nova support specifying hyperviors sepcific device model via image properties."},{"line_number":14,"context_line":"Today when such properties are set on an image they are not considered when"},{"line_number":15,"context_line":"scheduling unless the operator manually configures the ImagePropertiesFilter."},{"line_number":16,"context_line":"If the operator does not configure the ImagePropertiesFilter and an instance"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_42f689d9","line":13,"range":{"start_line":13,"start_character":5,"end_line":13,"end_character":12},"updated":"2019-03-26 19:43:29.000000000","message":"supports","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"343b1faff5f5213aaea2b70f061d7a10e53b23b9","unresolved":false,"context_lines":[{"line_number":35,"context_line":"without requiring explicit scheduler configuration."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"As an operator, I would like to be able to communicate with my customers what"},{"line_number":38,"context_line":"capabilities my cloud provides opaquely via standard traits instead of reviling"},{"line_number":39,"context_line":"the specific versions of the software have deployed so that they can provide"},{"line_number":40,"context_line":"there own image that depends on those capabilities."},{"line_number":41,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_62d94554","line":38,"range":{"start_line":38,"start_character":71,"end_line":38,"end_character":79},"updated":"2019-03-26 19:43:29.000000000","message":"revealing","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"343b1faff5f5213aaea2b70f061d7a10e53b23b9","unresolved":false,"context_lines":[{"line_number":37,"context_line":"As an operator, I would like to be able to communicate with my customers what"},{"line_number":38,"context_line":"capabilities my cloud provides opaquely via standard traits instead of reviling"},{"line_number":39,"context_line":"the specific versions of the software have deployed so that they can provide"},{"line_number":40,"context_line":"there own image that depends on those capabilities."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"As an end user, I want to be able to succinctly specify device models or other"},{"line_number":43,"context_line":"hypervisor dependent capabilities requirements for my instance without needing"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_22e7bd14","line":40,"range":{"start_line":40,"start_character":0,"end_line":40,"end_character":5},"updated":"2019-03-26 19:43:29.000000000","message":"their","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"343b1faff5f5213aaea2b70f061d7a10e53b23b9","unresolved":false,"context_lines":[{"line_number":40,"context_line":"there own image that depends on those capabilities."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"As an end user, I want to be able to succinctly specify device models or other"},{"line_number":43,"context_line":"hypervisor dependent capabilities requirements for my instance without needing"},{"line_number":44,"context_line":"to be overly verbose."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_a2bc0ddc","line":43,"range":{"start_line":43,"start_character":10,"end_line":43,"end_character":11},"updated":"2019-03-26 19:43:29.000000000","message":"-","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"343b1faff5f5213aaea2b70f061d7a10e53b23b9","unresolved":false,"context_lines":[{"line_number":46,"context_line":"Proposed change"},{"line_number":47,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Step 1: standard traits"},{"line_number":50,"context_line":"-----------------------"},{"line_number":51,"context_line":"well defined image metadata properties that have a finite set of values"},{"line_number":52,"context_line":"that represent virtualisation capabilities will be converted to standard"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_e2c5355d","line":49,"range":{"start_line":49,"start_character":8,"end_line":49,"end_character":23},"updated":"2019-03-26 19:43:29.000000000","message":"Title Case","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"343b1faff5f5213aaea2b70f061d7a10e53b23b9","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Step 1: standard traits"},{"line_number":50,"context_line":"-----------------------"},{"line_number":51,"context_line":"well defined image metadata properties that have a finite set of values"},{"line_number":52,"context_line":"that represent virtualisation capabilities will be converted to standard"},{"line_number":53,"context_line":"traits."},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_62a705be","line":51,"range":{"start_line":51,"start_character":0,"end_line":51,"end_character":12},"updated":"2019-03-26 19:43:29.000000000","message":"Well-defined","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"343b1faff5f5213aaea2b70f061d7a10e53b23b9","unresolved":false,"context_lines":[{"line_number":143,"context_line":"properties the same pattern could be applied to hypervisor_type and vm_mode."},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"Creation of the standard traits will be tracked using placement/os-traits"},{"line_number":146,"context_line":"storyboard now that  it is extracted from Nova so discussion of how"},{"line_number":147,"context_line":"these traits will be named/namespaced will happen outside this spec."},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"Step 2: Reporting Of Capablities By Virt Drivers"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_c28fd927","line":146,"range":{"start_line":146,"start_character":20,"end_line":146,"end_character":21},"updated":"2019-03-26 19:43:29.000000000","message":"s/ //","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"343b1faff5f5213aaea2b70f061d7a10e53b23b9","unresolved":false,"context_lines":[{"line_number":149,"context_line":"Step 2: Reporting Of Capablities By Virt Drivers"},{"line_number":150,"context_line":"------------------------------------------------"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"This spec primarily targets extending the libvirt driver however the"},{"line_number":153,"context_line":"the same approach can be taken in other virt drivers."},{"line_number":154,"context_line":"To enable this feature the libvirt driver will be extended to report traits"},{"line_number":155,"context_line":"for each device model it is capable of emulating as on the compute node"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_82855109","line":152,"range":{"start_line":152,"start_character":42,"end_line":152,"end_character":56},"updated":"2019-03-26 19:43:29.000000000","message":"Do the other hypervisors support these hw_ flags? If they don\u0027t then this is fine, but if they do, I think you need to augment those drivers as well.","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b7c75c19edd4c9c0e30bc7b67b7a035ba591cef0","unresolved":false,"context_lines":[{"line_number":149,"context_line":"Step 2: Reporting Of Capablities By Virt Drivers"},{"line_number":150,"context_line":"------------------------------------------------"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"This spec primarily targets extending the libvirt driver however the"},{"line_number":153,"context_line":"the same approach can be taken in other virt drivers."},{"line_number":154,"context_line":"To enable this feature the libvirt driver will be extended to report traits"},{"line_number":155,"context_line":"for each device model it is capable of emulating as on the compute node"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_6375b863","line":152,"range":{"start_line":152,"start_character":42,"end_line":152,"end_character":56},"in_reply_to":"5fc1f717_63893973","updated":"2019-03-27 12:46:55.000000000","message":"so it looks like the vmware driver also uses \nhw_vif_model and hw_disk_bus\n\nthe fake driver uses these too but i would have had to update that or the libvirt fake driver when creating functional tests anyway.","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d4d31ba43cf49ff4d6140041d1fb636edf76bb4f","unresolved":false,"context_lines":[{"line_number":149,"context_line":"Step 2: Reporting Of Capablities By Virt Drivers"},{"line_number":150,"context_line":"------------------------------------------------"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"This spec primarily targets extending the libvirt driver however the"},{"line_number":153,"context_line":"the same approach can be taken in other virt drivers."},{"line_number":154,"context_line":"To enable this feature the libvirt driver will be extended to report traits"},{"line_number":155,"context_line":"for each device model it is capable of emulating as on the compute node"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_63893973","line":152,"range":{"start_line":152,"start_character":42,"end_line":152,"end_character":56},"in_reply_to":"5fc1f717_82855109","updated":"2019-03-27 12:09:53.000000000","message":"the hw_* are listed in the compute-libvirt-image.json file in the glance metadefs so i think those are just used by libvirt but ill check.\n\n\nif we chose to also do this for hypervior_type and vm_mode then those sould obviosly need to be done for all drivers.","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"343b1faff5f5213aaea2b70f061d7a10e53b23b9","unresolved":false,"context_lines":[{"line_number":156,"context_line":"resource provider. this will be done by introspection of the libvirt version,"},{"line_number":157,"context_line":"qemu version, and Nova config such as virt type."},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"To support upgrades without modifying existing images or flavours the late"},{"line_number":160,"context_line":"checks for device model support in the virt driver will not"},{"line_number":161,"context_line":"be removed."},{"line_number":162,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_227edd18","line":159,"range":{"start_line":159,"start_character":57,"end_line":159,"end_character":65},"updated":"2019-03-26 19:43:29.000000000","message":"flavors","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"343b1faff5f5213aaea2b70f061d7a10e53b23b9","unresolved":false,"context_lines":[{"line_number":160,"context_line":"checks for device model support in the virt driver will not"},{"line_number":161,"context_line":"be removed."},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"Step 3: Requesting A Device Model and sechduling"},{"line_number":164,"context_line":"------------------------------------------------"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"do one of the following"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_e2c1b530","line":163,"range":{"start_line":163,"start_character":38,"end_line":163,"end_character":48},"updated":"2019-03-26 19:43:29.000000000","message":"Scheduling","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"343b1faff5f5213aaea2b70f061d7a10e53b23b9","unresolved":false,"context_lines":[{"line_number":170,"context_line":"    sufficient however that would require the image created to first specify"},{"line_number":171,"context_line":"    the device model request and then also the required traits."},{"line_number":172,"context_line":"    e.g."},{"line_number":173,"context_line":"    hw_vif_model\u003de1000 traits:compute_net_model_e1000\u003drequired"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"    This will work but its verbose."},{"line_number":176,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_e2a8d578","line":173,"updated":"2019-03-26 19:43:29.000000000","message":"Are you saying \"expose traits from the compute node but don\u0027t auto-require them from the scheduler\" ? If so, this doesn\u0027t seem very useful to me.","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d4d31ba43cf49ff4d6140041d1fb636edf76bb4f","unresolved":false,"context_lines":[{"line_number":170,"context_line":"    sufficient however that would require the image created to first specify"},{"line_number":171,"context_line":"    the device model request and then also the required traits."},{"line_number":172,"context_line":"    e.g."},{"line_number":173,"context_line":"    hw_vif_model\u003de1000 traits:compute_net_model_e1000\u003drequired"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"    This will work but its verbose."},{"line_number":176,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_c3c7cd95","line":173,"in_reply_to":"5fc1f717_e2a8d578","updated":"2019-03-27 12:09:53.000000000","message":"yes.\n\nsince we allow image to request traits already if we expose them on the compute nodes then technically that is enough as users could manually request them. but as you say its not nearly as useful as auto requireing them. its just the minium we could do to have this work.","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"343b1faff5f5213aaea2b70f061d7a10e53b23b9","unresolved":false,"context_lines":[{"line_number":175,"context_line":"    This will work but its verbose."},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"3b:"},{"line_number":178,"context_line":"    We could use a scheduler prefilter to automatically add the new traits"},{"line_number":179,"context_line":"    requests. As adding new options to the device models requires a change to"},{"line_number":180,"context_line":"    Nova anyway and these get updated infrequently we could just have a mapping"},{"line_number":181,"context_line":"    table in a prefilter that added additional traits to the request spec by"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_a2dded14","line":178,"range":{"start_line":178,"start_character":68,"end_line":178,"end_character":74},"updated":"2019-03-26 19:43:29.000000000","message":"traits to","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"343b1faff5f5213aaea2b70f061d7a10e53b23b9","unresolved":false,"context_lines":[{"line_number":184,"context_line":""},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"3c:"},{"line_number":187,"context_line":"    As with other recent feature, we could use the traits request as a"},{"line_number":188,"context_line":"    replacement for an image metadata property. if we chose this option we can"},{"line_number":189,"context_line":"    deprecate the image metadata data values in train e.g. hw_vif_model"},{"line_number":190,"context_line":"    and remove them in U. To use the feature and request vif model going"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_e2d695f2","line":187,"range":{"start_line":187,"start_character":25,"end_line":187,"end_character":32},"updated":"2019-03-26 19:43:29.000000000","message":"features","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"343b1faff5f5213aaea2b70f061d7a10e53b23b9","unresolved":false,"context_lines":[{"line_number":185,"context_line":""},{"line_number":186,"context_line":"3c:"},{"line_number":187,"context_line":"    As with other recent feature, we could use the traits request as a"},{"line_number":188,"context_line":"    replacement for an image metadata property. if we chose this option we can"},{"line_number":189,"context_line":"    deprecate the image metadata data values in train e.g. hw_vif_model"},{"line_number":190,"context_line":"    and remove them in U. To use the feature and request vif model going"},{"line_number":191,"context_line":"    forward you would just add the trait"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_c20b598b","line":188,"range":{"start_line":188,"start_character":48,"end_line":188,"end_character":50},"updated":"2019-03-26 19:43:29.000000000","message":"If","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"343b1faff5f5213aaea2b70f061d7a10e53b23b9","unresolved":false,"context_lines":[{"line_number":186,"context_line":"3c:"},{"line_number":187,"context_line":"    As with other recent feature, we could use the traits request as a"},{"line_number":188,"context_line":"    replacement for an image metadata property. if we chose this option we can"},{"line_number":189,"context_line":"    deprecate the image metadata data values in train e.g. hw_vif_model"},{"line_number":190,"context_line":"    and remove them in U. To use the feature and request vif model going"},{"line_number":191,"context_line":"    forward you would just add the trait"},{"line_number":192,"context_line":"    e.g. traits:compute_net_model_e1000\u003drequired."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_02ede1b5","line":189,"range":{"start_line":189,"start_character":4,"end_line":189,"end_character":32},"updated":"2019-03-26 19:43:29.000000000","message":"No, I don\u0027t think we want to break everyone\u0027s images.","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d4d31ba43cf49ff4d6140041d1fb636edf76bb4f","unresolved":false,"context_lines":[{"line_number":186,"context_line":"3c:"},{"line_number":187,"context_line":"    As with other recent feature, we could use the traits request as a"},{"line_number":188,"context_line":"    replacement for an image metadata property. if we chose this option we can"},{"line_number":189,"context_line":"    deprecate the image metadata data values in train e.g. hw_vif_model"},{"line_number":190,"context_line":"    and remove them in U. To use the feature and request vif model going"},{"line_number":191,"context_line":"    forward you would just add the trait"},{"line_number":192,"context_line":"    e.g. traits:compute_net_model_e1000\u003drequired."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_e3f529cc","line":189,"range":{"start_line":189,"start_character":4,"end_line":189,"end_character":32},"in_reply_to":"5fc1f717_02ede1b5","updated":"2019-03-27 12:09:53.000000000","message":"ya this really is only viable in a green field deployment.","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"343b1faff5f5213aaea2b70f061d7a10e53b23b9","unresolved":false,"context_lines":[{"line_number":195,"context_line":"    traits request. Unlike 3b this option does not require the nova to maintain"},{"line_number":196,"context_line":"    a translation table as a prefilter but we do need to create one to describe"},{"line_number":197,"context_line":"    the mapping between the existing image metadata to the new traits to this"},{"line_number":198,"context_line":"    just moves the table form code to docs."},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"This spec proposes in order of preference 3b failing, that 3a and if neither"},{"line_number":201,"context_line":"are deemed suitable 3c."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_a22bade8","line":198,"updated":"2019-03-26 19:43:29.000000000","message":"3c seems like all pain, no gain. -2 from me.","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d4d31ba43cf49ff4d6140041d1fb636edf76bb4f","unresolved":false,"context_lines":[{"line_number":195,"context_line":"    traits request. Unlike 3b this option does not require the nova to maintain"},{"line_number":196,"context_line":"    a translation table as a prefilter but we do need to create one to describe"},{"line_number":197,"context_line":"    the mapping between the existing image metadata to the new traits to this"},{"line_number":198,"context_line":"    just moves the table form code to docs."},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"This spec proposes in order of preference 3b failing, that 3a and if neither"},{"line_number":201,"context_line":"are deemed suitable 3c."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_e370c974","line":198,"in_reply_to":"5fc1f717_a22bade8","updated":"2019-03-27 12:09:53.000000000","message":"ya i really dont want to do this one i just listed it for completeness so if someone brings it up we at least have disucssed it and rejected it.","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"343b1faff5f5213aaea2b70f061d7a10e53b23b9","unresolved":false,"context_lines":[{"line_number":198,"context_line":"    just moves the table form code to docs."},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"This spec proposes in order of preference 3b failing, that 3a and if neither"},{"line_number":201,"context_line":"are deemed suitable 3c."},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"Alternatives"},{"line_number":204,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_8236b150","line":201,"updated":"2019-03-26 19:43:29.000000000","message":"IMHO, put 3b in this section 3a (and maybe 3c if you must) into alternatives.","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d4d31ba43cf49ff4d6140041d1fb636edf76bb4f","unresolved":false,"context_lines":[{"line_number":198,"context_line":"    just moves the table form code to docs."},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"This spec proposes in order of preference 3b failing, that 3a and if neither"},{"line_number":201,"context_line":"are deemed suitable 3c."},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"Alternatives"},{"line_number":204,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_43075dcb","line":201,"in_reply_to":"5fc1f717_8236b150","updated":"2019-03-27 12:09:53.000000000","message":"ok ill do that. that is my personal perference also.","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"343b1faff5f5213aaea2b70f061d7a10e53b23b9","unresolved":false,"context_lines":[{"line_number":232,"context_line":"Other end user impact"},{"line_number":233,"context_line":"---------------------"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"if 3a or 3c are chosen then end user will have to change the image metadata"},{"line_number":236,"context_line":"they set on there image and add traits. if 3b is chosen None."},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"Performance Impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_828471d4","line":235,"range":{"start_line":235,"start_character":0,"end_line":235,"end_character":2},"updated":"2019-03-26 19:43:29.000000000","message":"If","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"343b1faff5f5213aaea2b70f061d7a10e53b23b9","unresolved":false,"context_lines":[{"line_number":240,"context_line":""},{"line_number":241,"context_line":"This may improve boot performance by moving the validate of device model"},{"line_number":242,"context_line":"support to placement instead of doing it in the virt driver during instance"},{"line_number":243,"context_line":"spawn."},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"Other deployer impact"},{"line_number":246,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_a2140da1","line":243,"updated":"2019-03-26 19:43:29.000000000","message":"It *will* improve performance, on heterogeneous clouds, by reducing reschedules.","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d4d31ba43cf49ff4d6140041d1fb636edf76bb4f","unresolved":false,"context_lines":[{"line_number":240,"context_line":""},{"line_number":241,"context_line":"This may improve boot performance by moving the validate of device model"},{"line_number":242,"context_line":"support to placement instead of doing it in the virt driver during instance"},{"line_number":243,"context_line":"spawn."},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"Other deployer impact"},{"line_number":246,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_8300e5ac","line":243,"in_reply_to":"5fc1f717_a2140da1","updated":"2019-03-27 12:09:53.000000000","message":"yes it definetly will in that case.\n\nill update.","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"343b1faff5f5213aaea2b70f061d7a10e53b23b9","unresolved":false,"context_lines":[{"line_number":246,"context_line":"---------------------"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"if option 3b is selected a new config option will be added to enable the"},{"line_number":249,"context_line":"prefilter. Or the existing one will be extended."},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"Developer impact"},{"line_number":252,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_021ba1c9","line":249,"range":{"start_line":249,"start_character":11,"end_line":249,"end_character":48},"updated":"2019-03-26 19:43:29.000000000","message":"I don\u0027t think there is an existing one that would be appropriate. The other prefilters have boolean config flags and this one should as well, I think. Default to off initially, but could move it to default-on in U.","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d4d31ba43cf49ff4d6140041d1fb636edf76bb4f","unresolved":false,"context_lines":[{"line_number":246,"context_line":"---------------------"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"if option 3b is selected a new config option will be added to enable the"},{"line_number":249,"context_line":"prefilter. Or the existing one will be extended."},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"Developer impact"},{"line_number":252,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_c3e82de3","line":249,"range":{"start_line":249,"start_character":11,"end_line":249,"end_character":48},"in_reply_to":"5fc1f717_021ba1c9","updated":"2019-03-27 12:09:53.000000000","message":"ok i left this sentence here mainly because i had not checked how the other prfilters were enabled.\n\nill update to say a new boolean config parameter will be added.\n\nthe other option would be replace the boolean config values\nand a single enabled_prefilters config value that is a comma seperated list of prefilters.\n\nthat would avoid the need to add bool flags for each prefilter going forward but not sure we want to do that or not.","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"343b1faff5f5213aaea2b70f061d7a10e53b23b9","unresolved":false,"context_lines":[{"line_number":256,"context_line":"Upgrade impact"},{"line_number":257,"context_line":"--------------"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"depending on step3 operations may need to modify images or set config values"},{"line_number":260,"context_line":"to use this feature."},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"if 3b is selected the operator will need to enable the prefilter if they want"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_627f05df","line":259,"range":{"start_line":259,"start_character":0,"end_line":259,"end_character":9},"updated":"2019-03-26 19:43:29.000000000","message":"Depending","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"343b1faff5f5213aaea2b70f061d7a10e53b23b9","unresolved":false,"context_lines":[{"line_number":259,"context_line":"depending on step3 operations may need to modify images or set config values"},{"line_number":260,"context_line":"to use this feature."},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"if 3b is selected the operator will need to enable the prefilter if they want"},{"line_number":263,"context_line":"to use this feature."},{"line_number":264,"context_line":""},{"line_number":265,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_226d7d31","line":262,"range":{"start_line":262,"start_character":0,"end_line":262,"end_character":2},"updated":"2019-03-26 19:43:29.000000000","message":"If","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"343b1faff5f5213aaea2b70f061d7a10e53b23b9","unresolved":false,"context_lines":[{"line_number":274,"context_line":"Work Items"},{"line_number":275,"context_line":"----------"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"- add new traits"},{"line_number":278,"context_line":"- modify libvirt virt driver to report traits"},{"line_number":279,"context_line":"- write prefilter"},{"line_number":280,"context_line":"- tests"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"Dependencies"},{"line_number":283,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_c267d94c","line":280,"range":{"start_line":277,"start_character":0,"end_line":280,"end_character":7},"updated":"2019-03-26 19:43:29.000000000","message":"Capitalize please","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d4d31ba43cf49ff4d6140041d1fb636edf76bb4f","unresolved":false,"context_lines":[{"line_number":274,"context_line":"Work Items"},{"line_number":275,"context_line":"----------"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"- add new traits"},{"line_number":278,"context_line":"- modify libvirt virt driver to report traits"},{"line_number":279,"context_line":"- write prefilter"},{"line_number":280,"context_line":"- tests"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"Dependencies"},{"line_number":283,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_43be7dd5","line":280,"range":{"start_line":277,"start_character":0,"end_line":280,"end_character":7},"in_reply_to":"5fc1f717_c267d94c","updated":"2019-03-27 12:09:53.000000000","message":"sure. ill fix the other capitalization  isues you noted too.","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"343b1faff5f5213aaea2b70f061d7a10e53b23b9","unresolved":false,"context_lines":[{"line_number":287,"context_line":"Testing"},{"line_number":288,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"this can be tested entirely in the gate either via a simple tempest test"},{"line_number":291,"context_line":"or with functional/unit tests."},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_825d517a","line":290,"range":{"start_line":290,"start_character":0,"end_line":290,"end_character":4},"updated":"2019-03-26 19:43:29.000000000","message":"This","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"343b1faff5f5213aaea2b70f061d7a10e53b23b9","unresolved":false,"context_lines":[{"line_number":293,"context_line":"Documentation Impact"},{"line_number":294,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"release note will be added and documentation on the use of the new traits"},{"line_number":297,"context_line":"will be added if needed. if option 3b is used it will be transparent to the"},{"line_number":298,"context_line":"operator and end-user and only config documentation will be needed"},{"line_number":299,"context_line":"to describe how to enable the prefilter."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5fc1f717_024961b5","line":296,"range":{"start_line":296,"start_character":0,"end_line":296,"end_character":7},"updated":"2019-03-26 19:43:29.000000000","message":"A release","commit_id":"3e44a411cb3cc765ca85c809b74b66bacdeabca4"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c1a87eb90440fae135f24093bcd6b853659aa9aa","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/image-metadata-prefiltering"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Nova supports specifying hyperviors-specific device model via image properties."},{"line_number":14,"context_line":"Today when such properties are set on an image they are not considered when"},{"line_number":15,"context_line":"scheduling unless the operator manually configures the ImagePropertiesFilter."},{"line_number":16,"context_line":"If the operator does not configure the ImagePropertiesFilter and an instance"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_be11e155","line":13,"range":{"start_line":13,"start_character":25,"end_line":13,"end_character":35},"updated":"2019-04-04 11:53:58.000000000","message":"hypervisor","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"80316f3fa8098ecc6e29fdeb21072feb771b4ff2","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/image-metadata-prefiltering"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Nova supports specifying hyperviors-specific device model via image properties."},{"line_number":14,"context_line":"Today when such properties are set on an image they are not considered when"},{"line_number":15,"context_line":"scheduling unless the operator manually configures the ImagePropertiesFilter."},{"line_number":16,"context_line":"If the operator does not configure the ImagePropertiesFilter and an instance"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_a718bad2","line":13,"range":{"start_line":13,"start_character":25,"end_line":13,"end_character":35},"in_reply_to":"5fc1f717_be11e155","updated":"2019-04-08 16:32:24.000000000","message":"Done","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c1a87eb90440fae135f24093bcd6b853659aa9aa","unresolved":false,"context_lines":[{"line_number":14,"context_line":"Today when such properties are set on an image they are not considered when"},{"line_number":15,"context_line":"scheduling unless the operator manually configures the ImagePropertiesFilter."},{"line_number":16,"context_line":"If the operator does not configure the ImagePropertiesFilter and an instance"},{"line_number":17,"context_line":"is scheduled to a host that cannot support the requested device model a late"},{"line_number":18,"context_line":"check in the virt driver will fail the spawn and trigger a reschedule."},{"line_number":19,"context_line":"If only a subset of hosts can support the requested device model this"},{"line_number":20,"context_line":"frequently results in a ``No valid host`` error."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_de0ced3a","line":17,"range":{"start_line":17,"start_character":57,"end_line":17,"end_character":71},"updated":"2019-04-04 11:53:58.000000000","message":"device model, a","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"80316f3fa8098ecc6e29fdeb21072feb771b4ff2","unresolved":false,"context_lines":[{"line_number":14,"context_line":"Today when such properties are set on an image they are not considered when"},{"line_number":15,"context_line":"scheduling unless the operator manually configures the ImagePropertiesFilter."},{"line_number":16,"context_line":"If the operator does not configure the ImagePropertiesFilter and an instance"},{"line_number":17,"context_line":"is scheduled to a host that cannot support the requested device model a late"},{"line_number":18,"context_line":"check in the virt driver will fail the spawn and trigger a reschedule."},{"line_number":19,"context_line":"If only a subset of hosts can support the requested device model this"},{"line_number":20,"context_line":"frequently results in a ``No valid host`` error."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_4709d681","line":17,"range":{"start_line":17,"start_character":57,"end_line":17,"end_character":71},"in_reply_to":"5fc1f717_de0ced3a","updated":"2019-04-08 16:32:24.000000000","message":"Done","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c1a87eb90440fae135f24093bcd6b853659aa9aa","unresolved":false,"context_lines":[{"line_number":32,"context_line":"As an operator I want the flexibility to deploy a heterogeneous cloud that has"},{"line_number":33,"context_line":"compute nodes with different device model capabilities, either temporarily"},{"line_number":34,"context_line":"during upgrades or permanently in a multi-architecture multi-hypervisor cloud,"},{"line_number":35,"context_line":"without requiring explicit scheduler configuration."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"As an operator, I would like to be able to communicate with my customers what"},{"line_number":38,"context_line":"capabilities my cloud provides opaquely via standard traits instead of"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_bead61eb","line":35,"updated":"2019-04-04 11:53:58.000000000","message":"✔ great use case","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c1a87eb90440fae135f24093bcd6b853659aa9aa","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"As an operator, I would like to be able to communicate with my customers what"},{"line_number":38,"context_line":"capabilities my cloud provides opaquely via standard traits instead of"},{"line_number":39,"context_line":"revealing the specific versions of the software have deployed so that they can"},{"line_number":40,"context_line":"provide their own image that depends on those capabilities."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"As an end user, I want to be able to succinctly specify device models or other"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_7e49395e","line":39,"range":{"start_line":39,"start_character":32,"end_line":39,"end_character":62},"updated":"2019-04-04 11:53:58.000000000","message":"of the software that is deployed","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c1a87eb90440fae135f24093bcd6b853659aa9aa","unresolved":false,"context_lines":[{"line_number":37,"context_line":"As an operator, I would like to be able to communicate with my customers what"},{"line_number":38,"context_line":"capabilities my cloud provides opaquely via standard traits instead of"},{"line_number":39,"context_line":"revealing the specific versions of the software have deployed so that they can"},{"line_number":40,"context_line":"provide their own image that depends on those capabilities."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"As an end user, I want to be able to succinctly specify device models or other"},{"line_number":43,"context_line":"hypervisor-dependent capabilities requirements for my instance without needing"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_be6801ba","line":40,"updated":"2019-04-04 11:53:58.000000000","message":"Note that end users can\u0027t see the placement API in general, so while this use case is laudable, it\u0027s not really a reality -- yet.","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ffa96514ff4a69d19154a4135c0b7369fe3a52cd","unresolved":false,"context_lines":[{"line_number":37,"context_line":"As an operator, I would like to be able to communicate with my customers what"},{"line_number":38,"context_line":"capabilities my cloud provides opaquely via standard traits instead of"},{"line_number":39,"context_line":"revealing the specific versions of the software have deployed so that they can"},{"line_number":40,"context_line":"provide their own image that depends on those capabilities."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"As an end user, I want to be able to succinctly specify device models or other"},{"line_number":43,"context_line":"hypervisor-dependent capabilities requirements for my instance without needing"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_246608ef","line":40,"in_reply_to":"5fc1f717_be6801ba","updated":"2019-04-08 14:06:44.000000000","message":"i was thinking they could simply list the set of traits they supproted in a wiki/support page. But yes i agree there is no programatic way to discover this sanly today.\n\nit might make sense to have a non admin api for listing available resouce classes and traits via placement at some point but i dont want to go down that route in this spec.","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c1a87eb90440fae135f24093bcd6b853659aa9aa","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"As an end user, I want to be able to succinctly specify device models or other"},{"line_number":43,"context_line":"hypervisor-dependent capabilities requirements for my instance without needing"},{"line_number":44,"context_line":"to be overly verbose."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Proposed change"},{"line_number":47,"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":2,"id":"5fc1f717_1ea7d50d","line":44,"updated":"2019-04-04 11:53:58.000000000","message":"✔","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c1a87eb90440fae135f24093bcd6b853659aa9aa","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"The current proposed set is"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":".. code-block:: json"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"       \"hw_vif_model\": {"},{"line_number":60,"context_line":"            \"title\": \"Virtual Network Interface\","}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_fe076917","line":57,"updated":"2019-04-04 11:53:58.000000000","message":"Remove the \" json\" above... it\u0027s producing the following failure:\n\n /home/zuul/src/git.openstack.org/openstack/nova-specs/doc/source/specs/train/approved/image-metadata-prefiltering.rst:57:Could not lex literal_block as \"json\". Highlighting skipped.","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"80316f3fa8098ecc6e29fdeb21072feb771b4ff2","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"The current proposed set is"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":".. code-block:: json"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"       \"hw_vif_model\": {"},{"line_number":60,"context_line":"            \"title\": \"Virtual Network Interface\","}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_e78a42ba","line":57,"in_reply_to":"5fc1f717_fe076917","updated":"2019-04-08 16:32:24.000000000","message":"ya  i would have to wrap the bock in {}\nto make it a vaild json object.\nill just remove it as you said.","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c1a87eb90440fae135f24093bcd6b853659aa9aa","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                \"spapr-vlan\","},{"line_number":75,"context_line":"                \"virtio\""},{"line_number":76,"context_line":"            ]"},{"line_number":77,"context_line":"        },"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"        \"hw_video_model\": {"},{"line_number":80,"context_line":"            \"title\": \"Video Model\","}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_5ed47d47","line":77,"updated":"2019-04-04 11:53:58.000000000","message":"so, for the above, I propose the following os-traits:\n\n COMPUTE_VIF_MODEL_E1000\n COMPUTE_VIF_MODEL_E1000E\n ...\n COMPUTE_VIF_MODEL_VIRTIO\n\nNote: don\u0027t use HW_ because they aren\u0027t hardware-specific things. They are software/driver things.","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"80316f3fa8098ecc6e29fdeb21072feb771b4ff2","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                \"spapr-vlan\","},{"line_number":75,"context_line":"                \"virtio\""},{"line_number":76,"context_line":"            ]"},{"line_number":77,"context_line":"        },"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"        \"hw_video_model\": {"},{"line_number":80,"context_line":"            \"title\": \"Video Model\","}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_e77802c2","line":77,"in_reply_to":"5fc1f717_5ed47d47","updated":"2019-04-08 16:32:24.000000000","message":"yes i was planning to put these in the compute namespace.\n\ni cant change the existing image names but the traits can actully reflect that these are not hardware specifc things.\n\ni was planning to put the vif models in \nhttps://github.com/openstack/os-traits/blob/master/os_traits/compute/net.py\n\nso the would be COMPUTE_NET_VIF_MODEL_E1000 ...\n\ni could pull them up one level but i was going to leave the specifcs of this to the os-traits review","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c1a87eb90440fae135f24093bcd6b853659aa9aa","unresolved":false,"context_lines":[{"line_number":87,"context_line":"                \"xen\","},{"line_number":88,"context_line":"                \"qxl\""},{"line_number":89,"context_line":"            ]"},{"line_number":90,"context_line":"         },"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        \"hw_disk_bus\": {"},{"line_number":93,"context_line":"            \"title\": \"Disk Bus\","}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_debf0dfa","line":90,"updated":"2019-04-04 11:53:58.000000000","message":"same for above. These aren\u0027t hardware things. They are software configurations/drivers that need to be present on the host, right?\n\n COMPUTE_VIDEO_MODEL_VGA\n COMPUTE_VIDEO_MODEL_CIRRUS\n ...","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"80316f3fa8098ecc6e29fdeb21072feb771b4ff2","unresolved":false,"context_lines":[{"line_number":87,"context_line":"                \"xen\","},{"line_number":88,"context_line":"                \"qxl\""},{"line_number":89,"context_line":"            ]"},{"line_number":90,"context_line":"         },"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        \"hw_disk_bus\": {"},{"line_number":93,"context_line":"            \"title\": \"Disk Bus\","}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_0a12f358","line":90,"in_reply_to":"5fc1f717_debf0dfa","updated":"2019-04-08 16:32:24.000000000","message":"yes these are software emulation capablitys not hardware requirements so they should be under the compute namespace\ni was think of creating graphics module under compute here\nhttps://github.com/openstack/os-traits/blob/master/os_traits/compute/graphics.py\n\nbut i could create a video.py module too.\n\nthe trait woudl be either\nCOMPUTE_VIDEO_MODEL_VGA in that case of\nCOMPUTE_GRAPHICS_MODEL_VGA\n\nanyway the main point is i agree that is the correct parent namespace not hardware.","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"80316f3fa8098ecc6e29fdeb21072feb771b4ff2","unresolved":false,"context_lines":[{"line_number":89,"context_line":"            ]"},{"line_number":90,"context_line":"         },"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"        \"hw_disk_bus\": {"},{"line_number":93,"context_line":"            \"title\": \"Disk Bus\","},{"line_number":94,"context_line":"            \"description\": \"Specifies the type of disk controller to"},{"line_number":95,"context_line":"            attach disk devices to.\","}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_8a27c3b6","line":92,"range":{"start_line":92,"start_character":9,"end_line":92,"end_character":20},"updated":"2019-04-08 16:32:24.000000000","message":"i need to add hw_cdrom_bus too but the values are the same.\n\nagain these shoudl be under compute not hardware namespace as we are talkign about the hyperviors ablity to emulate a specific bus not the hardware capablites of the host.","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c1a87eb90440fae135f24093bcd6b853659aa9aa","unresolved":false,"context_lines":[{"line_number":104,"context_line":"                \"fdc\","},{"line_number":105,"context_line":"                \"sata\""},{"line_number":106,"context_line":"            ]"},{"line_number":107,"context_line":"         },"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"other image properties that may also be worth considering are"},{"line_number":110,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_7e1a9917","line":107,"updated":"2019-04-04 11:53:58.000000000","message":"The above aren\u0027t really hardware-related either. I mean SCSI is a set of hardware and software standards, protocols and an actual bus. Same for USB. IDE and SATA are also protocols/standards as well as buses. virtio, uml, xen are all software/protocols. FDC, not sure about.\n\nI\u0027d actually question whether the above is even useful to put into traits as opposed to the VM configuration data that it currently represents. Might need to be convinced further on this one...","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"9fd85af7726d9c1779ea15256584f644777503e9","unresolved":false,"context_lines":[{"line_number":104,"context_line":"                \"fdc\","},{"line_number":105,"context_line":"                \"sata\""},{"line_number":106,"context_line":"            ]"},{"line_number":107,"context_line":"         },"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"other image properties that may also be worth considering are"},{"line_number":110,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_577e3619","line":107,"in_reply_to":"5fc1f717_44b1d400","updated":"2019-04-10 08:56:20.000000000","message":"Yes, I completely understand the use case and the concern. I\u0027m just curious whether the hypervisor_type can be the trait we use to control placement/scheduling instead of umpteen traits about disk bus and graphics models, etc.\n\nIn other words, can we do with a smaller set of traits that simply lists the hypervisor types and not all these low-level things?","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ffa96514ff4a69d19154a4135c0b7369fe3a52cd","unresolved":false,"context_lines":[{"line_number":104,"context_line":"                \"fdc\","},{"line_number":105,"context_line":"                \"sata\""},{"line_number":106,"context_line":"            ]"},{"line_number":107,"context_line":"         },"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"other image properties that may also be worth considering are"},{"line_number":110,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_44b1d400","line":107,"in_reply_to":"5fc1f717_7e1a9917","updated":"2019-04-08 14:06:44.000000000","message":"they are not hardware related but they are hyperviorus specifric.\n\ne.g. its invalid to request xen on a kvm host\nide is also not supported if they kvm host has been configured to use the q35 machine type.\n\nso the intent is to not advertise support of these emulated disk buses if its invalid based on the hosts confituration.\n\ntoday if you request xen and we schdule to a kvm host you will get a late failure on the compute node when it validates the compatibility so im trying to eliminate the rescudles and potential no valid host that can happen in this case.","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ffa96514ff4a69d19154a4135c0b7369fe3a52cd","unresolved":false,"context_lines":[{"line_number":116,"context_line":"            \"enum\": ["},{"line_number":117,"context_line":"                \"baremetal\","},{"line_number":118,"context_line":"                \"hyperv\","},{"line_number":119,"context_line":"                \"kvm\","},{"line_number":120,"context_line":"                \"lxc\","},{"line_number":121,"context_line":"                \"qemu\","},{"line_number":122,"context_line":"                \"uml\","}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_24912853","line":119,"range":{"start_line":119,"start_character":16,"end_line":119,"end_character":22},"updated":"2019-04-08 14:06:44.000000000","message":"the annoyting thing about this\nfor kvm hosts the hypervior type will be qemu\n\nso to make sure you land on a host that is running kvm\nyou need to request hypeverisor_type qemu and vm_mode\u003dhvm","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c1a87eb90440fae135f24093bcd6b853659aa9aa","unresolved":false,"context_lines":[{"line_number":137,"context_line":"                \"uml\","},{"line_number":138,"context_line":"                \"exe\""},{"line_number":139,"context_line":"            ]"},{"line_number":140,"context_line":"        }"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"While this spec primarily targets the device model specific image metadata"},{"line_number":143,"context_line":"properties the same pattern could be applied to hypervisor_type and vm_mode."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_1eb835e3","line":140,"updated":"2019-04-04 11:53:58.000000000","message":"I can see using *either* hypervisor type *or* VM mode as a filtering trait, but not both. For baremetal, of course, the filtering will be done by custom resource class, but to direct Hyper-V images to Hyper-V hypervisor hosts, I guess I can see using a standardized trait instead of the existing solution of using a host aggregate.","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c1a87eb90440fae135f24093bcd6b853659aa9aa","unresolved":false,"context_lines":[{"line_number":149,"context_line":"Step 2: Reporting Of Capablities By Virt Drivers"},{"line_number":150,"context_line":"------------------------------------------------"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"This spec primarily targets extending the libvirt driver however as"},{"line_number":153,"context_line":"these properties are also used by the vmware and fake drivers they will"},{"line_number":154,"context_line":"also be extended."},{"line_number":155,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_5ea31db2","line":152,"range":{"start_line":152,"start_character":42,"end_line":152,"end_character":57},"updated":"2019-04-04 11:53:58.000000000","message":"libvirt driver; however","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"80316f3fa8098ecc6e29fdeb21072feb771b4ff2","unresolved":false,"context_lines":[{"line_number":149,"context_line":"Step 2: Reporting Of Capablities By Virt Drivers"},{"line_number":150,"context_line":"------------------------------------------------"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"This spec primarily targets extending the libvirt driver however as"},{"line_number":153,"context_line":"these properties are also used by the vmware and fake drivers they will"},{"line_number":154,"context_line":"also be extended."},{"line_number":155,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_ea42073b","line":152,"range":{"start_line":152,"start_character":42,"end_line":152,"end_character":57},"in_reply_to":"5fc1f717_5ea31db2","updated":"2019-04-08 16:32:24.000000000","message":"Done","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c1a87eb90440fae135f24093bcd6b853659aa9aa","unresolved":false,"context_lines":[{"line_number":153,"context_line":"these properties are also used by the vmware and fake drivers they will"},{"line_number":154,"context_line":"also be extended."},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"To enable this feature the virt drivers will be extended to report traits"},{"line_number":157,"context_line":"for each device model they are capable of emulating as on the compute node"},{"line_number":158,"context_line":"resource provider. this will be done by introspection of the libvirt version,"},{"line_number":159,"context_line":"qemu version, and Nova config such as virt type."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_be93215c","line":156,"range":{"start_line":156,"start_character":10,"end_line":156,"end_character":26},"updated":"2019-04-04 11:53:58.000000000","message":"this feature, the","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"80316f3fa8098ecc6e29fdeb21072feb771b4ff2","unresolved":false,"context_lines":[{"line_number":153,"context_line":"these properties are also used by the vmware and fake drivers they will"},{"line_number":154,"context_line":"also be extended."},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"To enable this feature the virt drivers will be extended to report traits"},{"line_number":157,"context_line":"for each device model they are capable of emulating as on the compute node"},{"line_number":158,"context_line":"resource provider. this will be done by introspection of the libvirt version,"},{"line_number":159,"context_line":"qemu version, and Nova config such as virt type."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_8a75839a","line":156,"range":{"start_line":156,"start_character":10,"end_line":156,"end_character":26},"in_reply_to":"5fc1f717_be93215c","updated":"2019-04-08 16:32:24.000000000","message":"Done","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c1a87eb90440fae135f24093bcd6b853659aa9aa","unresolved":false,"context_lines":[{"line_number":154,"context_line":"also be extended."},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"To enable this feature the virt drivers will be extended to report traits"},{"line_number":157,"context_line":"for each device model they are capable of emulating as on the compute node"},{"line_number":158,"context_line":"resource provider. this will be done by introspection of the libvirt version,"},{"line_number":159,"context_line":"qemu version, and Nova config such as virt type."},{"line_number":160,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_de9ced5c","line":157,"range":{"start_line":157,"start_character":31,"end_line":157,"end_character":54},"updated":"2019-04-04 11:53:58.000000000","message":"capable of emulating on the compute node","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"80316f3fa8098ecc6e29fdeb21072feb771b4ff2","unresolved":false,"context_lines":[{"line_number":154,"context_line":"also be extended."},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"To enable this feature the virt drivers will be extended to report traits"},{"line_number":157,"context_line":"for each device model they are capable of emulating as on the compute node"},{"line_number":158,"context_line":"resource provider. this will be done by introspection of the libvirt version,"},{"line_number":159,"context_line":"qemu version, and Nova config such as virt type."},{"line_number":160,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_4a6b1bb8","line":157,"range":{"start_line":157,"start_character":31,"end_line":157,"end_character":54},"in_reply_to":"5fc1f717_de9ced5c","updated":"2019-04-08 16:32:24.000000000","message":"Done","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c1a87eb90440fae135f24093bcd6b853659aa9aa","unresolved":false,"context_lines":[{"line_number":155,"context_line":""},{"line_number":156,"context_line":"To enable this feature the virt drivers will be extended to report traits"},{"line_number":157,"context_line":"for each device model they are capable of emulating as on the compute node"},{"line_number":158,"context_line":"resource provider. this will be done by introspection of the libvirt version,"},{"line_number":159,"context_line":"qemu version, and Nova config such as virt type."},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"To support upgrades without modifying existing images or flavors the late"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_7eab7974","line":158,"range":{"start_line":158,"start_character":19,"end_line":158,"end_character":23},"updated":"2019-04-04 11:53:58.000000000","message":"This","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"80316f3fa8098ecc6e29fdeb21072feb771b4ff2","unresolved":false,"context_lines":[{"line_number":155,"context_line":""},{"line_number":156,"context_line":"To enable this feature the virt drivers will be extended to report traits"},{"line_number":157,"context_line":"for each device model they are capable of emulating as on the compute node"},{"line_number":158,"context_line":"resource provider. this will be done by introspection of the libvirt version,"},{"line_number":159,"context_line":"qemu version, and Nova config such as virt type."},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"To support upgrades without modifying existing images or flavors the late"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_6a7057a5","line":158,"range":{"start_line":158,"start_character":19,"end_line":158,"end_character":23},"in_reply_to":"5fc1f717_7eab7974","updated":"2019-04-08 16:32:24.000000000","message":"Done","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c1a87eb90440fae135f24093bcd6b853659aa9aa","unresolved":false,"context_lines":[{"line_number":156,"context_line":"To enable this feature the virt drivers will be extended to report traits"},{"line_number":157,"context_line":"for each device model they are capable of emulating as on the compute node"},{"line_number":158,"context_line":"resource provider. this will be done by introspection of the libvirt version,"},{"line_number":159,"context_line":"qemu version, and Nova config such as virt type."},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"To support upgrades without modifying existing images or flavors the late"},{"line_number":162,"context_line":"checks for device model support in the virt driver will not"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_feb0c9df","line":159,"range":{"start_line":159,"start_character":38,"end_line":159,"end_character":47},"updated":"2019-04-04 11:53:58.000000000","message":"CONF.virt_type","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"80316f3fa8098ecc6e29fdeb21072feb771b4ff2","unresolved":false,"context_lines":[{"line_number":156,"context_line":"To enable this feature the virt drivers will be extended to report traits"},{"line_number":157,"context_line":"for each device model they are capable of emulating as on the compute node"},{"line_number":158,"context_line":"resource provider. this will be done by introspection of the libvirt version,"},{"line_number":159,"context_line":"qemu version, and Nova config such as virt type."},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"To support upgrades without modifying existing images or flavors the late"},{"line_number":162,"context_line":"checks for device model support in the virt driver will not"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_2a66cfee","line":159,"range":{"start_line":159,"start_character":38,"end_line":159,"end_character":47},"in_reply_to":"5fc1f717_feb0c9df","updated":"2019-04-08 16:32:24.000000000","message":"Done","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c1a87eb90440fae135f24093bcd6b853659aa9aa","unresolved":false,"context_lines":[{"line_number":158,"context_line":"resource provider. this will be done by introspection of the libvirt version,"},{"line_number":159,"context_line":"qemu version, and Nova config such as virt type."},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"To support upgrades without modifying existing images or flavors the late"},{"line_number":162,"context_line":"checks for device model support in the virt driver will not"},{"line_number":163,"context_line":"be removed."},{"line_number":164,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_3edc1117","line":161,"range":{"start_line":161,"start_character":47,"end_line":161,"end_character":64},"updated":"2019-04-04 11:53:58.000000000","message":"images or flavors, the late","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"80316f3fa8098ecc6e29fdeb21072feb771b4ff2","unresolved":false,"context_lines":[{"line_number":158,"context_line":"resource provider. this will be done by introspection of the libvirt version,"},{"line_number":159,"context_line":"qemu version, and Nova config such as virt type."},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"To support upgrades without modifying existing images or flavors the late"},{"line_number":162,"context_line":"checks for device model support in the virt driver will not"},{"line_number":163,"context_line":"be removed."},{"line_number":164,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_4aa0fbf3","line":161,"range":{"start_line":161,"start_character":47,"end_line":161,"end_character":64},"in_reply_to":"5fc1f717_3edc1117","updated":"2019-04-08 16:32:24.000000000","message":"Done","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c1a87eb90440fae135f24093bcd6b853659aa9aa","unresolved":false,"context_lines":[{"line_number":165,"context_line":"Step 3: Requesting A Device Model And Scheduling"},{"line_number":166,"context_line":"------------------------------------------------"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"A new scheduler prefilter to automatically add the new traits to"},{"line_number":169,"context_line":"requests. As adding new options to the device models requires a change to"},{"line_number":170,"context_line":"Nova anyway and these get updated infrequently we could just have a mapping"},{"line_number":171,"context_line":"table in a prefilter that added additional traits to the request spec by"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_1e027570","line":168,"range":{"start_line":168,"start_character":16,"end_line":168,"end_character":26},"updated":"2019-04-04 11:53:58.000000000","message":"prefilter will be added to automatically add...","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"80316f3fa8098ecc6e29fdeb21072feb771b4ff2","unresolved":false,"context_lines":[{"line_number":165,"context_line":"Step 3: Requesting A Device Model And Scheduling"},{"line_number":166,"context_line":"------------------------------------------------"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"A new scheduler prefilter to automatically add the new traits to"},{"line_number":169,"context_line":"requests. As adding new options to the device models requires a change to"},{"line_number":170,"context_line":"Nova anyway and these get updated infrequently we could just have a mapping"},{"line_number":171,"context_line":"table in a prefilter that added additional traits to the request spec by"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_ca8ceb81","line":168,"range":{"start_line":168,"start_character":16,"end_line":168,"end_character":26},"in_reply_to":"5fc1f717_1e027570","updated":"2019-04-08 16:32:24.000000000","message":"Done","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c1a87eb90440fae135f24093bcd6b853659aa9aa","unresolved":false,"context_lines":[{"line_number":167,"context_line":""},{"line_number":168,"context_line":"A new scheduler prefilter to automatically add the new traits to"},{"line_number":169,"context_line":"requests. As adding new options to the device models requires a change to"},{"line_number":170,"context_line":"Nova anyway and these get updated infrequently we could just have a mapping"},{"line_number":171,"context_line":"table in a prefilter that added additional traits to the request spec by"},{"line_number":172,"context_line":"looking up the appropriate image metadata key and append the traits"},{"line_number":173,"context_line":"request. This will not require changes to images to use the feature."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_3e2ad1e6","line":170,"range":{"start_line":170,"start_character":4,"end_line":170,"end_character":15},"updated":"2019-04-04 11:53:58.000000000","message":"anyway, and","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c1a87eb90440fae135f24093bcd6b853659aa9aa","unresolved":false,"context_lines":[{"line_number":167,"context_line":""},{"line_number":168,"context_line":"A new scheduler prefilter to automatically add the new traits to"},{"line_number":169,"context_line":"requests. As adding new options to the device models requires a change to"},{"line_number":170,"context_line":"Nova anyway and these get updated infrequently we could just have a mapping"},{"line_number":171,"context_line":"table in a prefilter that added additional traits to the request spec by"},{"line_number":172,"context_line":"looking up the appropriate image metadata key and append the traits"},{"line_number":173,"context_line":"request. This will not require changes to images to use the feature."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_fe33e960","line":170,"range":{"start_line":170,"start_character":34,"end_line":170,"end_character":49},"updated":"2019-04-04 11:53:58.000000000","message":"infrequently, we","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"80316f3fa8098ecc6e29fdeb21072feb771b4ff2","unresolved":false,"context_lines":[{"line_number":167,"context_line":""},{"line_number":168,"context_line":"A new scheduler prefilter to automatically add the new traits to"},{"line_number":169,"context_line":"requests. As adding new options to the device models requires a change to"},{"line_number":170,"context_line":"Nova anyway and these get updated infrequently we could just have a mapping"},{"line_number":171,"context_line":"table in a prefilter that added additional traits to the request spec by"},{"line_number":172,"context_line":"looking up the appropriate image metadata key and append the traits"},{"line_number":173,"context_line":"request. This will not require changes to images to use the feature."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_ea89a76e","line":170,"range":{"start_line":170,"start_character":4,"end_line":170,"end_character":15},"in_reply_to":"5fc1f717_3e2ad1e6","updated":"2019-04-08 16:32:24.000000000","message":"Done","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"80316f3fa8098ecc6e29fdeb21072feb771b4ff2","unresolved":false,"context_lines":[{"line_number":167,"context_line":""},{"line_number":168,"context_line":"A new scheduler prefilter to automatically add the new traits to"},{"line_number":169,"context_line":"requests. As adding new options to the device models requires a change to"},{"line_number":170,"context_line":"Nova anyway and these get updated infrequently we could just have a mapping"},{"line_number":171,"context_line":"table in a prefilter that added additional traits to the request spec by"},{"line_number":172,"context_line":"looking up the appropriate image metadata key and append the traits"},{"line_number":173,"context_line":"request. This will not require changes to images to use the feature."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_8ae82316","line":170,"range":{"start_line":170,"start_character":34,"end_line":170,"end_character":49},"in_reply_to":"5fc1f717_fe33e960","updated":"2019-04-08 16:32:24.000000000","message":"Done","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c1a87eb90440fae135f24093bcd6b853659aa9aa","unresolved":false,"context_lines":[{"line_number":169,"context_line":"requests. As adding new options to the device models requires a change to"},{"line_number":170,"context_line":"Nova anyway and these get updated infrequently we could just have a mapping"},{"line_number":171,"context_line":"table in a prefilter that added additional traits to the request spec by"},{"line_number":172,"context_line":"looking up the appropriate image metadata key and append the traits"},{"line_number":173,"context_line":"request. This will not require changes to images to use the feature."},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_7e47f9bd","line":172,"range":{"start_line":172,"start_character":50,"end_line":172,"end_character":56},"updated":"2019-04-04 11:53:58.000000000","message":"appending","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"80316f3fa8098ecc6e29fdeb21072feb771b4ff2","unresolved":false,"context_lines":[{"line_number":169,"context_line":"requests. As adding new options to the device models requires a change to"},{"line_number":170,"context_line":"Nova anyway and these get updated infrequently we could just have a mapping"},{"line_number":171,"context_line":"table in a prefilter that added additional traits to the request spec by"},{"line_number":172,"context_line":"looking up the appropriate image metadata key and append the traits"},{"line_number":173,"context_line":"request. This will not require changes to images to use the feature."},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_4aeebb21","line":172,"range":{"start_line":172,"start_character":50,"end_line":172,"end_character":56},"in_reply_to":"5fc1f717_7e47f9bd","updated":"2019-04-08 16:32:24.000000000","message":"Done","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c1a87eb90440fae135f24093bcd6b853659aa9aa","unresolved":false,"context_lines":[{"line_number":170,"context_line":"Nova anyway and these get updated infrequently we could just have a mapping"},{"line_number":171,"context_line":"table in a prefilter that added additional traits to the request spec by"},{"line_number":172,"context_line":"looking up the appropriate image metadata key and append the traits"},{"line_number":173,"context_line":"request. This will not require changes to images to use the feature."},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"Alternatives"},{"line_number":176,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_3e13b1ba","line":173,"range":{"start_line":173,"start_character":0,"end_line":173,"end_character":7},"updated":"2019-04-04 11:53:58.000000000","message":"to the request","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"80316f3fa8098ecc6e29fdeb21072feb771b4ff2","unresolved":false,"context_lines":[{"line_number":170,"context_line":"Nova anyway and these get updated infrequently we could just have a mapping"},{"line_number":171,"context_line":"table in a prefilter that added additional traits to the request spec by"},{"line_number":172,"context_line":"looking up the appropriate image metadata key and append the traits"},{"line_number":173,"context_line":"request. This will not require changes to images to use the feature."},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"Alternatives"},{"line_number":176,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_6af3770a","line":173,"range":{"start_line":173,"start_character":0,"end_line":173,"end_character":7},"in_reply_to":"5fc1f717_3e13b1ba","updated":"2019-04-08 16:32:24.000000000","message":"Done","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c1a87eb90440fae135f24093bcd6b853659aa9aa","unresolved":false,"context_lines":[{"line_number":178,"context_line":"Operators can continue to use image property filters"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"If the virt drivers are modified to report traits but a prefilter"},{"line_number":181,"context_line":"is not added the existing ability to specify required traits in an image"},{"line_number":182,"context_line":"would be sufficient to consume the new traits, however, that would require"},{"line_number":183,"context_line":"the image created to first specify the device model request and then also"},{"line_number":184,"context_line":"the required traits."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_1e1035a8","line":181,"range":{"start_line":181,"start_character":7,"end_line":181,"end_character":17},"updated":"2019-04-04 11:53:58.000000000","message":"added, the","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"80316f3fa8098ecc6e29fdeb21072feb771b4ff2","unresolved":false,"context_lines":[{"line_number":178,"context_line":"Operators can continue to use image property filters"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"If the virt drivers are modified to report traits but a prefilter"},{"line_number":181,"context_line":"is not added the existing ability to specify required traits in an image"},{"line_number":182,"context_line":"would be sufficient to consume the new traits, however, that would require"},{"line_number":183,"context_line":"the image created to first specify the device model request and then also"},{"line_number":184,"context_line":"the required traits."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_eab76720","line":181,"range":{"start_line":181,"start_character":7,"end_line":181,"end_character":17},"in_reply_to":"5fc1f717_1e1035a8","updated":"2019-04-08 16:32:24.000000000","message":"Done","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c1a87eb90440fae135f24093bcd6b853659aa9aa","unresolved":false,"context_lines":[{"line_number":184,"context_line":"the required traits."},{"line_number":185,"context_line":"e.g."},{"line_number":186,"context_line":"hw_vif_model\u003de1000 traits:compute_net_model_e1000\u003drequired"},{"line_number":187,"context_line":"This will work but its verbose."},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"As with other recent features, we could use the traits request as a"},{"line_number":190,"context_line":"replacement for an image metadata property. If we chose this option we can"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_de214dfe","line":187,"range":{"start_line":187,"start_character":19,"end_line":187,"end_character":22},"updated":"2019-04-04 11:53:58.000000000","message":"it\u0027s","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"80316f3fa8098ecc6e29fdeb21072feb771b4ff2","unresolved":false,"context_lines":[{"line_number":184,"context_line":"the required traits."},{"line_number":185,"context_line":"e.g."},{"line_number":186,"context_line":"hw_vif_model\u003de1000 traits:compute_net_model_e1000\u003drequired"},{"line_number":187,"context_line":"This will work but its verbose."},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"As with other recent features, we could use the traits request as a"},{"line_number":190,"context_line":"replacement for an image metadata property. If we chose this option we can"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_8a36e3b3","line":187,"range":{"start_line":187,"start_character":19,"end_line":187,"end_character":22},"in_reply_to":"5fc1f717_de214dfe","updated":"2019-04-08 16:32:24.000000000","message":"Done","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c1a87eb90440fae135f24093bcd6b853659aa9aa","unresolved":false,"context_lines":[{"line_number":194,"context_line":"e.g. traits:compute_net_model_e1000\u003drequired."},{"line_number":195,"context_line":"While this may seem nicer in some respects its more typing then the selected"},{"line_number":196,"context_line":"option and has the disadvantage of requiring all image to be updated to include"},{"line_number":197,"context_line":"the traits request. As such this is discarded due to the upgrade impact."},{"line_number":198,"context_line":""},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_fe81a9c4","line":197,"updated":"2019-04-04 11:53:58.000000000","message":"You forgot to include in the alternatives that users can continue to use dedicated host aggregates for different types of images and use aggregate member_of placement request filters to do all of what is contained in this spec.","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"80316f3fa8098ecc6e29fdeb21072feb771b4ff2","unresolved":false,"context_lines":[{"line_number":194,"context_line":"e.g. traits:compute_net_model_e1000\u003drequired."},{"line_number":195,"context_line":"While this may seem nicer in some respects its more typing then the selected"},{"line_number":196,"context_line":"option and has the disadvantage of requiring all image to be updated to include"},{"line_number":197,"context_line":"the traits request. As such this is discarded due to the upgrade impact."},{"line_number":198,"context_line":""},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_ea6f675d","line":197,"in_reply_to":"5fc1f717_fe81a9c4","updated":"2019-04-08 16:32:24.000000000","message":"Done","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ffa96514ff4a69d19154a4135c0b7369fe3a52cd","unresolved":false,"context_lines":[{"line_number":194,"context_line":"e.g. traits:compute_net_model_e1000\u003drequired."},{"line_number":195,"context_line":"While this may seem nicer in some respects its more typing then the selected"},{"line_number":196,"context_line":"option and has the disadvantage of requiring all image to be updated to include"},{"line_number":197,"context_line":"the traits request. As such this is discarded due to the upgrade impact."},{"line_number":198,"context_line":""},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_c4a704a8","line":197,"in_reply_to":"5fc1f717_fe81a9c4","updated":"2019-04-08 14:06:44.000000000","message":"ah yes ill add that.","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c1a87eb90440fae135f24093bcd6b853659aa9aa","unresolved":false,"context_lines":[{"line_number":227,"context_line":"------------------"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"This is expected to improve boot performance in a heterogeneous cloud"},{"line_number":230,"context_line":"by reducing reschedules."},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"Other deployer impact"},{"line_number":233,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_1e8595cf","line":230,"updated":"2019-04-04 11:53:58.000000000","message":"✔","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"1a7d8b50485108905ad3b1179f36d1bd773827fd","unresolved":false,"context_lines":[{"line_number":227,"context_line":"------------------"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"This is expected to improve boot performance in a heterogeneous cloud"},{"line_number":230,"context_line":"by reducing reschedules."},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"Other deployer impact"},{"line_number":233,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_57069b22","line":230,"in_reply_to":"5fc1f717_1e8595cf","updated":"2019-04-04 17:46:52.000000000","message":"you could also mention lowering the number of initial allocation_candidates, but *shrug*","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ffa96514ff4a69d19154a4135c0b7369fe3a52cd","unresolved":false,"context_lines":[{"line_number":227,"context_line":"------------------"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"This is expected to improve boot performance in a heterogeneous cloud"},{"line_number":230,"context_line":"by reducing reschedules."},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"Other deployer impact"},{"line_number":233,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_c4c0642e","line":230,"in_reply_to":"5fc1f717_57069b22","updated":"2019-04-08 14:06:44.000000000","message":"sure i can add that. although any request that is more expclit/detailed will allways lower the allocation_candidates\nbut it does not hurt to mention it.","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"1a7d8b50485108905ad3b1179f36d1bd773827fd","unresolved":false,"context_lines":[{"line_number":234,"context_line":""},{"line_number":235,"context_line":"A new config option will be added to enable the image metadata prefilter."},{"line_number":236,"context_line":"Initally this will default to disabled but that can be change in future"},{"line_number":237,"context_line":"release after feedback on the performance impact."},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"Developer impact"},{"line_number":240,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_77015706","line":237,"updated":"2019-04-04 17:46:52.000000000","message":"What\u0027s the win in having the config option? Why not turn it on, no config?","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a3774cbd30ef74ceea0eeae4b563c294434363d8","unresolved":false,"context_lines":[{"line_number":234,"context_line":""},{"line_number":235,"context_line":"A new config option will be added to enable the image metadata prefilter."},{"line_number":236,"context_line":"Initally this will default to disabled but that can be change in future"},{"line_number":237,"context_line":"release after feedback on the performance impact."},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"Developer impact"},{"line_number":240,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_6746527e","line":237,"in_reply_to":"5fc1f717_04274c14","updated":"2019-04-08 15:05:33.000000000","message":"I tend to not like the list as much because I think it\u0027s nicer to have independent routines in puppet/ansible to enable a feature. If it\u0027s a list, you have to make all of your scheduler behavior decisions in one place that writes the list, or write the list in multiple places but digest and adjust the list each time. For toggles that are just \"enable this behavior\" or \"use X acceleration\" I think booleans are fine. It also makes it easier to deprecate one of those later and/or warn/detect when people haven\u0027t migrated.","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"a91f9bc0cb620b370736a0b8f571b537c97aafdf","unresolved":false,"context_lines":[{"line_number":234,"context_line":""},{"line_number":235,"context_line":"A new config option will be added to enable the image metadata prefilter."},{"line_number":236,"context_line":"Initally this will default to disabled but that can be change in future"},{"line_number":237,"context_line":"release after feedback on the performance impact."},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"Developer impact"},{"line_number":240,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_d7b7eaf4","line":237,"in_reply_to":"5fc1f717_376c2e9b","updated":"2019-04-04 18:05:41.000000000","message":"Okay, I can buy that.\n\nStill makes me a bit sad though: with one hand we are taking away busy work, with another we are giving it back.","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"655079c11c5c012c4d09c546152bf2785d6d121d","unresolved":false,"context_lines":[{"line_number":234,"context_line":""},{"line_number":235,"context_line":"A new config option will be added to enable the image metadata prefilter."},{"line_number":236,"context_line":"Initally this will default to disabled but that can be change in future"},{"line_number":237,"context_line":"release after feedback on the performance impact."},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"Developer impact"},{"line_number":240,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_eab0c742","line":237,"in_reply_to":"5fc1f717_6746527e","updated":"2019-04-08 15:16:08.000000000","message":"Yeah, from a deployment standpoint, separating config things into booleans is a big win (to me).","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"3294db4974a87045c7f16661c678d174c371a650","unresolved":false,"context_lines":[{"line_number":234,"context_line":""},{"line_number":235,"context_line":"A new config option will be added to enable the image metadata prefilter."},{"line_number":236,"context_line":"Initally this will default to disabled but that can be change in future"},{"line_number":237,"context_line":"release after feedback on the performance impact."},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"Developer impact"},{"line_number":240,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_376c2e9b","line":237,"in_reply_to":"5fc1f717_77015706","updated":"2019-04-04 17:59:53.000000000","message":"Well, (a) all the other prefilters have a config knob, which I know is your favorite justification, but (b) we can\u0027t enable it until computes are upgraded and start exposing the new details and (c) I think it\u0027s reasonable to make these opt-in in case they have unintended scheduling (performance or correctness) impacts.\n\nWe could avoid (b) by doing a survey of computes at schedule time to decide if they\u0027re new enough.\n\nI think (c) is a real potential concern given that scheduler filters and weighers are pretty much the only place we expect people to write some of their own stuff. I think I said this somewhere in discussion of my spec, but I think a reasonable onramp would be:\n\n1. Config, disabled by default, for upgrade reasons\n2. Turn it on by default for performance reasons\n3. Deprecate/Remove the config once we\u0027re sure it\u0027s correct and always beneficial","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"c16f81743f750cbc923da179fe3c05e115b68252","unresolved":false,"context_lines":[{"line_number":234,"context_line":""},{"line_number":235,"context_line":"A new config option will be added to enable the image metadata prefilter."},{"line_number":236,"context_line":"Initally this will default to disabled but that can be change in future"},{"line_number":237,"context_line":"release after feedback on the performance impact."},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"Developer impact"},{"line_number":240,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_daacefa0","line":237,"in_reply_to":"5fc1f717_d7b7eaf4","updated":"2019-04-04 18:44:58.000000000","message":"It\u0027s very much tilted in the right direction though. The busy work required to make this work with the tools they have today is pretty onerous. Replacing that with a boolean config flag is a major win by itself. But yeah, don\u0027t disagree that we should iterate towards any/all of these being enabled when we can depend on them (and know they\u0027re right for everyone).","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ffa96514ff4a69d19154a4135c0b7369fe3a52cd","unresolved":false,"context_lines":[{"line_number":234,"context_line":""},{"line_number":235,"context_line":"A new config option will be added to enable the image metadata prefilter."},{"line_number":236,"context_line":"Initally this will default to disabled but that can be change in future"},{"line_number":237,"context_line":"release after feedback on the performance impact."},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"Developer impact"},{"line_number":240,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_04274c14","line":237,"in_reply_to":"5fc1f717_daacefa0","updated":"2019-04-08 14:06:44.000000000","message":"for what its worth i think one thing we could do maybe after train when we have a few prefilters is replace the booleans flags with a single config option that is comma seperate list\nof enabled prefilters.\n\nbut yes the graduation/evolution of the default value of the config options that dan proposed in (c) is basically why i stated we would add a new config option but also follow the precedent set in (a)","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"80316f3fa8098ecc6e29fdeb21072feb771b4ff2","unresolved":false,"context_lines":[{"line_number":234,"context_line":""},{"line_number":235,"context_line":"A new config option will be added to enable the image metadata prefilter."},{"line_number":236,"context_line":"Initally this will default to disabled but that can be change in future"},{"line_number":237,"context_line":"release after feedback on the performance impact."},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"Developer impact"},{"line_number":240,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5fc1f717_f0b75a20","line":237,"in_reply_to":"5fc1f717_eab0c742","updated":"2019-04-08 16:32:24.000000000","message":"oh ok i has always view it as a negitive for deployment tools but honestly it no a big deal.\ni was not planning on chaning this to a list this cycle anyway so i just wont mention it in the spec.","commit_id":"0b180237570d008875ed95465ec64d0aea7604ae"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3d83d30d4fce9ca406a60841cde4b5697fefa941","unresolved":false,"context_lines":[{"line_number":52,"context_line":"which represent virtualisation capabilities will be converted to standard"},{"line_number":53,"context_line":"traits."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"The current proposed set is"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":".. code-block:: json"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"5fc1f717_7526e0cd","line":55,"range":{"start_line":55,"start_character":0,"end_line":55,"end_character":27},"updated":"2019-04-09 16:10:36.000000000","message":"Cough https://review.openstack.org/#/c/638734/ cough","commit_id":"cb1607f41cf0d717d93b7b8003e97c4a3ba2d371"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8715c2a1c90c1bb798c10496d2d7808f8da28e97","unresolved":false,"context_lines":[{"line_number":52,"context_line":"which represent virtualisation capabilities will be converted to standard"},{"line_number":53,"context_line":"traits."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"The current proposed set is"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":".. code-block:: json"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"5fc1f717_1d8f6dcd","line":55,"range":{"start_line":55,"start_character":0,"end_line":55,"end_character":27},"in_reply_to":"5fc1f717_7526e0cd","updated":"2019-04-10 11:22:41.000000000","message":"the set will not be the same as what you plan to validate.\n\nnot all flavor/image properties will map to traits\n\nsome are vm config info orhter like thread policies.\n\nalso im still not convices we shoudl not be using glance metadefs for that but i also have to still read your review.\n\ni can certenly add that spec as a reference however but its not a dependcy.","commit_id":"cb1607f41cf0d717d93b7b8003e97c4a3ba2d371"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"a0281f94cd76e7c20908d815858e102f0fe4d5b7","unresolved":false,"context_lines":[{"line_number":144,"context_line":"                \"exe\""},{"line_number":145,"context_line":"            ]"},{"line_number":146,"context_line":"        }"},{"line_number":147,"context_line":"   }"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"While this spec primarily targets the device model specific image metadata"},{"line_number":150,"context_line":"properties the same pattern could be applied to hypervisor_type and vm_mode."}],"source_content_type":"text/x-rst","patch_set":4,"id":"5fc1f717_1773ce17","line":147,"updated":"2019-04-10 09:06:53.000000000","message":"As noted on a previous revision, I\u0027d actually support the hypervisor_type (and potentially vm_mode) traits over the disk_bus (and cdrom_bus) traits.\n\nThe real use cases being solved here are the direction of hypervisor-specific workloads to host hardware that has that hypervisor on it. Getting down to differentiating hardware between what disk \"bus\" (not really a bus but called a bus) or graphics models are supported on a piece of hardware is just not as useful or realistic, IMHO.\n\nIn short, I\u0027d say just go ahead and include hypervisor_type and vm_mode now. I imagine those traits will be much more utilized than the other ones.","commit_id":"cb1607f41cf0d717d93b7b8003e97c4a3ba2d371"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"403a45bedd87a4953731101eacd10878bde740fb","unresolved":false,"context_lines":[{"line_number":144,"context_line":"                \"exe\""},{"line_number":145,"context_line":"            ]"},{"line_number":146,"context_line":"        }"},{"line_number":147,"context_line":"   }"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"While this spec primarily targets the device model specific image metadata"},{"line_number":150,"context_line":"properties the same pattern could be applied to hypervisor_type and vm_mode."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fce034c_72269eba","line":147,"in_reply_to":"3fce034c_04a83c1d","updated":"2019-04-11 17:22:03.000000000","message":"Yes, I agree that is a valid use case for traits.\n\nThe whole \"VNF othen have issues with virtio as does windows unless you add vitio drivers to your image.\" is what I was saying is not a valid use case (it\u0027s merely a guest configuration issue).","commit_id":"cb1607f41cf0d717d93b7b8003e97c4a3ba2d371"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"0ee0604065795c6cad8e464a1976ad35f10b532d","unresolved":false,"context_lines":[{"line_number":144,"context_line":"                \"exe\""},{"line_number":145,"context_line":"            ]"},{"line_number":146,"context_line":"        }"},{"line_number":147,"context_line":"   }"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"While this spec primarily targets the device model specific image metadata"},{"line_number":150,"context_line":"properties the same pattern could be applied to hypervisor_type and vm_mode."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fce034c_04a83c1d","line":147,"in_reply_to":"3fce034c_243e9829","updated":"2019-04-11 16:34:17.000000000","message":"* i should have said \n\"if a libvirt host is configured to use machive type Q35 it _cannot_ emulate pci devices...\"","commit_id":"cb1607f41cf0d717d93b7b8003e97c4a3ba2d371"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8715c2a1c90c1bb798c10496d2d7808f8da28e97","unresolved":false,"context_lines":[{"line_number":144,"context_line":"                \"exe\""},{"line_number":145,"context_line":"            ]"},{"line_number":146,"context_line":"        }"},{"line_number":147,"context_line":"   }"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"While this spec primarily targets the device model specific image metadata"},{"line_number":150,"context_line":"properties the same pattern could be applied to hypervisor_type and vm_mode."}],"source_content_type":"text/x-rst","patch_set":4,"id":"5fc1f717_1d568d2b","line":147,"in_reply_to":"5fc1f717_1773ce17","updated":"2019-04-10 11:22:41.000000000","message":"actully this is the oppisite of my view point\n\ni left these as \"we might also want to condier\" as it in my view is much less useful.\n\ni have never needed to set hypervior_type or vm_mode\n\nbut i have needed to set hw_disk_bus and hw_vif_type many time in the past.\n\nVNF othen have issues with virtio as does windows unless you add vitio drivers to your image.\n\nthe hyperivor_types may get significant use but on its own i dont think it is enough to jsutify this feature.","commit_id":"cb1607f41cf0d717d93b7b8003e97c4a3ba2d371"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"d13bf9bc95fc974c494bcf217951459bb34c90f7","unresolved":false,"context_lines":[{"line_number":144,"context_line":"                \"exe\""},{"line_number":145,"context_line":"            ]"},{"line_number":146,"context_line":"        }"},{"line_number":147,"context_line":"   }"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"While this spec primarily targets the device model specific image metadata"},{"line_number":150,"context_line":"properties the same pattern could be applied to hypervisor_type and vm_mode."}],"source_content_type":"text/x-rst","patch_set":4,"id":"5fc1f717_b8f2e703","line":147,"in_reply_to":"5fc1f717_1d568d2b","updated":"2019-04-10 11:31:01.000000000","message":"\u003e actully this is the oppisite of my view point\n \u003e \n \u003e i left these as \"we might also want to condier\" as it in my view is\n \u003e much less useful.\n \u003e \n \u003e i have never needed to set hypervior_type or vm_mode\n \u003e \n \u003e but i have needed to set hw_disk_bus and hw_vif_type many time in\n \u003e the past.\n\nI\u0027m referring to the things that are used in placement/scheduling.\n\nWe generally have \"Windows host aggregates\" and/or \"Xen host aggregates\". We don\u0027t have \"Windows machines that have fibre-channel drivers on the host and SCSI host drivers\". We don\u0027t have \"Xen machines that support qxl video models\".\n\n \u003e VNF othen have issues with virtio as does windows unless you add\n \u003e vitio drivers to your image.\n\nThat\u0027s a *guest configuration* issue, though. Which is not what traits are :)","commit_id":"cb1607f41cf0d717d93b7b8003e97c4a3ba2d371"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"32b991108e8a14a7b6fe6a58ada6a788af9675db","unresolved":false,"context_lines":[{"line_number":144,"context_line":"                \"exe\""},{"line_number":145,"context_line":"            ]"},{"line_number":146,"context_line":"        }"},{"line_number":147,"context_line":"   }"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"While this spec primarily targets the device model specific image metadata"},{"line_number":150,"context_line":"properties the same pattern could be applied to hypervisor_type and vm_mode."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fce034c_243e9829","line":147,"in_reply_to":"5fc1f717_b8f2e703","updated":"2019-04-11 16:32:20.000000000","message":"yes but to you not agree that if i guest say i need an e1000 nic in the image we should not schdulie it to a host that cannot provide one.\n\ne1000 is  a virtual pci nic\n\nif a libvirt host is configured to use machive type Q35 it can emulate pci and therefor its not a valid host to schdule the vm too.\n\n\ni think that is exactuly what traits are intended to model.\n\nthe guest  allocation_candiate request will have trait:COMPUTE_NET_VIF_E1000\u003drequire\n\na libvirt host with machine type \"pc\" will add\nCOMPUTE_NET_VIF_E1000 to the compute node RP\na libvirt host with machine type \"q35\" will not\n\nthe compute node is expressing its capablity to virtualise\nan e1000 nic and the guest is requesting to be placed on \nhost that support that capablity.\n\ni actully find it hard to think of a better example of a compute capablity then \"can virtulise X\" which this is an example of.\n\nanyway if you are still ok with this ill updated the spec with the typos fixed and resubmit.\n\nby the way i know there is an element of guest configuration here also but im tryign to be clear that the trait models the capablity to virtualist X, the flavor extra spec modes teh configuration request an the image metadata prefilter looks at teh configuration request and determins what capablities will be required to support the requested configuration.","commit_id":"cb1607f41cf0d717d93b7b8003e97c4a3ba2d371"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"a0281f94cd76e7c20908d815858e102f0fe4d5b7","unresolved":false,"context_lines":[{"line_number":202,"context_line":"option and has the disadvantage of requiring all image to be updated to include"},{"line_number":203,"context_line":"the traits request. As such this is discarded due to the upgrade impact."},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"Operators can also achive the goals of this spec by manually creating nova host"},{"line_number":206,"context_line":"aggregates or placement aggregates, then mapping the images to aggregates using"},{"line_number":207,"context_line":"IsolatedHostsFilter or a aggregate member_of placement request."},{"line_number":208,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"5fc1f717_b75bda83","line":205,"range":{"start_line":205,"start_character":19,"end_line":205,"end_character":25},"updated":"2019-04-10 09:06:53.000000000","message":"achieve","commit_id":"cb1607f41cf0d717d93b7b8003e97c4a3ba2d371"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"a0281f94cd76e7c20908d815858e102f0fe4d5b7","unresolved":false,"context_lines":[{"line_number":235,"context_line":"Performance Impact"},{"line_number":236,"context_line":"------------------"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"This is expected to improve boot performance in a heterogeneous cloud"},{"line_number":239,"context_line":"by reducing reschedules. By passing a more constrained request to"},{"line_number":240,"context_line":"placement this feautre should also reduce the resulting set of"},{"line_number":241,"context_line":"allocation_candidates that are returned."}],"source_content_type":"text/x-rst","patch_set":4,"id":"5fc1f717_7751f261","line":238,"range":{"start_line":238,"start_character":28,"end_line":238,"end_character":32},"updated":"2019-04-10 09:06:53.000000000","message":"boost","commit_id":"cb1607f41cf0d717d93b7b8003e97c4a3ba2d371"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8715c2a1c90c1bb798c10496d2d7808f8da28e97","unresolved":false,"context_lines":[{"line_number":235,"context_line":"Performance Impact"},{"line_number":236,"context_line":"------------------"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"This is expected to improve boot performance in a heterogeneous cloud"},{"line_number":239,"context_line":"by reducing reschedules. By passing a more constrained request to"},{"line_number":240,"context_line":"placement this feautre should also reduce the resulting set of"},{"line_number":241,"context_line":"allocation_candidates that are returned."}],"source_content_type":"text/x-rst","patch_set":4,"id":"5fc1f717_9d691df9","line":238,"range":{"start_line":238,"start_character":28,"end_line":238,"end_character":32},"in_reply_to":"5fc1f717_7751f261","updated":"2019-04-10 11:22:41.000000000","message":"actully in this case it is boot\ni.e vm spawn.time","commit_id":"cb1607f41cf0d717d93b7b8003e97c4a3ba2d371"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"a0281f94cd76e7c20908d815858e102f0fe4d5b7","unresolved":false,"context_lines":[{"line_number":237,"context_line":""},{"line_number":238,"context_line":"This is expected to improve boot performance in a heterogeneous cloud"},{"line_number":239,"context_line":"by reducing reschedules. By passing a more constrained request to"},{"line_number":240,"context_line":"placement this feautre should also reduce the resulting set of"},{"line_number":241,"context_line":"allocation_candidates that are returned."},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"Other deployer impact"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5fc1f717_3747eaa5","line":240,"range":{"start_line":240,"start_character":15,"end_line":240,"end_character":22},"updated":"2019-04-10 09:06:53.000000000","message":"feature","commit_id":"cb1607f41cf0d717d93b7b8003e97c4a3ba2d371"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"a0281f94cd76e7c20908d815858e102f0fe4d5b7","unresolved":false,"context_lines":[{"line_number":237,"context_line":""},{"line_number":238,"context_line":"This is expected to improve boot performance in a heterogeneous cloud"},{"line_number":239,"context_line":"by reducing reschedules. By passing a more constrained request to"},{"line_number":240,"context_line":"placement this feautre should also reduce the resulting set of"},{"line_number":241,"context_line":"allocation_candidates that are returned."},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"Other deployer impact"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5fc1f717_174c2ec6","line":240,"range":{"start_line":240,"start_character":0,"end_line":240,"end_character":14},"updated":"2019-04-10 09:06:53.000000000","message":"placement, this","commit_id":"cb1607f41cf0d717d93b7b8003e97c4a3ba2d371"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3d83d30d4fce9ca406a60841cde4b5697fefa941","unresolved":false,"context_lines":[{"line_number":295,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"A release note will be added and documentation of the new config option"},{"line_number":298,"context_line":"for the prefilter will be provided. As there is no enduser impact"},{"line_number":299,"context_line":"no user facing documentation will be required."},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5fc1f717_d81ee95d","line":298,"range":{"start_line":298,"start_character":51,"end_line":298,"end_character":58},"updated":"2019-04-09 16:10:36.000000000","message":"end user","commit_id":"cb1607f41cf0d717d93b7b8003e97c4a3ba2d371"}]}
