Ask Your Question
1

Puppet for Products? Are there any use cases for using puppet to provide updates to endusers?

asked 2014-06-17 11:35:58 -0600

Zimbotwa gravatar image

Hey all,

I am a systems integrator for a company providing ARM devices running Linux.

We're designing infrastructure for providing updates to the end user, and I am looking for a cross platform infrastructure to provide updates to our end users.

Our devices are network attached, and while I don't intend on keeping a channel open to all of our devices, I would like the devices to periodically, or as invoked by the user, fetch updates from us.

Has puppet been used in this capacity, before?

edit retag flag offensive close merge delete

2 Answers

Sort by » oldest newest most voted
1

answered 2014-06-18 04:49:16 -0600

3h4x gravatar image

updated 2014-06-18 06:59:02 -0600

You did not tell the capacity so I can only tell - everything is doable.
I reckon puppet will work weel here, you got big companies using puppet on very large infrastructure.

I think most of all you need to calculate load that puppetmaster will have. How many hosts will connect, how often, how big maifests will they transfer and if any additional stuff will be used (like PuppetDB). You can always define checks for puppet agents and make them run on unique (or almost unique) time for all the machines. Furthermore you can add puppetmasters nodes and loadbalance traffic between them.

edit flag offensive delete link more

Comments

This is for consumer grade hardware. Thousands by the end of next year. They'll have a Linux distro that is ~200MB compressed. Basically, I am recreating the APT/Windows-Update/OTA infrastructure for consumer hardware. Small updates could be once a week, with sizable updates likely once a quarter.

Zimbotwa gravatar imageZimbotwa ( 2014-06-18 15:24:24 -0600 )edit

But what does updates mean? Puppetmaster should handle state of machine like 'download package from url/repo, install it ensure it's running'. Therefor it shouldn't send and receive much data. Check out with wireshark or tcpdump what is the traffic from one node to puppetmaster :)

3h4x gravatar image3h4x ( 2014-06-18 17:47:30 -0600 )edit

I am having trouble with PPA's for Ubuntu Our platforms are ARM and we have custom code. The source package process for preparing cross built packages for PPA's isn't documented. All I want is the ability to install LTS ubuntu with a handful of additional debs. Could we use puppet for this?

Zimbotwa gravatar imageZimbotwa ( 2014-06-18 20:05:23 -0600 )edit

I don't understand. You want to install remotely Ubuntu LTS on ARM with puppet? Is that the case?

3h4x gravatar image3h4x ( 2014-06-19 06:11:55 -0600 )edit

Installation will be done at the factory. I want the user to be able to keep updated. BUT PPA's, ubuntu's repositories, aren't set up for cross building apps, so getting ARM packages built is impossible. PPA's require that all packages are built from source. This restriction is proving impossible

Zimbotwa gravatar imageZimbotwa ( 2014-06-19 07:59:36 -0600 )edit
0

answered 2014-06-19 18:59:51 -0600

spuder gravatar image

The problem with this model is scalability. While you could have each customer as a node, and your server as a puppet master, you likely would run into issues if thousands of customers try and contact your server all at once.

Paypal gave a presentation at puppetconf and they found that they couldn't get puppet to scale as much as they needed. http://puppetlabs.com/presentations/keynote-puppet-scale-–-case-study-paypals-learnings

I would suggest using a masterless puppet module that you distribute to your customers. Take a look at the following frameworks

https://github.com/theforeman/kafo
https://github.com/rodjek/librarian-puppet

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2014-06-17 11:35:58 -0600

Seen: 167 times

Last updated: Jun 19 '14