On 05/09/2016 04:12 AM, christg76 wrote:
> Thanks to everyone for the comments! I think I first need to do some
> preliminary testing in order to assess the quality of the code and to
> see what the real challenges are, and to ultimately decide on a
> strategy, ie upgrade vs transition/migration.
> Ramin K: OS of the Master is Debian Wheezy. Have you actually done the
> upgrade?
> Andrew Grimberg: This approach in fact sounds as if its the best way,
> considering also what Henrik says below about new
> versions/modules/tooling/practices. But it sounds like a massive amount
> of work, particularly since we do not have any unit tests or similar in
> place. Did you have any unit tests in place with the old code, or if not
> are you implementing them with the new code?

Chris,

Our old code base had no unit testing built in. That was one of the that
I, as our puppet architect, require of all the modules that we use. The
only exception (and this is mostly due to lack of some internal tooling)
is our roles / profiles modules.

If you're interested in our puppet layout I can't give you a link to our
current configuration (as much as I want and we'll eventually have it
available) but I _can_ give you a link to all the repositories I use for
my private servers and personal puppet lab :)

I have a from nothing to fully running article that I really need to
write utilizing these at some point. That being said here's the design
what you can see in how I (and by extension the company I work for) utilize:

Master puppet repo: https://github.com/tykeal/puppetserver-main
hiera: https://github.com/tykeal/puppetserver-hiera
role module: https://github.com/tykeal/puppetserver-mod-role
profile module: https://github.com/tykeal/puppetserver-mod-profile
local_fw module: https://github.com/tykeal/puppetserver-mod-local_fw.git

Yes, that really is the hiera module that I use. I'm not concerned about
having it visible because I use the hiera-eyaml-gpg backend and all the
truly secure information is GPG encrypted, anything not encrypted isn't
all that useful. Yes, it would help someone map how my environment goes
together but you would have to be able to get in first and if you can do
that a lot of stuff ends up in the clear anyway ;)

The Puppetfile in the master repo details every single module I
presently have in my testing environments. You'll notice most are just
pinned to Forge versions, some are pinned to github checkouts for
various reasons. I'll also note that in some cases, there are modules
that are being installed that I don't actually use (gentoo/portage for
instance), they're only there so I don't get the annoying warning
displays of unmet dependencies if I do a 'puppet module list' on the
puppet master ;)

The profile, role and local_fw modules are not pinned to a specific
checkout because it is expected that the puppet master should always be
at the lastest version of those and it gets to that state after every
puppet run as there is a post run job defined for the puppetmaster
itself that forces an r10k run to happen. I had initially tried it as a
pre-puppet run but always ran into some weird issues with it that way.

-Andy-

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to puppet-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/5730A52D.4090703%40bardicgrove.org.
For more options, visit https://groups.google.com/d/optout.

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to