jms1
08/21/2025, 6:37 PMdowncase()
is the opposite of what i needjms1
08/21/2025, 6:37 PMxyz
and XyZ
to not be considered the same thing.jms1
08/21/2025, 6:38 PMif ( /^xxx$/ in $facts )
seems to do what i needvchepkov
08/21/2025, 6:39 PMfunction stuff::has_key(Hash $hash, String $key) >> Boolean {
$hash.keys.any |$k| { $k == $key }
}
jms1
08/21/2025, 6:40 PMin
hash" operator means i don't need a function call at all. even EVEN easier. đjms1
08/21/2025, 6:44 PM$module_name
variable? so in a profile::base
class, $module_name
is profile
, and (something) is profile::base
?jms1
08/26/2025, 9:22 PMpuppet infrastructure tune
take into account how many nodes a PE server is managing when calculating the values? i.e. if the same exact PE server (monolithic) is managing 20 machines vs 200 machines, will it calculate the same values? or if i do this after building the server, would it make sense to "re-tune" the server after all of the agents have started using it, to adjust for the higher load?bastelfreak
08/26/2025, 9:24 PMjms1
08/26/2025, 9:24 PMbastelfreak
08/26/2025, 9:25 PMjms1
08/26/2025, 9:28 PMpuppet infrastructure tune
change based on how many managed nodes are listed in the database and/or how often those nodes check in?bastelfreak
08/26/2025, 9:31 PMbastelfreak
08/26/2025, 9:31 PMjms1
08/26/2025, 9:32 PMbastelfreak
08/26/2025, 9:33 PMbastelfreak
08/26/2025, 9:33 PMbastelfreak
08/26/2025, 9:33 PMjms1
08/26/2025, 9:34 PMbastelfreak
08/26/2025, 9:34 PMbastelfreak
08/26/2025, 9:35 PMcsharpsteen
08/26/2025, 9:37 PMpuppet infra tune --estimate
will attempt an estimation based on average compile time. But, for best results:
⢠Set up metrics monitoring
⢠Ensure your agent runs are evenly distributed by eliminating thundering herds
⢠Add JRubies to compilers until you get to the CPU count, or a max of about 12 per compiler (Java code cache limits how far JRuby can scale vertically)
⢠Add compilers until metrics show no requests waiting for JRuby services
⢠Then, add one more compiler to give enough spare capacity to allow for reboots or other maintenancebastelfreak
08/26/2025, 9:38 PMbastelfreak
08/26/2025, 9:39 PMcsharpsteen
08/26/2025, 9:39 PMbastelfreak
08/26/2025, 9:40 PMjms1
08/26/2025, 9:50 PMpuppet infrastructure tune
command is a "quick and dirty" way to get some starting values for a newly built PE server ... unless i got something wrong, i think that's enough for what i need right now, AND it gives me a direction to move toward in the future. thank you bothbastelfreak
08/26/2025, 9:51 PMkenyon
08/26/2025, 9:53 PMpuppet infra tune
after each PE upgrade, but we really need the operational dashboards, just haven't been able to prioritize setting that upcsharpsteen
08/26/2025, 9:54 PMpuppet infrastructure tune --estimate
will give an estimated count of jrubies needed based on the node count and average compile time sourced by PuppetDB. This is done via Little's Law, which is very idealistic (it assumes no variance between nodes, i.e. no "expensive" outliers).
That number is then padded out to target 50% capacity instead of 100% as the effect of outliers on queue latency tends to go exponential around 80% saturation.
--estimate
can provide a starting point. But, the math it is able to use is very simple, therefore monitoring actual performance remains important.jms1
08/26/2025, 9:55 PM