Thursday, 2023-11-23

opendevreviewSteve Baker proposed openstack/ironic-python-agent master: WIP expose EFI boot entries in inspection boot info  https://review.opendev.org/c/openstack/ironic-python-agent/+/90164500:07
opendevreviewMerged openstack/ironic-python-agent master: Add mlnx deploy_step entry to enable deploy time firmware  https://review.opendev.org/c/openstack/ironic-python-agent/+/89337100:12
opendevreviewMerged openstack/ironic master: [api-ref] Complete port name and shard documentation  https://review.opendev.org/c/openstack/ironic/+/89909701:38
opendevreviewZane Bitter proposed openstack/ironic master: Use per-node external_http_url for boot ISO  https://review.opendev.org/c/openstack/ironic/+/90169602:57
opendevreviewZane Bitter proposed openstack/ironic master: Use per-node external_http_url for boot ISO  https://review.opendev.org/c/openstack/ironic/+/90169603:28
rpittaugood morning ironic! o/07:40
adam-metal3HI Ironic08:55
opendevreviewRiccardo Pittau proposed openstack/ironic master: Generic API for attaching/detaching virtual media  https://review.opendev.org/c/openstack/ironic/+/89491808:56
adam-metal3Could someone point me to the direction of some doc that explains the full syntax of root device hints, what I can see in the regular Ironic doc is not that detailed, I would be interested in a more extensive syntax guide . I am trying to find out what is the syntax for combining multiple types of root device hints to one (is it possible at all?=09:04
adam-metal3I have to rephrase myself not even multiple types but could I do something like this "size": ">= 60 <= 100"09:22
adam-metal3or something similar09:22
opendevreviewZane Bitter proposed openstack/ironic master: Use per-node external_http_url for boot ISO  https://review.opendev.org/c/openstack/ironic/+/90169610:31
adam-metal3SO if I understand correctly this should be valid  "size": ">= 60, <=100"10:54
iurygregoryadam-metal3, all I could find so far was https://docs.openstack.org/ironic/latest/install/advanced.html#specifying-the-disk-for-deployment-root-device-hints10:58
iurygregorygood morning Ironic10:59
zanebadam-metal3: this is the implementation: https://opendev.org/openstack/oslo.utils/src/branch/master/oslo_utils/specs_matcher.py11:21
zanebI've never got anywhere with it other than by reading the code11:21
zanebit doesn't look to me like you can do multiple operators in one hint11:30
dtantsurI wonder if we should completely change the hint format at some point.11:31
adam-metal3iurygregory,zaneb thanks for the pointers, I will dig a bit more around this topic12:43
adam-metal3yeah from the code it is quite clear I was mistaken,  "size": ">= 60, <=100" wouldn't fly12:53
adam-metal3would it be okay to introduce <range> and <range_eq> for integers?12:57
dtantsuradam-metal3: I'd rather add <and> to accompany the existing <or>, if we're looking for a simple solution12:59
adam-metal3dtantsur, yep I would be fine with that also12:59
adam-metal3I could do the work I am interested in this, if it is fine by you I would make a launchpat issue and the changes13:00
dtantsuradam-metal3: you'll need to get buy-in from oslo folks: we don't control oslo.utils13:00
dtantsuradam-metal3: ouch. I think <or> does not do what I thought it does..13:01
dtantsur '<or>': lambda x, *y: any(x == a for a in y),13:01
dtantsuralways an equality. damn.13:01
adam-metal3dtantsur: sure , I will reach out 13:02
dtantsuryou can start with asking them if they're even interested in solving this problem13:02
dtantsurif not, we can start thinking about something less awkward for root hints v213:03
adam-metal3:D13:03
dtantsurI also don't like that they always convert integers to floats13:04
dtantsuradam-metal3: a workaround on our side could be splitting on && or ||13:08
dtantsurjust need to be careful if these are a part of the strings13:09
adam-metal3dtantsur: wouldn't splitting on space be more robust? and then passing them pair by pair, if it turns out to be odd numbers it would just behave how it behaves now if the user messes up the operator, or we could just reject if the number of substrings is odd number13:21
adam-metal3the actual matchin that oslo uses is also just splitting on space 13:22
dtantsurwhich exactly form are you thinking of?13:22
adam-metal3https://opendev.org/openstack/oslo.utils/src/branch/master/oslo_utils/specs_matcher.py#L149 I was thinking about this13:23
dtantsurthis already exists and does not support AND/OR operations13:24
dtantsurI'm trying to understand what you achieve by splitting on spaces13:24
adam-metal3so you were mentinoning workaround on Ironic level13:24
adam-metal3and I was thinking if we would split the "size" root device hint on ironic level before we send it into the matcher13:25
dtantsuryeah, I'm talking about essentially the same, just only spaces won't give you much13:26
adam-metal3ohh okay I jsut misunderstood the code so basically what I wanted is to replicated  https://opendev.org/openstack/oslo.utils/src/branch/master/oslo_utils/specs_matcher.py#L127 and then do this "expr.parseString(spec)"13:28
adam-metal3so jeah no spaces but whatever concoction this expr is13:28
adam-metal3okay wait I am bit lost in this grammar thingy13:29
dtantsurhold on, I'm trying to write a prototype13:29
adam-metal3I am on hold just to note now I get what is going on :D this grammar creation has confused me a bit13:35
dtantsuradam-metal3: a naive version with regexps could look like https://paste.opendev.org/show/bmXMOoK3omSno8jyFmFv/13:37
dtantsur(absolutely untested, use at your risk)13:38
dtantsurwe definitely could take make_grammar and build on top of that, that's arguably better than regexps13:39
adam-metal3dtantsur: so would you be okay with proposing the ironic level approach already or in any case first I should get rejected by oslo before I could try this?13:44
dtantsuradam-metal3: at least try reaching out to them to see their position13:44
adam-metal3okay thanks for the discussion !13:45
dtantsurrpittau, iurygregory, looking for a 2nd review https://review.opendev.org/c/openstack/ironic/+/90169614:30
iurygregorydtantsur, looking now14:31
opendevreviewMerged openstack/ironic master: Use per-node external_http_url for boot ISO  https://review.opendev.org/c/openstack/ironic/+/90169615:48
dtantsurMerged, nice. A backport maybe somewhat complicated, lemme check15:49
iurygregory<eyes> 15:53
opendevreviewDmitry Tantsur proposed openstack/ironic stable/2023.2: Use per-node external_http_url for boot ISO  https://review.opendev.org/c/openstack/ironic/+/90177016:04
dtantsuriurygregory: ^^^16:04
opendevreviewDmitry Tantsur proposed openstack/ironic stable/2023.1: Use per-node external_http_url for boot ISO  https://review.opendev.org/c/openstack/ironic/+/90177116:04
opendevreviewDmitry Tantsur proposed openstack/ironic stable/zed: Use per-node external_http_url for boot ISO  https://review.opendev.org/c/openstack/ironic/+/90177216:05
opendevreviewMerged openstack/ironic master: [api-ref] Add firmware fields to driver API  https://review.opendev.org/c/openstack/ironic/+/89886216:16
iurygregorydtantsur, ack16:34
rpittaugood night! o/17:30
opendevreviewMerged openstack/ironic stable/2023.2: Use per-node external_http_url for boot ISO  https://review.opendev.org/c/openstack/ironic/+/90177020:06
opendevreviewZane Bitter proposed openstack/ironic master: Use per-node external_http_url for configdrive ISO  https://review.opendev.org/c/openstack/ironic/+/90177720:33
zanebdtantsur: spec_matcher uses pyparsing and has a proper grammar. pleeease don't add a regex hack on top20:43
opendevreviewSteve Baker proposed openstack/ironic-python-agent master: Parse efibootmgr type and details  https://review.opendev.org/c/openstack/ironic-python-agent/+/89977520:47
opendevreviewSteve Baker proposed openstack/ironic-python-agent master: Fully parse EFI boot entry device path  https://review.opendev.org/c/openstack/ironic-python-agent/+/90073920:47
opendevreviewSteve Baker proposed openstack/ironic-python-agent master: WIP expose EFI boot entries in inspection boot  https://review.opendev.org/c/openstack/ironic-python-agent/+/90164520:47
zanebdtantsur: you could do something like e.g. https://paste.opendev.org/show/b3SzGaVvjqWZ7pjw2Bvx/20:56
zanebbtw last I checked I am an oslo core <evil grin>20:57
opendevreviewSteve Baker proposed openstack/ironic master: Replace swiftclient usage with openstacksdk  https://review.opendev.org/c/openstack/ironic/+/89999922:10

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