| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2021-07-27 | |||
| 09:53:11 | CeeMac | i presume there is no easy way to insert the additional track and catchup information? | |
| 09:53:15 | sean-k-mooney | we could maybe use variable | |
| 09:53:36 | sean-k-mooney | its not currently exposed in nova no | |
| 09:54:05 | sean-k-mooney | this is getting more speicic then im comfortable exposing in a cloud env by the way | |
| 09:54:10 | CeeMac | all the data suggests that it should work, as you say | |
| 09:54:15 | sean-k-mooney | we might expsoe it but im not sure we should in general | |
| 09:54:48 | CeeMac | no thats fine, i get that. It must be working for other people, otherwise I'm sure there would be more chat out there for it not working | |
| 09:54:58 | sean-k-mooney | <clock offset='varible' basis='localtime'> | |
| 09:55:04 | sean-k-mooney | we cold maybe try that | |
| 09:55:09 | sean-k-mooney | *could | |
| 09:57:12 | sean-k-mooney | CeeMac: if we were to expose the timer settign i think it woudl ahve to be at teh image level rghat then host by the way | |
| 09:57:42 | CeeMac | sean-k-mooney: yes, that would make sense | |
| 09:57:55 | sean-k-mooney | CeeMac: host level config that modify the xml are basicaly terribel form a live migration standpoint as we havne to schdule on it or pass the data or both | |
| 09:58:36 | sean-k-mooney | so this type of info really needt to live with the instnace for its lifetime hence flavor or image | |
| 09:59:08 | sean-k-mooney | with that said i woudl be tempeted to start using server metadata for this personally | |
| 09:59:29 | sean-k-mooney | since this is a very pet like tuning | |
| 09:59:40 | CeeMac | it makes sense that it should follow the instance | |
| 09:59:48 | CeeMac | windows is all about the pet sadly | |
| 10:01:26 | CeeMac | server metadata would be useful i think | |
| 10:02:55 | sean-k-mooney | we dont currently allow it to modify xml exctra but i have always wondered if we should allow it to set anything that is setabel via image metadata | |
| 10:03:46 | sean-k-mooney | that would require a spec and some semi invasive changes to parts of the libvirt driver | |
| 10:03:49 | CeeMac | in some scenarios it could be beneficial, especially if its discovered you need to retrofit a value that would normally only be doable through an image | |
| 10:03:54 | sean-k-mooney | so not sure its worth it | |
| 10:03:59 | CeeMac | its still a very pet mentality granted | |
| 10:04:20 | CeeMac | hmm, cost/benefit are skewed i guess | |
| 10:04:30 | sean-k-mooney | CeeMac: ya we are adding a nova-manage command that operators can use for a limit set of image properties | |
| 10:04:57 | CeeMac | oh, that sounds interesting | |
| 10:05:25 | sean-k-mooney | the intent is for operators taht need to change things for upgrades | |
| 10:05:39 | sean-k-mooney | e.g. move to q35 which means you have to remove use of ide | |
| 10:05:48 | sean-k-mooney | ectra | |
| 10:06:15 | sean-k-mooney | we approved https://github.com/openstack/nova-specs/blob/master/specs/newton/approved/virt-image-props-boot-override.rst in the past but then decieded to no porceed with it when we came to implemenation | |
| 10:07:21 | sean-k-mooney | im still somewhat open to that idea but i dont fully recal what the main objects were | |
| 10:07:32 | CeeMac | i imagine its tricky finding a decent balance point between stability and the ability to make dynamic changes | |
| 10:08:15 | sean-k-mooney | ya and stricking a blance between upstream and downstream | |
| 10:08:35 | sean-k-mooney | downstream our hands are forced a bit by change made by other teams | |
| 10:09:21 | sean-k-mooney | for example qxl graphic is going away downstream so we have to provide a way to move instances off it which is what propmeted the change | |
| 10:25:26 | sean-k-mooney | CeeMac: this is the new nova-magage command by the way https://github.com/openstack/nova-specs/blob/master/specs/xena/approved/nova-manage-commands-to-update-libvirt-device-models.rst | |
| 10:25:42 | sean-k-mooney | CeeMac: lyarwood is currently workign on it for xena | |
| 10:28:49 | CeeMac | looks good | |
| 10:46:47 | opendevreview | Merged openstack/python-novaclient master: Use Block Storage API v3 instead of API v2 https://review.opendev.org/c/openstack/python-novaclient/+/802417 | |
| 11:13:51 | opendevreview | Merged openstack/nova master: Bump os-resource-classes to 1.1.0 https://review.opendev.org/c/openstack/nova/+/800976 | |
| 11:50:53 | opendevreview | Merged openstack/os-vif master: add configurable per port bridges https://review.opendev.org/c/openstack/os-vif/+/798055 | |
| 12:34:33 | brinzhang | gibi,sean-k-moonkey,stephenfin,alex_xu: we submited the PoC code for allowing PMEM's data wihle migrate vm, but it is not completely implemented in accordance with the spec, because some irrationality in the spec was discovered during the implementation process, so we hope you can review the PoC code. | |
| 12:35:18 | brinzhang | ah, gibi has a holday(pto), gibi_pto | |
| 12:36:08 | brinzhang | the PoC code link: https://review.opendev.org/c/openstack/nova/+/802225 | |
| 12:36:44 | sean-k-mooney | brinzhang: do you have a patch to update the spec whith what diverged | |
| 12:37:28 | sean-k-mooney | brinzhang: what exactly was teh "irrationality in the spec" it may have been stated that way for a reason which the impleation misses | |
| 12:40:46 | brinzhang | sean-k-mooney: in spec we want to ask ensure which pmem we can copy in the target host when run migtate_disk_and_power_off, but this time we cannt know the target pmem's path in the context | |
| 12:41:04 | sean-k-mooney | yes we can | |
| 12:41:12 | brinzhang | https://review.opendev.org/c/openstack/nova-specs/+/785563/14/specs/xena/approved/allow-migrate-pmem-data.rst#65 | |
| 12:41:41 | sean-k-mooney | its includeded in the instance claim if i recall correctly | |
| 12:41:44 | brinzhang | we test and write the logs, and we cannt get the target PMEM's path from the context | |
| 12:43:31 | sean-k-mooney | ill have to review but i was pretty sure i pointed to the code where you could get it at one point | |
| 12:43:43 | brinzhang | not exectly, it's cannot claim it now, now we just get the pmem's path when we were started if I wasn's missed some key info | |
| 12:43:53 | sean-k-mooney | no | |
| 12:44:03 | sean-k-mooney | it must claim it before you do the data copy | |
| 12:44:25 | sean-k-mooney | you cannot pass back paths to unclaimed devices | |
| 12:44:33 | sean-k-mooney | that is a potential securrity bug | |
| 12:46:19 | brinzhang | yes, hope we were wrong, you can review the PoC code and give some points, thanks | |
| 12:46:27 | sean-k-mooney | prep_resize should have claimed the remote pmemdevices and store them in the migration context | |
| 12:46:53 | sean-k-mooney | brinzhang: i can but since it deviates form the spec im -1 untill you can show why the spec wont work | |
| 12:47:18 | sean-k-mooney | why did you not save the pmem device in the migration context in prep_resize | |
| 12:48:29 | sean-k-mooney | we create a resize claim here https://github.com/openstack/nova/blob/master/nova/compute/manager.py#L5153-L5156 | |
| 12:52:38 | brinzhang | yeah, it looks like he jumped the prep_resize, so he cannot get the target pmem's info | |
| 12:53:13 | sean-k-mooney | right now the claims dont claim the pci devices | |
| 12:53:19 | sean-k-mooney | * pmem devcies | |
| 12:53:36 | sean-k-mooney | but the intent of the spec was to extend it to do that | |
| 12:53:53 | sean-k-mooney | which can be sotre either in the claim direclty or we can update the migration or migration context | |
| 12:54:06 | sean-k-mooney | we hvae access to both | |
| 12:56:13 | brinzhang | as I know, the VM only knows the path information of the PMEM after it is started, otherwise the VM does not know what the PMEM patch used inside the virtual machine is (e.g. /dev/pmem0) | |
| 12:56:48 | brinzhang | may this is my confusing | |
| 12:56:49 | sean-k-mooney | i dont belive that is correct | |
| 12:57:13 | sean-k-mooney | we must know the path before we start the vm since we need to specify the path in the vm xml | |
| 12:57:22 | brinzhang | right | |
| 12:58:05 | sean-k-mooney | and we cannot copy any data untile we have claimed the devcie because other wise we coudl race with a differnte vm and that could be a security bug or at least a data loss bug | |
| 12:59:55 | brinzhang | yes, if it's right we will lost the datas in pmem | |
| 13:00:24 | brinzhang | I will check the prep_resize tomorrow | |
| 13:01:51 | brinzhang | may it need to claim the pci devices in resource tracker | |
| 13:02:33 | sean-k-mooney | im currenlty trying to figure out why it does not appear to be doign that although i may have missed it | |
| 13:02:40 | sean-k-mooney | i tought it was doing that already | |
| 13:03:09 | sean-k-mooney | but yes when we aquire the instnace clam or move claim it should for cold migration at least | |
| 13:03:27 | sean-k-mooney | for live migration we explitly claim the neutron pci devices in the pci tracker | |
| 13:03:39 | sean-k-mooney | we do not use move claims for that | |
| 13:04:06 | sean-k-mooney | for pmems though you will need to cliam them in the resouce table in the db | |
| 13:05:28 | brinzhang | yes, we shuold claims it firstly before cold migrate the instance | |
| 13:07:54 | sean-k-mooney | yep because we want to abort the migration if we cant claim | |
| 13:08:34 | sean-k-mooney | this is why we insited the spec be written the way it currently is | |
| 13:12:52 | sean-k-mooney | brinzhang: the poc wont work by the way | |
| 13:13:10 | sean-k-mooney | brinzhang: ill push comments in a second but its using processutiles incorrectly | |
| 13:13:45 | sean-k-mooney | https://review.opendev.org/c/openstack/nova/+/802225/1/nova/virt/libvirt/driver.py#10757 | |
| 13:13:50 | brinzhang | it's ok, I agree your point, and I think firstly we should claim the pmem devices in prep_resize interface, and then check it when we want to execute migrage_server then to copy date form source pmem to the target pmem devices | |
| 13:14:31 | sean-k-mooney | well if the claim fails then the migration shoudl go to error and the vm will stay in active | |
| 13:15:08 | opendevreview | Pavlo Shchelokovskyy proposed openstack/nova stable/queens: libvirt: Skip encryption metadata lookups if secret already exists on host https://review.opendev.org/c/openstack/nova/+/765774 | |
| 13:16:31 | brinzhang | sean-k-mooney:ok, hope you can review if you find the error in that patch, we will update and try to update in next patch | |
| 13:19:41 | sean-k-mooney | the issue is the 3 commands in _migrate_vpmem_data will all execute on the same host. to fix it you need to pipe the output of the first commadn into the input of the second and the second and third commands should be combined | |
| 13:21:07 | brinzhang | agree, I saw your comment, it's useful to improve efficiency | |
| 13:28:02 | sean-k-mooney | well it wont work the way it is now | |
| 13:28:58 | sean-k-mooney | it might work on the same host but both daxio command woudl execute on the local host | |
| 13:32:13 | brinzhang | ack, it should be update, in local we have tested the CLI, it works fine | |
| 13:33:09 | sean-k-mooney | if you use those comand on the cli it would wokr but only because the second comamdn will put you in a new shell on the dest | |