Ravenports / ravenadm

Administration tool for Ravenports
http://www.ravenports.com
ISC License
17 stars 3 forks source link

Feature request: Handle SIGINFO #33

Closed kraileth closed 3 years ago

kraileth commented 3 years ago

When operating in non-curses textmode, ravenadm prints a status line every 3 minutes or so that shows how much ports / variants are left to be built, how many succeeded and failed, were skipped or ignored.

It would be nice if it would print that line, too, each time it receives SIGINFO. Ideally it would then also print builder information that one would see in curses mode, e.g. which port is being built by which builder, what stage it's at and how long the builder has been running with that single port. Always displaying such verbose information would clutter the output too much, but if it's manually requested by pressing CTRL + T, it would be good to have.

jrmarino commented 3 years ago

so for SIGINFO, I have no idea. ravenadm itself is not receiving that, it would be within the builders and that's not tracked in any way. The real way to get the "curses" info in non-curses mode is to use a web browser and observe the real time report (which is actually better than curses display). The text mode was never really meant to show all the info.
maybe a keypress to get a snapshot would work. why did you specifically request "control-T"? Is that a special combination?

kraileth commented 3 years ago

Don't know about DF, but on FreeBSD ctrl-t sends SIGINFO (displays load statistics by default and various programs like cp catch it and display percentage done when copying huge files and such).

I thought that ravenadm was in control and attached to the terminal - as it prints information like "Kickoff xyz" and such to stdout. If it doesn't work that way, well it was just a thought. One of the builders didn't return for a long time and I would have liked a way to see what it's doing (it was building Ansible and later got eaten by the watchdog as it turned out from the log). But it's not really that important. You're right in that I need to investigate the real-time report (loved that with Synth but for whatever reason never tried it with Ravenadm). Is it documented on the wiki?

Unrelated info: My test server is finally running 12.2 (hit a kernel panic after upgrading but sorted things out). I've updated the jail, too, and resumed doing exp runs. First one yielded 30 fails and > 800 skips, with the second one I brought it down to 13 fails and 701 skips. Looking into the remaining problems now. Your pub key should still be on there in case you want to test something again.

jrmarino commented 3 years ago

Thanks. I'm having almost a perfect build but obviously you're catching some changes in build deps. Hopefully you installed the ravenports (sysroot etc) from the repository because I had some big issues upgrading from 11.3 (particularly the compiler) so you might too if you keep the original system root.

jrmarino commented 3 years ago

I had the same issue with ansible by the way

jrmarino commented 3 years ago

The ansible issue is a python error that doesn't stops build. I don't know why that error only happens on FreeBSD

kraileth commented 3 years ago

I tried to upgrade what I had, looking into the gnatcross ports then building the sysroot. Didn't manage to get anything that didn't break either immediately or very soon. Eventually I gave up, did a "ravensw delete -a", changed the ABI to 12 and reinstalled your Dec-28 packages for a minimal system. Then I updated ports, built and installed the current ravenadm and sysroot, re-enabled ccache and started building away.

Regarding Ansible: I've encountered it two or three times, I think. No idea what's happening there.

jrmarino commented 3 years ago

Yep, that's exactly what you should have done. I'll just mark ansible broken on FreeBSD until further notice.

jrmarino commented 3 years ago

(I might try building it with python39 first)

jrmarino commented 3 years ago

FYI, you'll need to update ravensys-root if you use ccache.

kraileth commented 3 years ago

During my last exp run Ansible did finish, BTW. It looks like the freeze doesn't happen every time. And yes, I built and installed the latest ravensys-root before re-enabling ccache. Didn't miss your latest update there. :)

kraileth commented 3 years ago

Doing another run now. Will mail you the remaining problems (likely tomorrow) that I cannot get fixed. Should we keep this issue open or rather close it?

jrmarino commented 3 years ago

I'd wait on the run. I'm still trying to get qt6 to build, then I need to regenerate a release.

jrmarino commented 3 years ago

Qt6 is tickling the same (I assume) g++ ICE that we see on filezilla so I have to build with clang.

kraileth commented 3 years ago

I see. Will look at the state of affairs when I get up again in a couple of hours. Good luck with Qt6!

jrmarino commented 3 years ago

okay, I made a new release. Everything builds on DF, so ports tree has full integrity.

jrmarino commented 3 years ago

I think once you set up a webserver allow the html version of the real-time interface, you'll be more than satisfied. It's worth the effort. closing...