SlideShare a Scribd company logo
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

Ansible Integration in Foreman
Ansible Integration in ForemanAnsible Integration in Foreman
Ansible Integration in Foreman
Nikhil Kathole
 
How To Create The Ubuntu 20 VM Template For VMware Automation
How To Create The Ubuntu 20 VM Template For VMware AutomationHow To Create The Ubuntu 20 VM Template For VMware Automation
How To Create The Ubuntu 20 VM Template For VMware Automation
Real Estate
 
OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!
ksk_ha
 
High Availability for OpenStack
High Availability for OpenStackHigh Availability for OpenStack
High Availability for OpenStack
Kamesh Pemmaraju
 
How to write a Neutron Plugin - if you really need to
How to write a Neutron Plugin - if you really need toHow to write a Neutron Plugin - if you really need to
How to write a Neutron Plugin - if you really need to
salv_orlando
 
Zookeeper 활용 nifi clustering
Zookeeper 활용 nifi clusteringZookeeper 활용 nifi clustering
Zookeeper 활용 nifi clustering
NoahKIM36
 
ONIC-Japan-2019-OVN public
ONIC-Japan-2019-OVN publicONIC-Japan-2019-OVN public
ONIC-Japan-2019-OVN public
Manabu Ori
 
Openstack in 10 mins
Openstack in 10 minsOpenstack in 10 mins
Openstack in 10 mins
Dawood M.S
 
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
Ji-Woong Choi
 
Introduction to Ansible
Introduction to AnsibleIntroduction to Ansible
Introduction to Ansible
Knoldus Inc.
 
Building Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
Building Multi-Site and Multi-OpenStack Cloud with OpenStack CascadingBuilding Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
Building Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
Joe Huang
 
Service Mesh on Kubernetes with Istio
Service Mesh on Kubernetes with IstioService Mesh on Kubernetes with Istio
Service Mesh on Kubernetes with Istio
Michelle Holley
 
AnsibleFest 2021 - DevSecOps with Ansible, OpenShift Virtualization, Packer a...
AnsibleFest 2021 - DevSecOps with Ansible, OpenShift Virtualization, Packer a...AnsibleFest 2021 - DevSecOps with Ansible, OpenShift Virtualization, Packer a...
AnsibleFest 2021 - DevSecOps with Ansible, OpenShift Virtualization, Packer a...
Mihai Criveti
 
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
OpenStack Korea Community
 
MariaDB Galera Cluster
MariaDB Galera ClusterMariaDB Galera Cluster
MariaDB Galera ClusterAbdul Manaf
 
DevOps with Kubernetes
DevOps with KubernetesDevOps with Kubernetes
DevOps with Kubernetes
EastBanc Tachnologies
 
Introduction of OpenStack cascading solution
Introduction of OpenStack cascading solutionIntroduction of OpenStack cascading solution
Introduction of OpenStack cascading solution
Joe Huang
 
Introduction to Kubernetes Workshop
Introduction to Kubernetes WorkshopIntroduction to Kubernetes Workshop
Introduction to Kubernetes Workshop
Bob Killen
 
Istio on Kubernetes
Istio on KubernetesIstio on Kubernetes
Istio on Kubernetes
Daneyon Hansen
 
Git best practices workshop
Git best practices workshopGit best practices workshop
Git best practices workshop
Otto Kekäläinen
 

What's hot (20)

Ansible Integration in Foreman
Ansible Integration in ForemanAnsible Integration in Foreman
Ansible Integration in Foreman
 
How To Create The Ubuntu 20 VM Template For VMware Automation
How To Create The Ubuntu 20 VM Template For VMware AutomationHow To Create The Ubuntu 20 VM Template For VMware Automation
How To Create The Ubuntu 20 VM Template For VMware Automation
 
OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!OpenStackでも重要な役割を果たすPacemakerを知ろう!
OpenStackでも重要な役割を果たすPacemakerを知ろう!
 
High Availability for OpenStack
High Availability for OpenStackHigh Availability for OpenStack
High Availability for OpenStack
 
How to write a Neutron Plugin - if you really need to
How to write a Neutron Plugin - if you really need toHow to write a Neutron Plugin - if you really need to
How to write a Neutron Plugin - if you really need to
 
Zookeeper 활용 nifi clustering
Zookeeper 활용 nifi clusteringZookeeper 활용 nifi clustering
Zookeeper 활용 nifi clustering
 
ONIC-Japan-2019-OVN public
ONIC-Japan-2019-OVN publicONIC-Japan-2019-OVN public
ONIC-Japan-2019-OVN public
 
Openstack in 10 mins
Openstack in 10 minsOpenstack in 10 mins
Openstack in 10 mins
 
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
[오픈소스컨설팅] Open Stack Ceph, Neutron, HA, Multi-Region
 
Introduction to Ansible
Introduction to AnsibleIntroduction to Ansible
Introduction to Ansible
 
Building Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
Building Multi-Site and Multi-OpenStack Cloud with OpenStack CascadingBuilding Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
Building Multi-Site and Multi-OpenStack Cloud with OpenStack Cascading
 
Service Mesh on Kubernetes with Istio
Service Mesh on Kubernetes with IstioService Mesh on Kubernetes with Istio
Service Mesh on Kubernetes with Istio
 
AnsibleFest 2021 - DevSecOps with Ansible, OpenShift Virtualization, Packer a...
AnsibleFest 2021 - DevSecOps with Ansible, OpenShift Virtualization, Packer a...AnsibleFest 2021 - DevSecOps with Ansible, OpenShift Virtualization, Packer a...
AnsibleFest 2021 - DevSecOps with Ansible, OpenShift Virtualization, Packer a...
 
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
[OpenInfra Days Korea 2018] (Track 4) - Grafana를 이용한 OpenStack 클라우드 성능 모니터링
 
MariaDB Galera Cluster
MariaDB Galera ClusterMariaDB Galera Cluster
MariaDB Galera Cluster
 
DevOps with Kubernetes
DevOps with KubernetesDevOps with Kubernetes
DevOps with Kubernetes
 
Introduction of OpenStack cascading solution
Introduction of OpenStack cascading solutionIntroduction of OpenStack cascading solution
Introduction of OpenStack cascading solution
 
Introduction to Kubernetes Workshop
Introduction to Kubernetes WorkshopIntroduction to Kubernetes Workshop
Introduction to Kubernetes Workshop
 
Istio on Kubernetes
Istio on KubernetesIstio on Kubernetes
Istio on Kubernetes
 
Git best practices workshop
Git best practices workshopGit best practices workshop
Git best practices workshop
 

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 users
ohadlevy
 
Foreman Presentation
Foreman PresentationForeman Presentation
Foreman Presentation
Hattie Foreman
 
O Mundo Clama por Paz
O Mundo Clama por PazO Mundo Clama por Paz
O Mundo Clama por Paz
Mateus 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 components
Stoyan 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 2014
Dominic 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 Krantz
Olivier DASINI
 
Foreman como provisionador
Foreman como provisionadorForeman como provisionador
Foreman como provisionador
Andre "Ramoni" Guimaraes
 
Demystifying the Foreman
Demystifying the ForemanDemystifying the Foreman
Demystifying the Foreman
Julien 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_katello
Sachin Ghai
 
DevOps: IT's Automation Revolution
DevOps: IT's Automation RevolutionDevOps: IT's Automation Revolution
DevOps: IT's Automation Revolution
IBM UrbanCode Products
 
Ovirt and gluster_hyperconvergence_devconf-2016
Ovirt and gluster_hyperconvergence_devconf-2016Ovirt and gluster_hyperconvergence_devconf-2016
Ovirt and gluster_hyperconvergence_devconf-2016
Ramesh 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-center
Yaniv 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 - fudcon2015
Ramesh Nachimuthu
 
Managing ceph through_oVirt_using_Cinder
Managing ceph through_oVirt_using_CinderManaging ceph through_oVirt_using_Cinder
Managing ceph through_oVirt_using_Cinder
Maor 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 Foreman
Stephen Benjamin
 
oVirt introduction
oVirt introduction oVirt introduction
oVirt introduction
Rogan Kyuseok Lee
 

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 Developers
sagarhere4u
 
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
Puppet
 
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
Puppet
 
Mcollective introduction
Mcollective introductionMcollective introduction
Mcollective introduction
Javier Turégano Molina
 
Strategies for Puppet code upgrade and refactoring
Strategies for Puppet code upgrade and refactoringStrategies for Puppet code upgrade and refactoring
Strategies for Puppet code upgrade and refactoring
Alessandro Franceschi
 
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
StackIQ
 
Build Automation 101
Build Automation 101Build Automation 101
Build Automation 101
Martin Jackson
 
Python Deployment with Fabric
Python Deployment with FabricPython Deployment with Fabric
Python Deployment with Fabricandymccurdy
 
One-Man Ops
One-Man OpsOne-Man Ops
One-Man Ops
Jos Boumans
 
Introduction to PowerShell
Introduction to PowerShellIntroduction to PowerShell
Introduction to PowerShell
Boulos 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 2013
Carlos 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 2015
Edwin Beekman
 
Big Data Analytics using Mahout
Big Data Analytics using MahoutBig Data Analytics using Mahout
Big Data Analytics using Mahout
IMC 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 Puppet
Achieve 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 Valley
Puppet
 

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

FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
Jen Stirrup
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...The Metaverse and AI: how can decision-makers harness the Metaverse for their...
The Metaverse and AI: how can decision-makers harness the Metaverse for their...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 

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