SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
Santanu Das!
santanu@hep.phy.cam.ac.uk!
Introduction to Puppet Dashboard!
HEPSYSMAN, RAL!
10th – 11th May, 2012
Dept. of Physics!
Cavendish Laboratory!
10/05/2012 2
What is Puppet?
Puppet is the local SysAdmin
  According	
  to	
  Puppet	
  Lab:	
  “Put	
  simply,	
  Puppet	
  is	
  a	
  system	
  for	
  automa1ng	
  
system	
  administra1on	
  tasks.”	
  
  It’s	
  a	
  declara've	
  language	
  for	
  expressing	
  system	
  configura=on,	
  a	
  client	
  and	
  
server	
  for	
  distribu=ng	
  it,	
  and	
  a	
  library	
  for	
  realizing	
  the	
  configura=on.	
  
  Basically,	
  it’s	
  a	
  configura=on	
  management	
  tool,	
  performs	
  post-­‐[OS]-­‐
installa=on	
  administra=ve	
  tasks.	
  
  Takes	
  a	
  generic	
  instruc=ons	
  (e.g.	
  ensure	
  MySQL	
  is	
  installed)	
  and	
  performs	
  
the	
  task	
  the	
  “right	
  way”.	
  
  Uses	
  Facter	
  -­‐	
  a	
  system	
  assay	
  tool,	
  which	
  makes	
  system	
  informa=on	
  available	
  
to	
  Puppet	
  as	
  variables	
  -­‐	
  to	
  get	
  the	
  lay	
  of	
  the	
  land.	
  
	
  
santanu@hep.phy.cam.ac.uk, HEP
Cavendish Laboratory
[epel-puppet]
name=epel puppet
baseurl=http://tmz.fedorapeople.org/repo/puppet/epel/5/$basearch/
enabled=0
gpgcheck=0
10/05/2012 santanu@hep.phy.cam.ac.uk, HEP
Cavendish Laboratory
3
Fairly simple: yum install < puppet-server | puppet >
  Use	
  tmz	
  epel-­‐puppet	
  for	
  the	
  latest	
  version:	
  
	
  
	
  
  epel	
  is	
  s=ll	
  required	
  for	
  other	
  dependencies.	
  
  puppetlab	
  and	
  ruby	
  are	
  also	
  required	
  for	
  puppet-­‐dashboard:	
  
Installation: Various repo
[puppetlabs]
name=Puppet Labs Packages
baseurl=http://yum.puppetlabs.com/base/
enabled=0
gpgcheck=0
[ruby]
name=ruby
baseurl=http://repo.premiumhelp.eu/ruby/
gpgcheck=0
enabled=0
10/05/2012 santanu@hep.phy.cam.ac.uk, HEP
Cavendish Laboratory
4
Basic Design
Typically a Client/Server [Master/Agent] formation
  Two-­‐part	
  installa=on:	
  puppet-­‐server	
  on	
  the	
  server	
  and	
  puppet[-­‐agent]	
  on	
  
the	
  client	
  machine.	
  
  puppetmasterd	
  runs	
  on	
  server;	
  puppetd	
  runs	
  on	
  the	
  agents.	
  
  Each	
  agent	
  contacts	
  the	
  master	
  periodically	
  for	
  updates	
  (default:	
  30	
  mins)	
  
10/05/2012 santanu@hep.phy.cam.ac.uk, HEP
Cavendish Laboratory
5
# /etc/puppet/modules/motd/manifests/init.pp
# /etc/puppet/modules/motd/templates/motd.erb:
Sample 1: motd
class motd {
$ascii = generate('/bin/sh', '-c', "/usr/bin/figlet -c -w 60 ${hostname}")
file { 'motd':
name => '/etc/motd', mode => '0664',
owner => 'root', group => 'root',
content => template('motd/motd.erb’
}
}
<%= ascii %>
==================================================
Welcome to <%= fqdn %>
Access to and use of this server is restricted to those
activities expressly permitted by the system administration
staff. If you're not sure if it's allowed, then DON'T DO IT. 
manifests/modules.pp:
import ‘motd’
manifests/nodes.pp:
include motd
10/05/2012 santanu@hep.phy.cam.ac.uk, HEP
Cavendish Laboratory
6
Puppet: Dashboard
Basically a facility management tool
  A	
  Ruby-­‐on-­‐Rail	
  web	
  app	
  -­‐	
  graphical	
  representa=on	
  of	
  Puppet	
  Network.	
  
  Provides	
  a	
  quick	
  visual	
  snapshot	
  of	
  important	
  system	
  informa=on	
  and	
  
delivers	
  valuable	
  reports.	
  
  Compara=vely	
  a	
  new	
  project	
  but	
  overall	
  stable	
  
  Requirements:	
  
  Ruby	
  -­‐	
  v1.8.7	
  is	
  required	
  	
  (v1.9.2	
  is	
  not	
  fully	
  supported)	
  
  RubyGems	
  
  Rubygem-­‐rake	
  
  MySQL	
  
  Ruby-­‐MySQL	
  
  LS6/RHEL6	
  is	
  recomended;	
  Installing	
  on	
  SL5/RHEL5	
  somewhat	
  impossible	
  
because	
  of	
  the	
  version	
  Ruby	
  used	
  
10/05/2012 santanu@hep.phy.cam.ac.uk, HEP
Cavendish Laboratory
7
Dashboard : Installation
  Three	
  main	
  installa=on	
  op=ons	
  –	
  rpm,	
  source	
  from	
  Git	
  and	
  tarball	
  
  Official	
  yum	
  repo	
  (and	
  deb)	
  provided	
  by	
  Puppet	
  Labs	
  
	
  
	
  
  epel-­‐repo	
  is	
  also	
  required	
  for	
  addi=onal	
  packages	
  
  “yum	
  install	
  puppet-­‐dashboard”	
  should	
  take	
  care	
  of	
  all	
  the	
  dependencies	
  
  Default	
  installa=on	
  loca=on:	
  /usr/share/puppet-­‐dashboard	
  
  Files/directories	
  should	
  be	
  	
  owned	
  by	
  puppet-­‐dashboard	
  user	
  
  Values	
  are	
  specified	
  in:	
  /etc/sysconfig/puppet-­‐dashboard	
  
[puppetlabs]
name=Puppet Labs Packages
baseurl=http://yum.puppetlabs.com/el/6/products/$basearch
Enabled=1
gpgcheck=1
gpgkey=http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs
10/05/2012 santanu@hep.phy.cam.ac.uk, HEP
Cavendish Laboratory
8
Dashboard : Configuration1
Setting up database
  Dashboard	
  needs	
  a	
  user/password	
  and	
  at	
  least	
  one	
  database	
  
  Can	
  be	
  install	
  on	
  	
  remote	
  machine	
  as	
  well	
  
	
  
	
  
Tuning
  Needs	
  to	
  configure	
  the	
  Maximum	
  Packet	
  Size	
  to	
  accommodate	
  the	
  larger	
  
rows	
  in	
  the	
  database	
  (in	
  /etc/my.cnf)	
  
mysql> CREATE DATABASE pup_dash CHARACTER SET utf8;
Query OK, 1 row affected (0.00 sec)
Mysql> GRANT ALL PRIVILEGES ON pup_dash.* TO 'puppet'@’localhost' IDENTIFIED BY
’pup_db_password';
Query OK, 0 row affected (0.00 sec)
## Up to [occasional] 17MB row is possible
max_allowed_packet = 24M
10/05/2012 santanu@hep.phy.cam.ac.uk, HEP
Cavendish Laboratory
9
Dashboard : Configuration2
Configuration files
  Main	
  configura=on	
  files	
  –	
  config/database.yml	
  &	
  config/sekngs.yml	
  
  Need	
  to	
  add	
  the	
  database	
  parameter	
  in	
  database.yml	
  	
  
	
  
  produc1on	
  gives	
  the	
  best	
  performance, development	
  yields	
  beler	
  logging	
  
  The	
  same	
  database	
  can	
  be	
  used	
  for	
  produc=on	
  and	
  development	
  
  Supplied	
  sekngs.yml.example	
  can	
  simply	
  be	
  copied	
  to	
  seGngs.yml	
  and	
  
doesn’t	
  required	
  any	
  changes	
  for	
  normal	
  opera=ons.	
  
production:
host: puppet.hep.phy.cam.ac.uk
database: pup_dash
username: puppet
password: pup_db_user
encoding: utf8
adapter: mysql
development:
host: puppet.hep.phy.cam.ac.uk
database: pup_dash
username: puppet
password: pup_db_user
encoding: utf8
adapter: mysql
10/05/2012 santanu@hep.phy.cam.ac.uk, HEP
Cavendish Laboratory
10
Dashboard : Configuration3
Preparing the Schema
  Rail	
  doesn’t	
  consider	
  produc1on	
  as	
  the	
  default	
  environment;	
  must	
  be	
  
specified	
  manually	
  
  Database	
  table	
  crea=on	
  is	
  done	
  manually	
  using	
  db:migrate	
  rake	
  task	
  and	
  can	
  
be	
  run	
  mul=ple	
  =me	
  without	
  any	
  problem.	
  
  Dashboard	
  now	
  can	
  be	
  started	
  using	
  Ruby’s	
  built-­‐in	
  WEBrick	
  server	
  
  Dashdoard	
  instance	
  on	
  default	
  port	
  3000	
  using	
  “produc=on”	
  environment.	
  
  The	
  UI	
  is	
  available	
  at	
  hIp://localhost:3000	
  
rake RAILS_ENV=production db:migrate
cd /usr/share/puppet-dashboard
sudo -u puppet-dashboard ./script/server -e production
10/05/2012 santanu@hep.phy.cam.ac.uk, HEP
Cavendish Laboratory
11
Dashboard : Configuration4
Using dashboard as Reporter
  Two	
  requirements	
  for	
  dashboard	
  to	
  receive	
  reports:	
  
  Agents	
  have	
  to	
  be	
  configured	
  to	
  submit	
  reports	
  to	
  the	
  master	
  
  Master	
  needs	
  to	
  be	
  configured	
  to	
  send	
  the	
  reports	
  to	
  Dashboard	
  
	
  
	
  
  Tes=ng	
  from	
  the	
  agent:	
  puppet	
  agent	
  –test	
  [	
  or	
  puppetd	
  –t	
  ]	
  
  Conforma=on	
  on	
  the	
  web	
  GUI:	
  1	
  pending	
  task	
  	
  
  delayed_job	
  workers	
  must	
  be	
  ac=vated	
  to	
  asynchronously	
  process	
  the	
  tasks	
  
## puppet.conf (on the master)
[master]
reports = store, http, log
reportdir = /var/lib/puppet/reports
reporturl = http://localhost:3000/reports/upload
## puppet.conf (on agents)
[agent]
report = true
env RAILS_ENV=production script/delayed_job -p dashboard -n 4 -m start
10/05/2012 santanu@hep.phy.cam.ac.uk, HEP
Cavendish Laboratory
12
Dashboard : Web GUI
10/05/2012 santanu@hep.phy.cam.ac.uk, HEP
Cavendish Laboratory
13
Dashboard : Web GUI
10/05/2012 santanu@hep.phy.cam.ac.uk, HEP
Cavendish Laboratory
14
Dashboard : Web GUI
10/05/2012 santanu@hep.phy.cam.ac.uk, HEP
Cavendish Laboratory
15
Dashboard : Production Server
Dashboard with Apache/Passenger
  Default	
  WEBrick	
  server	
  suffers	
  from	
  performance	
  issue	
  	
  
  More	
  reliable	
  using	
  Apache	
  (2.2)	
  with	
  Phusion	
  Passenger	
  (mod_rail)	
  
  2	
  [most	
  easiest]	
  ways	
  to	
  install	
  Passenger:	
  
	
  
	
  
	
  
	
  
  Sample	
  vhost	
  file	
  is	
  provided	
  as	
  ext/dashboard-­‐vhost.conf
  Passenger	
  runs	
  Rails	
  apps	
  in	
  the	
  produc=on	
  environment	
  by	
  default	
  
gem install passenger
passenger-install-apache2-module
yum install http://passenger.stealthymonkeys.com/rhel/6/passenger-
release.noarch.rpmpassenger-install-apache2-module
yum install mod_passenger
10/05/2012 santanu@hep.phy.cam.ac.uk, HEP
Cavendish Laboratory
16
Dashboard : Production Server
Dashboard with Apache/Passenger	
  
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.2
PassengerRuby /usr/bin/ruby
PassengerHighPerformance on
PassengerMaxPoolSize 12
PassengerPoolIdleTime 1500
PassengerStatThrottleRate 120
RailsAutoDetect On
10/05/2012 santanu@hep.phy.cam.ac.uk, HEP
Cavendish Laboratory
17
Dashboard : Production Server
Dashboard with Apache/Passenger	
  
<VirtualHost *:80>
ServerName puppet.hep.phy.cam.ac.uk
DocumentRoot /usr/share/puppet-dashboard/public/
<Directory /usr/share/puppet-dashboard/public/>
Options None
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/httpd/puppet-dashboard_error.log
LogLevel warn
CustomLog /var/log/httpd/puppet-dashboard_access.log combined
ServerSignature On
10/05/2012 santanu@hep.phy.cam.ac.uk, HEP
Cavendish Laboratory
18
Dashboard : Error Messages
  Could	
  not	
  retrieve	
  catalog:	
  can't	
  convert	
  nil	
  into	
  String	
  
This	
  error	
  message	
  happens	
  when	
  a	
  template	
  file	
  is	
  missing.	
  	
  
  undefined	
  method	
  `closed?'	
  for	
  nil:NilClass	
  
Some	
  error	
  in	
  a	
  template	
  -­‐	
  for	
  example	
  missing	
  a	
  closing	
  quote.	
  
  Could	
  not	
  retrieve	
  catalog	
  from	
  remote	
  server	
  
This	
  can	
  occur	
  if	
  /var/lib/puppet/client_yaml/	
  is	
  missing	
  on	
  the	
  client	
  
  Could	
  not	
  intern	
  from	
  pson:	
  Could	
  not	
  convert	
  from	
  pson:	
  	
  
For	
  several	
  reason:	
  Version	
  of	
  puppet	
  agent	
  is	
  higher	
  then	
  puppet	
  master,	
  WEBrick	
  
fails	
  to	
  handle	
  requests	
  etc.	
  
  Cannot	
  override	
  local	
  resource	
  on	
  node	
  
There	
  is	
  a	
  duplicate	
  defini1on.	
  Search	
  the	
  database	
  like	
  this:	
  "select	
  hosts.name	
  from	
  
hosts,resources	
  where	
  restype='Opsviewmonitored'	
  and	
  1tle='foo'	
  and	
  hosts.id	
  =	
  
resources.host_id;”	
  
10/05/2012 santanu@hep.phy.cam.ac.uk, HEP
Cavendish Laboratory
19
Any Questions??
Thank you!!

Weitere ähnliche Inhalte

Was ist angesagt?

Big Data Step-by-Step: Infrastructure 1/3: Local VM
Big Data Step-by-Step: Infrastructure 1/3: Local VMBig Data Step-by-Step: Infrastructure 1/3: Local VM
Big Data Step-by-Step: Infrastructure 1/3: Local VMJeffrey Breen
 
Oracle databasecapacityanalysisusingstatisticalmethods
Oracle databasecapacityanalysisusingstatisticalmethodsOracle databasecapacityanalysisusingstatisticalmethods
Oracle databasecapacityanalysisusingstatisticalmethodsAjith Narayanan
 
Alfrescotomcat stderr.2013-03-05
Alfrescotomcat stderr.2013-03-05Alfrescotomcat stderr.2013-03-05
Alfrescotomcat stderr.2013-03-05NX21
 
Weird things we've seen with OpenStack Neutron
Weird things we've seen with OpenStack NeutronWeird things we've seen with OpenStack Neutron
Weird things we've seen with OpenStack NeutronNick Jones
 
Catalina.2013 03-05
Catalina.2013 03-05Catalina.2013 03-05
Catalina.2013 03-05NX21
 
RHive tutorials - Basic functions
RHive tutorials - Basic functionsRHive tutorials - Basic functions
RHive tutorials - Basic functionsAiden Seonghak Hong
 
Install and upgrade Oracle grid infrastructure 12.1.0.2
Install and upgrade Oracle grid infrastructure 12.1.0.2Install and upgrade Oracle grid infrastructure 12.1.0.2
Install and upgrade Oracle grid infrastructure 12.1.0.2Biju Thomas
 
INSTALLING AND CONFIGURING APACHE TOOLKIT FOR SERVICEGUARD ...
INSTALLING AND CONFIGURING APACHE TOOLKIT FOR SERVICEGUARD ...INSTALLING AND CONFIGURING APACHE TOOLKIT FOR SERVICEGUARD ...
INSTALLING AND CONFIGURING APACHE TOOLKIT FOR SERVICEGUARD ...webhostingguy
 
GDG DevFest 2015 - Reactive approach for slowpokes
GDG DevFest 2015 - Reactive approach for slowpokesGDG DevFest 2015 - Reactive approach for slowpokes
GDG DevFest 2015 - Reactive approach for slowpokesSergey Tarasevich
 
Understanding lwrp development
Understanding lwrp developmentUnderstanding lwrp development
Understanding lwrp developmentjtimberman
 
12c database migration from ASM storage to NON-ASM storage
12c database migration from ASM storage to NON-ASM storage12c database migration from ASM storage to NON-ASM storage
12c database migration from ASM storage to NON-ASM storageMonowar Mukul
 
Oracle ebs capacity_analysisusingstatisticalmethods
Oracle ebs capacity_analysisusingstatisticalmethodsOracle ebs capacity_analysisusingstatisticalmethods
Oracle ebs capacity_analysisusingstatisticalmethodsAjith Narayanan
 

Was ist angesagt? (16)

Big Data Step-by-Step: Infrastructure 1/3: Local VM
Big Data Step-by-Step: Infrastructure 1/3: Local VMBig Data Step-by-Step: Infrastructure 1/3: Local VM
Big Data Step-by-Step: Infrastructure 1/3: Local VM
 
Oracle databasecapacityanalysisusingstatisticalmethods
Oracle databasecapacityanalysisusingstatisticalmethodsOracle databasecapacityanalysisusingstatisticalmethods
Oracle databasecapacityanalysisusingstatisticalmethods
 
Alfrescotomcat stderr.2013-03-05
Alfrescotomcat stderr.2013-03-05Alfrescotomcat stderr.2013-03-05
Alfrescotomcat stderr.2013-03-05
 
Weird things we've seen with OpenStack Neutron
Weird things we've seen with OpenStack NeutronWeird things we've seen with OpenStack Neutron
Weird things we've seen with OpenStack Neutron
 
Catalina.2013 03-05
Catalina.2013 03-05Catalina.2013 03-05
Catalina.2013 03-05
 
RHive tutorial - HDFS functions
RHive tutorial - HDFS functionsRHive tutorial - HDFS functions
RHive tutorial - HDFS functions
 
RHive tutorials - Basic functions
RHive tutorials - Basic functionsRHive tutorials - Basic functions
RHive tutorials - Basic functions
 
Install and upgrade Oracle grid infrastructure 12.1.0.2
Install and upgrade Oracle grid infrastructure 12.1.0.2Install and upgrade Oracle grid infrastructure 12.1.0.2
Install and upgrade Oracle grid infrastructure 12.1.0.2
 
INSTALLING AND CONFIGURING APACHE TOOLKIT FOR SERVICEGUARD ...
INSTALLING AND CONFIGURING APACHE TOOLKIT FOR SERVICEGUARD ...INSTALLING AND CONFIGURING APACHE TOOLKIT FOR SERVICEGUARD ...
INSTALLING AND CONFIGURING APACHE TOOLKIT FOR SERVICEGUARD ...
 
GDG DevFest 2015 - Reactive approach for slowpokes
GDG DevFest 2015 - Reactive approach for slowpokesGDG DevFest 2015 - Reactive approach for slowpokes
GDG DevFest 2015 - Reactive approach for slowpokes
 
Understanding lwrp development
Understanding lwrp developmentUnderstanding lwrp development
Understanding lwrp development
 
361 Rac
361 Rac361 Rac
361 Rac
 
12c database migration from ASM storage to NON-ASM storage
12c database migration from ASM storage to NON-ASM storage12c database migration from ASM storage to NON-ASM storage
12c database migration from ASM storage to NON-ASM storage
 
Oracle ebs capacity_analysisusingstatisticalmethods
Oracle ebs capacity_analysisusingstatisticalmethodsOracle ebs capacity_analysisusingstatisticalmethods
Oracle ebs capacity_analysisusingstatisticalmethods
 
301 Pdfsam
301 Pdfsam301 Pdfsam
301 Pdfsam
 
Con4445 jesus
Con4445 jesusCon4445 jesus
Con4445 jesus
 

Andere mochten auch

Bonetics: Mastering Puppet Workshop
Bonetics: Mastering Puppet WorkshopBonetics: Mastering Puppet Workshop
Bonetics: Mastering Puppet WorkshopJano Suchal
 
PuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of PuppetPuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of PuppetWalter Heck
 
PuppetCamp SEA @ Blk 71 - Nagios in under 10 mins with Puppet
PuppetCamp SEA @ Blk 71 -  Nagios in under 10 mins with PuppetPuppetCamp SEA @ Blk 71 -  Nagios in under 10 mins with Puppet
PuppetCamp SEA @ Blk 71 - Nagios in under 10 mins with PuppetWalter Heck
 
Scrum 101: Introduction to Scrum
Scrum 101: Introduction to ScrumScrum 101: Introduction to Scrum
Scrum 101: Introduction to ScrumArrielle Mali
 
You think you know agile
You think you know agileYou think you know agile
You think you know agileNathan Gloyn
 
Keynote Puppet Camp San Francisco 2010
Keynote Puppet Camp San Francisco 2010Keynote Puppet Camp San Francisco 2010
Keynote Puppet Camp San Francisco 2010Puppet
 
Puppet for Production in WebEx - PuppetConf 2013
Puppet for Production in WebEx - PuppetConf 2013Puppet for Production in WebEx - PuppetConf 2013
Puppet for Production in WebEx - PuppetConf 2013Puppet
 
An In-Depth Introduction to the Puppet Enterprise Console - PuppetConf 2014
An In-Depth Introduction to the Puppet Enterprise Console - PuppetConf 2014An In-Depth Introduction to the Puppet Enterprise Console - PuppetConf 2014
An In-Depth Introduction to the Puppet Enterprise Console - PuppetConf 2014Puppet
 
Puppet Camp Charlotte 2015: Managing middleware with Puppet
Puppet Camp Charlotte 2015: Managing middleware with PuppetPuppet Camp Charlotte 2015: Managing middleware with Puppet
Puppet Camp Charlotte 2015: Managing middleware with PuppetPuppet
 
Introduction to Puppet Enterprise 2016.2
Introduction to Puppet Enterprise 2016.2Introduction to Puppet Enterprise 2016.2
Introduction to Puppet Enterprise 2016.2Puppet
 
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...Puppet
 
Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.pptMohan Late
 
Agile Scrum Methodology
Agile Scrum MethodologyAgile Scrum Methodology
Agile Scrum MethodologyRajeev Misra
 
Package Management on Windows with Chocolatey
Package Management on Windows with ChocolateyPackage Management on Windows with Chocolatey
Package Management on Windows with ChocolateyPuppet
 
Windows Configuration Management: Managing Packages, Services, & Power Shell-...
Windows Configuration Management: Managing Packages, Services, & Power Shell-...Windows Configuration Management: Managing Packages, Services, & Power Shell-...
Windows Configuration Management: Managing Packages, Services, & Power Shell-...Puppet
 
Managing Windows Systems with Puppet - PuppetConf 2013
Managing Windows Systems with Puppet - PuppetConf 2013Managing Windows Systems with Puppet - PuppetConf 2013
Managing Windows Systems with Puppet - PuppetConf 2013Puppet
 
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12Puppet
 

Andere mochten auch (20)

Bonetics: Mastering Puppet Workshop
Bonetics: Mastering Puppet WorkshopBonetics: Mastering Puppet Workshop
Bonetics: Mastering Puppet Workshop
 
PuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of PuppetPuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of Puppet
 
Puppet quick start guide
Puppet quick start guidePuppet quick start guide
Puppet quick start guide
 
PuppetCamp SEA @ Blk 71 - Nagios in under 10 mins with Puppet
PuppetCamp SEA @ Blk 71 -  Nagios in under 10 mins with PuppetPuppetCamp SEA @ Blk 71 -  Nagios in under 10 mins with Puppet
PuppetCamp SEA @ Blk 71 - Nagios in under 10 mins with Puppet
 
Puppet: From 0 to 100 in 30 minutes
Puppet: From 0 to 100 in 30 minutesPuppet: From 0 to 100 in 30 minutes
Puppet: From 0 to 100 in 30 minutes
 
Scrum 101: Introduction to Scrum
Scrum 101: Introduction to ScrumScrum 101: Introduction to Scrum
Scrum 101: Introduction to Scrum
 
You think you know agile
You think you know agileYou think you know agile
You think you know agile
 
Keynote Puppet Camp San Francisco 2010
Keynote Puppet Camp San Francisco 2010Keynote Puppet Camp San Francisco 2010
Keynote Puppet Camp San Francisco 2010
 
Puppet for Production in WebEx - PuppetConf 2013
Puppet for Production in WebEx - PuppetConf 2013Puppet for Production in WebEx - PuppetConf 2013
Puppet for Production in WebEx - PuppetConf 2013
 
An In-Depth Introduction to the Puppet Enterprise Console - PuppetConf 2014
An In-Depth Introduction to the Puppet Enterprise Console - PuppetConf 2014An In-Depth Introduction to the Puppet Enterprise Console - PuppetConf 2014
An In-Depth Introduction to the Puppet Enterprise Console - PuppetConf 2014
 
Puppet Camp Charlotte 2015: Managing middleware with Puppet
Puppet Camp Charlotte 2015: Managing middleware with PuppetPuppet Camp Charlotte 2015: Managing middleware with Puppet
Puppet Camp Charlotte 2015: Managing middleware with Puppet
 
Introduction to Puppet Enterprise 2016.2
Introduction to Puppet Enterprise 2016.2Introduction to Puppet Enterprise 2016.2
Introduction to Puppet Enterprise 2016.2
 
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
 
Introduction to Scrum.ppt
Introduction to Scrum.pptIntroduction to Scrum.ppt
Introduction to Scrum.ppt
 
Agile Scrum Methodology
Agile Scrum MethodologyAgile Scrum Methodology
Agile Scrum Methodology
 
Package Management on Windows with Chocolatey
Package Management on Windows with ChocolateyPackage Management on Windows with Chocolatey
Package Management on Windows with Chocolatey
 
Windows Configuration Management: Managing Packages, Services, & Power Shell-...
Windows Configuration Management: Managing Packages, Services, & Power Shell-...Windows Configuration Management: Managing Packages, Services, & Power Shell-...
Windows Configuration Management: Managing Packages, Services, & Power Shell-...
 
Managing Windows Systems with Puppet - PuppetConf 2013
Managing Windows Systems with Puppet - PuppetConf 2013Managing Windows Systems with Puppet - PuppetConf 2013
Managing Windows Systems with Puppet - PuppetConf 2013
 
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
Continuous Development with Jenkins - Stephen Connolly at PuppetCamp Dublin '12
 
Scrum In 15 Minutes
Scrum In 15 MinutesScrum In 15 Minutes
Scrum In 15 Minutes
 

Ähnlich wie Puppet Dashboard at HEP, Cambridge

Writing & Sharing Great Modules - Puppet Camp Boston
Writing & Sharing Great Modules - Puppet Camp BostonWriting & Sharing Great Modules - Puppet Camp Boston
Writing & Sharing Great Modules - Puppet Camp BostonPuppet
 
Puppet slides for intelligrape
Puppet slides for intelligrapePuppet slides for intelligrape
Puppet slides for intelligrapeSharad Aggarwal
 
Writing & Sharing Great Modules on the Puppet Forge
Writing & Sharing Great Modules on the Puppet ForgeWriting & Sharing Great Modules on the Puppet Forge
Writing & Sharing Great Modules on the Puppet ForgePuppet
 
Pivotal: Operationalizing 1000 Node Hadoop Cluster - Analytics Workbench
Pivotal: Operationalizing 1000 Node Hadoop Cluster - Analytics WorkbenchPivotal: Operationalizing 1000 Node Hadoop Cluster - Analytics Workbench
Pivotal: Operationalizing 1000 Node Hadoop Cluster - Analytics WorkbenchEMC
 
Red Hat Satellite 6 - Automation with Puppet
Red Hat Satellite 6 - Automation with PuppetRed Hat Satellite 6 - Automation with Puppet
Red Hat Satellite 6 - Automation with PuppetMichael Lessard
 
Developing IT infrastructures with Puppet
Developing IT infrastructures with PuppetDeveloping IT infrastructures with Puppet
Developing IT infrastructures with PuppetAlessandro Franceschi
 
Linux Desktop Automation
Linux Desktop AutomationLinux Desktop Automation
Linux Desktop AutomationRui Lapa
 
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 scalingStanislav Osipov
 
Using Puppet in Small Infrastructures
Using Puppet in Small InfrastructuresUsing Puppet in Small Infrastructures
Using Puppet in Small InfrastructuresRachel Andrew
 
Ben ford intro
Ben ford introBen ford intro
Ben ford introPuppet
 
Telemetry doesn't have to be scary; Ben Ford
Telemetry doesn't have to be scary; Ben FordTelemetry doesn't have to be scary; Ben Ford
Telemetry doesn't have to be scary; Ben FordPuppet
 
Building Docker images with Puppet
Building Docker images with PuppetBuilding Docker images with Puppet
Building Docker images with PuppetNick Jones
 
SFScon16 - Stefan Peer: "Config management with Puppet, Git and some Ruby magic"
SFScon16 - Stefan Peer: "Config management with Puppet, Git and some Ruby magic"SFScon16 - Stefan Peer: "Config management with Puppet, Git and some Ruby magic"
SFScon16 - Stefan Peer: "Config management with Puppet, Git and some Ruby magic"South Tyrol Free Software Conference
 
Installaling Puppet Master and Agent
Installaling Puppet Master and AgentInstallaling Puppet Master and Agent
Installaling Puppet Master and AgentRanjit Avasarala
 
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 PiebiakNETWAYS
 
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 EnterprisesPuppet
 
How to Configure the CA Workload Automation System Agent agentparm.txt File
How to Configure the CA Workload Automation System Agent agentparm.txt FileHow to Configure the CA Workload Automation System Agent agentparm.txt File
How to Configure the CA Workload Automation System Agent agentparm.txt FileCA Technologies
 
PuppetDB: Sneaking Clojure into Operations
PuppetDB: Sneaking Clojure into OperationsPuppetDB: Sneaking Clojure into Operations
PuppetDB: Sneaking Clojure into Operationsgrim_radical
 
Capistrano, Puppet, and Chef
Capistrano, Puppet, and ChefCapistrano, Puppet, and Chef
Capistrano, Puppet, and ChefDavid Benjamin
 

Ähnlich wie Puppet Dashboard at HEP, Cambridge (20)

Writing & Sharing Great Modules - Puppet Camp Boston
Writing & Sharing Great Modules - Puppet Camp BostonWriting & Sharing Great Modules - Puppet Camp Boston
Writing & Sharing Great Modules - Puppet Camp Boston
 
Puppet slides for intelligrape
Puppet slides for intelligrapePuppet slides for intelligrape
Puppet slides for intelligrape
 
Writing & Sharing Great Modules on the Puppet Forge
Writing & Sharing Great Modules on the Puppet ForgeWriting & Sharing Great Modules on the Puppet Forge
Writing & Sharing Great Modules on the Puppet Forge
 
Pivotal: Operationalizing 1000 Node Hadoop Cluster - Analytics Workbench
Pivotal: Operationalizing 1000 Node Hadoop Cluster - Analytics WorkbenchPivotal: Operationalizing 1000 Node Hadoop Cluster - Analytics Workbench
Pivotal: Operationalizing 1000 Node Hadoop Cluster - Analytics Workbench
 
Red Hat Satellite 6 - Automation with Puppet
Red Hat Satellite 6 - Automation with PuppetRed Hat Satellite 6 - Automation with Puppet
Red Hat Satellite 6 - Automation with Puppet
 
Puppet_training
Puppet_trainingPuppet_training
Puppet_training
 
Developing IT infrastructures with Puppet
Developing IT infrastructures with PuppetDeveloping IT infrastructures with Puppet
Developing IT infrastructures with Puppet
 
Linux Desktop Automation
Linux Desktop AutomationLinux Desktop Automation
Linux Desktop Automation
 
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
 
Using Puppet in Small Infrastructures
Using Puppet in Small InfrastructuresUsing Puppet in Small Infrastructures
Using Puppet in Small Infrastructures
 
Ben ford intro
Ben ford introBen ford intro
Ben ford intro
 
Telemetry doesn't have to be scary; Ben Ford
Telemetry doesn't have to be scary; Ben FordTelemetry doesn't have to be scary; Ben Ford
Telemetry doesn't have to be scary; Ben Ford
 
Building Docker images with Puppet
Building Docker images with PuppetBuilding Docker images with Puppet
Building Docker images with Puppet
 
SFScon16 - Stefan Peer: "Config management with Puppet, Git and some Ruby magic"
SFScon16 - Stefan Peer: "Config management with Puppet, Git and some Ruby magic"SFScon16 - Stefan Peer: "Config management with Puppet, Git and some Ruby magic"
SFScon16 - Stefan Peer: "Config management with Puppet, Git and some Ruby magic"
 
Installaling Puppet Master and Agent
Installaling Puppet Master and AgentInstallaling Puppet Master and Agent
Installaling Puppet Master and Agent
 
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
 
How to Configure the CA Workload Automation System Agent agentparm.txt File
How to Configure the CA Workload Automation System Agent agentparm.txt FileHow to Configure the CA Workload Automation System Agent agentparm.txt File
How to Configure the CA Workload Automation System Agent agentparm.txt File
 
PuppetDB: Sneaking Clojure into Operations
PuppetDB: Sneaking Clojure into OperationsPuppetDB: Sneaking Clojure into Operations
PuppetDB: Sneaking Clojure into Operations
 
Capistrano, Puppet, and Chef
Capistrano, Puppet, and ChefCapistrano, Puppet, and Chef
Capistrano, Puppet, and Chef
 

Kürzlich hochgeladen

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 

Kürzlich hochgeladen (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

Puppet Dashboard at HEP, Cambridge

  • 1. Santanu Das! santanu@hep.phy.cam.ac.uk! Introduction to Puppet Dashboard! HEPSYSMAN, RAL! 10th – 11th May, 2012 Dept. of Physics! Cavendish Laboratory!
  • 2. 10/05/2012 2 What is Puppet? Puppet is the local SysAdmin   According  to  Puppet  Lab:  “Put  simply,  Puppet  is  a  system  for  automa1ng   system  administra1on  tasks.”     It’s  a  declara've  language  for  expressing  system  configura=on,  a  client  and   server  for  distribu=ng  it,  and  a  library  for  realizing  the  configura=on.     Basically,  it’s  a  configura=on  management  tool,  performs  post-­‐[OS]-­‐ installa=on  administra=ve  tasks.     Takes  a  generic  instruc=ons  (e.g.  ensure  MySQL  is  installed)  and  performs   the  task  the  “right  way”.     Uses  Facter  -­‐  a  system  assay  tool,  which  makes  system  informa=on  available   to  Puppet  as  variables  -­‐  to  get  the  lay  of  the  land.     santanu@hep.phy.cam.ac.uk, HEP Cavendish Laboratory
  • 3. [epel-puppet] name=epel puppet baseurl=http://tmz.fedorapeople.org/repo/puppet/epel/5/$basearch/ enabled=0 gpgcheck=0 10/05/2012 santanu@hep.phy.cam.ac.uk, HEP Cavendish Laboratory 3 Fairly simple: yum install < puppet-server | puppet >   Use  tmz  epel-­‐puppet  for  the  latest  version:         epel  is  s=ll  required  for  other  dependencies.     puppetlab  and  ruby  are  also  required  for  puppet-­‐dashboard:   Installation: Various repo [puppetlabs] name=Puppet Labs Packages baseurl=http://yum.puppetlabs.com/base/ enabled=0 gpgcheck=0 [ruby] name=ruby baseurl=http://repo.premiumhelp.eu/ruby/ gpgcheck=0 enabled=0
  • 4. 10/05/2012 santanu@hep.phy.cam.ac.uk, HEP Cavendish Laboratory 4 Basic Design Typically a Client/Server [Master/Agent] formation   Two-­‐part  installa=on:  puppet-­‐server  on  the  server  and  puppet[-­‐agent]  on   the  client  machine.     puppetmasterd  runs  on  server;  puppetd  runs  on  the  agents.     Each  agent  contacts  the  master  periodically  for  updates  (default:  30  mins)  
  • 5. 10/05/2012 santanu@hep.phy.cam.ac.uk, HEP Cavendish Laboratory 5 # /etc/puppet/modules/motd/manifests/init.pp # /etc/puppet/modules/motd/templates/motd.erb: Sample 1: motd class motd { $ascii = generate('/bin/sh', '-c', "/usr/bin/figlet -c -w 60 ${hostname}") file { 'motd': name => '/etc/motd', mode => '0664', owner => 'root', group => 'root', content => template('motd/motd.erb’ } } <%= ascii %> ================================================== Welcome to <%= fqdn %> Access to and use of this server is restricted to those activities expressly permitted by the system administration staff. If you're not sure if it's allowed, then DON'T DO IT.  manifests/modules.pp: import ‘motd’ manifests/nodes.pp: include motd
  • 6. 10/05/2012 santanu@hep.phy.cam.ac.uk, HEP Cavendish Laboratory 6 Puppet: Dashboard Basically a facility management tool   A  Ruby-­‐on-­‐Rail  web  app  -­‐  graphical  representa=on  of  Puppet  Network.     Provides  a  quick  visual  snapshot  of  important  system  informa=on  and   delivers  valuable  reports.     Compara=vely  a  new  project  but  overall  stable     Requirements:     Ruby  -­‐  v1.8.7  is  required    (v1.9.2  is  not  fully  supported)     RubyGems     Rubygem-­‐rake     MySQL     Ruby-­‐MySQL     LS6/RHEL6  is  recomended;  Installing  on  SL5/RHEL5  somewhat  impossible   because  of  the  version  Ruby  used  
  • 7. 10/05/2012 santanu@hep.phy.cam.ac.uk, HEP Cavendish Laboratory 7 Dashboard : Installation   Three  main  installa=on  op=ons  –  rpm,  source  from  Git  and  tarball     Official  yum  repo  (and  deb)  provided  by  Puppet  Labs         epel-­‐repo  is  also  required  for  addi=onal  packages     “yum  install  puppet-­‐dashboard”  should  take  care  of  all  the  dependencies     Default  installa=on  loca=on:  /usr/share/puppet-­‐dashboard     Files/directories  should  be    owned  by  puppet-­‐dashboard  user     Values  are  specified  in:  /etc/sysconfig/puppet-­‐dashboard   [puppetlabs] name=Puppet Labs Packages baseurl=http://yum.puppetlabs.com/el/6/products/$basearch Enabled=1 gpgcheck=1 gpgkey=http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs
  • 8. 10/05/2012 santanu@hep.phy.cam.ac.uk, HEP Cavendish Laboratory 8 Dashboard : Configuration1 Setting up database   Dashboard  needs  a  user/password  and  at  least  one  database     Can  be  install  on    remote  machine  as  well       Tuning   Needs  to  configure  the  Maximum  Packet  Size  to  accommodate  the  larger   rows  in  the  database  (in  /etc/my.cnf)   mysql> CREATE DATABASE pup_dash CHARACTER SET utf8; Query OK, 1 row affected (0.00 sec) Mysql> GRANT ALL PRIVILEGES ON pup_dash.* TO 'puppet'@’localhost' IDENTIFIED BY ’pup_db_password'; Query OK, 0 row affected (0.00 sec) ## Up to [occasional] 17MB row is possible max_allowed_packet = 24M
  • 9. 10/05/2012 santanu@hep.phy.cam.ac.uk, HEP Cavendish Laboratory 9 Dashboard : Configuration2 Configuration files   Main  configura=on  files  –  config/database.yml  &  config/sekngs.yml     Need  to  add  the  database  parameter  in  database.yml         produc1on  gives  the  best  performance, development  yields  beler  logging     The  same  database  can  be  used  for  produc=on  and  development     Supplied  sekngs.yml.example  can  simply  be  copied  to  seGngs.yml  and   doesn’t  required  any  changes  for  normal  opera=ons.   production: host: puppet.hep.phy.cam.ac.uk database: pup_dash username: puppet password: pup_db_user encoding: utf8 adapter: mysql development: host: puppet.hep.phy.cam.ac.uk database: pup_dash username: puppet password: pup_db_user encoding: utf8 adapter: mysql
  • 10. 10/05/2012 santanu@hep.phy.cam.ac.uk, HEP Cavendish Laboratory 10 Dashboard : Configuration3 Preparing the Schema   Rail  doesn’t  consider  produc1on  as  the  default  environment;  must  be   specified  manually     Database  table  crea=on  is  done  manually  using  db:migrate  rake  task  and  can   be  run  mul=ple  =me  without  any  problem.     Dashboard  now  can  be  started  using  Ruby’s  built-­‐in  WEBrick  server     Dashdoard  instance  on  default  port  3000  using  “produc=on”  environment.     The  UI  is  available  at  hIp://localhost:3000   rake RAILS_ENV=production db:migrate cd /usr/share/puppet-dashboard sudo -u puppet-dashboard ./script/server -e production
  • 11. 10/05/2012 santanu@hep.phy.cam.ac.uk, HEP Cavendish Laboratory 11 Dashboard : Configuration4 Using dashboard as Reporter   Two  requirements  for  dashboard  to  receive  reports:     Agents  have  to  be  configured  to  submit  reports  to  the  master     Master  needs  to  be  configured  to  send  the  reports  to  Dashboard         Tes=ng  from  the  agent:  puppet  agent  –test  [  or  puppetd  –t  ]     Conforma=on  on  the  web  GUI:  1  pending  task       delayed_job  workers  must  be  ac=vated  to  asynchronously  process  the  tasks   ## puppet.conf (on the master) [master] reports = store, http, log reportdir = /var/lib/puppet/reports reporturl = http://localhost:3000/reports/upload ## puppet.conf (on agents) [agent] report = true env RAILS_ENV=production script/delayed_job -p dashboard -n 4 -m start
  • 12. 10/05/2012 santanu@hep.phy.cam.ac.uk, HEP Cavendish Laboratory 12 Dashboard : Web GUI
  • 13. 10/05/2012 santanu@hep.phy.cam.ac.uk, HEP Cavendish Laboratory 13 Dashboard : Web GUI
  • 14. 10/05/2012 santanu@hep.phy.cam.ac.uk, HEP Cavendish Laboratory 14 Dashboard : Web GUI
  • 15. 10/05/2012 santanu@hep.phy.cam.ac.uk, HEP Cavendish Laboratory 15 Dashboard : Production Server Dashboard with Apache/Passenger   Default  WEBrick  server  suffers  from  performance  issue       More  reliable  using  Apache  (2.2)  with  Phusion  Passenger  (mod_rail)     2  [most  easiest]  ways  to  install  Passenger:             Sample  vhost  file  is  provided  as  ext/dashboard-­‐vhost.conf   Passenger  runs  Rails  apps  in  the  produc=on  environment  by  default   gem install passenger passenger-install-apache2-module yum install http://passenger.stealthymonkeys.com/rhel/6/passenger- release.noarch.rpmpassenger-install-apache2-module yum install mod_passenger
  • 16. 10/05/2012 santanu@hep.phy.cam.ac.uk, HEP Cavendish Laboratory 16 Dashboard : Production Server Dashboard with Apache/Passenger   PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.2 PassengerRuby /usr/bin/ruby PassengerHighPerformance on PassengerMaxPoolSize 12 PassengerPoolIdleTime 1500 PassengerStatThrottleRate 120 RailsAutoDetect On
  • 17. 10/05/2012 santanu@hep.phy.cam.ac.uk, HEP Cavendish Laboratory 17 Dashboard : Production Server Dashboard with Apache/Passenger   <VirtualHost *:80> ServerName puppet.hep.phy.cam.ac.uk DocumentRoot /usr/share/puppet-dashboard/public/ <Directory /usr/share/puppet-dashboard/public/> Options None Order allow,deny allow from all </Directory> ErrorLog /var/log/httpd/puppet-dashboard_error.log LogLevel warn CustomLog /var/log/httpd/puppet-dashboard_access.log combined ServerSignature On
  • 18. 10/05/2012 santanu@hep.phy.cam.ac.uk, HEP Cavendish Laboratory 18 Dashboard : Error Messages   Could  not  retrieve  catalog:  can't  convert  nil  into  String   This  error  message  happens  when  a  template  file  is  missing.       undefined  method  `closed?'  for  nil:NilClass   Some  error  in  a  template  -­‐  for  example  missing  a  closing  quote.     Could  not  retrieve  catalog  from  remote  server   This  can  occur  if  /var/lib/puppet/client_yaml/  is  missing  on  the  client     Could  not  intern  from  pson:  Could  not  convert  from  pson:     For  several  reason:  Version  of  puppet  agent  is  higher  then  puppet  master,  WEBrick   fails  to  handle  requests  etc.     Cannot  override  local  resource  on  node   There  is  a  duplicate  defini1on.  Search  the  database  like  this:  "select  hosts.name  from   hosts,resources  where  restype='Opsviewmonitored'  and  1tle='foo'  and  hosts.id  =   resources.host_id;”  
  • 19. 10/05/2012 santanu@hep.phy.cam.ac.uk, HEP Cavendish Laboratory 19 Any Questions?? Thank you!!