Friday, 2021-10-01

*** gmann is now known as gmann_afk00:07
opendevreviewJeremy Stanley proposed zuul/zuul-jobs master: Test tox.requires doesn't break sibling installs
*** gmann_afk is now known as gmann01:11
*** ysandeep|out is now known as ysandeep|sick05:11
*** jpena|off is now known as jpena06:58
*** frickler_ is now known as frickler07:25
*** odyssey4me is now known as Guest148308:12
*** ykarel is now known as ykarel|lunch08:50
opendevreviewMarios Andreou proposed openstack/diskimage-builder master: Correct path for CentOS 9 stream base image
*** ykarel|lunch is now known as ykarel10:20
*** dviroel|out is now known as dviroel10:47
*** jpena is now known as jpena|lunch11:27
*** jpena|lunch is now known as jpena12:26
opendevreviewJeremy Stanley proposed zuul/zuul-jobs master: Revert "Revert "Include tox_extra_args in tox siblings tasks""
*** ykarel is now known as ykarel|afk12:43
mrkikoHello folks!! I am a blind user of gertty. All seems to work, but the fact that it doesn't use terminal cursor consistently to hilight focused element gets in my way. I am using a screen reader software, and when the cur4sor doesn't move on the hilightyed element, I can't basically understand what I am doing. Any chance you could help me?12:48
opendevreviewJeremy Stanley proposed zuul/zuul-jobs master: Test tox.requires doesn't break sibling installs
opendevreviewJeremy Stanley proposed zuul/zuul-jobs master: Revert "Revert "Include tox_extra_args in tox siblings tasks""
fungimrkiko: i think we narrowed that down to a regression with newer urwid. let me see if i can figure out which version started breaking it12:49
mrkikofungi: that would help me a lot really. If I cxan do something, let me know12:51
fungimrkiko: per my previous notes, something changed between urwid 2.0.1 and 2.1.0 causing it to no longer highlight some things like the parent change field. downgrading to urwid<2.1 and restarting gertty got it working for me again12:51
fungii haven't had time to try bisecting urwid commits to work out where it broke, so not yet sure what change is needed to gertty to accommodate current urwid versions there12:52
fungimrkiko: are you installing gertty with pip or with a distro package (or some other way)?12:53
fungiif it's pip installed, then downgrading urwid there should be easy to test and see if that addresses the problem you're experiencing12:54
mrkikofungi: but, does the hardware cursor move around in the old urwid version? I can't see easily the hilighting12:56
mrkikofungi: it's distro installed but it's from arch / AUR so and it's a gertty-git I think, so I can pretty much upgrade it at will. I can downgrade urwid, yes.12:57
fungimrkiko: oh, i think i understand what you're getting at, i recall some mainframe-based applications i've used in the past via serial terminal had similar behavior... it's possible that's an option in urwid, though unfortunately i suspect it may not be12:58
fungii'll check the urwid docs for mention of anything which seems like it might be that12:58
fungialso corvus may know when he's around13:00
fungithe canvas class can be initialized with cursor coordinates, but i'm not yet finding anything which can force the cursor to be displayed13:03
fungipossible i'm digging in the wrong place though13:04
mrkikofungi: I would be very grateful if you help me out. 13:05
fungimrkiko: are you wanting a free-floating cursor (old mainframe style), or just for the cursor position to be moved to whatever's highlighted (like lynx does it)?13:06
mrkikofungi: lynx behaviour would be the ideal; if free-floating one is possible, then I would need a clear way to edistinguish "buttons" (i.e.: things that may do something if I presse enter on them) vs static text13:07
mrkikousing a braille display to read things13:07
fungithe listbox widget has a make_cursor_visible() method which might do the trick:
fungii get the impression most other widgets are already expected to show the cursor when they have focus13:09
fungiyeah, getting into the gertty source, it does seem to use listboxes for a lot of the interface, so maybe that's why13:11
fungiit could be as simple as calling that make_cursor_visible() method in a few key listbox constructors, but i'll need to play around with it13:13
fungii've got a couple of meetings, but hopefully i can tinker with it in a few hours if nothing else catches fire13:14
mrkikofungi: :D :D thanks a lot. If I can do something to help out, let me know. Really. It would be an important thing for me.13:17
*** ykarel|afk is now known as ykarel13:29
*** ysandeep|sick is now known as ysandeep13:55
corvusmrkiko: fungi to make sure i understand, we're not talking about the "keyboard navigation doesn't highlight "depends on" change links with new urwird versions problem.  instead, it's that we need to having a blinking underscore or box cursor on the button that's highlighted?14:22
fungicorvus: roughly, i think... the terminal needs to be told to move its cursor to the start of what's being highlighted, which may or may not also require a non-hidden cursor (but not hiding the cursor may also make it easier to confirm the terminal's actual cursor location)14:26
*** ykarel is now known as ykarel|away14:26
fungiit seems that screen readers rely on the terminal cursor position to know where to start streaming characters14:26
fungibasically if you just launch `lynx` (assuming you have it installed) and navigate around its built-in homepage with the arrow keys, you'll see a terminal cursor at the start of the hyperlinks there14:27
corvusack.  and just to get into the weeds -- lynx puts the cursor in the space between words rather than on the first character.  if wonder if that's aesthetic or functional.14:29
TheJuliaAnyone ever seen zuul spit out "Unable to freeze job graph: 0" ?14:33
fungiTheJulia: yes, usually it's an indication that there's a configuration error in the change or which has started to impact one of the projects needed for it14:34
corvusTheJulia: the change has no files14:35
corvusand there's a job with a file matcher14:35
clarkbInteresting that nova ran into this the other day14:35
corvusi think clarkb reported that as a bug yesterday14:35
clarkbcorvus: well I mentioned it. I'm still on the fence as to whether it is a bug. Or rather whether it being an error is a bug. I think the message reported could be better14:36
* TheJulia sighs14:36
corvusyes, we do strive to do better than "0" :)14:36
* TheJulia goes and changes a file to run a cross-repo change14:36
corvusis there a meme going around about empty commits?14:36
TheJuliawho knows14:36
corvusjust wondering why we've seen 2 all of a sudden (this is not a new bug in zuul, it's been latent for years)14:37
TheJuliadid someone else raise the same question?14:37
clarkbTheJulia: yes gouthamr pushed an empty commit to nova the other day14:38
corvushrm it looks like is the change in question?14:38
corvusthat does'nt look empty to me, nor does its depends-on14:38
TheJuliaoh, on multiple jobs this morning14:38
TheJuliadidn't even notice it that14:39
TheJuliaI noticed it on a bifrost change which I just revised14:39
corvusoh ps1 is empty14:39
corvusps2 has a file14:39
TheJuliabasically pushing a semi-breaking change for CI into ironic and doing cross-repo testing14:39
corvus(and it's ps1 that got the error)14:39
corvusokay, so yes, this is the same issue.  basically: file matchers not compatible with changes with no files.14:40
TheJuliafun, I guess only in the last couple of years for zuul?14:45
TheJuliafeels like I've pushed empty commits before without issues, but it could have been a long time ago14:46
*** mazzy56 is now known as mazzy514:46
fungiTheJulia: they would have worked without files matchers14:48
fungiso could be the jobs for the projects in question weren't using them until more recently14:49
TheJuliawe've had file matchers for ages14:49
TheJuliabut *shrug*, it really doesn't matter14:49
corvusfungi: i don't think that listbox method is what we're looking for; i think that just makes it scroll so the cursor is in view14:54
fungicorvus: yeah, the more i read the rest of the reference, the more i got the impression it may also need to call functions to relocate the cursor14:55
fungibut unhiding the cursor will probably help in being able to check that it's doing that14:56
corvusfungi: have you found where it hides it?14:59
*** ysandeep is now known as ysandeep|out15:00
corvusoh here we go:
fungicorvus: ahh thanks, and no i got sidetracked by meetings but was going to dig back in shortly15:02
corvusthat looks fairly hard-coded, this may be tricky.15:02
corvusokay, a very quick hack to remove that shows me that: 1) that is reponsible for hiding the ecursor, and 2) urwid leaves the cursor in strange places, almost never at the start of something highlighted.  so fixing this may require non-trivial changes to urwid.15:05
fungicorvus: for testing purposes i can probably just tweak the urwid source to un-hide the cursor, and then see if forcing cursor location on highlight $somehow is sufficient for accommodating screen readers15:05
fungiahh, yeah, that's what i was wondering15:05
fungicorvus: most of the widget classes have a cursor attr, which defaults to None but seems to take a (relative?) coordinate pair when initializing, so maybe that's part of the answer15:06
mrkikocorvus: so, by default lynx hidden the cursor some time ago. To have it not hide it, you should set show_cursor to false in the lynx.cfg file15:07
mrkikocorvus: It would be ok for me even if the cursor was on the first character. 15:08
fungifirst character of whatever's being highlighted, you mean?15:08
corvusmrkiko: thanks, that's good to know15:08
corvusthe cursor appears at the start of the word for the review, diff, local checkout, local cherry-pick buttons15:09
corvusfor just about everything else, it appears at the end of the box it's formatting (so several characters to the right of the reply button, for example)15:10
corvusand doesn't always move consistently15:11
corvuslike, it may remain on the line below if you arrow-up, or it may remain on the line above if you arrow-down15:11
fungiso the arrows are scrolling the viewport rather than necessarily relocating the cursor15:12
corvusprobably, but even without any actual scrolling this is true15:12
*** artom_ is now known as artom15:13
mrkikocorvus: sorry, show_cursor:true doesn't hide the cursor of cours.e I'm tired... 15:14
corvusmrkiko: that's okay, for some reason my lynx defaulted to showing the cursor anyway :)15:14
fungias has mine, but maybe it's older than the change to start hiding it15:17
opendevreviewJeremy Stanley proposed zuul/zuul-jobs master: More exact section matching for tox showconfig
opendevreviewAde Lee proposed zuul/zuul-jobs master: DNM
opendevreviewMerged openstack/diskimage-builder master: Allowing ubuntu element use local image
clarkbTheJulia: gouthamr: fyi
mrkikofungi: corvus: I guess it was more a change in tyhe default in general15:37
corvusTheJulia: i stand corrected, that likely was a recently introduced zuul bug15:37
*** dviroel is now known as dviroel|lunhc15:42
*** dviroel|lunhc is now known as dviroel|lunch15:42
fungilooking through the urwid history it seems like they were trying to make that work for some controls: landed in 2.1.015:44
*** marios is now known as marios|out15:46
fungialso i see some references to calling self._invalidate() after focus changes to update cursor position15:49
corvusone thing i notice is the "Reply" button isn't actually a button, it's a Link which is a gertty-local widget, so that may need better cursor handling to match the buttons15:49
fungii also see a report that lineboxes confuse the cursor position while unlined boxes initialize the cursor to (relative) 0,015:50
TheJuliaclarkb: awesome, thanks!15:53
opendevreviewJeremy Stanley proposed zuul/zuul-jobs master: More exact section matching for tox showconfig
opendevreviewJeremy Stanley proposed zuul/zuul-jobs master: Revert "Revert "Include tox_extra_args in tox siblings tasks""
*** jpena is now known as jpena|off16:09
corvusfungi, mrkiko: yeah, it looks like a lot of the problem is that the gertty hypertext widget doesn't handle cursors right.  i'm working on improving that.16:15
*** dviroel|lunch is now known as dviroel16:26
opendevreviewJames E. Blair proposed ttygroup/gertty master: Correctly locate cursor in hypertext widgets
corvusfungi, mrkiko:  should be the first step in addressing that.  it's not everything, but that should make the internal links in commit messages highlight correctly, as well as the "Reply" buttons16:29
corvusthe next thing i note is that some of the fields in the change info area also don't have cursors.16:29
corvusfungi: i think the issue is, at least at first, not so much about whether the cursor is hidden or not, but that if an urwid widget doesn't supply a cursor position, it will automatically be hidden.  so we don't actually need to tell urwid not to hide the cursor, but instead, we need to tell it where to put it in the first place.16:30
fungicorvus: got it, and that's what the cursor parameters for the widget initiators are for?16:31
corvusi confess, i didn't even really notice that we were already had a visible cursor on the "Review" "Diff", etc buttons.  but they are there.  so what i did in that change was to make the links behave like the buttons do, and then the cursor automatically appeared.16:32
corvusfungi: i haven't actually run into that yet.16:32
fungiit wasn't clear to me from the api reference whether the cursor parameter would warp the position to the widget on focus16:33
corvusfungi: if you have a minute to double check 812049 looks good, i'll go ahead and merge that16:42
fungiyep, in the process of restarting on it now16:42
fungiare you testing with urwid 2.0 or 2.1?16:42
clarkbnote 812049 is a zuul bug fix for anyone following along. I think they mean 81217016:43
corvusoh yes sorry :)16:44
fungiahh, yes i meant 812170 (812049 is already approved anyway)16:44
fungicorvus: lgtm, i do see the cursor jump to the start of each control when it's highlighted16:46
corvusgreat.  there's more to do, but this is probably 70% of the outstanding issues, so i'll go ahead and merge it.16:47
fungithanks for that, i'll try to narrow down what urwid commit(s) broke the depends on and needed by fields16:47
fungimaybe that'll provide a clue as to how to solve them16:47
corvusfungi: yeah, we're gonna need that too16:48
fungi101 commits on urwid from release-2.0.1 to release-2.1.016:50
opendevreviewMerged ttygroup/gertty master: Correctly locate cursor in hypertext widgets
corvusmrkiko: we've merged one change that should provide a noticeable improvement if you want to update to git master; hopefully we can get the rest done soon.16:51
melwittthis might be a dumb question but I was wondering, if I have a stack of several patches and one at the bottom Depends-On a change in another repo, will all the following patches in the stack also depend on it?16:52
corvusmelwitt: yes16:53
melwittsweet. thanks16:53
fungizuul considers all the transitive dependencies of any change, whether implied or explicit, to be part of the set it should test16:57
fungiwow, skimming those 101 urwid commits, some have titles like "I love cheese." or "And again." or "Damn you Travis."17:01
fungicute, but unhelpful17:01
clarkbfungi: I'm often reminded that I should be grateful for our culture of writing decent commit messages17:02
corvusyeah that's no way to run a railroad17:02
fungicorvus: no idea why yet, but is where it stops working17:12
fungireally just added a check for if hasattr(self._topmost_widget, "mouse_event")17:13
fungireverting that doesn't bring back the behavior though, so the history may not be entirely linear so there could be another commit involved17:15
*** ysandeep|out is now known as ysandeep17:17
fungiyeah, more likely it's dd5414f Merge branch 'columns-selectable'17:17
fungialso reverting 95bc645 and 018509d from that series seems to have fixed it, so hopefully i can narrow it down to one of the two17:25
fungicorvus: reverting on top of master fixes the behavior for me, and that commit does look more likely to have changed behavior there17:28
fungiseems like maybe it's thinking those aren't supposed to be selectable?17:29
fungiprobably the if w.selectable() check is failing for them17:30
corvusfungi: thanks!18:04
fungiof course, i'm still trying to work out for sure if that's the case and why it might cause that, but it's a start18:06
*** ysandeep is now known as ysandeep|out18:17
fungicorvus: also is necessary for me to be able to install gertty without forcing an alembic downgrade18:35
corvusfdegir: ++ we'll get all of those eventually :)18:36
corvusfungi: ^ sorry fdegir 18:36
fungino prob18:36
opendevreviewMerged ttygroup/gertty master: Import alembic.migration
fungiand yeah, it was just a copy of how you fixed the same issue in zuul18:36
fungiwell, i've so far worked out that forcing _selectable = True when initializing ChangeButton widgets doesn't work around the related changes selection problem, i'm still fumbling around trying to grok urwid18:38
fungioh, or maybe the super() was overriding that18:40
funginope, not it18:40
fungioh, right, rows winds up in a pile, and the offending urwid commit defaulted piles to have _selectable = False18:55
fungithough naively switching that in the instantiated pile doesn't seem to help18:57
fungiswapping the default on the Pile class in urwid does fix it though, so maybe i'm just not properly updating the pile after setting it selectable19:00
fungiaha, nope, i was on the right track, just setting it on the wrong object19:11
fungii have a simple gertty patch that's working with latest urwid there now, but my internet provider has picked this moment to stop letting me make new outbound connections for some reason19:25
fungioh, or it's that gerrit is down19:27
fungiis anyone else having trouble reaching gerrit (over ipv4 or ipv6)?19:27
fungichecking the nova api at vexxhost19:28
fungisays the instance is "active"19:30
fungino errors on the server's console, and it's responsive19:31
fungii can reach over both ipv4 and ipv619:33
fungibut it also can't reach the gerrit server19:34
fungi says things are peachy19:35
fungiinfra-root: any opinions on what to do next?19:35
ildikovyep, a few of us are doing an OpenStack training today and Gerrit is certainly down19:37
funginow it's taking forever for me to get a response back from the nova api in vexxhost ca-ymq-119:38
fungithanks for confirming ildikov!19:39
ildikovfungi: np19:39
melwittsame here19:39
melwitt(gerrit)19:39 took too long to respond. ERR_CONNECTION_TIMED_OUT19:39
ildikovnot sure what else I can do, but will monitor the channel here to keep the training participants up to date19:39
ildikovI hope it's something easy to fix!19:40
simondodsleydon't we all.... :)19:40
fungimnaser: any chance you have a moment to see if the port for server instance 16acb0cb-ead1-43b2-8be7-ab4a310b4e0a ( has become disconnected or something?19:40
mnaserfungi: yes, we've got a weird issues going on here with neutron.  it's being worked/restored on, the port should be reappearing19:40
clarkbfungi: sorry was away from the keyboard19:40
fungimnaser: thanks for the heads up!19:40
clarkbah ok sounds like something we can't fix ourselves /me will wait patiently19:41
ildikovsimondodsley: that was the most clever thing I could come up with to say on Friday afternoon, lol19:41
fungiour graphs indicate cacti lost contact with review between the 19:10 and 19:15 utc snmp polls19:42
fungi#status notice The Gerrit server has become unreachable as of approximately 19:10 UTC due to a networking issue in the provider, but should be reachable again shortly19:43
opendevstatusfungi: sending notice19:43
-opendevstatus- NOTICE: The Gerrit server has become unreachable as of approximately 19:10 UTC due to a networking issue in the provider, but should be reachable again shortly19:43
clarkbfungi: I think we still use a cinder volume on review to host the review_site contents19:45
clarkbfungi: when this is resolved we may need to check that that wasn't impacted?19:45
clarkb(I'm not sure how that is attached under the hood but if it relies on that network port...)19:45
fungiyeah, i'll have a look once i can reach it again19:46
fungigood call19:46
fungiooh, it seems to be back up19:48
mnaserclarkb: it shouldn't be impacted, this was only neutron-network facing19:48
fungiyeah, no sign of block device disconnects in dmesg19:48
fungiwe proabably tossed a few change merges if zuul finished testing things in gate pipelines while gerrit was unreachable19:49
fungigerritbot seems to have not reconnected to it though, i'll give it a swift kick19:50
Clark[m]Zuul changes can always be rechecked19:50
fungi#status log Restarted Gerritbot to reestablish its connection to the Gerrit server19:51
opendevstatusfungi: finished logging19:51
fungizuul seems to still be happy, it reported on a change i pushed immediately after gerrit came back19:52
fungicorvus: not sure if is a proper fix or a clumsy one, but it seems to be working here with latest urwid now19:53
Clark[m]The reconnect code in zuul is aggressive19:55
corvusfungi: it might be worth seeing if we need to implement a selectable method for the things we put in the pile, but if that looks hard, 812214 is certainly an improvement :)20:03
fungii'll look for an example of that once i'm done with dinner prep20:12
fungisince it's just inline instantiating urwid.Pile objects, i expect implementing a selectable method for the pile would require a new class20:13
fungibut maybe the objects within the pile being selectable would work, you're suggesting?20:14
fungi(instead of making the pile itself selectable)20:15
clarkbfungi: do we need another status notice to let people know gerrit is back? or just expect them to figure that out on their own?20:32
fungiit came back about the time i sent the initial notice, i figured best to not spam them20:53
corvusit did say reachable shortly.  i think we're covered.20:54
*** dviroel is now known as dviroel|out21:24
anticw(sorry, was looking for a bot reply)21:47
fungii can be a bot if you need22:05
opendevreviewJeremy Stanley proposed opendev/system-config master: Setting Up Ansible For ptgbot
fungidiablo_rojo_phone: ^ pushed some fixes noted on the last patchset22:13
fungionce test results come back on that, i'll see what else needs fixing up22:16
mrkikocorvus: fungi: thanks a lot!!!!!!!! you've been, and are, very very helpful! I'm going to test it ASAP! I was reading the IRC history := . thanks a lot. Really. I'll let you know!22:30
fungimrkiko: glad i could help, definitely let us know if the new patches are helping at all. i don't have a screen reader set up to test with, so mostly guessing22:52
fungicorvus: it's not clear to me what shadowing the inherited selectable() method would accomplish since all it seems to do is return the self._selectable attr anyway:
fungii guess we could shadow it with a method which just always returns true?23:13
fungiwould i implement that in the ChangeButton class?23:13
corvusfungi: yeah, that sounds like the urwid way to do it23:17
fungifwiw, making the ChangeButton class always selectable (either with an always true selectable() method or with the _selectable attr set true) doesn't seem to solve the problem like making the Pile selectable does23:17
corvusi'm seeing a problem with bindep on debian testing:
fungiwe're instantiating urwid.Pile directly though, so would need a custom class inheriting from that instead i guess23:18
corvusif that doesn't jump, search for "LooseVersion"23:18
corvusit's a python traceback in bindep23:18
corvusAttributeError: 'LooseVersion' object has no attribute 'version'23:19
corvusanyone understand that?23:19
fungiyeah, i'm guessing it's the distutils there having a problem23:20
corvusthat's on debian testing-23:22
fungiprobably bindep was relying on something which got remove from distutils23:22
fungitrying to see if i can spot it23:22
fungifrom distutils.version import LooseVersion as as_ver23:22
fungiso the as_ver() in that traceback is distutils.version.LooseVersion()23:23
fungidistutils is in the process of being split out from stdlib, and this may be related23:23
fungii need to figure out which distutils it's using23:23
fungithough i guess it's the stdlib one since it's /usr/lib/python3.9/distutils/version.py23:24
fungicorvus: ooh, looks like we prefer to import packaging.version.parse for that instead of distutils.version.LooseVersion23:31
fungicorvus: so my guess is that the former only works if the packaging library is installed, while the latter only works on old python stdlibs23:31
fungieither the python3-packaging deb or packaging from pypi23:32
fungiprobably we should use an environment marker to have bindep require packaging if python_version is new enough to support it23:33
opendevreviewJeremy Stanley proposed opendev/bindep master: Require packaging
fungicorvus: ^ i'll tweak that with an appropriate python_version once i see which jobs fail for it23:37
corvuscool thanks; i was able to unblock zuul-preview by pinning to buster23:37
corvusthat's probably what testing was the last time we build that image anyway :)23:37
fungibullseye was testing up until a couple months ago23:39
fungior maybe a month ago23:39
fungibuster was stable, now oldstable23:39
fungibookworm is now testing23:39
corvusmaybe it was bullseye; but i really wouldn't put it past being buster :)23:40
fungitoo many b release codenames in a row for my taste23:40
corvusthat project basically never changes23:40

Generated by 2.17.2 by Marius Gedminas - find it at!