Tag Archives: human

Config Management Camp

This was my first time at the Config Management Camp in Gent and I had a great time and you’ll see from my notes below that it was definitely worth it.

Day 1

  • Recommendation: use find-nodes from PuppetDB with i parallel SSH (pssh).
  • Services resiliance depends on human resiliance (HumanOps).
  • tiny puppet installs applications on any OS (slides):
    • e.g. tp install puppetdb
    • tinydata is the default source for application data.
  • Vox Pupuli maintain abandoned puppet modules.
  • Reading recommendation: Thinking in Systems: A Primer, by Donella Meadows.
  • Puppet extensions:
    • Ruby functions can take lambda arguments.
    • dalen-puppetdbquery query_resources function to find other nodes resources.
    • Puppet faces allows new puppet subcommands (dalen-puppetls).
  • Foreman unknown gems (slides):
    • Foreman hooks plugin.
    • Trends show changes over time.
    • Bookmark searches. Puppet can ask the search API for information with puppet-foreman module.
    • Class import has rules to hide things in the UI.
    • hammer ssh -c ‘uptime’ -s ‘architecture=…’
    • foreman-rake hosts:scan_out_of_sync
    • There are several Foreman UI themes.
    • API docs are available in your Foreman instance as http://foreman/apidoc
  • Types and providers:
    • require “wirble” in ~/.irbrc
    • Pro tip: use Puppet types and providers for managing web APIs.

Day 2

  • Inspiring story by Annie Hedgpeth, My Journey Into Technology Through Inspec (video).
  • Getting data to the end user:
    • Memex maps the Dark Web.
    • NASA beards like GitHub, sysadmins don’t.
    • juju allows users choose their applications, configure and scale them.
  • Someone mentioned that libral (a native Resource Abstraction Layer) seemed interesting.
  • Quality automation with rudder-dev (slides)
  • undef: refactoring old puppet code (slides)
    • Puppet 3.x is EOL.
    • Hiera overload, bloated YAML. Clean it up!
    • Lack of validation/CI:
      • Syntax error should not be deployable.
      • Fix style with puppet-lint -f
      • rspec-puppet to test special cases.
      • Beaker or Test Kitchen for acceptance tests.
    • VCS top notch:
      • Make it easy as possible to avoid mistakes.
      • Put full context in the commit message.
      • Use the body to explain what and why, not how.
      • Commit often, perfect later, publish once.
      • The git pickaxe shows you how to find any text in the commits.
      • GitMagic helps setting contribution guidelines.
    • Make newbie experience better:
      • Start with control-repo.
      • Pick supported forge modules, then pick approved ones.
      • puppet module skeleton
      • Write as little as possible.

Hope you find the notes useful. Let me know if you have any questions.