SlideShare a Scribd company logo
Satellite 6
Automation with Puppet
Michael Lessard, RHCA
Senior Solutions Architect, Red Hat
mlessard@redhat.com
michaellessard
April 2014
Contributors :
Jerome Doucerain (Bell)
Simon Piette (Savoir-faire Linux)
2 Satellite 6 – Automation with Puppet
Agenda
● Configuration management with Satellite 5.x
● Satellite 6 new features
● Introduction to Puppet
● Demonstration
● Puppet and Satellite 6
● Why Puppet ?
● Considerations if you want to move to Satellite 6
3
Satellite 6 – Automation with Puppet
Satellite 5.x
Configuration management
4 Satellite 6 – Automation with Puppet
Satellite 5.x – Configuration management features
● Manage all of your machines configurations from one
central location
● Create configuration channels for a machines or a
group of machines
● Create new files or upload existing config files
● Manage revision, compare versions
● Deploy configuration changes as part of config
management or associate with kickstart process
5 Satellite 6 – Automation with Puppet
6 Satellite 6 – Automation with Puppet
7 Satellite 6 – Automation with Puppet
8 Satellite 6 – Automation with Puppet
Row 1 Row 2 Row 3 Row 4
0
2
4
6
8
10
12
Column 1
Column 2
Column 3
9 Satellite 6 – Automation with Puppet
10 Satellite 6 – Automation with Puppet
Satellite 5.x – Configuration management cl
[r/]# rhncfg-manager create-channel rhel6-prod
Creating config channel rhel6-prod
[r/]# rhncfg-manager add --channel rhel6-prod /etc/hosts
Using server name satellitedemo.mlc.dom
Pushing to channel rhel6-prod
[r/]# rhncfg-manager diff --channel=rhel6-prod /etc/hosts
- 192.168.100.4 vm2.mlc.dom
+ 192.168.100.56 friday.mlc.dom
[r/]# rhncfg-client get /etc/hosts
Deploying /etc/hosts
11 Satellite 6 – Automation with Puppet
Satellite 6 – Foundation
Content Management
12 Satellite 6 – Automation with Puppet
13 Satellite 6 – Automation with Puppet
14 Satellite 6 – Automation with Puppet
Red Hat Satellite 5 & 6 Core Capabilities
✔ Provision 10s – 1000s
systems
✔ Configuration Management
✔ Automated Software
Distribution
✔ Lifecycle Management
✔ Administrator Dashboard
✔ Provision 10s – 10,000+ systems
✔ Recipe-Style Configuration
Management
✔ Automated Software Distribution
✔ Refined Lifecycle Management
✔ Customizable Dashboards
✔ Simplified Content Management
✔ Drift Management
✔ Federated Services &
Management
✔ Deploy on VMware, RHEV, EC2,
and OpenStack
Red Hat Satellite 5 Red Hat Satellite 6
15
Satellite 6 – Automation with Puppet
Introduction to Puppet
16 Satellite 6 – Automation with Puppet
What is Puppet ?
● Think of it as infrastructure code
● Describe stats, no step
● Paint a picture of your ideal and most clean system
Puppet does the rest
● Puppet focuses on managing constructs like users,
services and packages
● Puppet can detect the current state of the system
(Facter)
● Won’t make changes unless necessary
17 Satellite 6 – Automation with Puppet
Puppet Architecture
18 Satellite 6 – Automation with Puppet
PUPPET DSL
Example – managing ntp services with puppet
class ntp {
package { "ntp":
ensure => installed,
}
file { "ntp.conf":
path => '/etc/ntp.conf',
ensure => file,
require => Package[ "ntp" ],
source => "puppet:///modules/ntp/ntp.conf",
}
service { 'ntp':
name => 'ntpd',
ensure => running,
enable => true,
subscribe => File[ "ntp.conf" ],
}
}
PACKAGEPACKAGE
CONFIGURATIONCONFIGURATION
SERVICESERVICE
19 Satellite 6 – Automation with Puppet
Example – managing sshd service
class sshd {
augeas { "sshd_config":
context => "/files/etc/ssh/sshd_config",
changes => [
"set PermitRootLogin yes",
"set UsePAM no",
],
notify => Service[ "sshd" ]
}
service { "sshd":
ensure => running,
enable => true,
hasrestart => true,
}
}
20 Satellite 6 – Automation with Puppet
How does Puppet know about your system ?
● Using the Ruby library Facter
● Facter supports a large numbers of predefined facts
● Customs facts can be defined
# facter
architecture => x86_64
bios_vendor => Seabios
bios_version => 0.5.1
blockdevices => vda,vdb
interfaces => eth0,lo
ipaddress => 172.16.27.44
ipaddress_eth0 => 172.16.27.44
is_virtual => true
kernel => Linux
kernelmajversion => 2.6
kernelrelease => 2.6.32-431.el6.x86_64
kernelversion => 2.6.32
etc, ...
21
Satellite 6 – Automation with Puppet
Installation
22 Satellite 6 – Automation with Puppet
Installation Puppet server (RHEL 6)
[r/]# rhn-channel -a -c rhel-x86_64-server-optional-6
[r/]# rpm -ivh http://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm
[r/]# yum install puppet-server puppet
[r/]# puppet --version
3.4.3
[r/]# chkconfig puppetmaster on ; service puppetmaster start
[r/]# chkconfig puppet on ; service puppet start
DON’T FORGET DNS RESOLUTION AND TIME SYNCHRONISATION
23 Satellite 6 – Automation with Puppet
Installation Puppet client (RHEL 6)
[r/]# rhn-channel -a -c rhel-x86_64-server-optional-6
[r/]# rpm -ivh http://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm
[r/]# yum install puppet
[r/]# vim/etc/puppet/puppet.conf (add the following at the bottom)
server = puppet.example.com
runinterval = 120
report = true
[r/]# chkconfig puppet on ; service puppet start
On the puppetmaster server, sign the certs (possible to auto-sign)
[r/]# puppet cert sign puppet-client.example.com
DON’T FORGET DNS RESOLUTION AND TIME SYNCHRONISATION
24
Satellite 6 – Automation with Puppet
Demonstration
25 Satellite 6 – Automation with Puppet
First example 1/2 - deploy some files
On the puppetmaster server :
[r/]# cd /etc/puppet/modules
[r/]# mkdir -p specdirs/{files,manifests}
[r/]# vim /etc/puppet/modules/specfirs/manifest
class specdirs {
file { ['/test/','/test/etc','/test/etc/rc/','/test/etc/rc/shared']:
ensure => "directory",
owner => "root",
group => "root",
mode => "750",
}
}
26 Satellite 6 – Automation with Puppet
First example 2/2
[r/]# vim /etc/puppet/manifests/site.pp
#-----------------------------------------------------
# site.pp
#-----------------------------------------------------
include specdirs
[r/]# puppet apply /etc/puppet/manifests/site.pp
Notice: Compiled catalog for puppetmaster.mlc.dom in environment production in 0.05
seconds
Notice: /Stage[main]/Specdirs/File[/test/]/ensure: created
Notice: /Stage[main]/Specdirs/File[/test/etc]/ensure: created
Notice: /Stage[main]/Specdirs/File[/test/etc/rc/]/ensure: created
Notice: /Stage[main]/Specdirs/File[/test/etc/rc/shared]/ensure: created
Notice: Finished catalog run in 0.09 seconds
On the puppet client :
Test the communication with the server
[r/]# puppet agent --test --waitforcert 60
27
Satellite 6 – Automation with Puppet
Puppet dashboard
Installation
28 Satellite 6 – Automation with Puppet
Install Puppet – Dashboard 1/3
On the Puppetmaster server
[r/]# yum install mysql mysql-server puppet-dashboard
[r/]# vi /etc/my.cnf (add the following)
max_allowed_packet = 32M
[r/]# chkconfig mysqld on ; service mysqld start
[r/]# vi /usr/share/puppet-dashboard/config/settings.yml (change the following)
(run rake time:zones:local to find your timezone)
time_zone: 'Eastern Time (US & Canada)'
29 Satellite 6 – Automation with Puppet
Install Puppet – Dashboard 2/3
[r/]# mysql
mysql> CREATE DATABASE dashboard CHARACTER SET utf8;
mysql> CREATE USER 'dashboard'@'localhost' IDENTIFIED BY 'my_password';
mysql> GRANT ALL PRIVILEGES ON dashboard.* TO 'dashboard'@'localhost';
mysql> quit
[r/]# cd ~puppet-dashboard && rake RAILS_ENV=production db:migrat
30 Satellite 6 – Automation with Puppet
Install Puppet – Dashboard 3/3
[r/]# chkconfig puppet-dasboard on ; service puppet-dashboard start
[r/]# vi /etc/puppet/puppet.conf
[master]
reports = store, http
reporturl = http://puppet.example.com:3000/reports/upload
[r/]# touch /usr/share/puppet-dashboard/log/production.log
[r/]# chmod 666 /usr/share/puppet-dashboard/log/production.log
[r/]# chkconfig puppet-dashboard-workers on ; service puppet-dashboard-workers
start
http://puppetmaster.mlc.dom:3000
31 Satellite 6 – Automation with Puppet
32
Satellite 6 – Automation with Puppet
PUPPET AND SATELLITE 6
33 Satellite 6 – Automation with Puppet
What Puppet does than Satellite doesn’t
● Start/restart services
● Restart a service after a configuration change
● Create users, remove users
● Aware of your systems state
● Enforce something
● Manages BSD/*nix and Windows (2003, 2008, 7)
● Resources relationship
● Edit a configuration file
34 Satellite 6 – Automation with Puppet
Why Puppet ?
Puppet vs Chef vs
Ansible vs Salt
Source :
http://www.infoworld.com/d/data-
center/review-puppet-vs-chef-vs-
ansible-vs-salt-231308?page=0,0
35 Satellite 6 – Automation with Puppet
Puppet / Satellite 6 considerations
● Keep Puppet modules as modular as possible and
single tasked
● Using role and profile classes is recommended.
● This will allow users to map the modules or role and
profile classes to Satellite host groups.
● User should consider building module artifacts as
archives as if using Puppet Forge. This will allow
import of modules into Satellite 6 and for it to display
details of the module.
● Define Modulefiles for modules so dependencies are
explicitly declared
36 Satellite 6 – Automation with Puppet
Puppet / Satellite 6 considerations
● Manifests inside of modules are supported, but
manifests containing classes outside of modules will
not be supported
● The use of node definitions within manifests is not
supported
node vm1.example.com {
file { '/tmp/test.txt' :
content => "Bye bye !!n",
}
}
● Hiera function call will be supported. (Foreman, alt:
smart variables)
37 Satellite 6 – Automation with Puppet
Puppet Forge
● A community driven web service
● A repository of modules
[r/]# puppet module list
[r/]# puppet module search apache
[r/]# puppet module install puppetlabs-apache
[r/]# puppet module upgrade puppetlabs-apach –version -.0.3
http://docs.puppetlabs.com/guides/module_guides/bgtm.html
38 Satellite 6 – Automation with Puppet
39
Satellite 6 – Automation with Puppet
References
40 Satellite 6 – Automation with Puppet
References
● Convert Satellite 5 Configuration channels into Puppet
Modules : Puppetize (http://youtu.be/x-mR8EfxJZw)
● A tool that takes arbitrary local file input and outputs
puppet DSL : Lambchop
(https://github.com/thoraxe/lambchop)
● http://docs.puppetlabs.com/geppetto/latest/index.html
Integrated development for puppet : Geppetto
Eclipse module
41
Satellite 6 – Automation with Puppet
Questions ?
42 Satellite 6 – Automation with Puppet
Puppet debugging notes
● Port 8140
● Cert troubles
● yum remove puppet
● rm -rf /var/lib/puppet
● rm -rf /etc/puppet
● On master
# puppet cert list (to see which ones require a signature)
# puppet cert list --all (show all certificates)
# puppet cert clean vm1.mlc.dom
# puppet cert revoke vm1.mlc.dom
43 Satellite 6 – Automation with Puppet
Scaling Puppet
● WEBrick, default webserver, 10 nodes max
● Passenger or Mongrel
● Passenger : mod_rail or mod_rack (Apache 2 module)
● Don’t use the deamon, use cronjob
● Puppet agent --onetime
● No central host (rsync, git) - scales infinitely
● More tricks in the puppet documentation
44
Satellite 6 – Automation with Puppet
THANK YOU !
Michael Lessard, RHCA
Senior Solutions Architect, Red Hat
mlessard@redhat.com
michaellessard

More Related Content

What's hot

An introduction to terraform
An introduction to terraformAn introduction to terraform
An introduction to terraform
Julien Pivotto
 
OpenShift-Technical-Overview.pdf
OpenShift-Technical-Overview.pdfOpenShift-Technical-Overview.pdf
OpenShift-Technical-Overview.pdf
JuanSalinas593459
 
오픈스택 기반 클라우드 서비스 구축 방안 및 사례
오픈스택 기반 클라우드 서비스 구축 방안 및 사례오픈스택 기반 클라우드 서비스 구축 방안 및 사례
오픈스택 기반 클라우드 서비스 구축 방안 및 사례
SONG INSEOB
 
Building your own CGN boxes with Linux
Building your own CGN boxes with LinuxBuilding your own CGN boxes with Linux
Building your own CGN boxes with Linux
Maximilan Wilhelm
 
Full Stack Automation with Katello & The Foreman
Full Stack Automation with Katello & The ForemanFull Stack Automation with Katello & The Foreman
Full Stack Automation with Katello & The Foreman
Weston Bassler
 
DevOps with Kubernetes
DevOps with KubernetesDevOps with Kubernetes
DevOps with Kubernetes
EastBanc Tachnologies
 
FOSDEM 2017: GitLab CI
FOSDEM 2017:  GitLab CIFOSDEM 2017:  GitLab CI
FOSDEM 2017: GitLab CI
OlinData
 
Terraform 0.12 + Terragrunt
Terraform 0.12 + TerragruntTerraform 0.12 + Terragrunt
Terraform 0.12 + Terragrunt
Anton Babenko
 
Logs/Metrics Gathering With OpenShift EFK Stack
Logs/Metrics Gathering With OpenShift EFK StackLogs/Metrics Gathering With OpenShift EFK Stack
Logs/Metrics Gathering With OpenShift EFK Stack
Josef Karásek
 
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...
Amazon Web Services
 
Red Hat multi-cluster management & what's new in OpenShift
Red Hat multi-cluster management & what's new in OpenShiftRed Hat multi-cluster management & what's new in OpenShift
Red Hat multi-cluster management & what's new in OpenShift
Kangaroot
 
Kubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShift
Kubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShiftKubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShift
Kubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShift
DevOps.com
 
OpenStack Framework Introduction
OpenStack Framework IntroductionOpenStack Framework Introduction
OpenStack Framework Introduction
Jason TC HOU (侯宗成)
 
OpenStack Architecture and Use Cases
OpenStack Architecture and Use CasesOpenStack Architecture and Use Cases
OpenStack Architecture and Use Cases
Jalal Mostafa
 
Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure
Patrick Chanezon
 
Kubernetes architecture
Kubernetes architectureKubernetes architecture
Kubernetes architecture
Janakiram MSV
 
Comprehensive Terraform Training
Comprehensive Terraform TrainingComprehensive Terraform Training
Comprehensive Terraform Training
Yevgeniy Brikman
 
Docker.pptx
Docker.pptxDocker.pptx
Docker.pptx
balaji257
 
OpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platformOpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platform
Kangaroot
 
Keystone at openstack multi sites
Keystone at openstack multi sitesKeystone at openstack multi sites
Keystone at openstack multi sites
Vietnam Open Infrastructure User Group
 

What's hot (20)

An introduction to terraform
An introduction to terraformAn introduction to terraform
An introduction to terraform
 
OpenShift-Technical-Overview.pdf
OpenShift-Technical-Overview.pdfOpenShift-Technical-Overview.pdf
OpenShift-Technical-Overview.pdf
 
오픈스택 기반 클라우드 서비스 구축 방안 및 사례
오픈스택 기반 클라우드 서비스 구축 방안 및 사례오픈스택 기반 클라우드 서비스 구축 방안 및 사례
오픈스택 기반 클라우드 서비스 구축 방안 및 사례
 
Building your own CGN boxes with Linux
Building your own CGN boxes with LinuxBuilding your own CGN boxes with Linux
Building your own CGN boxes with Linux
 
Full Stack Automation with Katello & The Foreman
Full Stack Automation with Katello & The ForemanFull Stack Automation with Katello & The Foreman
Full Stack Automation with Katello & The Foreman
 
DevOps with Kubernetes
DevOps with KubernetesDevOps with Kubernetes
DevOps with Kubernetes
 
FOSDEM 2017: GitLab CI
FOSDEM 2017:  GitLab CIFOSDEM 2017:  GitLab CI
FOSDEM 2017: GitLab CI
 
Terraform 0.12 + Terragrunt
Terraform 0.12 + TerragruntTerraform 0.12 + Terragrunt
Terraform 0.12 + Terragrunt
 
Logs/Metrics Gathering With OpenShift EFK Stack
Logs/Metrics Gathering With OpenShift EFK StackLogs/Metrics Gathering With OpenShift EFK Stack
Logs/Metrics Gathering With OpenShift EFK Stack
 
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...
 
Red Hat multi-cluster management & what's new in OpenShift
Red Hat multi-cluster management & what's new in OpenShiftRed Hat multi-cluster management & what's new in OpenShift
Red Hat multi-cluster management & what's new in OpenShift
 
Kubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShift
Kubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShiftKubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShift
Kubernetes 101 - an Introduction to Containers, Kubernetes, and OpenShift
 
OpenStack Framework Introduction
OpenStack Framework IntroductionOpenStack Framework Introduction
OpenStack Framework Introduction
 
OpenStack Architecture and Use Cases
OpenStack Architecture and Use CasesOpenStack Architecture and Use Cases
OpenStack Architecture and Use Cases
 
Docker Ecosystem on Azure
Docker Ecosystem on AzureDocker Ecosystem on Azure
Docker Ecosystem on Azure
 
Kubernetes architecture
Kubernetes architectureKubernetes architecture
Kubernetes architecture
 
Comprehensive Terraform Training
Comprehensive Terraform TrainingComprehensive Terraform Training
Comprehensive Terraform Training
 
Docker.pptx
Docker.pptxDocker.pptx
Docker.pptx
 
OpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platformOpenShift 4, the smarter Kubernetes platform
OpenShift 4, the smarter Kubernetes platform
 
Keystone at openstack multi sites
Keystone at openstack multi sitesKeystone at openstack multi sites
Keystone at openstack multi sites
 

Viewers also liked

Nginx bind() to 0.0.0.0:9080 failed
Nginx bind() to 0.0.0.0:9080 failedNginx bind() to 0.0.0.0:9080 failed
Nginx bind() to 0.0.0.0:9080 failed
VCP Muthukrishna
 
How To Disable IE Enhanced Security Windows PowerShell
How To Disable IE Enhanced Security Windows PowerShellHow To Disable IE Enhanced Security Windows PowerShell
How To Disable IE Enhanced Security Windows PowerShell
VCP Muthukrishna
 
How To Install and Configure Salt Master on Ubuntu
How To Install and Configure Salt Master on UbuntuHow To Install and Configure Salt Master on Ubuntu
How To Install and Configure Salt Master on Ubuntu
VCP Muthukrishna
 
How To Configure Nginx Load Balancer on CentOS 7
How To Configure Nginx Load Balancer on CentOS 7How To Configure Nginx Load Balancer on CentOS 7
How To Configure Nginx Load Balancer on CentOS 7
VCP Muthukrishna
 
How To Configure SNMP Logging on RHEL 7
How To Configure SNMP Logging on RHEL 7How To Configure SNMP Logging on RHEL 7
How To Configure SNMP Logging on RHEL 7
VCP Muthukrishna
 
How To Protect SSH Access with Fail2Ban on RHEL 7
How To Protect SSH Access with Fail2Ban on RHEL 7How To Protect SSH Access with Fail2Ban on RHEL 7
How To Protect SSH Access with Fail2Ban on RHEL 7
VCP Muthukrishna
 
How To Install and Configure Screen on CentOS 7
How To Install and Configure Screen on CentOS 7How To Install and Configure Screen on CentOS 7
How To Install and Configure Screen on CentOS 7
VCP Muthukrishna
 
How To Check IE Enhanced Security Is Enabled Windows PowerShell
How To Check IE Enhanced Security Is Enabled Windows PowerShellHow To Check IE Enhanced Security Is Enabled Windows PowerShell
How To Check IE Enhanced Security Is Enabled Windows PowerShell
VCP Muthukrishna
 

Viewers also liked (8)

Nginx bind() to 0.0.0.0:9080 failed
Nginx bind() to 0.0.0.0:9080 failedNginx bind() to 0.0.0.0:9080 failed
Nginx bind() to 0.0.0.0:9080 failed
 
How To Disable IE Enhanced Security Windows PowerShell
How To Disable IE Enhanced Security Windows PowerShellHow To Disable IE Enhanced Security Windows PowerShell
How To Disable IE Enhanced Security Windows PowerShell
 
How To Install and Configure Salt Master on Ubuntu
How To Install and Configure Salt Master on UbuntuHow To Install and Configure Salt Master on Ubuntu
How To Install and Configure Salt Master on Ubuntu
 
How To Configure Nginx Load Balancer on CentOS 7
How To Configure Nginx Load Balancer on CentOS 7How To Configure Nginx Load Balancer on CentOS 7
How To Configure Nginx Load Balancer on CentOS 7
 
How To Configure SNMP Logging on RHEL 7
How To Configure SNMP Logging on RHEL 7How To Configure SNMP Logging on RHEL 7
How To Configure SNMP Logging on RHEL 7
 
How To Protect SSH Access with Fail2Ban on RHEL 7
How To Protect SSH Access with Fail2Ban on RHEL 7How To Protect SSH Access with Fail2Ban on RHEL 7
How To Protect SSH Access with Fail2Ban on RHEL 7
 
How To Install and Configure Screen on CentOS 7
How To Install and Configure Screen on CentOS 7How To Install and Configure Screen on CentOS 7
How To Install and Configure Screen on CentOS 7
 
How To Check IE Enhanced Security Is Enabled Windows PowerShell
How To Check IE Enhanced Security Is Enabled Windows PowerShellHow To Check IE Enhanced Security Is Enabled Windows PowerShell
How To Check IE Enhanced Security Is Enabled Windows PowerShell
 

Similar to Red Hat Satellite 6 - Automation with Puppet

Satellite 6 - Pupet Introduction
Satellite 6 - Pupet IntroductionSatellite 6 - Pupet Introduction
Satellite 6 - Pupet Introduction
Michael Lessard
 
SCM Puppet: from an intro to the scaling
SCM Puppet: from an intro to the scalingSCM Puppet: from an intro to the scaling
SCM Puppet: from an intro to the scaling
Stanislav Osipov
 
Iteratively introducing Puppet technologies in the brownfield; Jeffrey Miller
Iteratively introducing Puppet technologies in the brownfield; Jeffrey MillerIteratively introducing Puppet technologies in the brownfield; Jeffrey Miller
Iteratively introducing Puppet technologies in the brownfield; Jeffrey Miller
Puppet
 
Puppet slides for intelligrape
Puppet slides for intelligrapePuppet slides for intelligrape
Puppet slides for intelligrape
Sharad Aggarwal
 
Workflow story: Theory versus Practice in large enterprises by Marcin Piebiak
Workflow story: Theory versus Practice in large enterprises by Marcin PiebiakWorkflow story: Theory versus Practice in large enterprises by Marcin Piebiak
Workflow story: Theory versus Practice in large enterprises by Marcin Piebiak
NETWAYS
 
Workflow story: Theory versus practice in Large Enterprises
Workflow story: Theory versus practice in Large EnterprisesWorkflow story: Theory versus practice in Large Enterprises
Workflow story: Theory versus practice in Large Enterprises
Puppet
 
Enabling ceph-mgr to control Ceph services via Kubernetes
Enabling ceph-mgr to control Ceph services via KubernetesEnabling ceph-mgr to control Ceph services via Kubernetes
Enabling ceph-mgr to control Ceph services via Kubernetes
mountpoint.io
 
De-centralise and conquer: Masterless Puppet in a dynamic environment
De-centralise and conquer: Masterless Puppet in a dynamic environmentDe-centralise and conquer: Masterless Puppet in a dynamic environment
De-centralise and conquer: Masterless Puppet in a dynamic environment
Sam Bashton
 
De-centralise and Conquer: Masterless Puppet in a Dynamic Environment
De-centralise and Conquer: Masterless Puppet in a Dynamic EnvironmentDe-centralise and Conquer: Masterless Puppet in a Dynamic Environment
De-centralise and Conquer: Masterless Puppet in a Dynamic Environment
Puppet
 
Scalable systems management with puppet
Scalable systems management with puppetScalable systems management with puppet
Scalable systems management with puppet
Puppet
 
Scalable Systems Management with Puppet
Scalable Systems Management with PuppetScalable Systems Management with Puppet
Scalable Systems Management with Puppet
Puppet
 
Integrating Puppet and Gitolite for sysadmins cooperations
Integrating Puppet and Gitolite for sysadmins cooperationsIntegrating Puppet and Gitolite for sysadmins cooperations
Integrating Puppet and Gitolite for sysadmins cooperations
Luca Mazzaferro
 
John Spray - Ceph in Kubernetes
John Spray - Ceph in KubernetesJohn Spray - Ceph in Kubernetes
John Spray - Ceph in Kubernetes
ShapeBlue
 
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdfOpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
ssuser9e06a61
 
Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...
Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...
Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...
Ajith Ramawickrama
 
PaaSTA: Running applications at Yelp
PaaSTA: Running applications at YelpPaaSTA: Running applications at Yelp
PaaSTA: Running applications at Yelp
Nathan Handler
 
Deploying PostgreSQL on Kubernetes
Deploying PostgreSQL on KubernetesDeploying PostgreSQL on Kubernetes
Deploying PostgreSQL on Kubernetes
Jimmy Angelakos
 
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
Daniel Bimschas
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
Stanislav Pogrebnyak
 
Strategies for Puppet code upgrade and refactoring
Strategies for Puppet code upgrade and refactoringStrategies for Puppet code upgrade and refactoring
Strategies for Puppet code upgrade and refactoring
Alessandro Franceschi
 

Similar to Red Hat Satellite 6 - Automation with Puppet (20)

Satellite 6 - Pupet Introduction
Satellite 6 - Pupet IntroductionSatellite 6 - Pupet Introduction
Satellite 6 - Pupet Introduction
 
SCM Puppet: from an intro to the scaling
SCM Puppet: from an intro to the scalingSCM Puppet: from an intro to the scaling
SCM Puppet: from an intro to the scaling
 
Iteratively introducing Puppet technologies in the brownfield; Jeffrey Miller
Iteratively introducing Puppet technologies in the brownfield; Jeffrey MillerIteratively introducing Puppet technologies in the brownfield; Jeffrey Miller
Iteratively introducing Puppet technologies in the brownfield; Jeffrey Miller
 
Puppet slides for intelligrape
Puppet slides for intelligrapePuppet slides for intelligrape
Puppet slides for intelligrape
 
Workflow story: Theory versus Practice in large enterprises by Marcin Piebiak
Workflow story: Theory versus Practice in large enterprises by Marcin PiebiakWorkflow story: Theory versus Practice in large enterprises by Marcin Piebiak
Workflow story: Theory versus Practice in large enterprises by Marcin Piebiak
 
Workflow story: Theory versus practice in Large Enterprises
Workflow story: Theory versus practice in Large EnterprisesWorkflow story: Theory versus practice in Large Enterprises
Workflow story: Theory versus practice in Large Enterprises
 
Enabling ceph-mgr to control Ceph services via Kubernetes
Enabling ceph-mgr to control Ceph services via KubernetesEnabling ceph-mgr to control Ceph services via Kubernetes
Enabling ceph-mgr to control Ceph services via Kubernetes
 
De-centralise and conquer: Masterless Puppet in a dynamic environment
De-centralise and conquer: Masterless Puppet in a dynamic environmentDe-centralise and conquer: Masterless Puppet in a dynamic environment
De-centralise and conquer: Masterless Puppet in a dynamic environment
 
De-centralise and Conquer: Masterless Puppet in a Dynamic Environment
De-centralise and Conquer: Masterless Puppet in a Dynamic EnvironmentDe-centralise and Conquer: Masterless Puppet in a Dynamic Environment
De-centralise and Conquer: Masterless Puppet in a Dynamic Environment
 
Scalable systems management with puppet
Scalable systems management with puppetScalable systems management with puppet
Scalable systems management with puppet
 
Scalable Systems Management with Puppet
Scalable Systems Management with PuppetScalable Systems Management with Puppet
Scalable Systems Management with Puppet
 
Integrating Puppet and Gitolite for sysadmins cooperations
Integrating Puppet and Gitolite for sysadmins cooperationsIntegrating Puppet and Gitolite for sysadmins cooperations
Integrating Puppet and Gitolite for sysadmins cooperations
 
John Spray - Ceph in Kubernetes
John Spray - Ceph in KubernetesJohn Spray - Ceph in Kubernetes
John Spray - Ceph in Kubernetes
 
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdfOpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
 
Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...
Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...
Install .Net Core, SQL Server V-Next on Linux and deploy .Net core applicatio...
 
PaaSTA: Running applications at Yelp
PaaSTA: Running applications at YelpPaaSTA: Running applications at Yelp
PaaSTA: Running applications at Yelp
 
Deploying PostgreSQL on Kubernetes
Deploying PostgreSQL on KubernetesDeploying PostgreSQL on Kubernetes
Deploying PostgreSQL on Kubernetes
 
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
2013 09-02 senzations-bimschas-part4-setting-up-your-own-testbed
 
Kubernetes 101
Kubernetes 101Kubernetes 101
Kubernetes 101
 
Strategies for Puppet code upgrade and refactoring
Strategies for Puppet code upgrade and refactoringStrategies for Puppet code upgrade and refactoring
Strategies for Puppet code upgrade and refactoring
 

Recently uploaded

Jose RIZAL History and his travel Paris to berlin
Jose RIZAL History and his travel Paris to berlinJose RIZAL History and his travel Paris to berlin
Jose RIZAL History and his travel Paris to berlin
MaryGraceArdalesLope
 
TOP 10 Historic Places To See in Kuruskhetra.
TOP 10 Historic Places To See in Kuruskhetra.TOP 10 Historic Places To See in Kuruskhetra.
TOP 10 Historic Places To See in Kuruskhetra.
ujjwalsethi113
 
欧洲杯开户-信誉的欧洲杯开户-正规欧洲杯开户|【​网址​🎉ac123.net🎉​】
欧洲杯开户-信誉的欧洲杯开户-正规欧洲杯开户|【​网址​🎉ac123.net🎉​】欧洲杯开户-信誉的欧洲杯开户-正规欧洲杯开户|【​网址​🎉ac123.net🎉​】
欧洲杯开户-信誉的欧洲杯开户-正规欧洲杯开户|【​网址​🎉ac123.net🎉​】
bljeremy734
 
Understanding the Running Costs of Electric Scooters.pptx
Understanding the Running Costs of Electric Scooters.pptxUnderstanding the Running Costs of Electric Scooters.pptx
Understanding the Running Costs of Electric Scooters.pptx
Zivah ElectriVa Private Limited
 
Winter Festivities in Italy
Winter Festivities in ItalyWinter Festivities in Italy
Winter Festivities in Italy
Time for Sicily
 
Agence Régionale du Tourisme Grand Est - brochure MICE 2024.pdf
Agence Régionale du Tourisme Grand Est - brochure MICE 2024.pdfAgence Régionale du Tourisme Grand Est - brochure MICE 2024.pdf
Agence Régionale du Tourisme Grand Est - brochure MICE 2024.pdf
MICEboard
 
Hunza Cherry Blossom tour 2025- Hunza Adventure Tours
Hunza Cherry Blossom tour 2025- Hunza Adventure ToursHunza Cherry Blossom tour 2025- Hunza Adventure Tours
Hunza Cherry Blossom tour 2025- Hunza Adventure Tours
Hunza Adventure Tours
 
TRAVEL TO MT. RWENZORI NATIONAL PARK WITH NILE ABENTEUER SAFARIS.docx
TRAVEL TO MT. RWENZORI NATIONAL PARK WITH NILE ABENTEUER SAFARIS.docxTRAVEL TO MT. RWENZORI NATIONAL PARK WITH NILE ABENTEUER SAFARIS.docx
TRAVEL TO MT. RWENZORI NATIONAL PARK WITH NILE ABENTEUER SAFARIS.docx
nileabenteuersafaris
 
Paddle, Float, and Explore The Ultimate River Tour Experience in Monitor, WA
Paddle, Float, and Explore The Ultimate River Tour Experience in Monitor, WAPaddle, Float, and Explore The Ultimate River Tour Experience in Monitor, WA
Paddle, Float, and Explore The Ultimate River Tour Experience in Monitor, WA
River Recreation - Washington Whitewater Rafting
 
Antarctica- Icy wilderness of extremes and wonder
Antarctica- Icy wilderness of extremes and wonderAntarctica- Icy wilderness of extremes and wonder
Antarctica- Icy wilderness of extremes and wonder
tahreemzahra82
 
How To Change Name On Volaris Ticket.pdf
How To Change Name On Volaris Ticket.pdfHow To Change Name On Volaris Ticket.pdf
How To Change Name On Volaris Ticket.pdf
namechange763
 
Exploring Heritage The Ultimate Cultural Tour in Palmer, Puerto Rico
Exploring Heritage The Ultimate Cultural Tour in Palmer, Puerto RicoExploring Heritage The Ultimate Cultural Tour in Palmer, Puerto Rico
Exploring Heritage The Ultimate Cultural Tour in Palmer, Puerto Rico
Caribbean Breeze Adventures
 
Get tailored experience with Stonehenge tours from London
Get tailored experience with Stonehenge tours from LondonGet tailored experience with Stonehenge tours from London
Get tailored experience with Stonehenge tours from London
London Country Tours
 
Exploring Montreal's Artistic Heritage Top Art Galleries and Museums to Visit
Exploring Montreal's Artistic Heritage Top Art Galleries and Museums to VisitExploring Montreal's Artistic Heritage Top Art Galleries and Museums to Visit
Exploring Montreal's Artistic Heritage Top Art Galleries and Museums to Visit
Spade & Palacio Tours
 
4 DAYS MASAI MARA WILDEBEEST MIGRATION SAFARI TOUR PACKAGE KENYA
4 DAYS MASAI MARA WILDEBEEST MIGRATION SAFARI TOUR PACKAGE KENYA4 DAYS MASAI MARA WILDEBEEST MIGRATION SAFARI TOUR PACKAGE KENYA
4 DAYS MASAI MARA WILDEBEEST MIGRATION SAFARI TOUR PACKAGE KENYA
Bush Troop Safari
 
MC INTERNATIONALS | TRAVEL COMPANY IN JHANG
MC INTERNATIONALS | TRAVEL COMPANY IN JHANGMC INTERNATIONALS | TRAVEL COMPANY IN JHANG
MC INTERNATIONALS | TRAVEL COMPANY IN JHANG
AshBhatt4
 

Recently uploaded (16)

Jose RIZAL History and his travel Paris to berlin
Jose RIZAL History and his travel Paris to berlinJose RIZAL History and his travel Paris to berlin
Jose RIZAL History and his travel Paris to berlin
 
TOP 10 Historic Places To See in Kuruskhetra.
TOP 10 Historic Places To See in Kuruskhetra.TOP 10 Historic Places To See in Kuruskhetra.
TOP 10 Historic Places To See in Kuruskhetra.
 
欧洲杯开户-信誉的欧洲杯开户-正规欧洲杯开户|【​网址​🎉ac123.net🎉​】
欧洲杯开户-信誉的欧洲杯开户-正规欧洲杯开户|【​网址​🎉ac123.net🎉​】欧洲杯开户-信誉的欧洲杯开户-正规欧洲杯开户|【​网址​🎉ac123.net🎉​】
欧洲杯开户-信誉的欧洲杯开户-正规欧洲杯开户|【​网址​🎉ac123.net🎉​】
 
Understanding the Running Costs of Electric Scooters.pptx
Understanding the Running Costs of Electric Scooters.pptxUnderstanding the Running Costs of Electric Scooters.pptx
Understanding the Running Costs of Electric Scooters.pptx
 
Winter Festivities in Italy
Winter Festivities in ItalyWinter Festivities in Italy
Winter Festivities in Italy
 
Agence Régionale du Tourisme Grand Est - brochure MICE 2024.pdf
Agence Régionale du Tourisme Grand Est - brochure MICE 2024.pdfAgence Régionale du Tourisme Grand Est - brochure MICE 2024.pdf
Agence Régionale du Tourisme Grand Est - brochure MICE 2024.pdf
 
Hunza Cherry Blossom tour 2025- Hunza Adventure Tours
Hunza Cherry Blossom tour 2025- Hunza Adventure ToursHunza Cherry Blossom tour 2025- Hunza Adventure Tours
Hunza Cherry Blossom tour 2025- Hunza Adventure Tours
 
TRAVEL TO MT. RWENZORI NATIONAL PARK WITH NILE ABENTEUER SAFARIS.docx
TRAVEL TO MT. RWENZORI NATIONAL PARK WITH NILE ABENTEUER SAFARIS.docxTRAVEL TO MT. RWENZORI NATIONAL PARK WITH NILE ABENTEUER SAFARIS.docx
TRAVEL TO MT. RWENZORI NATIONAL PARK WITH NILE ABENTEUER SAFARIS.docx
 
Paddle, Float, and Explore The Ultimate River Tour Experience in Monitor, WA
Paddle, Float, and Explore The Ultimate River Tour Experience in Monitor, WAPaddle, Float, and Explore The Ultimate River Tour Experience in Monitor, WA
Paddle, Float, and Explore The Ultimate River Tour Experience in Monitor, WA
 
Antarctica- Icy wilderness of extremes and wonder
Antarctica- Icy wilderness of extremes and wonderAntarctica- Icy wilderness of extremes and wonder
Antarctica- Icy wilderness of extremes and wonder
 
How To Change Name On Volaris Ticket.pdf
How To Change Name On Volaris Ticket.pdfHow To Change Name On Volaris Ticket.pdf
How To Change Name On Volaris Ticket.pdf
 
Exploring Heritage The Ultimate Cultural Tour in Palmer, Puerto Rico
Exploring Heritage The Ultimate Cultural Tour in Palmer, Puerto RicoExploring Heritage The Ultimate Cultural Tour in Palmer, Puerto Rico
Exploring Heritage The Ultimate Cultural Tour in Palmer, Puerto Rico
 
Get tailored experience with Stonehenge tours from London
Get tailored experience with Stonehenge tours from LondonGet tailored experience with Stonehenge tours from London
Get tailored experience with Stonehenge tours from London
 
Exploring Montreal's Artistic Heritage Top Art Galleries and Museums to Visit
Exploring Montreal's Artistic Heritage Top Art Galleries and Museums to VisitExploring Montreal's Artistic Heritage Top Art Galleries and Museums to Visit
Exploring Montreal's Artistic Heritage Top Art Galleries and Museums to Visit
 
4 DAYS MASAI MARA WILDEBEEST MIGRATION SAFARI TOUR PACKAGE KENYA
4 DAYS MASAI MARA WILDEBEEST MIGRATION SAFARI TOUR PACKAGE KENYA4 DAYS MASAI MARA WILDEBEEST MIGRATION SAFARI TOUR PACKAGE KENYA
4 DAYS MASAI MARA WILDEBEEST MIGRATION SAFARI TOUR PACKAGE KENYA
 
MC INTERNATIONALS | TRAVEL COMPANY IN JHANG
MC INTERNATIONALS | TRAVEL COMPANY IN JHANGMC INTERNATIONALS | TRAVEL COMPANY IN JHANG
MC INTERNATIONALS | TRAVEL COMPANY IN JHANG
 

Red Hat Satellite 6 - Automation with Puppet

  • 1. Satellite 6 Automation with Puppet Michael Lessard, RHCA Senior Solutions Architect, Red Hat mlessard@redhat.com michaellessard April 2014 Contributors : Jerome Doucerain (Bell) Simon Piette (Savoir-faire Linux)
  • 2. 2 Satellite 6 – Automation with Puppet Agenda ● Configuration management with Satellite 5.x ● Satellite 6 new features ● Introduction to Puppet ● Demonstration ● Puppet and Satellite 6 ● Why Puppet ? ● Considerations if you want to move to Satellite 6
  • 3. 3 Satellite 6 – Automation with Puppet Satellite 5.x Configuration management
  • 4. 4 Satellite 6 – Automation with Puppet Satellite 5.x – Configuration management features ● Manage all of your machines configurations from one central location ● Create configuration channels for a machines or a group of machines ● Create new files or upload existing config files ● Manage revision, compare versions ● Deploy configuration changes as part of config management or associate with kickstart process
  • 5. 5 Satellite 6 – Automation with Puppet
  • 6. 6 Satellite 6 – Automation with Puppet
  • 7. 7 Satellite 6 – Automation with Puppet
  • 8. 8 Satellite 6 – Automation with Puppet Row 1 Row 2 Row 3 Row 4 0 2 4 6 8 10 12 Column 1 Column 2 Column 3
  • 9. 9 Satellite 6 – Automation with Puppet
  • 10. 10 Satellite 6 – Automation with Puppet Satellite 5.x – Configuration management cl [r/]# rhncfg-manager create-channel rhel6-prod Creating config channel rhel6-prod [r/]# rhncfg-manager add --channel rhel6-prod /etc/hosts Using server name satellitedemo.mlc.dom Pushing to channel rhel6-prod [r/]# rhncfg-manager diff --channel=rhel6-prod /etc/hosts - 192.168.100.4 vm2.mlc.dom + 192.168.100.56 friday.mlc.dom [r/]# rhncfg-client get /etc/hosts Deploying /etc/hosts
  • 11. 11 Satellite 6 – Automation with Puppet Satellite 6 – Foundation Content Management
  • 12. 12 Satellite 6 – Automation with Puppet
  • 13. 13 Satellite 6 – Automation with Puppet
  • 14. 14 Satellite 6 – Automation with Puppet Red Hat Satellite 5 & 6 Core Capabilities ✔ Provision 10s – 1000s systems ✔ Configuration Management ✔ Automated Software Distribution ✔ Lifecycle Management ✔ Administrator Dashboard ✔ Provision 10s – 10,000+ systems ✔ Recipe-Style Configuration Management ✔ Automated Software Distribution ✔ Refined Lifecycle Management ✔ Customizable Dashboards ✔ Simplified Content Management ✔ Drift Management ✔ Federated Services & Management ✔ Deploy on VMware, RHEV, EC2, and OpenStack Red Hat Satellite 5 Red Hat Satellite 6
  • 15. 15 Satellite 6 – Automation with Puppet Introduction to Puppet
  • 16. 16 Satellite 6 – Automation with Puppet What is Puppet ? ● Think of it as infrastructure code ● Describe stats, no step ● Paint a picture of your ideal and most clean system Puppet does the rest ● Puppet focuses on managing constructs like users, services and packages ● Puppet can detect the current state of the system (Facter) ● Won’t make changes unless necessary
  • 17. 17 Satellite 6 – Automation with Puppet Puppet Architecture
  • 18. 18 Satellite 6 – Automation with Puppet PUPPET DSL Example – managing ntp services with puppet class ntp { package { "ntp": ensure => installed, } file { "ntp.conf": path => '/etc/ntp.conf', ensure => file, require => Package[ "ntp" ], source => "puppet:///modules/ntp/ntp.conf", } service { 'ntp': name => 'ntpd', ensure => running, enable => true, subscribe => File[ "ntp.conf" ], } } PACKAGEPACKAGE CONFIGURATIONCONFIGURATION SERVICESERVICE
  • 19. 19 Satellite 6 – Automation with Puppet Example – managing sshd service class sshd { augeas { "sshd_config": context => "/files/etc/ssh/sshd_config", changes => [ "set PermitRootLogin yes", "set UsePAM no", ], notify => Service[ "sshd" ] } service { "sshd": ensure => running, enable => true, hasrestart => true, } }
  • 20. 20 Satellite 6 – Automation with Puppet How does Puppet know about your system ? ● Using the Ruby library Facter ● Facter supports a large numbers of predefined facts ● Customs facts can be defined # facter architecture => x86_64 bios_vendor => Seabios bios_version => 0.5.1 blockdevices => vda,vdb interfaces => eth0,lo ipaddress => 172.16.27.44 ipaddress_eth0 => 172.16.27.44 is_virtual => true kernel => Linux kernelmajversion => 2.6 kernelrelease => 2.6.32-431.el6.x86_64 kernelversion => 2.6.32 etc, ...
  • 21. 21 Satellite 6 – Automation with Puppet Installation
  • 22. 22 Satellite 6 – Automation with Puppet Installation Puppet server (RHEL 6) [r/]# rhn-channel -a -c rhel-x86_64-server-optional-6 [r/]# rpm -ivh http://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm [r/]# yum install puppet-server puppet [r/]# puppet --version 3.4.3 [r/]# chkconfig puppetmaster on ; service puppetmaster start [r/]# chkconfig puppet on ; service puppet start DON’T FORGET DNS RESOLUTION AND TIME SYNCHRONISATION
  • 23. 23 Satellite 6 – Automation with Puppet Installation Puppet client (RHEL 6) [r/]# rhn-channel -a -c rhel-x86_64-server-optional-6 [r/]# rpm -ivh http://yum.puppetlabs.com/puppetlabs-release-el-6.noarch.rpm [r/]# yum install puppet [r/]# vim/etc/puppet/puppet.conf (add the following at the bottom) server = puppet.example.com runinterval = 120 report = true [r/]# chkconfig puppet on ; service puppet start On the puppetmaster server, sign the certs (possible to auto-sign) [r/]# puppet cert sign puppet-client.example.com DON’T FORGET DNS RESOLUTION AND TIME SYNCHRONISATION
  • 24. 24 Satellite 6 – Automation with Puppet Demonstration
  • 25. 25 Satellite 6 – Automation with Puppet First example 1/2 - deploy some files On the puppetmaster server : [r/]# cd /etc/puppet/modules [r/]# mkdir -p specdirs/{files,manifests} [r/]# vim /etc/puppet/modules/specfirs/manifest class specdirs { file { ['/test/','/test/etc','/test/etc/rc/','/test/etc/rc/shared']: ensure => "directory", owner => "root", group => "root", mode => "750", } }
  • 26. 26 Satellite 6 – Automation with Puppet First example 2/2 [r/]# vim /etc/puppet/manifests/site.pp #----------------------------------------------------- # site.pp #----------------------------------------------------- include specdirs [r/]# puppet apply /etc/puppet/manifests/site.pp Notice: Compiled catalog for puppetmaster.mlc.dom in environment production in 0.05 seconds Notice: /Stage[main]/Specdirs/File[/test/]/ensure: created Notice: /Stage[main]/Specdirs/File[/test/etc]/ensure: created Notice: /Stage[main]/Specdirs/File[/test/etc/rc/]/ensure: created Notice: /Stage[main]/Specdirs/File[/test/etc/rc/shared]/ensure: created Notice: Finished catalog run in 0.09 seconds On the puppet client : Test the communication with the server [r/]# puppet agent --test --waitforcert 60
  • 27. 27 Satellite 6 – Automation with Puppet Puppet dashboard Installation
  • 28. 28 Satellite 6 – Automation with Puppet Install Puppet – Dashboard 1/3 On the Puppetmaster server [r/]# yum install mysql mysql-server puppet-dashboard [r/]# vi /etc/my.cnf (add the following) max_allowed_packet = 32M [r/]# chkconfig mysqld on ; service mysqld start [r/]# vi /usr/share/puppet-dashboard/config/settings.yml (change the following) (run rake time:zones:local to find your timezone) time_zone: 'Eastern Time (US & Canada)'
  • 29. 29 Satellite 6 – Automation with Puppet Install Puppet – Dashboard 2/3 [r/]# mysql mysql> CREATE DATABASE dashboard CHARACTER SET utf8; mysql> CREATE USER 'dashboard'@'localhost' IDENTIFIED BY 'my_password'; mysql> GRANT ALL PRIVILEGES ON dashboard.* TO 'dashboard'@'localhost'; mysql> quit [r/]# cd ~puppet-dashboard && rake RAILS_ENV=production db:migrat
  • 30. 30 Satellite 6 – Automation with Puppet Install Puppet – Dashboard 3/3 [r/]# chkconfig puppet-dasboard on ; service puppet-dashboard start [r/]# vi /etc/puppet/puppet.conf [master] reports = store, http reporturl = http://puppet.example.com:3000/reports/upload [r/]# touch /usr/share/puppet-dashboard/log/production.log [r/]# chmod 666 /usr/share/puppet-dashboard/log/production.log [r/]# chkconfig puppet-dashboard-workers on ; service puppet-dashboard-workers start http://puppetmaster.mlc.dom:3000
  • 31. 31 Satellite 6 – Automation with Puppet
  • 32. 32 Satellite 6 – Automation with Puppet PUPPET AND SATELLITE 6
  • 33. 33 Satellite 6 – Automation with Puppet What Puppet does than Satellite doesn’t ● Start/restart services ● Restart a service after a configuration change ● Create users, remove users ● Aware of your systems state ● Enforce something ● Manages BSD/*nix and Windows (2003, 2008, 7) ● Resources relationship ● Edit a configuration file
  • 34. 34 Satellite 6 – Automation with Puppet Why Puppet ? Puppet vs Chef vs Ansible vs Salt Source : http://www.infoworld.com/d/data- center/review-puppet-vs-chef-vs- ansible-vs-salt-231308?page=0,0
  • 35. 35 Satellite 6 – Automation with Puppet Puppet / Satellite 6 considerations ● Keep Puppet modules as modular as possible and single tasked ● Using role and profile classes is recommended. ● This will allow users to map the modules or role and profile classes to Satellite host groups. ● User should consider building module artifacts as archives as if using Puppet Forge. This will allow import of modules into Satellite 6 and for it to display details of the module. ● Define Modulefiles for modules so dependencies are explicitly declared
  • 36. 36 Satellite 6 – Automation with Puppet Puppet / Satellite 6 considerations ● Manifests inside of modules are supported, but manifests containing classes outside of modules will not be supported ● The use of node definitions within manifests is not supported node vm1.example.com { file { '/tmp/test.txt' : content => "Bye bye !!n", } } ● Hiera function call will be supported. (Foreman, alt: smart variables)
  • 37. 37 Satellite 6 – Automation with Puppet Puppet Forge ● A community driven web service ● A repository of modules [r/]# puppet module list [r/]# puppet module search apache [r/]# puppet module install puppetlabs-apache [r/]# puppet module upgrade puppetlabs-apach –version -.0.3 http://docs.puppetlabs.com/guides/module_guides/bgtm.html
  • 38. 38 Satellite 6 – Automation with Puppet
  • 39. 39 Satellite 6 – Automation with Puppet References
  • 40. 40 Satellite 6 – Automation with Puppet References ● Convert Satellite 5 Configuration channels into Puppet Modules : Puppetize (http://youtu.be/x-mR8EfxJZw) ● A tool that takes arbitrary local file input and outputs puppet DSL : Lambchop (https://github.com/thoraxe/lambchop) ● http://docs.puppetlabs.com/geppetto/latest/index.html Integrated development for puppet : Geppetto Eclipse module
  • 41. 41 Satellite 6 – Automation with Puppet Questions ?
  • 42. 42 Satellite 6 – Automation with Puppet Puppet debugging notes ● Port 8140 ● Cert troubles ● yum remove puppet ● rm -rf /var/lib/puppet ● rm -rf /etc/puppet ● On master # puppet cert list (to see which ones require a signature) # puppet cert list --all (show all certificates) # puppet cert clean vm1.mlc.dom # puppet cert revoke vm1.mlc.dom
  • 43. 43 Satellite 6 – Automation with Puppet Scaling Puppet ● WEBrick, default webserver, 10 nodes max ● Passenger or Mongrel ● Passenger : mod_rail or mod_rack (Apache 2 module) ● Don’t use the deamon, use cronjob ● Puppet agent --onetime ● No central host (rsync, git) - scales infinitely ● More tricks in the puppet documentation
  • 44. 44 Satellite 6 – Automation with Puppet THANK YOU ! Michael Lessard, RHCA Senior Solutions Architect, Red Hat mlessard@redhat.com michaellessard