Thursday, 2023-03-30

TheJuliayeah hold + hold states shoudl be super easy00:28
TheJuliaalthough... testtools.matchers._impl.MismatchError: 'clean hold' != 'available'00:32
TheJuliabut it is likely the test itself00:32
arne_wiebalckGood morning, Ironic!07:13
rpittaugood morning ironic! o/07:24
opendevreviewMohammed Boukhalfa proposed openstack/sushy-tools master: Add fake_ipa inspection, lookup and heartbeater to fake system  https://review.opendev.org/c/openstack/sushy-tools/+/87536609:38
kaloyankhello ironic o/10:13
iurygregorymorning Ironic11:05
opendevreviewDmitry Tantsur proposed openstack/ironic-python-agent master: Trivial: formatting issue in the inventory docs  https://review.opendev.org/c/openstack/ironic-python-agent/+/87904011:34
*** sean-k-mooney1 is now known as sean-k-mooney11:40
opendevreviewMerged openstack/ironic-python-agent master: Trivial: formatting issue in the inventory docs  https://review.opendev.org/c/openstack/ironic-python-agent/+/87904011:52
dtantsurthat was quick :)12:21
iurygregorywell, very trivial fix XD12:45
iurygregoryjust had to check the output =)12:46
opendevreviewDmitry Tantsur proposed openstack/ironic-python-agent master: Report system firmware information in the inventory  https://review.opendev.org/c/openstack/ironic-python-agent/+/87904913:50
* iurygregory looks13:54
TheJuliagood morning13:58
dtantsuris it actually good today? :)14:04
TheJulia... I think so14:04
TheJuliaI have hold steps like half written14:05
TheJuliaand for the fun of it I'll likely do sleep steps next14:05
dtantsurnice!14:09
TheJuliait feels slightly hacky in a sense, through use of reserved step names14:12
TheJuliabut I think that is what we would have built consensus on anyway14:12
TheJuliaand making a general handler to do that sort of stuff, so we can bolt on to it easily14:12
iurygregorynice14:18
iurygregorygood morning TheJulia 14:18
* TheJulia goes and finds cold meds again because sleep without them was okay, sitting up is not14:19
iurygregoryI would go back to bed 14:19
TheJuliaeh, the corgi captures my side of the bed when I get up14:20
iurygregoryops .-.14:21
* TheJulia wonders how we're ending up in the -ing state now14:21
JayFhttps://review.opendev.org/c/openstack/sushy-tools/+/869379/3#message-88060d8aca36c337cddb1ada3a18dceb790766ce14:23
JayFtl;dr: someone is using sushy-tools to provision VMs with MAAS.14:23
dtantsurfun14:23
JayFthe irony is strong :) 14:24
* TheJulia feels like we need a pixie boots in a cloke with an "the irony is strong with this one" text14:32
iurygregoryomg14:44
kaloyankTheJulia: do you think you´ll be able to spare some time writting down the IPA comms change today?14:44
kaloyankI can help14:44
TheJulia... I wasn't thinking of doing that, but I can likely make an hour or two in a few hours14:45
JayFDid we decide what changes exactly to make?14:46
JayFI thought there was still some research to happen14:46
TheJuliawell, I was thinking we could do said research then, maybe14:48
JayFI will not doubt your ability to rapidly figure things out :D 14:48
* TheJulia grumbles about how painful writing clean step tests can be14:49
* TheJulia suspects she is experiencing zane's same complaint with unit tests14:52
JayFBTW; the answer from releases team re: the question in PTG: independent releases can create branches; release teams tooling cannot release from those branches (meaning you'd have to manually release)14:56
JayFI think our decision to keep the sushy status quo is the correct one14:56
* TheJulia raises an eyebrow14:57
JayF(the intersection of 'need to manually release' and 'pypi maintainer cleanup' is not one I'd like to navigate)14:59
TheJuliamuahhaha unhold works15:01
kaloyank\m/15:02
dtantsurJayF: the maintainer cleanup does not influence that15:09
dtantsurmanual tagging for opendev projects works by pushing a tag to gerrit15:09
dtantsurthen the infra automation takes care of it15:09
dtantsur(it works this way even for projects outside of the governance)15:09
JayFack; good to know15:09
JayFso we'd have to manually tag but pypi is magic15:09
dtantsur(I'm not advocating for the independent model, just clarifying)15:09
JayFI'm going to write up a doc for our call-for-contributors for ARM support for here -> https://governance.openstack.org/tc/reference/upstream-investment-opportunities/15:12
dtantsurgreat idea15:12
JayFapparently we have some folks coming in via foundation who are looking for ways to help, that'll be the way to get it surfaced to them15:12
JayFeh, it's not my idea just stolen from the tc ptg topic ;) 15:13
dtantsurI did not say it's your idea, I said it's a great idea!15:13
dtantsurjk :D15:13
JayFthe silly assumed nuances of the english language15:13
JayFI am amazed that it never occurred to me that the attribution in "great idea" is 1000% implied15:14
dtantsurno languages I know follow "explicit is better than implicit"15:14
clarkbdtantsur: and the release automation pushes tags to trigger the automation too. Under the hood the implementation should be basiclly identical post tag push15:17
dtantsuryep15:19
opendevreviewIury Gregory Melo Ferreira proposed openstack/ironic-specs master: Firmware Interface  https://review.opendev.org/c/openstack/ironic-specs/+/87850515:33
iurygregoryready for reviews o/15:33
rpittaugood night! o/15:54
opendevreviewJulia Kreger proposed openstack/ironic master: WIP: Add hold steps  https://review.opendev.org/c/openstack/ironic/+/87906016:18
opendevreviewJulia Kreger proposed openstack/ironic master: WIP: Add sleep step  https://review.opendev.org/c/openstack/ironic/+/87906116:18
TheJuliaka-boom16:18
* TheJulia is actually curious how the state machine graph will change16:20
opendevreviewKaifeng Wang proposed openstack/ironic master: Remove instance image after deployment  https://review.opendev.org/c/openstack/ironic/+/87868016:26
iurygregorywow Kaifeng patch \o/16:33
TheJuliakaloyank: so... call flow. hmmm17:03
kaloyankyou said there are some things left to research, shall we start from there or you have something else in mind?17:04
JayFhttps://governance.openstack.org/tc/goals/selected/migrate-to-privsep.html we gotta do this still :/17:05
TheJuliakaloyank: maybe a starting point is to reach shared context17:20
TheJuliakaloyank: have you reviewed the original specification document on one way ipa communication?17:21
kaloyankyes17:26
TheJuliakaloyank: did you, by change, leave any thoughts or percpetions on it?17:46
kaloyankI haven´t commented on the spec. My overall impression is that it looks simpler to use and to support from an operators´ standpoint of view17:57
TheJuliasimpler communication flow, more complicated process logic18:01
kaloyankcan you elaborate a bit how does it get more complicated? I presume you´re referring to the fact that the conductor will have to track which steps are completed?18:03
TheJuliatoday, when we have a heartbeat, we connect out to the agent and check on it's status18:04
TheJuliainstead, we'll need to be told, and then act upon that along with cache and process everything we would have just asked for18:04
opendevreviewJulia Kreger proposed openstack/ironic-specs master: Framework for DPU management/orchustration  https://review.opendev.org/c/openstack/ironic-specs/+/87418918:12
sean-k-mooneyJayF:  os as an aside if we were going to do breaking change once a year i would actully prefer ot only do breaking changes in teh non slurp release and only do deprecations in the slurp18:18
sean-k-mooneyrahter then avoiding removing code in the non slurps18:19
sean-k-mooneythat way when you finish an upgrade to a slurp release. you read the deprecations in that release and know thos are the things you need to sop using before the next slup upgrade18:21
JayFWe don't deprecate a lot of stuff in Ironic, and tend to let it sit for more than the minimum number of cycles18:23
sean-k-mooneysame18:23
sean-k-mooneyits acully 3-4 cycles in most cases18:24
JayFso regardless of what I argued for TC policy, we might just by accident implement the only-deprecate-things-on-slurp and make life easier18:24
sean-k-mooneyi just want to do some cleanup this cycle18:24
JayFbut I don't like when those kinda decisions are made at TC level; I prefer TC outline the outcome and let projects figure out how to get there18:24
JayFI'll curate release notes if I have to, or we'll just punt on deprecations in SLURP-1 :) 18:24
JayFlots of ways to do it :D18:24
TheJuliathe key is always the outcome, the exact how to get there is situational18:25
sean-k-mooneyya so we annoched oru next min version of libvirt/qemu in wallaby and i ment to push to get this bumped in antelope18:25
sean-k-mooneybut when we went to do it in january the gate exploded18:25
sean-k-mooneyso i dont want to punt again18:25
JayFWhat does new libvirt get you all?18:26
sean-k-mooneywe can remove conditional code that makes feautre work only on relase that meet that version18:27
sean-k-mooneyand avoid adding more of that code18:27
JayFah, so you opportunisitcally get the new features already18:27
sean-k-mooneyyep18:27
JayFyeah that's all good to get the old compat code reduced then18:27
sean-k-mooneyrealisticaly we are also not testign that old libvirt version18:27
sean-k-mooneywe test what we get form ubuntu and ocationally centos18:27
sean-k-mooneyhttps://docs.openstack.org/nova/latest/reference/libvirt-distro-support-matrix.html#os-distribution-versions18:28
sean-k-mooneyso our current min qemu i 4.218:28
sean-k-mooneycentos 8 ships 5.218:28
sean-k-mooneyso tecnically we still supprot the qemu in ubuntu 20.04 or rhel 8.218:29
kaloyankTheJulia: I see. And the concerns are that the conductor code will be more complex, ergo harder to maintain?18:30
sean-k-mooneyanyway enjoy the rest of your evening o/18:30
JayFo/18:31
TheJuliakaloyank: well, the fun thing is we would have to continue to support the old mode for some period of time18:37
TheJuliawhich means the transition and all actions need to be evaluated18:37
JayFCross post for a review: https://review.opendev.org/c/openstack/governance/+/879080 Add Contibution Opportunity: Ironic ARM support18:59
kaloyankTheJulia: yes, I assumed dual comms should be supported for some time19:08
kaloyankdo you have any ideas regading supporting both ways ?19:09
TheJuliakaloyank: I *think* we would need to basically buffer data/commands back and forth20:20
TheJulia... but not on the node object if we can avoid it20:20
kaloyanka table in the database? MySQL is not my strength but afaik you can use it like a cache20:22
JayFTheJulia: I wonder if making `steps` a fully formed column would make this much easier to deal with in the Node object... if you're going to have to cache some stuff, putting it in a separate field is 1000x better than driver_info20:23
JayFI'm trying to think if there would be a way to normalize steps into it's own DB table, but that is likely overengineered given the freeform nature of that api20:23
TheJuliayeah, data design is not as important at the moment, but I guess conceptually if the interchange would work with everything on heartbeat across an intermediate flow20:24
TheJuliaI'm personally shy from putting more columns on node from the standpoint of iterations to return any piece of data, but I made as much of that as smart as minimialistic as possible to help the user experience anyway20:25
TheJuliaas such, I should just shrug20:25
TheJulia:)20:25
JayFthat's more or less how I implemented heartbeat-only downstream20:26
JayFon heartbeat, still trigger everything, but I subclassed agent client to instead just abuse node.something to populate what the response would've been20:27
JayFso on the next heartbeat, there'd be a response pending, and we'd put that reponse into the payload we sent to the agent in response to heartbeat20:27
JayFand then just extracted it and fed it to the same existing codeflows in IPA20:27
TheJuliaso basically we would have to unwind agent_client.py logic as well20:28
JayFthis had major downsides, mainly: 1) your total length of steps is limited by the size of the DB column and 2) every command required two heartbeats to succeed (hb1 causes conductor to queue response; hb2 actually recieves and acts on response)20:28
JayFthere are almost certainly better ways to structure this, but I was unable to find one at the time20:28
TheJuliayeah, I was thinking the #2 item unless we could stack up multiple commands by node20:28
JayFthe second downside was primarily because I didn't wanna to make heartbeats sync20:29
JayFbecause that has a seismic impact on the codebase20:29
TheJuliabut then the interchange might still delay things20:29
JayFI was thinking if I did it upstream; I might introduce /heartbeat/sync or similar20:29
JayFwhich would be a different endpoint that IPA would stay connected to while conductor formulated and fed it a response20:29
JayFbut given I was just able to clobber existing behavior, and the "two hbs per action" downside wasn't impactful to the requirements in that environment, I didn't go that far20:30
opendevreviewJulia Kreger proposed openstack/ironic master: WIP: Add hold steps  https://review.opendev.org/c/openstack/ironic/+/87906022:07
opendevreviewJulia Kreger proposed openstack/ironic master: Enable vendor interfaces to be called as steps  https://review.opendev.org/c/openstack/ironic/+/87908922:07

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