opendevreview | Steve 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/+/901645 | 00:07 |
---|---|---|
opendevreview | Merged openstack/ironic-python-agent master: Add mlnx deploy_step entry to enable deploy time firmware https://review.opendev.org/c/openstack/ironic-python-agent/+/893371 | 00:12 |
opendevreview | Merged openstack/ironic master: [api-ref] Complete port name and shard documentation https://review.opendev.org/c/openstack/ironic/+/899097 | 01:38 |
opendevreview | Zane Bitter proposed openstack/ironic master: Use per-node external_http_url for boot ISO https://review.opendev.org/c/openstack/ironic/+/901696 | 02:57 |
opendevreview | Zane Bitter proposed openstack/ironic master: Use per-node external_http_url for boot ISO https://review.opendev.org/c/openstack/ironic/+/901696 | 03:28 |
rpittau | good morning ironic! o/ | 07:40 |
adam-metal3 | HI Ironic | 08:55 |
opendevreview | Riccardo Pittau proposed openstack/ironic master: Generic API for attaching/detaching virtual media https://review.opendev.org/c/openstack/ironic/+/894918 | 08:56 |
adam-metal3 | Could 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-metal3 | I have to rephrase myself not even multiple types but could I do something like this "size": ">= 60 <= 100" | 09:22 |
adam-metal3 | or something similar | 09:22 |
opendevreview | Zane Bitter proposed openstack/ironic master: Use per-node external_http_url for boot ISO https://review.opendev.org/c/openstack/ironic/+/901696 | 10:31 |
adam-metal3 | SO if I understand correctly this should be valid "size": ">= 60, <=100" | 10:54 |
iurygregory | adam-metal3, all I could find so far was https://docs.openstack.org/ironic/latest/install/advanced.html#specifying-the-disk-for-deployment-root-device-hints | 10:58 |
iurygregory | good morning Ironic | 10:59 |
zaneb | adam-metal3: this is the implementation: https://opendev.org/openstack/oslo.utils/src/branch/master/oslo_utils/specs_matcher.py | 11:21 |
zaneb | I've never got anywhere with it other than by reading the code | 11:21 |
zaneb | it doesn't look to me like you can do multiple operators in one hint | 11:30 |
dtantsur | I wonder if we should completely change the hint format at some point. | 11:31 |
adam-metal3 | iurygregory,zaneb thanks for the pointers, I will dig a bit more around this topic | 12:43 |
adam-metal3 | yeah from the code it is quite clear I was mistaken, "size": ">= 60, <=100" wouldn't fly | 12:53 |
adam-metal3 | would it be okay to introduce <range> and <range_eq> for integers? | 12:57 |
dtantsur | adam-metal3: I'd rather add <and> to accompany the existing <or>, if we're looking for a simple solution | 12:59 |
adam-metal3 | dtantsur, yep I would be fine with that also | 12:59 |
adam-metal3 | I could do the work I am interested in this, if it is fine by you I would make a launchpat issue and the changes | 13:00 |
dtantsur | adam-metal3: you'll need to get buy-in from oslo folks: we don't control oslo.utils | 13:00 |
dtantsur | adam-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 |
dtantsur | always an equality. damn. | 13:01 |
adam-metal3 | dtantsur: sure , I will reach out | 13:02 |
dtantsur | you can start with asking them if they're even interested in solving this problem | 13:02 |
dtantsur | if not, we can start thinking about something less awkward for root hints v2 | 13:03 |
adam-metal3 | :D | 13:03 |
dtantsur | I also don't like that they always convert integers to floats | 13:04 |
dtantsur | adam-metal3: a workaround on our side could be splitting on && or || | 13:08 |
dtantsur | just need to be careful if these are a part of the strings | 13:09 |
adam-metal3 | dtantsur: 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 number | 13:21 |
adam-metal3 | the actual matchin that oslo uses is also just splitting on space | 13:22 |
dtantsur | which exactly form are you thinking of? | 13:22 |
adam-metal3 | https://opendev.org/openstack/oslo.utils/src/branch/master/oslo_utils/specs_matcher.py#L149 I was thinking about this | 13:23 |
dtantsur | this already exists and does not support AND/OR operations | 13:24 |
dtantsur | I'm trying to understand what you achieve by splitting on spaces | 13:24 |
adam-metal3 | so you were mentinoning workaround on Ironic level | 13:24 |
adam-metal3 | and I was thinking if we would split the "size" root device hint on ironic level before we send it into the matcher | 13:25 |
dtantsur | yeah, I'm talking about essentially the same, just only spaces won't give you much | 13:26 |
adam-metal3 | ohh 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-metal3 | so jeah no spaces but whatever concoction this expr is | 13:28 |
adam-metal3 | okay wait I am bit lost in this grammar thingy | 13:29 |
dtantsur | hold on, I'm trying to write a prototype | 13:29 |
adam-metal3 | I am on hold just to note now I get what is going on :D this grammar creation has confused me a bit | 13:35 |
dtantsur | adam-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 |
dtantsur | we definitely could take make_grammar and build on top of that, that's arguably better than regexps | 13:39 |
adam-metal3 | dtantsur: 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 |
dtantsur | adam-metal3: at least try reaching out to them to see their position | 13:44 |
adam-metal3 | okay thanks for the discussion ! | 13:45 |
dtantsur | rpittau, iurygregory, looking for a 2nd review https://review.opendev.org/c/openstack/ironic/+/901696 | 14:30 |
iurygregory | dtantsur, looking now | 14:31 |
opendevreview | Merged openstack/ironic master: Use per-node external_http_url for boot ISO https://review.opendev.org/c/openstack/ironic/+/901696 | 15:48 |
dtantsur | Merged, nice. A backport maybe somewhat complicated, lemme check | 15:49 |
iurygregory | <eyes> | 15:53 |
opendevreview | Dmitry Tantsur proposed openstack/ironic stable/2023.2: Use per-node external_http_url for boot ISO https://review.opendev.org/c/openstack/ironic/+/901770 | 16:04 |
dtantsur | iurygregory: ^^^ | 16:04 |
opendevreview | Dmitry Tantsur proposed openstack/ironic stable/2023.1: Use per-node external_http_url for boot ISO https://review.opendev.org/c/openstack/ironic/+/901771 | 16:04 |
opendevreview | Dmitry Tantsur proposed openstack/ironic stable/zed: Use per-node external_http_url for boot ISO https://review.opendev.org/c/openstack/ironic/+/901772 | 16:05 |
opendevreview | Merged openstack/ironic master: [api-ref] Add firmware fields to driver API https://review.opendev.org/c/openstack/ironic/+/898862 | 16:16 |
iurygregory | dtantsur, ack | 16:34 |
rpittau | good night! o/ | 17:30 |
opendevreview | Merged openstack/ironic stable/2023.2: Use per-node external_http_url for boot ISO https://review.opendev.org/c/openstack/ironic/+/901770 | 20:06 |
opendevreview | Zane Bitter proposed openstack/ironic master: Use per-node external_http_url for configdrive ISO https://review.opendev.org/c/openstack/ironic/+/901777 | 20:33 |
zaneb | dtantsur: spec_matcher uses pyparsing and has a proper grammar. pleeease don't add a regex hack on top | 20:43 |
opendevreview | Steve Baker proposed openstack/ironic-python-agent master: Parse efibootmgr type and details https://review.opendev.org/c/openstack/ironic-python-agent/+/899775 | 20:47 |
opendevreview | Steve Baker proposed openstack/ironic-python-agent master: Fully parse EFI boot entry device path https://review.opendev.org/c/openstack/ironic-python-agent/+/900739 | 20:47 |
opendevreview | Steve Baker proposed openstack/ironic-python-agent master: WIP expose EFI boot entries in inspection boot https://review.opendev.org/c/openstack/ironic-python-agent/+/901645 | 20:47 |
zaneb | dtantsur: you could do something like e.g. https://paste.opendev.org/show/b3SzGaVvjqWZ7pjw2Bvx/ | 20:56 |
zaneb | btw last I checked I am an oslo core <evil grin> | 20:57 |
opendevreview | Steve Baker proposed openstack/ironic master: Replace swiftclient usage with openstacksdk https://review.opendev.org/c/openstack/ironic/+/899999 | 22:10 |
Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!