SlideShare ist ein Scribd-Unternehmen logo
1 von 70
Downloaden Sie, um offline zu lesen
How to keep track of puppet
with Foreman
Glen Ogilve - glen.ogilvie@oss.co.nz
What does the
do?
Provisioning

"Provision on bare-metal & public or private clouds all from one place."
It does with a mix of:

hardware via network boot and automated install
virtual by connecting to the hypervisors
AMI customisation
Network
For network installation, it signals the target server to network boot,
by communicating with the BMC or hypervisor, and creates the
appropraite network boot PXE setup via the foreman proxy to install
the OS.
The contents of the network boot file are built from templates and
customised before starting the installation. It relies on a thrid party
source for the installation media, and has templates available for
Jumpstart, Kickstart, Preseed, AutoYast.
Image based (AMI)
For cloud based compute resources, new systems are provisioned
using images, rather than running an installation. These are then
finished by Foreman logging into the instance via ssh.
Supported platforms
EC2
Google compute engine
Libvirt
OpenStack Nova
oVirt / RHEV
Rackspace
VMware
Physical hardware via BMC
Inputs
When creating a system via foreman, it requires a number of details
about the new system which then are used in the templates and
finish scripts. This includes things like, disk size, cpus, memory,
networks, puppet classes, host groups, variables, owner, availbility
zone, vpc, os, architecture or AMI image
Managed systems
If you have provisioning turned on for a system, in some cases, you
will have access to the system console, and the ability to
delete/rebuild the machine from the foreman console.
Turning off provisioning
For basic usage of foreman with puppet, as I am describing in this
talk, the provisioning component can be disabled. It is disabled as
per below:
/etc/foreman/settings.yaml

# Disable foreman provisioning
:unattended: true
Configuration

"A complete configuration management solution including an ENC
for Puppet, built-in support for parameterized classes and
hierarchical parameter storage."
ENC
External Node Classifier
(replaces node definitions)
Parameters and meta
information
Foreman stores variables, paramters, meta information, class and
facts.
Paramerized classes
Control how your classes behave, for one or many systems
Host Groups
Group systems togeather and apply parameters and classes to the
group. Group groups.
Monitoring

"Collect Puppet reports and facts. Monitor host configuration.
Report status, distribution and trends."
What did puppet do?
Reports
Facts
you can use them to find out stuff
Are my hosts managed with
puppet?
Has puppet run recently?
Dashboard
Statistics
General features
Robust API, restful. CLI as well
Management of DHCP, DNS, TFTP, PXE
PuppetCA
Roles, Users, LDAP
Packaged, managed with puppet
Auditing
Extra cool features
Foreman data accessable from puppet manifests, removing the
need for puppetdb.

Facts for any host
Hosts matching x
Classes assigned to other hosts
Review
Puppet without foreman
site.pp or nodes.pp
maybe hiera
read log files
Agent runs
Sync plugins
Sends facts
Puppet master looks for node matching it's name
Compiles catalog
Node applies catalog
Node logs results to disk, and maybe back to the
master
node 'common' {
$ntpserver = 'time.example.com'
include common
}
node "myhost.linuxbox.co.nz" inherits common {
$owner_name = "Glen Ogilvie"
include basicstuff
class{"mysql":
port => 3306,
listen => 192.168.213.12,
}
}
Or maybe your using hiera
/etc/puppet/hieradata/myhost.linuxbox.co.nz.yaml

--"owner_name" : "Glen Ogilvie"
"classes" : [
"mysql",
"basicstuff"
],
"mysql::port" : "3306",
"mysql::listen" : "192.168.213.12"
/etc/puppet/hieradata/common.yaml

--"classes" : [ "common" ],
"ntpserver" : "time.example.com"
Puppet with Foreman
Agent runs
Sync plugins
Sends facts
Puppet master connects to foreman, sending node
name
Foreman returns node classes and parameters to
master
Compiles catalog
Node applies catalog
Node logs results to disk, and to the master
Master sends results and facts to foreman for
storage
Foreman YAML
--classes:
common:
mysql:
port: 3306
listen: "192.168.213.12"
basicstuff:
parameters:
puppetmaster: configmgmt.oss.co.nz
root_pw: $1$xxxxxxxxxxxxxxxxxxx
foreman_env: dev
owner_name: Glen Ogilvie
owner_email: gogilvie@oss.co.nz
ntpserver: time.example.com
environment: dev
Foreman Architecture
Using Foreman
PuppetCA interface
to sign new servers
Import your classes and
enviroments
And check the rdoc based
class docs
Setup an existing host
Set meta data like (enviroment, owner)
Attach classes and host groups
Set parameters, or overide parametrized
classes
It keeps a record of changes
Parameterized class
# Class: apt
# This module manages the initial configuration of apt.
#
# Parameters:
#
disable_keys - disables package signing check
#
always_apt_update - apt updated on every run (for dev)
class apt(
$always_apt_update
$disable_keys
$proxy_host
$proxy_port
$purge_sources_list
$purge_sources_list_d
$purge_preferences_d
) {
# implimentaton
}

=
=
=
=
=
=
=

false,
undef,
false,
'8080',
false,
false,
false
Installing Foreman
Installation of foreman is actually rather straight forward. The
installer, based on your answers, it does some of the below.

Installs puppet
Sets up a puppet master and configures it
Installs postgresql
Sets up tftp, pxe, bind
dhcpd (disabled by default)
Sets up foreman, in apache passenger
USE the Foreman-installer
and

Read the instructions, they
help!
http://theforeman.org/manuals/1.3/index.html#3.InstallingForeman
Installing notes
Make sure apt / yum / ruby gem works before you
start
The foreman repo will be added by the installer, if it's
not available
RHEL: make sure EPEL, RHEL optional and
puppetlabs repos are available
Make sure your hostname is what you want. SSL
certs will be created with it.
Foreman works with SELinux on, but check the audit
logs if you have trouble
Ruby versions can be a problem. I use Red Hat SCL
to run on ruby 1.9.3
Puppet
Use a recent version of puppet. Your life will be easier! I recommend
using the community version supplied by puppetlabs.

http://yum.puppetlabs.com/
http://apt.puppetlabs.com/
unless all distro's you manage with puppet have version 3.3.x or
above of puppet already.
Questions?
Track me down at LCA :)
or email me: glen.ogilvie@oss.co.nz
google+: glen.ogilvie@gmail.com
Demo

Weitere ähnliche Inhalte

Was ist angesagt?

Ansible presentation
Ansible presentationAnsible presentation
Ansible presentationJohn Lynch
 
Ansible presentation
Ansible presentationAnsible presentation
Ansible presentationSuresh Kumar
 
Zookeeper 활용 nifi clustering
Zookeeper 활용 nifi clusteringZookeeper 활용 nifi clustering
Zookeeper 활용 nifi clusteringNoahKIM36
 
Lifecycle Management with Foreman
Lifecycle Management with ForemanLifecycle Management with Foreman
Lifecycle Management with ForemanJulien Pivotto
 
Introduction à l’intégration continue avec Jenkins
Introduction à l’intégration continue avec JenkinsIntroduction à l’intégration continue avec Jenkins
Introduction à l’intégration continue avec JenkinsEric Hogue
 
Conférence Virtualisation - Day 1 : Introduction à la vitualisation
Conférence Virtualisation - Day 1 : Introduction à la vitualisationConférence Virtualisation - Day 1 : Introduction à la vitualisation
Conférence Virtualisation - Day 1 : Introduction à la vitualisationClub Scientifique de l'ESI - CSE
 
Ansible Introduction
Ansible Introduction Ansible Introduction
Ansible Introduction Robert Reiz
 
LAS16-111: Easing Access to ARM TrustZone – OP-TEE and Raspberry Pi 3
LAS16-111: Easing Access to ARM TrustZone – OP-TEE and Raspberry Pi 3LAS16-111: Easing Access to ARM TrustZone – OP-TEE and Raspberry Pi 3
LAS16-111: Easing Access to ARM TrustZone – OP-TEE and Raspberry Pi 3Linaro
 
Yocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerYocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerSherif Mousa
 
Ansible Automation to Rule Them All
Ansible Automation to Rule Them AllAnsible Automation to Rule Them All
Ansible Automation to Rule Them AllTim Fairweather
 
Building virtualised CloudStack test environments
Building virtualised CloudStack test environmentsBuilding virtualised CloudStack test environments
Building virtualised CloudStack test environmentsShapeBlue
 
Alphorm.com Formation Windows Server 2019 : Installation et Configuration de ...
Alphorm.com Formation Windows Server 2019 : Installation et Configuration de ...Alphorm.com Formation Windows Server 2019 : Installation et Configuration de ...
Alphorm.com Formation Windows Server 2019 : Installation et Configuration de ...Alphorm
 
Ansible presentation
Ansible presentationAnsible presentation
Ansible presentationKumar Y
 
Server virtualization by VMWare
Server virtualization by VMWareServer virtualization by VMWare
Server virtualization by VMWaresgurnam73
 
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...Linaro
 
K8s beginner 2_advanced_ep02_201904221130_post
K8s beginner 2_advanced_ep02_201904221130_postK8s beginner 2_advanced_ep02_201904221130_post
K8s beginner 2_advanced_ep02_201904221130_postInho Kang
 
installation et configuration du DNS sous Windows serveur 2003
installation et configuration du DNS sous Windows serveur 2003installation et configuration du DNS sous Windows serveur 2003
installation et configuration du DNS sous Windows serveur 2003Souhaib El
 
alphorm.com - Formation Linux LPIC-1/Comptia Linux+
alphorm.com - Formation Linux LPIC-1/Comptia Linux+alphorm.com - Formation Linux LPIC-1/Comptia Linux+
alphorm.com - Formation Linux LPIC-1/Comptia Linux+Alphorm
 

Was ist angesagt? (20)

Ansible presentation
Ansible presentationAnsible presentation
Ansible presentation
 
Ansible presentation
Ansible presentationAnsible presentation
Ansible presentation
 
Zookeeper 활용 nifi clustering
Zookeeper 활용 nifi clusteringZookeeper 활용 nifi clustering
Zookeeper 활용 nifi clustering
 
Lifecycle Management with Foreman
Lifecycle Management with ForemanLifecycle Management with Foreman
Lifecycle Management with Foreman
 
Introduction à l’intégration continue avec Jenkins
Introduction à l’intégration continue avec JenkinsIntroduction à l’intégration continue avec Jenkins
Introduction à l’intégration continue avec Jenkins
 
Conférence Virtualisation - Day 1 : Introduction à la vitualisation
Conférence Virtualisation - Day 1 : Introduction à la vitualisationConférence Virtualisation - Day 1 : Introduction à la vitualisation
Conférence Virtualisation - Day 1 : Introduction à la vitualisation
 
Automating with Ansible
Automating with AnsibleAutomating with Ansible
Automating with Ansible
 
Ansible Introduction
Ansible Introduction Ansible Introduction
Ansible Introduction
 
LAS16-111: Easing Access to ARM TrustZone – OP-TEE and Raspberry Pi 3
LAS16-111: Easing Access to ARM TrustZone – OP-TEE and Raspberry Pi 3LAS16-111: Easing Access to ARM TrustZone – OP-TEE and Raspberry Pi 3
LAS16-111: Easing Access to ARM TrustZone – OP-TEE and Raspberry Pi 3
 
Yocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerYocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution Maker
 
Ansible Automation to Rule Them All
Ansible Automation to Rule Them AllAnsible Automation to Rule Them All
Ansible Automation to Rule Them All
 
Building virtualised CloudStack test environments
Building virtualised CloudStack test environmentsBuilding virtualised CloudStack test environments
Building virtualised CloudStack test environments
 
Alphorm.com Formation Windows Server 2019 : Installation et Configuration de ...
Alphorm.com Formation Windows Server 2019 : Installation et Configuration de ...Alphorm.com Formation Windows Server 2019 : Installation et Configuration de ...
Alphorm.com Formation Windows Server 2019 : Installation et Configuration de ...
 
Ansible presentation
Ansible presentationAnsible presentation
Ansible presentation
 
Server virtualization by VMWare
Server virtualization by VMWareServer virtualization by VMWare
Server virtualization by VMWare
 
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
Secure Boot on ARM systems – Building a complete Chain of Trust upon existing...
 
ansible why ?
ansible why ?ansible why ?
ansible why ?
 
K8s beginner 2_advanced_ep02_201904221130_post
K8s beginner 2_advanced_ep02_201904221130_postK8s beginner 2_advanced_ep02_201904221130_post
K8s beginner 2_advanced_ep02_201904221130_post
 
installation et configuration du DNS sous Windows serveur 2003
installation et configuration du DNS sous Windows serveur 2003installation et configuration du DNS sous Windows serveur 2003
installation et configuration du DNS sous Windows serveur 2003
 
alphorm.com - Formation Linux LPIC-1/Comptia Linux+
alphorm.com - Formation Linux LPIC-1/Comptia Linux+alphorm.com - Formation Linux LPIC-1/Comptia Linux+
alphorm.com - Formation Linux LPIC-1/Comptia Linux+
 

Andere mochten auch

Foreman presentation at NYC puppet users
Foreman presentation at NYC puppet usersForeman presentation at NYC puppet users
Foreman presentation at NYC puppet usersohadlevy
 
O Mundo Clama por Paz
O Mundo Clama por PazO Mundo Clama por Paz
O Mundo Clama por PazMateus Silva
 
Forum Zimbra 2012 Zimbra et la SSO
Forum Zimbra 2012 Zimbra et la SSOForum Zimbra 2012 Zimbra et la SSO
Forum Zimbra 2012 Zimbra et la SSOAntony Barroux
 
Foreman - Process manager for applications with multiple components
Foreman - Process manager for applications with multiple componentsForeman - Process manager for applications with multiple components
Foreman - Process manager for applications with multiple componentsStoyan Zhekov
 
Foreman and Chef integration at ChefConf 2014
Foreman and Chef integration at ChefConf 2014Foreman and Chef integration at ChefConf 2014
Foreman and Chef integration at ChefConf 2014Dominic Cleal
 
Ops@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
Ops@viadeo : Puppet & Co... 6 mois après par Xavier KrantzOps@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
Ops@viadeo : Puppet & Co... 6 mois après par Xavier KrantzOlivier DASINI
 
Demystifying the Foreman
Demystifying the ForemanDemystifying the Foreman
Demystifying the ForemanJulien Pivotto
 
SaltStack Integration with Foreman (2016)
SaltStack Integration with Foreman (2016)SaltStack Integration with Foreman (2016)
SaltStack Integration with Foreman (2016)Stephen Benjamin
 
Auto infra with_foreman_katello
Auto infra with_foreman_katelloAuto infra with_foreman_katello
Auto infra with_foreman_katelloSachin Ghai
 
Ovirt and gluster_hyperconvergence_devconf-2016
Ovirt and gluster_hyperconvergence_devconf-2016Ovirt and gluster_hyperconvergence_devconf-2016
Ovirt and gluster_hyperconvergence_devconf-2016Ramesh Nachimuthu
 
Fossasia 16 Integrating oVirt, Foreman and Katello to empower your data-center
Fossasia 16 Integrating oVirt, Foreman and Katello to empower your data-centerFossasia 16 Integrating oVirt, Foreman and Katello to empower your data-center
Fossasia 16 Integrating oVirt, Foreman and Katello to empower your data-centerYaniv Bronhaim
 
What does "monitoring" mean? (FOSDEM 2017)
What does "monitoring" mean? (FOSDEM 2017)What does "monitoring" mean? (FOSDEM 2017)
What does "monitoring" mean? (FOSDEM 2017)Brian Brazil
 
Deploying and managing gluster using ovirt - fudcon2015
Deploying and managing gluster using ovirt - fudcon2015Deploying and managing gluster using ovirt - fudcon2015
Deploying and managing gluster using ovirt - fudcon2015Ramesh Nachimuthu
 
Managing ceph through_oVirt_using_Cinder
Managing ceph through_oVirt_using_CinderManaging ceph through_oVirt_using_Cinder
Managing ceph through_oVirt_using_CinderMaor Lipchuk
 
Microservices and Prometheus (Microservices NYC 2016)
Microservices and Prometheus (Microservices NYC 2016)Microservices and Prometheus (Microservices NYC 2016)
Microservices and Prometheus (Microservices NYC 2016)Brian Brazil
 
Managing your SaltStack Minions with Foreman
Managing your SaltStack Minions with ForemanManaging your SaltStack Minions with Foreman
Managing your SaltStack Minions with ForemanStephen Benjamin
 

Andere mochten auch (20)

Foreman presentation at NYC puppet users
Foreman presentation at NYC puppet usersForeman presentation at NYC puppet users
Foreman presentation at NYC puppet users
 
Foreman Presentation
Foreman PresentationForeman Presentation
Foreman Presentation
 
O Mundo Clama por Paz
O Mundo Clama por PazO Mundo Clama por Paz
O Mundo Clama por Paz
 
Forum Zimbra 2012 Zimbra et la SSO
Forum Zimbra 2012 Zimbra et la SSOForum Zimbra 2012 Zimbra et la SSO
Forum Zimbra 2012 Zimbra et la SSO
 
Foreman - Process manager for applications with multiple components
Foreman - Process manager for applications with multiple componentsForeman - Process manager for applications with multiple components
Foreman - Process manager for applications with multiple components
 
Foreman and Chef integration at ChefConf 2014
Foreman and Chef integration at ChefConf 2014Foreman and Chef integration at ChefConf 2014
Foreman and Chef integration at ChefConf 2014
 
Ops@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
Ops@viadeo : Puppet & Co... 6 mois après par Xavier KrantzOps@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
Ops@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
 
Foreman como provisionador
Foreman como provisionadorForeman como provisionador
Foreman como provisionador
 
Demystifying the Foreman
Demystifying the ForemanDemystifying the Foreman
Demystifying the Foreman
 
SaltStack Integration with Foreman (2016)
SaltStack Integration with Foreman (2016)SaltStack Integration with Foreman (2016)
SaltStack Integration with Foreman (2016)
 
Auto infra with_foreman_katello
Auto infra with_foreman_katelloAuto infra with_foreman_katello
Auto infra with_foreman_katello
 
DevOps: IT's Automation Revolution
DevOps: IT's Automation RevolutionDevOps: IT's Automation Revolution
DevOps: IT's Automation Revolution
 
Ovirt and gluster_hyperconvergence_devconf-2016
Ovirt and gluster_hyperconvergence_devconf-2016Ovirt and gluster_hyperconvergence_devconf-2016
Ovirt and gluster_hyperconvergence_devconf-2016
 
Fossasia 16 Integrating oVirt, Foreman and Katello to empower your data-center
Fossasia 16 Integrating oVirt, Foreman and Katello to empower your data-centerFossasia 16 Integrating oVirt, Foreman and Katello to empower your data-center
Fossasia 16 Integrating oVirt, Foreman and Katello to empower your data-center
 
What does "monitoring" mean? (FOSDEM 2017)
What does "monitoring" mean? (FOSDEM 2017)What does "monitoring" mean? (FOSDEM 2017)
What does "monitoring" mean? (FOSDEM 2017)
 
Deploying and managing gluster using ovirt - fudcon2015
Deploying and managing gluster using ovirt - fudcon2015Deploying and managing gluster using ovirt - fudcon2015
Deploying and managing gluster using ovirt - fudcon2015
 
Managing ceph through_oVirt_using_Cinder
Managing ceph through_oVirt_using_CinderManaging ceph through_oVirt_using_Cinder
Managing ceph through_oVirt_using_Cinder
 
Microservices and Prometheus (Microservices NYC 2016)
Microservices and Prometheus (Microservices NYC 2016)Microservices and Prometheus (Microservices NYC 2016)
Microservices and Prometheus (Microservices NYC 2016)
 
Managing your SaltStack Minions with Foreman
Managing your SaltStack Minions with ForemanManaging your SaltStack Minions with Foreman
Managing your SaltStack Minions with Foreman
 
oVirt introduction
oVirt introduction oVirt introduction
oVirt introduction
 

Ähnlich wie Foreman presentation

Puppet for Developers
Puppet for DevelopersPuppet for Developers
Puppet for Developerssagarhere4u
 
Deploying datacenters with Puppet - PuppetCamp Europe 2010
Deploying datacenters with Puppet - PuppetCamp Europe 2010Deploying datacenters with Puppet - PuppetCamp Europe 2010
Deploying datacenters with Puppet - PuppetCamp Europe 2010Puppet
 
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
 
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 refactoringAlessandro Franceschi
 
Introduction to Stacki at Atlanta Meetup February 2016
Introduction to Stacki at Atlanta Meetup February 2016Introduction to Stacki at Atlanta Meetup February 2016
Introduction to Stacki at Atlanta Meetup February 2016StackIQ
 
Python Deployment with Fabric
Python Deployment with FabricPython Deployment with Fabric
Python Deployment with Fabricandymccurdy
 
Introduction to PowerShell
Introduction to PowerShellIntroduction to PowerShell
Introduction to PowerShellBoulos Dib
 
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013Carlos Sanchez
 
Chef arista devops days a'dam 2015
Chef arista devops days a'dam 2015Chef arista devops days a'dam 2015
Chef arista devops days a'dam 2015Edwin Beekman
 
Big Data Analytics using Mahout
Big Data Analytics using MahoutBig Data Analytics using Mahout
Big Data Analytics using MahoutIMC Institute
 
Deployment with Fabric
Deployment with FabricDeployment with Fabric
Deployment with Fabricandymccurdy
 
Harmonious Development: Via Vagrant and Puppet
Harmonious Development: Via Vagrant and PuppetHarmonious Development: Via Vagrant and Puppet
Harmonious Development: Via Vagrant and PuppetAchieve Internet
 
Our Puppet Story (Linuxtag 2014)
Our Puppet Story (Linuxtag 2014)Our Puppet Story (Linuxtag 2014)
Our Puppet Story (Linuxtag 2014)DECK36
 
Rapid scaling in_the_cloud_with_puppet
Rapid scaling in_the_cloud_with_puppetRapid scaling in_the_cloud_with_puppet
Rapid scaling in_the_cloud_with_puppetCarl Caum
 
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...Puppet
 
Puppet At Twitter - Puppet Camp Silicon Valley
Puppet At Twitter - Puppet Camp Silicon ValleyPuppet At Twitter - Puppet Camp Silicon Valley
Puppet At Twitter - Puppet Camp Silicon ValleyPuppet
 

Ähnlich wie Foreman presentation (20)

Puppet for Developers
Puppet for DevelopersPuppet for Developers
Puppet for Developers
 
Deploying datacenters with Puppet - PuppetCamp Europe 2010
Deploying datacenters with Puppet - PuppetCamp Europe 2010Deploying datacenters with Puppet - PuppetCamp Europe 2010
Deploying datacenters with Puppet - PuppetCamp Europe 2010
 
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
 
Mcollective introduction
Mcollective introductionMcollective introduction
Mcollective introduction
 
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
 
Introduction to Stacki at Atlanta Meetup February 2016
Introduction to Stacki at Atlanta Meetup February 2016Introduction to Stacki at Atlanta Meetup February 2016
Introduction to Stacki at Atlanta Meetup February 2016
 
Build Automation 101
Build Automation 101Build Automation 101
Build Automation 101
 
Python Deployment with Fabric
Python Deployment with FabricPython Deployment with Fabric
Python Deployment with Fabric
 
One-Man Ops
One-Man OpsOne-Man Ops
One-Man Ops
 
Introduction to PowerShell
Introduction to PowerShellIntroduction to PowerShell
Introduction to PowerShell
 
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013
Continuous Delivery with Maven, Puppet and Tomcat - ApacheCon NA 2013
 
Chef arista devops days a'dam 2015
Chef arista devops days a'dam 2015Chef arista devops days a'dam 2015
Chef arista devops days a'dam 2015
 
Big Data Analytics using Mahout
Big Data Analytics using MahoutBig Data Analytics using Mahout
Big Data Analytics using Mahout
 
Deployment with Fabric
Deployment with FabricDeployment with Fabric
Deployment with Fabric
 
Harmonious Development: Via Vagrant and Puppet
Harmonious Development: Via Vagrant and PuppetHarmonious Development: Via Vagrant and Puppet
Harmonious Development: Via Vagrant and Puppet
 
Our Puppet Story (Linuxtag 2014)
Our Puppet Story (Linuxtag 2014)Our Puppet Story (Linuxtag 2014)
Our Puppet Story (Linuxtag 2014)
 
Rapid scaling in_the_cloud_with_puppet
Rapid scaling in_the_cloud_with_puppetRapid scaling in_the_cloud_with_puppet
Rapid scaling in_the_cloud_with_puppet
 
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
Exploring the Final Frontier of Data Center Orchestration: Network Elements -...
 
Puppet At Twitter - Puppet Camp Silicon Valley
Puppet At Twitter - Puppet Camp Silicon ValleyPuppet At Twitter - Puppet Camp Silicon Valley
Puppet At Twitter - Puppet Camp Silicon Valley
 
Puppet quick start guide
Puppet quick start guidePuppet quick start guide
Puppet quick start guide
 

Kürzlich hochgeladen

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
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
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...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
 
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
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...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
 
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
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 
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
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 

Kürzlich hochgeladen (20)

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
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, ...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
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
 
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...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
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
 
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
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
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
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 

Foreman presentation

  • 1. How to keep track of puppet with Foreman Glen Ogilve - glen.ogilvie@oss.co.nz
  • 2.
  • 4. Provisioning "Provision on bare-metal & public or private clouds all from one place." It does with a mix of: hardware via network boot and automated install virtual by connecting to the hypervisors AMI customisation
  • 5. Network For network installation, it signals the target server to network boot, by communicating with the BMC or hypervisor, and creates the appropraite network boot PXE setup via the foreman proxy to install the OS. The contents of the network boot file are built from templates and customised before starting the installation. It relies on a thrid party source for the installation media, and has templates available for Jumpstart, Kickstart, Preseed, AutoYast.
  • 6. Image based (AMI) For cloud based compute resources, new systems are provisioned using images, rather than running an installation. These are then finished by Foreman logging into the instance via ssh.
  • 7.
  • 8. Supported platforms EC2 Google compute engine Libvirt OpenStack Nova oVirt / RHEV Rackspace VMware Physical hardware via BMC
  • 9. Inputs When creating a system via foreman, it requires a number of details about the new system which then are used in the templates and finish scripts. This includes things like, disk size, cpus, memory, networks, puppet classes, host groups, variables, owner, availbility zone, vpc, os, architecture or AMI image
  • 10.
  • 11. Managed systems If you have provisioning turned on for a system, in some cases, you will have access to the system console, and the ability to delete/rebuild the machine from the foreman console.
  • 12. Turning off provisioning For basic usage of foreman with puppet, as I am describing in this talk, the provisioning component can be disabled. It is disabled as per below: /etc/foreman/settings.yaml # Disable foreman provisioning :unattended: true
  • 13. Configuration "A complete configuration management solution including an ENC for Puppet, built-in support for parameterized classes and hierarchical parameter storage."
  • 15. Parameters and meta information Foreman stores variables, paramters, meta information, class and facts.
  • 16. Paramerized classes Control how your classes behave, for one or many systems
  • 17. Host Groups Group systems togeather and apply parameters and classes to the group. Group groups.
  • 18.
  • 19.
  • 20. Monitoring "Collect Puppet reports and facts. Monitor host configuration. Report status, distribution and trends."
  • 21. What did puppet do? Reports
  • 22.
  • 23.
  • 24.
  • 25. Facts you can use them to find out stuff
  • 26.
  • 27.
  • 28. Are my hosts managed with puppet? Has puppet run recently?
  • 29.
  • 31.
  • 33.
  • 34. General features Robust API, restful. CLI as well Management of DHCP, DNS, TFTP, PXE PuppetCA Roles, Users, LDAP Packaged, managed with puppet Auditing
  • 35. Extra cool features Foreman data accessable from puppet manifests, removing the need for puppetdb. Facts for any host Hosts matching x Classes assigned to other hosts
  • 37. Puppet without foreman site.pp or nodes.pp maybe hiera read log files
  • 38. Agent runs Sync plugins Sends facts Puppet master looks for node matching it's name Compiles catalog Node applies catalog Node logs results to disk, and maybe back to the master
  • 39. node 'common' { $ntpserver = 'time.example.com' include common } node "myhost.linuxbox.co.nz" inherits common { $owner_name = "Glen Ogilvie" include basicstuff class{"mysql": port => 3306, listen => 192.168.213.12, } }
  • 40. Or maybe your using hiera /etc/puppet/hieradata/myhost.linuxbox.co.nz.yaml --"owner_name" : "Glen Ogilvie" "classes" : [ "mysql", "basicstuff" ], "mysql::port" : "3306", "mysql::listen" : "192.168.213.12" /etc/puppet/hieradata/common.yaml --"classes" : [ "common" ], "ntpserver" : "time.example.com"
  • 42. Agent runs Sync plugins Sends facts Puppet master connects to foreman, sending node name Foreman returns node classes and parameters to master Compiles catalog Node applies catalog Node logs results to disk, and to the master Master sends results and facts to foreman for storage
  • 43. Foreman YAML --classes: common: mysql: port: 3306 listen: "192.168.213.12" basicstuff: parameters: puppetmaster: configmgmt.oss.co.nz root_pw: $1$xxxxxxxxxxxxxxxxxxx foreman_env: dev owner_name: Glen Ogilvie owner_email: gogilvie@oss.co.nz ntpserver: time.example.com environment: dev
  • 47.
  • 48. Import your classes and enviroments
  • 49.
  • 50. And check the rdoc based class docs
  • 51.
  • 52. Setup an existing host Set meta data like (enviroment, owner) Attach classes and host groups Set parameters, or overide parametrized classes
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58. It keeps a record of changes
  • 59. Parameterized class # Class: apt # This module manages the initial configuration of apt. # # Parameters: # disable_keys - disables package signing check # always_apt_update - apt updated on every run (for dev) class apt( $always_apt_update $disable_keys $proxy_host $proxy_port $purge_sources_list $purge_sources_list_d $purge_preferences_d ) { # implimentaton } = = = = = = = false, undef, false, '8080', false, false, false
  • 60.
  • 61.
  • 62.
  • 63.
  • 64. Installing Foreman Installation of foreman is actually rather straight forward. The installer, based on your answers, it does some of the below. Installs puppet Sets up a puppet master and configures it Installs postgresql Sets up tftp, pxe, bind dhcpd (disabled by default) Sets up foreman, in apache passenger
  • 65. USE the Foreman-installer and Read the instructions, they help! http://theforeman.org/manuals/1.3/index.html#3.InstallingForeman
  • 66. Installing notes Make sure apt / yum / ruby gem works before you start The foreman repo will be added by the installer, if it's not available RHEL: make sure EPEL, RHEL optional and puppetlabs repos are available Make sure your hostname is what you want. SSL certs will be created with it. Foreman works with SELinux on, but check the audit logs if you have trouble Ruby versions can be a problem. I use Red Hat SCL to run on ruby 1.9.3
  • 67. Puppet Use a recent version of puppet. Your life will be easier! I recommend using the community version supplied by puppetlabs. http://yum.puppetlabs.com/ http://apt.puppetlabs.com/ unless all distro's you manage with puppet have version 3.3.x or above of puppet already.
  • 68.
  • 69. Questions? Track me down at LCA :) or email me: glen.ogilvie@oss.co.nz google+: glen.ogilvie@gmail.com
  • 70. Demo