Monday, 2024-01-22

simondodsleyIs there a problem with review.opendev.org. Can't get my CI system to connect. Getting `Received disconnect from 199.204.45.33 port 29418:12: Too many concurrent connections (96) - max. allowed: 96` when try to get the gerrit version using SSH.16:06
simondodsleyThis is when trying to set up SoftwareFactory to build a third party CI16:07
clarkbsimondodsley: you're hitting a built in connection limit failsafe16:11
clarkbthe user you are using already has 96 connections over ssh and we aren't allowing you to make more16:11
simondodsleyhow is that possible? the user is only being run by the SoftwareFactory build commnad. Are these historical connections that are dead?16:12
clarkbsometimes this can occur if you have an aggressive firewall killing idle connections without sending appropriate reset/fin type packets back to the server16:12
clarkbmaybe. I would start with a quick investigation on your end to see if you have a bunch of open ssh connections16:12
clarkbif not thne you may need to look into the firewall possibility16:12
simondodsleythanks - I'll check that out16:13
fungisimondodsley: if it helps, all 96 connections are from the same ip address, so it likely is stale/dead sockets16:46
simondodsleythanks fungi16:46
simondodsleystruggling with softwarefactory - refusing to start16:47
clarkbfungi: did a change get pushed for the pbr testing thing yet? I feel like I had an idea over the weekend that I didn't write down and now its gone17:17
clarkbmaybe it was to cave and make pbr a pep517 package then have working build isolation17:18
clarkbok one tricky thing with that is that pbr currently relies on itself and relative code paths to install the hooks for setuptools17:21
clarkbI wonder if we can do requires . in the pyproject.toml but how do you do that without a chicken and egg problem17:22
clarkbhttps://github.com/pypa/setuptools/blob/main/pyproject.toml#L3-L4 maybe we do something like this17:22
clarkboh wait no the pbr setup.py isn't a full blown pbr setup.py its only relying on a specific function which I think may continue to work with relative paths if we do pyproject.toml and just list setuptools17:23
* clarkb tests this17:23
fungiclarkb: i think where we ended was "we can just serialize the tests, they're fast anyway"17:26
fungibut no, i didn't push a change for that. timburke had already talked about doing that anyway, but not sure if he's still interested now that the change which was hitting those concurrency issues merged (though he has a couple more stacked up behind it too)17:27
fungii agree that the root of the problem is that our "unit tests" for pbr can't reliably mock pip interactions, so we're stuck calling out to it and dealing with its side effects and incomplete solutions for concurrent processes17:28
fungiand just accepting that is less work that trying to fight against it17:29
timburkei can go ahead and push that up, see if it seems to make tests more reliable. i don't think the other patches were stacked, exactly; just blocked waiting on having a functional (py2) tempest-full17:29
fungiyeah, i didn't mean to imply there was a get relationship between them, just that you couldn't merge them until that other fix landed17:29
fungis/get/git/17:30
clarkbok I did a quick test of switching pbr over to pyproject.toml and we still end up with a build/ dir. The problem there is that pbr relies on setuptools and setuptools is going to make the build/ dir17:31
clarkbfor this reason we should proceed with the serial test runs17:31
clarkbalso build isolation doesn't mean what you think it means apparently17:31
fungiyeah, "build isolation" means isolation from python packages installed in the calling environment, but using a venv17:32
fungii had just hoped that it also might try not to step on the toes of other build processes happening at the same time17:33
clarkbI think we do serial tests or do a full copy of the source tree and then install out of that. Honestly serial seems simple and fast enough here17:33
fungiclearly that's out of scope17:33
fungiyep, i concur17:33
opendevreviewTim Burke proposed openstack/pbr master: Serialize tests  https://review.opendev.org/c/openstack/pbr/+/90631017:36
fungithe remaining changes should hopefully merge much fasted after that ^17:38
clarkblooks like setuptools is also basically going to always delete these dirs. I really wonder if they would accept a tmpdir patch instead17:39
clarkbprobably not since I think the code paths are deep in legacy stuff they probably want to fully refactor/remove rather than improve17:39
fungiyeah, the "cleaning" is probably responsible for the enoent/file-not-found errors17:39
clarkbyup17:40
clarkbits trying to delete a dir/file that was already cleaned up by another install process17:40
opendevreviewMerged openstack/pbr master: Serialize tests  https://review.opendev.org/c/openstack/pbr/+/90631021:51

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