Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plan for Puppetboard v5 #829

Closed
gdubicki opened this issue May 2, 2023 · 4 comments
Closed

Plan for Puppetboard v5 #829

gdubicki opened this issue May 2, 2023 · 4 comments

Comments

@gdubicki
Copy link
Contributor

gdubicki commented May 2, 2023

We need to uptick the major version of the Puppetboard for at least 2 reasons:

...but perhaps we could use this opportunity to add more breaking changes?

Maybe we could do something for performance but f.e. it would cost us dropping Puppet 5 support? 🤔

@bastelfreak , @mterzo , @corey-hammerton and a recent big contributor, @lcharreau?

But of course, if anyone else wants to chip in, feel free! I just ping some people to get them notified. ☺️

@bastelfreak
Copy link
Member

Puppet 6 is dead now. I am fine with dropping Puppet 5/6 (do we eben have puppet 6 specific code?) and also dropping EoL python versions.

@gdubicki
Copy link
Contributor Author

I noticed that we currently have a few features disabled by default which may hinder discoverability of them.

I think we should enable all features by default in v5. The features in question:

If the latter would be enabled we should also think about how to configure cache and scheduler for it with reasonable defaults for typical Puppet deployments. Because I think that caching in the app memory (SimpleCache) and having the scheduler disabled by default is good mostly for development... Feel free to chip in regarding this, @lcharreau!

@bastelfreak
Copy link
Member

I like the idea to enable both. I'm not sure if any form of cache needs to be implemented. The setup from @lcharreau sounds quite nice. We could just enable the views and document the setup from #799 in the README.md. If that's not sufficient we can still think about another option or people can disable the view.

@lcharreau
Copy link

Hello.
the Class view has been deactivated by default because it is potentially (depending on the number of servers) very resource-intensive (fetching events for each report) and we have several hundred servers managed by Puppet.
We've added a cache and a scheduler to be able to pre-compute the results at regular intervals (every 5 minutes).

The SimpleCache cache is very suitable if you only have one worker. If you have several workers, it is advisable to use a common backend such as Memcached.

The scheduler allows you to request Puppetdb only for new reports, so you need to configure the interval between 2 jobs according to the time between 2 Puppet agent executions.

So to summarise, if you have few servers (I couldn't give a threshold), I think you could consider disabling the scheduler and using the "SimpleCache" cache. At each client request, we'll parse all the events from each report.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants