)]}'
{"specs/pike/approved/snapshot-vms-with-state-of-processes.rst":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"ff71b5e0fc604b225891d0322251ca6fd9d4cafa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"3fa7e38b_4623d256","updated":"2019-10-15 20:11:00.000000000","message":"This file should be under specs/ussuri/approved.","commit_id":"86dc9f5094250b584dd5d1052947de7d4232a2a4"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9822f9e39303db91cd3f4c59cf25a34f7708b989","unresolved":false,"context_lines":[{"line_number":18,"context_line":"\r"},{"line_number":19,"context_line":"* Openstack snapshot is supported live-snapshot but a snapshot is a disk\r"},{"line_number":20,"context_line":"  snapshot. When you want to use a snapshot, you must create new instance\r"},{"line_number":21,"context_line":"  with image and volume created created earlier. There is no solution yet\r"},{"line_number":22,"context_line":"  to keep running process of instance in snapshot.\r"},{"line_number":23,"context_line":"\r"},{"line_number":24,"context_line":"* Default xml file is generated by libvirt:\r"},{"line_number":25,"context_line":"\r"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff570b3c_31d88d1c","line":22,"range":{"start_line":21,"start_character":49,"end_line":22,"end_character":50},"updated":"2020-05-21 11:24:43.000000000","message":"the type of snapshot that this spec is refering to is what virtual box calls a snapshot or libvirt calls a managed save.\n\nwe snapshot the vm memory when we do suspend. this spec is requesting that we upload that meory snapshot in addtion to a disk snapshot so we coudl resture teh vm with its memroy to a running state.\n\n\ni think if we were to intoduce this it would have to be a seperate api not an extention of the existing snapshot mechanium.\n\nthere is also a trade off here, while a libvirt managed save does do a dump of the guest ram and save it as a file.\nto do that we have to pause the execution of the guest.\n\nso you can do a snapshot of the guest ram without pausing exectuion fo the guest.\n\nso a snapshot that include the ram would not be a live snapshot as we would have to suspend the guest to do it.\nthat is true in other hyperviorus.\n\nas proposed  i dont think this is a viabale approch.\n\nwe coudl intoduce a new optional api action potentially for this but im not sure there is a compleing enough usecase to justify the work required to do that.\n\nby the way this would not work if the vm used any type of pasthogu deivce like a fpga, vgpu or sriov nic as the passthough device memory and configuration state would not be preserved.\n\nto do a libvirt managed save which is the only way to save the ramstate to a file that i amware of you have to hot unplug any non usb hostdev which would likely cause the applcaiton in the guest to crash.\n\nit is why suspend to disk in the libvirt dirver implemention is of such limit usefulness today.","commit_id":"86dc9f5094250b584dd5d1052947de7d4232a2a4"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"ff71b5e0fc604b225891d0322251ca6fd9d4cafa","unresolved":false,"context_lines":[{"line_number":31,"context_line":"  With type\u003d\"raw\", create internal snapshot is impossible. I tried to\r"},{"line_number":32,"context_line":"  change type to type\u003d\"qcow2\" to create internalsnapshot (qcow2\r"},{"line_number":33,"context_line":"  supported) but can\u0027t boot to instance with error\r"},{"line_number":34,"context_line":"  [Error: CantStartEngineError]\r"},{"line_number":35,"context_line":"\r"},{"line_number":36,"context_line":"\r"},{"line_number":37,"context_line":"Use Cases\r"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_c3c81423","line":34,"updated":"2019-10-15 20:11:00.000000000","message":"I would be really surprised if you could change the disk format of an existing instance just by editing the XML. This represents what qemu is expecting to see when it reads the disk. It\u0027d be like if I tried to convert a .avi to a .mp4 just by changing the file extension.\n\nIf this thing only works with qcow2 disks, you would have to create the instance with qcow2 from the start; and the new operation would have to check for that and fail otherwise.","commit_id":"86dc9f5094250b584dd5d1052947de7d4232a2a4"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9822f9e39303db91cd3f4c59cf25a34f7708b989","unresolved":false,"context_lines":[{"line_number":31,"context_line":"  With type\u003d\"raw\", create internal snapshot is impossible. I tried to\r"},{"line_number":32,"context_line":"  change type to type\u003d\"qcow2\" to create internalsnapshot (qcow2\r"},{"line_number":33,"context_line":"  supported) but can\u0027t boot to instance with error\r"},{"line_number":34,"context_line":"  [Error: CantStartEngineError]\r"},{"line_number":35,"context_line":"\r"},{"line_number":36,"context_line":"\r"},{"line_number":37,"context_line":"Use Cases\r"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff570b3c_637b697a","line":34,"in_reply_to":"3fa7e38b_c3c81423","updated":"2020-05-21 11:24:43.000000000","message":"you cant, that wont change the data on disk.","commit_id":"86dc9f5094250b584dd5d1052947de7d4232a2a4"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"ff71b5e0fc604b225891d0322251ca6fd9d4cafa","unresolved":false,"context_lines":[{"line_number":47,"context_line":"\r"},{"line_number":48,"context_line":"Workflow to create new snapshot:\r"},{"line_number":49,"context_line":"\r"},{"line_number":50,"context_line":"* Create new external-snapshot to change disk type from RAW to QCOW2.\r"},{"line_number":51,"context_line":"  After external snapshot is created, new external snapshot is\r"},{"line_number":52,"context_line":"  overlay[1] of old volume (root base). New data write to disk will\r"},{"line_number":53,"context_line":"  write to new overlay[1], root base now is read-only disk. User can\r"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_6385a0ac","line":50,"range":{"start_line":50,"start_character":34,"end_line":50,"end_character":68},"updated":"2019-10-15 20:11:00.000000000","message":"I don\u0027t understand this.","commit_id":"86dc9f5094250b584dd5d1052947de7d4232a2a4"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"ff71b5e0fc604b225891d0322251ca6fd9d4cafa","unresolved":false,"context_lines":[{"line_number":49,"context_line":"\r"},{"line_number":50,"context_line":"* Create new external-snapshot to change disk type from RAW to QCOW2.\r"},{"line_number":51,"context_line":"  After external snapshot is created, new external snapshot is\r"},{"line_number":52,"context_line":"  overlay[1] of old volume (root base). New data write to disk will\r"},{"line_number":53,"context_line":"  write to new overlay[1], root base now is read-only disk. User can\r"},{"line_number":54,"context_line":"  put external snapshot in other directory. Instance now can create\r"},{"line_number":55,"context_line":"  internal snapshot. Example virsh command (Can create via\r"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_238b28c0","line":52,"range":{"start_line":52,"start_character":9,"end_line":52,"end_character":12},"updated":"2019-10-15 20:11:00.000000000","message":"Where\u0027s this reference?","commit_id":"86dc9f5094250b584dd5d1052947de7d4232a2a4"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"ff71b5e0fc604b225891d0322251ca6fd9d4cafa","unresolved":false,"context_lines":[{"line_number":50,"context_line":"* Create new external-snapshot to change disk type from RAW to QCOW2.\r"},{"line_number":51,"context_line":"  After external snapshot is created, new external snapshot is\r"},{"line_number":52,"context_line":"  overlay[1] of old volume (root base). New data write to disk will\r"},{"line_number":53,"context_line":"  write to new overlay[1], root base now is read-only disk. User can\r"},{"line_number":54,"context_line":"  put external snapshot in other directory. Instance now can create\r"},{"line_number":55,"context_line":"  internal snapshot. Example virsh command (Can create via\r"},{"line_number":56,"context_line":"  libvirt-api):\r"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_c3649424","line":53,"range":{"start_line":53,"start_character":15,"end_line":53,"end_character":22},"updated":"2019-10-15 20:11:00.000000000","message":"Where does this overlay go?","commit_id":"86dc9f5094250b584dd5d1052947de7d4232a2a4"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"ff71b5e0fc604b225891d0322251ca6fd9d4cafa","unresolved":false,"context_lines":[{"line_number":51,"context_line":"  After external snapshot is created, new external snapshot is\r"},{"line_number":52,"context_line":"  overlay[1] of old volume (root base). New data write to disk will\r"},{"line_number":53,"context_line":"  write to new overlay[1], root base now is read-only disk. User can\r"},{"line_number":54,"context_line":"  put external snapshot in other directory. Instance now can create\r"},{"line_number":55,"context_line":"  internal snapshot. Example virsh command (Can create via\r"},{"line_number":56,"context_line":"  libvirt-api):\r"},{"line_number":57,"context_line":"\r"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_836a1cea","line":54,"range":{"start_line":54,"start_character":6,"end_line":54,"end_character":42},"updated":"2019-10-15 20:11:00.000000000","message":"The snapshot goes to glance","commit_id":"86dc9f5094250b584dd5d1052947de7d4232a2a4"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"ff71b5e0fc604b225891d0322251ca6fd9d4cafa","unresolved":false,"context_lines":[{"line_number":52,"context_line":"  overlay[1] of old volume (root base). New data write to disk will\r"},{"line_number":53,"context_line":"  write to new overlay[1], root base now is read-only disk. User can\r"},{"line_number":54,"context_line":"  put external snapshot in other directory. Instance now can create\r"},{"line_number":55,"context_line":"  internal snapshot. Example virsh command (Can create via\r"},{"line_number":56,"context_line":"  libvirt-api):\r"},{"line_number":57,"context_line":"\r"},{"line_number":58,"context_line":"::\r"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_4378a4c2","line":55,"range":{"start_line":55,"start_character":2,"end_line":55,"end_character":19},"updated":"2019-10-15 20:11:00.000000000","message":"which goes where?\n\nIt lives temporarily on the local disk until...","commit_id":"86dc9f5094250b584dd5d1052947de7d4232a2a4"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"ff71b5e0fc604b225891d0322251ca6fd9d4cafa","unresolved":false,"context_lines":[{"line_number":78,"context_line":"  --verbose\r"},{"line_number":79,"context_line":"\r"},{"line_number":80,"context_line":"* Create new internal snapshot using virsh. When create internal\r"},{"line_number":81,"context_line":"  snapshot, instance change to pause state and collect all data\r"},{"line_number":82,"context_line":"  from start snapshot and save to snapshot. Instance resume after\r"},{"line_number":83,"context_line":"  snapshot finish. Virsh command example:\r"},{"line_number":84,"context_line":"\r"},{"line_number":85,"context_line":"::\r"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_632120b4","line":82,"range":{"start_line":81,"start_character":47,"end_line":82,"end_character":42},"updated":"2019-10-15 20:11:00.000000000","message":"...here, where we do what? Somehow \"merge\" the overlay with the original snapshot? Or create a new snapshot for the overlay?","commit_id":"86dc9f5094250b584dd5d1052947de7d4232a2a4"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"ff71b5e0fc604b225891d0322251ca6fd9d4cafa","unresolved":false,"context_lines":[{"line_number":141,"context_line":"REST API impact\r"},{"line_number":142,"context_line":"---------------\r"},{"line_number":143,"context_line":"\r"},{"line_number":144,"context_line":"Updating ...\r"},{"line_number":145,"context_line":"\r"},{"line_number":146,"context_line":"Security impact\r"},{"line_number":147,"context_line":"---------------\r"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_660fee2d","line":144,"range":{"start_line":144,"start_character":0,"end_line":144,"end_character":12},"updated":"2019-10-15 20:11:00.000000000","message":"Yeah, going to need to see this to understand better.","commit_id":"86dc9f5094250b584dd5d1052947de7d4232a2a4"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"ff71b5e0fc604b225891d0322251ca6fd9d4cafa","unresolved":false,"context_lines":[{"line_number":246,"context_line":"\r"},{"line_number":247,"context_line":"   * - Release Name\r"},{"line_number":248,"context_line":"     - Description\r"},{"line_number":249,"context_line":"   * - Pike\r"},{"line_number":250,"context_line":"     - Introduced"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_830bfc7a","line":249,"range":{"start_line":249,"start_character":7,"end_line":249,"end_character":11},"updated":"2019-10-15 20:11:00.000000000","message":"Ussuri\n\n(Where did Pike come from??)","commit_id":"86dc9f5094250b584dd5d1052947de7d4232a2a4"}]}
