One case for using Puppet.
occasionally subtle

JVL
art blog(derogatory)
KIROKAZE

Kiana Khansmith

Kaledo Art
Peter Solarz
almost home
Keni

styofa doing anything
Alisa U Zemlji Chuda

â
i don't do bad sauce passes
Claire Keane
DEAR READER
NASA

titsay
Show & Tell
Today's Document

seen from TĂźrkiye

seen from Canada

seen from United States

seen from United States

seen from Czechia

seen from Singapore
seen from Indonesia

seen from TĂźrkiye

seen from United States
seen from United States
seen from United States

seen from India
seen from United States
seen from Germany
seen from Romania

seen from Malaysia

seen from TĂźrkiye
seen from France
seen from United States

seen from Bulgaria
@grockdevops
One case for using Puppet.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch ⢠No registration required ⢠HD streaming
Docker and Vagrant are two solutions that take different roads to solving the limitations of the traditional VM - learn more in this article.
Welcome to the Puppet Labs Documentation Site: Curated documentation for Puppet and Puppet Enterprise
Richard M. Stallman on Free Software (from archive.org)

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch ⢠No registration required ⢠HD streaming
Provisioning with Vagrant: Slideshare
This is a quick getting started tutorial for Vagrant to help you get your foot in the door. The official documentation is fantastic at getting you started as well, but this article is geared more towards the absolute beginner and will cut directly to the chase on certain things. This in no way is a [&]
Vagrant will be an essential piece of your tool chain.
Before devops, there's basic system admin. Get to know the Linux file hierarchy standard (FHS): This diagram is from this article, which does a fine job of explaining things.
DevOps
DevOps is the practice of combining metrics and team dynamics for the purpose of enabling continuous change.Â
Metrics - business metrics, application metrics, and performance metrics.
Team dynamics - specialists working together closely or in blended roles to affect change in response to metrics.
Continuous change - to the business, product, features, and operational performance.
Philip Soares - asked to define DevOps
Some tips on getting started with Vagrant and Chef
We have recently switched from a manually configured development environment to a nearly fully automated one using Vagrant, Chef, and a few other tools. With this transition, weâve moved to an environment where data on the dev boxes is considered disposable and only whatâs checked into the SCM is ârealâ. This is where weâve always wanted to be, but without the ability to easily rebuild the dev environment from scratch, itâs hard to internalize this behavior pattern. Cruft builds up in the dev boxes, and it starts to slowly drift out of sync unless a lot of manual intervention is applied. Rebuilding the VM is not something youâll want to do (or have to do) very frequently, but itâs a good feeling to know that you can with very little pain, if itâs needed. This still doesnât completely eliminate development cruft, but the hope is that it can significantly cut down on it. If youâre worried about running vagrant destroy, thatâs a hint that you might have done something wrong.
This post covers our ruby dev environment on Mac hosts. For other platforms it will be slightly different, but the principles are the same - use vagrant to manage your underlying machine configuration, automate as much of the rest as you can, and keep all important data resident off your dev boxes, checked into scm or using another redundant remote mechanism. As someone whoâs been doing unix system administration as a sideline to development for about 20 years, Iâm really impressed at the extent to which the automation tools have improved in the past few years. I did not have any direct experience with configuring chef when I started this, though Iâve been familiar with the concepts and have used other automated configuration and deployment mechanisms.
The configuration took a few days of solid effort to get up and working to the point where it was usable, and then a few more days to work out the kinks and figure out our preferences. While working through it, it was pretty easy to identify what the next step was given what wasnât working. Work your way clockwise around the diagram - get vagrant up and running, then do base installs, then work on getting your source tree in place, then get it working, then import dev data.  Instead of distributing ssh keys to the individual VMs, we use agent forwarding to allow each VM to use the keys from its host. The final config consists of only a handful of files. Depending on the complexity of your environment, you may need some additional scripts:
The Vagrantfile which determines the vagrant and chef configuration.
A Cheffile which specifies to librarian-chef which cookbooks to get.
A custom shell script which populates ssh config files, sets up user and database permissions, and performs project checkouts with the appropriate rvm environment.
A shell script to run on the host to add the hostâs ssh keys to ssh-agent (probably automated by launchd).
A custom /etc/hosts file to insert into the VM config.
These files are checked into SCM, so bringing up a new dev box is only a few steps (all but the last step only ever need to be done once per machine):
Install virtualbox:Â https://www.virtualbox.org/wiki/Downloads
Install vagrant:Â http://downloads.vagrantup.com
Make sure your key is on the server for the dev config checkout.
Check out the dev config repository.
Run the ssh-add script to bring your keys into the ssh-agent.
Install librarian-chef using any local ruby (gem install librarian-chef)
Install the librarian chef vagrant plugin, so vagrant will automatically fetch your cookbooks (vagrant plugin install vagrant-librarian-chef)
Set up any local path location and config variable overrides in ~/.vagrant.d/Vagrantfile (optional)
Bring up your dev environment with vagrant up.
We use vagrant synced folders to mount selected folders in the hostâs Dropbox folder and the separate project tree where checkouts are placed, to share these files between the VM and the host, both for letting developers use their own Mac-native environment to edit files in the source tree and for importing data via dropbox (Rather than checking them into scm, our database test packs are distributed via dropbox, and the provisioning script looks for them there to do the initial import.). Chef handles getting the proper ruby versions installed, and then bundler ensures that the gems needed for each project are present. We have used bundle package and checked in our vendor/cache folder, which greatly reduces the amount of time it takes to install gems.
With this configuration, the VM has its own copies of the databases and its own source trees. The databases and local configuration files (with some critical exceptions that are always overwritten at provisioning time) are wiped out in the case of a vagrant destroy, but otherwise preserved. The source trees are always synced with the host, so they will survive the destruction of the VM, but they can of course be manually wiped if needed.
Some random notes:
There was some complexity in having the provisioning shell scripts running as the vagrant user (instead of the default, which is root), with access to the ssh keys via the ssh-agent forwarding. The best solution I found was to make a separate script file, then call it with sudo -u from the provisioner. All of the configuration that needs to be done as the vagrant user (rvm setup, bundler installs, scm checkouts, environment config etcâŚ) goes into that script.
The default VM runs with very little RAM and only one CPU, which makes compiling (especially new rubies under rvm) extremely slow. Youâll want to bump this up.
Thereâs a balancing act between what should be configured by chef and whatâs easier to just do with shell commands. Most of the simple configuration settings and individual packages are easier to do with the command line.
There seems to be an intermittent issue where a suspended VM will be unable to pick up a DHCP ip address upon resuming, which causes it to hang indefinitely. An interim solution (found in this post) to this seems to be to execute VBoxManage guestcontrol <vagrant machine id> exec â/usr/bin/sudoâ âusername vagrant âpassword vagrant âverbose âwait-stdout dhclient from the host.
I find it odd that thereâs no way to specify local Vagrantfile changes that take precedence over the project files. This means you either have to design your Vagrant config in such a way that youâre setting variables which can be overridden locally, or people have to edit the project Vagrantfile directly (and risk accidentally checking in their customizations). This seems likely to cause problems as different developers are going to want to use machines with different amounts of memory. Weâve temporarily worked around this by using global config variables and only setting them if theyâre not already set.
Vagrant uses its own config file for controlling chef commands in a way that differs from chefâs own syntax, meaning that chef configs canât be reused outside vagrant. I havenât yet found if thereâs a way to import generic reusable chef configs directly.
Our Vagrantfile (with some custom config removed) looks like this:
Setting this process up has definitely been some work, but I think itâs worth it once everybody gets set up. There are a lot of moving parts, and a lot of individual edge case problems to solve. But the nice thing about this is that once you do solve each one, those changes can be globally applied to everyone with little extra efforts. Weâve worked our way through a number of issues in a very short time - Iâd love feedback on this from experienced vagrant users.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch ⢠No registration required ⢠HD streaming
Bryan Berry:
Writing reams of documentation sucks. Chef drastically reduces the amount of documentation you have to write.
Bash doesnât scale. Seriously.
Technical Awesomeness
Chef grows with you
You can stop reinventing the wheel
Thereâs no large scale without automation. Just ask Netflix about their army of monkeys.
Original title and link: The Top 5 Reasons to Use Chef (NoSQL databaseŠmyNoSQL)
Summary
Test-Driven Infrastructure with Chef describes a rationale and an approach to developing automated tests for system infrastructure. It includes an explanation of behavior-driven development, and detailed instructions for setting up a testing system using cucumber-chef on EC2.
There are a number of configuration management tools in the market, some better suited to certain tasks than others. Let's compare Chef and Salt.
What's the difference between dev and ops again? Read here for a reminder of similarities, differences, and why finding common ground is essential as we move forward.
Explore this site full of relevant content. Search by a topic you're interested in and dive in.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch ⢠No registration required ⢠HD streaming
Learn from the best with training from the Linux Foundation. Our comprehensive Linux training includes online, classroom, and corporate training options.
Course Outline
Introduction
Linux Foundation
Linux Foundation Training
Logistics
Advanced Systems Administration
What Makes A Good Systems Administrator
"Soft" Skills and Tools
"Hard" Skills And Tools
Other Concerns
Software Management
Manual Software Lifecycle
Package Management
Creating Your Own Packages
Creating Debian Packages
Creating RPM Packages
Creating Packages of Third Party Software
Rebuilding OS supplied Packages
Advanced Packaging Tips
GPG Sign Your Packages
Packaging Automation
Preparing Packages for Automatic Building
Automation Frameworks
Software Distribution
Introduction to Software Distribution
Repository Management
Creating Repositories
Using Third Party Repositories
Mirroring Repositories
Installation Tree Management
CentOS Installation Trees
Debian/Ubuntu Install Trees
Automating Installation
Automating Installation
Automating Installation with Kickstart
Using Kickstart Files
Debian Preseed
Further Automation
Installation Tools Cobbler
Cobbler Overview
Cobbler Setup
Using Cobbler
Advanced Cobbler
Installation Tools TheForeman
Introduction to TheForeman
Installing TheForeman
TheForeman Setup
Using TheForeman
Advanced TheForeman Concepts
Configuration Management Overview
What is Configuration Management
Configuration Management Methods
Overview of Configuration Management Tools
Configuration Management Puppet
Puppet Overview
Puppet Setup
Puppet Terminology and Configuration
Puppet Operations
Puppet Operations
Advanced Puppet Concepts
Configuration Management with SaltStack
Introduction to SaltStack
SaltStack Setup
SaltStack Basics
Advanced SaltStack Concepts
Configuration Management CFEngine
Introduction to CFEngine
Configuration Management Ansible
Introduction to Ansible
Ansible Setup
Ansible Basics
Advanced Ansible Concepts
Spacewalk Server
Installing Spacewalk Server
Deploying Spacewalk Clients
Managing Changes with Spacewalk
Scripting with the Spacewalk API
Server Monitoring with Spacewalk
Server Monitoring
The Linux Foundation is committed to progressing Linux by offering free Linux tutorials and videos to the next generation of Linux developers.
Free videos for system administration training.