SlideShare a Scribd company logo
1 of 70
Download to read offline
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

More Related Content

What's hot

[MeetUp][1st] 오리뎅이의_쿠버네티스_네트워킹
[MeetUp][1st] 오리뎅이의_쿠버네티스_네트워킹[MeetUp][1st] 오리뎅이의_쿠버네티스_네트워킹
[MeetUp][1st] 오리뎅이의_쿠버네티스_네트워킹InfraEngineer
 
Ansible Integration in Foreman
Ansible Integration in ForemanAnsible Integration in Foreman
Ansible Integration in ForemanNikhil Kathole
 
The Yocto Project
The Yocto ProjectThe Yocto Project
The Yocto Projectrossburton
 
Introduction to the Container Network Interface (CNI)
Introduction to the Container Network Interface (CNI)Introduction to the Container Network Interface (CNI)
Introduction to the Container Network Interface (CNI)Weaveworks
 
Open vSwitch 패킷 처리 구조
Open vSwitch 패킷 처리 구조Open vSwitch 패킷 처리 구조
Open vSwitch 패킷 처리 구조Seung-Hoon Baek
 
makefiles tutorial
makefiles tutorialmakefiles tutorial
makefiles tutorialvsubhashini
 
Linux host orchestration with Foreman, Puppet and Gitlab
Linux host orchestration with Foreman, Puppet and GitlabLinux host orchestration with Foreman, Puppet and Gitlab
Linux host orchestration with Foreman, Puppet and GitlabBen Tullis
 
なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...
なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...
なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...whywaita
 
CyberAgentのインフラについて メディア事業編 #catechchallenge
CyberAgentのインフラについて メディア事業編 #catechchallengeCyberAgentのインフラについて メディア事業編 #catechchallenge
CyberAgentのインフラについて メディア事業編 #catechchallengewhywaita
 
DevOps Meetup ansible
DevOps Meetup   ansibleDevOps Meetup   ansible
DevOps Meetup ansiblesriram_rajan
 
Docker and Kubernetes 101 workshop
Docker and Kubernetes 101 workshopDocker and Kubernetes 101 workshop
Docker and Kubernetes 101 workshopSathish VJ
 
TIME_WAITに関する話
TIME_WAITに関する話TIME_WAITに関する話
TIME_WAITに関する話Takanori Sejima
 
kube-system落としてみました
kube-system落としてみましたkube-system落としてみました
kube-system落としてみましたShuntaro Saiba
 
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48Preferred Networks
 
以 eBPF 構建一個更為堅韌的 Kubernetes 叢集
以 eBPF 構建一個更為堅韌的 Kubernetes 叢集以 eBPF 構建一個更為堅韌的 Kubernetes 叢集
以 eBPF 構建一個更為堅韌的 Kubernetes 叢集HungWei Chiu
 
(Declarative) Jenkins Pipelines
(Declarative) Jenkins Pipelines(Declarative) Jenkins Pipelines
(Declarative) Jenkins PipelinesSteffen Gebert
 
Kubernetes extensibility: CRDs & Operators
Kubernetes extensibility: CRDs & OperatorsKubernetes extensibility: CRDs & Operators
Kubernetes extensibility: CRDs & OperatorsSIGHUP
 

What's hot (20)

Jenkins Pipelines
Jenkins PipelinesJenkins Pipelines
Jenkins Pipelines
 
[MeetUp][1st] 오리뎅이의_쿠버네티스_네트워킹
[MeetUp][1st] 오리뎅이의_쿠버네티스_네트워킹[MeetUp][1st] 오리뎅이의_쿠버네티스_네트워킹
[MeetUp][1st] 오리뎅이의_쿠버네티스_네트워킹
 
Ansible Integration in Foreman
Ansible Integration in ForemanAnsible Integration in Foreman
Ansible Integration in Foreman
 
Mininet demo
Mininet demoMininet demo
Mininet demo
 
The Yocto Project
The Yocto ProjectThe Yocto Project
The Yocto Project
 
Introduction to the Container Network Interface (CNI)
Introduction to the Container Network Interface (CNI)Introduction to the Container Network Interface (CNI)
Introduction to the Container Network Interface (CNI)
 
Open vSwitch 패킷 처리 구조
Open vSwitch 패킷 처리 구조Open vSwitch 패킷 처리 구조
Open vSwitch 패킷 처리 구조
 
makefiles tutorial
makefiles tutorialmakefiles tutorial
makefiles tutorial
 
Linux host orchestration with Foreman, Puppet and Gitlab
Linux host orchestration with Foreman, Puppet and GitlabLinux host orchestration with Foreman, Puppet and Gitlab
Linux host orchestration with Foreman, Puppet and Gitlab
 
なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...
なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...
なぜディスクレスハイパーバイザに至ったのか / Why did we select to the diskless hypervisor? #builde...
 
CyberAgentのインフラについて メディア事業編 #catechchallenge
CyberAgentのインフラについて メディア事業編 #catechchallengeCyberAgentのインフラについて メディア事業編 #catechchallenge
CyberAgentのインフラについて メディア事業編 #catechchallenge
 
DevOps Meetup ansible
DevOps Meetup   ansibleDevOps Meetup   ansible
DevOps Meetup ansible
 
Docker and Kubernetes 101 workshop
Docker and Kubernetes 101 workshopDocker and Kubernetes 101 workshop
Docker and Kubernetes 101 workshop
 
TIME_WAITに関する話
TIME_WAITに関する話TIME_WAITに関する話
TIME_WAITに関する話
 
kube-system落としてみました
kube-system落としてみましたkube-system落としてみました
kube-system落としてみました
 
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
 
以 eBPF 構建一個更為堅韌的 Kubernetes 叢集
以 eBPF 構建一個更為堅韌的 Kubernetes 叢集以 eBPF 構建一個更為堅韌的 Kubernetes 叢集
以 eBPF 構建一個更為堅韌的 Kubernetes 叢集
 
(Declarative) Jenkins Pipelines
(Declarative) Jenkins Pipelines(Declarative) Jenkins Pipelines
(Declarative) Jenkins Pipelines
 
Scale Kubernetes to support 50000 services
Scale Kubernetes to support 50000 servicesScale Kubernetes to support 50000 services
Scale Kubernetes to support 50000 services
 
Kubernetes extensibility: CRDs & Operators
Kubernetes extensibility: CRDs & OperatorsKubernetes extensibility: CRDs & Operators
Kubernetes extensibility: CRDs & Operators
 

Viewers also liked

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
 

Viewers also liked (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
 

Similar to 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
 

Similar to 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
 

Recently uploaded

So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 

Recently uploaded (20)

So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 

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