This message was deleted.
# puppet-enterprise
s
This message was deleted.
b
o/
is that on a compiler or primary?
c
only have a primary in this setup
232139	2022-10-24T10:43:19.831-04:00 ERROR [qtp651727949-5501778] [p.c.app] The deploys job failed to sync before the sync timeout was exceeded.
I just checked... no restarts of pe-puppetserver during that time. Could have just been a network hiccup just more curious of a larger issue possibly
b
there are a few different timeouts. for the whole deployment, for fetching modules from the forge, for syncing them locally, I'm not sure which timeout you hit
c
yeah me neither... our timeout_sync was increased from 300 -> 600 already so that shouldn't be it.. but normally doing a
puppet code deploy
takes like 5 min... but we are seeing runs taking 12 minutes...
something seems to be choking somewhere
b
okay that's quite slow
do you have a huge puppetfile/pull everything from external? Or IOWait on the disk?
c
I have like 29 repos... yielding 166 environments 😞
b
lol
Ok that could be the problem πŸ˜„
c
yikes, man.
c
it's like 3 hosts per environment... not real crazy... think our total node count is like 300
c
I was just thinking about all the environments. that’s still a lot. No telling what the compiler is doing to itself to parse and service all of those environments.
c
yeah we used to have split setup with 3 compilers... but since each primary should be able to handle like 4,000 hosts when we moved back to all-in-one we got rid of the compilers... might be useful to bring them back ... just not sure if "syncing" across compilers would now cause more or less of issue
s
My guess would be more. You have all the work the primary currently is doing, plus then having to distribute and sync them to the compilers.
b
you could have multiple primaries and only deploy some envs on each
c
Yeah so it's probably best not to add them... only thing that it would improve is right now when we make changes like add a project to r10k... it's done via hiera and requires
pe-puppetserver
to restart ... with compilers that wouldn't cause agent issues
b
do you have modules that have the same version in each env? you could put them in a shared module dir
and there is no chance to reduce the amount of envs?
c
yes tons of the environments will have the same core modules... some might be different versions though... but there are tons that use stdlib, firewall, snmp, etc... so there is def overlap
nope the projects are handled per project... and the environments are per environment per project inside those repos
b
meh
not an ideal setup
c
a branch gets cut for a release in dev, qa, prod and the previous one gets destroyed and then deleted
so there are no "changes" per cut environments... basically just creation... use... deletion...
@bastelfreak yeah well it was setup by PS back in the day πŸ˜‰
s
if I am understanding what you are saying correctly, that would be about the worst possible design performance-wise for how I understand Code Manager works
c
@bastelfreak couldn't even break apart environments on different primaries based on dev,qa,prod because it still would require all the same repos to be pulled in from r10k... just limits the use of which branches are used
s
limiting the number of branches/environments for a given primary probably would help
c
so it's be having to break out the primaries based on "project" which having 29 primaries is crazy... and trying to figure out which to combine together ... is just an unarbitrary mess...
@seanmil yeah well maybe today's PS would recommend something different but this was the setup based on how our projects are setup here... and it's what PS came up with. I'd be happy to revisit some changes but don't see any clear delineation of how to break things apart to reduce the number of resulting environments very easily without turning it into a management nightmare.
b
maybe engage PSE again
I would love to consult on that setup^^
c
or throw puppet out the window πŸ˜‰
b
which PE version is that?
c
The reason we aren't using shared repos for projects was because not wanting to break other projects with updates to "shared modules"... so putting shared modules in another repo probably wouldn't be ideal because that was the original reason why the per project repos were created. Everyone can agree that the resulting number of environments isn't "ideal" but based on the requirements for separation no one has any way to improve the layout πŸ˜‰ ... just loves to talk about how bad it is πŸ˜›
2019.8.11 right now... working on splitting up setup with pecdm and running a primary/replica in us-east-1 and us-west-2 ... it won't reduce the environments just split the agents to their respective regions... not there yet... and that will most likely be running 2021.7.0
b
there are some tuning options in r10k and puppetserver, there might be room for improvement. and maybe consider at least two independet setups? that would reduce envrionments per server by half
c
yeah there's just no delineation for breaking into 2 or more primaries
like front end projects and backend projects... just isn't that way exactly here...