Tuesday, 2025-02-25

opendevreviewcid proposed openstack/ironic master: Follow-up: Apply Inspection Rules  https://review.opendev.org/c/openstack/ironic/+/94211200:19
opendevreviewcid proposed openstack/ironic master: API/Testing: Inspection rules migration  https://review.opendev.org/c/openstack/ironic/+/93921700:19
opendevreviewcid proposed openstack/ironic master: Include all relevant error messages in exception  https://review.opendev.org/c/openstack/ironic/+/94266400:31
opendevreviewDoug Goldstein proposed openstack/ironic master: fix glance metadata layout  https://review.opendev.org/c/openstack/ironic/+/94249600:35
cardoeJayF: now with a release note :)00:35
opendevreviewSatoshi Shirosaka proposed openstack/ironic master: Add extra log to is_image_available  https://review.opendev.org/c/openstack/ironic/+/94264101:16
opendevreviewJulia Kreger proposed openstack/ironic master: WIP: hooking in an external network simulator  https://review.opendev.org/c/openstack/ironic/+/94229801:18
TheJuliahjensas: ^, getting there :)01:19
opendevreviewSatoshi Shirosaka proposed openstack/ironic master: Add extra log to is_image_available  https://review.opendev.org/c/openstack/ironic/+/94264101:31
TheJuliastevebaker[m]: can https://review.opendev.org/c/openstack/ironic/+/942647 be based off of master branch?01:31
stevebaker[m]TheJulia: yeah it is very standalone. Would provisioning test nodes via nova even work without that fix?01:34
TheJuliatraits are optional01:34
opendevreviewSteve Baker proposed openstack/ironic master: Fix default IRONIC_DEFAULT_TRAITS setting  https://review.opendev.org/c/openstack/ironic/+/94264701:37
stevebaker[m]: and :- seem to behave the same, huh01:43
stevebaker[m]- and :- I mean01:43
TheJulia... interesting01:52
opendevreviewSteve Baker proposed openstack/ironic master: Add systemd provider for console containers  https://review.opendev.org/c/openstack/ironic/+/94161403:47
opendevreviewSteve Baker proposed openstack/ironic master: Implement drivers redfish-graphical, fake-graphical  https://review.opendev.org/c/openstack/ironic/+/94161503:47
opendevreviewSteve Baker proposed openstack/ironic master: Add vnc-container image build  https://review.opendev.org/c/openstack/ironic/+/94201703:47
opendevreviewSteve Baker proposed openstack/ironic master: Implement graphical console read-only support  https://review.opendev.org/c/openstack/ironic/+/94230003:47
cardoeDang it. I put in a release note and it fails vmedia.04:05
opendevreviewVasyl Saienko proposed openstack/ironic master: Enable trunk plugin for tinyipa-multinode  https://review.opendev.org/c/openstack/ironic/+/94102307:58
rpittaugood morning ironic! o/08:09
dtantsur/opt/ironic-python-agent/bin/python3 -m oslo_concurrency.prlimit --as=2147483648 -- ['env', 'LC_ALL=C', 'LANG=C', 'qemu-img', 'info', '/tmp/cirros-0.6.2-x86_64-disk.img', '--output=json']13:18
dtantsurIs this an actual sane way to use prlimit? ^^^13:18
dtantsurmeanwhile, if anyone has cycles, could you help the SDK team make the ironic job voting again? https://review.opendev.org/c/openstack/openstacksdk/+/94262513:19
dtantsurre prlimit: the right way seems to be with spaces not as a Python list...13:20
dtantsurpython3 -m oslo_concurrency.prlimit --as=2147483648 -- env LC_ALL=C LANG=C qemu-img info /tmp/cirros-0.6.2-x86_64-disk.img --output=json13:20
dtantsurJeeeesssssuuuuus, okay, I got it, patch incoming13:23
opendevreviewDmitry Tantsur proposed openstack/ironic-python-agent master: Fix the way qemu-img is called with prlimits  https://review.opendev.org/c/openstack/ironic-python-agent/+/94269013:27
dtantsurJayF: I have no explanation why our CI does not fail because of ^^13:28
dtantsurI also have no explanation why the Metal3 CI uses to pass with older Ironic and only hit this when we tried to remove the pin13:29
JayFdtantsur: oslo library changed perhaps?13:43
dtantsurI don't see any changes recently..13:43
JayFEspecially if a new version isn't in uc13:44
dtantsurI wonder if this qemu-img call is actually rarely hit13:44
dtantsure.g. because we convert to raw in devstack13:44
JayFThat is probably exactly what's happening. The original version of this back ported fix broke my downstream because they don't force raw13:44
dtantsurRight..13:47
JayFdtantsur: also perhaps a subtle change in behavior between the ir-lib execute and the one in IPA?13:48
dtantsurCould be as well?13:48
dtantsurIn any case, now I have one more reason to try running the metal3 e2e tests in the Ironic CI13:48
JayFI'm going to +2 this from mobile but I'll also make a point to take your work later and see if the same syntax exists in IPA that needs fixing13:49
dtantsurThis is IPA (which is also puzzling: we're unpinning Ironic, not IPA)13:50
JayFIn which case I would check logs to see if something is being converted now that wasn't before13:54
TheJuliagood morning14:09
opendevreviewHarald Jensås proposed openstack/ironic master: devstack bindep - [platform:rpm]  https://review.opendev.org/c/openstack/ironic/+/89381314:10
TheJuliait feels like there is a smoldering pit where our CI should be14:28
TheJuliahjensas: any thoughts on maybe considering making the ipv6 job non-voting for a little while, in order to try and sort through some of the issues:14:33
TheJuliaSee: https://storage.gra.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_3da/942633/1/check/ironic-tempest-ovn-uefi-ipxe-ipv6/3dabc21/controller/logs/ironic-bm-logs/node-1_console_2025-02-24-19%3A24%3A09_log.txt and 14:33
TheJuliahttps://storage.gra.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_3da/942633/1/check/ironic-tempest-ovn-uefi-ipxe-ipv6/3dabc21/controller/logs/ironic-bm-logs/node-1_console_2025-02-24-19%3A08%3A26_log.txt14:33
TheJuliaand I just spotted a job now failing because of the image format inspector14:36
TheJuliahttps://www.irccloud.com/pastebin/8DE5UCbK/14:36
opendevreviewcid proposed openstack/ironic master: Make port binding failure (configurably) fatal  https://review.opendev.org/c/openstack/ironic/+/69995314:37
TheJulianew oslo.utils on feb2114:42
TheJulialooks like glance has changes landing which is why this is happening14:45
hjensasTheJulia: if it is giving us a headache, I'm fine putting it non-voting.14:49
TheJuliaglance changes may have torpedoed us anyhow14:50
TheJuliaYeah, we have multiple jobs failing presently in the last few days uploading artifacts to glance14:54
TheJuliaI think our CI is dead.14:54
opendevreviewHarald Jensås proposed openstack/ironic master: Set ovn-uefi-ipv6-job non voting  https://review.opendev.org/c/openstack/ironic/+/94270214:56
hjensasso, if that is particularly br0ken on the ipv6 job ^14:57
TheJuliamultiple jobs since a change in glance merged on the 21st to switch to the oslo.utils image format inspector15:00
TheJuliawhich includes "if it looks like mbr" block it15:00
TheJulialogic :(15:00
jssfr(also gpt?)15:02
TheJuliathat too15:04
TheJuliaalthough, there is a patch in flight to permit that case15:04
TheJuliahttps://review.opendev.org/c/openstack/glance/+/93972715:04
opendevreviewJulia Kreger proposed openstack/ironic master: DNM/Test glance gpt image format inspector fix pending merger  https://review.opendev.org/c/openstack/ironic/+/94270315:09
TheJuliaThat likely won't do anything15:17
TheJuliaDan is working on re-spinning an updated version or making a default change in another patch15:18
vsaienkoTheJulia, dtantsur I have a feeling that multinode jobs are totally broken in ironic at least they can't pass on any of patches for a week or more. Maybe you know where that playbook that setup connectivity between multinodes is located?15:24
TheJuliavsaienko: there are other breaking changes which have merged, so CI is toasty at the moment15:25
TheJuliavsaienko: the base vxlan tunnel setup should be in zuul definitions, but we have br-infra tunnel setup in our plugin15:25
* dtantsur does not remember the multinode job well15:26
TheJuliathat tunnel setup, if memory serves, duplicates what the zuul multinode default ends up being15:26
vsaienkobr-infra is used for floating network right? I remember that in devstack-gate time we had dedicated vxlan for ironic purposes only15:27
TheJuliavsaienko: two things happened, when devstack-gate was gotten rid of, zuul created one for multi-node allocations (if my memory is correct) and ironic duplicated the setup in bash just in case for our multinode job. Given the state of CI your likely not going to get past glance at the moment.15:28
TheJuliaor to be more precise, our plugin starting uploads into glance15:28
TheJuliabr-infra is for general purpose usage15:28
TheJuliaa shared common network since nodes can be in disjointed15:29
jamesdenton__good morning. does anyone know offhand if the neutron network_interface is required for proper port group functionality? 15:45
jamesdenton__neutron vs flat, that is.15:45
opendevreviewSatoshi Shirosaka proposed openstack/ironic master: Add extra log to is_image_available  https://review.opendev.org/c/openstack/ironic/+/94264115:46
dtantsurcid: so, the copying is because of _mask_sensitive_data in apply_rules15:54
dtantsurwhich makes sense. but it also means we cannot just assign the plugin_data from rules to the initial plugin_data: it will overwrite any masked information15:55
* dtantsur scratches his head15:56
cidThat makes a lot of sense.15:57
ciddtantsur: When would an operator/user want to modify the plugin_data? I'm thinking if we could add a check to make sure that action runs last15:58
dtantsurI don't know, to be honest. Maybe we can take these actions out for now and see if anyone complains?15:58
* cid replying to "we cannot just assign the plugin_data from rules15:58
dtantsurOtherwise, the most sane idea that comes to my mind is to wrap plugin_data into a dict-like object that respects the sensitivity setting when a key is read from it (but actually operates on the unmasked data)15:59
cidHmm. That's one way of doing it. So, only read output is masked but the engine can still access the unmasked data.16:02
* dtantsur nods16:02
cidOk great. 16:03
cidSounds like you are still looking at the rest, so I will let you and just update everything at once (?)16:04
dtantsurcid: I'm running out of time here again, so go ahead with the update, we'll discuss the rest16:11
dtantsurif you could throw in some unit tests, would be awesome16:11
dtantsurit's easier to review the complex logic when you see how it is used in practice16:11
opendevreviewJulia Kreger proposed openstack/ironic master: DNM/Test glance gpt image format inspector fix pending merger  https://review.opendev.org/c/openstack/ironic/+/94270316:12
ciddtantsur, Alright. I will get to it in a moment. Thanks!16:13
TheJuliajamesdenton__: so I don't know offhand, I think the answer is semi-yes, but flat is just a strucutral data model preference to pre-configured state16:13
jamesdenton__so the question is less about the end state and more about the setup of the neutron ports during the 'deploy' step. Seems like, in this instance, anyway, that the neutron port is not being created for the pxe-enabled baremetal port. Seems to work on clean, but not deploy. I am waiting for more info. 16:20
jamesdenton__wasn't sure if the neutron network_interface was required for port groups, in general. sounds like it's not16:21
jamesdenton__thank you :)16:21
opendevreviewJulia Kreger proposed openstack/ironic master: WIP: hooking in an external network simulator  https://review.opendev.org/c/openstack/ironic/+/94229816:43
rpittaugood night! o/17:03
opendevreviewVerification of a change to openstack/ironic-python-agent master failed: Fix the way qemu-img is called with prlimits  https://review.opendev.org/c/openstack/ironic-python-agent/+/94269017:35
JayFugh I didn't knoow CI was in hell before I approved that :(17:39
JayFAnyone used Ironic with AMI based megarac BMCs? Looks to be vaguely openbmc based https://www.ami.com/megarac/18:11
opendevreviewJulia Kreger proposed openstack/ironic master: WIP: hooking in an external network simulator  https://review.opendev.org/c/openstack/ironic/+/94229818:12
JayFTheJulia: is there any action ironic side on gate fixes? I just emerged from a morning of pairing18:12
JayFdtantsur: cid: Wasn't the canonical "modify plugin data" use case that lldp was two steps -> raw data that then gets parsed18:13
JayFdtantsur: cid: or did we get rid of that weird interaction when migrating inspector into ironic18:13
TheJuliaJayF: dansmith has a fix in https://review.opendev.org/c/openstack/glance/+/939727 which passes our CI as well :)18:13
* JayF gets out his bullhorn to find another core18:13
TheJuliaheh18:14
TheJuliagood, I've been heads down trying to work up switch simulation18:14
TheJulia#whatamicrazy18:14
TheJulia#juliamustbecrazy18:14
JayFif you need someone to quack at about any of that stuff please ask me :)18:14
JayFI know generic networking really well even if I don't ov* so much :D 18:14
TheJuliaJayF: not quack, honk!18:15
JayFI don't think I've ever seen a rubber goose.18:15
TheJuliaeh, plenty by the lake here18:16
JayFoh I'm really confused 18:16
TheJuliaheh18:16
TheJuliagood18:16
JayFthat glance patch looks like a big chain of patches18:16
TheJuliagoooood18:16
JayFnot just the one18:16
JayFhttps://review.opendev.org/c/openstack/glance/+/939727 is stacked under like, two unreviewed changes afaict18:16
TheJuliaugh yeah18:17
TheJulialet me get my local devstack re-spinning and I'll give it a spin18:17
TheJuliawell some reviewing18:17
opendevreviewVasyl Saienko proposed openstack/ironic master: Do not review debug multinode  https://review.opendev.org/c/openstack/ironic/+/94272519:17
opendevreviewVasyl Saienko proposed openstack/ironic master: Do not review debug multinode  https://review.opendev.org/c/openstack/ironic/+/94272519:19
JayFvsaienko: unless you Depends-on the 939727 ^^ glance patch that won't get far19:19
dansmithJayF: that's the wrong change, you want to depends-on https://review.opendev.org/c/openstack/glance/+/93924319:19
JayFack vsaienko ^ dan knows :) 19:19
dansmiththe one you referenced brings in a lot more change and isn't going to land this cycle due to lack of review19:20
JayFaha, makes sense; I was just looking at the patch julia had tested our ci against19:20
dansmithAFAIK, that test patch was against 243, not 72719:21
JayFyou are 100% right19:22
dansmithah, 727 at first, but that was a mistake19:22
vsaienkoJayF thanks, I will look on that19:23
rm_work[m]JayF: can you manually run a clean stage on a server that is actually... provisioned? like, emergency firmware updates, people have servers provisioned, can we be like "run just the firmware clean phase on these servers without taking them back"?19:28
JayFhttps://docs.openstack.org/ironic/latest/admin/servicing.html19:29
rm_work[m]reading, thanks19:29
JayFnp, that's literally the use case that feature was written for :D 19:29
rm_work[m]yeah looks good, need to check if we've set up this service network or if that's yet another thing to add to our list19:31
* TheJulia glares at the switch simulator vm19:53
stevebaker[m]good morning19:53
TheJuliagood morning19:59
cardoe /giphy winning20:21
cardoeassuming you guys let me break something that's not really documented20:21
cardoeBut ESXi installation works.20:21
cardoeor add a new field into the kickstart templating and actually document this one20:22
cardoehttps://opendev.org/openstack/ironic/src/commit/b44cce176fbb8c81c813304cd443d0f2c20ab6b2/ironic/common/kickstart_utils.py#L121 essentially rather than returning a string that's got a bunch of hardcoded shell bits. I've made a dictionary of the filenames as the key and the base64 contents. Then used a jinja snippet in the ks_cfg.template to have the same end result for the existing case.20:24
cardoeBut in the ESXi case, the jinja snippet can be different since the commands and the paths need to be slightly different.20:24
TheJulia#success cardoe got ESXi to install vi Ironic's anaconda deployment interface.20:39
opendevstatusTheJulia: Added success to Success page (https://wiki.openstack.org/wiki/Successes)20:39
* TheJulia laughs evilly20:40
cardoeha didn't know that existed.20:44
JayFHonestly it felt like a success for Adam (rm_work) to ask for a feature we had already written20:48
JayFI'm so used to people asking for stuff we haven't done yet :D20:48
rm_work[m]:P21:17
rm_work[m]it's been like a month and I haven't actually gotten to like... test anything yet, or even really start coding on the firmware stuff i'm trying to do, because I have been in the weeds with other stuff, currently trying to spin up ScrewDriver.cd ;)21:18
rm_work[m]wondering if maybe I should just set up Zuul instead lol21:18
rm_work[m]but I really like the screwdriver UI21:19
JayFI prefer a nice neon yellow shed myself /s 21:20
cardoeSo my glance image properties change I think results in a bunch more properties appearing on the instance_info22:00
cardoeCan someone with an instance built from glance peek at instance_info for me?22:01
cardoeLike basically a bunch of default glance properties are now appearing like "hw_cpu_sockets"22:03
cardoeI'm trying to write a test for the code basically.22:04
JayFHmm, that's very much not ideal22:15
cardoeIt seems like the behavior change around this is from https://opendev.org/openstack/ironic/commit/978afbd5a1bba71181c5a0a7cb3ebfb20132c43822:27
cardoeI don't really know how to proceed here. The shape of the object coming from glanceclient is different from the shape of the one coming from the SDK.22:29
JayFI don't know what the best answer is22:30
JayFbut I'll say "is not ideal" doesn't mean nack22:31
JayFtime for instance_image_info /s /s /s22:31
cardoeSo the issue is that the object from glanceclient only has setattr() called on it for fields that exist.22:35
JayFdoes this mean you could do something like22:35
cardoeWhile the SDK defines all possible things that are allowed to be set on an Image22:35
JayFfilter Nones out?22:35
JayFor something simliar?22:36
cardoeWell we copy any attribute not in our list to properties.22:36
cardoeAnd that's why you're getting all the junk.22:36
JayFI'm either not following you or you're not following me:22:37
JayF- glanceclient used to only return values that were set22:37
JayF- SDK returns an Image object with ALL THE FIELDS22:37
cardoeHave ya messed with dataclasses?22:37
JayF- This means we end up with properties[ALMOST_ALL_THE_FIELDS] -- but given staatement #1, it implies that many of them are nones22:37
cardoeYes. They are.22:37
JayFCan we filter nones at the point we copy things into the properties?22:38
JayFI'm suggesting, it might be an easy path to getting junk out22:38
JayFwith an obvious assumption that None is not a meaningful value for that Image object22:38
* JayF brb22:38
cardoeI can.22:39
cardoeI've gotta wonder however if that's the point of the code.22:40
cardoeCause we hardcode a list of "attributes" which become our top-level fields in our wrapper object.22:41
cardoeWe then copy everything else into the properties dictionary.22:41
cardoeWhich happened to be only things a user set on the image.22:41
cardoeCause I only see where we care about stuff the user has set.22:48
JayFyeah22:54
JayFfor your stuff though, you need the flexibility, right?22:54
JayFyou're using the fact we're copying * now to do your esxi?22:54
cardoeNo. Just what a human has set in properties.22:54
JayFoh, then you're probably right about why the existing code was there22:54
JayFalthough it's still a set of bad choices all around tbh22:55
cardoeI'm gonna do the None filter to be the minimal change for the backport and not interrupt any other behavior.22:55
cardoeI'm also gonna nuke FakeImage which is what the tests use. It generates a glanceclient shape.22:55
opendevreviewDoug Goldstein proposed openstack/ironic master: fix glance metadata layout  https://review.opendev.org/c/openstack/ironic/+/94249623:03
cardoeI think that's a safe backportable change.23:04
opendevreviewcid proposed openstack/ironic master: Follow-up: Apply Inspection Rules  https://review.opendev.org/c/openstack/ironic/+/94211223:05
opendevreviewcid proposed openstack/ironic master: API/Testing: Inspection rules migration  https://review.opendev.org/c/openstack/ironic/+/93921723:05
cardoeMy bigger change I believe is correct and ultimately less code. But it risks breaking any user of image_properties that relies on a field I'm not able to set in my local testing on the top-level of a Glance object and being copied into the nested dict.23:05
cardoeBasically I nuked ALL the translation functions and just pass the SDK Image object around natively.23:05
cardoeAnd I added type annotations and ran it through mypy.23:06
JayF🤩 https://review.opendev.org/c/openstack/ironic-python-agent-builder/+/94236923:47
JayFthis is awesome23:47

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