Wednesday, 2023-03-22

prometheanfireshould https://github.com/openstack/ironic/blob/master/ironic/common/glance_service/image_service.py#L299 be hard coded to switft (should it not allow radosgw?)03:08
rpittaugood morning ironic! o/08:31
dtantsurkubajj: "this" = my inspector spec? yes, absolutely. it's all published under a free license.08:56
kubajjdtantsur: yes, the spec. Thanks. I've skimmed through it yesterday and it clarifies some parts09:15
dtantsurprometheanfire: pardon my ignorance, is radosgw using a different service type? I thought it was more of a drop-in replacement.09:19
opendevreviewDerek Higgins proposed openstack/sushy master: Add TransferProtocolType for any general error that mentions it  https://review.opendev.org/c/openstack/sushy/+/87820811:24
iurygregorymorning Ironic12:23
prometheanfiredtantsur: object-storage is the service-type, the service-name is whatever we want to call it (variable), when creating the endpoint you reference the service name13:00
prometheanfiredtantsur: though that doesn't seem to be my problem, the nova ironic driver is throwing a 'An auth plugin is required to determine endpoint URL'13:03
dtantsurprometheanfire: oh, you're right, we should be using a service type13:04
dtantsurthe 2nd error is probably misconfiguration13:04
dtantsurrpittau: our of curiosity, have you tried proposing a patch that breaks the metal3 job? or are we waiting for the source support in metal3-dev-env for that?13:06
prometheanfireya, not sure where, since I'm using OSA, that error would be coming from nova-compute running in the ironic-compute container (if you are familiar)?13:06
prometheanfireand would be the nova config?13:06
dtantsurprometheanfire: "is coming from nova-compute" may mean the error in nova.conf (the [ironic] section), but it's possible that it is just proxying an error from ironic.13:07
dtantsurI guess you can check ironic logs for the latter.13:07
prometheanfirethe traceback shows the ironic driver within nova at least13:10
rpittaudtantsur: metal3-dev-env main branch was actually broken for ironic until the variable change in https://github.com/metal3-io/metal3-dev-env/pull/1182 , or you mean something different?13:40
rpittauah nvm13:40
rpittauyou mean in ironic itself I guess13:40
rpittauwe need the source  support first, yeah13:41
dtantsuryep. somehow emulate a breaking change13:41
dtantsurokie13:41
opendevreviewVerification of a change to openstack/ironic master failed: Use main branch of metal3-dev-env to run metal3 integration job  https://review.opendev.org/c/openstack/ironic/+/87760013:42
rpittaulol13:42
opendevreviewVerification of a change to openstack/ironic master failed: Use main branch of metal3-dev-env to run metal3 integration job  https://review.opendev.org/c/openstack/ironic/+/87760013:51
rpittaudta13:55
rpittaumgreee13:55
rpittaudtantsur: I had 2 spare minutes https://review.opendev.org/c/openstack/project-config/+/87822313:55
dtantsurThanks! Maybe we'll need to add ironic-image eventually, but that can wait for sure.13:56
opendevreviewDmitry Tantsur proposed openstack/ironic-specs master: Merge Inspector into Ironic  https://review.opendev.org/c/openstack/ironic-specs/+/87800114:07
dtantsurOkay, this is ready for review14:07
JayFIronic folks: please DM me an email address if you want meeting invites for Ironic vPTG events. I will be creating one for me personally to ensure I don't miss anything, and I'm happy to add people to the meeting invite.14:47
dtantsurPM'ed; also I've just advertised our PTG at the Metal3 weekly meeting!14:48
JayFdtantsur: see slack lol14:48
JayFdtantsur: I plugged it in slack literally 5 minutes ago, too14:48
JayFwe are singing a duet14:48
dtantsurhaha, great!14:48
JayFwe will pull the k8s and openstack communities together through friendliness, force of will, and hardware provisioning14:49
dtantsuryep! we also had a quick look at the current schedule to spot topics of particular interest for metal3 people.14:49
JayFOperator Hour!14:50
JayFI want to see k8s metal3 operators at Ironic operator hour14:50
JayFthat would really really be thrilling14:50
dtantsurSure, but also firmware upgrades, IPA communication, cross-conductor communication, inspector merger14:50
JayFIt's unclear to me how much the general metal3 community really cares about the implementation details of ironic vs just the APIs we present14:51
dtantsurwell, these topics are details that matter14:51
dtantsurIPA communication is related to the TLS 1.3 questio14:51
dtantsurcross-conductor communication - to potential multi-conductor metal314:52
dtantsurfirmware upgrades is a common request (not of interest for RH as well)14:52
JayFYeah it's interesting, nowhere I've worked has really cared about {bios,raid,firmware}_interface14:53
JayFwe always implemented it all in-band using generic steps in cleaning/deploy (including places like here, where they already had that in place without my influence)14:53
dtantsurdaaamnn, I forgot auto-discovery in my spec..14:59
* dtantsur screaming inside14:59
opendevreviewDmitry Tantsur proposed openstack/ironic-specs master: [WIP] Migrate inspection rules from Inspector  https://review.opendev.org/c/openstack/ironic-specs/+/87823015:01
JayFhave we considered class IronicInspector(object): def __init__(): subprocess.call('ironic-inspector') BOOM SERVICES INTEGRATED /s15:02
JayFit's seriously hard to ensure you get all the edge case features of something like that :/15:02
dtantsurthat will not solve the maintenance problems15:04
dtantsurnot the performance issues of synchronizing ironic and inspector databases15:04
JayFOh, it's 100% a tongue-in-cheek joke15:04
dtantsurI mean, yeah, it's a great idea :)15:04
JayFI am very stoked about the inspector integration work, with both upstream and downstream hats on15:05
JayFnot often in OpenStack we can be like "here's a quantifyable decrease in complexity"15:05
* dtantsur is probably too serious all of the sudden because he does not feel well15:05
dtantsurdecrease in complexity?? IN MY OPENSTACK???15:05
TheJuliadtantsur: then get some rest()15:05
TheJuliaMy sanity + not over doing it is why I'm taking the next two days off15:06
dtantsurneed to enlighten a person downstream now. then maybe do some sports or other non-computer activities15:06
dtantsura good idea. my break is in just 2 (?) weeks15:06
JayFI actually have a question for you while you're here, this is a pretty good audience for it15:06
JayFEaster holiday observed is Apr 1015:06
TheJulia.... in large part because I have an actual electrical fault to fix15:06
JayFI'm going to be gone that entire week (4/10 - 4/17) 15:06
JayFDoes someone else want to run the meeting or should we cancel it?15:06
* TheJulia looks at calendars15:07
dtantsurI'm out Apr 6 - Apr 1115:07
JayFI have no real insight into how observed Easter Monday is internationally; it's waning in observation in the US...15:07
dtantsurThu to Tue15:07
rpittauJayF: I think we should cancel it, I'm also out15:07
dtantsur(both Friday and Monday are public holidays in Germany)15:07
JayFI think that's pretty close to quorum for people who participate in meetings15:07
JayFso I'm going to cancel it :)15:07
TheJuliaI'll be aroudn that day, but it sounds like we just won't have critical mass15:08
JayFor you should take it as a cosmic sign to take the day off :) 15:08
TheJulia... true15:08
TheJuliaI'll figure that out the week before, I have Jury duty that week15:09
TheJuliaso there is just a huge unknown for me15:09
TheJuliaso I may, or may not be around the week of the 3rd, I just don't know.15:10
TheJuliaCalifornia has some funny rules and expectations which only really work if your employed by a CA based company or retired.15:13
dtantsurCountries inside of countries :)15:13
TheJulia... legitimate.15:13
dtantsurI'm not sure about employment rules, but public holidays differ in different German states. And since I don't live in the state I'm employed it, it is sometimes confusing :)15:14
TheJuliaYeah, same basic issue exists here, but generally employers only honor the federal level holidays15:14
jssfrthat's not a choice here, at least :D15:15
jssfr(here := germany)15:15
rpittauin France some regions have different bank holidays, like Alsatia15:15
dtantsurSince I'm employed in Bavaria, I tend to prefer its holidays - they have the most of them :D15:15
dtantsurrpittau: interesting, I thought France is pretty uniform in terms of regulations15:16
rpittauAlsace actually, Alsatia is Latin :P15:16
dtantsurmmm, a man of education you are, I see, I see15:17
rpittau:D15:17
TheJuliaheh15:17
dtantsur"OpenStack 2023.1 Antelope is officially released!" congrats folks \o/15:19
JayFThat's a lot of antelopes.15:20
JayFI hope I don't run into that 1/10th of an Antelope. Sounds horrible.15:20
rpittau\o/15:20
rpittau"release the Antelope"15:21
prometheanfiredtantsur: was able to get a backtrace into a paste (getting logs is a fun process from this env)  https://paste.openstack.org/show/819263/15:22
dtantsurprometheanfire: this is coming from somewhere inside ironic, I suspect15:22
dtantsurironic/conductor/deployments.py to be even more specific15:23
prometheanfireok, will look at the conductor logs more closely15:23
prometheanfiredtantsur: is the logs from the contuctor https://paste.openstack.org/show/819264/15:25
prometheanfireI did duplicate the radosgw service name'd endpoint to a swift named endpoint just in case too15:26
dtantsurprometheanfire: the [swift] section is misconfigured, it's one step before the catalog is even accessed15:27
prometheanfireok, ya that section is empty, time to look at why that is in OSA15:27
prometheanfirehmm, it's always empty...15:28
prometheanfireyou sure it's not the glance section?15:29
TheJuliaI'm thinking the swift section as well15:37
TheJuliawell...15:37
TheJuliaI *believe* tempurls get generated without talking to swift though15:38
JayFYou need the external url to swift to generate those urls, yeah?15:38
JayFAnd the err isn't connecting to swift; it's about finding the endpoint yeah?15:39
TheJuliahttps://github.com/openstack/ironic/blob/master/ironic/common/glance_service/image_service.py#L29915:39
TheJuliaindeed15:39
JayFbingo :D I thoguht so15:39
JayFI actually remember that code lol15:39
JayFpart of the giant terrible agent driver PR of 2014 lol 15:39
prometheanfirelol15:40
TheJuliaheh15:40
prometheanfirehence why I linked to that about hardcoding swift there yesterday15:40
dtantsurI actually suspect we misinterpreted that15:41
dtantsurit's not hardcoding a name from the catalog, it's just referring to [swift] in ironic.conf15:41
* TheJulia ponders for a minute15:41
prometheanfireoh15:41
TheJuliadtantsur++15:41
prometheanfirenow it's making more sense15:41
TheJuliathe underlying issue is it can't figure out the endpoint because you *can* have ceph registered as swift in the service catalog15:41
TheJuliaor at least, as dmitry put it, reference in the config15:42
prometheanfirethe swift section of my config is empty, let me fix that first :P15:42
TheJuliaonce the swift client is launched, then we generate the tempurl, we don't actually talk to swift for that if memory serves15:42
dtantsuryeah, I don't think it involves talking to swift15:43
TheJuliaYeah, it just needs to know the URL for the api service to generate the url15:45
rpittaugood night! o/16:53
opendevreviewVerification of a change to openstack/ironic master failed: Use main branch of metal3-dev-env to run metal3 integration job  https://review.opendev.org/c/openstack/ironic/+/87760017:16
JayFrpittau: TheJulia: for purposes of the OpenInfra live tomorrw, what's a ballpark on how much we improved port/portgroup listing last cycle?18:47
TheJuliahjensas: ^18:47
TheJuliaheh, the benchmark is broken18:49
TheJuliaagain18:49
TheJulia20k nodes from the database in 1.2 seconds, not bad18:49
opendevreviewJulia Kreger proposed openstack/ironic master: [CI] Fix port list benchmark  https://review.opendev.org/c/openstack/ironic/+/87824518:52
TheJuliaI think we were averaging a couple hundred a second previously, ^ should tell us18:52
JayF20k in 1.2 vs 200 in 1.2 is a 100x increase. That's stunning.18:54
TheJuliano18:54
TheJuliajust from the db level18:54
TheJuliathat excludes object18:54
TheJuliathe couple hundred was post object api code returning18:55
TheJuliathat test was broken by the shards support18:55
JayFaha18:55
TheJulias/test/benchmark/18:55
JayFthat makes more sense18:55
JayFwait, what? how?18:55
JayFoh, that makes sense heh18:55
TheJuliainsertion of a required argument in the middle of hte list18:55
JayFbenchmarks use internal APIs, that makes sense18:56
TheJuliaits a private method18:56
TheJuliayup18:56
JayFyou had me worried I API-broke a thing lol18:56
TheJuliaoh, sorry18:56
TheJuliaso we should have an idea in a little bit18:56
JayFOK; I have until EOD for these slides. I didn't put it off until the last minute <.< >.>18:56
JayFYou think it's safe to say Ironic RBAC support is done, with service user added?18:57
JayFs/user/role/18:57
TheJuliawe don't have a bunch of testing in our tempest plugin, but that might be okay until we remove the legacy policy support at some point18:58
TheJuliaI think we have the needful "use this credential" logic18:58
JayFI'll say we're done with feature support for it18:58
JayFwe're always improving testing :)18:58
TheJuliayeah, unless something else drops that we find we need to do, I feel done with it18:59
TheJulia... which is also why I feel good about giving a talk on the subject18:59
TheJulia:)18:59
opendevreviewVerification of a change to openstack/ironic master failed: Enables boot modes switching with Anaconda deploy for ilo driver  https://review.opendev.org/c/openstack/ironic/+/86082119:05
JayFTheJulia: RFR slides 18-22 here https://docs.google.com/presentation/d/1KFZ2qzkAyJYG3qiVeuy4vKd1NFQzK6tkHBX2929_OFg/edit#slide=id.g222764c32b6_4_2219:32
JayFother than the clearly marked TODO, anything I missed or am misstating?19:32
* TheJulia suspects her intertubes are full of sleeping lolcats19:34
TheJuliagrrrrrr19:37
opendevreviewJulia Kreger proposed openstack/ironic master: DNM change to trigger benchmark job  https://review.opendev.org/c/openstack/ironic/+/87824919:38
TheJuliaand finally running19:43
TheJuliaJayF: is the commit count just ironic the repo itself, or everything under ironic's governance19:46
JayFeverything under ironic governance 19:46
JayFaccording to stackalytics19:46
JayFI'll make a note to mention that specifically when presenting19:47
TheJuliak19:47
JayF23 packages, wow19:47
* TheJulia watches bifrost spin on the benchmark job19:48
* JayF adds the number of packages19:48
TheJulia"Ironic is not a small project, it is a very BIG project"19:50
JayFthat's the idea I try to get across to almost everyone I talk to19:50
JayFyou use metal3? Thanks for using Ironic.19:50
JayFYou run $newShinyBMTool? Let me tell you about the awesome CI tools we maintain to help19:50
TheJuliacan we have an AI generate us a strongbad email style video talking about how ironic is a very BIG project!?19:50
JayFbe careful what you wish for19:51
* TheJulia waits with anticipation19:51
JayF> /imagine pixie boots, the openstack ironic mascot in a lucha style wrestling match with Strong Bad from Homestarrunner.com19:52
JayFthis is not going to work, but I had to try. Don't let me down MidJourney!19:52
* TheJulia is curious what it comes back with19:52
JayF4 cartoon scenes that look like something from space ghost coast to coast19:53
JayFhttps://cdn.discordapp.com/attachments/306957680734371840/1088188632726241421/grid_0.webp19:53
TheJuliaoh my...19:54
JayFit's easy to create whimsy, it's hard to create something specific and silly19:54
JayFTheJulia: so I take lack of further comment/feedback as a +1 to those update slides?19:59
TheJuliaJayF: yeah, no other comments20:09
TheJuliaJayF: well, aside from the mascot one20:10
JayFTheJulia: ...where can I get that image?20:10
JayFI picked the one I did because it's on our wiki page, ez to find and use20:11
TheJuliahttps://www.openstack.org/project-mascots/20:11
JayFhttps://www.openstack.org/project-mascots/20:11
JayFTheJulia: added a small grey drop shadow so the drumsticks pop too20:13
TheJuliacool cool20:13
TheJuliaThat works20:13
TheJuliaJayF:  Took 7.773931264877319 seconds to return all 20000 ports via ports API call pattern20:20
zigoFYI, ironic-python-agent just entered Debian Unstable.20:21
TheJuliazigo: anything we need to be on the eye out for?20:21
TheJuliaor remedy?20:21
zigoI was wondering: is it ok to just boot a debian-live system over PXE with that package installed, instead of the kernel + ramdisk made with dib ?20:22
zigoI've put all what I saw in the dib elements directly on that package... :P20:22
TheJuliai mean... if the debian-live system knows to start the ramdisk, I wouldn't see why not20:22
TheJuliawe do expect dhcp address acqusition to occur outside of the agent running though20:23
zigoTheJulia: What I did with https://salsa.debian.org/openstack-team/debian/openstack-cluster-installer was using a custom debian-live image built with live-build.20:24
zigoIt's the standard Debian kernel + ramdisk, with a script in the ramdisk that fetches a squashfs over HTTP, which is much nicer and faster than a 400 GB ramdisk...20:24
zigoI'm planning to do the same with Ironic.20:25
JayFThat is similar-ish to things I've done in the past downstream with IPA; but I will say that would not work quite as well these days20:25
TheJulia400MB, not GB right?20:25
JayFoperators can choose different ramdisks to boot per server20:26
zigoTheJulia: I'm currently writing https://salsa.debian.org/openstack-team/debian/supply20:26
zigoYeah 400 MB, sorry.20:26
JayFso I'd wonder how you'd communicate the info through -- just hardcode squashfs urls into the ramdisk?20:26
JayFbut there's no OS requirement; just that IPA is running, the node is up with an address, and that's it20:26
zigoJayF: live-build use the same technique as IPA, it reads the kernel command line.20:26
JayFIPA doesn't use kernel command line to dictate what image20:26
zigoThat's how it knows where's the squashfs to wget.20:27
JayFthe image is the image20:27
TheJuliazigo: ahh, okay. That makes sense and sort of as JayF was saying, I've heard people do. Pretty much anything to avoid tftping large amounts of data which is why many prefer ipxe20:27
JayFIPA just uses kernel command line for some configuration items20:27
JayFzigo: one thing is: do not assume actual-internet access from an IPA ramdisk running on a server.20:27
zigoYeah, tftp / udp is bad...20:27
zigoJayF: My OpenStack installer also works completely offline.20:28
zigoSo no worries.20:28
JayFzigo: also; traditionally I was extremely -1 to ipa being packaged for general `apt-get install ironic-python-agent` because it seems like a bad idea to let someone install, on their system, a daemon designed to erase it :)20:28
zigoThe only thing you need is access to a Debian repo ... :P20:28
JayFSo I'm extremely onboard to help you figure out + troubleshoot a debian-based image using debian methods20:28
zigo(we run a double-server mirror...)20:28
JayFI'm extremely skeptical about that package entering the general debian package repos20:28
TheJuliaat least the agent won't do anything if it can't talk to an ironic20:29
JayFI guess we did remove --standalone which lowers the risk somewhat20:29
zigoJayF: As I told you, my IPA package just entered Debian today... :)20:29
JayFyeah that's why I'm :(-ing about it at you :D 20:29
zigoSo that's my 508'th OpenStack package in Debian... :P20:30
TheJuliaJayF: the agent has to also lookup itself for that part of the service to even start the api which then requires a token now20:31
opendevreviewJulia Kreger proposed openstack/ironic-specs master: WIP: cross-conductor rpc  https://review.opendev.org/c/openstack/ironic-specs/+/87366220:31
JayFTheJulia: yeah but when standalone existed, all those requirements were gone20:33
TheJuliayup20:33
JayFTheJulia: I forget we pulled it out (I think *I* pulled it out actually, making this double-sad)20:33
TheJuliawould cookies help?!20:33
JayFprobably reduction in my consumption of cookies would help lol20:36
TheJuliaheh20:39
* TheJulia suddenly wants cookies20:39
JayF> Took 7.773931264877319 seconds to return all 20000 ports via ports API call pattern.20:39
* TheJulia instead thinks checking on current benchy is needed20:40
JayFfrom the CI job20:40
TheJuliayup20:40
JayFnow I need to find an old one?20:40
JayFno, those logs will be gone20:40
TheJuliaI was just going to say20:40
JayFdo you remember roughtly results of old benchmark?20:40
TheJuliaI think it was ~200, if you go back to the original change, I think hjensas left comments in the gerrit history20:40
TheJuliait might have been 250/second,  but it was definitely not great20:41
JayF> Took 147.8800814151764 seconds to return all 20000 ports via ports API call pattern.20:42
JayFWOOF20:42
JayFhttps://paste.opendev.org/show/boW6bFAIxuh4bMcYsvse/20:42
JayFso a 20x improvement in port list API returns is probably safe to claim?20:42
JayFthat's very safe, based on that benchmark from just the one change20:43
TheJuliayeah20:43
opendevreviewMerged openstack/ironic master: [CI] Fix port list benchmark  https://review.opendev.org/c/openstack/ironic/+/87824521:12

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