)]}'
{"specs/newton/approved/reject-invalid-operation-on-physical-server.rst":[{"author":{"_account_id":20671,"name":"bin","email":"froyo.bin@gmail.com","username":"binyu"},"change_message_id":"55731de8134427b9f0e3f4c2eeeb959b1fba107d","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/reject-invalid-operation-on-physical-server"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Physical servers provisioned by Ironic do not support all variety of"},{"line_number":14,"context_line":"operations that virtual servers provisioned by Nova do. But Nova still"},{"line_number":15,"context_line":"allows to perform actions(pause, resize...) with physical servers that"},{"line_number":16,"context_line":"can only be applied to virtual servers. We need to modify Nova API to"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bae84128_9ebf4a60","line":13,"range":{"start_line":13,"start_character":54,"end_line":13,"end_character":58},"updated":"2016-02-24 02:45:03.000000000","message":"all or some?","commit_id":"a0d7bcfc0b33d31b0dfeeda3826c767e069ab48e"},{"author":{"_account_id":20671,"name":"bin","email":"froyo.bin@gmail.com","username":"binyu"},"change_message_id":"55731de8134427b9f0e3f4c2eeeb959b1fba107d","unresolved":false,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/reject-invalid-operation-on-physical-server"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Physical servers provisioned by Ironic do not support all variety of"},{"line_number":14,"context_line":"operations that virtual servers provisioned by Nova do. But Nova still"},{"line_number":15,"context_line":"allows to perform actions(pause, resize...) with physical servers that"},{"line_number":16,"context_line":"can only be applied to virtual servers. We need to modify Nova API to"},{"line_number":17,"context_line":"reject invalid operations on physical servers."}],"source_content_type":"text/x-rst","patch_set":1,"id":"bae84128_be3deede","line":14,"range":{"start_line":14,"start_character":0,"end_line":14,"end_character":55},"updated":"2016-02-24 02:45:03.000000000","message":"end user starts a baremetal machine through nova, so, to some extend, baremetal machine is still under provision of Nova","commit_id":"a0d7bcfc0b33d31b0dfeeda3826c767e069ab48e"},{"author":{"_account_id":20671,"name":"bin","email":"froyo.bin@gmail.com","username":"binyu"},"change_message_id":"55731de8134427b9f0e3f4c2eeeb959b1fba107d","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Physical servers provisioned by Ironic do not support all variety of"},{"line_number":14,"context_line":"operations that virtual servers provisioned by Nova do. But Nova still"},{"line_number":15,"context_line":"allows to perform actions(pause, resize...) with physical servers that"},{"line_number":16,"context_line":"can only be applied to virtual servers. We need to modify Nova API to"},{"line_number":17,"context_line":"reject invalid operations on physical servers."},{"line_number":18,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bae84128_392f3889","line":15,"range":{"start_line":15,"start_character":43,"end_line":15,"end_character":48},"updated":"2016-02-24 02:45:03.000000000","message":"perform on","commit_id":"a0d7bcfc0b33d31b0dfeeda3826c767e069ab48e"},{"author":{"_account_id":20671,"name":"bin","email":"froyo.bin@gmail.com","username":"binyu"},"change_message_id":"55731de8134427b9f0e3f4c2eeeb959b1fba107d","unresolved":false,"context_lines":[{"line_number":24,"context_line":"equally."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"This means all of the operations applied to virtual servers can be performed"},{"line_number":27,"context_line":"on physical servers via Nova API call. Many operations(like: snapshot, pause,"},{"line_number":28,"context_line":"resize, migrate and etc) are not applied to physical servers, but Nova API"},{"line_number":29,"context_line":"just accepts these commands silently rather than reject the request and"},{"line_number":30,"context_line":"prompts appropriate error messages."}],"source_content_type":"text/x-rst","patch_set":1,"id":"bae84128_59903c95","line":27,"range":{"start_line":27,"start_character":33,"end_line":27,"end_character":37},"updated":"2016-02-24 02:45:03.000000000","message":"calls","commit_id":"a0d7bcfc0b33d31b0dfeeda3826c767e069ab48e"},{"author":{"_account_id":20671,"name":"bin","email":"froyo.bin@gmail.com","username":"binyu"},"change_message_id":"55731de8134427b9f0e3f4c2eeeb959b1fba107d","unresolved":false,"context_lines":[{"line_number":173,"context_line":""},{"line_number":174,"context_line":"Add unit tests and API samples functional tests to test:"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"When issue a invalid action request against physical servers, Nova API will"},{"line_number":177,"context_line":"reject the request and return http response code: \u0027405 Method Not Allowed\u0027."},{"line_number":178,"context_line":""},{"line_number":179,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bae84128_b95a28f0","line":176,"range":{"start_line":176,"start_character":11,"end_line":176,"end_character":20},"updated":"2016-02-24 02:45:03.000000000","message":"an invalid","commit_id":"a0d7bcfc0b33d31b0dfeeda3826c767e069ab48e"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"3f5641febfd8da5d380f0d2689ebb3f145bd1eaf","unresolved":false,"context_lines":[{"line_number":89,"context_line":"\u003cos-migrateLive\u003e"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"If these action request was performed on physical servers, Nova API will"},{"line_number":92,"context_line":"reject the request and return http response code: \u0027405 Method Not Allowed\u0027."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Example use case:"},{"line_number":95,"context_line":"When an end user issue a \u0027pause\u0027 request against a server via Nova API:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa0719c6_9ecee481","line":92,"updated":"2016-03-21 12:40:52.000000000","message":"No, method doesn\u0027t mean this in HTTP.\n\nPlease use 400 instead of 405/501.","commit_id":"361dbedde818f5600bb839f0f429480426b7ce98"},{"author":{"_account_id":13248,"name":"Wenzhi Yu","email":"wenzhi_yu@163.com","username":"yuywz"},"change_message_id":"e0c3404c875f44196f04c282412c820177ca50a9","unresolved":false,"context_lines":[{"line_number":89,"context_line":"\u003cos-migrateLive\u003e"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"If these action request was performed on physical servers, Nova API will"},{"line_number":92,"context_line":"reject the request and return http response code: \u0027405 Method Not Allowed\u0027."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Example use case:"},{"line_number":95,"context_line":"When an end user issue a \u0027pause\u0027 request against a server via Nova API:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa0719c6_30c5233c","line":92,"in_reply_to":"fa0719c6_9ecee481","updated":"2016-03-22 01:10:21.000000000","message":"Done, thanks for your correction, Sean.","commit_id":"361dbedde818f5600bb839f0f429480426b7ce98"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1ac78b53d3af941420fccc2345a9031766b6903a","unresolved":false,"context_lines":[{"line_number":63,"context_line":"\u003cos-migrateLive\u003e"},{"line_number":64,"context_line":"nova.api.openstack.compute.migrate_server::"},{"line_number":65,"context_line":"MigrateServerController._migrate_live"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Alternatives"},{"line_number":68,"context_line":"------------"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"dab17558_9000e9ac","line":66,"updated":"2016-05-16 17:11:23.000000000","message":"There is an issue here. Clouds can mix virt and ironic resources in the same cloud.\n\nHow do we know if the given request is for ironic or Nova? I assume we will need to have some standard flavor extra spec to decide which flavors are ironic flavors.","commit_id":"41c88e54dd569f57fcfc0fd4d209eafd5a18b12a"},{"author":{"_account_id":13248,"name":"Wenzhi Yu","email":"wenzhi_yu@163.com","username":"yuywz"},"change_message_id":"7840baa2f6ac03325ccc0e3679ec9be7a77a25f6","unresolved":false,"context_lines":[{"line_number":63,"context_line":"\u003cos-migrateLive\u003e"},{"line_number":64,"context_line":"nova.api.openstack.compute.migrate_server::"},{"line_number":65,"context_line":"MigrateServerController._migrate_live"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"Alternatives"},{"line_number":68,"context_line":"------------"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"dab17558_f905d0c1","line":66,"in_reply_to":"dab17558_9000e9ac","updated":"2016-05-17 02:11:45.000000000","message":"Yes, I agree. How to distinguish baremetal flavors from the ones used for VMs is an issue here. Flavor classes can be used for this purpose but that bp has not been implemented yet.\n\nI think adding some info into flavor extra spec when creating baremetal flavor is a good way to solve this issue at this point.","commit_id":"41c88e54dd569f57fcfc0fd4d209eafd5a18b12a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1ac78b53d3af941420fccc2345a9031766b6903a","unresolved":false,"context_lines":[{"line_number":67,"context_line":"Alternatives"},{"line_number":68,"context_line":"------------"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"None"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"Data model impact"},{"line_number":73,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dab17558_10b19901","line":70,"updated":"2016-05-16 17:11:23.000000000","message":"Some operators currently hack the code to return policy errors, 403, for actions that are not supported on that particular flavor (uses flavor classes, as described in the backlog).\n\nNow this approach is not idea, because its hard to discover a head of time what is actually allowed or not.","commit_id":"41c88e54dd569f57fcfc0fd4d209eafd5a18b12a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"1ac78b53d3af941420fccc2345a9031766b6903a","unresolved":false,"context_lines":[{"line_number":107,"context_line":""},{"line_number":108,"context_line":"Expected error http response code: \u0027409 Conflict\u0027"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Expected error http response code: \u0027501 Not Implemented\u0027"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"Security impact"},{"line_number":113,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dab17558_9069098f","line":110,"updated":"2016-05-16 17:11:23.000000000","message":"Sorry, I don\u0027t understand what you are proposing.\n\nWhat is the change? I assume the change if for the listed actions, you return 400 if its requested for an ironic server?","commit_id":"41c88e54dd569f57fcfc0fd4d209eafd5a18b12a"},{"author":{"_account_id":13248,"name":"Wenzhi Yu","email":"wenzhi_yu@163.com","username":"yuywz"},"change_message_id":"7840baa2f6ac03325ccc0e3679ec9be7a77a25f6","unresolved":false,"context_lines":[{"line_number":107,"context_line":""},{"line_number":108,"context_line":"Expected error http response code: \u0027409 Conflict\u0027"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Expected error http response code: \u0027501 Not Implemented\u0027"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"Security impact"},{"line_number":113,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dab17558_b90068ac","line":110,"in_reply_to":"dab17558_9069098f","updated":"2016-05-17 02:11:45.000000000","message":"My apologies, yes I proposed to return 400 if the actions was requested for a physical server, will remove the redundant messages from here.","commit_id":"41c88e54dd569f57fcfc0fd4d209eafd5a18b12a"}]}
