SlideShare a Scribd company logo
1 of 28
Download to read offline
OpenNebula
and
SaltStack
Valentin Bud
CEO
databus.pro | valentin@databus.pro | @databuspro
OpenNebulaConf
Berlin, Germany, September 25th
#OpenNebulaConf
SaltStack
About
• The name is the vision
• A different approach to infrastructure
management
• Transparent control system
• A simple viable building block
#OpenNebulaConfValentin Bud | @valentinbudm
SaltStack
Standing on the Shoulders of the Giants
• Python
• 0MQ
• MessagePack
• M2Crypto
#OpenNebulaConfValentin Bud | @valentinbud
SaltStack
Architecture
...
0MQ
MASTER(S)
minion
minion
minion
#OpenNebulaConfValentin Bud | @valentinbud
SaltStack
The Remote Execution Engine
root@salt ~ # salt ‘*’ test.ping
nfs:
True
salt:
True
node01:
True
salt nfs
test.ping
response
0MQ
#OpenNebulaConfValentin Bud | @valentinbud
SaltStack
Meet your minions - Grains
root@salt ~ # salt ‘nfs’ grains.items
nfs:
...
kernel: Linux
kernelrelease: 2.6.32-358.18.1.el6.x86_64
localhost: nfs master: salt
mem_total: 1877
nodename: nfs
num_cpus: 2
num_gpus: 1
os: CentOS
os_family: RedHat
oscodename: Final
osfullname: CentOS
...
#OpenNebulaConfValentin Bud | @valentinbud
SaltStack
Grains - Tag your minions
root@salt ~ # salt ‘salt’ grains.setval role opennebula-frontend
salt:
role: opennebula-frontend
root@salt ~ # salt ‘salt’ grains.item role
salt:
role:
opennebula-frontend
#OpenNebulaConfValentin Bud | @valentinbud
SaltStack
Target your Minions
GLOBBING
root@salt ~ # salt -G 'web*' test.ping
REGULAR EXPRESSIONS
root@salt ~ # salt -E 'web1-(prod|devel)' test.ping
LISTS
root@salt ~ # salt -L 'web1,web2,web3' test.ping
GRAINS
root@salt ~ # salt -G '@os:CentOS' test.ping
#OpenNebulaConfValentin Bud | @valentinbud
OpenNebula and SaltStack
OpenNebulaConf Demo Cloud
salt
frontend
node01
salt
nfs
Services Network
private
virtual
machine
network
#OpenNebulaConfValentin Bud | @valentinbud
SaltStack
The State System
• The Configuration Management
component
• Already available with a basic setup
• Powerful, fast, lightweight system
#OpenNebulaConfValentin Bud | @valentinbud
opennebula-server State
Install the OpenNebula Server
opennebula-server/init.sls:
opennebula-server:
pkg:
- installed
service:
- running
- require:
- pkg: opennebula-server
#OpenNebulaConfValentin Bud | @valentinbud
The Anatomy of a State
IT IS ALL JUST DATA!
opennebula-server/init.sls:
opennebula-server:
pkg:
- installed
service:
- running
- require:
- pkg: opennebula-server
ID DECLARATION
STATE DECLARATION
STATE ARGUMENTS
#OpenNebulaConfValentin Bud | @valentinbud
opennebula-sunstone State
Beyond a single State File
opennebula-server/init.sls:
opennebula-server:
pkg:
- installed
service:
- running
- require:
- pkg: opennebula-server
opennebula-sunstone/init.sls:
include:
- opennebula-server
opennebula-sunstone:
pkg:
- installed
service:
- running
- require:
- service: opennebula-server
#OpenNebulaConfValentin Bud | @valentinbud
State Execution
Behind the scenes
salt minion
state.sls opennebula-server
response
root@salt ~ # salt ‘minion’ state.sls opennebula-server
1
parse
and
execute
2
3
0MQ
#OpenNebulaConfValentin Bud | @valentinbud
SaltStack
The Highstate
root@salt ~ # salt ‘*’ state.highstate
states/top.sls
base:
‘frontend’:
- opennebula-server
- opennebula-frontend
#OpenNebulaConfValentin Bud | @valentinbud
SaltStack
The Render System
• State data is just that - data
• It does not need to be represented in
YAML
• State files can be rendered from any
medium
• Modular system
#OpenNebulaConfValentin Bud | @valentinbud
SaltStack
Be a Ninja with Jinja2
libvirt/init.sls:
libvirt:
pkg:
- installed
{% if grains[‘os’] == ‘Debian’ %}
- name: libvirt-bin
{% elif grains[‘os’] == ‘CentOS’ %}
- name: libvirt
{% endif %}
#OpenNebulaConfValentin Bud | @valentinbud
State Execution
Behind the scenes with Jinja2
salt minion
state.sls libvirt
response
root@salt ~ # salt ‘minion’ state.sls opennebula-server
1
parse
execute
2
4
render
3
0MQ
#OpenNebulaConfValentin Bud | @valentinbud
SaltStack
The Pillar Interface
• Generate/store data for specific minions
• Highly sensitive data
• Minion configuration
• Variables
• Arbitrary data
#OpenNebulaConfValentin Bud | @valentinbud
OpenNebula oneadmin Password
Stored in Pillar
pillar/opennebula.sls:
opennebula:
oneadmin:
password: SecurePassword
state/oneadmin.sls:
oneadmin_password:
cmd:
- run
- name: oneuser passwd 0 {{ pillar[‘opennebula’][‘oneadmin’]
[‘password’] }}
#OpenNebulaConfValentin Bud | @valentinbud
OpenNebula Node Communication
TOP SECRET
frontend node
START VM
VM STARTED
NEEDS:
SSH password-less communication
Distribute Public Key to Nodes
#OpenNebulaConfValentin Bud | @valentinbud
SaltStack
The Mine
node
mine
mine.send
oneadmin_public_key.put
1
mine.get
2
/var/lib/one/.ssh/authorized_keys
3
frontend:
oneadmin_public_key: ssh-rsa ...
#OpenNebulaConfValentin Bud | @valentinbud
SaltStack
The Mine in States
state/oneadmin_ssh_auth.sls:
oneadmin_ssh_auth:
ssh_auth:
- present
- user: oneadmin
- name: {{ salt['mine.get']('frontend', 'oneadmin_public_key.get') }}
#OpenNebulaConfValentin Bud | @valentinbud
SaltStack
Peer Communication
• Allow minion to “talk” to each other
• Chatting done via Master
• Must be enabled on the Master
• Live data from other minions!
#OpenNebulaConfValentin Bud | @valentinbud
OpenNebula Node Up
Create it on the Frontend
salt node
state.sls opennebula-node-kvm
communicate frontend to
create node
1
configure
node
2
4
3
frontend
createnode
#OpenNebulaConfValentin Bud | @valentinbud
Bootstrap OpenNebula Demo
Cloud
The SaltStack Overstate
overstate
all
network
nfs-server
storage
frontend
frontend
nodes
nodes
1
2
3
4
5
6
7
8
#OpenNebulaConfValentin Bud | @valentinbud
Conclusions
• Two simple tools together = POWER
• Salt is fast
• Both are easy to use
• Salt can morph and grow together with
your needs
2
#OpenNebulaConfValentin Bud | @valentinbud
databus.pro
@

More Related Content

What's hot

Using SaltStack to orchestrate microservices in application containers at Sal...
Using SaltStack to orchestrate microservices in application containers at Sal...Using SaltStack to orchestrate microservices in application containers at Sal...
Using SaltStack to orchestrate microservices in application containers at Sal...Love Nyberg
 
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014Puppet Availability and Performance at 100K Nodes - PuppetConf 2014
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014Puppet
 
SaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability EnvironmentsSaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability EnvironmentsSaltStack
 
Spot Trading - A case study in continuous delivery for mission critical finan...
Spot Trading - A case study in continuous delivery for mission critical finan...Spot Trading - A case study in continuous delivery for mission critical finan...
Spot Trading - A case study in continuous delivery for mission critical finan...SaltStack
 
SaltConf14 - Forrest Alvarez, Choice Hotels - Salt Formulas and States
SaltConf14 - Forrest Alvarez, Choice Hotels - Salt Formulas and StatesSaltConf14 - Forrest Alvarez, Choice Hotels - Salt Formulas and States
SaltConf14 - Forrest Alvarez, Choice Hotels - Salt Formulas and StatesSaltStack
 
[TechTalks] Learning Configuration Management with SaltStack (Advanced Concepts)
[TechTalks] Learning Configuration Management with SaltStack (Advanced Concepts)[TechTalks] Learning Configuration Management with SaltStack (Advanced Concepts)
[TechTalks] Learning Configuration Management with SaltStack (Advanced Concepts)Blazeclan Technologies Private Limited
 
SaltConf 2014: Safety with powertools
SaltConf 2014: Safety with powertoolsSaltConf 2014: Safety with powertools
SaltConf 2014: Safety with powertoolsThomas Jackson
 
Salt Stack - Subhankar Sengupta
Salt Stack - Subhankar SenguptaSalt Stack - Subhankar Sengupta
Salt Stack - Subhankar SenguptaDevOpsBangalore
 
Salt conf 2014-installing-openstack-using-saltstack-v02
Salt conf 2014-installing-openstack-using-saltstack-v02Salt conf 2014-installing-openstack-using-saltstack-v02
Salt conf 2014-installing-openstack-using-saltstack-v02Yazz Atlas
 
Salt conf 2014 - Using SaltStack in high availability environments
Salt conf 2014 - Using SaltStack in high availability environmentsSalt conf 2014 - Using SaltStack in high availability environments
Salt conf 2014 - Using SaltStack in high availability environmentsBenjamin Cane
 
Performance Tuning Your Puppet Infrastructure - PuppetConf 2014
Performance Tuning Your Puppet Infrastructure - PuppetConf 2014Performance Tuning Your Puppet Infrastructure - PuppetConf 2014
Performance Tuning Your Puppet Infrastructure - PuppetConf 2014Puppet
 
Continuous Deployment with Jenkins and Salt
Continuous Deployment with Jenkins and SaltContinuous Deployment with Jenkins and Salt
Continuous Deployment with Jenkins and SaltAnirban Saha
 
Salt Stack pt. 2 : Configuration Management
Salt Stack pt. 2 : Configuration ManagementSalt Stack pt. 2 : Configuration Management
Salt Stack pt. 2 : Configuration ManagementUmberto Nicoletti
 
Consul - service discovery and others
Consul - service discovery and othersConsul - service discovery and others
Consul - service discovery and othersWalter Liu
 
Ansible 實戰:top down 觀點
Ansible 實戰:top down 觀點Ansible 實戰:top down 觀點
Ansible 實戰:top down 觀點William Yeh
 
[오픈소스컨설팅] EFK Stack 소개와 설치 방법
[오픈소스컨설팅] EFK Stack 소개와 설치 방법[오픈소스컨설팅] EFK Stack 소개와 설치 방법
[오픈소스컨설팅] EFK Stack 소개와 설치 방법Open Source Consulting
 
Cookbook testing with KitcenCI and Serverrspec
Cookbook testing with KitcenCI and ServerrspecCookbook testing with KitcenCI and Serverrspec
Cookbook testing with KitcenCI and ServerrspecDaniel Paulus
 
Red Hat Satellite 6 - Automation with Puppet
Red Hat Satellite 6 - Automation with PuppetRed Hat Satellite 6 - Automation with Puppet
Red Hat Satellite 6 - Automation with PuppetMichael Lessard
 
Real-time Infrastructure Management with SaltStack - OpenWest 2013
Real-time Infrastructure Management with SaltStack - OpenWest 2013Real-time Infrastructure Management with SaltStack - OpenWest 2013
Real-time Infrastructure Management with SaltStack - OpenWest 2013SaltStack
 
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013Puppet
 

What's hot (20)

Using SaltStack to orchestrate microservices in application containers at Sal...
Using SaltStack to orchestrate microservices in application containers at Sal...Using SaltStack to orchestrate microservices in application containers at Sal...
Using SaltStack to orchestrate microservices in application containers at Sal...
 
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014Puppet Availability and Performance at 100K Nodes - PuppetConf 2014
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014
 
SaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability EnvironmentsSaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
SaltConf14 - Ben Cane - Using SaltStack in High Availability Environments
 
Spot Trading - A case study in continuous delivery for mission critical finan...
Spot Trading - A case study in continuous delivery for mission critical finan...Spot Trading - A case study in continuous delivery for mission critical finan...
Spot Trading - A case study in continuous delivery for mission critical finan...
 
SaltConf14 - Forrest Alvarez, Choice Hotels - Salt Formulas and States
SaltConf14 - Forrest Alvarez, Choice Hotels - Salt Formulas and StatesSaltConf14 - Forrest Alvarez, Choice Hotels - Salt Formulas and States
SaltConf14 - Forrest Alvarez, Choice Hotels - Salt Formulas and States
 
[TechTalks] Learning Configuration Management with SaltStack (Advanced Concepts)
[TechTalks] Learning Configuration Management with SaltStack (Advanced Concepts)[TechTalks] Learning Configuration Management with SaltStack (Advanced Concepts)
[TechTalks] Learning Configuration Management with SaltStack (Advanced Concepts)
 
SaltConf 2014: Safety with powertools
SaltConf 2014: Safety with powertoolsSaltConf 2014: Safety with powertools
SaltConf 2014: Safety with powertools
 
Salt Stack - Subhankar Sengupta
Salt Stack - Subhankar SenguptaSalt Stack - Subhankar Sengupta
Salt Stack - Subhankar Sengupta
 
Salt conf 2014-installing-openstack-using-saltstack-v02
Salt conf 2014-installing-openstack-using-saltstack-v02Salt conf 2014-installing-openstack-using-saltstack-v02
Salt conf 2014-installing-openstack-using-saltstack-v02
 
Salt conf 2014 - Using SaltStack in high availability environments
Salt conf 2014 - Using SaltStack in high availability environmentsSalt conf 2014 - Using SaltStack in high availability environments
Salt conf 2014 - Using SaltStack in high availability environments
 
Performance Tuning Your Puppet Infrastructure - PuppetConf 2014
Performance Tuning Your Puppet Infrastructure - PuppetConf 2014Performance Tuning Your Puppet Infrastructure - PuppetConf 2014
Performance Tuning Your Puppet Infrastructure - PuppetConf 2014
 
Continuous Deployment with Jenkins and Salt
Continuous Deployment with Jenkins and SaltContinuous Deployment with Jenkins and Salt
Continuous Deployment with Jenkins and Salt
 
Salt Stack pt. 2 : Configuration Management
Salt Stack pt. 2 : Configuration ManagementSalt Stack pt. 2 : Configuration Management
Salt Stack pt. 2 : Configuration Management
 
Consul - service discovery and others
Consul - service discovery and othersConsul - service discovery and others
Consul - service discovery and others
 
Ansible 實戰:top down 觀點
Ansible 實戰:top down 觀點Ansible 實戰:top down 觀點
Ansible 實戰:top down 觀點
 
[오픈소스컨설팅] EFK Stack 소개와 설치 방법
[오픈소스컨설팅] EFK Stack 소개와 설치 방법[오픈소스컨설팅] EFK Stack 소개와 설치 방법
[오픈소스컨설팅] EFK Stack 소개와 설치 방법
 
Cookbook testing with KitcenCI and Serverrspec
Cookbook testing with KitcenCI and ServerrspecCookbook testing with KitcenCI and Serverrspec
Cookbook testing with KitcenCI and Serverrspec
 
Red Hat Satellite 6 - Automation with Puppet
Red Hat Satellite 6 - Automation with PuppetRed Hat Satellite 6 - Automation with Puppet
Red Hat Satellite 6 - Automation with Puppet
 
Real-time Infrastructure Management with SaltStack - OpenWest 2013
Real-time Infrastructure Management with SaltStack - OpenWest 2013Real-time Infrastructure Management with SaltStack - OpenWest 2013
Real-time Infrastructure Management with SaltStack - OpenWest 2013
 
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013
Running at Scale: Practical Performance Tuning with Puppet - PuppetConf 2013
 

Similar to OpenNebula and SaltStack - OpenNebulaConf 2013

Intelligent infrastructure with SaltStack
Intelligent infrastructure with SaltStackIntelligent infrastructure with SaltStack
Intelligent infrastructure with SaltStackLove Nyberg
 
21st Century CPAN Testing: CPANci
21st Century CPAN Testing: CPANci21st Century CPAN Testing: CPANci
21st Century CPAN Testing: CPANciMike Friedman
 
M|18 Scalability via Expendable Resources: Containers at BlaBlaCar
M|18 Scalability via Expendable Resources: Containers at BlaBlaCarM|18 Scalability via Expendable Resources: Containers at BlaBlaCar
M|18 Scalability via Expendable Resources: Containers at BlaBlaCarMariaDB plc
 
Security Testing for Blue Teamers
Security Testing for Blue TeamersSecurity Testing for Blue Teamers
Security Testing for Blue TeamersBen Finke
 
Meetup - An introduction to Salt
Meetup - An introduction to SaltMeetup - An introduction to Salt
Meetup - An introduction to SaltRichard Woudenberg
 
SaltStack Advanced Concepts
SaltStack Advanced ConceptsSaltStack Advanced Concepts
SaltStack Advanced ConceptsVishal Biyani
 
Network Penetration Testing Toolkit - Nmap, Netcat, and Metasploit Basics
Network Penetration Testing Toolkit - Nmap, Netcat, and Metasploit BasicsNetwork Penetration Testing Toolkit - Nmap, Netcat, and Metasploit Basics
Network Penetration Testing Toolkit - Nmap, Netcat, and Metasploit BasicsBishop Fox
 
Configuration Management and Salt
Configuration Management and SaltConfiguration Management and Salt
Configuration Management and Salt55020
 
Introduction to SaltStack
Introduction to SaltStackIntroduction to SaltStack
Introduction to SaltStackAymen EL Amri
 
Unlocked Nov 2013: Main Slide Pack
Unlocked Nov 2013: Main Slide PackUnlocked Nov 2013: Main Slide Pack
Unlocked Nov 2013: Main Slide PackRackspace Academy
 
Orchestrate Event-Driven Infrastructure with SaltStack
Orchestrate Event-Driven Infrastructure with SaltStackOrchestrate Event-Driven Infrastructure with SaltStack
Orchestrate Event-Driven Infrastructure with SaltStackLove Nyberg
 
Using Multiple Persistence Layers in Spark to Build a Scalable Prediction Eng...
Using Multiple Persistence Layers in Spark to Build a Scalable Prediction Eng...Using Multiple Persistence Layers in Spark to Build a Scalable Prediction Eng...
Using Multiple Persistence Layers in Spark to Build a Scalable Prediction Eng...StampedeCon
 
Islands: Puppet at Bulletproof Networks
Islands: Puppet at Bulletproof NetworksIslands: Puppet at Bulletproof Networks
Islands: Puppet at Bulletproof NetworksLindsay Holmwood
 
Running Ansible within Salt: Get the best from both worlds
Running Ansible within Salt: Get the best from both worldsRunning Ansible within Salt: Get the best from both worlds
Running Ansible within Salt: Get the best from both worldsmeaksh
 
Jenkins log monitoring with elk stack
Jenkins log monitoring with elk stackJenkins log monitoring with elk stack
Jenkins log monitoring with elk stackSubhasis Roy
 
Putting Rugged Into your DevOps Toolchain
Putting Rugged Into your DevOps ToolchainPutting Rugged Into your DevOps Toolchain
Putting Rugged Into your DevOps ToolchainJames Wickett
 

Similar to OpenNebula and SaltStack - OpenNebulaConf 2013 (18)

Intelligent infrastructure with SaltStack
Intelligent infrastructure with SaltStackIntelligent infrastructure with SaltStack
Intelligent infrastructure with SaltStack
 
21st Century CPAN Testing: CPANci
21st Century CPAN Testing: CPANci21st Century CPAN Testing: CPANci
21st Century CPAN Testing: CPANci
 
M|18 Scalability via Expendable Resources: Containers at BlaBlaCar
M|18 Scalability via Expendable Resources: Containers at BlaBlaCarM|18 Scalability via Expendable Resources: Containers at BlaBlaCar
M|18 Scalability via Expendable Resources: Containers at BlaBlaCar
 
Security Testing for Blue Teamers
Security Testing for Blue TeamersSecurity Testing for Blue Teamers
Security Testing for Blue Teamers
 
Meetup - An introduction to Salt
Meetup - An introduction to SaltMeetup - An introduction to Salt
Meetup - An introduction to Salt
 
SaltStack Advanced Concepts
SaltStack Advanced ConceptsSaltStack Advanced Concepts
SaltStack Advanced Concepts
 
Network Penetration Testing Toolkit - Nmap, Netcat, and Metasploit Basics
Network Penetration Testing Toolkit - Nmap, Netcat, and Metasploit BasicsNetwork Penetration Testing Toolkit - Nmap, Netcat, and Metasploit Basics
Network Penetration Testing Toolkit - Nmap, Netcat, and Metasploit Basics
 
Configuration Management and Salt
Configuration Management and SaltConfiguration Management and Salt
Configuration Management and Salt
 
Capistrano
CapistranoCapistrano
Capistrano
 
Introduction to SaltStack
Introduction to SaltStackIntroduction to SaltStack
Introduction to SaltStack
 
Unlocked Nov 2013: Main Slide Pack
Unlocked Nov 2013: Main Slide PackUnlocked Nov 2013: Main Slide Pack
Unlocked Nov 2013: Main Slide Pack
 
Orchestrate Event-Driven Infrastructure with SaltStack
Orchestrate Event-Driven Infrastructure with SaltStackOrchestrate Event-Driven Infrastructure with SaltStack
Orchestrate Event-Driven Infrastructure with SaltStack
 
Using Multiple Persistence Layers in Spark to Build a Scalable Prediction Eng...
Using Multiple Persistence Layers in Spark to Build a Scalable Prediction Eng...Using Multiple Persistence Layers in Spark to Build a Scalable Prediction Eng...
Using Multiple Persistence Layers in Spark to Build a Scalable Prediction Eng...
 
Islands: Puppet at Bulletproof Networks
Islands: Puppet at Bulletproof NetworksIslands: Puppet at Bulletproof Networks
Islands: Puppet at Bulletproof Networks
 
Running Ansible within Salt: Get the best from both worlds
Running Ansible within Salt: Get the best from both worldsRunning Ansible within Salt: Get the best from both worlds
Running Ansible within Salt: Get the best from both worlds
 
Neutron CI Run on Docker
Neutron CI Run on DockerNeutron CI Run on Docker
Neutron CI Run on Docker
 
Jenkins log monitoring with elk stack
Jenkins log monitoring with elk stackJenkins log monitoring with elk stack
Jenkins log monitoring with elk stack
 
Putting Rugged Into your DevOps Toolchain
Putting Rugged Into your DevOps ToolchainPutting Rugged Into your DevOps Toolchain
Putting Rugged Into your DevOps Toolchain
 

Recently uploaded

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
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
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
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
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
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
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
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
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 

Recently uploaded (20)

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
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
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
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
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
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
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 

OpenNebula and SaltStack - OpenNebulaConf 2013

  • 1. OpenNebula and SaltStack Valentin Bud CEO databus.pro | valentin@databus.pro | @databuspro OpenNebulaConf Berlin, Germany, September 25th #OpenNebulaConf
  • 2. SaltStack About • The name is the vision • A different approach to infrastructure management • Transparent control system • A simple viable building block #OpenNebulaConfValentin Bud | @valentinbudm
  • 3. SaltStack Standing on the Shoulders of the Giants • Python • 0MQ • MessagePack • M2Crypto #OpenNebulaConfValentin Bud | @valentinbud
  • 5. SaltStack The Remote Execution Engine root@salt ~ # salt ‘*’ test.ping nfs: True salt: True node01: True salt nfs test.ping response 0MQ #OpenNebulaConfValentin Bud | @valentinbud
  • 6. SaltStack Meet your minions - Grains root@salt ~ # salt ‘nfs’ grains.items nfs: ... kernel: Linux kernelrelease: 2.6.32-358.18.1.el6.x86_64 localhost: nfs master: salt mem_total: 1877 nodename: nfs num_cpus: 2 num_gpus: 1 os: CentOS os_family: RedHat oscodename: Final osfullname: CentOS ... #OpenNebulaConfValentin Bud | @valentinbud
  • 7. SaltStack Grains - Tag your minions root@salt ~ # salt ‘salt’ grains.setval role opennebula-frontend salt: role: opennebula-frontend root@salt ~ # salt ‘salt’ grains.item role salt: role: opennebula-frontend #OpenNebulaConfValentin Bud | @valentinbud
  • 8. SaltStack Target your Minions GLOBBING root@salt ~ # salt -G 'web*' test.ping REGULAR EXPRESSIONS root@salt ~ # salt -E 'web1-(prod|devel)' test.ping LISTS root@salt ~ # salt -L 'web1,web2,web3' test.ping GRAINS root@salt ~ # salt -G '@os:CentOS' test.ping #OpenNebulaConfValentin Bud | @valentinbud
  • 9. OpenNebula and SaltStack OpenNebulaConf Demo Cloud salt frontend node01 salt nfs Services Network private virtual machine network #OpenNebulaConfValentin Bud | @valentinbud
  • 10. SaltStack The State System • The Configuration Management component • Already available with a basic setup • Powerful, fast, lightweight system #OpenNebulaConfValentin Bud | @valentinbud
  • 11. opennebula-server State Install the OpenNebula Server opennebula-server/init.sls: opennebula-server: pkg: - installed service: - running - require: - pkg: opennebula-server #OpenNebulaConfValentin Bud | @valentinbud
  • 12. The Anatomy of a State IT IS ALL JUST DATA! opennebula-server/init.sls: opennebula-server: pkg: - installed service: - running - require: - pkg: opennebula-server ID DECLARATION STATE DECLARATION STATE ARGUMENTS #OpenNebulaConfValentin Bud | @valentinbud
  • 13. opennebula-sunstone State Beyond a single State File opennebula-server/init.sls: opennebula-server: pkg: - installed service: - running - require: - pkg: opennebula-server opennebula-sunstone/init.sls: include: - opennebula-server opennebula-sunstone: pkg: - installed service: - running - require: - service: opennebula-server #OpenNebulaConfValentin Bud | @valentinbud
  • 14. State Execution Behind the scenes salt minion state.sls opennebula-server response root@salt ~ # salt ‘minion’ state.sls opennebula-server 1 parse and execute 2 3 0MQ #OpenNebulaConfValentin Bud | @valentinbud
  • 15. SaltStack The Highstate root@salt ~ # salt ‘*’ state.highstate states/top.sls base: ‘frontend’: - opennebula-server - opennebula-frontend #OpenNebulaConfValentin Bud | @valentinbud
  • 16. SaltStack The Render System • State data is just that - data • It does not need to be represented in YAML • State files can be rendered from any medium • Modular system #OpenNebulaConfValentin Bud | @valentinbud
  • 17. SaltStack Be a Ninja with Jinja2 libvirt/init.sls: libvirt: pkg: - installed {% if grains[‘os’] == ‘Debian’ %} - name: libvirt-bin {% elif grains[‘os’] == ‘CentOS’ %} - name: libvirt {% endif %} #OpenNebulaConfValentin Bud | @valentinbud
  • 18. State Execution Behind the scenes with Jinja2 salt minion state.sls libvirt response root@salt ~ # salt ‘minion’ state.sls opennebula-server 1 parse execute 2 4 render 3 0MQ #OpenNebulaConfValentin Bud | @valentinbud
  • 19. SaltStack The Pillar Interface • Generate/store data for specific minions • Highly sensitive data • Minion configuration • Variables • Arbitrary data #OpenNebulaConfValentin Bud | @valentinbud
  • 20. OpenNebula oneadmin Password Stored in Pillar pillar/opennebula.sls: opennebula: oneadmin: password: SecurePassword state/oneadmin.sls: oneadmin_password: cmd: - run - name: oneuser passwd 0 {{ pillar[‘opennebula’][‘oneadmin’] [‘password’] }} #OpenNebulaConfValentin Bud | @valentinbud
  • 21. OpenNebula Node Communication TOP SECRET frontend node START VM VM STARTED NEEDS: SSH password-less communication Distribute Public Key to Nodes #OpenNebulaConfValentin Bud | @valentinbud
  • 23. SaltStack The Mine in States state/oneadmin_ssh_auth.sls: oneadmin_ssh_auth: ssh_auth: - present - user: oneadmin - name: {{ salt['mine.get']('frontend', 'oneadmin_public_key.get') }} #OpenNebulaConfValentin Bud | @valentinbud
  • 24. SaltStack Peer Communication • Allow minion to “talk” to each other • Chatting done via Master • Must be enabled on the Master • Live data from other minions! #OpenNebulaConfValentin Bud | @valentinbud
  • 25. OpenNebula Node Up Create it on the Frontend salt node state.sls opennebula-node-kvm communicate frontend to create node 1 configure node 2 4 3 frontend createnode #OpenNebulaConfValentin Bud | @valentinbud
  • 26. Bootstrap OpenNebula Demo Cloud The SaltStack Overstate overstate all network nfs-server storage frontend frontend nodes nodes 1 2 3 4 5 6 7 8 #OpenNebulaConfValentin Bud | @valentinbud
  • 27. Conclusions • Two simple tools together = POWER • Salt is fast • Both are easy to use • Salt can morph and grow together with your needs 2 #OpenNebulaConfValentin Bud | @valentinbud