Monday, 2024-07-29

opendevreviewJens Harbott proposed openstack/project-config master: Drop project definitions for some x/* repos  https://review.opendev.org/c/openstack/project-config/+/92507504:56
*** tobias-urdin|pto is now known as tobias-urdin06:31
*** bauzas_ is now known as bauzas06:52
*** bauzas_ is now known as bauzas07:24
*** bauzas_ is now known as bauzas07:56
*** bauzas_ is now known as bauzas08:21
*** bauzas_ is now known as bauzas10:04
simondodsleyHi - we are currently rbuilding our 3rd party CI on new hardware and wanted to ensure we optimize the size of the VMs we use to run the CI jobs on. Is there a preferred CPU core count and RAM size for these devstack nodes? 14:21
fungisimondodsley: openstack runs most jobs (including devstack+tempest) on cloud virtual machines with 4-8 vcpus (depending on their speed/vintage), 8gb ram, and 80gb of disk space14:44
simondodsleyfungi: thanks14:44
fungiyou should aim for sufficient performance that devstack/tempest jobs complete in around 90 minutes (depending on which tests you enable)14:45
opendevreviewMerged openstack/project-config master: Add openstack/os-test-images project under glance  https://review.opendev.org/c/openstack/project-config/+/92504314:50
*** bauzas_ is now known as bauzas16:01
opendevreviewMerged openstack/project-config master: Set linaro cloud's max servers to 0  https://review.opendev.org/c/openstack/project-config/+/92502916:30
opendevreviewMerged openstack/project-config master: Use the osuosl mirror for deb packages in image builds  https://review.opendev.org/c/openstack/project-config/+/92504816:30
dansmithfungi: clarkb: any suggestions for some job definition I can look at (read: copy) that can just install some packages (qemu-img) and run a minimal python script to generate these images?16:38
clarkbdansmith: the tox (and nox) jobs will install anything listed in bindep then run the specified tox target. That might be a good example since you're using python to drive things16:39
dansmithokay I can surely do that, I just figured (ab)using tox for that might be a bit uncool,16:40
dansmithbut I guess we use it for docs16:40
clarkbits helpful when running python tools as it ensures you can get all the deps installed too16:40
dansmithyeah16:40
clarkbyou can also have a job that is basically just an ansible playbook with a single task that is a shell script that installs the pacakge and runs your commands16:44
clarkbbut it is probably less effort to just use tox since writing a rule for that in a tox.ini is simple16:44
opendevreviewMerged openstack/project-config master: Drop project definitions for some x/* repos  https://review.opendev.org/c/openstack/project-config/+/92507516:45
sean-k-mooneyclarkb: im not sure where to bring this up. maybe the list but we have a depencoy on a project that is archievd on github with no future maintainer identifed and it does not work for me properly on 3.12...16:52
sean-k-mooneyspecifically https://github.com/al45tair/netifaces16:53
sean-k-mooneydo you know if that has been discussed anywhere before16:53
clarkbI want to say there were rumblings of it a while back (maybe when it was archived?) so not in the context of python version support but just concern that it wasn't maintained any longer16:54
sean-k-mooneyya so this is only failing for me on debian testing at least right now16:54
sean-k-mooneybut there have been no releases in 3 years16:55
sean-k-mooneyand it was arcived arount that time too16:55
clarkbI think glean manually scans through the interfaces and doesn't use netifaces16:57
sean-k-mooneyanyway for now ill swap to a ubuntu vm but we proably need to treat this like the eventlet matiannace and start removign it16:57
clarkbbut its use case if far simpler (just needs to filter out interfaces that aren't "real")16:57
sean-k-mooneywe use it for a few things16:57
sean-k-mooneyin os-vif i think its only used for windows (need to check) but we remove hyperv supprot like a year ago16:58
sean-k-mooneyso i think we can just remove it16:58
sean-k-mooneyim not sure tha tnova actully uses it anymore (we deleted nova-net a long time ago)16:58
sean-k-mooneyneutron uses it a little i belvie but not sure16:58
sean-k-mooneyok nova has some really minimal usage17:00
sean-k-mooneyjust to get the defautl ip17:00
sean-k-mooneyso we can likely replace that17:00
sean-k-mooneyoh so oslo_utils has a common implemation we can use instaed17:05
clarkbI was going to say can probably just copy relevant bits of netifaces into the various code bases that need it, but it is written in C which may be more pain than it is worth17:05
sean-k-mooneyits not quite a 1:1 dropin17:08
sean-k-mooneybut i think its likely close enouch17:08
sean-k-mooneynova is checkign that if you provide an ip for my_ip that that ip is on any interface on the host17:09
sean-k-mooneywe could proably put that into oslo however instead of just doign that in nova17:11
sean-k-mooneyoslo is useign netifaces to for some thigns17:11
sean-k-mooneyanyway not todays problem but we likely need to add that to the list of techdebt to dealwith17:12
clarkbyes particularly if it isn't a simple replacement with another library or a sysfs lookup17:14
sean-k-mooneywell we could use pyrout2 probably17:19
sean-k-mooneyits a depency of os-vif which nova depends on17:19
sean-k-mooneybut im not 100% sure it does this17:19
sean-k-mooneyi think listing all the adresses however is someting it can do17:19
sean-k-mooneyits bascially just parsing ip -a17:19
sean-k-mooneybut we obvioulsy dont want to just shell out if we can avoid it17:20
sean-k-mooneyim sure this is in /sys/class/net/*17:20
sean-k-mooneyor similar but thats not gerneally a sable interface17:20
sean-k-mooneyso we avoid using sysfs if we have other options17:20
fungifor reference, here was the openstack-discuss thread from the time netifaces was first archived: https://lists.openstack.org/archives/list/openstack-discuss@lists.openstack.org/thread/FFGAZ7VAR44ZD7FPPLBUOAI65JQKUD4V/#QB5T5W6TWN3SCO7AVCGS5AA2IESVHYE217:27
clarkbI suspect that sysfs is stable enough for this though. If you read the kernel docs on this they say things like dont' depend on specific error codes and that device order can change. But I suspect the actual attributes around things like what is my ip address on this interface is pretty stable17:28
sean-k-mooneyhttps://stackoverflow.com/a/54629245 that seams like a nice clean approch17:29
sean-k-mooneyjust using socket's getaddrinfo17:29
sean-k-mooneyno external deps17:29
sean-k-mooneyaddied in 3.2 and extended in 3.7 for som ipv6 usecases17:30
sean-k-mooneyso it shoudl be fine on all supported versions17:30
sean-k-mooneyclarkb: the main issue with sysfs is finding where its sotred and ensuring there is no divergence acrosos bonding/tunnels ectra17:32
sean-k-mooneyits much more preferabel to use a ptyhon lib for this if possibel17:32
sean-k-mooneyi would generally perfer to take a depency on "ifconfig" or "ip a" unless there is a portabel way to do thsi for sysfs that is docuemetned well17:34
fungidoes the kernel's "don't break userland" mantra not extend to sysfs interfaces?17:35
sean-k-mooneyin general no17:35
fungithat's too bad17:35
sean-k-mooneythe probelem is that much of sysfs is defied by the device drivers17:35
clarkbits more nuanced than that17:35
sean-k-mooneyit is 17:36
clarkbits basically the stuff that is considered kernel internal like errors can change17:36
clarkbas well as order and probably content in driver specific stuff17:36
clarkbanyway glean has done things like https://opendev.org/opendev/glean/src/branch/master/glean/cmd.py#L1305-L1319 and https://opendev.org/opendev/glean/src/branch/master/glean/cmd.py#L1235-L1237 for years and its been fine as far as I can tell17:36
sean-k-mooneywell os-vif does use sysfs to deal with how mellonox report virtual funcitons17:36
sean-k-mooneyand we had to update it 2 in the last 6 years17:37
sean-k-mooneybecause they broke the abi17:37
sean-k-mooneybtu if i can steals workign code form glean then im not agasint that :)17:37
clarkbthe carrier attribute and 1 being live is probably something that is well understood. The more you get into driver specifics the more likely things will break17:37
sean-k-mooneyclarkb: so i was trying to find where the ip is locally since adress is actully the mac17:38
sean-k-mooneyi dont see glean actully geting the ip17:40
clarkbsean-k-mooney: no as I mentioend its just filtering interfaces it doesn't want to deal with17:41
clarkbso basically it needs to know if the interface is alive and if it is of a valid type17:41
sean-k-mooneyack ya thats not why we use netifaces17:41
sean-k-mooneywe are suign it for 2 thigns 1 to get our default ip and to if you provide one to ensure its on the current host17:42
sean-k-mooneywe used it for other thigns on windows but we dont supprot that in nova/neutron anymore17:42
sean-k-mooneyanyway thanks, didntn want to neard snip ye into figuring out how to fix this 17:43
dansmithclarkb: fungi JayF: https://review.opendev.org/c/openstack/os-test-images/+/925114/comments/daf9fd36_d416d4d617:44
dansmithI did away with the (good|bad) prefix so that the image names remain stable, and the manifest.yaml has the flags in it, which should be easy to parse so we know if something should work or not17:44
dansmithI want to go through and add a description field for each one sort of explaining why each is relevant too17:45
opendevreviewMerged openstack/project-config master: Remove labels and diskimages from the linaro cloud  https://review.opendev.org/c/openstack/project-config/+/92504918:50
*** bauzas_ is now known as bauzas20:16

Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!