)]}'
{"specs/kilo/approved/improve-unshelve-performance.rst":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"0735c1fbaa6e23fb72c4fbe5ff66129fb8d8f282","unresolved":false,"context_lines":[{"line_number":50,"context_line":"-2, offload partially, release CPU/Memory but retain instance files"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Note: In case shelved_offload_time\u003d-2, you must configure instance path"},{"line_number":53,"context_line":"(instances_path parameter) on NFS on all of the compute nodes."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"A new VM state \u0027SHELVED_PARTIAL_OFFLOADED\u0027 and new Task state"},{"line_number":56,"context_line":"\u0027SHELVING_PARTIAL_OFFLOADING\u0027 will be added."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a890539_6e072b82","line":53,"updated":"2014-11-20 08:27:25.000000000","message":"Could you consider the case that all of the compute nodes do not share an instance path(NFS)?\nFor example, there are some compute node groups that share each instance path(NFS).","commit_id":"daf0a543294ab0088bc4881aa1bbfa8bfa9d12c2"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"3d41363a6769cba1bfec77046af45a4d70ef2865","unresolved":false,"context_lines":[{"line_number":50,"context_line":"-2, offload partially, release CPU/Memory but retain instance files"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Note: In case shelved_offload_time\u003d-2, you must configure instance path"},{"line_number":53,"context_line":"(instances_path parameter) on NFS on all of the compute nodes."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"A new VM state \u0027SHELVED_PARTIAL_OFFLOADED\u0027 and new Task state"},{"line_number":56,"context_line":"\u0027SHELVING_PARTIAL_OFFLOADING\u0027 will be added."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a890539_bc890828","line":53,"in_reply_to":"5a890539_6e072b82","updated":"2014-11-21 22:21:39.000000000","message":"Done","commit_id":"daf0a543294ab0088bc4881aa1bbfa8bfa9d12c2"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"0735c1fbaa6e23fb72c4fbe5ff66129fb8d8f282","unresolved":false,"context_lines":[{"line_number":53,"context_line":"(instances_path parameter) on NFS on all of the compute nodes."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"A new VM state \u0027SHELVED_PARTIAL_OFFLOADED\u0027 and new Task state"},{"line_number":56,"context_line":"\u0027SHELVING_PARTIAL_OFFLOADING\u0027 will be added."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Shelve api call:"},{"line_number":59,"context_line":"* shelved_host (host where the instance is running) will be set to"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a890539_8e8377cb","line":56,"updated":"2014-11-20 08:27:25.000000000","message":"Since \u0027shelved_offload_time\u0027 would be set same value in the entire system and users need not care whether a VM is partially offloaded or not, the new VM state and new task state need not be added.","commit_id":"daf0a543294ab0088bc4881aa1bbfa8bfa9d12c2"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"ba1d3c7f73dea0e20348638db45474a3b55d0a22","unresolved":false,"context_lines":[{"line_number":53,"context_line":"(instances_path parameter) on NFS on all of the compute nodes."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"A new VM state \u0027SHELVED_PARTIAL_OFFLOADED\u0027 and new Task state"},{"line_number":56,"context_line":"\u0027SHELVING_PARTIAL_OFFLOADING\u0027 will be added."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Shelve api call:"},{"line_number":59,"context_line":"* shelved_host (host where the instance is running) will be set to"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a890539_d328bf35","line":56,"in_reply_to":"5a890539_4f0e698d","updated":"2014-12-01 06:50:21.000000000","message":"Hi NATSUME San,\n\nIn this specs, we are proposing not to take instance snapshot as disk resources are persisted on the host. IMO, the new vm state “SHELVE_PARTIAL_OFFLOAD” is necessary in order for the user to avoid confusion in what case the instance snapshot will be created. Basically user doesn\u0027t have any control to pass any information to the shelve api to decide whether to create the instance snapshot or not as it depends on the \u0027shelve_offload_time\u0027 parameter which is configured by the service provider.\n\nshelved_offload_time \u003d -1, the instance vm state will be in SHELVED, instance snapshot will be created and this snapshot will be visible to the user.\n\nshelved_offload_time \u003e\u003d 0, the instance vm state will be in SHELVED_OFFLOAD, instance snapshot will be created and this snapshot will be visible to the user.\n\nshelved_offload_time \u003d -2, if we don’t introduce new vm state SHELVED_PARTIAL_OFFLOAD and keep the same state as SHELVE_OFFLOAD, then user might be confused why the instance snapshot is not created.\n\nTo avoid users confusion, It is required to add a new vm state SHELVE_PARTIAL_OFFLOAD.","commit_id":"daf0a543294ab0088bc4881aa1bbfa8bfa9d12c2"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"3d41363a6769cba1bfec77046af45a4d70ef2865","unresolved":false,"context_lines":[{"line_number":53,"context_line":"(instances_path parameter) on NFS on all of the compute nodes."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"A new VM state \u0027SHELVED_PARTIAL_OFFLOADED\u0027 and new Task state"},{"line_number":56,"context_line":"\u0027SHELVING_PARTIAL_OFFLOADING\u0027 will be added."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Shelve api call:"},{"line_number":59,"context_line":"* shelved_host (host where the instance is running) will be set to"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a890539_d0a987de","line":56,"in_reply_to":"5a890539_8e8377cb","updated":"2014-11-21 22:21:39.000000000","message":"Hi NATSUME San,\n\nWe need to define new VM state \"SHELVE_PARTIAL_OFFLOAD\".\n\nIn case of SHELVE_OFFLOAD, all the resources will be already cleaned up from the compute node so at the api layer it only releases network/volume resources consumed by the instance when it is deleted in the shelved_offload state. But when shelved_offload_time is set to -2, instance files are still persisting on the compute node (NFS) and these files needs to be cleanup when the instance is destroyed. To decide whether or not terminate instance call should be sent to the compute node, there is a need to introduce SHELVED_PARTIAL_OFFLOADED\u0027 new VM state.","commit_id":"daf0a543294ab0088bc4881aa1bbfa8bfa9d12c2"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"91032a01cd1bb5d13011185639638b17b68e37ee","unresolved":false,"context_lines":[{"line_number":53,"context_line":"(instances_path parameter) on NFS on all of the compute nodes."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"A new VM state \u0027SHELVED_PARTIAL_OFFLOADED\u0027 and new Task state"},{"line_number":56,"context_line":"\u0027SHELVING_PARTIAL_OFFLOADING\u0027 will be added."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Shelve api call:"},{"line_number":59,"context_line":"* shelved_host (host where the instance is running) will be set to"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a890539_4f0e698d","line":56,"in_reply_to":"5a890539_d0a987de","updated":"2014-11-25 09:33:27.000000000","message":"Abhishek,\n\nCan\u0027t you use SHELVE_OFFLOAD + shelved_offload_time\u003d-2 instead of SHELVED_PARTIAL_OFFLOADED?\nOr can\u0027t you use a value that is set in instance_system_metadata instead of SHELVED_PARTIAL_OFFLOADED?\nI cannot understand the need to introduce a new state.\n\nCould you explain the necessity to introduce a new state more minutely?","commit_id":"daf0a543294ab0088bc4881aa1bbfa8bfa9d12c2"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"d1ffc719f8446df91a4e18aea9dfecd7be6ab776","unresolved":false,"context_lines":[{"line_number":53,"context_line":"(instances_path parameter) on NFS on all of the compute nodes."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"A new VM state \u0027SHELVED_PARTIAL_OFFLOADED\u0027 and new Task state"},{"line_number":56,"context_line":"\u0027SHELVING_PARTIAL_OFFLOADING\u0027 will be added."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Shelve api call:"},{"line_number":59,"context_line":"* shelved_host (host where the instance is running) will be set to"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a890539_b334134b","line":56,"in_reply_to":"5a890539_d328bf35","updated":"2014-12-01 07:33:37.000000000","message":"I understand.\nThe snapshot image(glance image) is visible for users, so it is necessary for users to identify the state.","commit_id":"daf0a543294ab0088bc4881aa1bbfa8bfa9d12c2"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"0735c1fbaa6e23fb72c4fbe5ff66129fb8d8f282","unresolved":false,"context_lines":[{"line_number":58,"context_line":"Shelve api call:"},{"line_number":59,"context_line":"* shelved_host (host where the instance is running) will be set to"},{"line_number":60,"context_line":"instance_system_metadata."},{"line_number":61,"context_line":"* Instance snapshot will be taken and stored in glance."},{"line_number":62,"context_line":"* Disk resources (instance files) will not be destroyed"},{"line_number":63,"context_line":"(self.driver.destroy(…,destroy_disks\u003dFalse)."},{"line_number":64,"context_line":"* CPU/Memory will be released."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a890539_ce6c9f39","line":61,"updated":"2014-11-20 08:27:25.000000000","message":"About \"stored in glance\", could you clarify that VM sanpshot is not uploaded to glance and only metadata is registered?","commit_id":"daf0a543294ab0088bc4881aa1bbfa8bfa9d12c2"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"3d41363a6769cba1bfec77046af45a4d70ef2865","unresolved":false,"context_lines":[{"line_number":58,"context_line":"Shelve api call:"},{"line_number":59,"context_line":"* shelved_host (host where the instance is running) will be set to"},{"line_number":60,"context_line":"instance_system_metadata."},{"line_number":61,"context_line":"* Instance snapshot will be taken and stored in glance."},{"line_number":62,"context_line":"* Disk resources (instance files) will not be destroyed"},{"line_number":63,"context_line":"(self.driver.destroy(…,destroy_disks\u003dFalse)."},{"line_number":64,"context_line":"* CPU/Memory will be released."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5a890539_dc8ed42d","line":61,"in_reply_to":"5a890539_ce6c9f39","updated":"2014-11-21 22:21:39.000000000","message":"Done","commit_id":"daf0a543294ab0088bc4881aa1bbfa8bfa9d12c2"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"fdcbbb1d28a913f8e817b828aefffcb87a68eae1","unresolved":false,"context_lines":[{"line_number":41,"context_line":"An existing configuration parameter “shelved_offload_time\" will be used here"},{"line_number":42,"context_line":"to indicate the instance files shouldn’t be deleted."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"-1, never offload (CPU/Memory/Disks resources are not released)."},{"line_number":45,"context_line":"0, offload when shelved (CPU/Memory/Disks resources are not released)."},{"line_number":46,"context_line":"\u003e 0, offload using “_poll_shelved_instances” periodic task"},{"line_number":47,"context_line":"(CPU/Memory/Disks resources are not released)."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a961159_100f992f","line":44,"updated":"2014-12-09 17:27:29.000000000","message":"In this case disks are not removed, but the instance is shutdown so CPU and Memory should be release back to the hypervisor.","commit_id":"65630404521090edba3ef2727f8dc8a74a22b215"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"d74af2f7309abcbe686f6b18751264a5165ce96f","unresolved":false,"context_lines":[{"line_number":41,"context_line":"An existing configuration parameter “shelved_offload_time\" will be used here"},{"line_number":42,"context_line":"to indicate the instance files shouldn’t be deleted."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"-1, never offload (CPU/Memory/Disks resources are not released)."},{"line_number":45,"context_line":"0, offload when shelved (CPU/Memory/Disks resources are not released)."},{"line_number":46,"context_line":"\u003e 0, offload using “_poll_shelved_instances” periodic task"},{"line_number":47,"context_line":"(CPU/Memory/Disks resources are not released)."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a961159_7dc5ff8c","line":44,"in_reply_to":"3a961159_100f992f","updated":"2014-12-10 09:34:04.000000000","message":"Done","commit_id":"65630404521090edba3ef2727f8dc8a74a22b215"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"fdcbbb1d28a913f8e817b828aefffcb87a68eae1","unresolved":false,"context_lines":[{"line_number":42,"context_line":"to indicate the instance files shouldn’t be deleted."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"-1, never offload (CPU/Memory/Disks resources are not released)."},{"line_number":45,"context_line":"0, offload when shelved (CPU/Memory/Disks resources are not released)."},{"line_number":46,"context_line":"\u003e 0, offload using “_poll_shelved_instances” periodic task"},{"line_number":47,"context_line":"(CPU/Memory/Disks resources are not released)."},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a961159_902aa97c","line":45,"updated":"2014-12-09 17:27:29.000000000","message":"In this case everything is released during the shelving process.","commit_id":"65630404521090edba3ef2727f8dc8a74a22b215"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"d74af2f7309abcbe686f6b18751264a5165ce96f","unresolved":false,"context_lines":[{"line_number":42,"context_line":"to indicate the instance files shouldn’t be deleted."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"-1, never offload (CPU/Memory/Disks resources are not released)."},{"line_number":45,"context_line":"0, offload when shelved (CPU/Memory/Disks resources are not released)."},{"line_number":46,"context_line":"\u003e 0, offload using “_poll_shelved_instances” periodic task"},{"line_number":47,"context_line":"(CPU/Memory/Disks resources are not released)."},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a961159_9dc0eb7d","line":45,"in_reply_to":"3a961159_902aa97c","updated":"2014-12-10 09:34:04.000000000","message":"Done","commit_id":"65630404521090edba3ef2727f8dc8a74a22b215"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"fdcbbb1d28a913f8e817b828aefffcb87a68eae1","unresolved":false,"context_lines":[{"line_number":44,"context_line":"-1, never offload (CPU/Memory/Disks resources are not released)."},{"line_number":45,"context_line":"0, offload when shelved (CPU/Memory/Disks resources are not released)."},{"line_number":46,"context_line":"\u003e 0, offload using “_poll_shelved_instances” periodic task"},{"line_number":47,"context_line":"(CPU/Memory/Disks resources are not released)."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"New value will be added"},{"line_number":50,"context_line":"-2, offload partially, release CPU/Memory but retain instance files."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a961159_d02431b1","line":47,"updated":"2014-12-09 17:27:29.000000000","message":"CPU and Memory are released, and the disk is removed later.","commit_id":"65630404521090edba3ef2727f8dc8a74a22b215"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"d74af2f7309abcbe686f6b18751264a5165ce96f","unresolved":false,"context_lines":[{"line_number":44,"context_line":"-1, never offload (CPU/Memory/Disks resources are not released)."},{"line_number":45,"context_line":"0, offload when shelved (CPU/Memory/Disks resources are not released)."},{"line_number":46,"context_line":"\u003e 0, offload using “_poll_shelved_instances” periodic task"},{"line_number":47,"context_line":"(CPU/Memory/Disks resources are not released)."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"New value will be added"},{"line_number":50,"context_line":"-2, offload partially, release CPU/Memory but retain instance files."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a961159_fd380fa2","line":47,"in_reply_to":"3a961159_d02431b1","updated":"2014-12-10 09:34:04.000000000","message":"Done","commit_id":"65630404521090edba3ef2727f8dc8a74a22b215"},{"author":{"_account_id":7401,"name":"Shintaro Mizuno","email":"shintaro.mizuno.gt@hco.ntt.co.jp","username":"Shintaro"},"change_message_id":"638a01f9b4f8c267c44b254ca3219a66b101e707","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Note: In case shelved_offload_time\u003d-2, You must configure instance path on"},{"line_number":53,"context_line":"NFS either on all of the compute nodes or group of compute nodes defined"},{"line_number":54,"context_line":"by host aggregate."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"A new VM state \u0027SHELVED_PARTIAL_OFFLOADED\u0027 and new Task state"},{"line_number":57,"context_line":"\u0027SHELVING_PARTIAL_OFFLOADING\u0027 will be added. In case of SHELVE_OFFLOAD,"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a890539_951dffc0","line":54,"updated":"2014-11-22 02:52:07.000000000","message":"In case of host aggregate, how do you specify which host aggregate to assign the unshelved instance to? You probably need some information of the original host to create hints to the scheduler.","commit_id":"65630404521090edba3ef2727f8dc8a74a22b215"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"b7e08b1eac7a83979a3d1a5d18953c71146036f6","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Note: In case shelved_offload_time\u003d-2, You must configure instance path on"},{"line_number":53,"context_line":"NFS either on all of the compute nodes or group of compute nodes defined"},{"line_number":54,"context_line":"by host aggregate."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"A new VM state \u0027SHELVED_PARTIAL_OFFLOADED\u0027 and new Task state"},{"line_number":57,"context_line":"\u0027SHELVING_PARTIAL_OFFLOADING\u0027 will be added. In case of SHELVE_OFFLOAD,"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a890539_ffd11d30","line":54,"in_reply_to":"5a890539_138c5dd6","updated":"2014-11-28 08:38:55.000000000","message":"If \u0027AggregateInstanceExtraSpecsFilter\u0027 is used and some host aggregates have same meta data, it does not work properly.\nIn case that there is the size limitation of an instance store(NFS) because of a hardware(storage) specification,\nthe number of compute nodes in the same host aggregate is limited.\nSo some host aggregates have to have same meta data in order to extend hosts to be scheduled.","commit_id":"65630404521090edba3ef2727f8dc8a74a22b215"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"406192be39ad3a13732c34459a25c41a9d05a10b","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Note: In case shelved_offload_time\u003d-2, You must configure instance path on"},{"line_number":53,"context_line":"NFS either on all of the compute nodes or group of compute nodes defined"},{"line_number":54,"context_line":"by host aggregate."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"A new VM state \u0027SHELVED_PARTIAL_OFFLOADED\u0027 and new Task state"},{"line_number":57,"context_line":"\u0027SHELVING_PARTIAL_OFFLOADING\u0027 will be added. In case of SHELVE_OFFLOAD,"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a890539_138c5dd6","line":54,"in_reply_to":"5a890539_951dffc0","updated":"2014-11-26 12:49:10.000000000","message":"Hi Shintaro San,\n\nTo configure the scheduler to support host aggregates, you need to need to specify \u0027AggregateInstanceExtraSpecsFilter\u0027 in scheduler_default_filters configuration option in addition to the other filters used by the scheduler where nova-scheduler is running.\n\nPlease refer, http://docs.openstack.org/juno/config-reference/content/section_compute-scheduler.html","commit_id":"65630404521090edba3ef2727f8dc8a74a22b215"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"1564f48dbf88b51fc4eb4e879094b31464d8d7ef","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Note: In case shelved_offload_time\u003d-2, You must configure instance path on"},{"line_number":53,"context_line":"NFS either on all of the compute nodes or group of compute nodes defined"},{"line_number":54,"context_line":"by host aggregate."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"A new VM state \u0027SHELVED_PARTIAL_OFFLOADED\u0027 and new Task state"},{"line_number":57,"context_line":"\u0027SHELVING_PARTIAL_OFFLOADING\u0027 will be added. In case of SHELVE_OFFLOAD,"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a890539_748a6765","line":54,"in_reply_to":"5a890539_ffd11d30","updated":"2014-12-02 12:40:32.000000000","message":"Hi NATSUME San,\n\nIdeally it is up to administrator how he is going to add meta_data as per specific requirement. In order to avoid the mentioned issue, unique meta data properties need to be added to host aggregates.","commit_id":"65630404521090edba3ef2727f8dc8a74a22b215"},{"author":{"_account_id":7401,"name":"Shintaro Mizuno","email":"shintaro.mizuno.gt@hco.ntt.co.jp","username":"Shintaro"},"change_message_id":"2c386a355b25a7c0ae19c5b64d642be6e03da943","unresolved":false,"context_lines":[{"line_number":66,"context_line":"Shelve api call:"},{"line_number":67,"context_line":"* shelved_host (host where the instance is running) will be set to"},{"line_number":68,"context_line":"instance_system_metadata."},{"line_number":69,"context_line":"* Disk resources (instance files) will not be destroyed"},{"line_number":70,"context_line":"(self.driver.destroy(…,destroy_disks\u003dFalse)."},{"line_number":71,"context_line":"* As disk resources are persisted, instance snapshot will not be taken."},{"line_number":72,"context_line":"* CPU/Memory will be released."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a890539_e543ff10","line":69,"updated":"2014-12-02 12:58:32.000000000","message":"Are \"instance files\" every files under \"instances/\u003cinstance-uuid\u003e/\"?\nIncluding disk, disk.*, libvirt.xml, console.log?\nor just disk files?","commit_id":"65630404521090edba3ef2727f8dc8a74a22b215"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"307b9dc9b938e86d1a7234c119286d4417c28b13","unresolved":false,"context_lines":[{"line_number":66,"context_line":"Shelve api call:"},{"line_number":67,"context_line":"* shelved_host (host where the instance is running) will be set to"},{"line_number":68,"context_line":"instance_system_metadata."},{"line_number":69,"context_line":"* Disk resources (instance files) will not be destroyed"},{"line_number":70,"context_line":"(self.driver.destroy(…,destroy_disks\u003dFalse)."},{"line_number":71,"context_line":"* As disk resources are persisted, instance snapshot will not be taken."},{"line_number":72,"context_line":"* CPU/Memory will be released."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5a890539_5d458bb2","line":69,"in_reply_to":"5a890539_e543ff10","updated":"2014-12-02 13:42:24.000000000","message":"Hi Shintaro San,\n\nEvery file under every files under \"instances/\u003cinstance-uuid\u003e/ will be persisted.","commit_id":"65630404521090edba3ef2727f8dc8a74a22b215"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"f9fb737764e525211b94e50e092b09ca1e33114c","unresolved":false,"context_lines":[{"line_number":83,"context_line":""},{"line_number":84,"context_line":"3. HostAggregate groups configured with same properties on multiple NFS:"},{"line_number":85,"context_line":"Everything is same as scenario #2 but in this case to address scalability"},{"line_number":86,"context_line":"issue of NFS servers (each NFS server can handle only 16TB of storage),"},{"line_number":87,"context_line":"administrator will create multiple host aggregate group with same"},{"line_number":88,"context_line":"metadata properties."},{"line_number":89,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3a961159_41bc9206","line":86,"updated":"2014-12-12 05:09:39.000000000","message":"Specific products have 16TB limitation.\nSo you had better change this expression.\n\nFor example, \nThere is a capacity limitation on each NFS Server.","commit_id":"6b2190b95372dd9c654c83ada645372e1abcd769"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"8a92cf2b6002ba9f59ffe9b11005ed628376bd49","unresolved":false,"context_lines":[{"line_number":83,"context_line":""},{"line_number":84,"context_line":"3. HostAggregate groups configured with same properties on multiple NFS:"},{"line_number":85,"context_line":"Everything is same as scenario #2 but in this case to address scalability"},{"line_number":86,"context_line":"issue of NFS servers (each NFS server can handle only 16TB of storage),"},{"line_number":87,"context_line":"administrator will create multiple host aggregate group with same"},{"line_number":88,"context_line":"metadata properties."},{"line_number":89,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3a961159_61018e05","line":86,"in_reply_to":"3a961159_41bc9206","updated":"2014-12-12 05:54:04.000000000","message":"Done","commit_id":"6b2190b95372dd9c654c83ada645372e1abcd769"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"3676adc4cddb172c172cea2eafa786e6025b2593","unresolved":false,"context_lines":[{"line_number":31,"context_line":"Project Priority"},{"line_number":32,"context_line":"-----------------"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"High"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Proposed change"},{"line_number":37,"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":"3a961159_3d44fb19","line":34,"updated":"2014-12-12 14:16:14.000000000","message":"This is not a project priority, please set to None.","commit_id":"8235255bbaf7fef1808a56d7eea4a2e229331566"},{"author":{"_account_id":7401,"name":"Shintaro Mizuno","email":"shintaro.mizuno.gt@hco.ntt.co.jp","username":"Shintaro"},"change_message_id":"12e7df404991942ddf25453c17e8fa32e289b4ec","unresolved":false,"context_lines":[{"line_number":120,"context_line":""},{"line_number":121,"context_line":"Unshelve api call:"},{"line_number":122,"context_line":"* If \u0027host aggregate group id\u0027 is present in instance system metadata,"},{"line_number":123,"context_line":"then set it to filter_properties."},{"line_number":124,"context_line":"* Select a new compute node (nova-scheduler) from the available pool of"},{"line_number":125,"context_line":"compute nodes"},{"line_number":126,"context_line":"* Set the newly elected host to the instance and call start_instance method"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a961159_d0b907cd","line":123,"updated":"2014-12-13 02:05:31.000000000","message":"In scenario 3, there could be a situation where the scheduler returns \"no available host found\" error due to no cpu and/or memories available since in the SHELVED_PARTIAL_OFFLOADED state, cpu and memoirs are released and other instances could be deployed to the maximum of the host aggregate.\nThis could happen in scenario 3 since there are limitations in the capacity of NFS and hence there are limitation to the number of hosts per aggregate.\n\nFrom users\u0027 perspective, it may be useful if it doesn\u0027t just end up in error but to fall into a second scenario where another aggregate can be selected by not specifying \u0027host aggregate  group id\u0027 in the second round.\nThis requires data copy between hosts, but I think it is better than not to be able to unshelve again. (or wait until other customers to delete the instance)","commit_id":"8235255bbaf7fef1808a56d7eea4a2e229331566"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"d68cd287d2c7ef968bd3de63da5978d55754e654","unresolved":false,"context_lines":[{"line_number":120,"context_line":""},{"line_number":121,"context_line":"Unshelve api call:"},{"line_number":122,"context_line":"* If \u0027host aggregate group id\u0027 is present in instance system metadata,"},{"line_number":123,"context_line":"then set it to filter_properties."},{"line_number":124,"context_line":"* Select a new compute node (nova-scheduler) from the available pool of"},{"line_number":125,"context_line":"compute nodes"},{"line_number":126,"context_line":"* Set the newly elected host to the instance and call start_instance method"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3a961159_42145fe8","line":123,"in_reply_to":"3a961159_d0b907cd","updated":"2014-12-15 03:08:27.000000000","message":"I agree.We had better have \u0027Retry logic\u0027.\n\n1. the same aggregate is chosen.\n2. If the same aggregate does not have enough resources, then \u0027retry\u0027 is scheduled.\n   And choose a hypervisor by using other filters except suggested \u0027same aggregate filer\u0027, and copy instance files(like cold migration.)","commit_id":"8235255bbaf7fef1808a56d7eea4a2e229331566"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"d95b47bf7b051bcbdd1973f3e4b09bdb58483f15","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"  Offload partially. In this case instance files will be retained. CPU and"},{"line_number":70,"context_line":"  Memory will be released back to the hypervisor which can be used for"},{"line_number":71,"context_line":"  spawning new instances."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Impact:"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a961159_cd2c5e05","line":71,"updated":"2014-12-19 07:41:15.000000000","message":"How do you handle to unshelve the instance in there is no enough resources (CPI, Memory) to the host?","commit_id":"8efaaeafb85728257008a71a3a18343996e604c1"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"4fadf36c12bd70b9cb71cae22a6ae637c9a4dd03","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"  Offload partially. In this case instance files will be retained. CPU and"},{"line_number":70,"context_line":"  Memory will be released back to the hypervisor which can be used for"},{"line_number":71,"context_line":"  spawning new instances."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Impact:"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a961159_cd329e0f","line":71,"in_reply_to":"3a961159_0d8106c3","updated":"2014-12-19 07:58:30.000000000","message":"Hello Abhishek,\n\nIn the case when the host is not able to handle the unshelve and we are in block storage:\n1. How you select the new host?\n2. How you will copy image between host?","commit_id":"8efaaeafb85728257008a71a3a18343996e604c1"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"6685cd969b5d17cc5a22c874006760515af16bc4","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"  Offload partially. In this case instance files will be retained. CPU and"},{"line_number":70,"context_line":"  Memory will be released back to the hypervisor which can be used for"},{"line_number":71,"context_line":"  spawning new instances."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Impact:"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a961159_0d8106c3","line":71,"in_reply_to":"3a961159_cd2c5e05","updated":"2014-12-19 07:45:16.000000000","message":"Hi Sahid,\n\nIn the conductor manager unshelve_instance call it will select the appropriate host using select_destination host of the scheduler.\n\nI have explained this scheduling part in the \"Unshelve api call\" subsection below.","commit_id":"8efaaeafb85728257008a71a3a18343996e604c1"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"db8b6a63e5cf81f7023d3a377e4c5d5205311412","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"  Offload partially. In this case instance files will be retained. CPU and"},{"line_number":70,"context_line":"  Memory will be released back to the hypervisor which can be used for"},{"line_number":71,"context_line":"  spawning new instances."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Impact:"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"3a961159_96d325d4","line":71,"in_reply_to":"3a961159_cd329e0f","updated":"2014-12-20 19:39:57.000000000","message":"Hi Sahid,\n\n1. how you select the new host?\n\nThe new host will be selected in the conductor (unshelve_instance method) using select_destinations scheduler API. If unshelving fails for some reasons on the compute node then the instance will be set to the \"error\" state.\n\n\n2. How you will copy image between host?\n\nIrrespective of block storage (instance booted from volume) or not, all the instance files inside the particular instance will be copied to the unshelve instance host. If the instance path are mounted on the shared storage between it\u0027s original shelve_host and the newly selected unshelved host, there will be no need to copy instance files.","commit_id":"8efaaeafb85728257008a71a3a18343996e604c1"}],"specs/liberty/approved/improve-unshelve-performance.rst":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"5e4b8278aa99f02dae5c793e8161de36ddc8136d","unresolved":false,"context_lines":[{"line_number":44,"context_line":"each of the tenant first needs to copy the public image to volume, take a"},{"line_number":45,"context_line":"snapshot of it and finally use that snapshot (internally it will create"},{"line_number":46,"context_line":"another volume from it) for launching new instances. This is a very tedious"},{"line_number":47,"context_line":"and time consuming process."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"This is the main motivation why we want to improve the performance of"},{"line_number":50,"context_line":"unshelving instances booted from image."}],"source_content_type":"text/x-rst","patch_set":9,"id":"baa041b7_7bbaedc1","line":47,"updated":"2015-04-06 06:53:39.000000000","message":"It may take a long time to create an instance from an image.\nSo you had better add the following contents.\n\nThe utilize qcow2 differential image can be utilized.\nIf a base image is in compute nodes, a VM instance can be booted quickly.","commit_id":"9730173bcb7210a92225375c007acf7f907003b0"},{"author":{"_account_id":7135,"name":"Liang Chen","email":"liangchen.linux@gmail.com","username":"Liang"},"change_message_id":"9a0bd5c05a319702b49dda56b537492d1b7c75e0","unresolved":false,"context_lines":[{"line_number":28,"context_line":"Use Cases"},{"line_number":29,"context_line":"----------"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"1. Service provider wants to use compute capacity of unshelved instances for"},{"line_number":32,"context_line":"   launching new instances on the shelved compute host."},{"line_number":33,"context_line":"2. User wants to use public images provided by the service provider for"},{"line_number":34,"context_line":"   launching new instances."}],"source_content_type":"text/x-rst","patch_set":10,"id":"3acd31a7_179712ed","line":31,"updated":"2015-05-05 19:30:55.000000000","message":"s/unshelved instances/shelved instances ?","commit_id":"98ed7246060ac31f8c98b39771e4e3926cf61fde"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"f81653d87d1c57e830ce8433efa6ec1d96d0b63c","unresolved":false,"context_lines":[{"line_number":28,"context_line":"Use Cases"},{"line_number":29,"context_line":"----------"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"1. Service provider wants to use compute capacity of unshelved instances for"},{"line_number":32,"context_line":"   launching new instances on the shelved compute host."},{"line_number":33,"context_line":"2. User wants to use public images provided by the service provider for"},{"line_number":34,"context_line":"   launching new instances."}],"source_content_type":"text/x-rst","patch_set":10,"id":"3acd31a7_22064e86","line":31,"in_reply_to":"3acd31a7_179712ed","updated":"2015-05-05 19:43:38.000000000","message":"Done","commit_id":"98ed7246060ac31f8c98b39771e4e3926cf61fde"},{"author":{"_account_id":7135,"name":"Liang Chen","email":"liangchen.linux@gmail.com","username":"Liang"},"change_message_id":"9a0bd5c05a319702b49dda56b537492d1b7c75e0","unresolved":false,"context_lines":[{"line_number":33,"context_line":"2. User wants to use public images provided by the service provider for"},{"line_number":34,"context_line":"   launching new instances."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Today, for use case #1, service provider can use compute capacity of unshelved"},{"line_number":37,"context_line":"instances by configuring \u0027shelved_offload_time\u0027 parameter to 0 in nova.conf."},{"line_number":38,"context_line":"This frees up cpu/memory/disk resources for use by other instances on the"},{"line_number":39,"context_line":"compute node, but this may slow down unshelving instance as it needs to"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3acd31a7_377c4eb4","line":36,"updated":"2015-05-05 19:30:55.000000000","message":"s/unsheved/shelved ?","commit_id":"98ed7246060ac31f8c98b39771e4e3926cf61fde"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"f81653d87d1c57e830ce8433efa6ec1d96d0b63c","unresolved":false,"context_lines":[{"line_number":33,"context_line":"2. User wants to use public images provided by the service provider for"},{"line_number":34,"context_line":"   launching new instances."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Today, for use case #1, service provider can use compute capacity of unshelved"},{"line_number":37,"context_line":"instances by configuring \u0027shelved_offload_time\u0027 parameter to 0 in nova.conf."},{"line_number":38,"context_line":"This frees up cpu/memory/disk resources for use by other instances on the"},{"line_number":39,"context_line":"compute node, but this may slow down unshelving instance as it needs to"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3acd31a7_020b528f","line":36,"in_reply_to":"3acd31a7_377c4eb4","updated":"2015-05-05 19:43:38.000000000","message":"Done","commit_id":"98ed7246060ac31f8c98b39771e4e3926cf61fde"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7784e187cca9a925625297f856a06584fab94906","unresolved":false,"context_lines":[{"line_number":7,"context_line":"The aim of this feature is to improve the performance of unshelve instance"},{"line_number":8,"context_line":"by eliminating downloading/copying snapshot time. All instance files will be"},{"line_number":9,"context_line":"retained in the instance store backed by shared or non-shared storage on the"},{"line_number":10,"context_line":"compute node when an instance is shelved."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Problem description"},{"line_number":13,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a0c5dc1_e408f32a","line":10,"updated":"2015-05-12 09:23:51.000000000","message":"I think you need to reword this a little. Maybe something a bit like this.\n\nWe are adding shelved_offload_time \u003d -2 so users with shared storage are able to avoid taking a snapshot during shelve, in deployments where that snapshot and deleting of instance disks while shelved is not required.","commit_id":"f1e80d90dab1bbcae4866f553e5d204a3a02183a"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"46990751c0cb72bd417707629c68d53132d46a92","unresolved":false,"context_lines":[{"line_number":7,"context_line":"The aim of this feature is to improve the performance of unshelve instance"},{"line_number":8,"context_line":"by eliminating downloading/copying snapshot time. All instance files will be"},{"line_number":9,"context_line":"retained in the instance store backed by shared or non-shared storage on the"},{"line_number":10,"context_line":"compute node when an instance is shelved."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Problem description"},{"line_number":13,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a0c5dc1_8f47dd1c","line":10,"in_reply_to":"9a0c5dc1_8465b7e2","updated":"2015-05-14 06:27:37.000000000","message":"Hi John,\n\nWe are taking the instance snapshot for shelved_offload_time \u003d -2 as well because while unshelving the instance if scheduler selects new host (not shelved host) and instance is not on shared storage, then we are using this snapshot to boot the instance on newly selected host.\n\nPlease refer \u0027Deployment scenario\u0027 from \u0027Problem description\u0027 section for reference.","commit_id":"f1e80d90dab1bbcae4866f553e5d204a3a02183a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7a641f131a7f3b7b5b8a11d40f5c44cc085cd32a","unresolved":false,"context_lines":[{"line_number":7,"context_line":"The aim of this feature is to improve the performance of unshelve instance"},{"line_number":8,"context_line":"by eliminating downloading/copying snapshot time. All instance files will be"},{"line_number":9,"context_line":"retained in the instance store backed by shared or non-shared storage on the"},{"line_number":10,"context_line":"compute node when an instance is shelved."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Problem description"},{"line_number":13,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a0c5dc1_8465b7e2","line":10,"in_reply_to":"9a0c5dc1_e408f32a","updated":"2015-05-12 09:25:09.000000000","message":"Oh, and I missed the point here...\n\nSkipping the snapshot, and always keeping the instance disks on the shared storage means that unshelve is always quick. There is never a need to boot from snapshot, and you don\u0027t even need to delete a snapshot during unshelve.","commit_id":"f1e80d90dab1bbcae4866f553e5d204a3a02183a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7784e187cca9a925625297f856a06584fab94906","unresolved":false,"context_lines":[{"line_number":23,"context_line":"stored on the local filesystem of the compute node. But then again in this"},{"line_number":24,"context_line":"case, it is observed the network traffic between shared storage servers and"},{"line_number":25,"context_line":"nova increases enormously resulting in slow spawning of"},{"line_number":26,"context_line":"the instances."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Use Cases"},{"line_number":29,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a0c5dc1_069b0fcb","line":26,"updated":"2015-05-12 09:23:51.000000000","message":"It worth noting that you shouldn\u0027t get that performance hit if you used ceph in that case, at least thats what I have been told, I think.","commit_id":"f1e80d90dab1bbcae4866f553e5d204a3a02183a"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"46990751c0cb72bd417707629c68d53132d46a92","unresolved":false,"context_lines":[{"line_number":23,"context_line":"stored on the local filesystem of the compute node. But then again in this"},{"line_number":24,"context_line":"case, it is observed the network traffic between shared storage servers and"},{"line_number":25,"context_line":"nova increases enormously resulting in slow spawning of"},{"line_number":26,"context_line":"the instances."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Use Cases"},{"line_number":29,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a0c5dc1_a8605c36","line":26,"in_reply_to":"9a0c5dc1_069b0fcb","updated":"2015-05-14 06:27:37.000000000","message":"Done","commit_id":"f1e80d90dab1bbcae4866f553e5d204a3a02183a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7784e187cca9a925625297f856a06584fab94906","unresolved":false,"context_lines":[{"line_number":31,"context_line":"1. Service provider wants to use compute capacity of shelved instances for"},{"line_number":32,"context_line":"   launching new instances on the shelved compute host."},{"line_number":33,"context_line":"2. User wants to use public images provided by the service provider for"},{"line_number":34,"context_line":"   launching new instances."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Today, for use case #1, service provider can use compute capacity of shelved"},{"line_number":37,"context_line":"instances by configuring \u0027shelved_offload_time\u0027 parameter to 0 in nova.conf."}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a0c5dc1_c65737c9","line":34,"updated":"2015-05-12 09:23:51.000000000","message":"surely, user wants to quickly unshelve needs to be a consideration here too?","commit_id":"f1e80d90dab1bbcae4866f553e5d204a3a02183a"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"46990751c0cb72bd417707629c68d53132d46a92","unresolved":false,"context_lines":[{"line_number":31,"context_line":"1. Service provider wants to use compute capacity of shelved instances for"},{"line_number":32,"context_line":"   launching new instances on the shelved compute host."},{"line_number":33,"context_line":"2. User wants to use public images provided by the service provider for"},{"line_number":34,"context_line":"   launching new instances."},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Today, for use case #1, service provider can use compute capacity of shelved"},{"line_number":37,"context_line":"instances by configuring \u0027shelved_offload_time\u0027 parameter to 0 in nova.conf."}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a0c5dc1_48ed608a","line":34,"in_reply_to":"9a0c5dc1_c65737c9","updated":"2015-05-14 06:27:37.000000000","message":"Done","commit_id":"f1e80d90dab1bbcae4866f553e5d204a3a02183a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7784e187cca9a925625297f856a06584fab94906","unresolved":false,"context_lines":[{"line_number":37,"context_line":"instances by configuring \u0027shelved_offload_time\u0027 parameter to 0 in nova.conf."},{"line_number":38,"context_line":"This frees up cpu/memory/disk resources for use by other instances on the"},{"line_number":39,"context_line":"compute node, but this may slow down unshelving instance as it needs to"},{"line_number":40,"context_line":"download the snapshot from glance."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"If we want unshelving instance to be fast, then it is possible today if you"},{"line_number":43,"context_line":"have shelved instance booted from volume. But in order to reach to this point,"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a0c5dc1_8696df92","line":40,"updated":"2015-05-12 09:23:51.000000000","message":"This feature was never completed.\n\nThe idea was simple, once the snapshot is uploaded, you can immediately delete any shelved instance if you need that space.\n\nWith this approach, you would have to wait for a snapshot to complete before using that space.","commit_id":"f1e80d90dab1bbcae4866f553e5d204a3a02183a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7784e187cca9a925625297f856a06584fab94906","unresolved":false,"context_lines":[{"line_number":44,"context_line":"each of the tenant first needs to copy the public image to volume, take a"},{"line_number":45,"context_line":"snapshot of it and finally use that snapshot (internally it will create"},{"line_number":46,"context_line":"another volume from it) for launching new instances. This is a very tedious"},{"line_number":47,"context_line":"and time consuming process."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"This is the main motivation why we want to improve the performance of"},{"line_number":50,"context_line":"unshelving instances booted from image."}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a0c5dc1_86ddbf72","line":47,"updated":"2015-05-12 09:23:51.000000000","message":"The idea was, if the space on the hypervisor where the scheduled instance use to be has not been used by another instance, the unshelve is simply booting back up the old instance, (and deleting the snapshot created during the shelve process?)","commit_id":"f1e80d90dab1bbcae4866f553e5d204a3a02183a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7784e187cca9a925625297f856a06584fab94906","unresolved":false,"context_lines":[{"line_number":47,"context_line":"and time consuming process."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"This is the main motivation why we want to improve the performance of"},{"line_number":50,"context_line":"unshelving instances booted from image."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Project Priority"},{"line_number":53,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a0c5dc1_a6ce83b2","line":50,"updated":"2015-05-12 09:23:51.000000000","message":"Please be more specific about the exact setup you are using, shared storage vs local storage, etc.\n\nI don\u0027t quite have enough context to fully understand your point here. I think those extra details would help here.","commit_id":"f1e80d90dab1bbcae4866f553e5d204a3a02183a"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"46990751c0cb72bd417707629c68d53132d46a92","unresolved":false,"context_lines":[{"line_number":47,"context_line":"and time consuming process."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"This is the main motivation why we want to improve the performance of"},{"line_number":50,"context_line":"unshelving instances booted from image."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Project Priority"},{"line_number":53,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a0c5dc1_4fc0c52a","line":50,"in_reply_to":"9a0c5dc1_a6ce83b2","updated":"2015-05-14 06:27:37.000000000","message":"Done","commit_id":"f1e80d90dab1bbcae4866f553e5d204a3a02183a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7784e187cca9a925625297f856a06584fab94906","unresolved":false,"context_lines":[{"line_number":68,"context_line":"  and memory will be released back to the hypervisor. But these resources are"},{"line_number":69,"context_line":"  still not released from nova hypervisor point of view so the scheduler"},{"line_number":70,"context_line":"  cannot consider these resources for spawning new instances. Quotas are not"},{"line_number":71,"context_line":"  released."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"* shelved_offload_time \u003d 0"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a0c5dc1_26ee13ed","line":71,"updated":"2015-05-12 09:23:51.000000000","message":"I don\u0027t think we release the user quotas in any of these cases, maybe remove that bit from here?","commit_id":"f1e80d90dab1bbcae4866f553e5d204a3a02183a"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"46990751c0cb72bd417707629c68d53132d46a92","unresolved":false,"context_lines":[{"line_number":68,"context_line":"  and memory will be released back to the hypervisor. But these resources are"},{"line_number":69,"context_line":"  still not released from nova hypervisor point of view so the scheduler"},{"line_number":70,"context_line":"  cannot consider these resources for spawning new instances. Quotas are not"},{"line_number":71,"context_line":"  released."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"* shelved_offload_time \u003d 0"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a0c5dc1_6844a473","line":71,"in_reply_to":"9a0c5dc1_26ee13ed","updated":"2015-05-14 06:27:37.000000000","message":"Done","commit_id":"f1e80d90dab1bbcae4866f553e5d204a3a02183a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7784e187cca9a925625297f856a06584fab94906","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"  In this case, instance files of the shelved instance will be retained. CPU"},{"line_number":89,"context_line":"  and memory will be released back to the hypervisor which would be made"},{"line_number":90,"context_line":"  available to the scheduler for launching new instances."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"A new VM state \u0027SHELVED_PARTIAL_OFFLOADED\u0027 and new Task state"},{"line_number":93,"context_line":"\u0027SHELVING_PARTIAL_OFFLOADING\u0027 will be added to indicate instance files of the"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a0c5dc1_46ad8787","line":90,"updated":"2015-05-12 09:23:51.000000000","message":"I think we need to say this assumes using shared disk not local disk?","commit_id":"f1e80d90dab1bbcae4866f553e5d204a3a02183a"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"46990751c0cb72bd417707629c68d53132d46a92","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"  In this case, instance files of the shelved instance will be retained. CPU"},{"line_number":89,"context_line":"  and memory will be released back to the hypervisor which would be made"},{"line_number":90,"context_line":"  available to the scheduler for launching new instances."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"A new VM state \u0027SHELVED_PARTIAL_OFFLOADED\u0027 and new Task state"},{"line_number":93,"context_line":"\u0027SHELVING_PARTIAL_OFFLOADING\u0027 will be added to indicate instance files of the"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a0c5dc1_4fee85b5","line":90,"in_reply_to":"9a0c5dc1_46ad8787","updated":"2015-05-14 06:27:37.000000000","message":"This will work for both, shared as well as local disk.","commit_id":"f1e80d90dab1bbcae4866f553e5d204a3a02183a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7784e187cca9a925625297f856a06584fab94906","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"A new VM state \u0027SHELVED_PARTIAL_OFFLOADED\u0027 and new Task state"},{"line_number":93,"context_line":"\u0027SHELVING_PARTIAL_OFFLOADING\u0027 will be added to indicate instance files of the"},{"line_number":94,"context_line":"shelved instance shouldn\u0027t be deleted. In case of SHELVE_OFFLOAD, all the"},{"line_number":95,"context_line":"resources will be already cleaned up from the compute node so at the api layer"},{"line_number":96,"context_line":"it only releases network/volume resources consumed by the instance when it is"},{"line_number":97,"context_line":"deleted in the shelved_offload state. But when shelved_offload_time is set"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a0c5dc1_a6afa393","line":94,"updated":"2015-05-12 09:23:51.000000000","message":"From the API, I think we should still just show SHELVE_OFFLOAD as this doesn\u0027t affect the end user.","commit_id":"f1e80d90dab1bbcae4866f553e5d204a3a02183a"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"46990751c0cb72bd417707629c68d53132d46a92","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"A new VM state \u0027SHELVED_PARTIAL_OFFLOADED\u0027 and new Task state"},{"line_number":93,"context_line":"\u0027SHELVING_PARTIAL_OFFLOADING\u0027 will be added to indicate instance files of the"},{"line_number":94,"context_line":"shelved instance shouldn\u0027t be deleted. In case of SHELVE_OFFLOAD, all the"},{"line_number":95,"context_line":"resources will be already cleaned up from the compute node so at the api layer"},{"line_number":96,"context_line":"it only releases network/volume resources consumed by the instance when it is"},{"line_number":97,"context_line":"deleted in the shelved_offload state. But when shelved_offload_time is set"}],"source_content_type":"text/x-rst","patch_set":11,"id":"7a016987_ad71bee2","line":94,"in_reply_to":"9a0c5dc1_a6afa393","updated":"2015-05-14 06:27:37.000000000","message":"Hi John,\n\nI have explained why new vm state is required little bit more in new PS.","commit_id":"f1e80d90dab1bbcae4866f553e5d204a3a02183a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7784e187cca9a925625297f856a06584fab94906","unresolved":false,"context_lines":[{"line_number":95,"context_line":"resources will be already cleaned up from the compute node so at the api layer"},{"line_number":96,"context_line":"it only releases network/volume resources consumed by the instance when it is"},{"line_number":97,"context_line":"deleted in the shelved_offload state. But when shelved_offload_time is set"},{"line_number":98,"context_line":"to -2, instance files are still persisting on the compute node and these files"},{"line_number":99,"context_line":"needs to be clean up when the instance is destroyed. To decide whether or not"},{"line_number":100,"context_line":"terminate instance call should be sent to the compute node, there is a need"},{"line_number":101,"context_line":"to introduce a new VM state named as \u0027SHELVED_PARTIAL_OFFLOADED\u0027."}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a0c5dc1_a6b443d1","line":98,"updated":"2015-05-12 09:23:51.000000000","message":"well I think we mean still persisting on shared storage really?","commit_id":"f1e80d90dab1bbcae4866f553e5d204a3a02183a"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"46990751c0cb72bd417707629c68d53132d46a92","unresolved":false,"context_lines":[{"line_number":95,"context_line":"resources will be already cleaned up from the compute node so at the api layer"},{"line_number":96,"context_line":"it only releases network/volume resources consumed by the instance when it is"},{"line_number":97,"context_line":"deleted in the shelved_offload state. But when shelved_offload_time is set"},{"line_number":98,"context_line":"to -2, instance files are still persisting on the compute node and these files"},{"line_number":99,"context_line":"needs to be clean up when the instance is destroyed. To decide whether or not"},{"line_number":100,"context_line":"terminate instance call should be sent to the compute node, there is a need"},{"line_number":101,"context_line":"to introduce a new VM state named as \u0027SHELVED_PARTIAL_OFFLOADED\u0027."}],"source_content_type":"text/x-rst","patch_set":11,"id":"7a016987_ed4e9695","line":98,"in_reply_to":"9a0c5dc1_a6b443d1","updated":"2015-05-14 06:27:37.000000000","message":"Hi John,\n\nYes, in case of new -2 value for shelved_offload_time, we are persisting instance files on the host.","commit_id":"f1e80d90dab1bbcae4866f553e5d204a3a02183a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7784e187cca9a925625297f856a06584fab94906","unresolved":false,"context_lines":[{"line_number":98,"context_line":"to -2, instance files are still persisting on the compute node and these files"},{"line_number":99,"context_line":"needs to be clean up when the instance is destroyed. To decide whether or not"},{"line_number":100,"context_line":"terminate instance call should be sent to the compute node, there is a need"},{"line_number":101,"context_line":"to introduce a new VM state named as \u0027SHELVED_PARTIAL_OFFLOADED\u0027."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"The new configuration value -2 for shelved_offload_time will not have any"},{"line_number":104,"context_line":"impact if instance is booted from volume. In this case, it will function"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a0c5dc1_66ce4b5c","line":101,"updated":"2015-05-12 09:23:51.000000000","message":"Hmm, not sure we have the full story here.\n\nHow does unshelve work?","commit_id":"f1e80d90dab1bbcae4866f553e5d204a3a02183a"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"46990751c0cb72bd417707629c68d53132d46a92","unresolved":false,"context_lines":[{"line_number":98,"context_line":"to -2, instance files are still persisting on the compute node and these files"},{"line_number":99,"context_line":"needs to be clean up when the instance is destroyed. To decide whether or not"},{"line_number":100,"context_line":"terminate instance call should be sent to the compute node, there is a need"},{"line_number":101,"context_line":"to introduce a new VM state named as \u0027SHELVED_PARTIAL_OFFLOADED\u0027."},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"The new configuration value -2 for shelved_offload_time will not have any"},{"line_number":104,"context_line":"impact if instance is booted from volume. In this case, it will function"}],"source_content_type":"text/x-rst","patch_set":11,"id":"7a016987_8db0428d","line":101,"in_reply_to":"9a0c5dc1_66ce4b5c","updated":"2015-05-14 06:27:37.000000000","message":"Hi John,\n\nI have seperated shelve api and unshelve api call in two sections.","commit_id":"f1e80d90dab1bbcae4866f553e5d204a3a02183a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"7784e187cca9a925625297f856a06584fab94906","unresolved":false,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":"The new configuration value -2 for shelved_offload_time will not have any"},{"line_number":104,"context_line":"impact if instance is booted from volume. In this case, it will function"},{"line_number":105,"context_line":"similar to shelved_offload_time is -1, 0 or \u003e 0."},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"Scenarios:"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a0c5dc1_86ca5f4e","line":105,"updated":"2015-05-12 09:23:51.000000000","message":"Good point, thank you for adding this.","commit_id":"f1e80d90dab1bbcae4866f553e5d204a3a02183a"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"df4e528598ee7982d31d56c7f8968673f63afb5c","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":"https://blueprints.launchpad.net/nova/+spec/improve-unshelve-performance"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"We are adding shelved_offload_time \u003d -2 to retain the instance files backed by"},{"line_number":8,"context_line":"shared storage on the compute node when an instance is shelved."},{"line_number":9,"context_line":"When an instance is unshelved, it will then check whether the instance files"},{"line_number":10,"context_line":"are present in the instance path on the destination compute node or not. If"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1af86dd1_2935a045","line":7,"updated":"2015-06-12 19:47:06.000000000","message":"I really don\u0027t like setting this to -2 being the method to activate this feature.  If this feature is going to be added, I think a new config option like shelved_offload_disk \u003d True|False would be better.","commit_id":"0ef2e2689a4806f0c1d05ba0cef4c684d3afbc23"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"350edc6a3a0f5c79236417d0f95ab0707b1fce00","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":"https://blueprints.launchpad.net/nova/+spec/improve-unshelve-performance"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"We are adding shelved_offload_time \u003d -2 to retain the instance files backed by"},{"line_number":8,"context_line":"shared storage on the compute node when an instance is shelved."},{"line_number":9,"context_line":"When an instance is unshelved, it will then check whether the instance files"},{"line_number":10,"context_line":"are present in the instance path on the destination compute node or not. If"}],"source_content_type":"text/x-rst","patch_set":12,"id":"fa32b979_96b9c37b","line":7,"in_reply_to":"1af86dd1_2935a045","updated":"2015-06-17 12:46:33.000000000","message":"Actually the point is I do not think we are speaking about a feature here. Just a hack of the \u0027shelve\u0027 feature. \n\n \u0027-1\u0027 means we never offload the disk\n \u00270\u0027 means we always offload the disk\n \u002760\u0027 means we offload the disk 60 seconds after the vm has been shelved\n\nThe point of this change is to tweak resources to make appear a disk not offloaded has it has been. am i right?","commit_id":"0ef2e2689a4806f0c1d05ba0cef4c684d3afbc23"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"29108316b46c16fcbb7e8eb7056728ad1740427c","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":"https://blueprints.launchpad.net/nova/+spec/improve-unshelve-performance"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"We are adding shelved_offload_time \u003d -2 to retain the instance files backed by"},{"line_number":8,"context_line":"shared storage on the compute node when an instance is shelved."},{"line_number":9,"context_line":"When an instance is unshelved, it will then check whether the instance files"},{"line_number":10,"context_line":"are present in the instance path on the destination compute node or not. If"}],"source_content_type":"text/x-rst","patch_set":12,"id":"fa32b979_dd633119","line":7,"in_reply_to":"1af86dd1_2935a045","updated":"2015-06-16 07:14:58.000000000","message":"Done","commit_id":"0ef2e2689a4806f0c1d05ba0cef4c684d3afbc23"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"36020b71b7689b86ef8dd3d63f0d695276ea0e55","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":"https://blueprints.launchpad.net/nova/+spec/improve-unshelve-performance"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"We are adding shelved_offload_time \u003d -2 to retain the instance files backed by"},{"line_number":8,"context_line":"shared storage on the compute node when an instance is shelved."},{"line_number":9,"context_line":"When an instance is unshelved, it will then check whether the instance files"},{"line_number":10,"context_line":"are present in the instance path on the destination compute node or not. If"}],"source_content_type":"text/x-rst","patch_set":12,"id":"fa32b979_f61c336c","line":7,"in_reply_to":"fa32b979_96b9c37b","updated":"2015-06-22 06:28:39.000000000","message":"Hi Sahid,\n\nIn following cases also instance disk will not be destroyed and network and memory will be released back to hypervisor in case of shared storage is configured.\n\n 1. evacuate (destroying evacuated instances)\n 2. revert resize operation\n 3. Live migration\n\nWe are just using this existing way (while shelving) to fulfill our use case.\n\nAlso even though this solution will work for both shared and non-shared storage cases, we highly recommend that \u0027shelved_offload_disk\u0027 should be enabled only case of shared storage deployment.","commit_id":"0ef2e2689a4806f0c1d05ba0cef4c684d3afbc23"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"f5c8ef4add6fa4f32ca121e9f7a6fe4965cf74bd","unresolved":false,"context_lines":[{"line_number":146,"context_line":""},{"line_number":147,"context_line":"New value will be added:"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"* shelved_offload_time \u003d -2"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"  In this case, instance files will be retained in the instance path during"},{"line_number":152,"context_line":"  shelving instance. CPU and memory will be released back to the hypervisor"}],"source_content_type":"text/x-rst","patch_set":12,"id":"7a016987_ba3cbde1","line":149,"updated":"2015-05-29 10:52:21.000000000","message":"In a context of block-storage we can have a host with free RAM and CPU but disk full, right? - I don\u0027t get the use case to release CPU, RAM but not the disk.\n\nIf you want be able to boot quickly so just set the shelved_offload_time to a big value. Or -2 can be used to never remove the disk from the hypervisor. (Which is basically shutdown an instance)","commit_id":"0ef2e2689a4806f0c1d05ba0cef4c684d3afbc23"},{"author":{"_account_id":7135,"name":"Liang Chen","email":"liangchen.linux@gmail.com","username":"Liang"},"change_message_id":"b4e259451a749b6d417fc60068196d7f9491478c","unresolved":false,"context_lines":[{"line_number":146,"context_line":""},{"line_number":147,"context_line":"New value will be added:"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"* shelved_offload_time \u003d -2"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"  In this case, instance files will be retained in the instance path during"},{"line_number":152,"context_line":"  shelving instance. CPU and memory will be released back to the hypervisor"}],"source_content_type":"text/x-rst","patch_set":12,"id":"1af86dd1_7fffc601","line":149,"in_reply_to":"7a016987_ba3cbde1","updated":"2015-06-12 20:51:16.000000000","message":"I agree that in a context of shared-storage when this disk is full there is little point to free RAM and CPU. However there are also situations where RAM and CPU are in shortage but not disk. In those situation this feature would be helpful to release resources back without compromising unshelve speed. My 2 cents, Thanks","commit_id":"0ef2e2689a4806f0c1d05ba0cef4c684d3afbc23"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"445a9fab87590cceb3f843c3b80de65cabd3429d","unresolved":false,"context_lines":[{"line_number":5,"context_line":"https://blueprints.launchpad.net/nova/+spec/improve-unshelve-performance"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"We are introducing new configuration parameter shelved_offload_disk"},{"line_number":8,"context_line":"True/False. Service provider should set shelved_offload_disk as True to retain"},{"line_number":9,"context_line":"instance files backed by shared storage on the compute node when an instance"},{"line_number":10,"context_line":"is shelved."},{"line_number":11,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"ba3cc151_9a1e886e","line":8,"updated":"2015-07-02 21:51:23.000000000","message":"This seems backwards.  shelved_offload_disk would be False in order to retain them, True means they would get offloaded.","commit_id":"ad70fd06e60c5b0a72e19668adecb9a6a05411f2"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"f6db1d47d2f9d989219b3b5506df20296ab78600","unresolved":false,"context_lines":[{"line_number":5,"context_line":"https://blueprints.launchpad.net/nova/+spec/improve-unshelve-performance"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"We are introducing new configuration parameter shelved_offload_disk"},{"line_number":8,"context_line":"True/False. Service provider should set shelved_offload_disk as True to retain"},{"line_number":9,"context_line":"instance files backed by shared storage on the compute node when an instance"},{"line_number":10,"context_line":"is shelved."},{"line_number":11,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"ba3cc151_861cce14","line":8,"in_reply_to":"ba3cc151_9a1e886e","updated":"2015-07-03 17:39:52.000000000","message":"Done","commit_id":"ad70fd06e60c5b0a72e19668adecb9a6a05411f2"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"445a9fab87590cceb3f843c3b80de65cabd3429d","unresolved":false,"context_lines":[{"line_number":114,"context_line":""},{"line_number":115,"context_line":"The current shelve/unshelve instance implementation doesn\u0027t meet the above 2"},{"line_number":116,"context_line":"use cases as a combined requirement and the deployment strategies we are"},{"line_number":117,"context_line":"intending to use in our cloud."},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"Project Priority"},{"line_number":120,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"ba3cc151_5528d132","line":117,"updated":"2015-07-02 21:51:23.000000000","message":"All of the discussion about host aggregates seems like too much scope for this, and outside of the key functionality being discussed here.","commit_id":"ad70fd06e60c5b0a72e19668adecb9a6a05411f2"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"f6db1d47d2f9d989219b3b5506df20296ab78600","unresolved":false,"context_lines":[{"line_number":114,"context_line":""},{"line_number":115,"context_line":"The current shelve/unshelve instance implementation doesn\u0027t meet the above 2"},{"line_number":116,"context_line":"use cases as a combined requirement and the deployment strategies we are"},{"line_number":117,"context_line":"intending to use in our cloud."},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"Project Priority"},{"line_number":120,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"ba3cc151_06bafec0","line":117,"in_reply_to":"ba3cc151_5528d132","updated":"2015-07-03 17:39:52.000000000","message":"Hi Andrew,\n\nWe have decided to reducing the scope of the spec to make it only specific to unshelve api performance.","commit_id":"ad70fd06e60c5b0a72e19668adecb9a6a05411f2"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"445a9fab87590cceb3f843c3b80de65cabd3429d","unresolved":false,"context_lines":[{"line_number":126,"context_line":""},{"line_number":127,"context_line":"Add new configuration parameter \"shelved_offload_disk\" default to False."},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"* shelved_offload_disk \u003d True"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"  In this case, if shelved_offload_time is 0 or \u003e 0 then instance files will"},{"line_number":132,"context_line":"  be retained in the instance path during shelving instance. CPU and memory"}],"source_content_type":"text/x-rst","patch_set":13,"id":"ba3cc151_f544854a","line":129,"updated":"2015-07-02 21:51:23.000000000","message":"As above, this seems backwards.","commit_id":"ad70fd06e60c5b0a72e19668adecb9a6a05411f2"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"f6db1d47d2f9d989219b3b5506df20296ab78600","unresolved":false,"context_lines":[{"line_number":126,"context_line":""},{"line_number":127,"context_line":"Add new configuration parameter \"shelved_offload_disk\" default to False."},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"* shelved_offload_disk \u003d True"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"  In this case, if shelved_offload_time is 0 or \u003e 0 then instance files will"},{"line_number":132,"context_line":"  be retained in the instance path during shelving instance. CPU and memory"}],"source_content_type":"text/x-rst","patch_set":13,"id":"ba3cc151_86e36e05","line":129,"in_reply_to":"ba3cc151_f544854a","updated":"2015-07-03 17:39:52.000000000","message":"Done","commit_id":"ad70fd06e60c5b0a72e19668adecb9a6a05411f2"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"445a9fab87590cceb3f843c3b80de65cabd3429d","unresolved":false,"context_lines":[{"line_number":133,"context_line":"  will be released back to the hypervisor which would be made available"},{"line_number":134,"context_line":"  to the nova scheduler for launching new instances."},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"A new VM state \u0027SHELVED_PARTIAL_OFFLOADED\u0027 will be required to indicate"},{"line_number":137,"context_line":"instance files are still present on the shelved host (shared storage) if user"},{"line_number":138,"context_line":"attempts to delete an instance which is shelved so that it can call"},{"line_number":139,"context_line":"terminate_instance compute rpcapi to cleanup resources."}],"source_content_type":"text/x-rst","patch_set":13,"id":"ba3cc151_7585d557","line":136,"updated":"2015-07-02 21:51:23.000000000","message":"I think this should be avoided if possible.  \u0027shelved_host\u0027 is in system_metadata and can be used to send a cleanup call as described below starting at line #145.","commit_id":"ad70fd06e60c5b0a72e19668adecb9a6a05411f2"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"f6db1d47d2f9d989219b3b5506df20296ab78600","unresolved":false,"context_lines":[{"line_number":133,"context_line":"  will be released back to the hypervisor which would be made available"},{"line_number":134,"context_line":"  to the nova scheduler for launching new instances."},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"A new VM state \u0027SHELVED_PARTIAL_OFFLOADED\u0027 will be required to indicate"},{"line_number":137,"context_line":"instance files are still present on the shelved host (shared storage) if user"},{"line_number":138,"context_line":"attempts to delete an instance which is shelved so that it can call"},{"line_number":139,"context_line":"terminate_instance compute rpcapi to cleanup resources."}],"source_content_type":"text/x-rst","patch_set":13,"id":"ba3cc151_86912e55","line":136,"in_reply_to":"ba3cc151_7585d557","updated":"2015-07-03 17:39:52.000000000","message":"Hi Andrew,\n\nYes, I have removed it in new PS. \u0027shelved_host\u0027 is in system_metadata and can be used to send a cleanup call.","commit_id":"ad70fd06e60c5b0a72e19668adecb9a6a05411f2"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"445a9fab87590cceb3f843c3b80de65cabd3429d","unresolved":false,"context_lines":[{"line_number":160,"context_line":"* CPU/Memory will be released."},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"* Store \u0027host_aggregate_group_id\u0027 in instance system metadata."},{"line_number":163,"context_line":"  (Refer to Note-1 for the reasons where host_aggregate_group_id is needed)"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"* Instance host and node will be set to None similar to SHELVE_OFFLOAD case."},{"line_number":166,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"ba3cc151_95c09951","line":163,"updated":"2015-07-02 21:51:23.000000000","message":"I don\u0027t think this should be included here.  Storing host aggregate information should not be tied to the shelving feature.  There is some work to store the scheduling information used when an instance is booted and this feature should rely on that if it\u0027s needed.  https://review.openstack.org/#/c/173316/","commit_id":"ad70fd06e60c5b0a72e19668adecb9a6a05411f2"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"f6db1d47d2f9d989219b3b5506df20296ab78600","unresolved":false,"context_lines":[{"line_number":160,"context_line":"* CPU/Memory will be released."},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"* Store \u0027host_aggregate_group_id\u0027 in instance system metadata."},{"line_number":163,"context_line":"  (Refer to Note-1 for the reasons where host_aggregate_group_id is needed)"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"* Instance host and node will be set to None similar to SHELVE_OFFLOAD case."},{"line_number":166,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"ba3cc151_86c60e48","line":163,"in_reply_to":"ba3cc151_95c09951","updated":"2015-07-03 17:39:52.000000000","message":"Hi Andrew,\n\nWe have decided to reducing the scope of the spec to make it only specific to unshelve api performance.","commit_id":"ad70fd06e60c5b0a72e19668adecb9a6a05411f2"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"445a9fab87590cceb3f843c3b80de65cabd3429d","unresolved":false,"context_lines":[{"line_number":235,"context_line":""},{"line_number":236,"context_line":"If instance path is not configured on shared storage then instance will"},{"line_number":237,"context_line":"be spawned using snapshot. In this case instance files will be present on"},{"line_number":238,"context_line":"the shelved host. We will add a new synchronous compute rpcapi"},{"line_number":239,"context_line":"\u0027post_unshelving_instance_at_shelved_host\u0027 which will delete the instance"},{"line_number":240,"context_line":"files from shelved host."},{"line_number":241,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"ba3cc151_756155a8","line":238,"updated":"2015-07-02 21:51:23.000000000","message":"They\u0027ll only be present if shelved_offload_disk is False right?  Which shouldn\u0027t be the case if non-shared storage is used.  So this step should be unnecessary.","commit_id":"ad70fd06e60c5b0a72e19668adecb9a6a05411f2"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"f6db1d47d2f9d989219b3b5506df20296ab78600","unresolved":false,"context_lines":[{"line_number":235,"context_line":""},{"line_number":236,"context_line":"If instance path is not configured on shared storage then instance will"},{"line_number":237,"context_line":"be spawned using snapshot. In this case instance files will be present on"},{"line_number":238,"context_line":"the shelved host. We will add a new synchronous compute rpcapi"},{"line_number":239,"context_line":"\u0027post_unshelving_instance_at_shelved_host\u0027 which will delete the instance"},{"line_number":240,"context_line":"files from shelved host."},{"line_number":241,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"ba3cc151_86784e2d","line":238,"in_reply_to":"ba3cc151_756155a8","updated":"2015-07-03 17:39:52.000000000","message":"Hi Andrew,\n\nYou are right, I have removed it in new PS.","commit_id":"ad70fd06e60c5b0a72e19668adecb9a6a05411f2"},{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"a91cbf5c325951053bae06d7a5b627ac319d2c6e","unresolved":false,"context_lines":[{"line_number":235,"context_line":""},{"line_number":236,"context_line":"If instance path is not configured on shared storage then instance will"},{"line_number":237,"context_line":"be spawned using snapshot. In this case instance files will be present on"},{"line_number":238,"context_line":"the shelved host. We will add a new synchronous compute rpcapi"},{"line_number":239,"context_line":"\u0027post_unshelving_instance_at_shelved_host\u0027 which will delete the instance"},{"line_number":240,"context_line":"files from shelved host."},{"line_number":241,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"ba3cc151_84170a44","line":238,"in_reply_to":"ba3cc151_756155a8","updated":"2015-07-03 04:12:29.000000000","message":"So, what you are suggesting is in case of non-shared storage (instance path not mounted on shared storage), cloud operator must not set shelve_offload_disk\u003dFalse, correct?","commit_id":"ad70fd06e60c5b0a72e19668adecb9a6a05411f2"},{"author":{"_account_id":5441,"name":"Andrew Laski","email":"andrew@lascii.com","username":"alaski"},"change_message_id":"ad06bca10d13ef18fb541433d930eefa0aa4b088","unresolved":false,"context_lines":[{"line_number":235,"context_line":""},{"line_number":236,"context_line":"If instance path is not configured on shared storage then instance will"},{"line_number":237,"context_line":"be spawned using snapshot. In this case instance files will be present on"},{"line_number":238,"context_line":"the shelved host. We will add a new synchronous compute rpcapi"},{"line_number":239,"context_line":"\u0027post_unshelving_instance_at_shelved_host\u0027 which will delete the instance"},{"line_number":240,"context_line":"files from shelved host."},{"line_number":241,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"ba3cc151_8309f9df","line":238,"in_reply_to":"ba3cc151_84170a44","updated":"2015-07-06 13:15:39.000000000","message":"Tushar: Yes, I\u0027m saying that shelved_offload_disk should only be False when shared storage is used.  However if someone wants to set it to True I suppose this could just check if shelved_offload_disk is True and call the cleanup method.  But this logic would be based on the shelved_offload_disk config setting and not whether or not shared storage is in use.","commit_id":"ad70fd06e60c5b0a72e19668adecb9a6a05411f2"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"6d455f17b26bc301d7667bb720426b6f0fff2490","unresolved":false,"context_lines":[{"line_number":84,"context_line":"**Shelve api call:**"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"* Take instance snapshot."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"* shelved_host (host where the instance is running) will be set to"},{"line_number":89,"context_line":"  instance_system_metadata."},{"line_number":90,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"ba3cc151_641342b9","line":87,"updated":"2015-07-08 02:15:00.000000000","message":"I understand.Thank you for your answer.","commit_id":"2036cacc53eb5361116fc3d99d1204e26973daae"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"7c51ff1d28e8a897efd3d55be71b8a2012336221","unresolved":false,"context_lines":[{"line_number":84,"context_line":"**Shelve api call:**"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"* Take instance snapshot."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"* shelved_host (host where the instance is running) will be set to"},{"line_number":89,"context_line":"  instance_system_metadata."},{"line_number":90,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"ba3cc151_33282233","line":87,"updated":"2015-07-08 00:20:48.000000000","message":"Is this mean to upload an instance snapshot image?\nNow an instance is set to an error state if the instance file is not found in an instance path when unshelving.\nSo is it unnecessary to upload an instance snapshot image?","commit_id":"2036cacc53eb5361116fc3d99d1204e26973daae"},{"author":{"_account_id":6466,"name":"Kentaro Takeda","email":"takedakn@nttdata.co.jp","username":"takedakn"},"change_message_id":"7016f2c38fb3ce61d305588ca6855d6ea0aaf17d","unresolved":false,"context_lines":[{"line_number":84,"context_line":"**Shelve api call:**"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"* Take instance snapshot."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"* shelved_host (host where the instance is running) will be set to"},{"line_number":89,"context_line":"  instance_system_metadata."},{"line_number":90,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"ba3cc151_16386ced","line":87,"in_reply_to":"ba3cc151_33282233","updated":"2015-07-08 01:15:20.000000000","message":"The instance disk file stored in compute node is just a cache, so IMO snapshot is still required like the current shelve behavior.","commit_id":"2036cacc53eb5361116fc3d99d1204e26973daae"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d7a7266846c7b015c35ade9e03b19a9ea52b93d4","unresolved":false,"context_lines":[{"line_number":21,"context_line":"time varies and it mainly depends on the size of the instance snapshot and"},{"line_number":22,"context_line":"the network speed between glance and nova servers."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"If you have configured file store (shared storage) as a backend in Glance for"},{"line_number":25,"context_line":"storing images/snapshots, then it\u0027s possible to improve the performance of"},{"line_number":26,"context_line":"unshelve instance dramatically by configuring nova.image.download.FileTransfer"},{"line_number":27,"context_line":"in nova. In this case, it simply copies the instance snapshot as if it is"}],"source_content_type":"text/x-rst","patch_set":15,"id":"ba3cc151_c47432d0","line":24,"updated":"2015-07-09 13:33:38.000000000","message":"I\u0027m confused by \u0027file store (shared storage)\u0027 here - the default glance store backend is the filesystem store.  Shared storage backends would be like rbd and sheepdog, right?  So I think I\u0027m confused about your problem description with respect to glance\u0027s default performance with the filesystem store backend versus what your saying with a shared storage backend like rbd (ceph) or sheepdog.","commit_id":"aafc82a826cd211eb4dc5a4cdc49887b1bd4f621"},{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"6229dbdf9ca09ca1b64effa312412c27c961d415","unresolved":false,"context_lines":[{"line_number":21,"context_line":"time varies and it mainly depends on the size of the instance snapshot and"},{"line_number":22,"context_line":"the network speed between glance and nova servers."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"If you have configured file store (shared storage) as a backend in Glance for"},{"line_number":25,"context_line":"storing images/snapshots, then it\u0027s possible to improve the performance of"},{"line_number":26,"context_line":"unshelve instance dramatically by configuring nova.image.download.FileTransfer"},{"line_number":27,"context_line":"in nova. In this case, it simply copies the instance snapshot as if it is"}],"source_content_type":"text/x-rst","patch_set":15,"id":"ba3cc151_5ea0e9f3","line":24,"in_reply_to":"ba3cc151_c47432d0","updated":"2015-07-09 15:41:13.000000000","message":"NFS servers can be used as a filesystem store in glance and it\u0027s also possible to configure same NFS servers between glance and nova using nova.image.download.FileTransfer driver for download images faster.","commit_id":"aafc82a826cd211eb4dc5a4cdc49887b1bd4f621"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d7a7266846c7b015c35ade9e03b19a9ea52b93d4","unresolved":false,"context_lines":[{"line_number":30,"context_line":"nova increases enormously resulting in slow spawning of"},{"line_number":31,"context_line":"the instances."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"If glance uses ceph as a backend, then there won\u0027t be any performance hit for"},{"line_number":34,"context_line":"downloading instance snapshot compared to all other supported backends except"},{"line_number":35,"context_line":"file store because nova allows you to configure glance file store backend to"},{"line_number":36,"context_line":"act as local store on the compute nodes and it unshelves instance faster"}],"source_content_type":"text/x-rst","patch_set":15,"id":"ba3cc151_84286a98","line":33,"updated":"2015-07-09 13:33:38.000000000","message":"Does this only apply to the rbd backend in glance?  What about sheepdog?","commit_id":"aafc82a826cd211eb4dc5a4cdc49887b1bd4f621"},{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"6229dbdf9ca09ca1b64effa312412c27c961d415","unresolved":false,"context_lines":[{"line_number":30,"context_line":"nova increases enormously resulting in slow spawning of"},{"line_number":31,"context_line":"the instances."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"If glance uses ceph as a backend, then there won\u0027t be any performance hit for"},{"line_number":34,"context_line":"downloading instance snapshot compared to all other supported backends except"},{"line_number":35,"context_line":"file store because nova allows you to configure glance file store backend to"},{"line_number":36,"context_line":"act as local store on the compute nodes and it unshelves instance faster"}],"source_content_type":"text/x-rst","patch_set":15,"id":"ba3cc151_4bf02a91","line":33,"in_reply_to":"ba3cc151_84286a98","updated":"2015-07-09 15:41:13.000000000","message":"Glance can use sheepdog as a backend. We have done testing with ceph and filesystem store backends only at this point. We will add sheepdog too in the next PS.","commit_id":"aafc82a826cd211eb4dc5a4cdc49887b1bd4f621"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d7a7266846c7b015c35ade9e03b19a9ea52b93d4","unresolved":false,"context_lines":[{"line_number":68,"context_line":"Proposed change"},{"line_number":69,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"Add new configuration parameter \"shelved_offload_disk\" default to True."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"* shelved_offload_disk \u003d False"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"ba3cc151_e7413864","line":71,"updated":"2015-07-09 13:33:38.000000000","message":"I assume you default the new option to True to retain the current behavior, but if this is a performance gain, why not default to False?  I don\u0027t see anything in the proposed change that says whether or not it\u0027s checking if the configured glance store backend is shared storage or not to control code flow here - which makes me wonder if it matters?  i.e. as an operator, should I only set shelved_offload_disk\u003dFalse if I\u0027m using a shared storage backend in glance like rbd or sheepdog?  What happens if I\u0027m using the default filesystem store backend in glance but set shelved_offload_disk\u003dFalse?  Does it just work as normal but without the performance gain?  If that\u0027s the case, then it would seem we don\u0027t even need a new config option for this.\n\nMaybe another way of asking is, if when we do the shelve/unshelve, if we can determine that we\u0027re using shared storage we just do the performant thing so we don\u0027t need a config option - is that possible?","commit_id":"aafc82a826cd211eb4dc5a4cdc49887b1bd4f621"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"5094fbf9f34dff993ecf6966ee27d9f350057338","unresolved":false,"context_lines":[{"line_number":68,"context_line":"Proposed change"},{"line_number":69,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"Add new configuration parameter \"shelved_offload_disk\" default to True."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"* shelved_offload_disk \u003d False"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"9a41bdd9_8bb8ece6","line":71,"in_reply_to":"ba3cc151_a2075e80","updated":"2015-07-14 07:01:31.000000000","message":"Hi Matt,\n\nI have explained this flow in \"UnShelve api call\" at line #99","commit_id":"aafc82a826cd211eb4dc5a4cdc49887b1bd4f621"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"13803c1131a553655445f4a978f972354460be6f","unresolved":false,"context_lines":[{"line_number":68,"context_line":"Proposed change"},{"line_number":69,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"Add new configuration parameter \"shelved_offload_disk\" default to True."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"* shelved_offload_disk \u003d False"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"ba3cc151_a2075e80","line":71,"in_reply_to":"ba3cc151_b9410fab","updated":"2015-07-10 15:14:06.000000000","message":"Maybe you want to add that information to the spec since it wasn\u0027t clear to me.","commit_id":"aafc82a826cd211eb4dc5a4cdc49887b1bd4f621"},{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"6229dbdf9ca09ca1b64effa312412c27c961d415","unresolved":false,"context_lines":[{"line_number":68,"context_line":"Proposed change"},{"line_number":69,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"Add new configuration parameter \"shelved_offload_disk\" default to True."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"* shelved_offload_disk \u003d False"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"ba3cc151_b9410fab","line":71,"in_reply_to":"ba3cc151_e7413864","updated":"2015-07-09 15:41:13.000000000","message":"We can detect whether instance disk files are present or not based on instance_on_disk interface defined in virt.driver.py. If instance disk files are present, then simply start instance or else download the instance snapshot and call spawn method to unshelve instance.\n\nAndrew suggested to introduce \"shelved_offload_disk\" new config option  in PS 12. The main idea here is operators must set \"shelved_offload_disk\" config option to False only when instance paths are mounted on the shared storage. \n\nWe don\u0027t want to enable performance gain for non-shared storage because it comes with complexity of removing instance disk files from the source compute node after the instance has been unshelved successfully on the newly selected compute nodes which could be error prone(for example, source compute node is down at the time of unshelving instance, and there is no way to clean up instance disk files from it as instance.host is set to None).","commit_id":"aafc82a826cd211eb4dc5a4cdc49887b1bd4f621"}],"specs/mitaka/approved/improve-unshelve-performance.rst":[{"author":{"_account_id":7461,"name":"Paul Murray","email":"pmurray@hpe.com","username":"ptm"},"change_message_id":"c44463ecc07c0d47335cbaa1f478b76d9974d248","unresolved":false,"context_lines":[{"line_number":57,"context_line":"each of the tenant first needs to copy the public image to volume, take a"},{"line_number":58,"context_line":"snapshot of it and finally use that snapshot (internally it will create"},{"line_number":59,"context_line":"another volume from it) for launching new instances. This is a very tedious"},{"line_number":60,"context_line":"and time consuming process."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"Project Priority"}],"source_content_type":"text/x-rst","patch_set":17,"id":"5a2ca52d_f1350846","line":60,"updated":"2015-10-14 13:49:35.000000000","message":"The above description should go in the alternatives section. It describes what we have to do as an alternative to the feature you are proposing.","commit_id":"26f7fda1a8ea8620ae2b3fa15b42e3099840dcdc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"2152d8e2eda966e196e86d3619a1a1ec756889e7","unresolved":false,"context_lines":[{"line_number":57,"context_line":"each of the tenant first needs to copy the public image to volume, take a"},{"line_number":58,"context_line":"snapshot of it and finally use that snapshot (internally it will create"},{"line_number":59,"context_line":"another volume from it) for launching new instances. This is a very tedious"},{"line_number":60,"context_line":"and time consuming process."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"Project Priority"}],"source_content_type":"text/x-rst","patch_set":17,"id":"5a2ca52d_95b7c085","line":60,"in_reply_to":"5a2ca52d_f1350846","updated":"2015-10-15 07:09:59.000000000","message":"I will move it and upload new PS.","commit_id":"26f7fda1a8ea8620ae2b3fa15b42e3099840dcdc"},{"author":{"_account_id":7461,"name":"Paul Murray","email":"pmurray@hpe.com","username":"ptm"},"change_message_id":"c44463ecc07c0d47335cbaa1f478b76d9974d248","unresolved":false,"context_lines":[{"line_number":109,"context_line":"   * Power on the instance on the destination compute host"},{"line_number":110,"context_line":"   * Delete instance snapshot."},{"line_number":111,"context_line":"   * Delete shelved information from instance system metadata."},{"line_number":112,"context_line":"   * VM state will be set to ACTIVE."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"2. If instance files not exists"},{"line_number":115,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"5a2ca52d_518cfc34","line":112,"updated":"2015-10-14 13:49:35.000000000","message":"I think you have missed a step to reclaim resources.\n\nIf the hypervisor resources have been released, but the image is on disk, it is possible there are now insufficient resources due to other instances being placed on the host. In this case the shelved instance would have to go to another host. I don\u0027t see that case covered.","commit_id":"26f7fda1a8ea8620ae2b3fa15b42e3099840dcdc"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"2152d8e2eda966e196e86d3619a1a1ec756889e7","unresolved":false,"context_lines":[{"line_number":109,"context_line":"   * Power on the instance on the destination compute host"},{"line_number":110,"context_line":"   * Delete instance snapshot."},{"line_number":111,"context_line":"   * Delete shelved information from instance system metadata."},{"line_number":112,"context_line":"   * VM state will be set to ACTIVE."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"2. If instance files not exists"},{"line_number":115,"context_line":""}],"source_content_type":"text/x-rst","patch_set":17,"id":"5a2ca52d_1583b099","line":112,"in_reply_to":"5a2ca52d_518cfc34","updated":"2015-10-15 07:09:59.000000000","message":"Hi Paul,\n\nWe have not modifying conductor (scheduler) code and it will function as it is. It is guaranteed that scheduler will select host where resources (memory/vcpus) are available. So there is no need to cover this case.","commit_id":"26f7fda1a8ea8620ae2b3fa15b42e3099840dcdc"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"314493e123742208fedce3446409df62309d08b9","unresolved":false,"context_lines":[{"line_number":68,"context_line":"  In this case, if shelved_offload_time is 0 or \u003e 0 then instance files will"},{"line_number":69,"context_line":"  be retained in the instance path during shelving instance. CPU and memory"},{"line_number":70,"context_line":"  will be released back to the hypervisor which would be made available"},{"line_number":71,"context_line":"  to the nova scheduler for launching new instances."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"The new configuration parameter shelved_offload_disk will not have any"},{"line_number":74,"context_line":"impact if instance is booted from volume. In this case, it will function"}],"source_content_type":"text/x-rst","patch_set":18,"id":"da85f559_53b5cbeb","line":71,"updated":"2015-11-10 13:34:00.000000000","message":"That usually amounts to shelve-offloaded, so there is no longer a host associated with the instance.\n\nNot doing that will really complicate the resource tracker.","commit_id":"d159b3bbe947f31767b745abe908266f4f27257b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e106fc58665ea0edd6038594bd42ac17525560c3","unresolved":false,"context_lines":[{"line_number":68,"context_line":"  In this case, if shelved_offload_time is 0 or \u003e 0 then instance files will"},{"line_number":69,"context_line":"  be retained in the instance path during shelving instance. CPU and memory"},{"line_number":70,"context_line":"  will be released back to the hypervisor which would be made available"},{"line_number":71,"context_line":"  to the nova scheduler for launching new instances."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"The new configuration parameter shelved_offload_disk will not have any"},{"line_number":74,"context_line":"impact if instance is booted from volume. In this case, it will function"}],"source_content_type":"text/x-rst","patch_set":18,"id":"ba8a016a_a2952089","line":71,"in_reply_to":"ba8a016a_3d2a4a2d","updated":"2015-11-20 15:07:22.000000000","message":"If you can detect that you\u0027re on shared storage, why require a configuration option?  Just make it automatic in the code.","commit_id":"d159b3bbe947f31767b745abe908266f4f27257b"},{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"34bf99fdfb4e03a004dc31b1caf1b1394241c8b6","unresolved":false,"context_lines":[{"line_number":68,"context_line":"  In this case, if shelved_offload_time is 0 or \u003e 0 then instance files will"},{"line_number":69,"context_line":"  be retained in the instance path during shelving instance. CPU and memory"},{"line_number":70,"context_line":"  will be released back to the hypervisor which would be made available"},{"line_number":71,"context_line":"  to the nova scheduler for launching new instances."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"The new configuration parameter shelved_offload_disk will not have any"},{"line_number":74,"context_line":"impact if instance is booted from volume. In this case, it will function"}],"source_content_type":"text/x-rst","patch_set":18,"id":"ba8a016a_821fb1b6","line":71,"in_reply_to":"ba8a016a_a2952089","updated":"2015-11-20 18:36:28.000000000","message":"Hi Matt,\n\nDetection of shared storage is only possible during the unshelving process without config option. \n\nRight now, after you shelve instance, the user can see snapshot is taken before it is shelved_offloaded.\n\nso, whether to take a snapshot or not can be based upon either using a new config option (shelved_offload_disk) and/or input from a user in the shelve API (API change).\n\nIf shelve API doesn’t take snapshot when shelved_offload_disk\u003dFalse, then a user might think something went wrong.\n\nIMO, we should try to implement this feature incrementally. In the first phase, let’s take a snapshot and then in the next step figure out how to pass snapshot information to the user.","commit_id":"d159b3bbe947f31767b745abe908266f4f27257b"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"050377a660a7beac2f91c6404f85482f6ebc3ea5","unresolved":false,"context_lines":[{"line_number":68,"context_line":"  In this case, if shelved_offload_time is 0 or \u003e 0 then instance files will"},{"line_number":69,"context_line":"  be retained in the instance path during shelving instance. CPU and memory"},{"line_number":70,"context_line":"  will be released back to the hypervisor which would be made available"},{"line_number":71,"context_line":"  to the nova scheduler for launching new instances."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"The new configuration parameter shelved_offload_disk will not have any"},{"line_number":74,"context_line":"impact if instance is booted from volume. In this case, it will function"}],"source_content_type":"text/x-rst","patch_set":18,"id":"ba8a016a_3d2a4a2d","line":71,"in_reply_to":"ba8a016a_f664584a","updated":"2015-11-18 06:46:30.000000000","message":"Hi John,\n\nI have added in \u0027Other Deployment Impact\u0027 section that \u0027shelved_offload_disk\u0027 will set to False only if instance path is mounted on shared storage.\n\nRegarding resource provider specs, AFAIK it is not helping in improving performance of shelve/unshelve api. It is for reporting correct hypervisor-stats and resources in case of shared storage case.","commit_id":"d159b3bbe947f31767b745abe908266f4f27257b"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"b65dd28d90e2550ddff9a70f1c4971bb01756f55","unresolved":false,"context_lines":[{"line_number":68,"context_line":"  In this case, if shelved_offload_time is 0 or \u003e 0 then instance files will"},{"line_number":69,"context_line":"  be retained in the instance path during shelving instance. CPU and memory"},{"line_number":70,"context_line":"  will be released back to the hypervisor which would be made available"},{"line_number":71,"context_line":"  to the nova scheduler for launching new instances."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"The new configuration parameter shelved_offload_disk will not have any"},{"line_number":74,"context_line":"impact if instance is booted from volume. In this case, it will function"}],"source_content_type":"text/x-rst","patch_set":18,"id":"da85f559_cd70d342","line":71,"in_reply_to":"da85f559_53b5cbeb","updated":"2015-11-12 05:56:05.000000000","message":"Thank you for bringing this point up. After taking a look at the resource tracker code closely, we have discovered few more things which requires attention.\n\nI agree, resource tracker involves complications especially in calculating local_gb_used and free_disk_gb for instances whose host is set to None during shelving process. If these calculations goes wrong, then it could lead to a potential security threat of unaccounted disk instance files which would consume entire disk storage space if malicious user attempts to shelved too many instances. In such case, scheduler will think compute nodes has enough disk space and it will assign compute node to launch new instances to find out they are going into the error state.\n\nWe are still figuring out how to calculate local_gb_used and free_disk_gb correctly when host is unassigned and instance disk files are present for shelved_offloaded instances.","commit_id":"d159b3bbe947f31767b745abe908266f4f27257b"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e82f4aa1110b1efff856b399338dd34ef0548831","unresolved":false,"context_lines":[{"line_number":68,"context_line":"  In this case, if shelved_offload_time is 0 or \u003e 0 then instance files will"},{"line_number":69,"context_line":"  be retained in the instance path during shelving instance. CPU and memory"},{"line_number":70,"context_line":"  will be released back to the hypervisor which would be made available"},{"line_number":71,"context_line":"  to the nova scheduler for launching new instances."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"The new configuration parameter shelved_offload_disk will not have any"},{"line_number":74,"context_line":"impact if instance is booted from volume. In this case, it will function"}],"source_content_type":"text/x-rst","patch_set":18,"id":"ba8a016a_f664584a","line":71,"in_reply_to":"da85f559_cd70d342","updated":"2015-11-16 10:01:53.000000000","message":"Agreed you use up the shared disk space.\n\nTrying to find a way to make this change less intrusive.\n\nWe could only allow this mode when using shared storage. There is a resource provider spec that is looking to help with some of this effort.\n\nFor me this is the key sticking point. This is too much work in an area that is being reworked at the moment.\n\nEither way, I feel we need to include a not in the alternatives about either of these things.","commit_id":"d159b3bbe947f31767b745abe908266f4f27257b"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"314493e123742208fedce3446409df62309d08b9","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"**Shelve api call:**"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"* Take instance snapshot."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"* shelved_host (host where the instance is running) will be set to"},{"line_number":82,"context_line":"  instance_system_metadata."}],"source_content_type":"text/x-rst","patch_set":18,"id":"da85f559_13a503a1","line":79,"updated":"2015-11-10 13:34:00.000000000","message":"why not just treat this like the boot from volume case, and don\u0027t take a snapshot?\n\nThe only reason the snapshot is taken is so the instance files can be deleted, if we don\u0027t delete them, then no need for the snapshot, I think.","commit_id":"d159b3bbe947f31767b745abe908266f4f27257b"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"050377a660a7beac2f91c6404f85482f6ebc3ea5","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"**Shelve api call:**"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"* Take instance snapshot."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"* shelved_host (host where the instance is running) will be set to"},{"line_number":82,"context_line":"  instance_system_metadata."}],"source_content_type":"text/x-rst","patch_set":18,"id":"ba8a016a_fd92829e","line":79,"in_reply_to":"ba8a016a_36f9804e","updated":"2015-11-18 06:46:30.000000000","message":"Hi John,\n\nBased on your comment there are two ways to address this:\n\nOption A: \n\nNo need to add new config variable \u0027shelved_offload_disk\u0027 and make the changes in the api itself so that user will pass this parameter to api and will be passed to compute node for further processing. This way it will be on user whether they want shleve/unshelve to be faster then they can enable or disable it accordingly.\n\nOption B:\n\nUser can pass new parameter to shelve api to indicate retention of instance disk files as well as add a new config parameter shelve_offload_disk which will give user control to decide whether to take snapshot or not during shelving process.\n\nBut In this case, what if user wants to retain instance files but shelve_offload_disk config parameter is set to True (as the instance files will not be stored on the shared storage backend). During shelving process, it will not take snapshot and then the instance will go into the error state in unshelve as it won’t find instances file on the newly selected compute node.\n\nPlease give your opinion about the same.","commit_id":"d159b3bbe947f31767b745abe908266f4f27257b"},{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"10d69ce342c3a6c971c1573f1339f7104c0d204f","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"**Shelve api call:**"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"* Take instance snapshot."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"* shelved_host (host where the instance is running) will be set to"},{"line_number":82,"context_line":"  instance_system_metadata."}],"source_content_type":"text/x-rst","patch_set":18,"id":"ba8a016a_49e045cd","line":79,"in_reply_to":"ba8a016a_36f9804e","updated":"2015-11-19 22:26:22.000000000","message":"Hi John,\n\nWe can modify shelve API allowing a user to pass parameter “snapshot\u003dFalse/True” to decide whether to take the snapshot or not during the shelving process.  but then, it will complicate the case.\n\nExample: If user opts for snapshot\u003dFalse and if shelve_offload_disk\u003dTrue (config parameter set on compute node), then user won’t be able to unshelve instance\n\nshelve_offload_disk\u003dTrue, means instance disk files will be deleted in shelved_offload case\n\nThere can be following combinations:-\n\nA) non-shared storage for storing instance disk files\n1) shelve_offload_disk\u003dTrue and snapshot\u003dFalse (Problem)\n2) shelve_offload_disk\u003dTrue and snapshot\u003dTrue (OK)\n\nB) shared storage for storing instance disk files\n1) shelve_offload_disk\u003dFalse and snapshot\u003dFalse (OK)\n2) shelve_offload_disk\u003dFalse and snapshot\u003dTrue (OK)\n\nBecause of issues in #A1, I feel it\u0027s safe to take the snapshot.\nWhat do you suggest?","commit_id":"d159b3bbe947f31767b745abe908266f4f27257b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e106fc58665ea0edd6038594bd42ac17525560c3","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"**Shelve api call:**"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"* Take instance snapshot."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"* shelved_host (host where the instance is running) will be set to"},{"line_number":82,"context_line":"  instance_system_metadata."}],"source_content_type":"text/x-rst","patch_set":18,"id":"ba8a016a_82ffbca9","line":79,"in_reply_to":"ba8a016a_49e045cd","updated":"2015-11-20 15:07:22.000000000","message":"Per my previous question, if we can detect that we\u0027re on shared storage and can just make a decision that way, then we don\u0027t need a config option, right?\n\nAnd having the user pass in a flag to tell nova what to do, when the user shouldn\u0027t know the backing deployment environment or configuration, is terrible.\n\nIf we\u0027re worried about changing the API behavior, i.e. shelve used to create a snapshot and now wouldn\u0027t, we could add a microversion for the shelve response that returns a flag telling the user if a snapshot was created or not (i.e. put a snapshot_id in the response body that is either an actual ID of a snapshot that we created, or None to indicate we didn\u0027t perform a snapshot).","commit_id":"d159b3bbe947f31767b745abe908266f4f27257b"},{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"34bf99fdfb4e03a004dc31b1caf1b1394241c8b6","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"**Shelve api call:**"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"* Take instance snapshot."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"* shelved_host (host where the instance is running) will be set to"},{"line_number":82,"context_line":"  instance_system_metadata."}],"source_content_type":"text/x-rst","patch_set":18,"id":"ba8a016a_a2f8b54a","line":79,"in_reply_to":"ba8a016a_82ffbca9","updated":"2015-11-20 18:36:28.000000000","message":"Hi Matt,\n\nDetection of shared storage is only possible during the unshelving process without config option. \n\nshelved_offload_disk parameter will be configured only on the compute nodes and not API controllers. So in order to return the actual id of a snapshot or None in the response to the shelve API, we will need to introduce a new computerpcapi (synchronous call) just to figure out whether shelved_offload_disk config parameter is set to true/false on the compute node where the instance is running before shelving.\n\nIf this change is acceptable, we can include it in the specs. Please suggest.","commit_id":"d159b3bbe947f31767b745abe908266f4f27257b"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"b65dd28d90e2550ddff9a70f1c4971bb01756f55","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"**Shelve api call:**"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"* Take instance snapshot."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"* shelved_host (host where the instance is running) will be set to"},{"line_number":82,"context_line":"  instance_system_metadata."}],"source_content_type":"text/x-rst","patch_set":18,"id":"da85f559_8dbc0bbc","line":79,"in_reply_to":"da85f559_13a503a1","updated":"2015-11-12 05:56:05.000000000","message":"The only reason the snapshot is taken is so the instance files can be\ndeleted, if we don\u0027t delete them, then no need for the snapshot, I think.\n\nYes, initially we had thought of not taking snapshot, but then it\nwould change the behavior from user’s perspective so retain the same behavior.\n\nIf everyone is ok to not take snapshot when shelved_offload_disk is set to\nFalse, then we will make this change in the spec.","commit_id":"d159b3bbe947f31767b745abe908266f4f27257b"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e82f4aa1110b1efff856b399338dd34ef0548831","unresolved":false,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":"**Shelve api call:**"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"* Take instance snapshot."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"* shelved_host (host where the instance is running) will be set to"},{"line_number":82,"context_line":"  instance_system_metadata."}],"source_content_type":"text/x-rst","patch_set":18,"id":"ba8a016a_36f9804e","line":79,"in_reply_to":"da85f559_8dbc0bbc","updated":"2015-11-16 10:01:53.000000000","message":"The user sees no snapshot when the do boot from volume, this is just another case of that, I think.\n\nAlthough thats a good point, it does mean we have a config variable that change the API behavior, which is fairly terrible. We would need to make that discoverable in the API somehow.","commit_id":"d159b3bbe947f31767b745abe908266f4f27257b"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"314493e123742208fedce3446409df62309d08b9","unresolved":false,"context_lines":[{"line_number":118,"context_line":"  will be retrieved and assigned to the instance."},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"* Instance will be destroyed from the shelved host. It will ensure instance"},{"line_number":121,"context_line":"  files are deleted properly."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":18,"id":"da85f559_73afaf94","line":121,"updated":"2015-11-10 13:34:00.000000000","message":"How does this happen if the instance is no longer on a host.\n\nI guess you use the stored shelved_host in system_metadata to perform the final delete operation, even though its not using any resources on that host?","commit_id":"d159b3bbe947f31767b745abe908266f4f27257b"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"050377a660a7beac2f91c6404f85482f6ebc3ea5","unresolved":false,"context_lines":[{"line_number":118,"context_line":"  will be retrieved and assigned to the instance."},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"* Instance will be destroyed from the shelved host. It will ensure instance"},{"line_number":121,"context_line":"  files are deleted properly."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":18,"id":"ba8a016a_dde8dee4","line":121,"in_reply_to":"ba8a016a_76adc830","updated":"2015-11-18 06:46:30.000000000","message":"Hi John,\n\nYes, I have added detail information about why shelved_host is required from instance system_metadata for deleting the instance which is in shelved_offloaded state.","commit_id":"d159b3bbe947f31767b745abe908266f4f27257b"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e82f4aa1110b1efff856b399338dd34ef0548831","unresolved":false,"context_lines":[{"line_number":118,"context_line":"  will be retrieved and assigned to the instance."},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"* Instance will be destroyed from the shelved host. It will ensure instance"},{"line_number":121,"context_line":"  files are deleted properly."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":18,"id":"ba8a016a_76adc830","line":121,"in_reply_to":"da85f559_2de63fe8","updated":"2015-11-16 10:01:53.000000000","message":"Yeah, agree its the best way forward.\n\njust thinking we can make your intentions clearer in the above text.","commit_id":"d159b3bbe947f31767b745abe908266f4f27257b"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"b65dd28d90e2550ddff9a70f1c4971bb01756f55","unresolved":false,"context_lines":[{"line_number":118,"context_line":"  will be retrieved and assigned to the instance."},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"* Instance will be destroyed from the shelved host. It will ensure instance"},{"line_number":121,"context_line":"  files are deleted properly."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":18,"id":"da85f559_2de63fe8","line":121,"in_reply_to":"da85f559_73afaf94","updated":"2015-11-12 05:56:05.000000000","message":"I know it’s weird, but there is no other way to cleanup instance files as\nonly compute nodes are aware of the shared storage information. So we have\nto rely on shelved_host in system_metadata to perform the final delete\noperation to cleanup instance files. Other than instance files, there is\nnothing left to cleanup in delete call on the shelved compute host.\nAnother option would be to run a new periodic task to filter out\nshelved_host from system_metadata on the compute nodes, but I guess it would have further performance issues.","commit_id":"d159b3bbe947f31767b745abe908266f4f27257b"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"553ca63c6fba47e437317326d1762bc6d82fccec","unresolved":false,"context_lines":[{"line_number":129,"context_line":"each of the tenant first needs to copy the public image to volume, take a"},{"line_number":130,"context_line":"snapshot of it and finally use that snapshot (internally it will create"},{"line_number":131,"context_line":"another volume from it) for launching new instances. This is a very tedious"},{"line_number":132,"context_line":"and time consuming process."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"Data model impact"},{"line_number":135,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":18,"id":"da85f559_33ffe735","line":132,"updated":"2015-11-10 13:36:08.000000000","message":"You could also use ceph, and the snapshot is more efficient, I believe, so the performance is much better?","commit_id":"d159b3bbe947f31767b745abe908266f4f27257b"},{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"34bf99fdfb4e03a004dc31b1caf1b1394241c8b6","unresolved":false,"context_lines":[{"line_number":129,"context_line":"each of the tenant first needs to copy the public image to volume, take a"},{"line_number":130,"context_line":"snapshot of it and finally use that snapshot (internally it will create"},{"line_number":131,"context_line":"another volume from it) for launching new instances. This is a very tedious"},{"line_number":132,"context_line":"and time consuming process."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"Data model impact"},{"line_number":135,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":18,"id":"ba8a016a_c2aff929","line":132,"in_reply_to":"ba8a016a_228e1028","updated":"2015-11-20 18:36:28.000000000","message":"Hi Matt:\n\nYes, definitely this will boost unshelving instances booted from volumes. Thank you for the pointers.\n\nOur main use case is to speed up unshelving for instances booted from images.","commit_id":"d159b3bbe947f31767b745abe908266f4f27257b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e106fc58665ea0edd6038594bd42ac17525560c3","unresolved":false,"context_lines":[{"line_number":129,"context_line":"each of the tenant first needs to copy the public image to volume, take a"},{"line_number":130,"context_line":"snapshot of it and finally use that snapshot (internally it will create"},{"line_number":131,"context_line":"another volume from it) for launching new instances. This is a very tedious"},{"line_number":132,"context_line":"and time consuming process."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"Data model impact"},{"line_number":135,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":18,"id":"ba8a016a_228e1028","line":132,"in_reply_to":"ba8a016a_7dbe92d5","updated":"2015-11-20 15:07:22.000000000","message":"You could also enable image caching in cinder which is supposed to speed up boot from volume scenarios.","commit_id":"d159b3bbe947f31767b745abe908266f4f27257b"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"050377a660a7beac2f91c6404f85482f6ebc3ea5","unresolved":false,"context_lines":[{"line_number":129,"context_line":"each of the tenant first needs to copy the public image to volume, take a"},{"line_number":130,"context_line":"snapshot of it and finally use that snapshot (internally it will create"},{"line_number":131,"context_line":"another volume from it) for launching new instances. This is a very tedious"},{"line_number":132,"context_line":"and time consuming process."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"Data model impact"},{"line_number":135,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":18,"id":"ba8a016a_7dbe92d5","line":132,"in_reply_to":"ba8a016a_d630340a","updated":"2015-11-18 06:46:30.000000000","message":"Hi John,\n\nAs per your suggestion, I have added description about why we don\u0027t want to use ceph in this section.","commit_id":"d159b3bbe947f31767b745abe908266f4f27257b"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"0f5a1f1cfb2f11f14de100c34d64d0770e898ee6","unresolved":false,"context_lines":[{"line_number":129,"context_line":"each of the tenant first needs to copy the public image to volume, take a"},{"line_number":130,"context_line":"snapshot of it and finally use that snapshot (internally it will create"},{"line_number":131,"context_line":"another volume from it) for launching new instances. This is a very tedious"},{"line_number":132,"context_line":"and time consuming process."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"Data model impact"},{"line_number":135,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":18,"id":"ba8a016a_8120fa9c","line":132,"in_reply_to":"ba8a016a_d630340a","updated":"2015-11-17 01:53:40.000000000","message":"I would like to use more generic and mature backend like NFS...","commit_id":"d159b3bbe947f31767b745abe908266f4f27257b"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"b65dd28d90e2550ddff9a70f1c4971bb01756f55","unresolved":false,"context_lines":[{"line_number":129,"context_line":"each of the tenant first needs to copy the public image to volume, take a"},{"line_number":130,"context_line":"snapshot of it and finally use that snapshot (internally it will create"},{"line_number":131,"context_line":"another volume from it) for launching new instances. This is a very tedious"},{"line_number":132,"context_line":"and time consuming process."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"Data model impact"},{"line_number":135,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":18,"id":"da85f559_cdec53bd","line":132,"in_reply_to":"da85f559_33ffe735","updated":"2015-11-12 05:56:05.000000000","message":"The performance of ceph in this case would be much better than downloading\nsnapshot from glance over HTTP but unshelving instances using instance files\nfrom instance cache is fastest of all. Secondly, ceph is not an OpenStack project. This feature will bring us more deployment options and\nmitigate the risk of locking into the specific storage backend like ceph.","commit_id":"d159b3bbe947f31767b745abe908266f4f27257b"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e82f4aa1110b1efff856b399338dd34ef0548831","unresolved":false,"context_lines":[{"line_number":129,"context_line":"each of the tenant first needs to copy the public image to volume, take a"},{"line_number":130,"context_line":"snapshot of it and finally use that snapshot (internally it will create"},{"line_number":131,"context_line":"another volume from it) for launching new instances. This is a very tedious"},{"line_number":132,"context_line":"and time consuming process."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"Data model impact"},{"line_number":135,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":18,"id":"ba8a016a_d630340a","line":132,"in_reply_to":"da85f559_cdec53bd","updated":"2015-11-16 10:01:53.000000000","message":"Agreed, but I think we need to state in this section that ceph is an alternative. You can describe why you don\u0027t want to use ceph in that section.\n\nIts not specific to ceph, of course, is specific to any storage system that chooses to integrate with OpenStack in the same way ceph integrates.","commit_id":"d159b3bbe947f31767b745abe908266f4f27257b"},{"author":{"_account_id":18247,"name":"Mark Doffman","email":"mdoffman@linux.vnet.ibm.com","username":"doffm"},"change_message_id":"a2f26acb1ca96a2b3f5def1f7e93403bd34ea5b0","unresolved":false,"context_lines":[{"line_number":34,"context_line":"downloading instance snapshot compared to all other supported backends except"},{"line_number":35,"context_line":"file store because nova allows you to configure glance file store backend to"},{"line_number":36,"context_line":"act as local store on the compute nodes and it unshelves instance faster"},{"line_number":37,"context_line":"than ceph."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":20,"id":"9a8ffd7b_5fd677c6","line":37,"updated":"2015-11-24 21:07:48.000000000","message":"I\u0027d really like to see what the use cases are for un-shelving hundreds of instances.","commit_id":"a85a8c07e2b5b38198524885f69f6a4be3c7c35e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ba683a2f53fd010f3ca292da6c707c055c89c0da","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Project Priority"},{"line_number":57,"context_line":"-----------------"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"None"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":20,"id":"9a8ffd7b_bf58c357","line":58,"updated":"2015-11-24 21:10:12.000000000","message":"We can remove the project priority section.","commit_id":"a85a8c07e2b5b38198524885f69f6a4be3c7c35e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ba683a2f53fd010f3ca292da6c707c055c89c0da","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Add new configuration parameter \"shelved_offload_disk\" default to True."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"* shelved_offload_disk \u003d False"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"  In this case, if shelved_offload_time is 0 or \u003e 0 then instance files will"},{"line_number":69,"context_line":"  be retained in the instance path during shelving instance. CPU and memory"}],"source_content_type":"text/x-rst","patch_set":20,"id":"9a8ffd7b_da1a756e","line":66,"updated":"2015-11-24 21:10:12.000000000","message":"It\u0027s my understanding that the main use case for this is when using shared storage, so I\u0027m still having trouble understanding in what cases I\u0027d be using shared storage (which we can detect on the compute node) and I\u0027d set this to True. Shouldn\u0027t we automatically not offload the disk when using shared storage - then we wouldn\u0027t need a config option.","commit_id":"a85a8c07e2b5b38198524885f69f6a4be3c7c35e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0d16f78ae7fdee09645cad4d0a8f510ce6522bf0","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"Add new configuration parameter \"shelved_offload_disk\" default to True."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"* shelved_offload_disk \u003d False"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"  In this case, if shelved_offload_time is 0 or \u003e 0 then instance files will"},{"line_number":69,"context_line":"  be retained in the instance path during shelving instance. CPU and memory"}],"source_content_type":"text/x-rst","patch_set":20,"id":"9a8ffd7b_a0bf44cf","line":66,"in_reply_to":"9a8ffd7b_da1a756e","updated":"2015-11-24 21:54:39.000000000","message":"I think I have a better understanding of the config option now, we had a long discussion in IRC today:\n\nhttp://eavesdrop.openstack.org/irclogs/%23openstack-nova/%23openstack-nova.2015-11-24.log.html#t2015-11-24T20:54:57\n\nSo basically that\u0027s where things are left. I\u0027m still -1 on this since it seems to add a bunch of complication to shelve/unshelve which we don\u0027t really need, and for people that really want to speed this all up, they can use the ceph support that\u0027s being added for faster snapshot (which the metacloud guys are working on).","commit_id":"a85a8c07e2b5b38198524885f69f6a4be3c7c35e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ba683a2f53fd010f3ca292da6c707c055c89c0da","unresolved":false,"context_lines":[{"line_number":81,"context_line":"* shelved_host (host where the instance is running) will be set to"},{"line_number":82,"context_line":"  instance_system_metadata."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"* Disk resources (instance files) will not be destroyed"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"* CPU/Memory will be released."},{"line_number":87,"context_line":""}],"source_content_type":"text/x-rst","patch_set":20,"id":"9a8ffd7b_7a826954","line":84,"updated":"2015-11-24 21:10:12.000000000","message":"If shelved_offload_disk \u003d\u003d False, right?","commit_id":"a85a8c07e2b5b38198524885f69f6a4be3c7c35e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ba683a2f53fd010f3ca292da6c707c055c89c0da","unresolved":false,"context_lines":[{"line_number":114,"context_line":""},{"line_number":115,"context_line":"**Deleting instance in shelve_offload state:**"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"When instance is offloaded from the compute node instance host is set to None"},{"line_number":118,"context_line":"and host information is stored in instance system_metadata as \u0027shelved_host\u0027."},{"line_number":119,"context_line":"If user tries to delete the instance while it is in shelved_offloaded state"},{"line_number":120,"context_line":"then, delete call must need to reach compute node for cleaning up the instance"}],"source_content_type":"text/x-rst","patch_set":20,"id":"9a8ffd7b_5af8c5e5","line":117,"updated":"2015-11-24 21:10:12.000000000","message":"s/instance host/instance.host/","commit_id":"a85a8c07e2b5b38198524885f69f6a4be3c7c35e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ba683a2f53fd010f3ca292da6c707c055c89c0da","unresolved":false,"context_lines":[{"line_number":119,"context_line":"If user tries to delete the instance while it is in shelved_offloaded state"},{"line_number":120,"context_line":"then, delete call must need to reach compute node for cleaning up the instance"},{"line_number":121,"context_line":"files. So when delete api call is made \u0027shelved_host\u0027 need to be set as"},{"line_number":122,"context_line":"instance host so that delete call can reach compute node to delete the"},{"line_number":123,"context_line":"instance files."},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"* Instance host stored in the \u0027shelved_host\u0027 from instance system_metadata"}],"source_content_type":"text/x-rst","patch_set":20,"id":"9a8ffd7b_9ad5cd44","line":122,"updated":"2015-11-24 21:10:12.000000000","message":"instance.host","commit_id":"a85a8c07e2b5b38198524885f69f6a4be3c7c35e"},{"author":{"_account_id":18247,"name":"Mark Doffman","email":"mdoffman@linux.vnet.ibm.com","username":"doffm"},"change_message_id":"a2f26acb1ca96a2b3f5def1f7e93403bd34ea5b0","unresolved":false,"context_lines":[{"line_number":120,"context_line":"then, delete call must need to reach compute node for cleaning up the instance"},{"line_number":121,"context_line":"files. So when delete api call is made \u0027shelved_host\u0027 need to be set as"},{"line_number":122,"context_line":"instance host so that delete call can reach compute node to delete the"},{"line_number":123,"context_line":"instance files."},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"* Instance host stored in the \u0027shelved_host\u0027 from instance system_metadata"},{"line_number":126,"context_line":"  will be retrieved and assigned to the instance."}],"source_content_type":"text/x-rst","patch_set":20,"id":"9a8ffd7b_da5275dd","line":123,"updated":"2015-11-24 21:07:48.000000000","message":"What happens when a user tries to un-shelve an instance and it cannot be started on the previous shelved_host?\n\nThe instance will be started on a new compute node and the image will stick around on the \u0027shelved_host\u0027.\n\nThe image needs to be deleted from the \u0027shelved_host\u0027 node not only on a delete but also when the shelved instance ends up on another compute node.","commit_id":"a85a8c07e2b5b38198524885f69f6a4be3c7c35e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ba683a2f53fd010f3ca292da6c707c055c89c0da","unresolved":false,"context_lines":[{"line_number":139,"context_line":"another volume from it) for launching new instances. This is a very tedious"},{"line_number":140,"context_line":"and time consuming process."},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"Ceph is one alternative solution for doing this, but clearly ceph is not an"},{"line_number":143,"context_line":"OpenStack project. This feature will bring us more deployment options with"},{"line_number":144,"context_line":"more generic and mature backend (like NFS) and mitigate the risk of locking"},{"line_number":145,"context_line":"in to the specific storage backend (like ceph)."}],"source_content_type":"text/x-rst","patch_set":20,"id":"9a8ffd7b_3a5861fa","line":142,"updated":"2015-11-24 21:10:12.000000000","message":"Ceph is not an openstack project but I\u0027m not sure why that matters, it\u0027s the #1 deployed storage backend in production openstack deployments according to the user survey.","commit_id":"a85a8c07e2b5b38198524885f69f6a4be3c7c35e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ba683a2f53fd010f3ca292da6c707c055c89c0da","unresolved":false,"context_lines":[{"line_number":141,"context_line":""},{"line_number":142,"context_line":"Ceph is one alternative solution for doing this, but clearly ceph is not an"},{"line_number":143,"context_line":"OpenStack project. This feature will bring us more deployment options with"},{"line_number":144,"context_line":"more generic and mature backend (like NFS) and mitigate the risk of locking"},{"line_number":145,"context_line":"in to the specific storage backend (like ceph)."},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":20,"id":"9a8ffd7b_da17d5eb","line":144,"updated":"2015-11-24 21:10:12.000000000","message":"I\u0027m not sure what any of this means?  Whether you\u0027re using ceph or NFS or glusterfs or sheepdog, etc, those are shared storage backends and nova views them the same way - or at least should, so why even point this out and make a distinction?","commit_id":"a85a8c07e2b5b38198524885f69f6a4be3c7c35e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ba683a2f53fd010f3ca292da6c707c055c89c0da","unresolved":false,"context_lines":[{"line_number":187,"context_line":"  be retained in the instance path during shelving instance. CPU and memory"},{"line_number":188,"context_line":"  will be released back to the hypervisor which would be made available"},{"line_number":189,"context_line":"  to the nova scheduler for launching new instances. \u0027shelved_offload_disk\u0027"},{"line_number":190,"context_line":"  should only set to False when instance path is mounted on shared storage."},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"Developer impact"},{"line_number":193,"context_line":"----------------"}],"source_content_type":"text/x-rst","patch_set":20,"id":"9a8ffd7b_9aa62dc0","line":190,"updated":"2015-11-24 21:10:12.000000000","message":"Again, I think we should detect this and just make it the default, I\u0027m not sure why we need a configuration option for this.  Using shared storage and leaving the default basically means, I want bad performance with unshelving instances.","commit_id":"a85a8c07e2b5b38198524885f69f6a4be3c7c35e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ba683a2f53fd010f3ca292da6c707c055c89c0da","unresolved":false,"context_lines":[{"line_number":239,"context_line":"Documentation Impact"},{"line_number":240,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"Please refer \u0027Other deployer impact\u0027 section."},{"line_number":243,"context_line":""},{"line_number":244,"context_line":""},{"line_number":245,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":20,"id":"9a8ffd7b_da73554c","line":242,"updated":"2015-11-24 21:10:12.000000000","message":"In addition to this, I think any documentation in the openstack manuals that talks about configuring openstack with shared storage should point out, you would set the shelved_offload_disk option to False, - that\u0027s if we have the option, which I still don\u0027t understand we need.","commit_id":"a85a8c07e2b5b38198524885f69f6a4be3c7c35e"}]}
