Wednesday, 2024-10-30

opendevreviewAdam McArthur proposed openstack/ironic master: Added missing fields in API Ref  https://review.opendev.org/c/openstack/ironic/+/93369906:04
dtantsurJayF: could be a gerrit UI hiccup? I"ll check today again08:55
*** srelf_ is now known as Continuity09:34
luca_hello, not sure if this is the right place for this question, sorry in advance if it's not. I installed and trying to make ironic work with kolla-ansible, i managed to start the inspection of a machine but i get an authorization error Access was denied to the following resource: baremetal:port:create, there is already a bug opened https://bugs.launchpad.net/kolla-ansible/+bug/2064655. I was wondering uf you have any hi10:23
luca_deprecated and i should use the agent, but as far as i understand kolla is not really supporting it. I tried adding system_scope=all to the ironic-inpector.conf, but this resulted in another error (Failed to start inspection: The baremetal-introspection service for 10.48.10.254:us-hou-01 exists but does not have any supported versions.), should i change the policy of ironic in order to have baremetal ports created by t10:23
dtantsurluca_: your message looks split in the middle11:52
dtantsurhttps://bugs.launchpad.net/kolla-ansible/+bug/2064655 seems like a bug in kolla indeed, I'd bring it to #openstack-kolla11:53
dtantsurThe last error you mention is probably because ironic-inspector failed to start with your configuration11:53
luca_yeah i realize this is a kolla bug, i will post in their channel, i was wondering what is the common way of configuring ironic-inspector user in order to have the authorization for creating baremetal ports12:04
dtantsurI'll defer to someone who understands RBAC better than me12:04
luca_thanks, i am also quite confused on the inner working of rbac :)12:05
jovialWith the new secure rbac policy changes? Is there a way to get the openstack CLI to not use a project scoped token? I want `openstack baremetal node list` to return all the nodes.12:07
dtantsurjovial: you need something like --os-system-scope=all12:07
jovialdtantsur, cheers - that did the trick when not using app creds. What are my options to do the same with app creds? I get: `Error authenticating with application credential: Application credentials cannot request a scope.`.12:11
dtantsurThat's a question for #openstack-keystone12:12
jovialack, I will ask in #openstack-keystone then - thanks.12:15
kukaczhi, I have an issue with metal3/BMO, but the core context is booting idrac-virtualmedia from a Dell server, so I hope it's OK to ask here12:45
dtantsurask away12:46
kukaczthe inspection is failing in the very beginning, on an iDRAC8 (fw 2.86.86.86) Dell PowerEdge R730. It's failing on some HTTP 500 error without further details. No issues visible in iDRAC logs, I can see virtualmedia mount operation completing succesfully there. This is the error message in BMO. How can I troubleshoot this, what might be wrong?12:46
kukaczthe message says: "Failed to inspect hardware. Reason: unable to start inspection: Redfish exception occurred." and "Errors: ['Manager 32 ││ 33484f-c0c4-3580-5710-00324c4c4544: HTTP POST https://<REMOVED>:443/redfish/v1/Managers/iDRAC.Embedded.1/Actions/Oem/EID_674_Manager.ImportSystemConfiguration returned code 503. unknown error Extended information: None']"12:47
dtantsuriurygregory: rings any bells? ^^^12:50
dtantsurI recall someone mentioning a failure in the same call, but I don't remember the outcome12:50
kukaczhmm, it's strange that on the server I can see media was succesfully mounted. then something triggering this 503 happens and it's followed by media being unmounted from BMC again12:51
iurygregoryI remember something similar... but it didn't mount the vmedia...12:51
iurygregoryI would try cleaning the idrac job queue 12:52
dtantsurkukacz: this call is telling iDRAC to boot from the mounted vmedai.12:53
shermanmI was about to suggest the same, I've seen 500 errors with other redfish calls when there are "stale" jobs in the bmc job queue12:53
iurygregorywondering if 2.86.86.86 is bugy ...12:53
kukacziurygregory, shermanm, thanks, I'll try cleaning that. can that be done from the DRAC web UI?12:54
iurygregorykukacz, it can12:54
kukaczfound it12:54
shermanmthere's also a racadm command: "racadm jobqueue delete -i JID_CLEARALL_FORCE"12:55
iurygregoryrandom thought... there was some changes in redfish (moving VirtualMedia from Manager to Systems), it could be that in the fw version Manager is deprecated and sushy-oem-idrac is doing a call that is not necessary? 12:58
dtantsuriurygregory: it's idrac 8, I highly suspect the call is still necessary12:59
kukaczcleaned the job queue (from web UI) and failed again. pasting here the full error, as last time I left out an important phrase "set virtual boot device"13:02
kukacz> Failed to inspect hardware. Reason: unable to start inspection: Redfish exception occurred. Error: In system 4c4c4544-0032-5710-8035-c4c04f483332 for node 3a927eb7-745c-4b54-8480-aa98ed7cdee6 all managers failed: set virtual boot device. Errors: ['Manager 3233484f-c0c4-3580-5710-00324c4c4544: HTTP POST https://10.1.16.61:443/redfish/v1/Managers/iDRAC.Embedded.1/Actions/Oem/EID_674_Manager.ImportSystemConfiguration returned 13:02
kukaczcode 503. unknown error Extended information: None']13:02
kukaczbtw. mentioning the move between Systems and Manager, I've configured the BMC address as "idrac-virtualmedia://<BMC_IP>:443/redfish/v1/Systems/System.Embedded.1"13:06
iurygregorydtantsur, agree13:08
kukaczone more thing to mention - the BMC account I'm using is Operator role, it's not a full Administrator13:09
kukacznot sure if that matters13:09
cardoecid: was it you messing with the port names?13:13
cidcardoe: reference?13:14
cardoein the API13:14
iurygregorykukacz, hummm maybe 13:14
cardoeI'm just scratching my head here about port names.13:14
cardoeI don't see them from the CLI even though I've set some.13:15
iurygregorynot sure since I never tested with operator role, dtantsur do you know?13:15
dtantsurkukacz: the role might matter13:15
cardoeAnd then I was surprised to find out they are globally unique instead of unique(node_uuid, port_name)13:15
cidcardoe: I made a change recently, but not to port names. 13:16
cardoeI was hoping you might have known if there was a reason. Not that you broke it.13:18
cidOh, got any logs. I could help you look13:19
kukaczdtantsur, iurygregory: ok, I'll order a change to administrator and see13:19
cardoecid: https://paste.opendev.org/show/bNaQju7oJiqCrw9W0YaI/ that's what I was seeing.13:21
*** jcosmao is now known as Guest795513:22
cardoeI was originally thinking of naming the ports along their system name but the column is unique(port_name) instead of unique(port_uuid, port_name)13:22
cardoeYou can see in the API the port name is coming back in the field.13:22
cidThat's how I would expect it to work too. 13:25
kukaczdtantsur, iurygregory: the role change did not help, same error13:30
dtantsurThen it's probably something to talk to Dell about13:31
iurygregoryyeah, it can be a firmware issue (I would check what versions are available)13:37
kukaczhmm, this is the latest firmware and since they marked iDRAC8 "End of Software Maintenance" I suspect there will be no more fixes13:43
kukaczcan I perhaps trick the procedure somehow, like setting the boot media manually, let it run inspection, unmount the media etc.?13:44
iurygregoryyou can try doing a downgrade in the firmware13:55
iurygregoryI would test if you can get a response without the error doing curl to see if the BMC changes the error message etc13:55
cidBased on the log, that looks right to me. cardoe13:58
opendevreviewcid proposed openstack/ironic master: Fix double JSON encoding of error message  https://review.opendev.org/c/openstack/ironic/+/93179513:59
opendevreviewcid proposed openstack/ironic master: Allow special characters in patch field keys  https://review.opendev.org/c/openstack/ironic/+/93374313:59
opendevreviewMerged openstack/tenks master: Use openstackdocstheme for release notes  https://review.opendev.org/c/openstack/tenks/+/93305914:10
opendevreviewcid proposed openstack/ironic master: Fix double JSON encoding of error message  https://review.opendev.org/c/openstack/ironic/+/93179514:13
dtantsurTheJulia: hey, have you put any thoughts into (a) non-keystone RBAC, (b) node name collisions with RBAC?14:36
dtantsursome future work may make me curious about (a)14:36
opendevreviewDoug Goldstein proposed openstack/python-ironicclient master: fix port name in Port resource  https://review.opendev.org/c/openstack/python-ironicclient/+/93374614:41
opendevreviewDoug Goldstein proposed openstack/python-ironicclient master: fix port name in Port resource  https://review.opendev.org/c/openstack/python-ironicclient/+/93374614:43
cardoecid ^ I think that's the issue why it wasn't displaying.14:45
cidI just took a look and that makes sense. 14:46
kukacziurygregory, did you mean either downgrade OR the curl debug, as different options, right?14:48
iurygregoryyeah14:48
opendevreviewDoug Goldstein proposed openstack/python-ironicclient master: fix port name in Port resource  https://review.opendev.org/c/openstack/python-ironicclient/+/93374614:49
TheJuliadtantsur: I have in to (a)14:49
TheJulia(b) is just a side effect of our data model14:49
TheJuliadtantsur: regarding non-keystone rbac, the model of matching role names should work and the ?oauth2? for keystoneauth work should allow non-keystone operation with matching generic role names14:51
TheJuliaI don't know where the exact state of the oauth2 stuff is14:51
JayFperpetually about to start I think, but I'm not 100% sure14:56
dtantsurI'm quite sure I don't want to deal with oauth2, thinking more about http basic auth14:58
TheJulia... we carry that code so it could just be a group delineator14:59
cardoeSo maybe a better approach would be to say "external auth"?14:59
TheJuliaif memory serves, I think the htaccess format actually supports that?!?14:59
JayFTheJulia: I pointed you at https://review.opendev.org/c/openstack/ironic/+/933679/2 -- just was hoping you could sanity check the minor changes14:59
TheJuliaor I might be totally off my rocker14:59
* TheJulia needs a rocking chair15:00
cardoeREMOTE_USER, REMOTE_GROUPS15:00
JayFdtantsur: I think I'm getting massively whoooshed by your comment here, somehow? https://review.opendev.org/c/openstack/ironic-python-agent/+/928466/6#message-e485ba856caa7a860b9b5602cdf38d77a2eb935a15:01
cardoeAlso since there's a decent brain trust here... should port names be unique(name) or unique(node_uuid, name) as the DB constraint?15:02
kukacziurygregory, what should I look for in the curl calls? I tried the failing one from error message (`redfish/v1/Managers/iDRAC.Embedded.1/Actions/Oem/EID_674_Manager.ImportSystemConfiguration`). but I guess it's expecting some additional payload or URI referral - receiving an "Base.1.2.ResourceMissingAtURI" error in ExtendedInfo15:03
TheJuliaunique(node_uuid, owner, name)15:03
TheJuliamost likely15:03
JayFfor node, it's just unique(uuid), right?15:04
TheJuliaplease expect delays, on a call for the next half hour15:04
JayFyou can repeat names in node, it just makes the name less useful15:04
JayFor did we fix that?15:04
TheJuliaunique name and uuid indepedently15:04
JayF"fix"15:04
iurygregorykukacz, in the ironic logs you should be able to see what information ironic sends in the payload to the bmc if I recall15:05
* iurygregory brb lunch time15:05
cardoeSo I cannot create a port on a different node with the same name.15:06
TheJuliaCrazy question of the day, *how* would someone do spot instances with Bare Metal15:25
shermanmdepending on what you mean by spot instances, we've been using Blazar for something like this, allowing a class of "preemptable instances" to run, but be kicked off by instances launched with a reservation hint15:30
dtantsurJayF: yeah, sorry, my initial comment was along the lines of "if you do X, change Y, but better not do X". I can understand how it caused confusion15:33
JayFdtantsur: just be like, explcit about what you want, maybe even a suggestion in gerrit, and I'm happy to make a change15:33
JayFnot trying to argue I just don't get it15:33
dtantsurJayF: yeah, so tl;dr: if you add new arguments, ideally add them in the end (before **). Focus on "if" because right now you don't even need this arguments: you don't use them explicitly, just pass into convert_image.15:35
JayFI do not understand what that last clause means at all15:35
JayF**convert_image is not a direct arg15:35
JayFit means I can be like convert_arg1=blah convert_arg2=doubleblah15:35
JayFand only works at the end15:35
JayFso how do I reorder it?15:35
JayFer, not convert_image, whatever the **conv_flags or whatever is15:36
dtantsurThinking more about it, let's stick with your last suggestion in gerrit15:37
JayFack; I'll implement that after my doc visit (I'm about to leave for an hourish)15:37
dtantsurwe could drop source_format, sparse_size and out_format from the explicit list, but, being too pedantic again, that could be a breaking change15:38
dtantsurJayF: good luck and thank you for your patience :)15:38
JayFhttps://review.opendev.org/c/openstack/ironic/+/933678 is a fun set to look at15:38
JayFdtantsur: if anything, I'd want to refactor the direction of being *less* generic since we aren't using a library for that method15:38
dtantsurfair15:40
* dtantsur is never going to stop being pissed by JSON not accepting a trailing comma15:41
TheJuliashermanm: how does the workload, with blazar, know its about to get kicked to the workload curb?15:44
TheJuliashermanm: partially asking because I know of it for scheduling, but not the "oh, the cloud is under pressure now, need to shed workload" standpoint15:45
dtantsurTheJulia: I was thinking indeed of somehow adding roles to htaccess. In fact, I probably only care about SYSTEM_ADMIN and PROJECT_ADMIN, where project == user15:45
TheJuliawhich is partly a critical aspect when you think of spot worklaods15:45
shermanmTheJulia: right now it doesn't :)   we've been using this to run jobs like opensciencegrid, or other workloads that are inherently interruptible15:46
TheJuliaAhh, maybe this is why CERN folks took a slightly different approach15:46
shermanmbut we'd looked into a modification to blazar such that it would only allow reservations at e.g. time=$NOW+10 minutes, and a workload could query the blazar API for "my use of this node will expire in N minutes"15:47
shermanmwe're working on that second half now anyway, since users tend to forget that their leases expire15:47
shermanmwhat I'm actually looking at doing is exposing that info via vendordata, so instances don't need to talk to the blazar api directly15:48
TheJuliavendor data via nova api?15:54
shermanmyep!15:54
TheJuliaso metadata?15:54
TheJuliayeah, I'm not sure you can update that after the fact15:54
TheJuliaand you surely can't with baremetal :(15:54
shermanmno, specifically vendordata: https://docs.openstack.org/nova/latest/user/metadata.html#metadata-vendordata15:54
shermanmnova's metadata service redirects to a deployer-defined external service15:55
shermanmwhich can be changed dynamically15:55
TheJuliaoh!15:56
TheJuliaokay, cool15:56
shermanmhttps://docs.openstack.org/nova/latest/admin/vendordata.html#dynamicjson  "When used, the DynamicJSON module will make a request to any REST services listed in the api.vendordata_dynamic_targets configuration option. There can be more than one of these but note that they will be queried once per metadata request from the instance"15:57
TheJuliaso would it still be a pass-through API, I guess if one runs the metadata servic ethat is fine16:04
kukacziurygregory, unfortunately I couldn't see the payload detail in ironic log. also, quite strangely, it reports the ExtendedInfo to be None, which usually contains error details when querying manually using curl16:06
TheJuliawow this week is just blah16:08
TheJuliaand by blah, I mean I feel like a constant firehose all day16:10
TheJuliadtantsur: project == user could likely be fine, and I think we control that plugin code anyway so likely an easy thing to just wire up16:12
TheJuliadtantsur: it is a generic value match so should.. just work.16:12
iurygregorykukacz, humm let me check something here16:12
iurygregorykukacz, if you try to insert other iso what exactly idrac returns to you?16:15
opendevreviewMerged openstack/ironic master: Make all API samples valid JSON  https://review.opendev.org/c/openstack/ironic/+/93367816:22
kukacziurygregory, I might try it soon. but now, something has changed after I rebooted the whole iDRAC. seems that the configuration was imported and server started, IPA is loading16:26
cardoeSo who wants to +W the Python 3.8 removal?16:37
cardoeOr https://review.opendev.org/c/openstack/ironic/+/927635 ?16:37
TheJuliadonezo16:50
JayFhttps://github.com/lextudio/pysnmp/issues/133#issuecomment-2410374973 Itamar still has this on his list16:59
JayFbut I just soured on our new pysnmp overlords :(16:59
JayFthis == fixing SNMP driver/virtualpdu17:00
cardoeTheJulia: https://github.com/oras-project/oras might be interesting to tinker there.17:04
* dtantsur gets a short break, see you on Monday17:05
JayFoh yeah, forgot to close the loop on that17:05
JayFTheJulia: my downstream prefers conductor-cached container images17:05
JayFTheJulia: so easy path is good path afaict17:06
JayF(in context of container-based steps; but I assume we'll use the same foundations)17:06
kukacziurygregory, dtantsur: it's working now, thank you a lot for your help guys. seems that what helped was either rebooting iDRAC or fixing BMC time by configuring NTP sources17:21
JayFNice! \o/17:21
JayFMight wanna close the loop for your question on slack in case someone sees it later?17:21
iurygregorykukacz, awesome! happy to hear that!17:21
*** amorin_ is now known as amorin17:35
TheJuliabreak, what is break?!?17:41
TheJuliacardoe: so I was mainly just thinking we could likely invoke podman or spokeo commands and achieve the desired effect17:42
opendevreviewAdam McArthur proposed openstack/ironic master: Added missing fields in API Ref  https://review.opendev.org/c/openstack/ironic/+/93369917:43
TheJuliaJayF: so I don't think we'll turn ironic into a container cache, but cache the file data out17:43
cardoeSo afaik spokeo works with file system layers17:46
cardoeInstead of just the blob data17:46
TheJuliawell, file in container is just a file in the end17:48
TheJulianot a blob in container metadata17:48
TheJuliawell, blob in the container contents which is not a file17:48
cardoeWell yes and no.17:48
cardoeSo like spokeo wants a rootfs ref list which is gonna be a list of tarballs 17:48
cardoeWhich get extracted on top of each other.17:49
cardoeAnd then you grab the file out.17:49
cardoeI can stuff anything into an OCI registry.17:49
cardoeI can say have a "kernel" ref that's blob type17:49
cardoeThat's closer to how swift behaves.17:50
cardoeI was thinking you guys wanted to go down the later path when you mentioned registering types.17:51
TheJuliaI guess at the end of the day, we need to focus on an agnostic layer, not the file details inside of the tool itself17:51
TheJuliaI think that was sort of a red herring discussion17:51
cardoeSo like I could do something like..17:52
cardoemytool push registry.internal:5000/ubuntu:24.04 kernel:vmlinuz-6.0.0 initrd:initramfs-6.0.0 rootfs:rootfs.tgz17:53
TheJuliaso in that case, container as the binary object to be extracted17:54
TheJulianot a filesystem with a file on it17:54
TheJuliawhich is sort of also a different case17:54
cardoeRight17:55
TheJuliaI guess there is kind of room for both depending on the lower details17:55
TheJuliabut the pattern I've seen is file(s) in a container17:55
cardoeNow I think nothing prevents us from saying the bootable containers are just regular containers with maybe "kernel" and "initrd" tucked into the manifest?17:55
TheJuliabootable containers consist of a whole filesystem which can be translated across17:55
TheJuliaor at least, can composite out to a whole filesystem17:56
cardoeYeah absolutely is the normal pattern. When they added the multi-arch support into a single container, it became a bit more generic blob.17:56
TheJuliayeah17:56
cardoeCause now you'd have to store 2 filesystems for 2 arches with some kind of reference to point the right way.17:57
TheJuliayup17:57
TheJuliawhich sort of makes me wonder, what is the right way to approach that selection in a multiarch case17:58
cardoeSo for me I was thinking of a generic "update firmware" type step where I could have "registry.internal:5000/idrac:latest" for example have something like "PowerEdge R7615" as a blob that contained whatever the current firmware is.17:58
TheJuliaconductor might be x86, but we need the arm artifact17:59
cardoeyeah.17:59
cardoeThe generic blob case above made me think of a swift alternative.18:00
TheJuliayour step idea might require the step and ultimately the retrieval logic to be able to gain the necessary context to make the right selection somewhere under the hood18:00
cardoeAbsolutely. I definitely hand waved a lot of the hard bits there.18:01
TheJuliaso I think it might be useful if you could put a verbsoe comment which we could detail as a note as a possible future state for the support18:01
TheJuliasort of like how in the image retieval code, only http has an interface to get contents of the url right now18:02
TheJuliathis will as well, in the end, but there could be a "get inventory data" to do a mapping lookup or something18:02
TheJuliawhatever the $lower_level_hand_wavey_bits_are18:02
cardoeYeah I can add some comments on there.18:05
cardoeAt the end of the day it's just an HTTP request to registry.internal:5000/idrac/blobs/<sha256> or some such.18:05
cardoeSo conductor could figure out the right thing and tell the machine to grab the right blob.18:06
opendevreviewMerged openstack/ironic master: Enable WSGI module entrypoint for Ironic  https://review.opendev.org/c/openstack/ironic/+/92763518:16
opendevreviewDoug Goldstein proposed openstack/ironic master: add pyproject.toml to support pip 23.1  https://review.opendev.org/c/openstack/ironic/+/92754418:23
TheJuliaOpenInfra Days NA 2025 CFP Closes on Friday!18:48
TheJuliaGet your ideas in ASAP!18:48
TheJuliahttps://www.socallinuxexpo.org/scale/22x/call-presenters18:48
* JayF is putting something together around OpenStack being the bearer of bad news ... talking about how to evaluate the availability ***of openstack*** separately from the availability of your datacenter18:59
* JayF has a visual aid in his mind's eye of 99.99% uptime being chipped away by power issues, network issues, random failures, etc19:00
opendevreviewAdam McArthur proposed openstack/ironic master: Added missing fields in API Ref  https://review.opendev.org/c/openstack/ironic/+/93369919:00
TheJuliaif an AI can make an animated gif of Julia with a chainsaw laughing with glee in front of big routers.....19:03
TheJuliaIf all else fails, we could likely find an old Cisco 12000GSR.....19:04
TheJuliaeh... no 12000s available on ebay19:06
masgharHello ironic! I have a question 19:23
JayFask away19:24
masgharIn python-ironicclient, we provide a Python API, but that functionality is supposed to move to openstacksdk eventually, correct?19:25
masgharAnd only the CLI enabling code is supposed to remain in python-ironicclient? (I understand we dont have a plan or timeline, but thats the long-term goal?)19:26
JayFThat's a reasonable question. Unsure if we'd want to point the standalone users to openstacksdk19:26
masgharOh I didnt think about standalone19:26
JayFyeah, the CLI is there on it's own for stnadalone reasons19:27
masgharBut wouldn't it be possible to invoke openstacksdk in a standalone-ironic scenario? (Can we turn everything else off?)19:28
masgharOr does the openstacksdk ask for a lot of other things too?19:29
JayFI don't know, but I know adamcarthur5 and I have hit issues with the integrated clients not always supporting noauth/basic auth as well as the ironic specific ones19:31
JayFso I don't think there's an answer to your question yet; but you gotta think about the standalone cases that don't crossover to integrated cases19:31
JayFe.g. basic auth19:31
JayF(or generally the lack of keystone)19:31
JayFand if openstacksdk checks all those boxes, we can consider deprecating the python api in ironicclient19:32
masgharI see, I see19:32
* JayF suspects there may be others in channel with stronger feelings 19:32
JayFI just go where the code points me :D 19:32
masgharWould love to hear all relevant feelings :D19:33
masgharI was wondering if we could simplify things by removing the duplication 19:33
JayFWell, another perspective would be19:34
JayFfrom an operator, that would *not* be simpler19:34
JayFbecause any of the scripts they wrote against $libraryA have to be rewritten for $libraryB19:34
JayFso you gotta weigh the benefit of us no longer needing to maintain a thing vs the loss of pushing down more work/complexity on deployers19:35
masgharThats also a fair point19:35
JayFthere's no right answer as to where that line is, but it's important to try to consider the perspective19:35
masgharYeah, makes sense19:35
masgharAlright, I'm going to call it a day for now, and be back tomorrow :)19:37
masgharBut if anyone has more input on the subject, would like to hear it too :)19:37
clarkbI think the sdk has slowly been replacing external implementations for api interaction with internal ones which cuts down on what you need toinstall19:38
clarkbyou'll still pull in keystoneauth1 or whatever the authentication library is and maybe a few others while things continue to move but thats just disk space. Then its a matter of what you actually use when you use the library19:38
JayFclarkb: the rough part for ironic users is we support auth methods, like http basic, that are unique to openstack. More than once we've had to add that support or document how to get it to work in integrated libraries that (reasonably) assume you have a keystone or are using noauth19:39
JayFs/to/in/19:39
clarkbone upside to the library imo for ironic that you can use a single library against ironic whether your ironic sits behind nova or not (assuming the auth issues above aren't a real problem)19:39
clarkbya that makes sense. I'm saying for end users/operators having one tool that works in both cases is beneficial too19:39
clarkbkeystoneauth has class HTTPBasicAuthTest and class HTTPBasicAuth19:41
TheJuliaoh, I guess it got merged in19:42
* TheJulia doesn't remember allt he details of that entire thing19:42
JayFclarkb: I don't disagree, but I will say, I've never heard the "openstack has too many client libraries" complaint from operators; but I *have* heard "openstack is too hard to upgrade" from operators19:43
clarkbbut that has nothing to do with this conversation?19:44
JayFthat's why I'm trying to be more mindful that ... the juice is worth the squeeze if we ask a operator to do ... really anything on upgrade, and changing client libs is a doozy19:44
JayFyes, absolutely; having to migrate a script from libraryA to libraryB is *exactly* the kind of thing that it extremely hard to explain to PHB-types as being anything but a task that openstack requires that is taking time away from other stuff19:44
clarkbupgrades should be orthogonal to client tools (the sdk at least is expected to work across versions)19:44
JayFTo operators, isn't it all one big ecosystem?19:45
clarkbI mean people may think that way but as soon as you have more than one cloud endpoint you're talking to you quickly realize that isn't the case (and that is somewhat orthogonal to openstack itself)19:45
clarkbas an operator/user I want to install a tool then use it to talk over here or over there and so on19:46
JayFby "more than one cloud endpoint" do you mean more than one cloud ecosystem?19:46
clarkbmultiple kubernetes clusters or say rackspace and openmetal and ovh. I'm not using the same client to talk to k8s and openstack but I use the same client to talk to all the k8s and the same one to talk to all the openstacks19:46
clarkbI'm also not necessarily saying remove python-ironicclient. I'm just trying to explain what I perceive to be the benefit of having a common tool that can be used to talk to various ironics regardless of how they are deployed or their versions19:49
clarkbbecause as both an operator and user of all this software (though not ironic specifically) this is my expectation. It is a bug if I have to create a virtualenv or grab a specific binary just to talk to a specific openstack api19:50
JayFYes, this question is not "should Ironic be in osdk", we are, with full (?) coverage19:50
JayFif it's not full coverage I'll point cid and adamcarthur5 at those bugs19:50
clarkband it does sometimes happen because the sdk team doesn't have access to all the permutations out there. But they are also usually able track that down and ocrrect it19:50
JayFit's a question of if having a second parallel one for historical and standalone reasons is OK19:50
JayFso I think we're aligned with the "you shouldn't need a decoder ring to talk to Ironic if you're generally OpenStack-savvy"19:51
clarkbright I guess from my perspective I would encourage people using ironic standalone to also use the integrated tool (assuming it works which I don't know) because it reduces your overhead if you add a second ironic installation19:53
clarkband I think the idea of we must keep this around specifically for those users is a bit at odds with that (since it communicates to those users that they should not use the sdk for example)19:53
clarkbinstead I would keep the tooling around if it solves specific issues that the sdk can't (compatibility with really old installs maybe or broader python support or whatever)19:55
opendevreviewJay Faulkner proposed openstack/ironic-python-agent master: Cleanup usage of imported-from-ironic-lib disk_utils  https://review.opendev.org/c/openstack/ironic-python-agent/+/92846619:55
opendevreviewJay Faulkner proposed openstack/ironic-python-agent master: Remove use of ironic_lib i18n module  https://review.opendev.org/c/openstack/ironic-python-agent/+/93008019:55
opendevreviewJay Faulkner proposed openstack/ironic-python-agent master: Migrate more trivial code from ironic-lib  https://review.opendev.org/c/openstack/ironic-python-agent/+/92877919:55
JayFclarkb: Yeah, I think we've done a lot of legwork to try and make this as seamless as possible. I think python-ironicclient will obey a clouds.yaml just like openstacksdk/openstackclient (in fact `openstack baremetal` and `baremetal` both use ironicclient under the hood)20:02
-opendevstatus- NOTICE: The Gerrit service on review.opendev.org will be offline momentarily at 20:30 utc (half an hour from now) to apply a configuration change20:02
clarkboh interesting. I didn't realize any of the project specific libs honored clouds.yaml20:02
TheJuliaWe're troublemakers.... :)20:03
clarkbI mean there was a time where I basically had to use horizon for certain neutron tasks because openstackclient didn't support the neutron things I needed and neutronclient didn't clouds.yaml20:04
clarkbhaving clouds.yaml support is a major boon to users imo20:04
TheJulia++20:05
opendevreviewJay Faulkner proposed openstack/ironic master: devstack: respect USE_VENV in Ironic  https://review.opendev.org/c/openstack/ironic/+/93077620:11
JayFclarkb: I mean this 100% seriously: if you find discrepancies in Ironic API support for any major SDKs (I include gophercloud along with any in openstack governance), please let me know. That's something my team (specifically Adam) is trying to eliminate.20:18
clarkbgood to know will do20:20
-opendevstatus- NOTICE: The Gerrit service on review.opendev.org will be offline momentarily to apply a configuration change20:31
opendevreviewJay Faulkner proposed openstack/ironic master: Remove postgresql testing and documentation  https://review.opendev.org/c/openstack/ironic/+/93105520:39
opendevreviewJay Faulkner proposed openstack/ironic-python-agent master: Correct invalid docstrings; s/Found/Error/  https://review.opendev.org/c/openstack/ironic-python-agent/+/91159820:46
opendevreviewJay Faulkner proposed openstack/ironic-python-agent unmaintained/yoga: Call evaluate_hardware_support exactly once per hwm  https://review.opendev.org/c/openstack/ironic-python-agent/+/92021820:47
opendevreviewJay Faulkner proposed openstack/ironic-python-agent unmaintained/zed: Call evaluate_hardware_support exactly once per hwm  https://review.opendev.org/c/openstack/ironic-python-agent/+/92021720:47
JayFcan you tell I made a goal for myself to have less outstanding patches this cycle? lol20:49
JayFIronic devstack does not support anything but ubuntu, yeah?21:06
shermanmwould there be any interest in a guide or post about how to build, test, and deploy custom ironic agent hardware managers? I've been keeping nodes as I go, it wouldn't be a big lift to polish it up21:07
JayFThere's significant docs in ironic-python-agent docs already, and the examples. Honestly I'd suggest writing a blogpost about your experience to ironicbaremetal.org and updating those docs to reflect any changes that'd be valuable21:08
JayFhttps://docs.openstack.org/ironic-python-agent/latest/contributor/hardware_managers.html21:09
JayFI hope you knew that existed, I just realized you may not have /o\21:09
shermanmoh yeah, I saw those parts, and a blog post might be more suitable anyway21:09
JayFhttps://github.com/OpenStackweb/ironic-website PR to here to add a blogpost cc: TheJulia 21:10
shermanmbut there's also "how to build a custom agent ramdisk if you haven't done that", and "how to actually install your custom manager in the same venv as the ironic-agent" inside DIB21:10
JayFJulia can maybe help you ensure it gets reviewed21:10
JayFhonestly that last step is a feature gap in ipa-builder21:10
JayFmoreso than a docs gap21:10
shermanmor also, "how to test your changes with qemu so you don't need to wait for a node to boot dozens of times"21:11
JayFwe used to have a good mode for that, we had to remove it for technical reasons21:11
shermanmbut thanks for that git link for the website, I'll see what I can whip up21:12
JayFthanks shermanm!21:12
JayFbtw, where are you from/at?21:12
JayFtrying to place you in the sea of ironic deployments21:12
shermanmI'm currently at UChicago, primarily working on ChameleonCloud21:12
JayFah, good stuff! One of my best buds is up there in Berwyn21:14
shermanmnice! We/they're having unseasonably nice weather at the moment21:16
clarkbmeanwhile in the PNW we're having seasonably ugly weather :/21:17
opendevreviewJay Faulkner proposed openstack/ironic master: Use patched dnsmasq from PPA  https://review.opendev.org/c/openstack/ironic/+/93310421:18
JayFclarkb: yeeeeep21:18
JayFclarkb: and I had meetings all morning so I missed the little bit of dry to walk the dog :(21:18
JayFFYI cores; I added about a million patches to ironic-week-prio; I have lots of old small stuff that needs landing21:19
JayFFYI; adamcarthur5 created a bug about the openapi/microversion update work that's happening this cycle that was discussed at PTG. I marked the bug as rfe-approved based on that discussion. Please feel free to untag the approval if you've got an issue. https://bugs.launchpad.net/ironic/+bug/208612121:25
opendevreviewAdam McArthur proposed openstack/ironic master: Added missing fields in API Ref  https://review.opendev.org/c/openstack/ironic/+/93369921:55
opendevreviewAdam McArthur proposed openstack/ironic master: Added missing fields in API Ref  https://review.opendev.org/c/openstack/ironic/+/93369922:11

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