)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"3bb8c4e85a705d63d57612d6420a9e352ec3429b","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This proposes a new subresource on server so that we can stop"},{"line_number":10,"context_line":"providing flavor links which we know may get deleted in server"},{"line_number":11,"context_line":"respresentations."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I8e3af79efff0b52a523e5f7ec67812c29e0281ee"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"7af24918_22d4bf45","line":11,"updated":"2016-03-06 19:09:23.000000000","message":"s/respresentations/representations/","commit_id":"f08ee9e76b3f999d749cd91f6d47240cdd4c11a7"}],"specs/mitaka/approved/instance-flavor-api.rst":[{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"0e578adc13bb31a4809c5feed30b5eda91750b94","unresolved":false,"context_lines":[{"line_number":52,"context_line":"* id - there is no id associated with this, it is accessed by"},{"line_number":53,"context_line":"  subresource"},{"line_number":54,"context_line":"* links - as a sub resource persistent links seem less important"},{"line_number":55,"context_line":"* name - there is no reason to expose the name for the flavor"},{"line_number":56,"context_line":"* os-flavor-access:is_public - irrelevant, this is scope local to the"},{"line_number":57,"context_line":"  instance"},{"line_number":58,"context_line":"* OS-FLV-DISABLED:disabled - irrelevant, this is scope local to the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa69d971_480d173d","line":55,"updated":"2016-01-08 15:00:35.000000000","message":"Technically I agree, however I think users like to know which flavor was used.  I think the use case to be addressed is \"how do I create an instance similar to this one.\"  It may be enough to just return the flavor id on the instance though.","commit_id":"991b7eb392a1863a96ab384d4b37fe90015608f8"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"55161e1a14ec29d6a9001a1c29631acc8e6fdad3","unresolved":false,"context_lines":[{"line_number":52,"context_line":"* id - there is no id associated with this, it is accessed by"},{"line_number":53,"context_line":"  subresource"},{"line_number":54,"context_line":"* links - as a sub resource persistent links seem less important"},{"line_number":55,"context_line":"* name - there is no reason to expose the name for the flavor"},{"line_number":56,"context_line":"* os-flavor-access:is_public - irrelevant, this is scope local to the"},{"line_number":57,"context_line":"  instance"},{"line_number":58,"context_line":"* OS-FLV-DISABLED:disabled - irrelevant, this is scope local to the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa69d971_4eb67c8b","line":55,"in_reply_to":"fa69d971_2302440c","updated":"2016-01-08 16:08:16.000000000","message":"The flavor potentially being deleted does add a twist.  If enough flavor info is provided so that a user can determine which flavor was used, provided it\u0027s not deleted, then leaving name out seems acceptable.","commit_id":"991b7eb392a1863a96ab384d4b37fe90015608f8"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"e5fa651d5f1e604dab6d5145993449d81edd9644","unresolved":false,"context_lines":[{"line_number":52,"context_line":"* id - there is no id associated with this, it is accessed by"},{"line_number":53,"context_line":"  subresource"},{"line_number":54,"context_line":"* links - as a sub resource persistent links seem less important"},{"line_number":55,"context_line":"* name - there is no reason to expose the name for the flavor"},{"line_number":56,"context_line":"* os-flavor-access:is_public - irrelevant, this is scope local to the"},{"line_number":57,"context_line":"  instance"},{"line_number":58,"context_line":"* OS-FLV-DISABLED:disabled - irrelevant, this is scope local to the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa69d971_c39b28c8","line":55,"in_reply_to":"fa69d971_480d173d","updated":"2016-01-08 15:03:09.000000000","message":"What if that flavor is deleted?","commit_id":"991b7eb392a1863a96ab384d4b37fe90015608f8"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3914d8351e7f6eacee568b09c3288044fb622a01","unresolved":false,"context_lines":[{"line_number":52,"context_line":"* id - there is no id associated with this, it is accessed by"},{"line_number":53,"context_line":"  subresource"},{"line_number":54,"context_line":"* links - as a sub resource persistent links seem less important"},{"line_number":55,"context_line":"* name - there is no reason to expose the name for the flavor"},{"line_number":56,"context_line":"* os-flavor-access:is_public - irrelevant, this is scope local to the"},{"line_number":57,"context_line":"  instance"},{"line_number":58,"context_line":"* OS-FLV-DISABLED:disabled - irrelevant, this is scope local to the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa69d971_2241b0a9","line":55,"in_reply_to":"fa69d971_4eb67c8b","updated":"2016-01-11 06:06:54.000000000","message":"I agree to remove name, I think without name works for user. I guess the process should be: the instance info show the \"cpu\", \"memory\", \"disk\", ..etc. If user want to create new instance with the same flavor, there is flavor id in server\u0027s response. \"https://github.com/openstack/nova/blob/master/doc/api_samples/all_extensions/server-get-resp.json#L15\" (or I think we should keep the links to the \"/flavor\" in server\u0027s response)\n\nIf the flavor was deleted, user access the \"/flavor\" by id with 404 return.\n\nThose sounds works for me","commit_id":"991b7eb392a1863a96ab384d4b37fe90015608f8"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"cbe0a1f79c2223727b4d8a2c2fa7b1998fe051a9","unresolved":false,"context_lines":[{"line_number":52,"context_line":"* id - there is no id associated with this, it is accessed by"},{"line_number":53,"context_line":"  subresource"},{"line_number":54,"context_line":"* links - as a sub resource persistent links seem less important"},{"line_number":55,"context_line":"* name - there is no reason to expose the name for the flavor"},{"line_number":56,"context_line":"* os-flavor-access:is_public - irrelevant, this is scope local to the"},{"line_number":57,"context_line":"  instance"},{"line_number":58,"context_line":"* OS-FLV-DISABLED:disabled - irrelevant, this is scope local to the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa69d971_2302440c","line":55,"in_reply_to":"fa69d971_c39b28c8","updated":"2016-01-08 15:14:24.000000000","message":"I tend to agree with Sean, I\u0027d prefre to only give the ingredients of the recipe called a flavor, so in case people would like to bake again, they would just use the ingredients without really need to get the flavor itself.","commit_id":"991b7eb392a1863a96ab384d4b37fe90015608f8"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"cbe0a1f79c2223727b4d8a2c2fa7b1998fe051a9","unresolved":false,"context_lines":[{"line_number":99,"context_line":"            \"ram\": 512,"},{"line_number":100,"context_line":"            \"swap\": \"\","},{"line_number":101,"context_line":"            \"vcpus\": 1"},{"line_number":102,"context_line":"        }"},{"line_number":103,"context_line":"    }"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"* Normal response code:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa69d971_5557ef01","line":102,"updated":"2016-01-08 15:14:24.000000000","message":"with respect to my former comment, I wonder if we should provide the extra specs if the user is admin so all the ingredients would be known. Opinions ?","commit_id":"991b7eb392a1863a96ab384d4b37fe90015608f8"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"55161e1a14ec29d6a9001a1c29631acc8e6fdad3","unresolved":false,"context_lines":[{"line_number":99,"context_line":"            \"ram\": 512,"},{"line_number":100,"context_line":"            \"swap\": \"\","},{"line_number":101,"context_line":"            \"vcpus\": 1"},{"line_number":102,"context_line":"        }"},{"line_number":103,"context_line":"    }"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"* Normal response code:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa69d971_8e60f436","line":102,"in_reply_to":"fa69d971_5557ef01","updated":"2016-01-08 16:08:16.000000000","message":"I think the extra specs should be provided at this time because they could embed information that is the only distinguishing factor between two otherwise identical flavors.","commit_id":"991b7eb392a1863a96ab384d4b37fe90015608f8"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3914d8351e7f6eacee568b09c3288044fb622a01","unresolved":false,"context_lines":[{"line_number":99,"context_line":"            \"ram\": 512,"},{"line_number":100,"context_line":"            \"swap\": \"\","},{"line_number":101,"context_line":"            \"vcpus\": 1"},{"line_number":102,"context_line":"        }"},{"line_number":103,"context_line":"    }"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"* Normal response code:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa69d971_427b8428","line":102,"in_reply_to":"fa69d971_8e60f436","updated":"2016-01-11 06:06:54.000000000","message":"+1","commit_id":"991b7eb392a1863a96ab384d4b37fe90015608f8"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"0e578adc13bb31a4809c5feed30b5eda91750b94","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"After this microversion is out there, server representations \u003e\u003d that"},{"line_number":137,"context_line":"microversion will have these new links. Those links will only exist if"},{"line_number":138,"context_line":"the same or great microverion."},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"Developer impact"},{"line_number":141,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa69d971_c8602738","line":138,"updated":"2016-01-08 15:00:35.000000000","message":"Needing to put this behind a microversion bugs me a little.  We\u0027re not changing the format of the response, simply the link provided, and a good client should be following that link rather than blindly requesting the flavor where it thinks it should find it.  However in practice clients are probably not doing that so we probably do need to do this.","commit_id":"991b7eb392a1863a96ab384d4b37fe90015608f8"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"dcc9116332ba1ff1c7195d9aea1c294ea16d48a7","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"After this microversion is out there, server representations \u003e\u003d that"},{"line_number":137,"context_line":"microversion will have these new links. Those links will only exist if"},{"line_number":138,"context_line":"the same or great microverion."},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"Developer impact"},{"line_number":141,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa69d971_36827601","line":138,"in_reply_to":"fa69d971_1aa43ea4","updated":"2016-01-08 19:44:14.000000000","message":"If the flavor link is to /v2.1/server/{id}/flavor then the API is of a version that has /flavor.  I\u0027m arguing something that\u0027s moot since we need to bump the microversion for the introduction of /flavor, I\u0027m just thinking aloud about versions when autodiscovery shields the client from needing to know about the version.  A well formed rest client would follow the link to /flavor, which would only exist if the API were of a new enough version, so the version doesn\u0027t matter.  I\u0027m just realizing that there\u0027s a lot of nuance to API versioning that we\u0027re not capturing with how we\u0027re doing microversions.  But as I said it\u0027s moot since we need to bump the version here.","commit_id":"991b7eb392a1863a96ab384d4b37fe90015608f8"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"cbe0a1f79c2223727b4d8a2c2fa7b1998fe051a9","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"After this microversion is out there, server representations \u003e\u003d that"},{"line_number":137,"context_line":"microversion will have these new links. Those links will only exist if"},{"line_number":138,"context_line":"the same or great microverion."},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"Developer impact"},{"line_number":141,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa69d971_d54bdf57","line":138,"in_reply_to":"fa69d971_83f3f009","updated":"2016-01-08 15:14:24.000000000","message":"+1 to Sean","commit_id":"991b7eb392a1863a96ab384d4b37fe90015608f8"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"55161e1a14ec29d6a9001a1c29631acc8e6fdad3","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"After this microversion is out there, server representations \u003e\u003d that"},{"line_number":137,"context_line":"microversion will have these new links. Those links will only exist if"},{"line_number":138,"context_line":"the same or great microverion."},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"Developer impact"},{"line_number":141,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa69d971_aef1386c","line":138,"in_reply_to":"fa69d971_83f3f009","updated":"2016-01-08 16:08:16.000000000","message":"Right, the new resource certainly needs a new microversion.  Using the microversion to gate which link is provided is what I meant.","commit_id":"991b7eb392a1863a96ab384d4b37fe90015608f8"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"67f6211e03a6edbb84556d3877548ed4ea617759","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"After this microversion is out there, server representations \u003e\u003d that"},{"line_number":137,"context_line":"microversion will have these new links. Those links will only exist if"},{"line_number":138,"context_line":"the same or great microverion."},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"Developer impact"},{"line_number":141,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa69d971_1aa43ea4","line":138,"in_reply_to":"fa69d971_aef1386c","updated":"2016-01-08 17:04:27.000000000","message":"But so you GET /v2.1/server/{id} and get a flavor link to /v2.1/server/{id}/flavor, then GET that and you get a 404. \n\nIt\u0027s assumed that the common case is microversion is a CONST value in a client script. So I can\u0027t imagine how we provide links that aren\u0027t valid at the same microversion.","commit_id":"991b7eb392a1863a96ab384d4b37fe90015608f8"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"e5fa651d5f1e604dab6d5145993449d81edd9644","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"After this microversion is out there, server representations \u003e\u003d that"},{"line_number":137,"context_line":"microversion will have these new links. Those links will only exist if"},{"line_number":138,"context_line":"the same or great microverion."},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"Developer impact"},{"line_number":141,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"fa69d971_83f3f009","line":138,"in_reply_to":"fa69d971_c8602738","updated":"2016-01-08 15:03:09.000000000","message":"It\u0027s a new resource, which is why it has to be behind a microversion. The client can ask for it directly, and doesn\u0027t only have to follow links.","commit_id":"991b7eb392a1863a96ab384d4b37fe90015608f8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ed011017c63f53c394ce73e328e8f36fa433673e","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Include the URL of your launchpad blueprint:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"https://blueprints.launchpad.net/nova/+spec/instance-flavor-api"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Create a new ``flavor`` sub resource of ``server`` to access the"},{"line_number":16,"context_line":"flavor information stored with the instance, instead of the global"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da6ed579_29004daa","line":13,"updated":"2016-01-11 22:35:17.000000000","message":"This doesn\u0027t exist.","commit_id":"f3e42d0014a99983ca47d0df4c08d1cbaef363e2"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1b6dbf9e6f533145b1ef5e0b70ac15d8e7070b7d","unresolved":false,"context_lines":[{"line_number":24,"context_line":"link to global REST representations ``/v2.1/flavor/{id}``."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"However, flavors can be deleted, so this resource may no longer be"},{"line_number":27,"context_line":"available. Internal to Nova we now story the flavor information with"},{"line_number":28,"context_line":"an instance when we first create it, to protect ourselves from just"},{"line_number":29,"context_line":"such deletes."},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa69d971_2af41b59","line":27,"updated":"2016-01-11 12:11:40.000000000","message":"Nit: s/story/store/","commit_id":"f3e42d0014a99983ca47d0df4c08d1cbaef363e2"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ed011017c63f53c394ce73e328e8f36fa433673e","unresolved":false,"context_lines":[{"line_number":28,"context_line":"an instance when we first create it, to protect ourselves from just"},{"line_number":29,"context_line":"such deletes."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"In order to provide these same guaruntees to the users, we should"},{"line_number":32,"context_line":"expose a flavor sub resource on ``server``, and use this in all our"},{"line_number":33,"context_line":"server representations."},{"line_number":34,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"da6ed579_691de50e","line":31,"range":{"start_line":31,"start_character":31,"end_line":31,"end_character":41},"updated":"2016-01-11 22:35:17.000000000","message":"guarantees","commit_id":"f3e42d0014a99983ca47d0df4c08d1cbaef363e2"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ed011017c63f53c394ce73e328e8f36fa433673e","unresolved":false,"context_lines":[{"line_number":35,"context_line":"Use Cases"},{"line_number":36,"context_line":"---------"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"What use cases does this address? What impact on actors does this change have?"},{"line_number":39,"context_line":"Ensure you are clear about the actors in each use case: Developer, End User,"},{"line_number":40,"context_line":"Deployer etc."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Proposed change"},{"line_number":43,"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":"da6ed579_a9b8bde6","line":40,"range":{"start_line":38,"start_character":0,"end_line":40,"end_character":13},"updated":"2016-01-11 22:35:17.000000000","message":"This should be fleshed out, you could probably draw from or link to the ML thread on this:\n\nhttp://lists.openstack.org/pipermail/openstack-dev/2016-January/083518.html\n\nBasically, \"As a user I want to know the flavor information that was used to boot an instance even if that flavor has since been deleted.\"","commit_id":"f3e42d0014a99983ca47d0df4c08d1cbaef363e2"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1b6dbf9e6f533145b1ef5e0b70ac15d8e7070b7d","unresolved":false,"context_lines":[{"line_number":42,"context_line":"Proposed change"},{"line_number":43,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Propose a new microversion which adds the following sub resource and route::"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"  GET /v2.1/servers/{id}/flavor"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa69d971_25644cb7","line":45,"updated":"2016-01-11 12:11:40.000000000","message":"There is an argument that says we have links to this resource already, so maybe its a bug that its missing, and we advertise its presence via a new microversion, but also make it available to all versions.\n\nHonestly, I am still thinking through that. I worry about the prescient it sets. While it does help the case for removing flavor soft delete, this spec seems sufficient.","commit_id":"f3e42d0014a99983ca47d0df4c08d1cbaef363e2"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1b6dbf9e6f533145b1ef5e0b70ac15d8e7070b7d","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"* id - there is no id associated with this, it is accessed by"},{"line_number":53,"context_line":"  subresource"},{"line_number":54,"context_line":"* links - as a sub resource persistent links seem less important"},{"line_number":55,"context_line":"* name - there is no reason to expose the name for the flavor"},{"line_number":56,"context_line":"* os-flavor-access:is_public - irrelevant, this is scope local to the"},{"line_number":57,"context_line":"  instance"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa69d971_458dc07a","line":54,"updated":"2016-01-11 12:11:40.000000000","message":"What about a \"based_on\" link that gives you a link back to the original flavor?\n\nAlthough I guess thats loops back to the \"it might be deleted\" problem. but I am less worried about that some how, thats useful information, you no longer has \"access\" to the flavor you used to create the instance.\n\nWe really need to make that an expected case for the end user and signal that somehow (a 404 error seems correct, if its deleted). Need to include a docs description about flavor lifecycle.","commit_id":"f3e42d0014a99983ca47d0df4c08d1cbaef363e2"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ed011017c63f53c394ce73e328e8f36fa433673e","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"* id - there is no id associated with this, it is accessed by"},{"line_number":53,"context_line":"  subresource"},{"line_number":54,"context_line":"* links - as a sub resource persistent links seem less important"},{"line_number":55,"context_line":"* name - there is no reason to expose the name for the flavor"},{"line_number":56,"context_line":"* os-flavor-access:is_public - irrelevant, this is scope local to the"},{"line_number":57,"context_line":"  instance"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da6ed579_89aff97c","line":54,"in_reply_to":"fa69d971_458dc07a","updated":"2016-01-11 22:35:17.000000000","message":"I guess I don\u0027t see a reason in providing, or attempting to provide, any sort of link back to the flavor - that\u0027s why we\u0027re doing this, so we don\u0027t have to link to the flavor, which might be deleted.\n\nAs for the 404, you can already get that in the flavor API if the flavor has been deleted and archived/purged from the instance_types table.\n\nhttps://github.com/openstack/nova/blob/master/nova/api/openstack/compute/flavors.py#L49","commit_id":"f3e42d0014a99983ca47d0df4c08d1cbaef363e2"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ed011017c63f53c394ce73e328e8f36fa433673e","unresolved":false,"context_lines":[{"line_number":59,"context_line":"  instance"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"In any other cases where flavor information had odd keys because it"},{"line_number":62,"context_line":"was considered and extension, we will normalize those keys. For"},{"line_number":63,"context_line":"instance ``OS-FLV-EXT-DATA:ephemeral`` would become ``ephemeral``."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"All REST calls that return flavor links will return links to these new"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da6ed579_29c12d2f","line":62,"range":{"start_line":62,"start_character":15,"end_line":62,"end_character":18},"updated":"2016-01-11 22:35:17.000000000","message":"an","commit_id":"f3e42d0014a99983ca47d0df4c08d1cbaef363e2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"8c7ebf2b68fa79ee5a71186e7e791c48b95710d5","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"In any other cases where flavor information had odd keys because it"},{"line_number":62,"context_line":"was considered and extension, we will normalize those keys. For"},{"line_number":63,"context_line":"instance ``OS-FLV-EXT-DATA:ephemeral`` would become ``ephemeral``."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"All REST calls that return flavor links will return links to these new"},{"line_number":66,"context_line":"resources instead."}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa69d971_e2e4f83c","line":63,"updated":"2016-01-11 06:07:04.000000000","message":"do we change \"/flavors\" API for removing those prefix also? It would be good we change \"/flavors\" also, otherwise a little pain for user have two name for same field.","commit_id":"f3e42d0014a99983ca47d0df4c08d1cbaef363e2"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ed011017c63f53c394ce73e328e8f36fa433673e","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"In any other cases where flavor information had odd keys because it"},{"line_number":62,"context_line":"was considered and extension, we will normalize those keys. For"},{"line_number":63,"context_line":"instance ``OS-FLV-EXT-DATA:ephemeral`` would become ``ephemeral``."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"All REST calls that return flavor links will return links to these new"},{"line_number":66,"context_line":"resources instead."}],"source_content_type":"text/x-rst","patch_set":2,"id":"da6ed579_890b797d","line":63,"in_reply_to":"fa69d971_e2e4f83c","updated":"2016-01-11 22:35:17.000000000","message":"That\u0027s a good point, but doing it in the same microversion might clutter things up with the new API sub-resource GET, at least that\u0027s what I\u0027m thinking. We could converge on the field name in a follow-on microversion...I guess I don\u0027t have a strong opinion either way on this, but yeah we should be consistent at some point.","commit_id":"f3e42d0014a99983ca47d0df4c08d1cbaef363e2"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ed011017c63f53c394ce73e328e8f36fa433673e","unresolved":false,"context_lines":[{"line_number":68,"context_line":"Alternatives"},{"line_number":69,"context_line":"------------"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"* Not allow the deletion of flavors. This has impacts on Cells v2, which"},{"line_number":72,"context_line":"  we would like to avoid."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"* Add these attributes directly to the server representation itself,"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da6ed579_09778903","line":71,"range":{"start_line":71,"start_character":16,"end_line":71,"end_character":24},"updated":"2016-01-11 22:35:17.000000000","message":"To be clear, do you mean soft-delete or hard-delete via the archive CLI? It\u0027s not only an impact on cells v2, but it goes against the no-more-soft-delete stance we\u0027ve been taking since YVR. It\u0027d be nice if we could point to a devref on why that is, but as noted in the ML, I\u0027m having a hard time sorting out why that is or how we get there.","commit_id":"f3e42d0014a99983ca47d0df4c08d1cbaef363e2"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ed011017c63f53c394ce73e328e8f36fa433673e","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"* Add these attributes directly to the server representation itself,"},{"line_number":75,"context_line":"  which would remove a REST call when attempting to look up the"},{"line_number":76,"context_line":"  details."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Data model impact"},{"line_number":79,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da6ed579_6922c5bb","line":76,"updated":"2016-01-11 22:35:17.000000000","message":"Should probably document a reason why this alternative is not desirable, if there is one. One reason might just be it\u0027s potentially a lot of data if you\u0027re including flavor extra specs and sets a precedent for getting other \u0027extra\u0027 data for an instance from the server API response.","commit_id":"f3e42d0014a99983ca47d0df4c08d1cbaef363e2"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1b6dbf9e6f533145b1ef5e0b70ac15d8e7070b7d","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    {"},{"line_number":96,"context_line":"        \"flavor\": {"},{"line_number":97,"context_line":"            \"disk\": 1,"},{"line_number":98,"context_line":"            \"ephemeral\": 0,"},{"line_number":99,"context_line":"            \"ram\": 512,"},{"line_number":100,"context_line":"            \"swap\": \"\","}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa69d971_6517a445","line":97,"updated":"2016-01-11 12:11:40.000000000","message":"part of me thinking about disk_gb for here. but thats maybe silly.","commit_id":"f3e42d0014a99983ca47d0df4c08d1cbaef363e2"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ed011017c63f53c394ce73e328e8f36fa433673e","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    {"},{"line_number":96,"context_line":"        \"flavor\": {"},{"line_number":97,"context_line":"            \"disk\": 1,"},{"line_number":98,"context_line":"            \"ephemeral\": 0,"},{"line_number":99,"context_line":"            \"ram\": 512,"},{"line_number":100,"context_line":"            \"swap\": \"\","}],"source_content_type":"text/x-rst","patch_set":2,"id":"da6ed579_4c202f4a","line":97,"in_reply_to":"fa69d971_6517a445","updated":"2016-01-11 22:35:17.000000000","message":"It\u0027s disk in the current response:\n\nhttps://github.com/openstack/nova/blob/master/nova/api/openstack/compute/views/flavors.py#L40","commit_id":"f3e42d0014a99983ca47d0df4c08d1cbaef363e2"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1b6dbf9e6f533145b1ef5e0b70ac15d8e7070b7d","unresolved":false,"context_lines":[{"line_number":97,"context_line":"            \"disk\": 1,"},{"line_number":98,"context_line":"            \"ephemeral\": 0,"},{"line_number":99,"context_line":"            \"ram\": 512,"},{"line_number":100,"context_line":"            \"swap\": \"\","},{"line_number":101,"context_line":"            \"vcpus\": 1"},{"line_number":102,"context_line":"        }"},{"line_number":103,"context_line":"    }"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa69d971_ca0e9f3c","line":100,"updated":"2016-01-11 12:11:40.000000000","message":"why is swap \"\" and ephemeral: 0? I am guessing I am missing something.","commit_id":"f3e42d0014a99983ca47d0df4c08d1cbaef363e2"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ed011017c63f53c394ce73e328e8f36fa433673e","unresolved":false,"context_lines":[{"line_number":97,"context_line":"            \"disk\": 1,"},{"line_number":98,"context_line":"            \"ephemeral\": 0,"},{"line_number":99,"context_line":"            \"ram\": 512,"},{"line_number":100,"context_line":"            \"swap\": \"\","},{"line_number":101,"context_line":"            \"vcpus\": 1"},{"line_number":102,"context_line":"        }"},{"line_number":103,"context_line":"    }"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da6ed579_0ce79741","line":100,"in_reply_to":"fa69d971_ca0e9f3c","updated":"2016-01-11 22:35:17.000000000","message":"Yeah seems swap should be 0:\n\nhttps://github.com/openstack/nova/blob/master/nova/api/openstack/compute/schemas/flavor_manage.py#L38\n\nBut I see the view builder today returns \"\":\n\nhttps://github.com/openstack/nova/blob/master/nova/api/openstack/compute/views/flavors.py#L88\n\nThat seems broken though, the default in the data model is also 0:\n\nhttps://github.com/openstack/nova/blob/master/nova/db/sqlalchemy/models.py#L405","commit_id":"f3e42d0014a99983ca47d0df4c08d1cbaef363e2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"8c7ebf2b68fa79ee5a71186e7e791c48b95710d5","unresolved":false,"context_lines":[{"line_number":98,"context_line":"            \"ephemeral\": 0,"},{"line_number":99,"context_line":"            \"ram\": 512,"},{"line_number":100,"context_line":"            \"swap\": \"\","},{"line_number":101,"context_line":"            \"vcpus\": 1"},{"line_number":102,"context_line":"        }"},{"line_number":103,"context_line":"    }"},{"line_number":104,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa69d971_4295c484","line":101,"updated":"2016-01-11 06:07:04.000000000","message":"Just for ensure, \u0027rxtx_factor\u0027 wasn\u0027t remove from this sub-resource.","commit_id":"f3e42d0014a99983ca47d0df4c08d1cbaef363e2"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"157315d5f83afd83d32ebdd23f99f700085dbe86","unresolved":false,"context_lines":[{"line_number":98,"context_line":"            \"ephemeral\": 0,"},{"line_number":99,"context_line":"            \"ram\": 512,"},{"line_number":100,"context_line":"            \"swap\": \"\","},{"line_number":101,"context_line":"            \"vcpus\": 1"},{"line_number":102,"context_line":"        }"},{"line_number":103,"context_line":"    }"},{"line_number":104,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa69d971_dfa0a344","line":101,"in_reply_to":"fa69d971_4295c484","updated":"2016-01-11 11:45:12.000000000","message":"yeh, it won\u0027t be. I just grabbed api sample data, and that\u0027s not listed currently. Anything that is flavor data (vs. metadata) should be in here.","commit_id":"f3e42d0014a99983ca47d0df4c08d1cbaef363e2"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1b6dbf9e6f533145b1ef5e0b70ac15d8e7070b7d","unresolved":false,"context_lines":[{"line_number":100,"context_line":"            \"swap\": \"\","},{"line_number":101,"context_line":"            \"vcpus\": 1"},{"line_number":102,"context_line":"        }"},{"line_number":103,"context_line":"    }"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"* Normal response code:"},{"line_number":106,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa69d971_c5c6909b","line":103,"updated":"2016-01-11 12:11:40.000000000","message":"eventually I do wonder about extra_specs and image properties all being combined into this description. But thats totally something for a new microversion.","commit_id":"f3e42d0014a99983ca47d0df4c08d1cbaef363e2"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ed011017c63f53c394ce73e328e8f36fa433673e","unresolved":false,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":"* Error response code:"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"  * 404: Not Found - if asking for this resource at a microversion \u003c"},{"line_number":112,"context_line":"    what it is introduced at."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da6ed579_2cc5bb5a","line":111,"updated":"2016-01-11 22:35:17.000000000","message":"We could also get a 404 if the instance_extra data that held it was archive/purged.","commit_id":"f3e42d0014a99983ca47d0df4c08d1cbaef363e2"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ed011017c63f53c394ce73e328e8f36fa433673e","unresolved":false,"context_lines":[{"line_number":136,"context_line":"---------------------"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"After this microversion is out there, server representations \u003e\u003d that"},{"line_number":139,"context_line":"microversion will have these new links. Those links will only exist if"},{"line_number":140,"context_line":"the same or great microverion."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"Developer impact"},{"line_number":143,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da6ed579_cc03bf75","line":140,"range":{"start_line":139,"start_character":40,"end_line":140,"end_character":30},"updated":"2016-01-11 22:35:17.000000000","message":"This last sentence is a bit garbled, I think you make the point in the first sentence and could probably just drop the 2nd.","commit_id":"f3e42d0014a99983ca47d0df4c08d1cbaef363e2"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ed011017c63f53c394ce73e328e8f36fa433673e","unresolved":false,"context_lines":[{"line_number":186,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"This general approach surfaced during the Mitaka summit in"},{"line_number":189,"context_line":"conversations."}],"source_content_type":"text/x-rst","patch_set":2,"id":"da6ed579_ec16c3a6","line":189,"updated":"2016-01-11 22:35:17.000000000","message":"I think you should also point out http://lists.openstack.org/pipermail/openstack-dev/2016-January/083518.html since this is coming up as a dependency for the cells v2 API DB flavors data model.","commit_id":"f3e42d0014a99983ca47d0df4c08d1cbaef363e2"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"3bb8c4e85a705d63d57612d6420a9e352ec3429b","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Instance Flavor REST API"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Include the URL of your launchpad blueprint:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"https://blueprints.launchpad.net/nova/+spec/instance-flavor-api"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7af24918_82c953af","line":11,"updated":"2016-03-06 19:09:23.000000000","message":"Please remove above line. :)","commit_id":"f08ee9e76b3f999d749cd91f6d47240cdd4c11a7"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"99145702b6f664da8d218209e0c54867ba0e5d0f","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* id - there is no id associated with this, it is accessed by"},{"line_number":52,"context_line":"  subresource"},{"line_number":53,"context_line":"* links - as a sub resource persistent links seem less important"},{"line_number":54,"context_line":"* name - there is no reason to expose the name for the flavor"},{"line_number":55,"context_line":"* os-flavor-access:is_public - irrelevant, this is scope local to the"},{"line_number":56,"context_line":"  instance"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1af94dfe_dd314c0d","line":53,"range":{"start_line":53,"start_character":2,"end_line":53,"end_character":64},"updated":"2016-03-16 18:18:27.000000000","message":"Can\u0027t we change the link to be the link to the subresource?","commit_id":"f08ee9e76b3f999d749cd91f6d47240cdd4c11a7"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"84fa604913fdee6ed69d91009fab63ce21668843","unresolved":false,"context_lines":[{"line_number":58,"context_line":"  instance"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"In any other cases where flavor information had odd keys because it"},{"line_number":61,"context_line":"was considered and extension, we will normalize those keys. For"},{"line_number":62,"context_line":"instance ``OS-FLV-EXT-DATA:ephemeral`` would become ``ephemeral``."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"All REST calls that return flavor links will return links to these new"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a5de9d1_8319d47b","line":61,"range":{"start_line":61,"start_character":15,"end_line":61,"end_character":18},"updated":"2016-01-28 13:34:17.000000000","message":"an","commit_id":"f08ee9e76b3f999d749cd91f6d47240cdd4c11a7"},{"author":{"_account_id":18247,"name":"Mark Doffman","email":"mdoffman@linux.vnet.ibm.com","username":"doffm"},"change_message_id":"1084b7594b06efc4fd68e675603f953ef488fc90","unresolved":false,"context_lines":[{"line_number":62,"context_line":"instance ``OS-FLV-EXT-DATA:ephemeral`` would become ``ephemeral``."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"All REST calls that return flavor links will return links to these new"},{"line_number":65,"context_line":"resources instead."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Alternatives"},{"line_number":68,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"da6ed579_91220551","line":65,"range":{"start_line":65,"start_character":17,"end_line":65,"end_character":18},"updated":"2016-01-14 19:09:38.000000000","message":"As I read it this means that there will be no easy way to access the \u0027name\u0027 or \u0027id\u0027 of the flavor that launched the instance.\n\nIn the common case where the flavor isn\u0027t deleted its useful to have the name of the flavor so that you can easily launch another instance just like this one.","commit_id":"f08ee9e76b3f999d749cd91f6d47240cdd4c11a7"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"438a7bef28bb462dd601bea3f9700539e5826740","unresolved":false,"context_lines":[{"line_number":62,"context_line":"instance ``OS-FLV-EXT-DATA:ephemeral`` would become ``ephemeral``."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"All REST calls that return flavor links will return links to these new"},{"line_number":65,"context_line":"resources instead."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Alternatives"},{"line_number":68,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1af94dfe_a7c5533d","line":65,"range":{"start_line":65,"start_character":17,"end_line":65,"end_character":18},"in_reply_to":"7a5de9d1_28323f11","updated":"2016-03-16 17:55:50.000000000","message":"The flavor id for the thing in the instance is not really relevant as it can diverge from the original immediately after the instance is created. I would recommend we just expose the flavor id as something like \"flavor-$instance_uuid\" or something like that.","commit_id":"f08ee9e76b3f999d749cd91f6d47240cdd4c11a7"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"84fa604913fdee6ed69d91009fab63ce21668843","unresolved":false,"context_lines":[{"line_number":62,"context_line":"instance ``OS-FLV-EXT-DATA:ephemeral`` would become ``ephemeral``."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"All REST calls that return flavor links will return links to these new"},{"line_number":65,"context_line":"resources instead."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Alternatives"},{"line_number":68,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a5de9d1_28323f11","line":65,"range":{"start_line":65,"start_character":17,"end_line":65,"end_character":18},"in_reply_to":"da6ed579_91220551","updated":"2016-01-28 13:34:17.000000000","message":"Today the server response has a flavor key to a dict with an id (the flavor id) and links to the flavors API. If we aren\u0027t changing that here, then we still get the flavor ID from that and if the flavor is not deleted, we can follow that link to get the flavor name (and other details that would be the same as what\u0027s in the flavor subresource here).\n\nIf the intent of this spec is to also remove the flavor entry in the server response dict, so you can\u0027t find the flavor ID in the server response, then I think it needs to explicitly call that out.","commit_id":"f08ee9e76b3f999d749cd91f6d47240cdd4c11a7"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"3bb8c4e85a705d63d57612d6420a9e352ec3429b","unresolved":false,"context_lines":[{"line_number":75,"context_line":"  details."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"  Depending on the number of attributes added, this would actually be"},{"line_number":78,"context_line":"  less bytes in the payload than the current flavor links."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Data model impact"},{"line_number":81,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7af24918_62cec7b5","line":78,"updated":"2016-03-06 19:09:23.000000000","message":"Another alternative would be to get rid of the concept of the flavor entirely and instead have a \"resources\" and \"capabilities\" section of the main server representation. With the new resource-providers schema, the representation of all consumable resources is standardized, which means that we could have the following returned in the servers/{id} response:\n\n {\n ...\n   \"resources\": {\n     \"VCPU\": 4,\n     \"MEMORY_MB\": 4096,\n     \"DISK_GB\": 100,\n     \"NUMA_SOCKETS\": 1,\n     \"NUMA_CORES\": 4,\n     \"NUMA_THREADS\": 4,\n     \"PCI_SRIOV_VF\": 1\n   }\n }\n\nWhen the capabilities stuff gets similarly cleaned up (Newton or Ocata), we would be able to add a similar structure for the qualitative parts of the instance launch request:\n\n {\n   \"capabilities\": {\n     \"cpu\": {\n       \"required\": [\n         \"sse\",\n         \"mmx\"\n       ],\n       \"preferred\": [\n         \"avx2\"\n       ]\n     }\n     \"disk\": {\n       \"type\": \"ssd\"\n     }\n   }\n }\n\nof course, the above is totally just a straw-man but it shows a way to completely remove the entire concept of the flavor from the REST API once the instance is launched. The concept of a flavor (preferably renamed to \"instance template\" or something like that) could exist in a different REST API layer that would be decomposed into its requisite resources and capabilities parts upon the call to launch the instance.","commit_id":"f08ee9e76b3f999d749cd91f6d47240cdd4c11a7"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"438a7bef28bb462dd601bea3f9700539e5826740","unresolved":false,"context_lines":[{"line_number":75,"context_line":"  details."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"  Depending on the number of attributes added, this would actually be"},{"line_number":78,"context_line":"  less bytes in the payload than the current flavor links."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Data model impact"},{"line_number":81,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1af94dfe_e7311b0d","line":78,"in_reply_to":"7af24918_62cec7b5","updated":"2016-03-16 17:55:50.000000000","message":"So, today we have a link to the flavor for the instance, which has a specific structure. Either we break our API and remove that (or change the format of the thing we point to) or we implement this very simple change to expose the flavor information that we currently have on the instance so we can move forward.\n\nIMHO, this does not further codify anything that we don\u0027t already have codified today, it just makes it less of a lie and unblocks the cellsv2 work. When we get to the point of potentially removing the requirement for flavors from our API, we\u0027ll have a whole new set of decisions to make. That would be the time to think about how we\u0027re going to creatively break this (or not).\n\nI\u0027m really (really) not in favor of blocking cellsv2 on the assumption that we\u0027ll all be able to agree on capability and resource type stuff like you propose above. Given how long it has taken to get to where we are with resource pools, and how we\u0027ve made no progress on cpu feature capabilities, we can pretty much never expect to land cellsv2 if we block on that, IMHO.","commit_id":"f08ee9e76b3f999d749cd91f6d47240cdd4c11a7"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"438a7bef28bb462dd601bea3f9700539e5826740","unresolved":false,"context_lines":[{"line_number":87,"context_line":"---------------"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"* URL:"},{"line_number":90,"context_line":"  * /v2.1/servers/{server_id}/flavor"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"* Request Method:"},{"line_number":93,"context_line":"  * GET"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1af94dfe_a730b302","line":90,"range":{"start_line":90,"start_character":30,"end_line":90,"end_character":36},"updated":"2016-03-16 17:55:50.000000000","message":"Jay, would it make you feel better if we didn\u0027t use the flavor slug here? IMHO, it is a flavor, and using the word flavor helps with consistency (until the time at which it becomes not a flavor) but I would be willing to compromise here :)","commit_id":"f08ee9e76b3f999d749cd91f6d47240cdd4c11a7"}],"specs/pike/approved/instance-flavor-api.rst":[{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"7eb5db994ecac75591e2be2e3b68e4e42da221b7","unresolved":false,"context_lines":[{"line_number":38,"context_line":"---------"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"As a user I want to always be able to get information about the instance"},{"line_number":41,"context_line":"memory, allocated disk, flavor extra_specs, and other metadata from the API."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Proposed change"},{"line_number":44,"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":4,"id":"fa31d9ce_c6531a38","line":41,"updated":"2017-02-17 16:16:43.000000000","message":"Based on the comment from various people below, it\u0027s not clear that these use cases capture one of the major use cases: \"What flavor did I launch this with?\" Or \"How many of my servers are flavor X?\"\n\nIf those use cases are legit (I don\u0027t know) then it makes the answer to the question of whether to include the name of the flavor in the representation much more clear.","commit_id":"09f064f83a4c6083abab654f014c747951a5dce9"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"fefe86b5477701907a78c4f42825c433ba12b826","unresolved":false,"context_lines":[{"line_number":38,"context_line":"---------"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"As a user I want to always be able to get information about the instance"},{"line_number":41,"context_line":"memory, allocated disk, flavor extra_specs, and other metadata from the API."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Proposed change"},{"line_number":44,"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":4,"id":"fa31d9ce_e730180a","line":41,"in_reply_to":"fa31d9ce_c6531a38","updated":"2017-02-17 17:38:49.000000000","message":"I think those are variations of \"How is this instance sized?\".  I might want to make a new instance sized the same, or I might want to analyze my resource usage like you say.","commit_id":"09f064f83a4c6083abab654f014c747951a5dce9"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"6d03264c476a50173f37751a48c6e1de4437a532","unresolved":false,"context_lines":[{"line_number":55,"context_line":"The following fields from the flavor response will be removed:"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"* links - as a sub resource persistent links seem less important"},{"line_number":58,"context_line":"* name - there is no reason to expose the name for the flavor"},{"line_number":59,"context_line":"* os-flavor-access:is_public - irrelevant, this is scope local to the"},{"line_number":60,"context_line":"  instance"},{"line_number":61,"context_line":"* OS-FLV-DISABLED:disabled - irrelevant, this is scope local to the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_5d32adf2","line":58,"updated":"2017-02-10 19:26:11.000000000","message":"Flavor names are frequently how users think of what flavor they booted a server on. For instance, I may want to know \"how many supersonic servers do I have in my dreamhost account\". If the flavor has been removed/changed since the server was booted I have no way to track it back to what my intent was when it was booted.","commit_id":"09f064f83a4c6083abab654f014c747951a5dce9"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"7872eac4e7d8c24fc246ca4d39c313e0bbdba319","unresolved":false,"context_lines":[{"line_number":55,"context_line":"The following fields from the flavor response will be removed:"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"* links - as a sub resource persistent links seem less important"},{"line_number":58,"context_line":"* name - there is no reason to expose the name for the flavor"},{"line_number":59,"context_line":"* os-flavor-access:is_public - irrelevant, this is scope local to the"},{"line_number":60,"context_line":"  instance"},{"line_number":61,"context_line":"* OS-FLV-DISABLED:disabled - irrelevant, this is scope local to the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_ddcf7dae","line":58,"in_reply_to":"fa31d9ce_5d32adf2","updated":"2017-02-10 19:29:23.000000000","message":"Fair enough point.","commit_id":"09f064f83a4c6083abab654f014c747951a5dce9"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c44de629bd26689ad42c7d7a067ef71e33bf846b","unresolved":false,"context_lines":[{"line_number":59,"context_line":"* os-flavor-access:is_public - irrelevant, this is scope local to the"},{"line_number":60,"context_line":"  instance"},{"line_number":61,"context_line":"* OS-FLV-DISABLED:disabled - irrelevant, this is scope local to the"},{"line_number":62,"context_line":"  instance"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"In any cases where flavor information had odd keys because it was considered"},{"line_number":65,"context_line":"an extension, we will normalize those keys. For instance"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_b4574601","line":62,"updated":"2017-02-10 18:11:02.000000000","message":"Big ++ on all the above.","commit_id":"09f064f83a4c6083abab654f014c747951a5dce9"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"6d03264c476a50173f37751a48c6e1de4437a532","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"In any cases where flavor information had odd keys because it was considered"},{"line_number":65,"context_line":"an extension, we will normalize those keys. For instance"},{"line_number":66,"context_line":"``OS-FLV-EXT-DATA:ephemeral`` would become ``ephemeral``."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"The visibility of the flavor data within the server resource will be controlled"},{"line_number":69,"context_line":"by the same policy rules as are used for displaying the flavor and flavor"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_9d526512","line":66,"updated":"2017-02-10 19:26:11.000000000","message":"Dear god yes. FWIW, here are the key normalizations we do on flavors in shade:\n\nhttp://docs.openstack.org/infra/shade/model.html#flavor\n\nin case you feel like making them match.","commit_id":"09f064f83a4c6083abab654f014c747951a5dce9"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"303a637193e87fe70a6ae8e049278d5ed22d564e","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"In any cases where flavor information had odd keys because it was considered"},{"line_number":65,"context_line":"an extension, we will normalize those keys. For instance"},{"line_number":66,"context_line":"``OS-FLV-EXT-DATA:ephemeral`` would become ``ephemeral``."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"The visibility of the flavor data within the server resource will be controlled"},{"line_number":69,"context_line":"by the same policy rules as are used for displaying the flavor and flavor"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_bdb489f2","line":66,"in_reply_to":"fa31d9ce_9d526512","updated":"2017-02-10 19:34:40.000000000","message":"Looking at the sample below, I think they pretty much all match, no?","commit_id":"09f064f83a4c6083abab654f014c747951a5dce9"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"020cddbc7a37b21e7ce52e4ba22683dff3dc0cd0","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"The visibility of the flavor data within the server resource will be controlled"},{"line_number":69,"context_line":"by the same policy rules as are used for displaying the flavor and flavor"},{"line_number":70,"context_line":"extra_specs on their own."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_7d01e369","line":70,"updated":"2017-02-13 20:14:25.000000000","message":"Question: how do we want to handle the case where the \"os_compute_api:os-flavor-extra-specs:index\" policy is set to \"rule:admin_api\"?   Currently if it\u0027s set that way and you run \"nova show \u003cflavor\u003e\" as a normal user you get:\n\nERROR (Forbidden): Policy doesn\u0027t allow os_compute_api:os-flavor-extra-specs:index to be performed. (HTTP 403) (Request-ID: req-fefc3996-8307-428e-9142-aceaa0aa4c88)\n\nDo we want to silently omit the extra-specs field, or do we want to include it but with an error message as the value?  (Maybe something like \"Policy doesn\u0027t allow os_compute_api:os-flavor-extra-specs:index to be performed.\", or a shortened \"Hidden by policy\".","commit_id":"09f064f83a4c6083abab654f014c747951a5dce9"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"bde62b2f280079cec21c7de14527adb8d01051ab","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"The visibility of the flavor data within the server resource will be controlled"},{"line_number":69,"context_line":"by the same policy rules as are used for displaying the flavor and flavor"},{"line_number":70,"context_line":"extra_specs on their own."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_a03c0ec9","line":70,"in_reply_to":"fa31d9ce_7d01e369","updated":"2017-02-13 20:32:01.000000000","message":"Actually, it looks like the above exception is emitted before the new code to print the extra_specs field would be called, so we\u0027ll still get the same behaviour as before.","commit_id":"09f064f83a4c6083abab654f014c747951a5dce9"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"31aebc14fb0f48638c8ffd53907780610fc3025f","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"The visibility of the flavor data within the server resource will be controlled"},{"line_number":69,"context_line":"by the same policy rules as are used for displaying the flavor and flavor"},{"line_number":70,"context_line":"extra_specs on their own."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_00d79aed","line":70,"in_reply_to":"fa31d9ce_a03c0ec9","updated":"2017-02-13 20:47:50.000000000","message":"Gah...this is wrong.  Sorry for the noise, I was using a different API version than I thought for testing.\n\nCurrently if you try to display flavor details as a normal user when the policy doesn\u0027t allow it, you will get an error message.  However, displaying server details doesn\u0027t have any problems because we don\u0027t display the flavor details.\n\nBack to the original question...do we want to silently omit the extra specs, or do we alert the user that they are being hidden due to policy?","commit_id":"09f064f83a4c6083abab654f014c747951a5dce9"},{"author":{"_account_id":11564,"name":"Chris Dent","email":"cdent@anticdent.org","username":"chdent"},"change_message_id":"7eb5db994ecac75591e2be2e3b68e4e42da221b7","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"* Not allow the deletion of in-use flavors or deletion/modification of in-use"},{"line_number":78,"context_line":"  flavor extra_specs. This has impacts on Cells v2, which we would like to"},{"line_number":79,"context_line":"  avoid."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"* Add a new flavor subresource as per the original version of this spec."},{"line_number":82,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_660c2e43","line":79,"updated":"2017-02-17 16:16:43.000000000","message":"That\u0027s a shame. deleting an in use flavor seems really weird from a human use standpoint","commit_id":"09f064f83a4c6083abab654f014c747951a5dce9"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"fefe86b5477701907a78c4f42825c433ba12b826","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"* Not allow the deletion of in-use flavors or deletion/modification of in-use"},{"line_number":78,"context_line":"  flavor extra_specs. This has impacts on Cells v2, which we would like to"},{"line_number":79,"context_line":"  avoid."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"* Add a new flavor subresource as per the original version of this spec."},{"line_number":82,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_b91d6868","line":79,"in_reply_to":"fa31d9ce_660c2e43","updated":"2017-02-17 17:38:49.000000000","message":"It would be possible, though somewhat expensive.  For each related API call you would have to analyze all instances as well as all in-progress resizes to see if the flavor is in use.  I think it\u0027d be hard to get buy-in for changing the behaviour at this point.\n\nRealistically I would hope that admins wouldn\u0027t commonly change in-use flavors, and that it would be reserved for exceptional circumstances.","commit_id":"09f064f83a4c6083abab654f014c747951a5dce9"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c44de629bd26689ad42c7d7a067ef71e33bf846b","unresolved":false,"context_lines":[{"line_number":125,"context_line":"                \"swap\": \"\","},{"line_number":126,"context_line":"                \"vcpus\": 1,"},{"line_number":127,"context_line":"                \"rxtx_factor\": 1.0,"},{"line_number":128,"context_line":"                \"id\": \"1860e252-6851-439b-95f9-873b8d5f880d\","},{"line_number":129,"context_line":"                \"extra_specs\": {"},{"line_number":130,"context_line":"                    \"hw:cpu_model\": \"SandyBridge\","},{"line_number":131,"context_line":"                    \"hw:mem_page_size\": \"2048\","}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_b4f3c609","line":128,"updated":"2017-02-10 18:11:02.000000000","message":"This should not be necessary, for the same reasons as \"name\" isn\u0027t necessary.","commit_id":"09f064f83a4c6083abab654f014c747951a5dce9"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"477de53051d14dc0a6872e160c5f65652bc7c58c","unresolved":false,"context_lines":[{"line_number":125,"context_line":"                \"swap\": \"\","},{"line_number":126,"context_line":"                \"vcpus\": 1,"},{"line_number":127,"context_line":"                \"rxtx_factor\": 1.0,"},{"line_number":128,"context_line":"                \"id\": \"1860e252-6851-439b-95f9-873b8d5f880d\","},{"line_number":129,"context_line":"                \"extra_specs\": {"},{"line_number":130,"context_line":"                    \"hw:cpu_model\": \"SandyBridge\","},{"line_number":131,"context_line":"                    \"hw:mem_page_size\": \"2048\","}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_9d4fc591","line":128,"in_reply_to":"fa31d9ce_5d6aad81","updated":"2017-02-10 19:47:09.000000000","message":"Having id and/or name here at least give you a starting point if you want to make another instance like this one.  Yes, you still need to verify that the flavor still matches what you\u0027re looking for but it gives you somewhere to start from rather than starting from scratch.\n\nI\u0027m not strongly opinionated on this though, so I\u0027m happy to go along with the majority.  (Or the loudest voices...)","commit_id":"09f064f83a4c6083abab654f014c747951a5dce9"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"98bc0c7794d08e922646de7159a3813ebed6f6fc","unresolved":false,"context_lines":[{"line_number":125,"context_line":"                \"swap\": \"\","},{"line_number":126,"context_line":"                \"vcpus\": 1,"},{"line_number":127,"context_line":"                \"rxtx_factor\": 1.0,"},{"line_number":128,"context_line":"                \"id\": \"1860e252-6851-439b-95f9-873b8d5f880d\","},{"line_number":129,"context_line":"                \"extra_specs\": {"},{"line_number":130,"context_line":"                    \"hw:cpu_model\": \"SandyBridge\","},{"line_number":131,"context_line":"                    \"hw:mem_page_size\": \"2048\","}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_3befbee9","line":128,"in_reply_to":"fa31d9ce_9d4fc591","updated":"2017-02-10 22:06:36.000000000","message":"I hope to keep id/name or both here.\nIf users face resource issues which are not enough for the usage, they could want to check what flavor was specified on creating a server API. If not contain them on this API, they need to compare all resources of this flavor to each flavor.\nThat seems a little burden..","commit_id":"09f064f83a4c6083abab654f014c747951a5dce9"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"70e3fc93b3a2e15ff3ed0ddc450a54c8e1b47fcc","unresolved":false,"context_lines":[{"line_number":125,"context_line":"                \"swap\": \"\","},{"line_number":126,"context_line":"                \"vcpus\": 1,"},{"line_number":127,"context_line":"                \"rxtx_factor\": 1.0,"},{"line_number":128,"context_line":"                \"id\": \"1860e252-6851-439b-95f9-873b8d5f880d\","},{"line_number":129,"context_line":"                \"extra_specs\": {"},{"line_number":130,"context_line":"                    \"hw:cpu_model\": \"SandyBridge\","},{"line_number":131,"context_line":"                    \"hw:mem_page_size\": \"2048\","}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_3d1ed963","line":128,"in_reply_to":"fa31d9ce_b4f3c609","updated":"2017-02-10 19:23:58.000000000","message":"As noted on IRC, mordred asked for the \"id\" to be kept.  You guys need to fight it out. :)","commit_id":"09f064f83a4c6083abab654f014c747951a5dce9"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"6d03264c476a50173f37751a48c6e1de4437a532","unresolved":false,"context_lines":[{"line_number":125,"context_line":"                \"swap\": \"\","},{"line_number":126,"context_line":"                \"vcpus\": 1,"},{"line_number":127,"context_line":"                \"rxtx_factor\": 1.0,"},{"line_number":128,"context_line":"                \"id\": \"1860e252-6851-439b-95f9-873b8d5f880d\","},{"line_number":129,"context_line":"                \"extra_specs\": {"},{"line_number":130,"context_line":"                    \"hw:cpu_model\": \"SandyBridge\","},{"line_number":131,"context_line":"                    \"hw:mem_page_size\": \"2048\","}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_bd6e49c7","line":128,"in_reply_to":"fa31d9ce_b4f3c609","updated":"2017-02-10 19:26:11.000000000","message":"I\u0027d like to argue the other way that both id and name are useful to consumers.","commit_id":"09f064f83a4c6083abab654f014c747951a5dce9"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"588177448e6c581fee82b38a75fb9ca8586c7c62","unresolved":false,"context_lines":[{"line_number":125,"context_line":"                \"swap\": \"\","},{"line_number":126,"context_line":"                \"vcpus\": 1,"},{"line_number":127,"context_line":"                \"rxtx_factor\": 1.0,"},{"line_number":128,"context_line":"                \"id\": \"1860e252-6851-439b-95f9-873b8d5f880d\","},{"line_number":129,"context_line":"                \"extra_specs\": {"},{"line_number":130,"context_line":"                    \"hw:cpu_model\": \"SandyBridge\","},{"line_number":131,"context_line":"                    \"hw:mem_page_size\": \"2048\","}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_5d6aad81","line":128,"in_reply_to":"fa31d9ce_bd6e49c7","updated":"2017-02-10 19:31:07.000000000","message":"I agree that name and id have no business being here. It\u0027s super confusing for people and I don\u0027t really see the point. The resources are the things that have meaning.","commit_id":"09f064f83a4c6083abab654f014c747951a5dce9"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"7872eac4e7d8c24fc246ca4d39c313e0bbdba319","unresolved":false,"context_lines":[{"line_number":125,"context_line":"                \"swap\": \"\","},{"line_number":126,"context_line":"                \"vcpus\": 1,"},{"line_number":127,"context_line":"                \"rxtx_factor\": 1.0,"},{"line_number":128,"context_line":"                \"id\": \"1860e252-6851-439b-95f9-873b8d5f880d\","},{"line_number":129,"context_line":"                \"extra_specs\": {"},{"line_number":130,"context_line":"                    \"hw:cpu_model\": \"SandyBridge\","},{"line_number":131,"context_line":"                    \"hw:mem_page_size\": \"2048\","}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_1dc2f585","line":128,"in_reply_to":"fa31d9ce_bd6e49c7","updated":"2017-02-10 19:29:23.000000000","message":"I don\u0027t think ID is useful. Name might be, but not ID...","commit_id":"09f064f83a4c6083abab654f014c747951a5dce9"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c44de629bd26689ad42c7d7a067ef71e33bf846b","unresolved":false,"context_lines":[{"line_number":128,"context_line":"                \"id\": \"1860e252-6851-439b-95f9-873b8d5f880d\","},{"line_number":129,"context_line":"                \"extra_specs\": {"},{"line_number":130,"context_line":"                    \"hw:cpu_model\": \"SandyBridge\","},{"line_number":131,"context_line":"                    \"hw:mem_page_size\": \"2048\","},{"line_number":132,"context_line":"                    \"hw:cpu_policy\": \"dedicated\""},{"line_number":133,"context_line":"                }"},{"line_number":134,"context_line":"            },"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_f47c5e22","line":131,"updated":"2017-02-10 18:11:02.000000000","message":"Have I mentioned I hate quantitative things like this mixed in to the extra_specs? :(","commit_id":"09f064f83a4c6083abab654f014c747951a5dce9"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c44de629bd26689ad42c7d7a067ef71e33bf846b","unresolved":false,"context_lines":[{"line_number":130,"context_line":"                    \"hw:cpu_model\": \"SandyBridge\","},{"line_number":131,"context_line":"                    \"hw:mem_page_size\": \"2048\","},{"line_number":132,"context_line":"                    \"hw:cpu_policy\": \"dedicated\""},{"line_number":133,"context_line":"                }"},{"line_number":134,"context_line":"            },"},{"line_number":135,"context_line":"            \u003cother stuff\u003e"},{"line_number":136,"context_line":"        }"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_74a14ea9","line":133,"updated":"2017-02-10 18:11:02.000000000","message":"I would prefer to segregate quantitative things and qualitative things cleanly, using the terms \"resources\" and \"traits\" that are used in the placement API.\n\nFurthermore, there\u0027s a case to be made for just removing the term \"flavor\" entirely from the returned \"server\" representation and eventually moving to something like the following:\n\n {\n   \"server\": {\n     \"uuid\": \u003cUUID\u003e,\n     \u003cother stuff\u003e,\n     \"resources\": {\n       \"VCPU\": 1,\n       \"DISK_GB\": 1,\n       \"MEMORY_MB\": 512,\n     },\n     \"traits\": {\n       \"hw:cpu:model:sandybridge\",\n       \"hw:cpu:policy:dedicated\"\n     }\n   }\n }\n\nI recognize that the above is too much change, though, for Pike. So, I can get behind the above for now.","commit_id":"09f064f83a4c6083abab654f014c747951a5dce9"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"98bc0c7794d08e922646de7159a3813ebed6f6fc","unresolved":false,"context_lines":[{"line_number":213,"context_line":"Performance Impact"},{"line_number":214,"context_line":"------------------"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"None that is known. The db operations shouldn\u0027t be any more expensive"},{"line_number":217,"context_line":"than the ones we currently have."},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"Other deployer impact"},{"line_number":220,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_1bae7a85","line":217,"range":{"start_line":216,"start_character":0,"end_line":217,"end_character":32},"updated":"2017-02-10 22:06:36.000000000","message":"Couldn\u0027t the API\n\n GET /v2.1/servers/detail\n\nbe slow due to additional combining flavor information on huge number of servers ?","commit_id":"09f064f83a4c6083abab654f014c747951a5dce9"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"eee2ac2fc759106ca54fa42f109fd3e993c5cb4a","unresolved":false,"context_lines":[{"line_number":213,"context_line":"Performance Impact"},{"line_number":214,"context_line":"------------------"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"None that is known. The db operations shouldn\u0027t be any more expensive"},{"line_number":217,"context_line":"than the ones we currently have."},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"Other deployer impact"},{"line_number":220,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fa31d9ce_759f7a50","line":217,"range":{"start_line":216,"start_character":0,"end_line":217,"end_character":32},"in_reply_to":"fa31d9ce_1bae7a85","updated":"2017-02-11 06:36:24.000000000","message":"I\u0027m pretty sure that we already get the flavor information from the DB for that API.  (_get_servers() calls _view_builder.get_show_expected_attrs(), which uses self._show_expected_attrs, which contains \"flavor\", and Flavor._flavor_get_query_from_db() always queries the extra_specs)\n\nIf I\u0027m right there would be a little bit more formatting effort but no extra DB work.","commit_id":"09f064f83a4c6083abab654f014c747951a5dce9"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"0ecad5c9b88f579f5ec605353c936c7357c99ede","unresolved":false,"context_lines":[{"line_number":46,"context_line":"A new microversion is proposed which modifies the the following calls::"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"  GET /v2.1/servers/detail"},{"line_number":49,"context_line":"  GET /v2.1/servers/{id}"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"In both cases the existing ``flavor`` property value will be replaced by a dict"},{"line_number":52,"context_line":"containing most of the information visible when displaying the flavor, with a"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba2be162_16dc72e3","line":49,"updated":"2017-03-02 02:18:21.000000000","message":"We need to change the update and rebuild action, in their response, flavor was included also.\n\nhttps://github.com/openstack/nova/blob/master/doc/api_samples/servers/server-update-resp.json\nhttps://github.com/openstack/nova/blob/master/doc/api_samples/servers/server-action-rebuild-resp.json","commit_id":"0b25563ded61f9761c7cd76f1e41b98e9ddbb68b"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"a0b97f6e62c607aa92881fa83c249da8658a745d","unresolved":false,"context_lines":[{"line_number":46,"context_line":"A new microversion is proposed which modifies the the following calls::"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"  GET /v2.1/servers/detail"},{"line_number":49,"context_line":"  GET /v2.1/servers/{id}"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"In both cases the existing ``flavor`` property value will be replaced by a dict"},{"line_number":52,"context_line":"containing most of the information visible when displaying the flavor, with a"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a30ddce_f818b886","line":49,"in_reply_to":"ba2be162_16dc72e3","updated":"2017-03-08 05:24:48.000000000","message":"Good catch, will add these.","commit_id":"0b25563ded61f9761c7cd76f1e41b98e9ddbb68b"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"d285352bfffbb1f19999c12bd32ff52bb36a754a","unresolved":false,"context_lines":[{"line_number":69,"context_line":"``original_name`` key.  There is a (good) chance that it is stale, but it was"},{"line_number":70,"context_line":"determined to be usefull for end-users."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"The visibility of the flavor data within the server resource will be controlled"},{"line_number":73,"context_line":"by the same policy rules as are used for displaying the flavor and flavor"},{"line_number":74,"context_line":"extra_specs on their own."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":""},{"line_number":77,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba2be162_d612da61","line":74,"range":{"start_line":72,"start_character":0,"end_line":74,"end_character":25},"updated":"2017-03-02 02:46:41.000000000","message":"You mean that using the same rule with the flavor API. There are two rules about GET method: \"os_compute_api:os-flavor-extra-specs:show\" and \"os_compute_api:os-flavor-extra-specs:index\", I guess you will just use the  \"os_compute_api:os-flavor-extra-specs:show\" for show/detail/update/detail?","commit_id":"0b25563ded61f9761c7cd76f1e41b98e9ddbb68b"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"a0b97f6e62c607aa92881fa83c249da8658a745d","unresolved":false,"context_lines":[{"line_number":69,"context_line":"``original_name`` key.  There is a (good) chance that it is stale, but it was"},{"line_number":70,"context_line":"determined to be usefull for end-users."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"The visibility of the flavor data within the server resource will be controlled"},{"line_number":73,"context_line":"by the same policy rules as are used for displaying the flavor and flavor"},{"line_number":74,"context_line":"extra_specs on their own."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":""},{"line_number":77,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a30ddce_d82bf492","line":74,"range":{"start_line":72,"start_character":0,"end_line":74,"end_character":25},"in_reply_to":"ba2be162_d612da61","updated":"2017-03-08 05:24:48.000000000","message":"I was actually planning on using \"os_compute_api:os-flavor-extra-specs:index\" since that\u0027s what is checked when doing \"nova flavor-list --extra-specs\".  It seems that \"os_compute_api:os-flavor-extra-specs:show\" is only used when showing a single extra-spec.","commit_id":"0b25563ded61f9761c7cd76f1e41b98e9ddbb68b"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"d285352bfffbb1f19999c12bd32ff52bb36a754a","unresolved":false,"context_lines":[{"line_number":106,"context_line":"    {"},{"line_number":107,"context_line":"        \"server\": {"},{"line_number":108,"context_line":"            \"flavor\": {"},{"line_number":109,"context_line":"                \"id\": \"1860e252-6851-439b-95f9-873b8d5f880d\","},{"line_number":110,"context_line":"                \"links\": ["},{"line_number":111,"context_line":"                    {"},{"line_number":112,"context_line":"                        \"href\": \"http://192.168.204.2:18774/9d4087df61314635a096a86a28aac6f8/flavors/1860e252-6851-439b-95f9-873b8d5f880d\","}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba2be162_1678f2c3","line":109,"range":{"start_line":109,"start_character":23,"end_line":109,"end_character":59},"updated":"2017-03-02 02:46:41.000000000","message":"super nit, in the original, the id is just a integer, not a uuid.","commit_id":"0b25563ded61f9761c7cd76f1e41b98e9ddbb68b"},{"author":{"_account_id":8768,"name":"Chris Friesen","email":"chris.friesen@windriver.com","username":"cbf123"},"change_message_id":"a0b97f6e62c607aa92881fa83c249da8658a745d","unresolved":false,"context_lines":[{"line_number":106,"context_line":"    {"},{"line_number":107,"context_line":"        \"server\": {"},{"line_number":108,"context_line":"            \"flavor\": {"},{"line_number":109,"context_line":"                \"id\": \"1860e252-6851-439b-95f9-873b8d5f880d\","},{"line_number":110,"context_line":"                \"links\": ["},{"line_number":111,"context_line":"                    {"},{"line_number":112,"context_line":"                        \"href\": \"http://192.168.204.2:18774/9d4087df61314635a096a86a28aac6f8/flavors/1860e252-6851-439b-95f9-873b8d5f880d\","}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a30ddce_fbffd2fe","line":109,"range":{"start_line":109,"start_character":23,"end_line":109,"end_character":59},"in_reply_to":"ba2be162_1678f2c3","updated":"2017-03-08 05:24:48.000000000","message":"Actually \"id\" maps to Flavor.flavorid, which is a string.  novaclient will auto-generate it as a uuid if you don\u0027t specify an integer.","commit_id":"0b25563ded61f9761c7cd76f1e41b98e9ddbb68b"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"d285352bfffbb1f19999c12bd32ff52bb36a754a","unresolved":false,"context_lines":[{"line_number":128,"context_line":"                \"ram\": 512,"},{"line_number":129,"context_line":"                \"swap\": \"\","},{"line_number":130,"context_line":"                \"vcpus\": 1,"},{"line_number":131,"context_line":"                \"rxtx_factor\": 1.0,"},{"line_number":132,"context_line":"                \"original_name\": \"m1.small\","},{"line_number":133,"context_line":"                \"extra_specs\": {"},{"line_number":134,"context_line":"                    \"hw:cpu_model\": \"SandyBridge\","}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba2be162_d182e4ff","line":131,"updated":"2017-03-02 02:46:41.000000000","message":"do we have policy control for \u0027rxtx_factor\u0027? we have policy rule in the flavor API.","commit_id":"0b25563ded61f9761c7cd76f1e41b98e9ddbb68b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b42d5e9e2d29fe19f94385ca493378004fcaa55a","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Instance Flavor REST API"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Include the URL of your launchpad blueprint:"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"https://blueprints.launchpad.net/nova/+spec/instance-flavor-api"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a1ced50_aef5c857","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":44},"updated":"2017-03-21 15:44:55.000000000","message":"nit: you can remove this template text.","commit_id":"eb38e7cc7591003266fcc7518441f80950206cad"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b42d5e9e2d29fe19f94385ca493378004fcaa55a","unresolved":false,"context_lines":[{"line_number":27,"context_line":"In addition, flavor extra_specs can be modified, so the current extra_specs may"},{"line_number":28,"context_line":"no longer represent what was used to boot the instance."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Internal to Nova we now store the flavor information with"},{"line_number":31,"context_line":"an instance when we first create it, to protect ourselves from just"},{"line_number":32,"context_line":"such deletes/modifications."},{"line_number":33,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a1ced50_2e89d8c9","line":30,"range":{"start_line":30,"start_character":20,"end_line":30,"end_character":23},"updated":"2017-03-21 15:44:55.000000000","message":"nit: we\u0027ve been doing his for a very long time actually, so \u0027now\u0027 here is a bit misleading.","commit_id":"eb38e7cc7591003266fcc7518441f80950206cad"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b42d5e9e2d29fe19f94385ca493378004fcaa55a","unresolved":false,"context_lines":[{"line_number":32,"context_line":"such deletes/modifications."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"In order to provide these same guarantees to the users, we should"},{"line_number":35,"context_line":"output the flavor information in all our server representations."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Use Cases"},{"line_number":38,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a1ced50_ceb4c483","line":35,"range":{"start_line":35,"start_character":33,"end_line":35,"end_character":36},"updated":"2017-03-21 15:44:55.000000000","message":"nit: all of","commit_id":"eb38e7cc7591003266fcc7518441f80950206cad"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b42d5e9e2d29fe19f94385ca493378004fcaa55a","unresolved":false,"context_lines":[{"line_number":43,"context_line":"Proposed change"},{"line_number":44,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"A new microversion is proposed which modifies the the following calls::"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"  GET /v2.1/servers/detail"},{"line_number":49,"context_line":"  GET /v2.1/servers/{id}"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a1ced50_2eb0f889","line":46,"range":{"start_line":46,"start_character":46,"end_line":46,"end_character":54},"updated":"2017-03-21 15:44:55.000000000","message":"the","commit_id":"eb38e7cc7591003266fcc7518441f80950206cad"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"13ac8a759282a109989a7fdce02b7c5c264ab7dc","unresolved":false,"context_lines":[{"line_number":75,"context_line":"by the same policy rules as are used for displaying the flavor rxtx_factor and"},{"line_number":76,"context_line":"flavor extra_specs when displaying flavor details."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"Alternatives"},{"line_number":81,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a1ced50_09a3cd9f","line":78,"updated":"2017-03-16 16:50:48.000000000","message":"Nit: emtpy lines.","commit_id":"eb38e7cc7591003266fcc7518441f80950206cad"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b42d5e9e2d29fe19f94385ca493378004fcaa55a","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"* URL:"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"  * /v2.1/servers/{server_id}"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"* Request Method:"},{"line_number":103,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a1ced50_31e77912","line":100,"updated":"2017-03-21 15:44:55.000000000","message":"You\u0027re missing these two in here:\n\n  POST /v2.1/servers/{server_id}/action  (rebuild action)\n\n  PUT /v2.1/servers/{server_id}\n\nThey are the same as\n\n  GET /v2.1/servers/{id}\n\nSo it\u0027s not a huge issue, might be worth calling out though.","commit_id":"eb38e7cc7591003266fcc7518441f80950206cad"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b42d5e9e2d29fe19f94385ca493378004fcaa55a","unresolved":false,"context_lines":[{"line_number":214,"context_line":"Other end user impact"},{"line_number":215,"context_line":"---------------------"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"None that is known."},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"Performance Impact"},{"line_number":220,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a1ced50_91bcaddd","line":217,"range":{"start_line":217,"start_character":0,"end_line":217,"end_character":19},"updated":"2017-03-21 15:44:55.000000000","message":"Just None.","commit_id":"eb38e7cc7591003266fcc7518441f80950206cad"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b42d5e9e2d29fe19f94385ca493378004fcaa55a","unresolved":false,"context_lines":[{"line_number":219,"context_line":"Performance Impact"},{"line_number":220,"context_line":"------------------"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"None that is known. The db operations shouldn\u0027t be any more expensive"},{"line_number":223,"context_line":"than the ones we currently have."},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"Other deployer impact"},{"line_number":226,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a1ced50_d1b2a505","line":223,"range":{"start_line":222,"start_character":0,"end_line":223,"end_character":32},"updated":"2017-03-21 15:44:55.000000000","message":"None.","commit_id":"eb38e7cc7591003266fcc7518441f80950206cad"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b42d5e9e2d29fe19f94385ca493378004fcaa55a","unresolved":false,"context_lines":[{"line_number":225,"context_line":"Other deployer impact"},{"line_number":226,"context_line":"---------------------"},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"After this microversion is out there, server representations \u003e\u003d that"},{"line_number":229,"context_line":"microversion will have the new flavor key value. The new representation will"},{"line_number":230,"context_line":"only be used if the same or greater microverion."},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"Developer impact"},{"line_number":233,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a1ced50_918aed19","line":230,"range":{"start_line":228,"start_character":0,"end_line":230,"end_character":48},"updated":"2017-03-21 15:44:55.000000000","message":"I\u0027d just leave this as None since it\u0027s implied with all microversions really.","commit_id":"eb38e7cc7591003266fcc7518441f80950206cad"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b42d5e9e2d29fe19f94385ca493378004fcaa55a","unresolved":false,"context_lines":[{"line_number":245,"context_line":"Primary assignee:"},{"line_number":246,"context_line":"  cfriesen"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"Other contributors:"},{"line_number":249,"context_line":"  \u003claunchpad-id or None\u003e"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"Work Items"},{"line_number":252,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a1ced50_317cd91e","line":249,"range":{"start_line":248,"start_character":0,"end_line":249,"end_character":24},"updated":"2017-03-21 15:44:55.000000000","message":"Remove template text.","commit_id":"eb38e7cc7591003266fcc7518441f80950206cad"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b42d5e9e2d29fe19f94385ca493378004fcaa55a","unresolved":false,"context_lines":[{"line_number":250,"context_line":""},{"line_number":251,"context_line":"Work Items"},{"line_number":252,"context_line":"----------"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":""},{"line_number":255,"context_line":"Dependencies"},{"line_number":256,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a1ced50_b196093d","line":253,"updated":"2017-03-21 15:44:55.000000000","message":"There isn\u0027t anything to do?","commit_id":"eb38e7cc7591003266fcc7518441f80950206cad"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b42d5e9e2d29fe19f94385ca493378004fcaa55a","unresolved":false,"context_lines":[{"line_number":263,"context_line":""},{"line_number":264,"context_line":"Testing will be done in tree with samples / functional testing."},{"line_number":265,"context_line":""},{"line_number":266,"context_line":"Tempest testing may be added once microversion testing support is in"},{"line_number":267,"context_line":"tree."},{"line_number":268,"context_line":""},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a1ced50_31d139fb","line":267,"range":{"start_line":266,"start_character":0,"end_line":267,"end_character":5},"updated":"2017-03-21 15:44:55.000000000","message":"Tempest will most likely need changes at some point because of the change in the response schema, which will impact Tempest, see:\n\nhttp://git.openstack.org/cgit/openstack/tempest/tree/tempest/lib/api_schema/response/compute/v2_1/servers.py?h\u003d15.0.0#n97","commit_id":"eb38e7cc7591003266fcc7518441f80950206cad"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b42d5e9e2d29fe19f94385ca493378004fcaa55a","unresolved":false,"context_lines":[{"line_number":280,"context_line":"the information in the server representation."},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"Logs of the IRC chat are available at:"},{"line_number":283,"context_line":"http://eavesdrop.openstack.org/irclogs/%23openstack-nova/%23openstack-nova.2017-02-09.log.html"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a1ced50_f101616b","line":283,"updated":"2017-03-21 15:44:55.000000000","message":"Also discussed at the Pike PTG:\n\nhttp://lists.openstack.org/pipermail/openstack-dev/2017-March/113171.html","commit_id":"eb38e7cc7591003266fcc7518441f80950206cad"}]}
