)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"09c13fbb4ee49dbbfb292a5dd45c5d6d80ab5403","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Qiu Fossen \u003cqiujunting@inspur.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2021-04-09 08:46:56 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Repropose copying pmem devices data spec"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Id858f50c3804f9d60e1e79c3c3a042d508667f5d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"d1a6ac0e_916bceba","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":9},"updated":"2021-04-09 09:59:03.000000000","message":"This means, we were approved the spec in privor release but dont completed since FFE, so we need to re-propose it at the new release.\n\nHere you can simple to say \"Allow migrating PMEM\u0027s data\"","commit_id":"bd5791cf53a4122f63fc29bce0187da2c56117dd"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"09c13fbb4ee49dbbfb292a5dd45c5d6d80ab5403","unresolved":true,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2021-04-09 08:46:56 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Repropose copying pmem devices data spec"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Id858f50c3804f9d60e1e79c3c3a042d508667f5d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1ed19f5b_7dd56ec2","line":8,"updated":"2021-04-09 09:59:03.000000000","message":"Please add the Blueprint tag at this commit message, eg.\n\nPart of blueprint copying-pmem-devices-data","commit_id":"bd5791cf53a4122f63fc29bce0187da2c56117dd"},{"author":{"_account_id":23598,"name":"Zhong Luyao","email":"luyao.zhong@intel.com","username":"ZhongLuyao"},"change_message_id":"f756a585fd03aeaa17509b15f11cb4a6b310021a","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     qiufossen \u003cqiujunting@inspur.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2021-04-12 08:11:07 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Allow migrating PMEM\u0027s data"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This spec will be make the instance support code migrate if it allocate PMEM devices."},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"49d30697_988e56ad","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":27},"updated":"2021-04-14 06:13:50.000000000","message":"add a restrictive condition: \"during cold migration\"?","commit_id":"edd3db036f0f6b4e5fde12640f5da83a5bcf0cae"}],"specs/wallaby/approved/allow-migrate-pmem-data.rst":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"13f356458f4d6fa1f63a971728dad84a585dc1a2","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":5,"id":"cc044e93_ec6837be","updated":"2021-04-12 10:08:41.000000000","message":"it should submit in xena dir, wallaby will be released.","commit_id":"ef43ea4c411819d5d70dffdcb754380a46fab73d"}],"specs/wallaby/approved/copying-pmem-devices-data.rst":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"09c13fbb4ee49dbbfb292a5dd45c5d6d80ab5403","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"ddb02b5e_af6dcbed","updated":"2021-04-09 09:59:03.000000000","message":"This spec will be make the instance support code migrate if it allocate PMEM devices.","commit_id":"bd5791cf53a4122f63fc29bce0187da2c56117dd"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"09c13fbb4ee49dbbfb292a5dd45c5d6d80ab5403","unresolved":true,"context_lines":[{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Smartnic Management Overall Design"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/copying-pmem-devices-data"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dfa68b1b_53658a18","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":34},"updated":"2021-04-09 09:59:03.000000000","message":"I think you copied SmarNiC management spec, here you can wirite the same as title \"Allow migrating PMEM\u0027s data\".","commit_id":"bd5791cf53a4122f63fc29bce0187da2c56117dd"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"09c13fbb4ee49dbbfb292a5dd45c5d6d80ab5403","unresolved":true,"context_lines":[{"line_number":8,"context_line":"Smartnic Management Overall Design"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/copying-pmem-devices-data"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This spec proposes an method for copying PMEM Namespace\u0027s data of instance"},{"line_number":14,"context_line":"when cold migrating or resizing instance."}],"source_content_type":"text/x-rst","patch_set":2,"id":"c09d9d63_3868bf5b","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":69},"updated":"2021-04-09 09:59:03.000000000","message":"https://blueprints.launchpad.net/nova/+spec/copying-pmem-devices-data","commit_id":"bd5791cf53a4122f63fc29bce0187da2c56117dd"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"02e049ff588c43dc87240069a91a2a4f826d7c28","unresolved":true,"context_lines":[{"line_number":8,"context_line":"Smartnic Management Overall Design"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/copying-pmem-devices-data"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This spec proposes an method for copying PMEM Namespace\u0027s data of instance"},{"line_number":14,"context_line":"when cold migrating or resizing instance."}],"source_content_type":"text/x-rst","patch_set":2,"id":"bd6d2730_eb73e92f","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":69},"in_reply_to":"2aa2081f_9e1b2994","updated":"2021-04-14 02:08:35.000000000","message":"Changed this by modifying the blueprint\u0027s *change details*, named as https://blueprints.launchpad.net/nova/+spec/allow-migrate-pmem-data","commit_id":"bd5791cf53a4122f63fc29bce0187da2c56117dd"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8fb321748fbb6d056119db65d580fdb7b307a173","unresolved":true,"context_lines":[{"line_number":8,"context_line":"Smartnic Management Overall Design"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/copying-pmem-devices-data"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This spec proposes an method for copying PMEM Namespace\u0027s data of instance"},{"line_number":14,"context_line":"when cold migrating or resizing instance."}],"source_content_type":"text/x-rst","patch_set":2,"id":"2aa2081f_9e1b2994","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":69},"in_reply_to":"c09d9d63_3868bf5b","updated":"2021-04-12 12:31:23.000000000","message":"so this does not exist\n\nalso\nhttps://blueprints.launchpad.net/nova/+spec/copy-pmem-device-data\nor preferably\nhttps://blueprints.launchpad.net/nova/+spec/pmem-device-data-migration\nwould be better","commit_id":"bd5791cf53a4122f63fc29bce0187da2c56117dd"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"09c13fbb4ee49dbbfb292a5dd45c5d6d80ab5403","unresolved":true,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/copying-pmem-devices-data"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This spec proposes an method for copying PMEM Namespace\u0027s data of instance"},{"line_number":14,"context_line":"when cold migrating or resizing instance."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fc8092f9_7eba92ec","line":13,"range":{"start_line":13,"start_character":33,"end_line":13,"end_character":41},"updated":"2021-04-09 09:59:03.000000000","message":"migrating","commit_id":"bd5791cf53a4122f63fc29bce0187da2c56117dd"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8fb321748fbb6d056119db65d580fdb7b307a173","unresolved":true,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/copying-pmem-devices-data"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This spec proposes an method for copying PMEM Namespace\u0027s data of instance"},{"line_number":14,"context_line":"when cold migrating or resizing instance."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":2,"id":"6c877343_403b0ebf","line":13,"range":{"start_line":13,"start_character":33,"end_line":13,"end_character":41},"in_reply_to":"fc8092f9_7eba92ec","updated":"2021-04-12 12:31:23.000000000","message":"+1","commit_id":"bd5791cf53a4122f63fc29bce0187da2c56117dd"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"09c13fbb4ee49dbbfb292a5dd45c5d6d80ab5403","unresolved":true,"context_lines":[{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Currently, cold migrate or resize instance could make the PMEM Namespaces"},{"line_number":20,"context_line":"different on host, which is a PMEM Device for the instance. But the instance\u0027s"},{"line_number":21,"context_line":"data in the PMEM Device will lose. So i want to copy the data of pmem devices"},{"line_number":22,"context_line":"for instance when cold migrating or resizing the instance."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"As following:"},{"line_number":25,"context_line":"1.The instance use /dev/dax0.0 PMEM Namespace on host."}],"source_content_type":"text/x-rst","patch_set":2,"id":"8d4e971f_bd683abf","line":22,"range":{"start_line":20,"start_character":60,"end_line":22,"end_character":58},"updated":"2021-04-09 09:59:03.000000000","message":"It\u0027s better to say: But the data of the instance in the PMEM device will be lost. To ensure the integrity of instance data， we would like to migrate PMEM\u0027s data of the instance when migrate or resize an instance.","commit_id":"bd5791cf53a4122f63fc29bce0187da2c56117dd"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8fb321748fbb6d056119db65d580fdb7b307a173","unresolved":true,"context_lines":[{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Currently, cold migrate or resize instance could make the PMEM Namespaces"},{"line_number":20,"context_line":"different on host, which is a PMEM Device for the instance. But the instance\u0027s"},{"line_number":21,"context_line":"data in the PMEM Device will lose. So i want to copy the data of pmem devices"},{"line_number":22,"context_line":"for instance when cold migrating or resizing the instance."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"As following:"},{"line_number":25,"context_line":"1.The instance use /dev/dax0.0 PMEM Namespace on host."}],"source_content_type":"text/x-rst","patch_set":2,"id":"36a33b73_68f23b77","line":22,"range":{"start_line":20,"start_character":60,"end_line":22,"end_character":58},"in_reply_to":"8d4e971f_bd683abf","updated":"2021-04-12 12:31:23.000000000","message":"in the orignal pmem spec https://specs.openstack.org/openstack/nova-specs/specs/train/implemented/virtual-persistent-memory.html we discussed this at some length.\n\nat one point it was going to be controlled by a flavour extra specs or image property but we decided to remove the memory copy entirely.\n\nthe reason form making it configurable was due to concerns over the time to copy large PMEM regions.\ni don\u0027t know if we want to still have that level of configuration or perhaps a new parmater in the resize/migrate command to copy the data or if its ok to just always copy it.","commit_id":"bd5791cf53a4122f63fc29bce0187da2c56117dd"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"09c13fbb4ee49dbbfb292a5dd45c5d6d80ab5403","unresolved":true,"context_lines":[{"line_number":20,"context_line":"different on host, which is a PMEM Device for the instance. But the instance\u0027s"},{"line_number":21,"context_line":"data in the PMEM Device will lose. So i want to copy the data of pmem devices"},{"line_number":22,"context_line":"for instance when cold migrating or resizing the instance."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"As following:"},{"line_number":25,"context_line":"1.The instance use /dev/dax0.0 PMEM Namespace on host."},{"line_number":26,"context_line":"2.After cold migrate or resize instance, the PMEM Namespace is /dev/dax0.1 on"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5ebb674d_dfed05e0","line":23,"updated":"2021-04-09 09:59:03.000000000","message":"PMEM device means to ensure the persistence of data, if the cannot keep the instance\u0027s data stored in the PMEM namspace, this is no different from using ordinary equipment. Therefore, we should make full use of the characteristics of the PMEM device to improve the performance of the instance.","commit_id":"bd5791cf53a4122f63fc29bce0187da2c56117dd"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"09c13fbb4ee49dbbfb292a5dd45c5d6d80ab5403","unresolved":true,"context_lines":[{"line_number":21,"context_line":"data in the PMEM Device will lose. So i want to copy the data of pmem devices"},{"line_number":22,"context_line":"for instance when cold migrating or resizing the instance."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"As following:"},{"line_number":25,"context_line":"1.The instance use /dev/dax0.0 PMEM Namespace on host."},{"line_number":26,"context_line":"2.After cold migrate or resize instance, the PMEM Namespace is /dev/dax0.1 on"},{"line_number":27,"context_line":"  host or other host."}],"source_content_type":"text/x-rst","patch_set":2,"id":"4d19b3ac_cee08db8","line":24,"updated":"2021-04-09 09:59:03.000000000","message":"The primary implementation as you said here, I think we should move this to *Proposed change*","commit_id":"bd5791cf53a4122f63fc29bce0187da2c56117dd"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"09c13fbb4ee49dbbfb292a5dd45c5d6d80ab5403","unresolved":true,"context_lines":[{"line_number":22,"context_line":"for instance when cold migrating or resizing the instance."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"As following:"},{"line_number":25,"context_line":"1.The instance use /dev/dax0.0 PMEM Namespace on host."},{"line_number":26,"context_line":"2.After cold migrate or resize instance, the PMEM Namespace is /dev/dax0.1 on"},{"line_number":27,"context_line":"  host or other host."},{"line_number":28,"context_line":"3.Copy the data from /dev/dax0.0 to /dev/dax0.1 ."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":2,"id":"6e980f12_67526e25","line":28,"range":{"start_line":25,"start_character":0,"end_line":28,"end_character":49},"updated":"2021-04-09 09:59:03.000000000","message":"I am not an expert at EN, but I would reword this as below:\n\nFirstly, the instance use /dev/dax0.0 PMEM Namespace on the source host, and we want to migrate or resize it to other host,\nsecondly, migrate or resize the instance, and it will be use the PMEM\u0027s namepsace of /dev/dax0.1 on the target host,\nfinally migrate the PMEM namepace\u0027s data of the instance from /dev/dax0.0 to /dev/dax0.1.","commit_id":"bd5791cf53a4122f63fc29bce0187da2c56117dd"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"09c13fbb4ee49dbbfb292a5dd45c5d6d80ab5403","unresolved":true,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Use Cases"},{"line_number":32,"context_line":"---------"},{"line_number":33,"context_line":"* Users want to copy the data on PMEM Namespace when cold migrating or resizing"},{"line_number":34,"context_line":"  instance. Otherwise, the data for instance on PMEM Namespace will lose."},{"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":2,"id":"8e216f34_27577f54","line":34,"range":{"start_line":33,"start_character":0,"end_line":34,"end_character":73},"updated":"2021-04-09 09:59:03.000000000","message":"As an user, I would like to migrate the PMEM namespace\u0027s data if the instance migrate or resize to another host to ensure data integrity.","commit_id":"bd5791cf53a4122f63fc29bce0187da2c56117dd"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"09c13fbb4ee49dbbfb292a5dd45c5d6d80ab5403","unresolved":true,"context_lines":[{"line_number":39,"context_line":"When migrating or resizing intance, we can get the old PMEM device and the new"},{"line_number":40,"context_line":"PMEM device from `instance.migration_context`. So we can copy the data from old"},{"line_number":41,"context_line":"PMEM device to new PMEM device."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Workflow"},{"line_number":44,"context_line":"--------"},{"line_number":45,"context_line":"When migrating or resizing intance, we can get the old PMEM device and the new"}],"source_content_type":"text/x-rst","patch_set":2,"id":"96c2f7cb_ebc37462","line":42,"updated":"2021-04-09 09:59:03.000000000","message":"Move line24~line28 here.","commit_id":"bd5791cf53a4122f63fc29bce0187da2c56117dd"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"09c13fbb4ee49dbbfb292a5dd45c5d6d80ab5403","unresolved":true,"context_lines":[{"line_number":44,"context_line":"--------"},{"line_number":45,"context_line":"When migrating or resizing intance, we can get the old PMEM device and the new"},{"line_number":46,"context_line":"PMEM device from `instance.migration_context`. So we can copy the data from old"},{"line_number":47,"context_line":"PMEM device  on source_compute to new PMEM device on dest_compute."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"colde migrating  or resizing instance workflow as following:"},{"line_number":50,"context_line":"1.The resize_instance operation is on source_compute, free the network volume"}],"source_content_type":"text/x-rst","patch_set":2,"id":"28c03940_d40a2de7","line":47,"range":{"start_line":47,"start_character":12,"end_line":47,"end_character":13},"updated":"2021-04-09 09:59:03.000000000","message":"white space.","commit_id":"bd5791cf53a4122f63fc29bce0187da2c56117dd"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"09c13fbb4ee49dbbfb292a5dd45c5d6d80ab5403","unresolved":true,"context_lines":[{"line_number":46,"context_line":"PMEM device from `instance.migration_context`. So we can copy the data from old"},{"line_number":47,"context_line":"PMEM device  on source_compute to new PMEM device on dest_compute."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"colde migrating  or resizing instance workflow as following:"},{"line_number":50,"context_line":"1.The resize_instance operation is on source_compute, free the network volume"},{"line_number":51,"context_line":"etc. resources."},{"line_number":52,"context_line":"2.The finish_resize operation is on dest_compute, launching a new instance"}],"source_content_type":"text/x-rst","patch_set":2,"id":"84dca7e1_3477c272","line":49,"range":{"start_line":49,"start_character":16,"end_line":49,"end_character":17},"updated":"2021-04-09 09:59:03.000000000","message":"ditto","commit_id":"bd5791cf53a4122f63fc29bce0187da2c56117dd"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"09c13fbb4ee49dbbfb292a5dd45c5d6d80ab5403","unresolved":true,"context_lines":[{"line_number":74,"context_line":"None"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"Security impact"},{"line_number":78,"context_line":"---------------"},{"line_number":79,"context_line":"None"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"22393c70_d83aa023","line":77,"updated":"2021-04-09 09:59:03.000000000","message":"We will coping the persistent data stored in PMEM of the instance, I am not sure whether we have the security issue.","commit_id":"bd5791cf53a4122f63fc29bce0187da2c56117dd"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"09c13fbb4ee49dbbfb292a5dd45c5d6d80ab5403","unresolved":true,"context_lines":[{"line_number":136,"context_line":""},{"line_number":137,"context_line":"Testing"},{"line_number":138,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":""},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1ec6ad4e_6d5c78c3","line":139,"updated":"2021-04-09 09:59:03.000000000","message":"You shuod add the related test, eg. functional tests, unit tests etc.\n\n* Add related unit test for negative scenarios.\n* Add related functional test (API samples).","commit_id":"bd5791cf53a4122f63fc29bce0187da2c56117dd"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"09c13fbb4ee49dbbfb292a5dd45c5d6d80ab5403","unresolved":true,"context_lines":[{"line_number":141,"context_line":""},{"line_number":142,"context_line":"Documentation Impact"},{"line_number":143,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":144,"context_line":"Need to add documentation."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"References"},{"line_number":147,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"cc9804e2_c64a7193","line":144,"range":{"start_line":144,"start_character":0,"end_line":144,"end_character":26},"updated":"2021-04-09 09:59:03.000000000","message":"Update the related documents and add some description of this change.","commit_id":"bd5791cf53a4122f63fc29bce0187da2c56117dd"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"09c13fbb4ee49dbbfb292a5dd45c5d6d80ab5403","unresolved":true,"context_lines":[{"line_number":145,"context_line":""},{"line_number":146,"context_line":"References"},{"line_number":147,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"History"},{"line_number":151,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"a4a1c5b9_f0b67bb0","line":148,"updated":"2021-04-09 09:59:03.000000000","message":"May here you should add the ndctl reference.","commit_id":"bd5791cf53a4122f63fc29bce0187da2c56117dd"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"09c13fbb4ee49dbbfb292a5dd45c5d6d80ab5403","unresolved":true,"context_lines":[{"line_number":153,"context_line":".. list-table:: Revisions"},{"line_number":154,"context_line":"   :header-rows: 1"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"   * - Release Name"},{"line_number":157,"context_line":"     - Description"},{"line_number":158,"context_line":"   * - Wallaby"},{"line_number":159,"context_line":"     - Introduced"},{"line_number":160,"context_line":"   * - Xena"},{"line_number":161,"context_line":"     - Reproposed"}],"source_content_type":"text/x-rst","patch_set":2,"id":"a627fc19_6fb909b5","line":161,"range":{"start_line":156,"start_character":0,"end_line":161,"end_character":17},"updated":"2021-04-09 09:59:03.000000000","message":"* - Release Name\n     - Description\n   * - Xena\n     - Introduced","commit_id":"bd5791cf53a4122f63fc29bce0187da2c56117dd"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"13f356458f4d6fa1f63a971728dad84a585dc1a2","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":5,"id":"2c7fa139_e9b7a62b","updated":"2021-04-12 10:08:41.000000000","message":"You can delete this file, repeated with above.","commit_id":"ef43ea4c411819d5d70dffdcb754380a46fab73d"}],"specs/xena/approved/allow-migrate-pmem-data.rst":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8fb321748fbb6d056119db65d580fdb7b307a173","unresolved":true,"context_lines":[{"line_number":26,"context_line":"instance\u0027s data stored in the PMEM namspace, this is no different from using"},{"line_number":27,"context_line":"ordinary equipment. Therefore, we should make full use of the characteristics"},{"line_number":28,"context_line":"of the PMEM device to improve the performance of the instance."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Use Cases"},{"line_number":32,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"98c2d3fa_271aa2d5","line":29,"updated":"2021-04-12 12:31:23.000000000","message":"so this was dicussed as part of the orginal spec.\n\npmem memory is ephemeral.\nit will not be backed up and restored as part of snapshot or rebuilds\nit will not survive shleve or evacuate.\n\nfor cold migration we discused in teh orginal spec if we should copy the data or not.\none of the options we discussed was having a flavor and image propety to contol that behavior.\nThe concern was that moving instase with PMEM could be very expensive as we could have to copy 100\u0027s of GBs\nand as such we did not want to always do that.\n\n\ni think that is still a valid concern but im not sure if flavor and images are the best way to model that.\nform me i think a better approch would be to extend the cold migrate and resize apis to take an optional\nargumet \"copy_pmem_devices\" that would be used to enable copying\n\ne.g. im proposing that by default we would not copy to maintain exising behavor.\ni would also be ok with copying by default but only with the new microverion.\n\na similar approch could be taken for shelve, add a new parmater to the shelve action and in the new micro version either default to copy or not but for existing microversion we do not change behavior.\n\n\nthe reason i mention shelve is cross cell resize is basically implemented in terms of shelve.\nsince we can assume direct hypervior to hypervior network connectivty to allow a host in cell 1 to copy data via scp or rsync to a host in cell 2 we have to use an image snapshot in glance just as we do with shelve when we do a cross cell resize/migrate.\n\n\nif we add the ablity to copy the data on resize/cold migrate we need to supprot cross cell migrate too.\nso that means adding the ablity to snapshot the pmem data as an addtional image  for both shleve and cross cell resize.","commit_id":"edd3db036f0f6b4e5fde12640f5da83a5bcf0cae"},{"author":{"_account_id":23598,"name":"Zhong Luyao","email":"luyao.zhong@intel.com","username":"ZhongLuyao"},"change_message_id":"15df3c944e5f858134a359776a56888581dfa1e6","unresolved":true,"context_lines":[{"line_number":26,"context_line":"instance\u0027s data stored in the PMEM namspace, this is no different from using"},{"line_number":27,"context_line":"ordinary equipment. Therefore, we should make full use of the characteristics"},{"line_number":28,"context_line":"of the PMEM device to improve the performance of the instance."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Use Cases"},{"line_number":32,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"6e63d3bd_bee569e9","line":29,"in_reply_to":"13b0c644_48ae2875","updated":"2021-04-15 01:53:01.000000000","message":"@gibi, pmem data is migrated by qemu just like traditional memory during live migration, so we can\u0027t disable it from openstack.","commit_id":"edd3db036f0f6b4e5fde12640f5da83a5bcf0cae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fa403cac08ad41054c15475f0fd574745c774339","unresolved":true,"context_lines":[{"line_number":26,"context_line":"instance\u0027s data stored in the PMEM namspace, this is no different from using"},{"line_number":27,"context_line":"ordinary equipment. Therefore, we should make full use of the characteristics"},{"line_number":28,"context_line":"of the PMEM device to improve the performance of the instance."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Use Cases"},{"line_number":32,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"f0f489a0_7c156225","line":29,"in_reply_to":"1f9564f9_d694c7b4","updated":"2021-04-15 18:38:26.000000000","message":"ya for live migration we have no choice but to copy it so at best we can document that.","commit_id":"edd3db036f0f6b4e5fde12640f5da83a5bcf0cae"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6a113a759c2ff71992bd15c5e32e4a94a23fe15f","unresolved":true,"context_lines":[{"line_number":26,"context_line":"instance\u0027s data stored in the PMEM namspace, this is no different from using"},{"line_number":27,"context_line":"ordinary equipment. Therefore, we should make full use of the characteristics"},{"line_number":28,"context_line":"of the PMEM device to improve the performance of the instance."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Use Cases"},{"line_number":32,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"13b0c644_48ae2875","line":29,"in_reply_to":"625f7daa_afc6005f","updated":"2021-04-14 11:33:12.000000000","message":"As far as I understand live migration already copies the pmem content to the target host without any option to disable it and therefore applying the penalty of large data transfer. So if we make a move and start optionally copying pmem during cold migration / resize then we might want to make the same optionality available for live migration too. \n\nRegarding the API change I also on the side of a new parameter in the migrate / resize (live-migrate) API as that would be more flexible for the end user than an image metadata or flavor extra_spec. In the other hand one can say that transferring extra 100Gs during migration has an inherent cost towards the infrastructure and therefore the admin might want not to allow such transfer for every end users, and therefore this behavior needs to be tight to flavors, the admin can control and bill on.","commit_id":"edd3db036f0f6b4e5fde12640f5da83a5bcf0cae"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"08d691136799083433c50c48b4a8e8e6258df4ca","unresolved":true,"context_lines":[{"line_number":26,"context_line":"instance\u0027s data stored in the PMEM namspace, this is no different from using"},{"line_number":27,"context_line":"ordinary equipment. Therefore, we should make full use of the characteristics"},{"line_number":28,"context_line":"of the PMEM device to improve the performance of the instance."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Use Cases"},{"line_number":32,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1f9564f9_d694c7b4","line":29,"in_reply_to":"6e63d3bd_bee569e9","updated":"2021-04-15 02:04:40.000000000","message":"Agree luyao, this is controlled by qemu, on OpenStack we does not consider to disable it.","commit_id":"edd3db036f0f6b4e5fde12640f5da83a5bcf0cae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"88e19ed9360036c2c083a417686179e94c66caf9","unresolved":true,"context_lines":[{"line_number":26,"context_line":"instance\u0027s data stored in the PMEM namspace, this is no different from using"},{"line_number":27,"context_line":"ordinary equipment. Therefore, we should make full use of the characteristics"},{"line_number":28,"context_line":"of the PMEM device to improve the performance of the instance."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Use Cases"},{"line_number":32,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"47ddbbe5_dbf0ccc9","line":29,"in_reply_to":"84572029_d3743ec9","updated":"2021-05-04 17:43:32.000000000","message":"i can by the consistency argument as a reason to just always copy.\n\nif we go that route im conflicate as to if we shoudl have a microversion or not.\n\nif we make it configurable then yes an extension on the migrate / resize API is my perfernce also.","commit_id":"edd3db036f0f6b4e5fde12640f5da83a5bcf0cae"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"02e049ff588c43dc87240069a91a2a4f826d7c28","unresolved":true,"context_lines":[{"line_number":26,"context_line":"instance\u0027s data stored in the PMEM namspace, this is no different from using"},{"line_number":27,"context_line":"ordinary equipment. Therefore, we should make full use of the characteristics"},{"line_number":28,"context_line":"of the PMEM device to improve the performance of the instance."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Use Cases"},{"line_number":32,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"2a0a14d0_594ca575","line":29,"in_reply_to":"98c2d3fa_271aa2d5","updated":"2021-04-14 02:08:35.000000000","message":"\u003e i think that is still a valid concern but im not sure if flavor and images are the best way to model that.\n\u003e form me i think a better approch would be to extend the cold migrate and resize apis to take an optional\n\u003e argumet \"copy_pmem_devices\" that would be used to enable copying\n\u003e \n\u003e e.g. im proposing that by default we would not copy to maintain exising behavor.\n\u003e i would also be ok with copying by default but only with the new microverion.\n\nAgree this is a good advice, we can consider whether copying the pmem device data by the optional argument \"copy_pmem_devices\", it will be friendly for users. Of course, we will change the migrate server API that need to add a new microversion.\n\n\u003e \n\u003e a similar approch could be taken for shelve, add a new parmater to the shelve action and in the new micro version either default to copy or not but for existing microversion we do not change behavior.\n\u003e \n\nIt\u0027s a good way to keep the function‘s compatability.\n\n\u003e \n\u003e the reason i mention shelve is cross cell resize is basically implemented in terms of shelve.\n\u003e since we can assume direct hypervior to hypervior network connectivty to allow a host in cell 1 to copy data via scp or rsync to a host in cell 2 we have to use an image snapshot in glance just as we do with shelve when we do a cross cell resize/migrate.\n\u003e \n\u003e \n\u003e if we add the ablity to copy the data on resize/cold migrate we need to supprot cross cell migrate too.\n\u003e so that means adding the ablity to snapshot the pmem data as an addtional image  for both shleve and cross cell resize.\n\nNow we are considering one cell scenario, if we want to do cross cell resize/migrate may it\u0027s need to do as you said.","commit_id":"edd3db036f0f6b4e5fde12640f5da83a5bcf0cae"},{"author":{"_account_id":23598,"name":"Zhong Luyao","email":"luyao.zhong@intel.com","username":"ZhongLuyao"},"change_message_id":"f756a585fd03aeaa17509b15f11cb4a6b310021a","unresolved":true,"context_lines":[{"line_number":26,"context_line":"instance\u0027s data stored in the PMEM namspace, this is no different from using"},{"line_number":27,"context_line":"ordinary equipment. Therefore, we should make full use of the characteristics"},{"line_number":28,"context_line":"of the PMEM device to improve the performance of the instance."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Use Cases"},{"line_number":32,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"625f7daa_afc6005f","line":29,"in_reply_to":"98c2d3fa_271aa2d5","updated":"2021-04-14 06:13:50.000000000","message":"Not sure which way is acceptable for community, Sean\u0027s suggestions sound good like introducing an optional argument \"copy_pmem_devices\".","commit_id":"edd3db036f0f6b4e5fde12640f5da83a5bcf0cae"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"f596581f2e57050cc798acf3469156c760cc23e1","unresolved":true,"context_lines":[{"line_number":26,"context_line":"instance\u0027s data stored in the PMEM namspace, this is no different from using"},{"line_number":27,"context_line":"ordinary equipment. Therefore, we should make full use of the characteristics"},{"line_number":28,"context_line":"of the PMEM device to improve the performance of the instance."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Use Cases"},{"line_number":32,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"84572029_d3743ec9","line":29,"in_reply_to":"f0f489a0_7c156225","updated":"2021-05-04 17:07:18.000000000","message":"OK. So if live migration already copy it and we cannot disable it then I think it will be confusing to the user / admin if this data is not migrated via cold migration and resize. Anyhow if you feel we have to make it configurable to copy or not copy then I vote for the extension on the migrate / resize API.","commit_id":"edd3db036f0f6b4e5fde12640f5da83a5bcf0cae"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6a113a759c2ff71992bd15c5e32e4a94a23fe15f","unresolved":true,"context_lines":[{"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"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"When migrating or resizing intance, we can get the old PMEM device and the new"},{"line_number":40,"context_line":"PMEM device from `instance.migration_context`. So we can copy the data from old"},{"line_number":41,"context_line":"PMEM device to new PMEM device."},{"line_number":42,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"06e942da_cb2bfb4d","line":39,"updated":"2021-04-14 11:33:12.000000000","message":"this is mostly duplicated in the next paragraph","commit_id":"edd3db036f0f6b4e5fde12640f5da83a5bcf0cae"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6a113a759c2ff71992bd15c5e32e4a94a23fe15f","unresolved":true,"context_lines":[{"line_number":40,"context_line":"PMEM device from `instance.migration_context`. So we can copy the data from old"},{"line_number":41,"context_line":"PMEM device to new PMEM device."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"I am not an expert at EN, but I would reword this as below:"},{"line_number":44,"context_line":"Firstly, the instance use /dev/dax0.0 PMEM Namespace on the source host, and we"},{"line_number":45,"context_line":"want to migrate or resize it to other host."},{"line_number":46,"context_line":"Secondly, migrate or resize the instance, and it will be use the PMEM\u0027s"}],"source_content_type":"text/x-rst","patch_set":6,"id":"d5651458_2e5058a7","line":43,"updated":"2021-04-14 11:33:12.000000000","message":"This feels like a comment.\n\nAlso what is EN?","commit_id":"edd3db036f0f6b4e5fde12640f5da83a5bcf0cae"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"6e651caeb99f4c7d8f6e7e421dd1cfd3cf800ced","unresolved":true,"context_lines":[{"line_number":40,"context_line":"PMEM device from `instance.migration_context`. So we can copy the data from old"},{"line_number":41,"context_line":"PMEM device to new PMEM device."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"I am not an expert at EN, but I would reword this as below:"},{"line_number":44,"context_line":"Firstly, the instance use /dev/dax0.0 PMEM Namespace on the source host, and we"},{"line_number":45,"context_line":"want to migrate or resize it to other host."},{"line_number":46,"context_line":"Secondly, migrate or resize the instance, and it will be use the PMEM\u0027s"}],"source_content_type":"text/x-rst","patch_set":6,"id":"aad62598_792a5890","line":43,"in_reply_to":"d5651458_2e5058a7","updated":"2021-04-15 01:31:59.000000000","message":"It\u0027s a redundant copy.","commit_id":"edd3db036f0f6b4e5fde12640f5da83a5bcf0cae"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6a113a759c2ff71992bd15c5e32e4a94a23fe15f","unresolved":true,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"Workflow"},{"line_number":52,"context_line":"--------"},{"line_number":53,"context_line":"When migrating or resizing intance, we can get the old PMEM device and the new"},{"line_number":54,"context_line":"PMEM device from `instance.migration_context`. So we can copy the data from old"},{"line_number":55,"context_line":"PMEM device on source_compute to new PMEM device on dest_compute."},{"line_number":56,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"5d92b473_c00e4d89","line":53,"range":{"start_line":53,"start_character":27,"end_line":53,"end_character":34},"updated":"2021-04-14 11:33:12.000000000","message":"instance","commit_id":"edd3db036f0f6b4e5fde12640f5da83a5bcf0cae"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6a113a759c2ff71992bd15c5e32e4a94a23fe15f","unresolved":true,"context_lines":[{"line_number":54,"context_line":"PMEM device from `instance.migration_context`. So we can copy the data from old"},{"line_number":55,"context_line":"PMEM device on source_compute to new PMEM device on dest_compute."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"colde migrating or resizing instance workflow as following:"},{"line_number":58,"context_line":"1.The resize_instance operation is on source_compute, free the network volume"},{"line_number":59,"context_line":"etc. resources."},{"line_number":60,"context_line":"2.The finish_resize operation is on dest_compute, launching a new instance"}],"source_content_type":"text/x-rst","patch_set":6,"id":"2b8f65ca_99382124","line":57,"range":{"start_line":57,"start_character":0,"end_line":57,"end_character":5},"updated":"2021-04-14 11:33:12.000000000","message":"cold","commit_id":"edd3db036f0f6b4e5fde12640f5da83a5bcf0cae"},{"author":{"_account_id":23598,"name":"Zhong Luyao","email":"luyao.zhong@intel.com","username":"ZhongLuyao"},"change_message_id":"f756a585fd03aeaa17509b15f11cb4a6b310021a","unresolved":true,"context_lines":[{"line_number":57,"context_line":"colde migrating or resizing instance workflow as following:"},{"line_number":58,"context_line":"1.The resize_instance operation is on source_compute, free the network volume"},{"line_number":59,"context_line":"etc. resources."},{"line_number":60,"context_line":"2.The finish_resize operation is on dest_compute, launching a new instance"},{"line_number":61,"context_line":"with resources in step1."},{"line_number":62,"context_line":"3.The confirm_resize operation is on source_compute, cleaning the residual"},{"line_number":63,"context_line":"resources of the instance."},{"line_number":64,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"5893c169_defd2dce","line":61,"range":{"start_line":60,"start_character":0,"end_line":61,"end_character":24},"updated":"2021-04-14 06:13:50.000000000","message":"What if data copy fails during resize, it might need a rollback? Details can be discussed later in implementation phase, but it\u0027s a case in the workflow.","commit_id":"edd3db036f0f6b4e5fde12640f5da83a5bcf0cae"},{"author":{"_account_id":23598,"name":"Zhong Luyao","email":"luyao.zhong@intel.com","username":"ZhongLuyao"},"change_message_id":"f756a585fd03aeaa17509b15f11cb4a6b310021a","unresolved":true,"context_lines":[{"line_number":59,"context_line":"etc. resources."},{"line_number":60,"context_line":"2.The finish_resize operation is on dest_compute, launching a new instance"},{"line_number":61,"context_line":"with resources in step1."},{"line_number":62,"context_line":"3.The confirm_resize operation is on source_compute, cleaning the residual"},{"line_number":63,"context_line":"resources of the instance."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"In step3, the PMEM devices\u0027 data will cleanup. Before cleanup, we can copy the"},{"line_number":66,"context_line":"data from old PMEM device to new PMEM device. After copying operation, we can"}],"source_content_type":"text/x-rst","patch_set":6,"id":"c498678d_be8331b4","line":63,"range":{"start_line":62,"start_character":0,"end_line":63,"end_character":26},"updated":"2021-04-14 06:13:50.000000000","message":"what if cleaning fails, it might need a periodic task to cleanup pmem and then release the pmem resources.Otherwise there is a potential data leaking issue.","commit_id":"edd3db036f0f6b4e5fde12640f5da83a5bcf0cae"},{"author":{"_account_id":30077,"name":"Qiu Fossen","display_name":"fossnqiu","email":"qiujunting@inspur.com","username":"qiufossen"},"change_message_id":"f0c7ea8fe8dee8923fbff8057089b4833408226f","unresolved":true,"context_lines":[{"line_number":59,"context_line":"etc. resources."},{"line_number":60,"context_line":"2.The finish_resize operation is on dest_compute, launching a new instance"},{"line_number":61,"context_line":"with resources in step1."},{"line_number":62,"context_line":"3.The confirm_resize operation is on source_compute, cleaning the residual"},{"line_number":63,"context_line":"resources of the instance."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"In step3, the PMEM devices\u0027 data will cleanup. Before cleanup, we can copy the"},{"line_number":66,"context_line":"data from old PMEM device to new PMEM device. After copying operation, we can"}],"source_content_type":"text/x-rst","patch_set":6,"id":"040d8407_86c0dff6","line":63,"range":{"start_line":62,"start_character":0,"end_line":63,"end_character":26},"in_reply_to":"c498678d_be8331b4","updated":"2021-04-15 13:51:12.000000000","message":"This cleanup has been realized in \"_cleanup_resize\" cleanup_vpmems. \"a periodic task to cleanup pmem\" is a good advice.","commit_id":"edd3db036f0f6b4e5fde12640f5da83a5bcf0cae"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6a113a759c2ff71992bd15c5e32e4a94a23fe15f","unresolved":true,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"In step3, the PMEM devices\u0027 data will cleanup. Before cleanup, we can copy the"},{"line_number":66,"context_line":"data from old PMEM device to new PMEM device. After copying operation, we can"},{"line_number":67,"context_line":"cleanup the data of old PMEM device."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9274e2f2_0dd54a59","line":67,"updated":"2021-04-14 11:33:12.000000000","message":"Be a bit more precise. \n\nI think you have to copy the PMEM data at the same time the instance root disk is copied. \n\nAlso you should only clean up the PMEM data on the source host _after_ the migration/resize is confirmed. Also in case of resize revert, nova has to clean up the PMEM data on the dest host.","commit_id":"edd3db036f0f6b4e5fde12640f5da83a5bcf0cae"},{"author":{"_account_id":30077,"name":"Qiu Fossen","display_name":"fossnqiu","email":"qiujunting@inspur.com","username":"qiufossen"},"change_message_id":"f0c7ea8fe8dee8923fbff8057089b4833408226f","unresolved":true,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"In step3, the PMEM devices\u0027 data will cleanup. Before cleanup, we can copy the"},{"line_number":66,"context_line":"data from old PMEM device to new PMEM device. After copying operation, we can"},{"line_number":67,"context_line":"cleanup the data of old PMEM device."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":6,"id":"a9c1ec94_f7ca9f26","line":67,"in_reply_to":"9274e2f2_0dd54a59","updated":"2021-04-15 13:51:12.000000000","message":"\u003e Also in case of resize revert, nova has to clean up the PMEM data on the dest host.\n\nYour mean is confirm filed, should clean up the PMEM data on the dest host ?","commit_id":"edd3db036f0f6b4e5fde12640f5da83a5bcf0cae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fa403cac08ad41054c15475f0fd574745c774339","unresolved":true,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"In step3, the PMEM devices\u0027 data will cleanup. Before cleanup, we can copy the"},{"line_number":66,"context_line":"data from old PMEM device to new PMEM device. After copying operation, we can"},{"line_number":67,"context_line":"cleanup the data of old PMEM device."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":6,"id":"4d86b2b8_ce2fca76","line":67,"in_reply_to":"a9c1ec94_f7ca9f26","updated":"2021-04-15 18:38:26.000000000","message":"right we need to ensure that we done delete the data on the source node before resize confrim and delete the data on the dest node in resize revert.\n\ni belive that has to be done with the daxio tool correct because that involes doing a secure erase by overriding the data. it would be a security issue  not to do that.","commit_id":"edd3db036f0f6b4e5fde12640f5da83a5bcf0cae"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6a113a759c2ff71992bd15c5e32e4a94a23fe15f","unresolved":true,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"REST API impact"},{"line_number":81,"context_line":"---------------"},{"line_number":82,"context_line":"None"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":6,"id":"b4bf94fd_c9b85909","line":82,"updated":"2021-04-14 11:33:12.000000000","message":"I guess either the flavor / image change or the new microversion due to the the new copy_pmem_devices field needs to be mentioned here eventually.","commit_id":"edd3db036f0f6b4e5fde12640f5da83a5bcf0cae"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6a113a759c2ff71992bd15c5e32e4a94a23fe15f","unresolved":true,"context_lines":[{"line_number":85,"context_line":"Security impact"},{"line_number":86,"context_line":"---------------"},{"line_number":87,"context_line":"We will coping the persistent data stored in PMEM of the instance, I am not"},{"line_number":88,"context_line":"sure whether we have the security issue."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Notifications impact"}],"source_content_type":"text/x-rst","patch_set":6,"id":"20349a4c_9823bc2c","line":88,"updated":"2021-04-14 11:33:12.000000000","message":"I would say the following:\nThe transfer of the PMEM content will use the same infrastructure as transfer of the local disk. Such transfer can be configured to use a secure connection. So no additional security impact is expected.","commit_id":"edd3db036f0f6b4e5fde12640f5da83a5bcf0cae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fa403cac08ad41054c15475f0fd574745c774339","unresolved":true,"context_lines":[{"line_number":85,"context_line":"Security impact"},{"line_number":86,"context_line":"---------------"},{"line_number":87,"context_line":"We will coping the persistent data stored in PMEM of the instance, I am not"},{"line_number":88,"context_line":"sure whether we have the security issue."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Notifications impact"}],"source_content_type":"text/x-rst","patch_set":6,"id":"c5ecdc6b_131589f6","line":88,"in_reply_to":"20349a4c_9823bc2c","updated":"2021-04-15 18:38:26.000000000","message":"well the disk normally can use scp or rsync where as here i think we need to do this diffreently and basicaly pipe the data over ssh?\n\nbasicly we will want to stream the data form one pmem device to the other without duplciating the data on disk or otherwise copying it twice. to do that we will need to use something like netcat over an ssh tunnel to do that right? \n\nwhen the pmem devices are configured in app direct mode i do not think we can just rsync/scp /dev/dax_1 directly can we? i assume we need to use a pmem specifgic tool to read and write the data.","commit_id":"edd3db036f0f6b4e5fde12640f5da83a5bcf0cae"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"f596581f2e57050cc798acf3469156c760cc23e1","unresolved":true,"context_lines":[{"line_number":85,"context_line":"Security impact"},{"line_number":86,"context_line":"---------------"},{"line_number":87,"context_line":"We will coping the persistent data stored in PMEM of the instance, I am not"},{"line_number":88,"context_line":"sure whether we have the security issue."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Notifications impact"}],"source_content_type":"text/x-rst","patch_set":6,"id":"47e2cb19_fa9f44ab","line":88,"in_reply_to":"516ca119_8cd432cc","updated":"2021-05-04 17:07:18.000000000","message":"Please add this to the spec. As I had the impression that we will use the existing scp / rsync infrastructure in nova to copy the content of PMEM.","commit_id":"edd3db036f0f6b4e5fde12640f5da83a5bcf0cae"},{"author":{"_account_id":30077,"name":"Qiu Fossen","display_name":"fossnqiu","email":"qiujunting@inspur.com","username":"qiufossen"},"change_message_id":"a6d3e011e285562e69ced5867ab96942863e35e0","unresolved":true,"context_lines":[{"line_number":85,"context_line":"Security impact"},{"line_number":86,"context_line":"---------------"},{"line_number":87,"context_line":"We will coping the persistent data stored in PMEM of the instance, I am not"},{"line_number":88,"context_line":"sure whether we have the security issue."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Notifications impact"}],"source_content_type":"text/x-rst","patch_set":6,"id":"516ca119_8cd432cc","line":88,"in_reply_to":"c5ecdc6b_131589f6","updated":"2021-04-16 06:01:02.000000000","message":"Yeah, we can use daxio, like this \"daxio -ouput /dev/dax0.0 ssh dest_compute_ip \"-input /dev/dax0.1\"\", the /dev/dax0.0 on source_compute and /dev/dax0.1 on dest_compute.","commit_id":"edd3db036f0f6b4e5fde12640f5da83a5bcf0cae"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6a113a759c2ff71992bd15c5e32e4a94a23fe15f","unresolved":true,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"Performance Impact"},{"line_number":113,"context_line":"------------------"},{"line_number":114,"context_line":"None"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"Upgrade impact"}],"source_content_type":"text/x-rst","patch_set":6,"id":"0a5edbbe_e9036a88","line":114,"updated":"2021-04-14 11:33:12.000000000","message":"It does have a performance impact. A cold migrate operation will take a lot more time and network bandwidth than before as it needs to copy the content of the pmem between compute hosts.","commit_id":"edd3db036f0f6b4e5fde12640f5da83a5bcf0cae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fa403cac08ad41054c15475f0fd574745c774339","unresolved":true,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"Performance Impact"},{"line_number":113,"context_line":"------------------"},{"line_number":114,"context_line":"None"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"Upgrade impact"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7e7af20a_86970150","line":114,"in_reply_to":"0a5edbbe_e9036a88","updated":"2021-04-15 18:38:26.000000000","message":"+1","commit_id":"edd3db036f0f6b4e5fde12640f5da83a5bcf0cae"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6a113a759c2ff71992bd15c5e32e4a94a23fe15f","unresolved":true,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":"Upgrade impact"},{"line_number":118,"context_line":"--------------"},{"line_number":119,"context_line":"None"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"Implementation"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5cc3f93f_c09ece52","line":119,"updated":"2021-04-14 11:33:12.000000000","message":"the change will impact host the nova-compute service will behave during migration / resize so the compute service version needs to be bumped. Also resize and migration with pmem copy will only work with new enough compute services so a compute service version check should be implemented for these operations.","commit_id":"edd3db036f0f6b4e5fde12640f5da83a5bcf0cae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fa403cac08ad41054c15475f0fd574745c774339","unresolved":true,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":"Upgrade impact"},{"line_number":118,"context_line":"--------------"},{"line_number":119,"context_line":"None"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"Implementation"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ec7bc9d8_5e9e25c8","line":119,"in_reply_to":"5cc3f93f_c09ece52","updated":"2021-04-15 18:38:26.000000000","message":"right we will need to use a min compute version check and reject the request with a 400 if the version is not met.\n\nwe have to choices we can be conservive and check for the min version in the entire deployment that can be done in the api or we can instead check in the conductor for the 2 hosts in question.","commit_id":"edd3db036f0f6b4e5fde12640f5da83a5bcf0cae"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6a113a759c2ff71992bd15c5e32e4a94a23fe15f","unresolved":true,"context_lines":[{"line_number":147,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":148,"context_line":"Add related unit test for negative scenarios."},{"line_number":149,"context_line":"Add related functional test (API samples)."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Documentation Impact"},{"line_number":152,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":153,"context_line":"Update the related documents and add some description of this change"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7dcaa894_23c0ba2a","line":150,"updated":"2021-04-14 11:33:12.000000000","message":"Can we cover this with tempest?","commit_id":"edd3db036f0f6b4e5fde12640f5da83a5bcf0cae"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"6e651caeb99f4c7d8f6e7e421dd1cfd3cf800ced","unresolved":true,"context_lines":[{"line_number":147,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":148,"context_line":"Add related unit test for negative scenarios."},{"line_number":149,"context_line":"Add related functional test (API samples)."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Documentation Impact"},{"line_number":152,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":153,"context_line":"Update the related documents and add some description of this change"}],"source_content_type":"text/x-rst","patch_set":6,"id":"c72aa6e9_d8f754cc","line":150,"in_reply_to":"7dcaa894_23c0ba2a","updated":"2021-04-15 01:31:59.000000000","message":"It seems not necessary to add the tempest test for this change, IMO, cureent test cold migrate test is ok.","commit_id":"edd3db036f0f6b4e5fde12640f5da83a5bcf0cae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fa403cac08ad41054c15475f0fd574745c774339","unresolved":true,"context_lines":[{"line_number":147,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":148,"context_line":"Add related unit test for negative scenarios."},{"line_number":149,"context_line":"Add related functional test (API samples)."},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Documentation Impact"},{"line_number":152,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":153,"context_line":"Update the related documents and add some description of this change"}],"source_content_type":"text/x-rst","patch_set":6,"id":"0fc30d12_9ae49ed4","line":150,"in_reply_to":"c72aa6e9_d8f754cc","updated":"2021-04-15 18:38:26.000000000","message":"we could cover this in tempest but not in the upstream ci.\nwhile the kernel can fake out some persitent memroy device if you set the correct parmatter\nit does not support pmem deivces in /dev/dax mode. \n\nqemu can do that but only with one namespace.\nwe tired to use nested virt to validate this dowstream with the l1 vm using a file on the l0 host to emulate persitent memroy for the l2 nova create vm to use but could not get this to work properly.\n\nwe have some nvdimm tests in our whitebox tempest plugin by the way\n\nhttps://opendev.org/openstack/whitebox-tempest-plugin/src/branch/master/whitebox_tempest_plugin/api/compute/test_nvdimm.py\n\nthat can be enhanced to cover this migration case and whill be when we GE this for our downstream product assuming its accpeted. perhapes intel could run those tests in its thirdpary ci at some point?\n\nfor now i think fuctional tests should be suffienct although i would hope for more then just api sample tests.","commit_id":"edd3db036f0f6b4e5fde12640f5da83a5bcf0cae"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"f596581f2e57050cc798acf3469156c760cc23e1","unresolved":true,"context_lines":[{"line_number":28,"context_line":"of the PMEM device to improve the performance of the instance."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Since copying pmem data will take a lot more time and network bandwidth, so"},{"line_number":31,"context_line":"can add a argument \"copy_pmem_devices\" decided whether to cpoy pmem data."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":10,"id":"930cd361_1599c404","line":31,"range":{"start_line":31,"start_character":58,"end_line":31,"end_character":62},"updated":"2021-05-04 17:07:18.000000000","message":"nit:copy","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":30077,"name":"Qiu Fossen","display_name":"fossnqiu","email":"qiujunting@inspur.com","username":"qiufossen"},"change_message_id":"04c699fda752aeae86fc4913eec6c02d062738b0","unresolved":false,"context_lines":[{"line_number":28,"context_line":"of the PMEM device to improve the performance of the instance."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Since copying pmem data will take a lot more time and network bandwidth, so"},{"line_number":31,"context_line":"can add a argument \"copy_pmem_devices\" decided whether to cpoy pmem data."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":10,"id":"a172b069_c2210cbd","line":31,"range":{"start_line":31,"start_character":58,"end_line":31,"end_character":62},"in_reply_to":"930cd361_1599c404","updated":"2021-05-05 09:25:19.000000000","message":"Done","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"f596581f2e57050cc798acf3469156c760cc23e1","unresolved":true,"context_lines":[{"line_number":58,"context_line":"1.The resize_instance operation is on source_compute, free the network volume"},{"line_number":59,"context_line":"etc. resources."},{"line_number":60,"context_line":"2.The finish_resize operation is on dest_compute, launching a new instance"},{"line_number":61,"context_line":"with resources in step1. If launching new instance failed, will terminate"},{"line_number":62,"context_line":"the operation, not copy pmem data."},{"line_number":63,"context_line":"3.The confirm_resize operation is on source_compute, cleaning the residual"},{"line_number":64,"context_line":"resources of the instance. In this, will copy the data from old PMEM device"},{"line_number":65,"context_line":"to new PMEM device. If copy failed unconfirm and rollback. After copying,"}],"source_content_type":"text/x-rst","patch_set":10,"id":"52cb7de4_a033cb68","line":62,"range":{"start_line":61,"start_character":25,"end_line":62,"end_character":34},"updated":"2021-05-04 17:07:18.000000000","message":"more importantly you make the instance ACTIVE again on the source compute.","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":30077,"name":"Qiu Fossen","display_name":"fossnqiu","email":"qiujunting@inspur.com","username":"qiufossen"},"change_message_id":"04c699fda752aeae86fc4913eec6c02d062738b0","unresolved":false,"context_lines":[{"line_number":58,"context_line":"1.The resize_instance operation is on source_compute, free the network volume"},{"line_number":59,"context_line":"etc. resources."},{"line_number":60,"context_line":"2.The finish_resize operation is on dest_compute, launching a new instance"},{"line_number":61,"context_line":"with resources in step1. If launching new instance failed, will terminate"},{"line_number":62,"context_line":"the operation, not copy pmem data."},{"line_number":63,"context_line":"3.The confirm_resize operation is on source_compute, cleaning the residual"},{"line_number":64,"context_line":"resources of the instance. In this, will copy the data from old PMEM device"},{"line_number":65,"context_line":"to new PMEM device. If copy failed unconfirm and rollback. After copying,"}],"source_content_type":"text/x-rst","patch_set":10,"id":"d6ece609_acbde63b","line":62,"range":{"start_line":61,"start_character":25,"end_line":62,"end_character":34},"in_reply_to":"52cb7de4_a033cb68","updated":"2021-05-05 09:25:19.000000000","message":"Done","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"f596581f2e57050cc798acf3469156c760cc23e1","unresolved":true,"context_lines":[{"line_number":61,"context_line":"with resources in step1. If launching new instance failed, will terminate"},{"line_number":62,"context_line":"the operation, not copy pmem data."},{"line_number":63,"context_line":"3.The confirm_resize operation is on source_compute, cleaning the residual"},{"line_number":64,"context_line":"resources of the instance. In this, will copy the data from old PMEM device"},{"line_number":65,"context_line":"to new PMEM device. If copy failed unconfirm and rollback. After copying,"},{"line_number":66,"context_line":"cleanup the data of old PMEM device. If cleanup failed, add a periodic task"},{"line_number":67,"context_line":"to cleanup pmem."},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"33cd9997_3e5fb089","line":65,"range":{"start_line":64,"start_character":27,"end_line":65,"end_character":19},"updated":"2021-05-04 17:07:18.000000000","message":"What is old and new PMEM device here? During confirm_resize you should not do any expensive operation. At that point the VM should already be fully migrated to the dest host and actually running there.","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"f596581f2e57050cc798acf3469156c760cc23e1","unresolved":true,"context_lines":[{"line_number":62,"context_line":"the operation, not copy pmem data."},{"line_number":63,"context_line":"3.The confirm_resize operation is on source_compute, cleaning the residual"},{"line_number":64,"context_line":"resources of the instance. In this, will copy the data from old PMEM device"},{"line_number":65,"context_line":"to new PMEM device. If copy failed unconfirm and rollback. After copying,"},{"line_number":66,"context_line":"cleanup the data of old PMEM device. If cleanup failed, add a periodic task"},{"line_number":67,"context_line":"to cleanup pmem."},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"45d28239_72fd883f","line":65,"range":{"start_line":65,"start_character":35,"end_line":65,"end_character":44},"updated":"2021-05-04 17:07:18.000000000","message":"there is no such thing that nova unconfirming a migration. When a cold migration / resize is initiated by the user then,\n1) nova stops the VM on the source compute\n2) nova moves all the VM data from the source to the dest compute.\n3) then nova starts the VM on the dest comute. At this point the VM is moved to verify_resize state\n4) end user needs to decide to either confirm or revert the migration. (e.g. the end user might check that the VM is running well before it decides)\n5a) if the user confirms the resize / migration then nova needs to clean up the VMs data on the source compute\n5b) if the user reverts the resize / migration then nova needs to stop the VM on the dest compute and clean up the dest compute, and start the VM on the source compute\n\nyou have to move the PMEM data at step #2) so that at step #3) the VM can be started up on the dest compute.","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b7759609be4d960befd3eaa0ef419db73e6a125f","unresolved":true,"context_lines":[{"line_number":62,"context_line":"the operation, not copy pmem data."},{"line_number":63,"context_line":"3.The confirm_resize operation is on source_compute, cleaning the residual"},{"line_number":64,"context_line":"resources of the instance. In this, will copy the data from old PMEM device"},{"line_number":65,"context_line":"to new PMEM device. If copy failed unconfirm and rollback. After copying,"},{"line_number":66,"context_line":"cleanup the data of old PMEM device. If cleanup failed, add a periodic task"},{"line_number":67,"context_line":"to cleanup pmem."},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"5c71e7fd_29cd784b","line":65,"range":{"start_line":65,"start_character":35,"end_line":65,"end_character":44},"in_reply_to":"253a2820_ed6578ab","updated":"2021-05-10 09:42:04.000000000","message":"yes as part of the move claim we store them in the migration context as you pointed out so we should be able to use that info assuming what we are storing is all the info we require, if not we can extend it.","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"88e19ed9360036c2c083a417686179e94c66caf9","unresolved":true,"context_lines":[{"line_number":61,"context_line":"with resources in step1. If launching new instance failed, will terminate"},{"line_number":62,"context_line":"the operation, not copy pmem data."},{"line_number":63,"context_line":"3.The confirm_resize operation is on source_compute, cleaning the residual"},{"line_number":64,"context_line":"resources of the instance. In this, will copy the data from old PMEM device"},{"line_number":65,"context_line":"to new PMEM device. If copy failed unconfirm and rollback. After copying,"},{"line_number":66,"context_line":"cleanup the data of old PMEM device. If cleanup failed, add a periodic task"},{"line_number":67,"context_line":"to cleanup pmem."},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"db029586_74a9e21e","line":65,"range":{"start_line":64,"start_character":27,"end_line":65,"end_character":19},"in_reply_to":"33cd9997_3e5fb089","updated":"2021-05-04 17:43:32.000000000","message":"we cannot wait for teh data to be copid in confrim resize.\nthe instance is running on the dstination by the time we enter resize_verify","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"88e19ed9360036c2c083a417686179e94c66caf9","unresolved":true,"context_lines":[{"line_number":62,"context_line":"the operation, not copy pmem data."},{"line_number":63,"context_line":"3.The confirm_resize operation is on source_compute, cleaning the residual"},{"line_number":64,"context_line":"resources of the instance. In this, will copy the data from old PMEM device"},{"line_number":65,"context_line":"to new PMEM device. If copy failed unconfirm and rollback. After copying,"},{"line_number":66,"context_line":"cleanup the data of old PMEM device. If cleanup failed, add a periodic task"},{"line_number":67,"context_line":"to cleanup pmem."},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"6df4ad6b_5f76c944","line":65,"range":{"start_line":65,"start_character":35,"end_line":65,"end_character":44},"in_reply_to":"45d28239_72fd883f","updated":"2021-05-04 17:43:32.000000000","message":"+1 yep that is what i was trying to say in my previous comment above.\n\nwe need to do the copy before we start teh vm in step 3 and set it to verify_resize.\n\ncan you update teh workflow with the steps provided by gibi.","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"93c70cc6f7b9f46c618d8de16455dddce430dbe8","unresolved":true,"context_lines":[{"line_number":62,"context_line":"the operation, not copy pmem data."},{"line_number":63,"context_line":"3.The confirm_resize operation is on source_compute, cleaning the residual"},{"line_number":64,"context_line":"resources of the instance. In this, will copy the data from old PMEM device"},{"line_number":65,"context_line":"to new PMEM device. If copy failed unconfirm and rollback. After copying,"},{"line_number":66,"context_line":"cleanup the data of old PMEM device. If cleanup failed, add a periodic task"},{"line_number":67,"context_line":"to cleanup pmem."},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"ce1021f3_f6c5a1e2","line":65,"range":{"start_line":65,"start_character":35,"end_line":65,"end_character":44},"in_reply_to":"6df4ad6b_5f76c944","updated":"2021-05-07 12:54:13.000000000","message":"The cold migrate / resize logical is clearly, and another problem is we should know which pmem device we should use, now nova filter the pmem devices by \"Label\", if the vm not start at dest compute(step #3) , may it\u0027s unknow which dev/daxX.Y pmem namespace that it can be allocated.\n\nIf the vm cannot allocated the PMEM namespace, we have no way to know which PMEM\u0027s namespace on the dest compute to copy the source PMEM data to, do you have some idea?","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3e550da1030c1a94ba53b900de5b4c2e597f69d5","unresolved":true,"context_lines":[{"line_number":62,"context_line":"the operation, not copy pmem data."},{"line_number":63,"context_line":"3.The confirm_resize operation is on source_compute, cleaning the residual"},{"line_number":64,"context_line":"resources of the instance. In this, will copy the data from old PMEM device"},{"line_number":65,"context_line":"to new PMEM device. If copy failed unconfirm and rollback. After copying,"},{"line_number":66,"context_line":"cleanup the data of old PMEM device. If cleanup failed, add a periodic task"},{"line_number":67,"context_line":"to cleanup pmem."},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"253a2820_ed6578ab","line":65,"range":{"start_line":65,"start_character":35,"end_line":65,"end_character":44},"in_reply_to":"7bfde233_01f976bf","updated":"2021-05-08 01:34:14.000000000","message":"\u003e And we have MigrationContext to pass the destination pmem info to the source host.\n\nI guess we already have the info here https://github.com/openstack/nova/blob/7953c0197d1a4466cb5b78070d47626c92f9db6e/nova/compute/resource_tracker.py#L334","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"6480adc10ac4bcd10da0e93c468c01c605d992ec","unresolved":true,"context_lines":[{"line_number":62,"context_line":"the operation, not copy pmem data."},{"line_number":63,"context_line":"3.The confirm_resize operation is on source_compute, cleaning the residual"},{"line_number":64,"context_line":"resources of the instance. In this, will copy the data from old PMEM device"},{"line_number":65,"context_line":"to new PMEM device. If copy failed unconfirm and rollback. After copying,"},{"line_number":66,"context_line":"cleanup the data of old PMEM device. If cleanup failed, add a periodic task"},{"line_number":67,"context_line":"to cleanup pmem."},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"7bfde233_01f976bf","line":65,"range":{"start_line":65,"start_character":35,"end_line":65,"end_character":44},"in_reply_to":"a23a3b1b_61eae106","updated":"2021-05-08 01:23:24.000000000","message":"And we have MigrationContext to pass the destination pmem info to the source host.","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":30077,"name":"Qiu Fossen","display_name":"fossnqiu","email":"qiujunting@inspur.com","username":"qiufossen"},"change_message_id":"ba3cc50a3607c9a4d83ca0eea199745cce22af42","unresolved":true,"context_lines":[{"line_number":61,"context_line":"with resources in step1. If launching new instance failed, will terminate"},{"line_number":62,"context_line":"the operation, not copy pmem data."},{"line_number":63,"context_line":"3.The confirm_resize operation is on source_compute, cleaning the residual"},{"line_number":64,"context_line":"resources of the instance. In this, will copy the data from old PMEM device"},{"line_number":65,"context_line":"to new PMEM device. If copy failed unconfirm and rollback. After copying,"},{"line_number":66,"context_line":"cleanup the data of old PMEM device. If cleanup failed, add a periodic task"},{"line_number":67,"context_line":"to cleanup pmem."},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"29d5e671_bf3b2776","line":65,"range":{"start_line":64,"start_character":27,"end_line":65,"end_character":19},"in_reply_to":"a548311e_212c82c9","updated":"2021-05-10 07:52:33.000000000","message":"OH,we can get the new PMEM device and old PMEM device from instance.migration_context. So we can copy the PMEM data in migrate_disk_and_power_off. \n\nThe next work i will update the spec according to what we discussed and start code development for this spec.","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"3e550da1030c1a94ba53b900de5b4c2e597f69d5","unresolved":true,"context_lines":[{"line_number":61,"context_line":"with resources in step1. If launching new instance failed, will terminate"},{"line_number":62,"context_line":"the operation, not copy pmem data."},{"line_number":63,"context_line":"3.The confirm_resize operation is on source_compute, cleaning the residual"},{"line_number":64,"context_line":"resources of the instance. In this, will copy the data from old PMEM device"},{"line_number":65,"context_line":"to new PMEM device. If copy failed unconfirm and rollback. After copying,"},{"line_number":66,"context_line":"cleanup the data of old PMEM device. If cleanup failed, add a periodic task"},{"line_number":67,"context_line":"to cleanup pmem."},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"a548311e_212c82c9","line":65,"range":{"start_line":64,"start_character":27,"end_line":65,"end_character":19},"in_reply_to":"b17fbad2_8c35f237","updated":"2021-05-08 01:34:14.000000000","message":"\u003e i think we shoudl avoid copying the data to the instance directory if at all possible.\n\u003e its not inconceivable that the amount of PMEM will exceed the local storage on the host.\n\u003e we are actually trying to source a server currently that has pmem for our QE testing and we are specing that 12*128GB of pMEM and 2 480GB ssd in raid1 so we will have triple the PMEM to local storage.\n\nWe needn\u0027t copy the data to the instance directory. And you can\u0027t copy the pmem directly since it is char device.\n\nWe can use daxio + ssh to copy the data between two pmem.\nhttps://pmem.io/pmdk/manpages/linux/v1.10/daxio/daxio.1.html","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ba6310a72fb8092557b723e639f22123042b89f8","unresolved":true,"context_lines":[{"line_number":61,"context_line":"with resources in step1. If launching new instance failed, will terminate"},{"line_number":62,"context_line":"the operation, not copy pmem data."},{"line_number":63,"context_line":"3.The confirm_resize operation is on source_compute, cleaning the residual"},{"line_number":64,"context_line":"resources of the instance. In this, will copy the data from old PMEM device"},{"line_number":65,"context_line":"to new PMEM device. If copy failed unconfirm and rollback. After copying,"},{"line_number":66,"context_line":"cleanup the data of old PMEM device. If cleanup failed, add a periodic task"},{"line_number":67,"context_line":"to cleanup pmem."},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"d6ac07da_94215dfa","line":65,"range":{"start_line":64,"start_character":27,"end_line":65,"end_character":19},"in_reply_to":"cdfca02c_57885bf5","updated":"2021-05-06 08:04:14.000000000","message":"I think this is a big problem as we have a contradiction now.\n1) As per technical limitation: we need to launch the VM on the dest host before we can copy the PMEM data to the dest host\u0027s PMEM device.\n2) As per original intention from the use case: we want to launch the VM with consistent data including the content of the PMEM. \n\nThese two things are not fulfilled by the current proposal. :/ \n\nSo I think we need to do a bit more complicated solution. \n\nAfter the libvirt driver on the dest host generated the domain config (get_guest_config), but before it launched the domain (_create_guest) we initiate the PMEM data transfer from the source to the dest. As this logic runs on the dest compute this might need to happen in a way that the dest compute ssh back to the source to copy the data. To do that the dest compute needs to know what is the source compute, and what is the PMEM device to copy from. You have to check if these data is available on the dest. Also this solution probably needs to be parallelized with the vif plug handling that also happens during this time.\n\nAlternatively we can treat the PMEM data as disk. \n1) on the source compute copy the PMEM data from the device to the instance directory\n2) migrate the data along with the instance disks (if needed. On shared storage it is not needed)\n3) on the dest compute during _create_guest, copy the PMEM content from the instance dir to the device.\n\nThe second solution needs more disk space but simplifies the logic of getting the PMEM data to the dest host.\n\nI think we did something similar with the vtpm data, but that is lot less data to move around.","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"9f1f0960ecc08cadf12f84165c5606470c86e3f8","unresolved":true,"context_lines":[{"line_number":62,"context_line":"the operation, not copy pmem data."},{"line_number":63,"context_line":"3.The confirm_resize operation is on source_compute, cleaning the residual"},{"line_number":64,"context_line":"resources of the instance. In this, will copy the data from old PMEM device"},{"line_number":65,"context_line":"to new PMEM device. If copy failed unconfirm and rollback. After copying,"},{"line_number":66,"context_line":"cleanup the data of old PMEM device. If cleanup failed, add a periodic task"},{"line_number":67,"context_line":"to cleanup pmem."},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"a23a3b1b_61eae106","line":65,"range":{"start_line":65,"start_character":35,"end_line":65,"end_character":44},"in_reply_to":"ce1021f3_f6c5a1e2","updated":"2021-05-07 18:43:43.000000000","message":"i explained how to do this in my comment above\nas part of _prep_resize during the move claim process we will claim the destination pmem device\n\nhttps://docs.openstack.org/nova/latest/contributor/resize-and-cold-migrate.html#resize\n\nprep_resize run on the destintatnion host after the schduler has selected the destion host but before we call resize_instance on the source host. so by claiming the pmem device isn prep_resize which we already do it ensure that we can claim the device before stoping the vm or transfering any data so this happens at step 0 in gibis workflow.\n\nso we know the destination pmem device and have reserved for the instance on the destination when call \nmigrate_disk_and_power_off in resize_instance.\n\nthat means we can either extend migrate_disk_and_power_off to copy the pmem data or we can call a new driver method to to copy the deata after migrate_disk_and_power_off has completed.\n\nthe details are in my last comment on the previous line","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1d84f1a1b176fa158aa22d09a68fe05c1496e53a","unresolved":true,"context_lines":[{"line_number":61,"context_line":"with resources in step1. If launching new instance failed, will terminate"},{"line_number":62,"context_line":"the operation, not copy pmem data."},{"line_number":63,"context_line":"3.The confirm_resize operation is on source_compute, cleaning the residual"},{"line_number":64,"context_line":"resources of the instance. In this, will copy the data from old PMEM device"},{"line_number":65,"context_line":"to new PMEM device. If copy failed unconfirm and rollback. After copying,"},{"line_number":66,"context_line":"cleanup the data of old PMEM device. If cleanup failed, add a periodic task"},{"line_number":67,"context_line":"to cleanup pmem."},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"b17fbad2_8c35f237","line":65,"range":{"start_line":64,"start_character":27,"end_line":65,"end_character":19},"in_reply_to":"d6ac07da_94215dfa","updated":"2021-05-06 09:45:44.000000000","message":"as much as i hate them resize is using move claims so we should have claimed the remote pmem device as part fo the move claim process although i dont actuly see that happening.\nwe shoudl be claiming the pmem device as part of the move claim process then use that to copy the data.\n\ni think this is where we are currently claiming the pmem devices in \nhttps://github.com/openstack/nova/blob/7953c0197d1a4466cb5b78070d47626c92f9db6e/nova/compute/resource_tracker.py#L390-L431\n\nthat was added in https://review.opendev.org/c/openstack/nova/+/678452/33/nova/compute/resource_tracker.py\n\ncurrenlty its run in the instance_claim\nhttps://github.com/openstack/nova/blob/7953c0197d1a4466cb5b78070d47626c92f9db6e/nova/compute/resource_tracker.py#L188 and in the move claim\nhttps://github.com/openstack/nova/blob/7953c0197d1a4466cb5b78070d47626c92f9db6e/nova/compute/resource_tracker.py#L318\n\nwe run the resize_calim code in _prep_resize\nhttps://github.com/openstack/nova/blob/7953c0197d1a4466cb5b78070d47626c92f9db6e/nova/compute/manager.py#L5109\nand in  prep_snapshot_based_resize_at_dest\nhttps://github.com/openstack/nova/blob/7953c0197d1a4466cb5b78070d47626c92f9db6e/nova/compute/manager.py#L5332\n\nso after we call migrate_disk_and_power_off\n\nhttps://github.com/openstack/nova/blob/7953c0197d1a4466cb5b78070d47626c92f9db6e/nova/compute/manager.py#L5537-L5541\n\nwe can copy the pmem resouces.\nwe could also do that in migrate_disk_and_power_off\nthis is where we copy the disk today and that is proably wehere we should be copying the pmem data.\nhttps://github.com/openstack/nova/blob/7953c0197d1a4466cb5b78070d47626c92f9db6e/nova/virt/libvirt/driver.py#L10797-L10830\n\n\nregarding option 2 having the dest ssh to the source could work i guess.\ni think we shoudl avoid copying the data to the instance directory if at all possible.\nits not inconceivable that the amount of PMEM will exceed the local storage on the host.\nwe are actually trying to source a server currently that has pmem for our QE testing and we are specing that 12*128GB of pMEM and 2 480GB ssd in raid1 so we will have triple the PMEM to local storage.","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":30077,"name":"Qiu Fossen","display_name":"fossnqiu","email":"qiujunting@inspur.com","username":"qiufossen"},"change_message_id":"04c699fda752aeae86fc4913eec6c02d062738b0","unresolved":true,"context_lines":[{"line_number":61,"context_line":"with resources in step1. If launching new instance failed, will terminate"},{"line_number":62,"context_line":"the operation, not copy pmem data."},{"line_number":63,"context_line":"3.The confirm_resize operation is on source_compute, cleaning the residual"},{"line_number":64,"context_line":"resources of the instance. In this, will copy the data from old PMEM device"},{"line_number":65,"context_line":"to new PMEM device. If copy failed unconfirm and rollback. After copying,"},{"line_number":66,"context_line":"cleanup the data of old PMEM device. If cleanup failed, add a periodic task"},{"line_number":67,"context_line":"to cleanup pmem."},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"cdfca02c_57885bf5","line":65,"range":{"start_line":64,"start_character":27,"end_line":65,"end_character":19},"in_reply_to":"db029586_74a9e21e","updated":"2021-05-05 09:25:19.000000000","message":"What is old and new PMEM device here?\n\nThis a key problem, we can not get the new PMEM device before the instance launched on dest host. In the resize/cold_migrate processs, the new PMEM device will be selected according to instance flavor, when creating instance on dest host at get_guest_config. So after the instance   launched on dest host, we can get the new PMEM device.","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"f596581f2e57050cc798acf3469156c760cc23e1","unresolved":true,"context_lines":[{"line_number":69,"context_line":"In step3, about copying pmem data there are some situations:"},{"line_number":70,"context_line":"1.The cluster connects to one shared storage backend, in this situation, only"},{"line_number":71,"context_line":"copying the pmem data, needn\u0027t copy root disk."},{"line_number":72,"context_line":"2.The cluster connects to multiple storage backends, should cinder migrate root"},{"line_number":73,"context_line":"disk and copy pmem data at same time."},{"line_number":74,"context_line":"3.The source_compute and dest_compute in different clusters, this is not"},{"line_number":75,"context_line":"supporting copying pmem data."},{"line_number":76,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"d0210748_69250a65","line":73,"range":{"start_line":72,"start_character":2,"end_line":73,"end_character":5},"updated":"2021-05-04 17:07:18.000000000","message":"I cannot fully parse this. If the VM is booted from a cinder volume (i.e. the root disk is on a volume) then nova does not need to copy the root disk, it will be attached to the dest compute from the cinder backend. You are correct that in this case nova needs to copy the PMEM data.","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":30077,"name":"Qiu Fossen","display_name":"fossnqiu","email":"qiujunting@inspur.com","username":"qiufossen"},"change_message_id":"0e0c5cea9e278367ea8c7020f22c9bd779c11053","unresolved":true,"context_lines":[{"line_number":69,"context_line":"In step3, about copying pmem data there are some situations:"},{"line_number":70,"context_line":"1.The cluster connects to one shared storage backend, in this situation, only"},{"line_number":71,"context_line":"copying the pmem data, needn\u0027t copy root disk."},{"line_number":72,"context_line":"2.The cluster connects to multiple storage backends, should cinder migrate root"},{"line_number":73,"context_line":"disk and copy pmem data at same time."},{"line_number":74,"context_line":"3.The source_compute and dest_compute in different clusters, this is not"},{"line_number":75,"context_line":"supporting copying pmem data."},{"line_number":76,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"ab3fb351_46a3fc60","line":73,"range":{"start_line":72,"start_character":2,"end_line":73,"end_character":5},"in_reply_to":"94e4d0be_441d984a","updated":"2021-05-06 01:43:50.000000000","message":"Gibi and sean, my point is that the cluster connects to different storage backends, if the VM is booted from a cinder volume need migrate root disk to another storage backends and copy PMEM data.","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b64d050de1b7fbee832d68a8a525d5baa3535bc5","unresolved":true,"context_lines":[{"line_number":69,"context_line":"In step3, about copying pmem data there are some situations:"},{"line_number":70,"context_line":"1.The cluster connects to one shared storage backend, in this situation, only"},{"line_number":71,"context_line":"copying the pmem data, needn\u0027t copy root disk."},{"line_number":72,"context_line":"2.The cluster connects to multiple storage backends, should cinder migrate root"},{"line_number":73,"context_line":"disk and copy pmem data at same time."},{"line_number":74,"context_line":"3.The source_compute and dest_compute in different clusters, this is not"},{"line_number":75,"context_line":"supporting copying pmem data."},{"line_number":76,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"062fcbe1_11e663f3","line":73,"range":{"start_line":72,"start_character":2,"end_line":73,"end_character":5},"in_reply_to":"ab3fb351_46a3fc60","updated":"2021-05-06 09:53:59.000000000","message":"right and our point is that is not an operation that is allowed to happen as a result of a cold migration or resize.\n\nnova never moves the root disk betwen storage backends.\nif its a boot form volumn guest it can obly be move between storage backends if you do a volume retype via the cinder api.\n\nso we never need to migrate teh root disk for boot form volume guests.","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"88e19ed9360036c2c083a417686179e94c66caf9","unresolved":true,"context_lines":[{"line_number":69,"context_line":"In step3, about copying pmem data there are some situations:"},{"line_number":70,"context_line":"1.The cluster connects to one shared storage backend, in this situation, only"},{"line_number":71,"context_line":"copying the pmem data, needn\u0027t copy root disk."},{"line_number":72,"context_line":"2.The cluster connects to multiple storage backends, should cinder migrate root"},{"line_number":73,"context_line":"disk and copy pmem data at same time."},{"line_number":74,"context_line":"3.The source_compute and dest_compute in different clusters, this is not"},{"line_number":75,"context_line":"supporting copying pmem data."},{"line_number":76,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"94e4d0be_441d984a","line":73,"range":{"start_line":72,"start_character":2,"end_line":73,"end_character":5},"in_reply_to":"d0210748_69250a65","updated":"2021-05-04 17:43:32.000000000","message":"perhaps they were wondering if in the case were we are not using cinder for the vm root shoudl we copy the root disk and pmem data in parallel.\n\ni kind of think the answer should be yes but i think that is an implementation detail.\n\nif instaead you were implying that the vm would both migrate between compute host and cinder backend in one operation that is not posiblle today. you can migrate volumes between cinder backends but that is never done as a result of a nova resize or cold migration.\n\nbut ya this sentence is unclear to me also.","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"f596581f2e57050cc798acf3469156c760cc23e1","unresolved":true,"context_lines":[{"line_number":71,"context_line":"copying the pmem data, needn\u0027t copy root disk."},{"line_number":72,"context_line":"2.The cluster connects to multiple storage backends, should cinder migrate root"},{"line_number":73,"context_line":"disk and copy pmem data at same time."},{"line_number":74,"context_line":"3.The source_compute and dest_compute in different clusters, this is not"},{"line_number":75,"context_line":"supporting copying pmem data."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"09cc98d1_d6a176a1","line":74,"range":{"start_line":74,"start_character":40,"end_line":74,"end_character":59},"updated":"2021-05-04 17:07:18.000000000","message":"what does cluster means here? If it means different OpenStack deployments then you don\u0027t have to add this. OpenStack Nova does not support migrating VMs between OpenStack deployments regardless of PMEM.","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"88e19ed9360036c2c083a417686179e94c66caf9","unresolved":true,"context_lines":[{"line_number":71,"context_line":"copying the pmem data, needn\u0027t copy root disk."},{"line_number":72,"context_line":"2.The cluster connects to multiple storage backends, should cinder migrate root"},{"line_number":73,"context_line":"disk and copy pmem data at same time."},{"line_number":74,"context_line":"3.The source_compute and dest_compute in different clusters, this is not"},{"line_number":75,"context_line":"supporting copying pmem data."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"6a7a40a9_4bd080e9","line":74,"range":{"start_line":74,"start_character":40,"end_line":74,"end_character":59},"in_reply_to":"09cc98d1_d6a176a1","updated":"2021-05-04 17:43:32.000000000","message":"perhaps they ment nova cells?  we now have cross cell resize but if that is what they ment i would like them to use the word cell not cluster.\n\ncross cell resize uses snapshots like shelve and i agree that it may not be feasible to support data migration in this case due to the size of the data invovled.","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4d5ce61842b2e25a91c73097c5c2c90825c48566","unresolved":false,"context_lines":[{"line_number":71,"context_line":"copying the pmem data, needn\u0027t copy root disk."},{"line_number":72,"context_line":"2.The cluster connects to multiple storage backends, should cinder migrate root"},{"line_number":73,"context_line":"disk and copy pmem data at same time."},{"line_number":74,"context_line":"3.The source_compute and dest_compute in different clusters, this is not"},{"line_number":75,"context_line":"supporting copying pmem data."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"4f7da3a8_e444ad7a","line":74,"range":{"start_line":74,"start_character":40,"end_line":74,"end_character":59},"in_reply_to":"14f5cc30_c08728d2","updated":"2021-05-05 13:37:25.000000000","message":"right so gibi\u0027s point is since openstack does not support migration of instance between different openstack clouds you shoudl not mention this.","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":30077,"name":"Qiu Fossen","display_name":"fossnqiu","email":"qiujunting@inspur.com","username":"qiufossen"},"change_message_id":"0e0c5cea9e278367ea8c7020f22c9bd779c11053","unresolved":false,"context_lines":[{"line_number":71,"context_line":"copying the pmem data, needn\u0027t copy root disk."},{"line_number":72,"context_line":"2.The cluster connects to multiple storage backends, should cinder migrate root"},{"line_number":73,"context_line":"disk and copy pmem data at same time."},{"line_number":74,"context_line":"3.The source_compute and dest_compute in different clusters, this is not"},{"line_number":75,"context_line":"supporting copying pmem data."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"fbbed9dc_2cec431c","line":74,"range":{"start_line":74,"start_character":40,"end_line":74,"end_character":59},"in_reply_to":"4f7da3a8_e444ad7a","updated":"2021-05-06 01:43:50.000000000","message":"Hi sean, this means delete it?","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":30077,"name":"Qiu Fossen","display_name":"fossnqiu","email":"qiujunting@inspur.com","username":"qiufossen"},"change_message_id":"04c699fda752aeae86fc4913eec6c02d062738b0","unresolved":false,"context_lines":[{"line_number":71,"context_line":"copying the pmem data, needn\u0027t copy root disk."},{"line_number":72,"context_line":"2.The cluster connects to multiple storage backends, should cinder migrate root"},{"line_number":73,"context_line":"disk and copy pmem data at same time."},{"line_number":74,"context_line":"3.The source_compute and dest_compute in different clusters, this is not"},{"line_number":75,"context_line":"supporting copying pmem data."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"14f5cc30_c08728d2","line":74,"range":{"start_line":74,"start_character":40,"end_line":74,"end_character":59},"in_reply_to":"6a7a40a9_4bd080e9","updated":"2021-05-05 09:25:19.000000000","message":"what does cluster means here? If it means different OpenStack deployments then you don\u0027t have to add this. OpenStack Nova does not support migrating VMs between OpenStack deployments regardless of PMEM.\n\nYes, if the source_compute and dest_compute in different OpenStack deployments, does not support migrate PMEM device data.","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b64d050de1b7fbee832d68a8a525d5baa3535bc5","unresolved":false,"context_lines":[{"line_number":71,"context_line":"copying the pmem data, needn\u0027t copy root disk."},{"line_number":72,"context_line":"2.The cluster connects to multiple storage backends, should cinder migrate root"},{"line_number":73,"context_line":"disk and copy pmem data at same time."},{"line_number":74,"context_line":"3.The source_compute and dest_compute in different clusters, this is not"},{"line_number":75,"context_line":"supporting copying pmem data."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"18e88d58_318caa0e","line":74,"range":{"start_line":74,"start_character":40,"end_line":74,"end_character":59},"in_reply_to":"fbbed9dc_2cec431c","updated":"2021-05-06 09:53:59.000000000","message":"yes we do not need 3","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"f596581f2e57050cc798acf3469156c760cc23e1","unresolved":true,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"Security impact"},{"line_number":113,"context_line":"---------------"},{"line_number":114,"context_line":"The transfer of the PMEM content will use the same infrastructure as transfer"},{"line_number":115,"context_line":"of the local disk. Such transfer can be configured to use a secure connection."},{"line_number":116,"context_line":"So no additional security impact is expected."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"03aa5bf5_8ab922e1","line":115,"range":{"start_line":114,"start_character":0,"end_line":115,"end_character":78},"updated":"2021-05-04 17:07:18.000000000","message":"The comment from Qui and Sean suggest that it is not true.","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"88e19ed9360036c2c083a417686179e94c66caf9","unresolved":true,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"Security impact"},{"line_number":113,"context_line":"---------------"},{"line_number":114,"context_line":"The transfer of the PMEM content will use the same infrastructure as transfer"},{"line_number":115,"context_line":"of the local disk. Such transfer can be configured to use a secure connection."},{"line_number":116,"context_line":"So no additional security impact is expected."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"6332e5e9_24df34a2","line":115,"range":{"start_line":114,"start_character":0,"end_line":115,"end_character":78},"in_reply_to":"03aa5bf5_8ab922e1","updated":"2021-05-04 17:43:32.000000000","message":"right i think we will need  to use the daxio utiltie to read and write the data to/from the pmem devices.\nwe likely can use ssh as the transport layer and possible resue some of the infrastucer we have in place but we wont just be abel to use it without modificaiton.","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":30077,"name":"Qiu Fossen","display_name":"fossnqiu","email":"qiujunting@inspur.com","username":"qiufossen"},"change_message_id":"04c699fda752aeae86fc4913eec6c02d062738b0","unresolved":true,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"Security impact"},{"line_number":113,"context_line":"---------------"},{"line_number":114,"context_line":"The transfer of the PMEM content will use the same infrastructure as transfer"},{"line_number":115,"context_line":"of the local disk. Such transfer can be configured to use a secure connection."},{"line_number":116,"context_line":"So no additional security impact is expected."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"805438fe_5c13939c","line":115,"range":{"start_line":114,"start_character":0,"end_line":115,"end_character":78},"in_reply_to":"6332e5e9_24df34a2","updated":"2021-05-05 09:25:19.000000000","message":"I don\u0027t know how to describe this. My describe is suitable or not?","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4d5ce61842b2e25a91c73097c5c2c90825c48566","unresolved":true,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"Security impact"},{"line_number":113,"context_line":"---------------"},{"line_number":114,"context_line":"The transfer of the PMEM content will use the same infrastructure as transfer"},{"line_number":115,"context_line":"of the local disk. Such transfer can be configured to use a secure connection."},{"line_number":116,"context_line":"So no additional security impact is expected."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"b0a8b5eb_7434d00a","line":115,"range":{"start_line":114,"start_character":0,"end_line":115,"end_character":78},"in_reply_to":"805438fe_5c13939c","updated":"2021-05-05 13:37:25.000000000","message":"this is currently inaccurate.\n\nwe should add the following in the proposed chages section\n\n\u0027\u0027\u0027\nThe pmem data will be transfered over ssh using the daxio utility to read and write the data,\ne.g. daxio -ouput /dev/dax0.0 | ssh \u003cdest_compute_ip\u003e \"daxio -input /dev/dax0.1\"\nThis will reuse the exising ssh_execute function used to implement the Ssh remote fs driver.\n\u0027\u0027\u0027\n\nhttps://github.com/openstack/nova/blob/50fdbc752a9ca9c31488140ef2997ed59d861a41/nova/utils.py#L99\nhttps://github.com/openstack/nova/blob/50fdbc752a9ca9c31488140ef2997ed59d861a41/nova/virt/libvirt/volume/remotefs.py#L172","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":30077,"name":"Qiu Fossen","display_name":"fossnqiu","email":"qiujunting@inspur.com","username":"qiufossen"},"change_message_id":"0e0c5cea9e278367ea8c7020f22c9bd779c11053","unresolved":true,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"Security impact"},{"line_number":113,"context_line":"---------------"},{"line_number":114,"context_line":"The transfer of the PMEM content will use the same infrastructure as transfer"},{"line_number":115,"context_line":"of the local disk. Such transfer can be configured to use a secure connection."},{"line_number":116,"context_line":"So no additional security impact is expected."},{"line_number":117,"context_line":""},{"line_number":118,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"864cd409_4945c80e","line":115,"range":{"start_line":114,"start_character":0,"end_line":115,"end_character":78},"in_reply_to":"b0a8b5eb_7434d00a","updated":"2021-05-06 01:43:50.000000000","message":"OK, i will add you advise. Thank you.","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"88e19ed9360036c2c083a417686179e94c66caf9","unresolved":true,"context_lines":[{"line_number":139,"context_line":""},{"line_number":140,"context_line":"Performance Impact"},{"line_number":141,"context_line":"------------------"},{"line_number":142,"context_line":"A cold migrate / resize operation will take a lot more time and network"},{"line_number":143,"context_line":"bandwidth than before as it needs to copy the content of the pmem between"},{"line_number":144,"context_line":"compute hosts."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"Upgrade impact"}],"source_content_type":"text/x-rst","patch_set":10,"id":"34b3a9fd_28b76b5a","line":144,"range":{"start_line":142,"start_character":0,"end_line":144,"end_character":14},"updated":"2021-05-04 17:43:32.000000000","message":"i think my main openquestion is is that accpeatble to impose in all causes or not.\n\nfor exampel where pmem is used as a scratch speace for computeation but its not required\nfor long term stroage of the data i think the over head is not desired but where it is used for data storage too then its desriable.","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"88e19ed9360036c2c083a417686179e94c66caf9","unresolved":true,"context_lines":[{"line_number":147,"context_line":"Upgrade impact"},{"line_number":148,"context_line":"--------------"},{"line_number":149,"context_line":"This change will impact host the nova-compute service will behave during"},{"line_number":150,"context_line":"migration / resize so the compute service version needs to be bumped. Also"},{"line_number":151,"context_line":"resize and migration with pmem copy will only work with new enough compute"},{"line_number":152,"context_line":"services so a compute service version check should be implemented for these"},{"line_number":153,"context_line":"operations."},{"line_number":154,"context_line":""},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"Implementation"}],"source_content_type":"text/x-rst","patch_set":10,"id":"cc00a8d7_cafe7313","line":153,"range":{"start_line":150,"start_character":70,"end_line":153,"end_character":11},"updated":"2021-05-04 17:43:32.000000000","message":"if we alwasy copy the data what would be the behavior if all nodes were not\nnew enough.\n\nwould we resize without copying the data? or would we return a 400?\n\nif we have the new copy_pmem_devices field i think this is simple with \ncopy_pmem_devices\u003dfalse or the old microverion then we proceed with the old behavior of not copying the data.\n\nif we have copy_pmem_devices\u003dtrue then we return a 400.\n\nis that correct?","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":30077,"name":"Qiu Fossen","display_name":"fossnqiu","email":"qiujunting@inspur.com","username":"qiufossen"},"change_message_id":"edf8910874d2c5d0edc6fd17cbd3661760b14ccc","unresolved":true,"context_lines":[{"line_number":147,"context_line":"Upgrade impact"},{"line_number":148,"context_line":"--------------"},{"line_number":149,"context_line":"This change will impact host the nova-compute service will behave during"},{"line_number":150,"context_line":"migration / resize so the compute service version needs to be bumped. Also"},{"line_number":151,"context_line":"resize and migration with pmem copy will only work with new enough compute"},{"line_number":152,"context_line":"services so a compute service version check should be implemented for these"},{"line_number":153,"context_line":"operations."},{"line_number":154,"context_line":""},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"Implementation"}],"source_content_type":"text/x-rst","patch_set":10,"id":"84004228_849fdaf8","line":153,"range":{"start_line":150,"start_character":70,"end_line":153,"end_character":11},"in_reply_to":"cc00a8d7_cafe7313","updated":"2021-05-10 09:52:17.000000000","message":"Yes, If the copy_pmem_devices\u003dfalse or the old microverion we proceed with the old\nbehavior of not copying the data. If the copy_pmem_devices\u003dtrue and the old microverion return a 400.","commit_id":"6f53c4ada8ca5a784342a1074d50155325a09e6f"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1012b32d12cf3eaf2c95dfde39cfee799609b4de","unresolved":true,"context_lines":[{"line_number":16,"context_line":"Problem description"},{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Currently, cold migrate or resize instance could make the PMEM Namespaces"},{"line_number":20,"context_line":"different on host, which is a PMEM Device for the instance. But the data of the"},{"line_number":21,"context_line":"instance in the PMEM device will be lost. To ensure the integrity of instance"},{"line_number":22,"context_line":"data， we would like to migrate PMEM\u0027s data of the instance when migrate or"},{"line_number":23,"context_line":"resize an instance."},{"line_number":24,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"dc633be2_0409aa79","line":21,"range":{"start_line":19,"start_character":42,"end_line":21,"end_character":41},"updated":"2021-05-10 12:52:43.000000000","message":"well cold migrate will always be to a different host and even for resize to the same host i think we will always change the namespace used today.\n\nso i think you should say.\n\n\"will always select a new pmem namespace on the destination host, But ...\"","commit_id":"e5a8e8eb9b92b9eda1118e069cbecadac54b4bec"},{"author":{"_account_id":30077,"name":"Qiu Fossen","display_name":"fossnqiu","email":"qiujunting@inspur.com","username":"qiufossen"},"change_message_id":"5d89bb7d886a4b228f6a5ab6d3f9424c76381195","unresolved":true,"context_lines":[{"line_number":16,"context_line":"Problem description"},{"line_number":17,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Currently, cold migrate or resize instance could make the PMEM Namespaces"},{"line_number":20,"context_line":"different on host, which is a PMEM Device for the instance. But the data of the"},{"line_number":21,"context_line":"instance in the PMEM device will be lost. To ensure the integrity of instance"},{"line_number":22,"context_line":"data， we would like to migrate PMEM\u0027s data of the instance when migrate or"},{"line_number":23,"context_line":"resize an instance."},{"line_number":24,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"673ed00d_8a04f179","line":21,"range":{"start_line":19,"start_character":42,"end_line":21,"end_character":41},"in_reply_to":"dc633be2_0409aa79","updated":"2021-05-11 02:52:56.000000000","message":"OK, the discribe changes as:\n\"Currently, cold migrate or resize instance will always select a new pmem\nnamespace on the destination host. But the data of the instance in the PMEM\ndevice will be lost. To ensure the integrity of instance data， we would like\nto migrate PMEM\u0027s data of the instance when migrate or resize an instance.\n\"","commit_id":"e5a8e8eb9b92b9eda1118e069cbecadac54b4bec"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1012b32d12cf3eaf2c95dfde39cfee799609b4de","unresolved":true,"context_lines":[{"line_number":22,"context_line":"data， we would like to migrate PMEM\u0027s data of the instance when migrate or"},{"line_number":23,"context_line":"resize an instance."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"PMEM device means to ensure the persistence of data, if the cannot keep the"},{"line_number":26,"context_line":"instance\u0027s data stored in the PMEM namspace, this is no different from using"},{"line_number":27,"context_line":"ordinary equipment. Therefore, we should make full use of the characteristics"},{"line_number":28,"context_line":"of the PMEM device to improve the performance of the instance."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Since copying pmem data will take a lot more time and network bandwidth, so"}],"source_content_type":"text/x-rst","patch_set":11,"id":"f63f23e6_2ee04d95","line":27,"range":{"start_line":25,"start_character":0,"end_line":27,"end_character":19},"updated":"2021-05-10 12:52:43.000000000","message":"well that is not really true.\n\nPMEM device are still ephemeral.\nIt will persist only if the isntace stays on the same host and will not persist when the instnace is shleve or evauated for example.\n\nthe original reason we enabled PMEM support in nova was to allow application access to a large pool of low latency high bandwidth memory where they could store data for computation but the long term storage of the data was intended to be done elsewhere preferably in cinder volumes.\n\nif you only store the data in the persistent memory then your data is at risk.\nthat risk can be mitgated by applications replicating the data between multiple instances or otherwise\nbut PMEM device are still equvalent to instantce ephemeral storage and shoudl be treated as such.","commit_id":"e5a8e8eb9b92b9eda1118e069cbecadac54b4bec"},{"author":{"_account_id":30077,"name":"Qiu Fossen","display_name":"fossnqiu","email":"qiujunting@inspur.com","username":"qiufossen"},"change_message_id":"5d89bb7d886a4b228f6a5ab6d3f9424c76381195","unresolved":false,"context_lines":[{"line_number":22,"context_line":"data， we would like to migrate PMEM\u0027s data of the instance when migrate or"},{"line_number":23,"context_line":"resize an instance."},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"PMEM device means to ensure the persistence of data, if the cannot keep the"},{"line_number":26,"context_line":"instance\u0027s data stored in the PMEM namspace, this is no different from using"},{"line_number":27,"context_line":"ordinary equipment. Therefore, we should make full use of the characteristics"},{"line_number":28,"context_line":"of the PMEM device to improve the performance of the instance."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Since copying pmem data will take a lot more time and network bandwidth, so"}],"source_content_type":"text/x-rst","patch_set":11,"id":"bf8c9aa3_80c47ac5","line":27,"range":{"start_line":25,"start_character":0,"end_line":27,"end_character":19},"in_reply_to":"f63f23e6_2ee04d95","updated":"2021-05-11 02:52:56.000000000","message":"Done","commit_id":"e5a8e8eb9b92b9eda1118e069cbecadac54b4bec"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1012b32d12cf3eaf2c95dfde39cfee799609b4de","unresolved":true,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"PMEM device means to ensure the persistence of data, if the cannot keep the"},{"line_number":26,"context_line":"instance\u0027s data stored in the PMEM namspace, this is no different from using"},{"line_number":27,"context_line":"ordinary equipment. Therefore, we should make full use of the characteristics"},{"line_number":28,"context_line":"of the PMEM device to improve the performance of the instance."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Since copying pmem data will take a lot more time and network bandwidth, so"},{"line_number":31,"context_line":"can add a argument \"copy_pmem_devices\" decided whether to copy pmem data."}],"source_content_type":"text/x-rst","patch_set":11,"id":"e21188a7_25e10dda","line":28,"range":{"start_line":27,"start_character":46,"end_line":28,"end_character":62},"updated":"2021-05-10 12:52:43.000000000","message":"i dont think we should encurage peopel to only store there datat in the pmem device and rely on it being persited as the only way to perserve data.\n\n\nnot supporting copying on cold migrate/resize does not prevent you form utilising the performance improvement by the way it prevents you form using cold migrate or resize when you do not properly store your data elsewhere.\n\n\ni would just remove this pargre form line 25-28","commit_id":"e5a8e8eb9b92b9eda1118e069cbecadac54b4bec"},{"author":{"_account_id":30077,"name":"Qiu Fossen","display_name":"fossnqiu","email":"qiujunting@inspur.com","username":"qiufossen"},"change_message_id":"5d89bb7d886a4b228f6a5ab6d3f9424c76381195","unresolved":true,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"PMEM device means to ensure the persistence of data, if the cannot keep the"},{"line_number":26,"context_line":"instance\u0027s data stored in the PMEM namspace, this is no different from using"},{"line_number":27,"context_line":"ordinary equipment. Therefore, we should make full use of the characteristics"},{"line_number":28,"context_line":"of the PMEM device to improve the performance of the instance."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Since copying pmem data will take a lot more time and network bandwidth, so"},{"line_number":31,"context_line":"can add a argument \"copy_pmem_devices\" decided whether to copy pmem data."}],"source_content_type":"text/x-rst","patch_set":11,"id":"f0697513_12fe35aa","line":28,"range":{"start_line":27,"start_character":46,"end_line":28,"end_character":62},"in_reply_to":"e21188a7_25e10dda","updated":"2021-05-11 02:52:56.000000000","message":"OK, yes, remove line 25-28 is better. And add this:\n\"PMEM device could as a large pool of low latency high bandwidth memory where\nthey could store data for computation. This can improve the performance of the\ninstance.\n\"","commit_id":"e5a8e8eb9b92b9eda1118e069cbecadac54b4bec"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1012b32d12cf3eaf2c95dfde39cfee799609b4de","unresolved":true,"context_lines":[{"line_number":27,"context_line":"ordinary equipment. Therefore, we should make full use of the characteristics"},{"line_number":28,"context_line":"of the PMEM device to improve the performance of the instance."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Since copying pmem data will take a lot more time and network bandwidth, so"},{"line_number":31,"context_line":"can add a argument \"copy_pmem_devices\" decided whether to copy pmem data."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":11,"id":"a0921983_0b5f8edc","line":31,"range":{"start_line":30,"start_character":72,"end_line":31,"end_character":73},"updated":"2021-05-10 12:52:43.000000000","message":"a new \"copy_pmem_devices\" argument is added to decide whether to copy pmem data.","commit_id":"e5a8e8eb9b92b9eda1118e069cbecadac54b4bec"},{"author":{"_account_id":30077,"name":"Qiu Fossen","display_name":"fossnqiu","email":"qiujunting@inspur.com","username":"qiufossen"},"change_message_id":"5d89bb7d886a4b228f6a5ab6d3f9424c76381195","unresolved":false,"context_lines":[{"line_number":27,"context_line":"ordinary equipment. Therefore, we should make full use of the characteristics"},{"line_number":28,"context_line":"of the PMEM device to improve the performance of the instance."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Since copying pmem data will take a lot more time and network bandwidth, so"},{"line_number":31,"context_line":"can add a argument \"copy_pmem_devices\" decided whether to copy pmem data."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":11,"id":"7a35c4e8_96732589","line":31,"range":{"start_line":30,"start_character":72,"end_line":31,"end_character":73},"in_reply_to":"a0921983_0b5f8edc","updated":"2021-05-11 02:52:56.000000000","message":"Done","commit_id":"e5a8e8eb9b92b9eda1118e069cbecadac54b4bec"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1012b32d12cf3eaf2c95dfde39cfee799609b4de","unresolved":true,"context_lines":[{"line_number":35,"context_line":"---------"},{"line_number":36,"context_line":"* As an user, I would like to migrate the PMEM namespace\u0027s data if the instance"},{"line_number":37,"context_line":"  migrate or resize to another host to ensure data integrity."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Proposed change"},{"line_number":40,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":41,"context_line":"Add a new microversion migrate / resize API, introducing \"copy_pmem_devices\""}],"source_content_type":"text/x-rst","patch_set":11,"id":"922665c3_9a4d66d7","line":38,"updated":"2021-05-10 12:52:43.000000000","message":"+1 this is a clear and concise use case.","commit_id":"e5a8e8eb9b92b9eda1118e069cbecadac54b4bec"},{"author":{"_account_id":30077,"name":"Qiu Fossen","display_name":"fossnqiu","email":"qiujunting@inspur.com","username":"qiufossen"},"change_message_id":"5d89bb7d886a4b228f6a5ab6d3f9424c76381195","unresolved":false,"context_lines":[{"line_number":35,"context_line":"---------"},{"line_number":36,"context_line":"* As an user, I would like to migrate the PMEM namespace\u0027s data if the instance"},{"line_number":37,"context_line":"  migrate or resize to another host to ensure data integrity."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Proposed change"},{"line_number":40,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":41,"context_line":"Add a new microversion migrate / resize API, introducing \"copy_pmem_devices\""}],"source_content_type":"text/x-rst","patch_set":11,"id":"76c9b7f6_a08d8021","line":38,"in_reply_to":"922665c3_9a4d66d7","updated":"2021-05-11 02:52:56.000000000","message":"Done","commit_id":"e5a8e8eb9b92b9eda1118e069cbecadac54b4bec"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1012b32d12cf3eaf2c95dfde39cfee799609b4de","unresolved":true,"context_lines":[{"line_number":45,"context_line":"PMEM device from `instance.migration_context`. So we can copy the data from old"},{"line_number":46,"context_line":"PMEM device to new PMEM device."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Firstly, the instance use /dev/dax0.0 PMEM Namespace on the source host, and we"},{"line_number":49,"context_line":"want to migrate or resize it to other host."},{"line_number":50,"context_line":"Secondly, migrate or resize the instance, and it will be use the PMEM\u0027s"},{"line_number":51,"context_line":"namepsace of /dev/dax0.1 on the target host."}],"source_content_type":"text/x-rst","patch_set":11,"id":"37f8b602_94ce779c","line":48,"range":{"start_line":48,"start_character":0,"end_line":48,"end_character":7},"updated":"2021-05-10 12:52:43.000000000","message":"Given or Assuming","commit_id":"e5a8e8eb9b92b9eda1118e069cbecadac54b4bec"},{"author":{"_account_id":30077,"name":"Qiu Fossen","display_name":"fossnqiu","email":"qiujunting@inspur.com","username":"qiufossen"},"change_message_id":"5d89bb7d886a4b228f6a5ab6d3f9424c76381195","unresolved":false,"context_lines":[{"line_number":45,"context_line":"PMEM device from `instance.migration_context`. So we can copy the data from old"},{"line_number":46,"context_line":"PMEM device to new PMEM device."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Firstly, the instance use /dev/dax0.0 PMEM Namespace on the source host, and we"},{"line_number":49,"context_line":"want to migrate or resize it to other host."},{"line_number":50,"context_line":"Secondly, migrate or resize the instance, and it will be use the PMEM\u0027s"},{"line_number":51,"context_line":"namepsace of /dev/dax0.1 on the target host."}],"source_content_type":"text/x-rst","patch_set":11,"id":"9c25fc1b_beb1271b","line":48,"range":{"start_line":48,"start_character":0,"end_line":48,"end_character":7},"in_reply_to":"37f8b602_94ce779c","updated":"2021-05-11 02:52:56.000000000","message":"Done","commit_id":"e5a8e8eb9b92b9eda1118e069cbecadac54b4bec"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1012b32d12cf3eaf2c95dfde39cfee799609b4de","unresolved":true,"context_lines":[{"line_number":46,"context_line":"PMEM device to new PMEM device."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Firstly, the instance use /dev/dax0.0 PMEM Namespace on the source host, and we"},{"line_number":49,"context_line":"want to migrate or resize it to other host."},{"line_number":50,"context_line":"Secondly, migrate or resize the instance, and it will be use the PMEM\u0027s"},{"line_number":51,"context_line":"namepsace of /dev/dax0.1 on the target host."},{"line_number":52,"context_line":"Finally migrate the PMEM namepace\u0027s data of the instance from /dev/dax0.0 to"},{"line_number":53,"context_line":"/dev/dax0.1."},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"a5a7baa4_7732fb26","line":51,"range":{"start_line":49,"start_character":42,"end_line":51,"end_character":44},"updated":"2021-05-10 12:52:43.000000000","message":", and migrating or resizing the instance, will use the /dev/dax0.1 PMEM\nnamepsace on the target host.","commit_id":"e5a8e8eb9b92b9eda1118e069cbecadac54b4bec"},{"author":{"_account_id":30077,"name":"Qiu Fossen","display_name":"fossnqiu","email":"qiujunting@inspur.com","username":"qiufossen"},"change_message_id":"5d89bb7d886a4b228f6a5ab6d3f9424c76381195","unresolved":false,"context_lines":[{"line_number":46,"context_line":"PMEM device to new PMEM device."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Firstly, the instance use /dev/dax0.0 PMEM Namespace on the source host, and we"},{"line_number":49,"context_line":"want to migrate or resize it to other host."},{"line_number":50,"context_line":"Secondly, migrate or resize the instance, and it will be use the PMEM\u0027s"},{"line_number":51,"context_line":"namepsace of /dev/dax0.1 on the target host."},{"line_number":52,"context_line":"Finally migrate the PMEM namepace\u0027s data of the instance from /dev/dax0.0 to"},{"line_number":53,"context_line":"/dev/dax0.1."},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"c35a60d4_664ff31a","line":51,"range":{"start_line":49,"start_character":42,"end_line":51,"end_character":44},"in_reply_to":"a5a7baa4_7732fb26","updated":"2021-05-11 02:52:56.000000000","message":"Done","commit_id":"e5a8e8eb9b92b9eda1118e069cbecadac54b4bec"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1012b32d12cf3eaf2c95dfde39cfee799609b4de","unresolved":true,"context_lines":[{"line_number":49,"context_line":"want to migrate or resize it to other host."},{"line_number":50,"context_line":"Secondly, migrate or resize the instance, and it will be use the PMEM\u0027s"},{"line_number":51,"context_line":"namepsace of /dev/dax0.1 on the target host."},{"line_number":52,"context_line":"Finally migrate the PMEM namepace\u0027s data of the instance from /dev/dax0.0 to"},{"line_number":53,"context_line":"/dev/dax0.1."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"Workflow"},{"line_number":56,"context_line":"--------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"ee601b3f_d869f666","line":53,"range":{"start_line":52,"start_character":0,"end_line":53,"end_character":12},"updated":"2021-05-10 12:52:43.000000000","message":"Then nova will migrate the PMEM namepace\u0027s data of the instance from /dev/dax0.0 to\n/dev/dax0.1 using the daxio utility over an ssh tunnel.","commit_id":"e5a8e8eb9b92b9eda1118e069cbecadac54b4bec"},{"author":{"_account_id":30077,"name":"Qiu Fossen","display_name":"fossnqiu","email":"qiujunting@inspur.com","username":"qiufossen"},"change_message_id":"5d89bb7d886a4b228f6a5ab6d3f9424c76381195","unresolved":false,"context_lines":[{"line_number":49,"context_line":"want to migrate or resize it to other host."},{"line_number":50,"context_line":"Secondly, migrate or resize the instance, and it will be use the PMEM\u0027s"},{"line_number":51,"context_line":"namepsace of /dev/dax0.1 on the target host."},{"line_number":52,"context_line":"Finally migrate the PMEM namepace\u0027s data of the instance from /dev/dax0.0 to"},{"line_number":53,"context_line":"/dev/dax0.1."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"Workflow"},{"line_number":56,"context_line":"--------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"106cdb21_9d8bb69e","line":53,"range":{"start_line":52,"start_character":0,"end_line":53,"end_character":12},"in_reply_to":"ee601b3f_d869f666","updated":"2021-05-11 02:52:56.000000000","message":"Done","commit_id":"e5a8e8eb9b92b9eda1118e069cbecadac54b4bec"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1012b32d12cf3eaf2c95dfde39cfee799609b4de","unresolved":true,"context_lines":[{"line_number":55,"context_line":"Workflow"},{"line_number":56,"context_line":"--------"},{"line_number":57,"context_line":"cold migrating or resizing instance workflow as following:"},{"line_number":58,"context_line":"1.The resize_instance operation is on source_compute, free the network volume"},{"line_number":59,"context_line":"etc. resources."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"2.We can get the source compute, dest compute from migration, and get the new"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1c44793f_06f28f52","line":58,"updated":"2021-05-10 12:52:43.000000000","message":"0. prep_resize validates that there is a pmem device free and claims it as part of the move_claim process.\nthe claimed device is stored in the instance.migration_context which can be retrieved later.","commit_id":"e5a8e8eb9b92b9eda1118e069cbecadac54b4bec"},{"author":{"_account_id":30077,"name":"Qiu Fossen","display_name":"fossnqiu","email":"qiujunting@inspur.com","username":"qiufossen"},"change_message_id":"5d89bb7d886a4b228f6a5ab6d3f9424c76381195","unresolved":false,"context_lines":[{"line_number":55,"context_line":"Workflow"},{"line_number":56,"context_line":"--------"},{"line_number":57,"context_line":"cold migrating or resizing instance workflow as following:"},{"line_number":58,"context_line":"1.The resize_instance operation is on source_compute, free the network volume"},{"line_number":59,"context_line":"etc. resources."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"2.We can get the source compute, dest compute from migration, and get the new"}],"source_content_type":"text/x-rst","patch_set":11,"id":"024425c4_aa9edc3a","line":58,"in_reply_to":"1c44793f_06f28f52","updated":"2021-05-11 02:52:56.000000000","message":"Done","commit_id":"e5a8e8eb9b92b9eda1118e069cbecadac54b4bec"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1012b32d12cf3eaf2c95dfde39cfee799609b4de","unresolved":true,"context_lines":[{"line_number":71,"context_line":"ACTIVE again on the source compute."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"4.The confirm_migration will cleanup PMEM data on source compute. If"},{"line_number":74,"context_line":"uncomfirm_migration will cleanup PMEM data on dest compute and  make the"},{"line_number":75,"context_line":"instance ACTIVE again on the source compute."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"About copying pmem data there are some situations:"}],"source_content_type":"text/x-rst","patch_set":11,"id":"d3c7ef7a_e0013481","line":74,"range":{"start_line":74,"start_character":0,"end_line":74,"end_character":19},"updated":"2021-05-10 12:52:43.000000000","message":"i think you mean revert_resize","commit_id":"e5a8e8eb9b92b9eda1118e069cbecadac54b4bec"},{"author":{"_account_id":30077,"name":"Qiu Fossen","display_name":"fossnqiu","email":"qiujunting@inspur.com","username":"qiufossen"},"change_message_id":"5d89bb7d886a4b228f6a5ab6d3f9424c76381195","unresolved":false,"context_lines":[{"line_number":71,"context_line":"ACTIVE again on the source compute."},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"4.The confirm_migration will cleanup PMEM data on source compute. If"},{"line_number":74,"context_line":"uncomfirm_migration will cleanup PMEM data on dest compute and  make the"},{"line_number":75,"context_line":"instance ACTIVE again on the source compute."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"About copying pmem data there are some situations:"}],"source_content_type":"text/x-rst","patch_set":11,"id":"6794a1c5_8703f1dd","line":74,"range":{"start_line":74,"start_character":0,"end_line":74,"end_character":19},"in_reply_to":"d3c7ef7a_e0013481","updated":"2021-05-11 02:52:56.000000000","message":"Done","commit_id":"e5a8e8eb9b92b9eda1118e069cbecadac54b4bec"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1012b32d12cf3eaf2c95dfde39cfee799609b4de","unresolved":true,"context_lines":[{"line_number":77,"context_line":"About copying pmem data there are some situations:"},{"line_number":78,"context_line":"1.The cluster connects to one shared storage backend, in this situation, only"},{"line_number":79,"context_line":"copying the pmem data, needn\u0027t copy root disk."},{"line_number":80,"context_line":"2.The cluster connects to different storage backends, should cinder migrate"},{"line_number":81,"context_line":"root disk and copy pmem data at same time."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":11,"id":"b007afdd_ff574e41","line":81,"range":{"start_line":80,"start_character":1,"end_line":81,"end_character":42},"updated":"2021-05-10 12:52:43.000000000","message":"again not we shoudl not be migrating cinder storage ever.\n\ncinder storage migration is a spereate  api call that never happens as part of an instance migration.","commit_id":"e5a8e8eb9b92b9eda1118e069cbecadac54b4bec"},{"author":{"_account_id":30077,"name":"Qiu Fossen","display_name":"fossnqiu","email":"qiujunting@inspur.com","username":"qiufossen"},"change_message_id":"5d89bb7d886a4b228f6a5ab6d3f9424c76381195","unresolved":false,"context_lines":[{"line_number":77,"context_line":"About copying pmem data there are some situations:"},{"line_number":78,"context_line":"1.The cluster connects to one shared storage backend, in this situation, only"},{"line_number":79,"context_line":"copying the pmem data, needn\u0027t copy root disk."},{"line_number":80,"context_line":"2.The cluster connects to different storage backends, should cinder migrate"},{"line_number":81,"context_line":"root disk and copy pmem data at same time."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":11,"id":"e62f91df_a56bcce7","line":81,"range":{"start_line":80,"start_character":1,"end_line":81,"end_character":42},"in_reply_to":"b007afdd_ff574e41","updated":"2021-05-11 02:52:56.000000000","message":"Done","commit_id":"e5a8e8eb9b92b9eda1118e069cbecadac54b4bec"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1012b32d12cf3eaf2c95dfde39cfee799609b4de","unresolved":true,"context_lines":[{"line_number":104,"context_line":"      }"},{"line_number":105,"context_line":"  }"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"  { "},{"line_number":108,"context_line":"      \"migrate\": {"},{"line_number":109,"context_line":"          \"host\": \"host1\","},{"line_number":110,"context_line":"          \"copy_pmem_devices\": \"true\""}],"source_content_type":"text/x-rst","patch_set":11,"id":"ce606074_00defb05","line":107,"updated":"2021-05-10 12:52:43.000000000","message":"this is probably the cause of the ci failure\ni have not checked the log but i believe we do not allow trailing whitespace","commit_id":"e5a8e8eb9b92b9eda1118e069cbecadac54b4bec"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1012b32d12cf3eaf2c95dfde39cfee799609b4de","unresolved":true,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"The value of \"copy_pmem_devices\" default \"false\", dosen\u0027t copy pmem data."},{"line_number":115,"context_line":"\"true\", the data in virtual persistent memory is copied."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"Security impact"},{"line_number":119,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"198eca94_d7e06b85","line":116,"updated":"2021-05-10 12:52:43.000000000","message":"since you are not planning to support cross cell resize we likely should block that in the api?","commit_id":"e5a8e8eb9b92b9eda1118e069cbecadac54b4bec"},{"author":{"_account_id":30077,"name":"Qiu Fossen","display_name":"fossnqiu","email":"qiujunting@inspur.com","username":"qiufossen"},"change_message_id":"5d89bb7d886a4b228f6a5ab6d3f9424c76381195","unresolved":true,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"The value of \"copy_pmem_devices\" default \"false\", dosen\u0027t copy pmem data."},{"line_number":115,"context_line":"\"true\", the data in virtual persistent memory is copied."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"Security impact"},{"line_number":119,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"63628e4a_8229f7d8","line":116,"in_reply_to":"198eca94_d7e06b85","updated":"2021-05-11 02:52:56.000000000","message":"sean, your point is we need block the operation in api, when cross cell resize?\n\nif cross cell resize, will return 403?","commit_id":"e5a8e8eb9b92b9eda1118e069cbecadac54b4bec"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1012b32d12cf3eaf2c95dfde39cfee799609b4de","unresolved":true,"context_lines":[{"line_number":117,"context_line":""},{"line_number":118,"context_line":"Security impact"},{"line_number":119,"context_line":"---------------"},{"line_number":120,"context_line":"The transfer of the PMEM content will use the same infrastructure as transfer"},{"line_number":121,"context_line":"of the local disk. Such transfer can be configured to use a secure connection."},{"line_number":122,"context_line":"So no additional security impact is expected."},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"The pmem data will be transfered over ssh using the daxio utility to read and"},{"line_number":125,"context_line":"write the data, e.g. daxio -ouput /dev/dax0.0 | ssh \u003cdest_compute_ip\u003e \"daxio"}],"source_content_type":"text/x-rst","patch_set":11,"id":"a64e270a_117c9f38","line":122,"range":{"start_line":120,"start_character":0,"end_line":122,"end_character":45},"updated":"2021-05-10 12:52:43.000000000","message":"delete this\n\nyou have explained how the transfer will be done in the next paragraph","commit_id":"e5a8e8eb9b92b9eda1118e069cbecadac54b4bec"},{"author":{"_account_id":30077,"name":"Qiu Fossen","display_name":"fossnqiu","email":"qiujunting@inspur.com","username":"qiufossen"},"change_message_id":"5d89bb7d886a4b228f6a5ab6d3f9424c76381195","unresolved":false,"context_lines":[{"line_number":117,"context_line":""},{"line_number":118,"context_line":"Security impact"},{"line_number":119,"context_line":"---------------"},{"line_number":120,"context_line":"The transfer of the PMEM content will use the same infrastructure as transfer"},{"line_number":121,"context_line":"of the local disk. Such transfer can be configured to use a secure connection."},{"line_number":122,"context_line":"So no additional security impact is expected."},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"The pmem data will be transfered over ssh using the daxio utility to read and"},{"line_number":125,"context_line":"write the data, e.g. daxio -ouput /dev/dax0.0 | ssh \u003cdest_compute_ip\u003e \"daxio"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1ca4a66d_e4843d1b","line":122,"range":{"start_line":120,"start_character":0,"end_line":122,"end_character":45},"in_reply_to":"a64e270a_117c9f38","updated":"2021-05-11 02:52:56.000000000","message":"Done","commit_id":"e5a8e8eb9b92b9eda1118e069cbecadac54b4bec"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1012b32d12cf3eaf2c95dfde39cfee799609b4de","unresolved":true,"context_lines":[{"line_number":134,"context_line":""},{"line_number":135,"context_line":"Other end user impact"},{"line_number":136,"context_line":"---------------------"},{"line_number":137,"context_line":"None"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"Other deployer impact"}],"source_content_type":"text/x-rst","patch_set":11,"id":"313bb6f7_2038012c","line":137,"updated":"2021-05-10 12:52:43.000000000","message":"PMEM data will not be copied if performing a cross cell resize/migration.","commit_id":"e5a8e8eb9b92b9eda1118e069cbecadac54b4bec"},{"author":{"_account_id":30077,"name":"Qiu Fossen","display_name":"fossnqiu","email":"qiujunting@inspur.com","username":"qiufossen"},"change_message_id":"5d89bb7d886a4b228f6a5ab6d3f9424c76381195","unresolved":false,"context_lines":[{"line_number":134,"context_line":""},{"line_number":135,"context_line":"Other end user impact"},{"line_number":136,"context_line":"---------------------"},{"line_number":137,"context_line":"None"},{"line_number":138,"context_line":""},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"Other deployer impact"}],"source_content_type":"text/x-rst","patch_set":11,"id":"1beca402_30a1d3fe","line":137,"in_reply_to":"313bb6f7_2038012c","updated":"2021-05-11 02:52:56.000000000","message":"Done","commit_id":"e5a8e8eb9b92b9eda1118e069cbecadac54b4bec"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1012b32d12cf3eaf2c95dfde39cfee799609b4de","unresolved":true,"context_lines":[{"line_number":163,"context_line":"operations."},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"If the copy_pmem_devices\u003dfalse or the old microverion we proceed with the old"},{"line_number":166,"context_line":"behavior of not copying the data. If the copy_pmem_devices\u003dtrue and the old"},{"line_number":167,"context_line":"microverion return a 400."},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"Implementation"},{"line_number":170,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":11,"id":"9a53d29e_c36254d0","line":167,"range":{"start_line":166,"start_character":34,"end_line":167,"end_character":25},"updated":"2021-05-10 12:52:43.000000000","message":"this likely should also be mentioned in the rest api impact section.","commit_id":"e5a8e8eb9b92b9eda1118e069cbecadac54b4bec"},{"author":{"_account_id":30077,"name":"Qiu Fossen","display_name":"fossnqiu","email":"qiujunting@inspur.com","username":"qiufossen"},"change_message_id":"5d89bb7d886a4b228f6a5ab6d3f9424c76381195","unresolved":false,"context_lines":[{"line_number":163,"context_line":"operations."},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"If the copy_pmem_devices\u003dfalse or the old microverion we proceed with the old"},{"line_number":166,"context_line":"behavior of not copying the data. If the copy_pmem_devices\u003dtrue and the old"},{"line_number":167,"context_line":"microverion return a 400."},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"Implementation"},{"line_number":170,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":11,"id":"d77a04b0_719f42ea","line":167,"range":{"start_line":166,"start_character":34,"end_line":167,"end_character":25},"in_reply_to":"9a53d29e_c36254d0","updated":"2021-05-11 02:52:56.000000000","message":"Done","commit_id":"e5a8e8eb9b92b9eda1118e069cbecadac54b4bec"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6b63f5e21e8472849c151f1fd24988144774a77e","unresolved":true,"context_lines":[{"line_number":21,"context_line":"device will be lost. To ensure the integrity of instance data， we would like"},{"line_number":22,"context_line":"to migrate PMEM\u0027s data of the instance when migrate or resize an instance."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"PMEM device could as a large pool of low latency high bandwidth memory where"},{"line_number":25,"context_line":"they could store data for computation. This can improve the performance of the"},{"line_number":26,"context_line":"instance."},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"18a33e0e_5c8c0210","line":24,"range":{"start_line":24,"start_character":0,"end_line":24,"end_character":23},"updated":"2021-05-18 13:21:48.000000000","message":"PMEM devices can be used as a","commit_id":"a0b589f03eac0997bbb78db0707d2058ea1aa054"},{"author":{"_account_id":30077,"name":"Qiu Fossen","display_name":"fossnqiu","email":"qiujunting@inspur.com","username":"qiufossen"},"change_message_id":"e8973f31efe8cad2db68686957a57e73f6f84f2d","unresolved":true,"context_lines":[{"line_number":21,"context_line":"device will be lost. To ensure the integrity of instance data， we would like"},{"line_number":22,"context_line":"to migrate PMEM\u0027s data of the instance when migrate or resize an instance."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"PMEM device could as a large pool of low latency high bandwidth memory where"},{"line_number":25,"context_line":"they could store data for computation. This can improve the performance of the"},{"line_number":26,"context_line":"instance."},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"6031afd1_fd0c842f","line":24,"range":{"start_line":24,"start_character":0,"end_line":24,"end_character":23},"in_reply_to":"18a33e0e_5c8c0210","updated":"2021-05-21 09:19:39.000000000","message":"thank you","commit_id":"a0b589f03eac0997bbb78db0707d2058ea1aa054"},{"author":{"_account_id":23598,"name":"Zhong Luyao","email":"luyao.zhong@intel.com","username":"ZhongLuyao"},"change_message_id":"96b8a5ff7440a4f039378b1eb69795885f3c6c81","unresolved":true,"context_lines":[{"line_number":61,"context_line":"2. The resize_instance operation is on source_compute, free the network volume"},{"line_number":62,"context_line":"   etc. resources."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"3. We can get the source compute, dest compute from migration, and get the new"},{"line_number":65,"context_line":"   PMEM device, old PMEM device from instance.migration_context. Copy the PMEM"},{"line_number":66,"context_line":"   data from old PMEM device to new PMEM device at migtate_disk_and_power_off."},{"line_number":67,"context_line":"   If the copy operation is failed, cleanup the PMEM data on dest_compute, and"},{"line_number":68,"context_line":"   and make the instance ACTIVE again on the source compute. Copy the PMEM data"},{"line_number":69,"context_line":"   can use \"daxio\" and \"ssh\"."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"4. The finish_resize operation is on dest_compute, launching a new instance"},{"line_number":72,"context_line":"   with resources in step1. If launching new instance failed, will terminate"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9f49f9d1_9481462a","line":69,"range":{"start_line":64,"start_character":0,"end_line":69,"end_character":27},"updated":"2021-05-18 11:00:04.000000000","message":"merge this into step2 since it will be done in resize_instance","commit_id":"a0b589f03eac0997bbb78db0707d2058ea1aa054"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6b63f5e21e8472849c151f1fd24988144774a77e","unresolved":true,"context_lines":[{"line_number":61,"context_line":"2. The resize_instance operation is on source_compute, free the network volume"},{"line_number":62,"context_line":"   etc. resources."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"3. We can get the source compute, dest compute from migration, and get the new"},{"line_number":65,"context_line":"   PMEM device, old PMEM device from instance.migration_context. Copy the PMEM"},{"line_number":66,"context_line":"   data from old PMEM device to new PMEM device at migtate_disk_and_power_off."},{"line_number":67,"context_line":"   If the copy operation is failed, cleanup the PMEM data on dest_compute, and"},{"line_number":68,"context_line":"   and make the instance ACTIVE again on the source compute. Copy the PMEM data"},{"line_number":69,"context_line":"   can use \"daxio\" and \"ssh\"."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"4. The finish_resize operation is on dest_compute, launching a new instance"},{"line_number":72,"context_line":"   with resources in step1. If launching new instance failed, will terminate"}],"source_content_type":"text/x-rst","patch_set":13,"id":"dcc90ff2_94d535d2","line":69,"range":{"start_line":64,"start_character":0,"end_line":69,"end_character":27},"in_reply_to":"9f49f9d1_9481462a","updated":"2021-05-18 13:21:48.000000000","message":"+1","commit_id":"a0b589f03eac0997bbb78db0707d2058ea1aa054"},{"author":{"_account_id":30077,"name":"Qiu Fossen","display_name":"fossnqiu","email":"qiujunting@inspur.com","username":"qiufossen"},"change_message_id":"e8973f31efe8cad2db68686957a57e73f6f84f2d","unresolved":false,"context_lines":[{"line_number":61,"context_line":"2. The resize_instance operation is on source_compute, free the network volume"},{"line_number":62,"context_line":"   etc. resources."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"3. We can get the source compute, dest compute from migration, and get the new"},{"line_number":65,"context_line":"   PMEM device, old PMEM device from instance.migration_context. Copy the PMEM"},{"line_number":66,"context_line":"   data from old PMEM device to new PMEM device at migtate_disk_and_power_off."},{"line_number":67,"context_line":"   If the copy operation is failed, cleanup the PMEM data on dest_compute, and"},{"line_number":68,"context_line":"   and make the instance ACTIVE again on the source compute. Copy the PMEM data"},{"line_number":69,"context_line":"   can use \"daxio\" and \"ssh\"."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"4. The finish_resize operation is on dest_compute, launching a new instance"},{"line_number":72,"context_line":"   with resources in step1. If launching new instance failed, will terminate"}],"source_content_type":"text/x-rst","patch_set":13,"id":"bb4cd770_f82cc0aa","line":69,"range":{"start_line":64,"start_character":0,"end_line":69,"end_character":27},"in_reply_to":"dcc90ff2_94d535d2","updated":"2021-05-21 09:19:39.000000000","message":"Done","commit_id":"a0b589f03eac0997bbb78db0707d2058ea1aa054"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6b63f5e21e8472849c151f1fd24988144774a77e","unresolved":true,"context_lines":[{"line_number":73,"context_line":"   the operation, cleanup the PMEM data on dest_compute, and make the instance"},{"line_number":74,"context_line":"   ACTIVE again on the source compute."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"5. The confirm_migration will cleanup PMEM data on source compute. If"},{"line_number":77,"context_line":"   revert_resize will cleanup PMEM data on dest compute and  make the"},{"line_number":78,"context_line":"   instance ACTIVE again on the source compute."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"About copying pmem data there are some situations:"}],"source_content_type":"text/x-rst","patch_set":13,"id":"4571c4fc_b406b93c","line":77,"range":{"start_line":76,"start_character":50,"end_line":77,"end_character":16},"updated":"2021-05-18 13:21:48.000000000","message":"source compute, alternitivly revert_resize...","commit_id":"a0b589f03eac0997bbb78db0707d2058ea1aa054"},{"author":{"_account_id":23598,"name":"Zhong Luyao","email":"luyao.zhong@intel.com","username":"ZhongLuyao"},"change_message_id":"68428fda30a00980825e09ca8cdb55b0f173d2ff","unresolved":true,"context_lines":[{"line_number":77,"context_line":"   revert_resize will cleanup PMEM data on dest compute and  make the"},{"line_number":78,"context_line":"   instance ACTIVE again on the source compute."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"About copying pmem data there are some situations:"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"1. The cluster connects to one shared storage backend, in this situation, only"},{"line_number":83,"context_line":"   copying the pmem data, needn\u0027t copy root disk."},{"line_number":84,"context_line":"2. The cluster connects to different storage backends, only copy pmem data,"},{"line_number":85,"context_line":"   the cinder storage migration is a spereate api call that never happens as"},{"line_number":86,"context_line":"   part of an instance migration."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Alternatives"},{"line_number":89,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"6df403d0_2fff6d92","line":86,"range":{"start_line":80,"start_character":0,"end_line":86,"end_character":33},"updated":"2021-05-18 11:08:59.000000000","message":"Did I miss some context, Why are we talking about storage data here? Just as you stated here, no matter what kind of storage we will copy pmem data, so IMHO we don\u0027t need list the situations here.","commit_id":"a0b589f03eac0997bbb78db0707d2058ea1aa054"},{"author":{"_account_id":30077,"name":"Qiu Fossen","display_name":"fossnqiu","email":"qiujunting@inspur.com","username":"qiufossen"},"change_message_id":"e8973f31efe8cad2db68686957a57e73f6f84f2d","unresolved":false,"context_lines":[{"line_number":77,"context_line":"   revert_resize will cleanup PMEM data on dest compute and  make the"},{"line_number":78,"context_line":"   instance ACTIVE again on the source compute."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"About copying pmem data there are some situations:"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"1. The cluster connects to one shared storage backend, in this situation, only"},{"line_number":83,"context_line":"   copying the pmem data, needn\u0027t copy root disk."},{"line_number":84,"context_line":"2. The cluster connects to different storage backends, only copy pmem data,"},{"line_number":85,"context_line":"   the cinder storage migration is a spereate api call that never happens as"},{"line_number":86,"context_line":"   part of an instance migration."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Alternatives"},{"line_number":89,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"64cc64ce_51f4a452","line":86,"range":{"start_line":80,"start_character":0,"end_line":86,"end_character":33},"in_reply_to":"3c0cc00b_36db5ff4","updated":"2021-05-21 09:19:39.000000000","message":"Done","commit_id":"a0b589f03eac0997bbb78db0707d2058ea1aa054"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6b63f5e21e8472849c151f1fd24988144774a77e","unresolved":true,"context_lines":[{"line_number":77,"context_line":"   revert_resize will cleanup PMEM data on dest compute and  make the"},{"line_number":78,"context_line":"   instance ACTIVE again on the source compute."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"About copying pmem data there are some situations:"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"1. The cluster connects to one shared storage backend, in this situation, only"},{"line_number":83,"context_line":"   copying the pmem data, needn\u0027t copy root disk."},{"line_number":84,"context_line":"2. The cluster connects to different storage backends, only copy pmem data,"},{"line_number":85,"context_line":"   the cinder storage migration is a spereate api call that never happens as"},{"line_number":86,"context_line":"   part of an instance migration."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Alternatives"},{"line_number":89,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"3c0cc00b_36db5ff4","line":86,"range":{"start_line":80,"start_character":0,"end_line":86,"end_character":33},"in_reply_to":"6df403d0_2fff6d92","updated":"2021-05-18 13:21:48.000000000","message":"no,  im confused why this is still here also.\n\nthe guest storage is not relevent to the pmem conversation as it has no impact on when or how the pmem data is copied so this section can be removed.","commit_id":"a0b589f03eac0997bbb78db0707d2058ea1aa054"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6b63f5e21e8472849c151f1fd24988144774a77e","unresolved":true,"context_lines":[{"line_number":125,"context_line":"\"true\", the data in virtual persistent memory is copied."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"If the copy_pmem_devices\u003dtrue and the old microverion return a 400. Cross cell"},{"line_number":128,"context_line":"resize/cold migrate, will return 403."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"Security impact"},{"line_number":131,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"40606461_d379fa17","line":128,"range":{"start_line":128,"start_character":33,"end_line":128,"end_character":36},"updated":"2021-05-18 13:21:48.000000000","message":"400\n\nat the ptg we agreed to use 400 reponce code for any api action that is not implemeted by the virt driver.\n\nin this case cross cell resize so this should be a 400 not 403 error code.","commit_id":"a0b589f03eac0997bbb78db0707d2058ea1aa054"},{"author":{"_account_id":30077,"name":"Qiu Fossen","display_name":"fossnqiu","email":"qiujunting@inspur.com","username":"qiufossen"},"change_message_id":"e8973f31efe8cad2db68686957a57e73f6f84f2d","unresolved":false,"context_lines":[{"line_number":125,"context_line":"\"true\", the data in virtual persistent memory is copied."},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"If the copy_pmem_devices\u003dtrue and the old microverion return a 400. Cross cell"},{"line_number":128,"context_line":"resize/cold migrate, will return 403."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"Security impact"},{"line_number":131,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"25fc0284_a52b3e31","line":128,"range":{"start_line":128,"start_character":33,"end_line":128,"end_character":36},"in_reply_to":"40606461_d379fa17","updated":"2021-05-21 09:19:39.000000000","message":"Done","commit_id":"a0b589f03eac0997bbb78db0707d2058ea1aa054"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"837c5266304f0f89323a6c1aa73cad007d09d5d6","unresolved":true,"context_lines":[{"line_number":58,"context_line":"   part of the move_claim process.The claimed device is stored in the"},{"line_number":59,"context_line":"   instance.migration_context which can be retrieved later."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"2. The resize_instance operation is on source_compute, free the network volume"},{"line_number":62,"context_line":"   etc. resources. We can get the source compute, dest compute from migration,"},{"line_number":63,"context_line":"   and get the new PMEM device, old PMEM device from"},{"line_number":64,"context_line":"   instance.migration_context. Copy the PMEM data from old PMEM device to new"}],"source_content_type":"text/x-rst","patch_set":14,"id":"eba58bec_40aa15f4","line":61,"range":{"start_line":61,"start_character":33,"end_line":61,"end_character":38},"updated":"2021-05-21 11:05:46.000000000","message":"nit: executes on the","commit_id":"8b87224de62bc4d006d2fbdb90b86465360a2208"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"837c5266304f0f89323a6c1aa73cad007d09d5d6","unresolved":true,"context_lines":[{"line_number":59,"context_line":"   instance.migration_context which can be retrieved later."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"2. The resize_instance operation is on source_compute, free the network volume"},{"line_number":62,"context_line":"   etc. resources. We can get the source compute, dest compute from migration,"},{"line_number":63,"context_line":"   and get the new PMEM device, old PMEM device from"},{"line_number":64,"context_line":"   instance.migration_context. Copy the PMEM data from old PMEM device to new"},{"line_number":65,"context_line":"   PMEM device at migtate_disk_and_power_off. If the copy operation is failed,"}],"source_content_type":"text/x-rst","patch_set":14,"id":"0048d589_26e80af9","line":62,"range":{"start_line":62,"start_character":48,"end_line":62,"end_character":50},"updated":"2021-05-21 11:05:46.000000000","message":"and","commit_id":"8b87224de62bc4d006d2fbdb90b86465360a2208"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"837c5266304f0f89323a6c1aa73cad007d09d5d6","unresolved":true,"context_lines":[{"line_number":58,"context_line":"   part of the move_claim process.The claimed device is stored in the"},{"line_number":59,"context_line":"   instance.migration_context which can be retrieved later."},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"2. The resize_instance operation is on source_compute, free the network volume"},{"line_number":62,"context_line":"   etc. resources. We can get the source compute, dest compute from migration,"},{"line_number":63,"context_line":"   and get the new PMEM device, old PMEM device from"},{"line_number":64,"context_line":"   instance.migration_context. Copy the PMEM data from old PMEM device to new"},{"line_number":65,"context_line":"   PMEM device at migtate_disk_and_power_off. If the copy operation is failed,"}],"source_content_type":"text/x-rst","patch_set":14,"id":"d0fe6993_ea8ba741","line":62,"range":{"start_line":61,"start_character":55,"end_line":62,"end_character":18},"updated":"2021-05-21 11:05:46.000000000","message":"nit: this does not add much useful info but i do not really object to keeping it.\ni would proably remove it if you respin the patch again.","commit_id":"8b87224de62bc4d006d2fbdb90b86465360a2208"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"837c5266304f0f89323a6c1aa73cad007d09d5d6","unresolved":true,"context_lines":[{"line_number":62,"context_line":"   etc. resources. We can get the source compute, dest compute from migration,"},{"line_number":63,"context_line":"   and get the new PMEM device, old PMEM device from"},{"line_number":64,"context_line":"   instance.migration_context. Copy the PMEM data from old PMEM device to new"},{"line_number":65,"context_line":"   PMEM device at migtate_disk_and_power_off. If the copy operation is failed,"},{"line_number":66,"context_line":"   cleanup the PMEM data on dest_compute, and make the instance ACTIVE again"},{"line_number":67,"context_line":"   on the source compute. Copy the PMEM data can use \"daxio\" and \"ssh\"."},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"edd2a3eb_7e68c7c4","line":65,"range":{"start_line":65,"start_character":68,"end_line":65,"end_character":70},"updated":"2021-05-21 11:05:46.000000000","message":"nit: delete is","commit_id":"8b87224de62bc4d006d2fbdb90b86465360a2208"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"7d90948277e0c79cc43ce3410d18c1632646c858","unresolved":true,"context_lines":[{"line_number":115,"context_line":"\"true\", the data in virtual persistent memory is copied."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"If the copy_pmem_devices\u003dtrue and the old microverion return a 400. Cross cell"},{"line_number":118,"context_line":"resize/cold migrate, will return 400."},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"Security impact"},{"line_number":121,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":14,"id":"1d55cb32_31544f48","line":118,"updated":"2021-05-25 07:42:50.000000000","message":"there may have the case the instance doesn\u0027t have pmem device","commit_id":"8b87224de62bc4d006d2fbdb90b86465360a2208"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b017a4d7824ac84949ce23b38aa849b8b8013ab5","unresolved":true,"context_lines":[{"line_number":115,"context_line":"\"true\", the data in virtual persistent memory is copied."},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"If the copy_pmem_devices\u003dtrue and the old microverion return a 400. Cross cell"},{"line_number":118,"context_line":"resize/cold migrate, will return 400."},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"Security impact"},{"line_number":121,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":14,"id":"a7a75841_9cc073cb","line":118,"in_reply_to":"1d55cb32_31544f48","updated":"2021-05-25 10:49:41.000000000","message":"thats a good point.\n\nwe have two options i guess. return a 400 since teh user should know if the instance has a PMEM device or not or ignore it and allow it to proceed.\n\ni think either would be correct im ok with adressing that in a followup or leaving it to the implemenation to decide as along as we docuemnt the behavior appropriatly in teh api ref/release notes.","commit_id":"8b87224de62bc4d006d2fbdb90b86465360a2208"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"837c5266304f0f89323a6c1aa73cad007d09d5d6","unresolved":true,"context_lines":[{"line_number":180,"context_line":""},{"line_number":181,"context_line":"Work Items"},{"line_number":182,"context_line":"----------"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"Dependencies"},{"line_number":186,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":14,"id":"e9dd855c_aca93329","line":183,"updated":"2021-05-21 11:05:46.000000000","message":"note that as part of this work you shoudl also exentd the openstack client to support the new paramter.","commit_id":"8b87224de62bc4d006d2fbdb90b86465360a2208"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"837c5266304f0f89323a6c1aa73cad007d09d5d6","unresolved":true,"context_lines":[{"line_number":192,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":193,"context_line":"Add related unit test for negative scenarios."},{"line_number":194,"context_line":"Add related functional test (API samples)."},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"Documentation Impact"},{"line_number":197,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":198,"context_line":"Update the related documents and add some description of this change"}],"source_content_type":"text/x-rst","patch_set":14,"id":"9fe3fe88_fa61257b","line":195,"updated":"2021-05-21 11:05:46.000000000","message":"note since we cannot emulate pmem devices in the ci tempest test are not possible in the 1st party ci but i would hope that intel\u0027s 3rd party pmem ci could be extended to validate this at some point.","commit_id":"8b87224de62bc4d006d2fbdb90b86465360a2208"}]}
