Feature #3408
Add compression support to puppet client
| Status: | Closed | Start date: | 03/23/2010 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | % Done: | 0% |
||
| Category: | network | |||
| Target version: | 2.6.0 | |||
| Affected Puppet version: | 0.25.4 | Branch: | http://github.com/masterzen/puppet/tree/tickets/testing/3408 | |
| Keywords: | ||||
| Votes: | 1 |
Description
When the puppetmaster is used with nginx, or some other similar server, compression can be easily configured and support should be added to the puppet client to take advantage with used over WAN links.
I have had some experience with Juniper WAN optimizers and the stats for compressing puppet comms are quite good and prompted me to request this feature.
25% compression of the puppet sessions is easily achieved by the Juniper devices.
Related issues
History
Updated by Brice Figureau about 2 years ago
Ben – wrote:
When the puppetmaster is used with nginx, or some other similar server, compression can be easily configured and support should be added to the puppet client to take advantage with used over WAN links.
I have had some experience with Juniper WAN optimizers and the stats for compressing puppet comms are quite good and prompted me to request this feature.
25% compression of the puppet sessions is easily achieved by the Juniper devices.
I wish it would be possible, unfortunately puppetd uses the stdlib Net::Http library (mostly to limit the client dependencies) which under ruby 1.8 is pretty limited. For instance it doesn’t support compression (this is supported in ruby 1.9, though).
Although it might be possible to add support for compression easily with this lib: http://griffin.oobleyboo.com/files/http_encoding_helper/http_encoding_helper.rb
Updated by Ben - about 2 years ago
I am aware of the lack of support in ruby 1.8, but the benefits of implementing this for users who utilize puppet in a WAN environment would be huge. I did even looking at wrapping it up with an openvpn compression only tunnel or stunnel with compression enabled but those options are messy.
I would like to see support when running with ruby 1.8 as most of my clients are RHEL5, the http_encoding_helper looks good as it appears to use all standard libraries.
Even enabling support when ruby version is 1.9 or above would be a start.
Updated by Brice Figureau about 2 years ago
- Category set to network
- Status changed from Unreviewed to Accepted
- Assignee set to Brice Figureau
I started working on this topic, it will be part of the work I’m doing for #3373.
Updated by Brice Figureau about 2 years ago
- Status changed from Accepted to In Topic Branch Pending Review
- Assignee changed from Brice Figureau to Markus Roberts
- Target version set to 2.6.0
- Branch set to http://github.com/masterzen/puppet/tree/tickets/testing/3408
I sent the patch to puppet-dev, waiting for review.
The patch for testing is available in the tickets/testing/3408 branch in my github repository: http://github.com/masterzen/puppet/tree/tickets/testing/3408
This patch is on top of #3373.
Updated by Markus Roberts about 2 years ago
- Status changed from In Topic Branch Pending Review to Merged - Pending Release
Updated by Ben - almost 2 years ago
Can I get a patch for 0.25.5 to enable client compression support?
Updated by James Turnbull almost 2 years ago
Unfortunately those patches are built on the development branch and I do not believe it will be possible to back port them to the 0.25.x branch.
Updated by Markus Roberts almost 2 years ago
- Status changed from Merged - Pending Release to Closed
Pushed to master in commit:052f98fdac20af4593372ecedaa13af97664a482