Thursday, 2023-04-06

opendevreviewIury Gregory Melo Ferreira proposed openstack/ironic-specs master: Firmware Interface  https://review.opendev.org/c/openstack/ironic-specs/+/87850502:39
rpittaugood morning ironic! o/07:09
opendevreviewRiccardo Pittau proposed openstack/ironic-python-agent-builder master: Move ubuntu jobs to jammy  https://review.opendev.org/c/openstack/ironic-python-agent-builder/+/87953807:24
opendevreviewMichal Nasiadka proposed openstack/bifrost master: Add logic to enable additional inspect_interfaces  https://review.opendev.org/c/openstack/bifrost/+/87973008:39
opendevreviewMichal Nasiadka proposed openstack/bifrost master: Add logic to enable additional inspect_interfaces  https://review.opendev.org/c/openstack/bifrost/+/87973010:46
Sandzwerg[m]Hmm does ironic or Openstack requires a minimum/special version of MySQL/mariaDB? I can't find something at first glance10:56
rpittauseems like ipa-builder is happy with jammy, still need to check the dib job though https://review.opendev.org/c/openstack/ironic-python-agent-builder/+/87953812:17
rpittauSandzwerg[m]: we don't recommend a minimum version, but my suggestion is to use mysql/maraidb 5.8 or similar, just because it's the same we use successfully in CI :)12:44
rpittauSandzwerg[m]: err wrong package, it's mysql-server 812:47
Sandzwerg[m]I see, thanks. Is that documented anywhere?13:18
TheJuliaA recommended version, as far as I'm aware, is not documented. The easy confusion issue here is we all use a common abstraction library called oslo.db which is built on top of SQLAlchemy. Good starting points are https://docs.openstack.org/oslo.db/latest/user/history.html#id1 and https://docs.sqlalchemy.org/en/14/dialects/mysql.html13:29
opendevreviewRiccardo Pittau proposed openstack/ironic master: [WIP] Run metal3 integration with ironic-image from source  https://review.opendev.org/c/openstack/ironic/+/87916214:07
JayFSandzwerg[m]: part of why we have a loose answer to this is that really it should just work with whatever version you pick for your operational needs14:17
JayFSandzwerg[m]: Ironic even supports use w/sqlite in single conductor scenarios like metal314:17
TheJuliahttps://docs.sqlalchemy.org/en/14/dialects/ <-- Upstream Ironic also has done testing with Postgres as well, but we don't really dive into the non-FOSS databases even though in the wider community some folks have.14:22
JayFI think use of postgres would be nasty for upgrades, I'm pretty sure we have some 'if mysql' code in there14:30
TheJuliathe upgrade code gets tested on both14:30
JayFthat's pretty slick14:30
TheJuliaand yes, there are some conditionals, because we have to approach some things differently14:30
TheJuliaIndex lookups are one thing14:31
JayFI've been working on ironic for a long time, and I still find easter eggs like this implemented when I wasn't looking :D14:31
TheJuliayou can't easily ask one of them (I don't remember which) what indexes exist14:31
TheJulia)14:31
TheJulia.. We actually got a patch at one point because someone tried running on DB214:31
JayF:-O14:32
adam_metal3hi Ironic, do you know something about the status of Glean ? I see there were no commits merged for 10 months now, and I have reason to think that I have found bugs in it, who should I contact ?14:34
JayFGlean is very actively maintained, it's just mostly finished14:34
JayFif you've found bugs I'm pretty sure there's a bugtracker...14:34
TheJuliathe OpenDev folks maintain it for the most part14:35
JayFuses storyboard for bugs, it appears14:35
JayFhttps://storyboard.openstack.org/14:35
TheJuliaGlean is also super simple, fwiw14:35
TheJuliawhere as cloud-init supports many different features14:36
adam_metal3thanks for the info! do you know that in what irc gorup can I find the maintainers if I have questions ?14:38
TheJulia#opendev most likley14:38
adam_metal3thanks a lot!14:38
TheJuliaalso just asking in here might be worthwhile as well, some of us have changed/contributed to it14:39
adam_metal3okay thanks, then will quickly mention it here too, I am experiencing multiple unexpected issues when creating bond interface with glean based on the network_data.json file, I use glean on a centos 9 stream based IPA and the glean services of the bond "slave" interfaces are failing with an error to that always just say the Erro: "<mac of the other slave interface>", I have compared the network_data.json to glean's test 14:44
adam_metal3data, to the network_data schema and I have got one example from Sandzwerg[m] also and my file also follows the same conventions as those14:44
adam_metal3the other issue is that the bond "master" interface or the bond interface not sure how to call it, has incorrect type, instead of bond it is Ethernet14:46
adam_metal3clarification the not the bond interface has Ethernet type but the network-script create for said interface14:48
Sandzwerg[m]Thanks for all the mariaDB related answers JayF TheJulia I suspected something like this but wanted to make sure as we're planning on changing our DB setup and three colleagues who do this had some questions regarding this14:59
TheJuliaadam_metal3: can you provide a santiized example of what your sending as the metadata?15:13
adam_metal3yep I am trying to get one in text form from downstream I only have pictures atm15:13
TheJuliatext would likely help, I suspect it is something to do with formatting. ... It is not the clearest format unfortunately15:14
TheJuliaSandzwerg[m]: cool, so one other piece of context, the mysql dialect includes use of a galera cluster.15:15
Sandzwerg[m]Ah good to know. Apparently they are thinking about using galera 15:16
TheJuliamost openstack clusters use galera for cluster replication management... in fact I don't know if anyone has ever used any of the pre-galera replication tools15:16
JayFI totally have15:19
JayFit was GREAT :| 15:19
TheJuliawhat ring repl didn't eventually resolve everything?15:23
* TheJulia ducks15:23
TheJuliaSandzwerg[m]: so... for clarity, the issue with the old style replication, as I remember from doing stuff like this myself, is it was either hard active passive or multi-master, and you basically couldn't rely upon automatic incrementing primary keys15:24
TheJuliaso your database schema had to be cognizant of what you were doing and use self-declared/tracking/associated primary keys15:25
TheJuliabecause the same record would have different table level pkeys15:25
TheJuliaat least in multi-master15:25
TheJuliahard active/passive setups I think preserved the primary keys as originally requested15:25
clarkbadam_metal3: it is entirely possible you are the first person to attempt to use bond interfaces with centos 9 or possibly even with network manager all together. Glean was built largely to support OpenDev's test instance network configuration needs (in particular cloud-init didn't support rackspace at one point in time). We've been happy to add features for other use cases15:26
clarkbbut our ability to test features like bonding is basically nil15:26
opendevreviewRiccardo Pittau proposed openstack/ironic master: Run metal3 integration with ironic-image from source  https://review.opendev.org/c/openstack/ironic/+/87916215:28
adam_metal3clarkb, Thank you for the info! this explains things, 15:28
TheJuliaNetworkManager based things does change things a bit15:29
TheJuliathat could explain things a lot15:29
opendevreviewRiccardo Pittau proposed openstack/ironic master: Run metal3 integration with ironic-image from source  https://review.opendev.org/c/openstack/ironic/+/87916215:29
adam_metal3TheJulia, I have pasted the data here: https://pastebin.com/7XPf5bRV the password is:julia0115:29
TheJuliaI'd have to double check the underlying schema, but I *think* that looks correct at a glance15:31
TheJuliahmm, time for a test I think15:32
TheJuliawith more coffee15:32
adam_metal3TheJulia, thanks for taking a look!15:36
JayFiurygregory: around and available, perhaps?15:54
* JayF just had all the bifrost nodes disappear from his demo15:55
TheJuliawhat did you do?!15:56
JayFnothing?15:56
JayFI have no idea wtf is going on15:56
JayFI'm re-running testenv/install --testenv to try and make it happy15:57
JayFI think I ran deploy without an inventory, like the docs say, and it imght have wiped out my nodes15:57
JayFbut I can't be sure b/c I didn't check for them before I started15:57
TheJulia... your not running in a mode where access rights/auth issues would be an issue15:57
JayFhttps://docs.openstack.org/bifrost/latest/user/howto.html#deploy-hardware15:57
JayFTheJulia: I'm running all this as my user in a VM I control15:58
TheJuliayeah15:58
TheJuliaso... that just triggers playbooks as I understand it15:58
* TheJulia wonders15:58
TheJuliadeploy-dynamic.yaml is the playbook15:59
TheJuliathat just creates configuration drives and then calls bifrost-deploy-nodes-dynamic15:59
JayFhttps://gist.github.com/jayofdoom/3f989bd2ea24885ba684eadcf648017116:00
JayFthis is after I re-ran a testenv and a install16:00
JayFtestvm1/2 exist in libvirt, but not in ironic16:01
TheJuliaso, did you enroll at any time?16:01
JayFI was under the (flawed?) impression that was done by bifrost-cli install/deploy16:02
TheJuliabifrost-cli has an enroll command16:02
TheJuliawhich adds the nodes to ironic16:02
* JayF checks docs16:02
TheJuliathe deploy takes the nodes and does the request to active state16:02
JayFyeah I think just the docs are not as direct as I expected16:02
rpittaudoes anyone remember how to increase disk size for ipa-builder jobs? I'm getting a "cpio: write error: No space left on device" on the ubuntu dib job with jammy16:04
JayFenroll did what I needed16:05
JayFTheJulia: what's the tl;dr difference between baremetal-nodes.json, baremetal-inventory.json16:06
TheJuliaJayF: I don't think there is a difference16:08
TheJuliathere shouldn't be afaik16:08
TheJuliarpittau: where on the disk was it trying to work?16:08
rpittauJayF: AFAIR baremetal-inventory is bifrost specific (ansible), while baremetal-nodes is ironic specific16:08
JayFah16:09
rpittauTheJulia: it happens in CI when installing and unpacking all the packages for the image, not sure about the target device16:11
iurygregoryJayF, finishing lunch (give me 30min)16:13
JayFack it's not a rush julia set me straight 16:14
rpittaualright I can't function properly anymore, going offline16:17
rpittauif anyone is curious the failing job is in this patch https://review.opendev.org/c/openstack/ironic-python-agent-builder/+/87953816:17
rpittaugood night, see you tomorrow! o/16:17
TheJuliarpittau: ... I guess to grok what is going on , in post-steps we need to get a df command run16:43
TheJulialike we do with logging16:43
TheJulia... it wouldn't just be a bad thing to have *anyway*16:43
TheJuliaadam_metal3: appologies, I'm getting pulled in a number of directions16:43
* TheJulia started the morning by getting to write a very long and verbose email16:44
iurygregoryJayF, I'm back16:44
JayFiurygregory: lets just keep our meeting in ~1h:15m16:44
iurygregoryJayF, ok o/16:45
JayFiurygregory: I'm polishing off the last bits, and julia got my issue fixed16:45
adam_metal3TheJulia: no problem 16:45
JayFissue being, I didn't know to run enroll LOL16:45
iurygregoryops =)16:45
iurygregorywe have a script for it16:45
TheJuliafor the record, we *really* need to just carry a GPIO pin coffee driver or something16:45
JayFI need composable hardware16:45
JayFso I can hook some external storage onto my brain16:46
iurygregorycomposable coffee16:46
TheJuliado demos in a conference hallway making us coffee16:46
TheJulia"deploy me coffee"16:46
JayFmeta conference talk about how all conference demos are contrived16:46
JayFdemo like 100 crazy ways to make coffee16:46
TheJulialolz16:46
JayFthe reveal at the end is some person under the table actually mashing buttons to make it work16:46
TheJuliacan we have a rack of servers power up and power off through this?16:47
JayFno, but we can have christmas lights in a rack-like-structure flash on and off ;)16:47
TheJuliaoh no, we need the lights to be triggered by *at least* relays16:47
JayFonce I actually run all the right commands17:01
JayFbifrost is super cool17:01
JayFespecially for places that feed nodes provisioned by ironic into ansible anyway17:01
JayFI could see a fully formed workflow all in custom ansible calling out to bifrost for provisioning17:02
TheJuliaOne of the reason we carry examplish playbooks which can be used/modified17:02
TheJulia:)17:02
* TheJulia is having one of those days where forward progress just seems like it is not going to happen today17:37
TheJuliaadam_metal3: I think it would help to get exactly what glean is erroring out with, I am getting a few different things with a mock test I've got half setup, but clean at least seems to think it is doing the right thing18:17
TheJuliaadam_metal3: one thing I *am* seeing, is the json being shipped in has a slight linting error, I wouldn't expect that to throw it, but maybe it could be?!18:18
TheJuliatailing commas shouldn't exist if there is not a next element, right after the actual bond link definition18:18
adam_metal3TheJulia: I linted it with hand as I got it MSTeams and that messed up the linting18:19
adam_metal3in MSTeams*18:19
adam_metal3I have not added any coma though, I will check18:20
adam_metal3ohh you mean the last link, yeah that was me I have removed a link that was not used in later tests18:22
adam_metal3I have removed it from the pastebin, that is not part of our input (that extra coma)18:23
opendevreviewMaksim Malchuk proposed openstack/bifrost master: Remove extra symbols accidentally added  https://review.opendev.org/c/openstack/bifrost/+/87954718:23
adam_metal3I will type the errors down I only have pictures18:26
adam_metal3so I theorize that this is where the error is coming from: https://github.com/Nordix/glean/blob/528f7216c64b459c2028a2ba81149548862b58b5/glean/cmd.py#L318 and the error message is just ERROR: 'the mac of the other link' so if I check the mac ending with 11 then it is like ERROR: 'mac ending with 10' and vice versa18:29
adam_metal3hm I have images of console outputs I will try an image reader to generate some usable text18:31
TheJuliaadam_metal3: ack18:39
TheJuliaadam_metal3: I seem to encoutner that if the mac being put in doesn't exist on the host18:40
adam_metal3Dowsntream sent me the output of the ip link command they have the macs18:44
TheJuliaglean seems to error there if it can't find the macs when it walks /sys18:45
TheJuliato be precise /sys/class/net/*18:45
TheJuliaIn part because if memory serves glean collects what it needs on the addresses from there to map to interface names, the interface names in your payload are just for humans to mentally piece it together18:46
adam_metal3I have extended the pastebin post with an example of glean service output18:49
adam_metal3it finds the first mac and drops the error for the second18:49
opendevreviewJay Faulkner proposed openstack/ironic-specs master: Add 2023.2 Workitems discussed at Ironic PTG  https://review.opendev.org/c/openstack/ironic-specs/+/87938118:49
TheJuliaadam_metal3: I'd ask them to cd /sys/class/net and do something like ; for dev in `ls`; do echo device $dev ; cat $dev/address ; done just to verify the kernel sees it and all18:55
TheJulia(and verify the address matches what is expected)18:56
adam_metal3sure thanks, I will create a test setup and try it on a vm, my downstream folks won't be available until Tuesday so I will try to reproduce this on a VM, thanks for all the help18:59
TheJuliaadam_metal3: I was thinking the same exact thing19:05
-opendevstatus- NOTICE: The Gerrit service on review.opendev.org will be offline for extended periods between 22:00 and 00:00 UTC for software upgrades and project renames: https://lists.opendev.org/archives/list/service-announce@lists.opendev.org/thread/VW2O56AXI4OX34CWDNRNZDCWJDZR3QJP/21:04
-opendevstatus- NOTICE: The Gerrit service on review.opendev.org will be offline for extended periods over the next two hours for software upgrades and project renames: https://lists.opendev.org/archives/list/service-announce@lists.opendev.org/thread/VW2O56AXI4OX34CWDNRNZDCWJDZR3QJP/21:59
JayFReminder: tomorrow is the last day I'll be working, or in IRC, likely for over a calendar week. If you need something from me act quickly :)22:50

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