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

Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 

Recently uploaded (20)

Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 

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