| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2020-11-17 | |||
| 13:12:47 | sean-k-mooney | so that we persist them there and have nova precreate them | |
| 13:13:02 | sean-k-mooney | to provide stable names | |
| 13:13:09 | sean-k-mooney | and other things like numa affinity | |
| 13:13:29 | sean-k-mooney | e.g. just add a type_mdev to the list | |
| 13:13:37 | bauzas | why ? | |
| 13:13:46 | bauzas | anyway, I need to look at other specs | |
| 13:14:08 | gibi | sean-k-mooney: I don't suggest to plug mdevs into the pci tracker, especially that cyborgs would like to track them | |
| 13:14:21 | sean-k-mooney | because mdev are not ment to work like vf in that they framework was desigined to have them dynmicaly created at runtime by higher level orcestors | |
| 13:14:59 | sean-k-mooney | gibi: well my point is that without cycborg i dont think its valid to say they should be precreated | |
| 13:15:00 | bauzas | gibi: me too | |
| 13:15:13 | sean-k-mooney | that is just not how they were ment to be used | |
| 13:15:20 | bauzas | gibi: sean-k-mooney: honestly, I would like to stop supporting to create mdevs in nova | |
| 13:15:38 | bauzas | but first, we would need to support it by TripleO | |
| 13:15:40 | gibi | sean-k-mooney: does libvirt handles mdevs differently than pci? | |
| 13:15:49 | sean-k-mooney | right i dont think we shoudl do that not without providing a real alternitive | |
| 13:15:56 | sean-k-mooney | gibi: yes it does | |
| 13:16:03 | bauzas | gibi: mdevs are a bit different | |
| 13:16:06 | bauzas | but, | |
| 13:16:19 | sean-k-mooney | gibi: libvirt alows them to be allcoated dymically ti does not do the same for vfs | |
| 13:16:20 | bauzas | I don't see why we couldn't just tell 'sorry, but please precreate them' | |
| 13:16:41 | sean-k-mooney | bauzas: that would be a major regression in functionality for one | |
| 13:16:48 | sean-k-mooney | and be an upgrade issue | |
| 13:16:51 | bauzas | given we only support one type for GPU, when you tell which type you want to get for a pGPU, then we could just create them | |
| 13:17:01 | sean-k-mooney | but the main reason is most device dont support one type | |
| 13:17:04 | bauzas | anyway, I need to be off for 10 mins | |
| 13:17:13 | bauzas | (someone is around my home) | |
| 13:18:24 | sean-k-mooney | the whole we only support one type per PGPU is a limiatieon in nvidias solution that is not representivie of the mdev framework as a whole | |
| 13:18:58 | sean-k-mooney | if we support generic mdevs in teh future and in the cyborg case in particalar it dose not hold true that all device will only support 1 mdev type | |
| 13:22:42 | tacco | sean-k-mooney: fyi, still no luck. but all in all some more informations. I can see 248available cpus in the vm but everything above id63 are marked as offline. | |
| 13:22:57 | gibi | hm, I more and more like the idea to hide this complexity from nova in cyborg. Then cyborg is free to pre-create or create on the fly the mdev at arq mind. Nova don't have to worry about it (except the recreation case at reboot, see my comment in the spec) | |
| 13:23:09 | gibi | s/mind/bind/ | |
| 13:23:25 | sean-k-mooney | tacco: ok so that is pointing to the guest kernel | |
| 13:23:43 | sean-k-mooney | tacco: well most likely the kernel | |
| 13:23:53 | sean-k-mooney | have you tried onlining them via /sys | |
| 13:24:18 | sean-k-mooney | gibi: yep i was noting that in the spec | |
| 13:24:37 | sean-k-mooney | solution 2 id fine if cyborg does the precreate when we bind at teh conductor | |
| 13:24:45 | sean-k-mooney | its not ok if we need to do an api call on the compute | |
| 13:25:13 | sean-k-mooney | they can also do option 3 and precreate them at agent start | |
| 13:25:16 | gibi | sean-k-mooney: yeah, I assumed that cyborg provides the mdev to as in the same way as provides the pci for an fpga | |
| 13:25:30 | gibi | s/to as/ to us/ | |
| 13:25:37 | sean-k-mooney | yep in the arq when it completes the binding | |
| 13:25:38 | tacco | sean-k-mooney: yes, but then i got a mem error. | |
| 13:25:44 | sean-k-mooney | whcih we poll for on the compute | |
| 13:25:45 | gibi | sean-k-mooney: exactly | |
| 13:25:58 | sean-k-mooney | so its really just the uuid which we then stick in the xml | |
| 13:27:20 | gibi | sean-k-mooney: and this uuid needs to be stable from nova perspective at reboot, or else nova needs to update the xml | |
| 13:27:40 | sean-k-mooney | well we regenerate teh xml form scratch on reboot so | |
| 13:27:52 | sean-k-mooney | it could change | |
| 13:27:56 | sean-k-mooney | we wont notice | |
| 13:28:13 | openstackgerrit | Merged openstack/nova-specs master: Support interface attach with qos ports https://review.opendev.org/755477 | |
| 13:28:19 | gibi | I mean hypervisor reboot not VM reboot | |
| 13:28:40 | sean-k-mooney | oh same power-on for reasons calls hard reboot | |
| 13:29:09 | gibi | hm, that could work then | |
| 13:29:11 | sean-k-mooney | reasons being we required spwan and hard-reboot before we required stop start in the virt driver | |
| 13:29:26 | sean-k-mooney | and we never changed libvirt because it just worked | |
| 13:30:17 | gibi | do we rebind or requery the arq from cyborg at VM hard reboot? | |
| 13:30:32 | gibi | we need that to pick up a the new uuid | |
| 13:31:05 | sean-k-mooney | that was a question i was going to ask in the spec | |
| 13:31:22 | sean-k-mooney | i cant rember if we get the arq or not | |
| 13:31:23 | bauzas | (still on and off, but I see your convo, will be back in 20 mins-ish) | |
| 13:31:44 | sean-k-mooney | we do not rebind ports on hard reboot | |
| 13:32:27 | sean-k-mooney | for cinder block devices lyarwood would have to correct me but i think we cached the attachmemnt but maybe we recreate them | |
| 13:32:43 | sean-k-mooney | gibi: point being that we had to solve this for fpgas already | |
| 13:32:55 | sean-k-mooney | so i think what ever we did there should be suffienct | |
| 13:33:04 | gibi | sean-k-mooney: yeah, I agree | |
| 13:33:22 | gibi | I have to jump on a call back later | |
| 13:33:34 | sean-k-mooney | cool | |
| 13:34:03 | sean-k-mooney | im leaving comments on the spec but i think we agree cyborg should handel the mdev creation and just tell us | |
| 13:34:44 | sean-k-mooney | where it dose that (agent start or bind) is up to them so long as it work for all lifecycle events | |
| 13:35:27 | lyarwood | sean-k-mooney: we don't recreate volume attachments on hard reboot | |
| 13:35:39 | gibi | sean-k-mooney: agre | |
| 13:35:40 | sean-k-mooney | we cache the conection info in the db | |
| 13:35:47 | sean-k-mooney | ? | |
| 13:35:48 | lyarwood | sean-k-mooney: the libvirt driver disconnects volumes from the host and reconnects them but that's it | |
| 13:35:58 | lyarwood | sean-k-mooney: yeah we cache the attachment id and associated connection_info | |
| 13:36:04 | sean-k-mooney | ya | |
| 13:36:16 | sean-k-mooney | so i tought we could hard reboot without external api calls | |
| 13:36:25 | lyarwood | sean-k-mooney: the only way to refresh that at the moment is via a move operation, I've argued that we should do it during a hard reboot in the past | |
| 13:36:28 | sean-k-mooney | but im not sure what the case is for cyborg | |
| 13:37:03 | sean-k-mooney | lyarwood: yep that is why i was asking i knew you wanted to change it but didnt knwo if you wanted to add or remove the caching | |
| 13:37:52 | lyarwood | sean-k-mooney: remove the connection_info caching | |
| 13:38:11 | lyarwood | sean-k-mooney: but if we ever get there is another thing | |
| 13:38:13 | sean-k-mooney | so we would then have a call to cinder on every hard reboot | |
| 13:38:22 | lyarwood | sean-k-mooney: yeah | |
| 13:38:41 | sean-k-mooney | i guess if the cinder service is down the storeage backend may also be down | |
| 13:39:01 | sean-k-mooney | so even with the cache we are not guareteed to be able to connect | |
| 13:39:23 | lyarwood | sean-k-mooney: really depends on the backend, most could be up still | |
| 13:39:40 | lyarwood | sean-k-mooney: we could at least attempt to refresh tbh | |
| 13:41:17 | sean-k-mooney | ya ceph and other likely are not running on the same hosts as the cinder services | |
| 14:01:29 | tacco | hm.. struggling aroung with aggregates, strange behavior. i tought if i create a aggreagate with a key and attatch that key to a flavor only hosts with the specific flavors are on the aggregate hosts. | |
| 14:02:06 | sean-k-mooney | tacco: only if you use the placement version | |
| 14:02:09 | tacco | or is there anything else to do? For now only a couple of HVs already have the new filter. But i guess only the hosts in the aggregate group needs this filter, or to be aware of. | |
| 14:02:18 | sean-k-mooney | if you use the fitler you need to add key=false to every other flavor | |
| 14:02:37 | tacco | ah.. ok, thanks. that could help for the moment :) | |
| 14:02:45 | sean-k-mooney | https://docs.openstack.org/nova/latest/reference/isolate-aggregates.html | |
| 14:03:03 | tacco | i tought absence of this flavor also implies that it can not be on the hosts. | |
| 14:03:12 | tacco | thanks for pointing me there. | |
| 14:03:33 | sean-k-mooney | tacco: nope that what many assume but its not how it works | |
| 14:03:48 | openstackgerrit | Lee Yarwood proposed openstack/nova-specs master: WIP - Image and flavor defined ephemeral storage encryption https://review.opendev.org/752284 | |
| 14:04:19 | sean-k-mooney | tacco: this is basically unmaintained and im not sure if it still works(it should) but https://opendev.org/x/nfv-filters provdes a filter that does what you want | |