| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2024-08-08 | |||
| 16:44:14 | dansmith | he linked the module above | |
| 16:44:18 | dansmith | that's what he's asking about | |
| 16:44:37 | sean-k-mooney | yep in to personas | |
| 16:44:47 | sean-k-mooney | as a user you use user-data | |
| 16:44:52 | johnsom | Yeah, there is a module. I'm just not sure how to configure nova for it. Ideally on a flavor basis | |
| 16:45:10 | sean-k-mooney | as a operator you might be able to use static vendro data or dynamic vendor data ot do it | |
| 16:45:38 | sean-k-mooney | dansmith: the cloud init docs document something we do not support | |
| 16:45:41 | sean-k-mooney | https://cloudinit.readthedocs.io/en/latest/reference/datasources/openstack.html#vendor-data | |
| 16:45:55 | sean-k-mooney | there was a whole discussion about that a few mounts back | |
| 16:45:56 | dansmith | johnsom: no way to do it per-flavor that I know of | |
| 16:46:03 | sean-k-mooney | i provide a way to hack that | |
| 16:46:07 | sean-k-mooney | to make it work | |
| 16:46:22 | sean-k-mooney | but we do not offically supprot passing cloud init cloud config vai vendor data today | |
| 16:46:30 | johnsom | Bummer, flavor would have been perfect in this case | |
| 16:46:40 | sean-k-mooney | https://github.com/canonical/cloud-init/issues/5221 | |
| 16:46:49 | sean-k-mooney | johnsom: nova should not do networking | |
| 16:46:57 | sean-k-mooney | or software configuration in guests | |
| 16:47:03 | sean-k-mooney | which is why you cant do this in the falvor | |
| 16:47:12 | johnsom | Agree, but I think it should be able to configure cloud-init metadata | |
| 16:47:44 | sean-k-mooney | that woudl be a new feature and im not sure users woudl agree | |
| 16:47:58 | dansmith | sean-k-mooney: I'm not sure why you say we don't support it via vendordata, but if you've got a link I'd be glad to read it | |
| 16:48:20 | johnsom | Agree, it sounds like it would be a new feature. Bummer | |
| 16:48:38 | sean-k-mooney | dansmith: tldr we require the vendor data to be in a format that is diffent form what cloud in it requries | |
| 16:48:57 | sean-k-mooney | dansmith: the require a key at the top level of the resonce to be "cloud-init" | |
| 16:49:16 | sean-k-mooney | the top level key we requried is the vendor data provider | |
| 16:49:43 | sean-k-mooney | dansmith: i explain it here https://github.com/canonical/cloud-init/issues/5221 | |
| 16:50:05 | dansmith | cool, I'll check it out | |
| 16:50:12 | dansmith | should be fine to use via userdata though, AFAIK | |
| 16:50:53 | sean-k-mooney | yep usere data will work for a user just no offical way to make it work at the operator level | |
| 16:51:03 | johnsom | This seems like a common edge use case, to configure instances via cloud-init for local services like NTP or to point instances to specific endpoints. | |
| 16:51:07 | sean-k-mooney | however when i was explinging this they had already started https://review.opendev.org/c/openstack/nova-specs/+/917109 | |
| 16:51:40 | sean-k-mooney | johnsom: so the neutron subnet allwos you to configure dns server via dhcp options | |
| 16:51:48 | sean-k-mooney | i dont see why it could not supprot ntp | |
| 16:52:03 | dansmith | because dns is widely accepted and sort of necessary :) | |
| 16:52:14 | sean-k-mooney | well they aslo supprot static routes | |
| 16:52:39 | dansmith | yeah, not everyone accepts those via dhcp either | |
| 16:52:44 | sean-k-mooney | im just saying there are other dhcp options and neutron could have a facility to allow you to specify them for the network | |
| 16:52:58 | sean-k-mooney | sure just providing another way to do the same usecase | |
| 16:53:11 | johnsom | Another quick (?) question, is there a way to set the hw_vif_model setting other than a property on the image? Like at instance creation time? | |
| 16:53:12 | dansmith | this seems well in scope for a cloud-init thing to me | |
| 16:53:16 | sean-k-mooney | i was thinkign of the pxe boot usecase peopel had in the past | |
| 16:53:37 | sean-k-mooney | https://docs.openstack.org/api-ref/network/v2/index.html#id315 | |
| 16:53:46 | johnsom | Yeah, the problem with the DHCP options isn't necessarily neutron, but the distributions not enabling them | |
| 16:54:14 | sean-k-mooney | johnsom: the problem with the flavor is the image might not have cloud-init | |
| 16:54:40 | johnsom | hw_vif_model question is around using the igb driver for SR-IOV testing in nodepool | |
| 16:55:02 | sean-k-mooney | so it was on my list of things to enable and i just have not got ot it | |
| 16:55:06 | sean-k-mooney | but i too want ot add that | |
| 16:55:09 | johnsom | Well, in our world they have cloud-init | |
| 16:55:36 | sean-k-mooney | our being? its not alwasy there for openstack workloads in general | |
| 16:56:12 | sean-k-mooney | think workload like core os or talos linux | |
| 16:56:23 | sean-k-mooney | or windows if they dont have the cloud base init fork | |
| 16:56:26 | johnsom | our being Octavia amphora images. | |
| 16:56:31 | sean-k-mooney | ah | |
| 16:56:52 | sean-k-mooney | well for octavia since your creating the instnaces you can simply pass user-data with your cloud config settings | |
| 16:57:31 | sean-k-mooney | johnsom: if you think nova should supprot this vai vendor data you should read and comment on https://review.opendev.org/c/openstack/nova-specs/+/917109/6/specs/2024.2/approved/dynamicjson-vendordata-cloud-config.rst | |
| 16:58:39 | sean-k-mooney | i feel like i put that on the ptg adjenda for the last one | |
| 16:58:47 | sean-k-mooney | but i dont recall if we had time to disucss it | |
| 16:59:01 | johnsom | That is less than ideal in this customer use case. They as the operator wants to configure it in a way they can point at different endpoints based on the flavor used. | |
| 16:59:49 | johnsom | But, yes, looking at the spirit of dynamic vendor data, it could be a solution (assuming it works at some point). | |
| 17:00:09 | johnsom | I think the current answer is, cannot be done. | |
| 17:00:22 | sean-k-mooney | it can by abusing the json standard | |
| 17:00:27 | johnsom | lol | |
| 17:00:41 | dansmith | yep, seems like the perfect way to handle this, any sort of per-site compute cloud-init stuff being a dynamic vendordata thing that coughs up a blob of config | |
| 17:00:56 | johnsom | +1 | |
| 17:00:59 | sean-k-mooney | i help the person that was tryign to get this working make it work by telling them how to do that | |
| 17:01:27 | sean-k-mooney | the reason for the spec was if we wanted to acutly do this we woudl need to commit to officaly supproting tha tuse case, adding tests and not breaking it | |
| 17:02:13 | sean-k-mooney | johnsom: this is how to do it today with nova without code changes https://review.opendev.org/c/openstack/nova-specs/+/917109/6/specs/2024.2/approved/dynamicjson-vendordata-cloud-config.rst | |
| 17:02:24 | johnsom | Though, it would be nice if the flavor ID was passed to the dynamic vendor data service too. | |
| 17:02:51 | sean-k-mooney | we pass some infor to the vender data like the instance uuid | |
| 17:03:00 | sean-k-mooney | im not sure what we pass exactly | |
| 17:03:10 | johnsom | https://docs.openstack.org/nova/latest/admin/vendordata.html#dynamicjson | |
| 17:03:17 | sean-k-mooney | but we pass the instance uuid so you can make desions per instance if you want too | |
| 17:03:21 | dansmith | image but not flavor | |
| 17:03:30 | dansmith | flavor should be in there too I would think | |
| 17:03:40 | sean-k-mooney | ah yes its in the docs | |
| 17:03:41 | johnsom | I guess that service can just make another GET call | |
| 17:03:58 | sean-k-mooney | so this is all old code form rackspace era | |
| 17:04:03 | sean-k-mooney | that has kind of bitrotted | |
| 17:04:11 | johnsom | Sigh | |
| 17:04:12 | sean-k-mooney | so it supprots what they needed at the time | |
| 17:04:32 | sean-k-mooney | but again if peropel want to enhance this we could | |
| 17:04:52 | sean-k-mooney | just need a spec to desicbe it and people to do the work | |
| 17:05:28 | johnsom | Well, we are pretty far out of "officially supported" at this point, the immediate answer is going to be "create custom images". | |
| 17:05:29 | dansmith | pretty sure dynamic vendor data is way after rax | |
| 17:06:06 | sean-k-mooney | dansmith: i think it was done by michael still | |
| 17:06:12 | dansmith | it was, but in 2017 | |
| 17:06:28 | sean-k-mooney | oh i didn mean as part of the inital code dump | |
| 17:06:41 | sean-k-mooney | i ment it was implemed by them for the requirement they had | |
| 17:06:59 | dansmith | I know :) | |
| 17:07:44 | sean-k-mooney | johnsom: so right now we also dont provide the flavor extra specs adn addign those would be problematic unless we passed them in the post body | |
| 17:08:02 | sean-k-mooney | so im not really sure how you imagine this being encoded in the flavor | |
| 17:08:41 | sean-k-mooney | or where you hoping that could be done via custom integrations fo some kind by the opertor using custom extra specs | |
| 17:10:59 | johnsom | I just knew cloud-init had the module and wondered if it could be used via nova. I didn't have a design in mind. Just making sure I wasn't missing some way to do it. | |
| 17:11:34 | sean-k-mooney | other then what we have discussed the only othe way would be perhaps with a custom network template | |
| 17:11:59 | sean-k-mooney | https://docs.openstack.org/nova/latest/configuration/config.html#DEFAULT.injected_network_template | |
| 17:12:22 | elinux | anyone online yet ? | |
| 17:12:29 | sean-k-mooney | which is https://github.com/openstack/nova/blob/master/nova/virt/interfaces.template | |
| 17:13:03 | elinux | sean-k-mooney: i need a small help regarding scheduler. can you help me please | |
| 17:13:03 | sean-k-mooney | johnsom: if you can do it via /etc/network/interfaces you can do it as an admin via that | |
| 17:13:21 | sean-k-mooney | elinux: perhaps | |