Suche senden
Hochladen
Puppet camp2021 testing modules and controlrepo
âą
0 gefÀllt mir
âą
1,522 views
Puppet
Folgen
April 15 2021
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 41
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
Lifecycle Management with Foreman
Lifecycle Management with Foreman
Julien Pivotto
Â
Asterisk Complete Training
Asterisk Complete Training
Flavio Eduardo de Andrade Goncalves
Â
ConfiguraciĂłn VPN Sitio a Sitio en ENDIAN
ConfiguraciĂłn VPN Sitio a Sitio en ENDIAN
cyberleon95
Â
October OpenNTF Webinar - What we like about Domino/Notes 12, recommended new...
October OpenNTF Webinar - What we like about Domino/Notes 12, recommended new...
Howard Greenberg
Â
Making a computer play Tetris
Making a computer play Tetris
Spandana Govindgari
Â
System Hardening Using Ansible
System Hardening Using Ansible
Sonatype
Â
3 aruba arm and cm
3 aruba arm and cm
Venudhanraj
Â
3 aruba arm and cm
3 aruba arm and cm
Venudhanraj
Â
Empfohlen
Lifecycle Management with Foreman
Lifecycle Management with Foreman
Julien Pivotto
Â
Asterisk Complete Training
Asterisk Complete Training
Flavio Eduardo de Andrade Goncalves
Â
ConfiguraciĂłn VPN Sitio a Sitio en ENDIAN
ConfiguraciĂłn VPN Sitio a Sitio en ENDIAN
cyberleon95
Â
October OpenNTF Webinar - What we like about Domino/Notes 12, recommended new...
October OpenNTF Webinar - What we like about Domino/Notes 12, recommended new...
Howard Greenberg
Â
Making a computer play Tetris
Making a computer play Tetris
Spandana Govindgari
Â
System Hardening Using Ansible
System Hardening Using Ansible
Sonatype
Â
3 aruba arm and cm
3 aruba arm and cm
Venudhanraj
Â
3 aruba arm and cm
3 aruba arm and cm
Venudhanraj
Â
Ansible
Ansible
Raul Leite
Â
Las 12 pruebas de Asterisk
Las 12 pruebas de Asterisk
Elio Rojano
Â
Getting started with Puppet
Getting started with Puppet
jeyg
Â
IBM Health Center Details
IBM Health Center Details
Rohit Kelapure
Â
10 Tips for AIX Security
10 Tips for AIX Security
HelpSystems
Â
BewĂ€hrte Praktiken fĂŒr HCL Notes/Domino-Sicherheit. Teil 2: Der Domino-Server
BewĂ€hrte Praktiken fĂŒr HCL Notes/Domino-Sicherheit. Teil 2: Der Domino-Server
panagenda
Â
A very quick introduction to HFC, DOCSIS 3.0 and 3.1
A very quick introduction to HFC, DOCSIS 3.0 and 3.1
Erik Vloothuis
Â
Cisco ios overview
Cisco ios overview
NetProtocol Xpert
Â
Advanced rf troubleshooting_peter lane
Advanced rf troubleshooting_peter lane
Aruba, a Hewlett Packard Enterprise company
Â
DHCP PROTOCOL
DHCP PROTOCOL
atharvakale07
Â
Intro to PDK
Intro to PDK
Steven Pritchard
Â
Puppet Camp Germany 2020 - Puppet Control Repo and GIT
Puppet Camp Germany 2020 - Puppet Control Repo and GIT
Martin Alfke
Â
Test-Driven Puppet Development - PuppetConf 2014
Test-Driven Puppet Development - PuppetConf 2014
Puppet
Â
Mcollective introduction
Mcollective introduction
Javier Turégano Molina
Â
Jenkins to Gitlab - Intelligent Build-Pipelines
Jenkins to Gitlab - Intelligent Build-Pipelines
Christian MĂŒnch
Â
Introduction to Polyaxon
Introduction to Polyaxon
Yu Ishikawa
Â
PuppetConf 2016: Getting to the Latest Puppet â Nate McCurdy & Elizabeth Witt...
PuppetConf 2016: Getting to the Latest Puppet â Nate McCurdy & Elizabeth Witt...
Puppet
Â
Integrating cloud stack with puppet
Integrating cloud stack with puppet
Puppet
Â
Workshop: Know Before You Push 'Go': Using the Beaker Acceptance Test Framewo...
Workshop: Know Before You Push 'Go': Using the Beaker Acceptance Test Framewo...
Puppet
Â
Autotools adaptation for integrating autotmatic unit tests and covering for K...
Autotools adaptation for integrating autotmatic unit tests and covering for K...
Thierry Gayet
Â
Iteratively introducing Puppet technologies in the brownfield; Jeffrey Miller
Iteratively introducing Puppet technologies in the brownfield; Jeffrey Miller
Puppet
Â
Nobody Knows What Itâs Like To Be the Bad Man: The Development Process for th...
Nobody Knows What Itâs Like To Be the Bad Man: The Development Process for th...
Work-Bench
Â
Weitere Àhnliche Inhalte
Was ist angesagt?
Ansible
Ansible
Raul Leite
Â
Las 12 pruebas de Asterisk
Las 12 pruebas de Asterisk
Elio Rojano
Â
Getting started with Puppet
Getting started with Puppet
jeyg
Â
IBM Health Center Details
IBM Health Center Details
Rohit Kelapure
Â
10 Tips for AIX Security
10 Tips for AIX Security
HelpSystems
Â
BewĂ€hrte Praktiken fĂŒr HCL Notes/Domino-Sicherheit. Teil 2: Der Domino-Server
BewĂ€hrte Praktiken fĂŒr HCL Notes/Domino-Sicherheit. Teil 2: Der Domino-Server
panagenda
Â
A very quick introduction to HFC, DOCSIS 3.0 and 3.1
A very quick introduction to HFC, DOCSIS 3.0 and 3.1
Erik Vloothuis
Â
Cisco ios overview
Cisco ios overview
NetProtocol Xpert
Â
Advanced rf troubleshooting_peter lane
Advanced rf troubleshooting_peter lane
Aruba, a Hewlett Packard Enterprise company
Â
DHCP PROTOCOL
DHCP PROTOCOL
atharvakale07
Â
Was ist angesagt?
(10)
Ansible
Ansible
Â
Las 12 pruebas de Asterisk
Las 12 pruebas de Asterisk
Â
Getting started with Puppet
Getting started with Puppet
Â
IBM Health Center Details
IBM Health Center Details
Â
10 Tips for AIX Security
10 Tips for AIX Security
Â
BewĂ€hrte Praktiken fĂŒr HCL Notes/Domino-Sicherheit. Teil 2: Der Domino-Server
BewĂ€hrte Praktiken fĂŒr HCL Notes/Domino-Sicherheit. Teil 2: Der Domino-Server
Â
A very quick introduction to HFC, DOCSIS 3.0 and 3.1
A very quick introduction to HFC, DOCSIS 3.0 and 3.1
Â
Cisco ios overview
Cisco ios overview
Â
Advanced rf troubleshooting_peter lane
Advanced rf troubleshooting_peter lane
Â
DHCP PROTOCOL
DHCP PROTOCOL
Â
Ăhnlich wie Puppet camp2021 testing modules and controlrepo
Intro to PDK
Intro to PDK
Steven Pritchard
Â
Puppet Camp Germany 2020 - Puppet Control Repo and GIT
Puppet Camp Germany 2020 - Puppet Control Repo and GIT
Martin Alfke
Â
Test-Driven Puppet Development - PuppetConf 2014
Test-Driven Puppet Development - PuppetConf 2014
Puppet
Â
Mcollective introduction
Mcollective introduction
Javier Turégano Molina
Â
Jenkins to Gitlab - Intelligent Build-Pipelines
Jenkins to Gitlab - Intelligent Build-Pipelines
Christian MĂŒnch
Â
Introduction to Polyaxon
Introduction to Polyaxon
Yu Ishikawa
Â
PuppetConf 2016: Getting to the Latest Puppet â Nate McCurdy & Elizabeth Witt...
PuppetConf 2016: Getting to the Latest Puppet â Nate McCurdy & Elizabeth Witt...
Puppet
Â
Integrating cloud stack with puppet
Integrating cloud stack with puppet
Puppet
Â
Workshop: Know Before You Push 'Go': Using the Beaker Acceptance Test Framewo...
Workshop: Know Before You Push 'Go': Using the Beaker Acceptance Test Framewo...
Puppet
Â
Autotools adaptation for integrating autotmatic unit tests and covering for K...
Autotools adaptation for integrating autotmatic unit tests and covering for K...
Thierry Gayet
Â
Iteratively introducing Puppet technologies in the brownfield; Jeffrey Miller
Iteratively introducing Puppet technologies in the brownfield; Jeffrey Miller
Puppet
Â
Nobody Knows What Itâs Like To Be the Bad Man: The Development Process for th...
Nobody Knows What Itâs Like To Be the Bad Man: The Development Process for th...
Work-Bench
Â
Testing the frontend
Testing the frontend
Heiko Hardt
Â
2018 Cisco DevNet Create : How to Treat a Network as a Container
2018 Cisco DevNet Create : How to Treat a Network as a Container
Rosemary Wang
Â
Strategies for Puppet code upgrade and refactoring
Strategies for Puppet code upgrade and refactoring
Alessandro Franceschi
Â
Learning puppet chapter 3
Learning puppet chapter 3
Vishal Biyani
Â
Mihai Criveti - PyCon Ireland - Automate Everything
Mihai Criveti - PyCon Ireland - Automate Everything
Mihai Criveti
Â
Stop Being Lazy and Test Your Software
Stop Being Lazy and Test Your Software
Laura Frank Tacho
Â
Continuous integration / continuous delivery of web applications, Eugen Kuzmi...
Continuous integration / continuous delivery of web applications, Eugen Kuzmi...
Evgeniy Kuzmin
Â
PuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of Puppet
Walter Heck
Â
Ăhnlich wie Puppet camp2021 testing modules and controlrepo
(20)
Intro to PDK
Intro to PDK
Â
Puppet Camp Germany 2020 - Puppet Control Repo and GIT
Puppet Camp Germany 2020 - Puppet Control Repo and GIT
Â
Test-Driven Puppet Development - PuppetConf 2014
Test-Driven Puppet Development - PuppetConf 2014
Â
Mcollective introduction
Mcollective introduction
Â
Jenkins to Gitlab - Intelligent Build-Pipelines
Jenkins to Gitlab - Intelligent Build-Pipelines
Â
Introduction to Polyaxon
Introduction to Polyaxon
Â
PuppetConf 2016: Getting to the Latest Puppet â Nate McCurdy & Elizabeth Witt...
PuppetConf 2016: Getting to the Latest Puppet â Nate McCurdy & Elizabeth Witt...
Â
Integrating cloud stack with puppet
Integrating cloud stack with puppet
Â
Workshop: Know Before You Push 'Go': Using the Beaker Acceptance Test Framewo...
Workshop: Know Before You Push 'Go': Using the Beaker Acceptance Test Framewo...
Â
Autotools adaptation for integrating autotmatic unit tests and covering for K...
Autotools adaptation for integrating autotmatic unit tests and covering for K...
Â
Iteratively introducing Puppet technologies in the brownfield; Jeffrey Miller
Iteratively introducing Puppet technologies in the brownfield; Jeffrey Miller
Â
Nobody Knows What Itâs Like To Be the Bad Man: The Development Process for th...
Nobody Knows What Itâs Like To Be the Bad Man: The Development Process for th...
Â
Testing the frontend
Testing the frontend
Â
2018 Cisco DevNet Create : How to Treat a Network as a Container
2018 Cisco DevNet Create : How to Treat a Network as a Container
Â
Strategies for Puppet code upgrade and refactoring
Strategies for Puppet code upgrade and refactoring
Â
Learning puppet chapter 3
Learning puppet chapter 3
Â
Mihai Criveti - PyCon Ireland - Automate Everything
Mihai Criveti - PyCon Ireland - Automate Everything
Â
Stop Being Lazy and Test Your Software
Stop Being Lazy and Test Your Software
Â
Continuous integration / continuous delivery of web applications, Eugen Kuzmi...
Continuous integration / continuous delivery of web applications, Eugen Kuzmi...
Â
PuppetCamp SEA 1 - Use of Puppet
PuppetCamp SEA 1 - Use of Puppet
Â
Mehr von Puppet
Puppetcamp r10kyaml
Puppetcamp r10kyaml
Puppet
Â
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)
Puppet
Â
Puppet camp vscode
Puppet camp vscode
Puppet
Â
Modules of the twenties
Modules of the twenties
Puppet
Â
Applying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance code
Puppet
Â
KGI compliance as-code approach
KGI compliance as-code approach
Puppet
Â
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automation
Puppet
Â
Keynote: Puppet camp compliance
Keynote: Puppet camp compliance
Puppet
Â
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNow
Puppet
Â
Puppet: The best way to harden Windows
Puppet: The best way to harden Windows
Puppet
Â
Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020
Puppet
Â
Accelerating azure adoption with puppet
Accelerating azure adoption with puppet
Puppet
Â
Puppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael Pinson
Puppet
Â
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin Reeuwijk
Puppet
Â
Take control of your dev ops dumping ground
Take control of your dev ops dumping ground
Puppet
Â
100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software
Puppet
Â
Puppet User Group
Puppet User Group
Puppet
Â
Continuous Compliance and DevSecOps
Continuous Compliance and DevSecOps
Puppet
Â
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
Puppet
Â
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin Reeuwijk
Puppet
Â
Mehr von Puppet
(20)
Puppetcamp r10kyaml
Puppetcamp r10kyaml
Â
2021 04-15 operational verification (with notes)
2021 04-15 operational verification (with notes)
Â
Puppet camp vscode
Puppet camp vscode
Â
Modules of the twenties
Modules of the twenties
Â
Applying Roles and Profiles method to compliance code
Applying Roles and Profiles method to compliance code
Â
KGI compliance as-code approach
KGI compliance as-code approach
Â
Enforce compliance policy with model-driven automation
Enforce compliance policy with model-driven automation
Â
Keynote: Puppet camp compliance
Keynote: Puppet camp compliance
Â
Automating it management with Puppet + ServiceNow
Automating it management with Puppet + ServiceNow
Â
Puppet: The best way to harden Windows
Puppet: The best way to harden Windows
Â
Simplified Patch Management with Puppet - Oct. 2020
Simplified Patch Management with Puppet - Oct. 2020
Â
Accelerating azure adoption with puppet
Accelerating azure adoption with puppet
Â
Puppet catalog Diff; Raphael Pinson
Puppet catalog Diff; Raphael Pinson
Â
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin Reeuwijk
Â
Take control of your dev ops dumping ground
Take control of your dev ops dumping ground
Â
100% Puppet Cloud Deployment of Legacy Software
100% Puppet Cloud Deployment of Legacy Software
Â
Puppet User Group
Puppet User Group
Â
Continuous Compliance and DevSecOps
Continuous Compliance and DevSecOps
Â
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
The Dynamic Duo of Puppet and Vault tame SSL Certificates, Nick Maludy
Â
ServiceNow and Puppet- better together, Kevin Reeuwijk
ServiceNow and Puppet- better together, Kevin Reeuwijk
Â
KĂŒrzlich hochgeladen
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
Enterprise Knowledge
Â
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
Â
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
HampshireHUG
Â
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service đž 8923113531 đ° Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service đž 8923113531 đ° Avail...
gurkirankumar98700
Â
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
Allon Mureinik
Â
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
Malak Abu Hammad
Â
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
Â
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Roshan Dwivedi
Â
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Martijn de Jong
Â
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
Â
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
Â
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
naman860154
Â
Scaling API-first â The story of a global engineering organization
Scaling API-first â The story of a global engineering organization
Radu Cotescu
Â
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
Delhi Call girls
Â
đŹ The future of MySQL is Postgres đ
đŹ The future of MySQL is Postgres đ
RTylerCroy
Â
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Principled Technologies
Â
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Rafal Los
Â
Slack Application Development 101 Slides
Slack Application Development 101 Slides
praypatel2
Â
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...
Neo4j
Â
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
ThousandEyes
Â
KĂŒrzlich hochgeladen
(20)
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
Â
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Â
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
Â
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service đž 8923113531 đ° Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service đž 8923113531 đ° Avail...
Â
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
Â
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
Â
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Â
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Â
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Â
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Â
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Â
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
Â
Scaling API-first â The story of a global engineering organization
Scaling API-first â The story of a global engineering organization
Â
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
Â
đŹ The future of MySQL is Postgres đ
đŹ The future of MySQL is Postgres đ
Â
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Â
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Â
Slack Application Development 101 Slides
Slack Application Development 101 Slides
Â
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 Worker
Â
Puppet camp2021 testing modules and controlrepo
1.
Puppet Code testing Modules
vs. Control-Repo Martin Alfke - example42 GmbH PuppetCamp April 15, 2021 1
2.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH Puppet since 2009, Puppet Trainer since 2011, Puppet Certified Consultant since 2015 CEO & Co-Founder example42 GmbH tuxmea (Twitter, GitHub, Slack) Puppet Consulting, Training and Development MartinAlfke 2
3.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH Why testing? 3 Image: tatlin
4.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH Why testing? 4 Can Puppet compiler parse your code? Can you upgrade to a newer Puppet version? Does the refactoring accidentally change anything? Image: tatlin
5.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH Why testing? 5 What to use? - puppet-lint - rspec-puppet - PDK - OnceOver - Beaker - Litmus - serverspec - https://voxpupuli.org/plugins/ Image: tatlin
6.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH Why testing? 6 But, I only want to write Puppet code! And now I must learn testing? Letâs choose the most simple to use solution! Image: tatlin
7.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH Why testing? 7 Which tests to run? - Lint tests - check style guide - Unit tests - check catalog - Acceptance tests - check system Image: tatlin
8.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH Testing Modules 8 Image: tatlin
9.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH Where do you want to run the test? On your workstation (Windows, Mac OS, Linux) Within an automated CI pipeline (Linux Shell, Container) Testing Modules 9 Image: tatlin
10.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH Testing Modules 10 Image: tatlin PDK: - easy to use - all bundled - different Puppet version tests possible pdk validate --puppet-version=7
11.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH Standalone Library (or Component) Modules, not roles & profiles Use PDK (Puppet Development Kit) to generate module, classes, ⊠- pdk new module - pdk new class, defined_type, fact, function, provider, task - pdk convert, update Testing Modules 11 Image: tatlin
12.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH Testing Modules 12 Image: tatlin Use PDK (Puppet Development Kit) for testing: - pdk validate - pdk test unit
13.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH Testing Modules 13 Image: tatlin Add dependencies like stdlib or inifile to .fixtures.yml Get dependencies from forge or git (upstream or local)
14.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH Testing Modules 14 Image: tatlin You want to change the default behaviour? Check the pdk-template git repo and use the possibility to configure PDK (.sync.yml) Run pdk update afterwards.
15.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH Testing Modules 15 Image: tatlin PDK uses Puppet version and supported OS from metadata.json But how to proceed with control-repo?
16.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH Testing Control-Repo - PDK 16 Image: tatlin
17.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH 17 Syntax Tests: Role and profile modules must be generated using PDK pushd site/profile && pdk validate && popd pushd site/role && pdk validate && popd Image: tatlin Testing Control-Repo - PDK
18.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH 18 Using PDK for Unit Testing Many dependencies (upstream or library modules) like stdlib, inifile, core modules, ... You want to use your control-repo Hiera config and data You want to use your manifests/site.pp Image: tatlin Testing Control-Repo - PDK
19.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH 19 Using PDK for Unit Testing - profile and role module must be in PDK format (use pdk convert on existing profile and role modules) - modules from Puppetfile must be installed locally (r10k puppetfile install) Image: tatlin Testing Control-Repo - PDK
20.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH 20 Using PDK - solution One needs: - .fixtures.yml - spec/spec_helper_local.rb Image: tatlin Testing Control-Repo - PDK
21.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH 21 Using PDK on profile module -.fixtures.yml # site/profile/.fixtures.yml --- fixtures: symlinks: profile: "#{source_dir}" ../r10k: â../../../../modules' Testing Control-Repo - PDK Using PDK on role module -.fixtures.yml # site/role/.fixtures.yml --- fixtures: symlinks: role: "#{source_dir}" profile: "#{source_dir}/../profile" ../r10k: â../../../../modules'
22.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH 22 Using PDK - spec/spec_helper_local.rb # site/{role|profile}/spec/spec_helper_local.rb fixture_path = File.expand_path(File.join(__FILE__, '..', 'fixtures')) RSpec.configure do |c| c.module_path = File.join(fixture_path, 'modules') + ':' + File.join(fixture_path, âr10k') c.manifest_dir = File.join(fixture_path, â../../../../manifestsâ) c.manifest = File.join(fixture_path, â../../../../manifests/site.ppâ) c.hiera_config = File.join(fixture_path, '../../../../hiera.yaml') end Image: tatlin Testing Control-Repo - PDK
23.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH 23 Run your control-repo tests: r10k puppetfile install pushd site/profile && pdk test unit && popd pushd site/role && pdk test unit && popd Image: tatlin Testing Control-Repo - PDK
24.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH 24 Using PDK for Acceptance Testing PDK does not officially support acceptance testing. Yes, PDK ships beaker and litmus - pdk bundle exec rake -T pdk bundle: not officially supported! Image: tatlin Testing Control-Repo - PDK
25.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH 25 How to deal with role or profile classes which are designed for a specific OS only? Reminder: PDK uses supported OS from metadata.json Many adoptions required. Is there a more simple way? Image: tatlin Testing Control-Repo - PDK
26.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH Testing Control-Repo - OnceOver 26 Image: tatlin
27.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH 27 https://github.com/dylanratcliffe/onceover Specially created to test Puppet control-repo Separation of concerns: tests for library modules vs. tests for control-repo Run syntax, unit and acceptance tests ⊠and one more thing ;-) Image: tatlin Testing Control-Repo - OnceOver
28.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH 28 Delivered as Ruby GEM: gem install onceover onceover-codequality Or: Gemfile: gem âonceoverâ gem âonceover-codequalityâ Initialize OnceOver on your control-repo: onceover init Run syntax tests: onceover run codequality Image: tatlin Testing Control-Repo - OnceOver
29.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH 29 onceover run codequality INFO -> Running Code Quality tests INFO -> Checking Puppetfile... INFO -> ...OK INFO -> Checking puppet-syntax rake task⊠INFO -> ...OK WARN -> Please install python and pyyaml for enhanced YAML validation (pip install pyyam INFO -> Checking lint in manifests... INFO -> ...OK INFO -> Checking lint in site... Testing Control-Repo - OnceOver
30.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH 30 spec/onceover.yaml - add classes and nodes, - create class_groups and node_groups, - build your test_matrix Describe the unit tests in spec/classes/ <class>_spec.rb Image: tatlin Testing Control-Repo - OnceOver
31.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH 31 # spec/onceover.yaml classes: - role::base nodes: - CentOS-7.0-64 class_groups: all_classes: - role::base ⊠Testing Control-Repo - OnceOver # spec/onceover.yaml continued ⊠node_groups: testnodes: - CentOS-7.0-64 test_matrix: - all_nodes: classes: 'role::base' tests: 'spec'
32.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH 32 onceover run spec INFO -> Using Puppetfile ââŠ/control-repo/.onceover/etc/puppetlabs/code/ environments/production/Puppetfileâ INFO -> Updating module âŠ/control-repo/.onceover/etc/puppetlabs/code/ environments/production/modules/yumrepo_core ⊠role::base: P P P P Testing Control-Repo - OnceOver
33.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH 33 Acceptance Tests are configures in spec/ acceptance/<class>_spec.rb Nodesets are configured in spec/acceptance/ nodesets/onceover-nodes.yaml Hint: onceover needs beaker and will print a complaint about beaker deprecation. One more thing! Image: tatlin Testing Control-Repo - OnceOver
34.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH 34 OnceOver Catalog diff gem âonceover-octocatalog-diffâ onceover run diff --from <branch> --to <branch> Image: tatlin Testing Control-Repo - OnceOver
35.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH Summary 35 Image: tatlin
36.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH Summary 36 Image: tatlin Testing is important but has a learning curve! Syntax and unit tests are essential and easy to do Acceptance tests are useful, but harder to do
37.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH Summary 37 Image: tatlin Move from simple to harder. Start using PDK. Learn rspec-puppet. Move to OnceOver for contro-repo testing. Build an infrastructure for acceptance testing.
38.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH Summary 38 Image: tatlin PDK uses OS information from a modules metadata.json. Different tests for different OS needs adoption of spec tests. OnceOver lets you build a test matrix regarding classes and OS to tests.
39.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH Summary 39 Image: tatlin Check the possibilities of your infrastructure and your test requirements. VM tests are possible in Docker, VMware, Vagrant, AWS, ⊠https://github.com/voxpupuli/beaker/blob/master/ docs/how_to/hypervisors/README.md https://github.com/puppetlabs/provision
40.
Puppet Code Testing
- Modules vs. Control-Repo - PuppetCamp 2021 - Martin Alfke © example42 GmbH Please take care! 40 We are living in difficult times. Cities and towns need diversity. Diversity is provided by small businesses. Support your local, small, owner or family run businesses. Stay healthy and take care!
41.
Puppet Code testing Modules
vs. Control-Repo Q&A Martin Alfke - example42 GmbH
Jetzt herunterladen