Tuesday, 2023-01-31

opendevreviewJay Faulkner proposed openstack/ironic master: DB & Object layer for node.shard  https://review.opendev.org/c/openstack/ironic/+/86423600:04
opendevreviewJay Faulkner proposed openstack/ironic master: API support for CRUD node.shard  https://review.opendev.org/c/openstack/ironic/+/86623500:04
opendevreviewJay Faulkner proposed openstack/ironic master: Allow port queries by shard list  https://review.opendev.org/c/openstack/ironic/+/87223500:04
JayFI either massively broke tests with my changes, or it's broken locally00:04
JayFboth things are possible but I'll find out tomorrow00:04
JayFo/00:04
vanouGood night o/00:07
vanouYes. Even I remove vendor interface part of code, this patch deals with firmware incompatibility. Existing operator notice difference only when operator deploys new node (this patch adds verify step to deals with firmware HTTP incompatibility)00:09
opendevreviewVanou Ishii proposed openstack/ironic master: [WIP] Deal with iRMC virtual media incompatibility  https://review.opendev.org/c/openstack/ironic/+/82379005:48
rpittaugood morning ironic! o/07:59
opendevreviewRiccardo Pittau proposed openstack/ironic-python-agent bugfix/8.3: Fix CI  https://review.opendev.org/c/openstack/ironic-python-agent/+/87198010:07
opendevreviewRiccardo Pittau proposed openstack/ironic-python-agent bugfix/8.3: Fix CI  https://review.opendev.org/c/openstack/ironic-python-agent/+/87198010:08
iurygregorymorning Ironic11:40
*** tkajinam is now known as Guest300312:02
opendevreviewJakub Jelinek proposed openstack/ironic master: Erase swift inventory entry on node deletion  https://review.opendev.org/c/openstack/ironic/+/87139413:56
TheJuliagood morning14:13
dtantsurmorning TheJulia 14:32
opendevreviewOpenStack Release Bot proposed openstack/ironic-python-agent bugfix/9.3: Update .gitreview for bugfix/9.3  https://review.opendev.org/c/openstack/ironic-python-agent/+/87228715:06
opendevreviewOpenStack Release Bot proposed openstack/ironic-inspector bugfix/11.3: Update .gitreview for bugfix/11.3  https://review.opendev.org/c/openstack/ironic-inspector/+/87228815:07
opendevreviewOpenStack Release Bot proposed openstack/ironic bugfix/21.3: Update .gitreview for bugfix/21.3  https://review.opendev.org/c/openstack/ironic/+/87231915:24
kubajjTheJulia, dtantsur: if you had a minute, I added some tests to the follow-up https://review.opendev.org/c/openstack/ironic/+/87139415:38
dtantsurin a meeting, will check later15:56
opendevreviewJay Faulkner proposed openstack/ironic master: DB & Object layer for node.shard  https://review.opendev.org/c/openstack/ironic/+/86423616:40
opendevreviewJay Faulkner proposed openstack/ironic master: API support for CRUD node.shard  https://review.opendev.org/c/openstack/ironic/+/86623516:40
opendevreviewJay Faulkner proposed openstack/ironic master: Allow port queries by shard list  https://review.opendev.org/c/openstack/ironic/+/87223516:41
rpittaugood night! o/16:48
JayF /win 1916:54
JayFwhoops16:54
TheJuliaheh17:04
* TheJulia has an idea to get out of her brain... after the current call17:05
JayFhttps://review.opendev.org/c/openstack/ironic/+/869614 is a high impact thing we can land, I already am +2, someone should land it (Julia's patch for service RBAC role)17:53
iurygregorywill take a look in few18:12
TheJuliaif there are any questions lmk18:40
TheJuliaI'm trying to get an idea out of my head at the moment18:41
opendevreviewMerged openstack/ironic master: Bump cirros to version 0.6.1  https://review.opendev.org/c/openstack/ironic/+/87181219:35
opendevreviewMerged openstack/ironic-inspector bugfix/11.0: Remove reno job and fix CI  https://review.opendev.org/c/openstack/ironic-inspector/+/87197719:35
opendevreviewMerged openstack/ironic-inspector bugfix/10.9: Remove reno job and cap tox to version lower than 4  https://review.opendev.org/c/openstack/ironic-inspector/+/87197819:35
opendevreviewMerged openstack/ironic bugfix/19.0: Remove reno job  https://review.opendev.org/c/openstack/ironic/+/87197319:35
opendevreviewMerged openstack/ironic bugfix/20.2: Remove reno job  https://review.opendev.org/c/openstack/ironic/+/87197119:35
opendevreviewMerged openstack/ironic bugfix/21.0: Remove reno job  https://review.opendev.org/c/openstack/ironic/+/87197219:35
opendevreviewMerged openstack/ironic-python-agent bugfix/8.3: Fix CI  https://review.opendev.org/c/openstack/ironic-python-agent/+/87198019:35
opendevreviewMerged openstack/ironic-python-agent master: update NVIDIA NIC firmware images and settings by ironic-python-agent  https://review.opendev.org/c/openstack/ironic-python-agent/+/56654419:35
opendevreviewJulia Kreger proposed openstack/ironic-specs master: Add modify steps framework  https://review.opendev.org/c/openstack/ironic-specs/+/87234919:36
TheJuliajanders: NobodyCam: JayF: ^^ kind of the active steps idea, but I thought about it and thought "that is kind of misleading since a system being modified is not active". Please provide an initial review pass when you have some time19:39
opendevreviewMerged openstack/ironic-python-agent bugfix/9.0: Remove reno job and cap tox to version lower than 4  https://review.opendev.org/c/openstack/ironic-python-agent/+/87197919:53
opendevreviewMerged openstack/ironic-python-agent bugfix/8.1: Remove reno job and cap tox to version lower than 4  https://review.opendev.org/c/openstack/ironic-python-agent/+/87198119:53
JayFgonna be honest, I'm not prioritizing spec reviews given we've got a lot of things already for this cycle that aren't ready yet :/ 20:08
JayFI'm sure I'll take a look because I'm curious and will get around to it eventually though20:08
TheJuliaJayF: fwiw, the same idea was listed as an item for this cycle under active steps20:28
JayFoh, I didn't realize that was even in the stuff for this cycle20:31
opendevreviewMerged openstack/ironic master: Add `service` role RBAC policy support  https://review.opendev.org/c/openstack/ironic/+/86961421:54
JayFTheJulia: I'm not sure it'll be possible to implement a /v1/nodes?shard=null22:16
JayFsame for ports22:16
JayFI assume this is OK? 22:16
JayFI could add a separate, boolean filter for shardless nodes22:16
JayFit's not an unreasonable filter to want22:16
TheJuliaoh, eww22:16
TheJuliayeah22:16
JayFat the DBAPI level, I can't get a None thru to the DB22:17
JayFwhich kinda makes sense22:17
JayFat least with how it's structured (all shard queries are listified and passed in via  an in query)22:17
TheJuliayeah, if none the logic has to change on the query22:17
TheJuliayeah, I mean if it is all discoverable, maybe it is okay22:18
TheJuliaI'd need to think about it, but I think your right22:18
JayFI'm not sure it makes sense to say /v1/nodes?shard=shard1,shard2,None22:18
JayFbut being able to say /v1/nodes?shardless=true does, I think22:18
JayFI think if I hooked up "None" queries at the DBAPI layer (not even thinking about how to communicate it via API); I'd probably have to do the "is null" query AND the in "list-of-shards" and combine the results22:19
JayFwhich does not seem idea22:19
JayF**ideal22:19
JayFTheJulia: RFC on what to call the boolean? unsharded? shardless? noshard? Or do you think I should take on the complexity of allowing None to be supplied in the list22:21
JayFI really, really, really, do not think it's a good idea to take on the complexity unless there's a trick I don't know 22:21
TheJuliawell, if null then is not in... I'm don't know of the query handler to do that though22:22
TheJuliaso22:22
JayFnot in is for a negated query22:22
TheJuliaI was always thinking that we would get a string in, not a literal null22:23
JayFlet me put it this way: I don't know how to ask the DB for "select * from nodes where shard in (null, 'blah', 'lol', 'cats');22:23
JayFbecause IIRC you can't put null in that list22:23
TheJuliabecause the only way to do that would be GET /url?shared=?arg2=blah22:23
* TheJulia wonders if that is even possible22:23
JayFTheJulia: I assumed we'd just say 'null' or 'None' or similar22:23
JayFthis is gross, we have to make noshard=True or similar22:23
TheJuliaand if we had the string, we could then just go "oh, that is special value, invert the get!22:24
JayFor else we're essentially going to end up with a 'magic string' in our API22:24
TheJuliawell, select22:24
JayFI don't think you fully understand; or I don't fully understand you22:24
TheJuliawell, down in the dbapi query most likely, but maybe we just punt on that22:24
JayFright now, the way I have it hooked up for both nodes and ports is 22:24
JayF/v1/nodes?shards=shard1,shard2,shard3,shardbanana22:24
JayFit always wants a list22:24
TheJuliaokay22:25
JayFso I don't want to *negate* the match, I want to be able to specify "no shard" as one of the potential shards in my list22:25
JayFwhich would be e.g. select * from nodes where shard in (null, 'shard1', 'shard2', 'shard3'); (which you can't do)22:25
TheJuliaokay22:25
TheJuliawhich patch is this in? 22:26
JayFso I believe the only way to make this work in one query, regardless of what the API looked like, would be something gross like22:26
TheJuliathe latter?22:26
TheJuliaerr, last one?22:26
JayFtrying to push it but got rebased22:26
opendevreviewJay Faulkner proposed openstack/ironic master: DB & Object layer for node.shard  https://review.opendev.org/c/openstack/ironic/+/86423622:27
opendevreviewJay Faulkner proposed openstack/ironic master: API support for CRUD node.shard  https://review.opendev.org/c/openstack/ironic/+/86623522:27
opendevreviewJay Faulkner proposed openstack/ironic master: Allow port queries by shard list  https://review.opendev.org/c/openstack/ironic/+/87223522:27
TheJuliaokay, so the challenge is we end up with inconsistency on ports which becomes weird22:27
JayFI don't think it makes sense to ask "give me ports without a shard"22:27
JayFthe whole time we said we'd treat no shard as another shard, I think I'm learning that's impossilbe22:27
JayFunless we want to force not-null on node.shard and populate it in the initial migration22:28
JayFwhich is a bad idea for $scale_reasons22:28
TheJuliaI think that is a reasonable take and I was kind of thinking the same22:28
JayFso we need to be able to say "show me nodes that need a shard assigned"22:28
TheJulia++22:28
JayFwhich could be like, sharded=false22:28
JayFI can't find a good name for it22:28
TheJuliaI think that could be reasonable22:28
TheJuliainstead of a magical value22:28
TheJuliaand you could... hmm22:28
JayFyou think I'm better off saying "sharded=false" or "no_shard=true" 22:28
JayFI almost think I should word it so the bool would be true22:29
TheJuliaoh where oh where is the provisioned filter hiding22:29
JayFI know where it is22:29
JayFtop of the sqlalchemy dbapi22:30
JayFlook for a constant22:30
TheJuliahttps://review.opendev.org/c/openstack/ironic/+/866235/20/ironic/db/sqlalchemy/api.py#425 is kind of where you might consider it22:30
JayFyep, I'd add one to _NODE_NON_NULL_FILTERS22:30
JayFlooks like all of them are positive22:30
TheJulia++22:30
JayFso I'd need to make it sharded: shard22:30
TheJuliaperfect22:31
JayFI think I'll need to revise the spec?22:31
TheJulianah22:31
JayF:-|22:31
* JayF hates as a dev or operator reading the spec and it not being useful to understanding what's going on22:31
JayFmaybe not a prereq but I will probably circle back and make it reflect the real api22:31
TheJuliaokay, minor update then :)22:31
TheJuliaI'll single core approve it based upon implementation reality ;)22:31
JayFperhaps after I'm done lol22:31
TheJuliaokay22:31
TheJuliaI'm going to try and get some more words down before I step away, getting a migraine22:32
JayFack; I'm going to finish this patch as written22:32
JayFand make the boolean-shard-checker as a follow-on22:32
TheJuliaack22:32
JayFwhich technically might be nonideal, because I'll have a patch that bumps the API microversion  then two after that still use it22:32
JayFbut it's better for them to be split, and an atomic microversion22:32
TheJuliatrue22:33
JayFbut it's better for them to be split patches, and I prefer clarity for review over being hardasses about policy22:33
TheJuliain rapid succession I'd worry less, tbh22:34

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