SlideShare a Scribd company logo
1 of 20
Download to read offline
Managing network gear and
"dumb" devices using
SaltStack Proxy Minions1
C. R. Oldham
Platform Engineer
SaltStack
Where's
(the)
Waldo?
Self-aggrandizement
• North Central Association, Director of IT	

• Marvell Semiconductor, Compute Environment Manager	

• HopeKids, Executive Director	

• SaltStack, Platform Engineer

• Keyboard + Monitor Give it to C. R.
2
➮
What is Salt?
• Salt is more than just configuration management, it makes up a unified
system control platform.	

• Complete infrastructure control	

• A foundation API for communication	

• Remote execution, job management, state discovery	

• Control and view all aspects from one source, one medium	

• Salt is Simplicity	

• Salt is designed to be simple	

• Easy to set up, use, understand, and extend	

• Diving in is the right way to learn
3
Founded on Remote Execution
• The foundation of Salt is remote execution. Salt's unique remote
execution system enables extremely fast and reliable remote
control of systems	

• Remote Execution allows for server commands to be sent
around an infrastructure	

• ZeroMQ topology enables powerful and high speed
communication	

• Commands can be executed quickly and in parallel across large
numbers of nodes to execute commands and gather information	

4
Not Just for Large Infrastructure
• Salt can scale up or down as
far as you need to go	

• Home networks	

• "Micro" networks	

– Arduino, Raspberry Pi,
BeagleBone/BeagleBoard	

• "Dumb" devices	

– Switches, Routers	

– Coffee Makers	

– Sprinkler Systems
5
• Remote Services	

• Google Apps	

• Heroku	

• Gondor.IO	

• Anything with a REST api
Remote Execution Examples
salt -G 'os:Ubuntu' pkg.upgrade
!
salt '*' pkg.install openssl refresh=True
!
salt '*' service.restart apache
!
salt '*' shadow.set_password root '$1$UY...
6
State Examples
/webroot/web:
file.directory:
- user: www-data
- group: www-data
- dir_mode: 2755
- file_mode: '0755'
- makedirs: True
7
thorium_proj:
git.latest:
- rev: develop
- name: git@github.com:saltstack/thorium
- user: www-data
- target: {{ thorium.venv.base }}
- force: False
- identity:deploy.key
- require:
- file: /webroot/web/.ssh/deploy.key
!/webroot/web/.ssh/deploy.key:
file.managed:
- user: www-data
- group: www-data
- dir_mode: 0770
- mode: 0600
- source: salt://deploy.key
- makedirs: True
- replace: False
Minion - to - Master Communication
• Each minion runs a salt-minion
process	

– Python runtime, average RSS 30 MB	

– Minions connect to master	

– Master controls minions
8
• What if devices we want to
control can't spare 30 MB?
• Enter the PROXY MINION
What exactly IS a PROXY MINION??!
A process forked from a regular salt-minion that
has the sole purpose of talking to a device that
cannot run a minion.
9
GRU == salt-master Minion == salt-minion
Minions == proxy-minion
Car ==
Car == proxied device
Where we are going eventually...
salt datacenter-network state.highstate
11
Woohoo!!
Aren't there other tools?
• Web interface	

• ssh
• The CLI tool that shall remain nameless
Persistent Connection
• Batch-load	

• Check	

• Commit	

!
• Ephemeral-connection oriented tools drop changes on
disconnect. (oops)	

• Bootstrapping ssh connections over and over can be slow	

• Needed a persistent connection to overcome
13
Better Image
15
salt-
master salt-minion
device
🍴
proxy-minion
HOWTO
• interface package 

(/srv/salt/_proxy or site-packages/salt/proxy)	

• execution modules 

(/srv/salt/_modules or site-packages/salt/modules)	

• grains 

(/srv/salt/_grains or site-packages/salt/grains)
16
Interface package
• Python package that handles heavy-lifting for connection	

• Needs a class Proxyconn!
– __init__!
– proxytype!
– id!
– ping!
– shutdown
17
Execution Modules
• Some "just work"	

• Some don't make sense	

• Some need lots of love	

• __proxyenabled__
18
Caveat Emptor
• Process Management	

• Logging	

• No Masterless	

• Lots of things broken
19
C. R. Oldham	

Platform Engineer	

SaltStack
20
https://joind.in/11037
cr@saltstack.com	

https://github.com/cro	

http://ncbt.org	

cro
Email:	

GitHub:	

Blog:	

IRC:

More Related Content

What's hot

What's hot (20)

OWF12/Open Standards for Cloud - Cs owf
OWF12/Open Standards for Cloud - Cs owfOWF12/Open Standards for Cloud - Cs owf
OWF12/Open Standards for Cloud - Cs owf
 
OSDC 2015: Bernd Erk | Why favour Icinga over Nagios
OSDC 2015: Bernd Erk | Why favour Icinga over NagiosOSDC 2015: Bernd Erk | Why favour Icinga over Nagios
OSDC 2015: Bernd Erk | Why favour Icinga over Nagios
 
Improve App Performance & Reliability with NGINX Amplify
Improve App Performance & Reliability with NGINX AmplifyImprove App Performance & Reliability with NGINX Amplify
Improve App Performance & Reliability with NGINX Amplify
 
Setting up Cisco WSA Proxy in Transparent and Explicit Mode
Setting up Cisco WSA Proxy in Transparent and Explicit ModeSetting up Cisco WSA Proxy in Transparent and Explicit Mode
Setting up Cisco WSA Proxy in Transparent and Explicit Mode
 
Deep dive networking
Deep dive networkingDeep dive networking
Deep dive networking
 
Case Study - IPv6 Challenges for Cloud Service Providers
Case Study - IPv6 Challenges for Cloud Service ProvidersCase Study - IPv6 Challenges for Cloud Service Providers
Case Study - IPv6 Challenges for Cloud Service Providers
 
What Hackers Don’t Want You To Know: How to Maximize Your API Security
What Hackers Don’t Want You To Know: How to Maximize Your API SecurityWhat Hackers Don’t Want You To Know: How to Maximize Your API Security
What Hackers Don’t Want You To Know: How to Maximize Your API Security
 
Erlang containers
Erlang containersErlang containers
Erlang containers
 
Chaos Engineering
Chaos EngineeringChaos Engineering
Chaos Engineering
 
Red Hat Forum Tokyo - OpenStack Architecture Design
Red Hat Forum Tokyo - OpenStack Architecture DesignRed Hat Forum Tokyo - OpenStack Architecture Design
Red Hat Forum Tokyo - OpenStack Architecture Design
 
Lying, Cheating, and Winning with Containers in Networking
Lying, Cheating, and Winning with Containers in NetworkingLying, Cheating, and Winning with Containers in Networking
Lying, Cheating, and Winning with Containers in Networking
 
Building the Glue for Service Discovery & Load Balancing Microservices
Building the Glue for Service Discovery & Load Balancing MicroservicesBuilding the Glue for Service Discovery & Load Balancing Microservices
Building the Glue for Service Discovery & Load Balancing Microservices
 
DEF CON 27 - DOUGLAS MCKEE - hvacking understanding the delta between securit...
DEF CON 27 - DOUGLAS MCKEE - hvacking understanding the delta between securit...DEF CON 27 - DOUGLAS MCKEE - hvacking understanding the delta between securit...
DEF CON 27 - DOUGLAS MCKEE - hvacking understanding the delta between securit...
 
OMD and Check_mk
OMD and Check_mkOMD and Check_mk
OMD and Check_mk
 
Erlang User Conference 2016: Container Networking: A Field Report
Erlang User Conference 2016: Container Networking: A Field ReportErlang User Conference 2016: Container Networking: A Field Report
Erlang User Conference 2016: Container Networking: A Field Report
 
Jason Stanley, Secure-24 - Own IT Through Proactive IT Monitoring
Jason Stanley, Secure-24 - Own IT Through Proactive IT MonitoringJason Stanley, Secure-24 - Own IT Through Proactive IT Monitoring
Jason Stanley, Secure-24 - Own IT Through Proactive IT Monitoring
 
Internet
InternetInternet
Internet
 
Mistral and StackStorm
Mistral and StackStormMistral and StackStorm
Mistral and StackStorm
 
Process for joining to the FIWARE Lab
Process for joining to the FIWARE LabProcess for joining to the FIWARE Lab
Process for joining to the FIWARE Lab
 
How to configure cisco asa virtual firewall
How to configure cisco asa virtual firewallHow to configure cisco asa virtual firewall
How to configure cisco asa virtual firewall
 

Viewers also liked

Penyusunan Dokumen Rencana Aksi Nasional Kepemudaan
Penyusunan Dokumen Rencana Aksi Nasional KepemudaanPenyusunan Dokumen Rencana Aksi Nasional Kepemudaan
Penyusunan Dokumen Rencana Aksi Nasional Kepemudaan
Rissalwan Lubis
 
Vt419 v granskning biltvätt
Vt419 v granskning biltvättVt419 v granskning biltvätt
Vt419 v granskning biltvätt
EmilJorgensen
 

Viewers also liked (18)

Ppt01 1
Ppt01 1Ppt01 1
Ppt01 1
 
AmeetKumar - 1
AmeetKumar - 1AmeetKumar - 1
AmeetKumar - 1
 
ViV Magazine Volume 3 (Feb - Mar 2014)
ViV Magazine Volume 3 (Feb - Mar 2014)ViV Magazine Volume 3 (Feb - Mar 2014)
ViV Magazine Volume 3 (Feb - Mar 2014)
 
IJETR022025
IJETR022025IJETR022025
IJETR022025
 
dinCloud PR Highlights Q3 2015
dinCloud PR Highlights Q3 2015dinCloud PR Highlights Q3 2015
dinCloud PR Highlights Q3 2015
 
Penyusunan Dokumen Rencana Aksi Nasional Kepemudaan
Penyusunan Dokumen Rencana Aksi Nasional KepemudaanPenyusunan Dokumen Rencana Aksi Nasional Kepemudaan
Penyusunan Dokumen Rencana Aksi Nasional Kepemudaan
 
Edita Kaye | Creepy Halloween Treats
Edita Kaye | Creepy Halloween TreatsEdita Kaye | Creepy Halloween Treats
Edita Kaye | Creepy Halloween Treats
 
وانةى دووةم
وانةى دووةموانةى دووةم
وانةى دووةم
 
Sensores o2 demo
Sensores o2 demoSensores o2 demo
Sensores o2 demo
 
Engage Συζητήσεις στην τάξη
Engage Συζητήσεις στην τάξηEngage Συζητήσεις στην τάξη
Engage Συζητήσεις στην τάξη
 
Mixed Use Scheme Management London
Mixed Use Scheme Management LondonMixed Use Scheme Management London
Mixed Use Scheme Management London
 
Week6
Week6Week6
Week6
 
Curso efi demo cuerpo acelerador
Curso efi demo cuerpo aceleradorCurso efi demo cuerpo acelerador
Curso efi demo cuerpo acelerador
 
Curso de sistemas de inyección y encendido electrónico programable
Curso de sistemas de inyección y encendido electrónico programableCurso de sistemas de inyección y encendido electrónico programable
Curso de sistemas de inyección y encendido electrónico programable
 
Curso efi demo control
Curso efi demo controlCurso efi demo control
Curso efi demo control
 
Guia poetes
Guia poetesGuia poetes
Guia poetes
 
Vt419 v granskning biltvätt
Vt419 v granskning biltvättVt419 v granskning biltvätt
Vt419 v granskning biltvätt
 
ученый совет 22 мая 2014 -Выборы декана
ученый совет 22 мая 2014 -Выборы деканаученый совет 22 мая 2014 -Выборы декана
ученый совет 22 мая 2014 -Выборы декана
 

Similar to OpenWest 2014-05-10 Where's the Waldo, SaltStack Proxy Minions

Redis everywhere - PHP London
Redis everywhere - PHP LondonRedis everywhere - PHP London
Redis everywhere - PHP London
Ricard Clau
 

Similar to OpenWest 2014-05-10 Where's the Waldo, SaltStack Proxy Minions (20)

Big Data Approaches to Cloud Security
Big Data Approaches to Cloud SecurityBig Data Approaches to Cloud Security
Big Data Approaches to Cloud Security
 
Boundary for puppet @ puppet conf2012
Boundary for puppet @ puppet conf2012Boundary for puppet @ puppet conf2012
Boundary for puppet @ puppet conf2012
 
John adams talk cloudy
John adams   talk cloudyJohn adams   talk cloudy
John adams talk cloudy
 
Cloud Device Insecurity
Cloud Device InsecurityCloud Device Insecurity
Cloud Device Insecurity
 
SaltConf14 - Craig Sebenik, LinkedIn - SaltStack at Web Scale
SaltConf14 - Craig Sebenik, LinkedIn - SaltStack at Web ScaleSaltConf14 - Craig Sebenik, LinkedIn - SaltStack at Web Scale
SaltConf14 - Craig Sebenik, LinkedIn - SaltStack at Web Scale
 
Considerations when implementing_ha_in_dmf
Considerations when implementing_ha_in_dmfConsiderations when implementing_ha_in_dmf
Considerations when implementing_ha_in_dmf
 
Software defined networking: Primer
Software defined networking: PrimerSoftware defined networking: Primer
Software defined networking: Primer
 
Metasploitation part-1 (murtuja)
Metasploitation part-1 (murtuja)Metasploitation part-1 (murtuja)
Metasploitation part-1 (murtuja)
 
Why SaltStack ?
Why SaltStack ?Why SaltStack ?
Why SaltStack ?
 
OSDC 2018 | Introduction to SaltStack in the Modern Data Center by Mike Place
OSDC 2018 | Introduction to SaltStack in the Modern Data Center by Mike PlaceOSDC 2018 | Introduction to SaltStack in the Modern Data Center by Mike Place
OSDC 2018 | Introduction to SaltStack in the Modern Data Center by Mike Place
 
Redis everywhere - PHP London
Redis everywhere - PHP LondonRedis everywhere - PHP London
Redis everywhere - PHP London
 
Sensu and Sensibility - Puppetconf 2014
Sensu and Sensibility - Puppetconf 2014Sensu and Sensibility - Puppetconf 2014
Sensu and Sensibility - Puppetconf 2014
 
[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)
 
Sutol How To Be A Lion Tamer
Sutol How To Be A Lion TamerSutol How To Be A Lion Tamer
Sutol How To Be A Lion Tamer
 
Database Firewall with Snort
Database Firewall with SnortDatabase Firewall with Snort
Database Firewall with Snort
 
How to be a lion tamer
How to be a lion tamerHow to be a lion tamer
How to be a lion tamer
 
How to be a lion tamer
How to be a lion tamerHow to be a lion tamer
How to be a lion tamer
 
Connect the Dots: Logging and Custom Connectors
Connect the Dots: Logging and Custom ConnectorsConnect the Dots: Logging and Custom Connectors
Connect the Dots: Logging and Custom Connectors
 
2015_01 - Networking Session - SPHMMC ICT workshop
2015_01 - Networking Session - SPHMMC ICT workshop2015_01 - Networking Session - SPHMMC ICT workshop
2015_01 - Networking Session - SPHMMC ICT workshop
 
Chirp 2010: Scaling Twitter
Chirp 2010: Scaling TwitterChirp 2010: Scaling Twitter
Chirp 2010: Scaling Twitter
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

OpenWest 2014-05-10 Where's the Waldo, SaltStack Proxy Minions

  • 1. Managing network gear and "dumb" devices using SaltStack Proxy Minions1 C. R. Oldham Platform Engineer SaltStack Where's (the) Waldo?
  • 2. Self-aggrandizement • North Central Association, Director of IT • Marvell Semiconductor, Compute Environment Manager • HopeKids, Executive Director • SaltStack, Platform Engineer
 • Keyboard + Monitor Give it to C. R. 2 ➮
  • 3. What is Salt? • Salt is more than just configuration management, it makes up a unified system control platform. • Complete infrastructure control • A foundation API for communication • Remote execution, job management, state discovery • Control and view all aspects from one source, one medium • Salt is Simplicity • Salt is designed to be simple • Easy to set up, use, understand, and extend • Diving in is the right way to learn 3
  • 4. Founded on Remote Execution • The foundation of Salt is remote execution. Salt's unique remote execution system enables extremely fast and reliable remote control of systems • Remote Execution allows for server commands to be sent around an infrastructure • ZeroMQ topology enables powerful and high speed communication • Commands can be executed quickly and in parallel across large numbers of nodes to execute commands and gather information 4
  • 5. Not Just for Large Infrastructure • Salt can scale up or down as far as you need to go • Home networks • "Micro" networks – Arduino, Raspberry Pi, BeagleBone/BeagleBoard • "Dumb" devices – Switches, Routers – Coffee Makers – Sprinkler Systems 5 • Remote Services • Google Apps • Heroku • Gondor.IO • Anything with a REST api
  • 6. Remote Execution Examples salt -G 'os:Ubuntu' pkg.upgrade ! salt '*' pkg.install openssl refresh=True ! salt '*' service.restart apache ! salt '*' shadow.set_password root '$1$UY... 6
  • 7. State Examples /webroot/web: file.directory: - user: www-data - group: www-data - dir_mode: 2755 - file_mode: '0755' - makedirs: True 7 thorium_proj: git.latest: - rev: develop - name: git@github.com:saltstack/thorium - user: www-data - target: {{ thorium.venv.base }} - force: False - identity:deploy.key - require: - file: /webroot/web/.ssh/deploy.key !/webroot/web/.ssh/deploy.key: file.managed: - user: www-data - group: www-data - dir_mode: 0770 - mode: 0600 - source: salt://deploy.key - makedirs: True - replace: False
  • 8. Minion - to - Master Communication • Each minion runs a salt-minion process – Python runtime, average RSS 30 MB – Minions connect to master – Master controls minions 8 • What if devices we want to control can't spare 30 MB? • Enter the PROXY MINION
  • 9. What exactly IS a PROXY MINION??! A process forked from a regular salt-minion that has the sole purpose of talking to a device that cannot run a minion. 9
  • 10. GRU == salt-master Minion == salt-minion Minions == proxy-minion Car == Car == proxied device
  • 11. Where we are going eventually... salt datacenter-network state.highstate 11 Woohoo!!
  • 12. Aren't there other tools? • Web interface • ssh • The CLI tool that shall remain nameless
  • 13. Persistent Connection • Batch-load • Check • Commit ! • Ephemeral-connection oriented tools drop changes on disconnect. (oops) • Bootstrapping ssh connections over and over can be slow • Needed a persistent connection to overcome 13
  • 14.
  • 16. HOWTO • interface package 
 (/srv/salt/_proxy or site-packages/salt/proxy) • execution modules 
 (/srv/salt/_modules or site-packages/salt/modules) • grains 
 (/srv/salt/_grains or site-packages/salt/grains) 16
  • 17. Interface package • Python package that handles heavy-lifting for connection • Needs a class Proxyconn! – __init__! – proxytype! – id! – ping! – shutdown 17
  • 18. Execution Modules • Some "just work" • Some don't make sense • Some need lots of love • __proxyenabled__ 18
  • 19. Caveat Emptor • Process Management • Logging • No Masterless • Lots of things broken 19
  • 20. C. R. Oldham Platform Engineer SaltStack 20 https://joind.in/11037 cr@saltstack.com https://github.com/cro http://ncbt.org cro Email: GitHub: Blog: IRC: