You are browsing a read-only backup copy of Wikitech. The live site can be found at

Puppet coding/Testing: Difference between revisions

From Wikitech-static
Jump to navigation Jump to search
m (see also...)
(Set redirect to new page)
Line 1: Line 1:
{{see also|Puppet coding/testing}}
#REDIRECT [[Puppet/Testing]]
== Puppet Compiler Jenkins Job ==
You can get [[Help:Puppet-compiler | puppet-compiler]] to generate a catalog for you.
See a detailed guide at [[Puppet coding/testing]].
== Puppet CI ==
* Lints
** [done] Puppet-typos
** [done] Puppet-validate
** [ongoing] Misc language-specific stuff, e.g. pep8
**  Puppet-lint, someday?
*** Easy to implement, but can probably never actually block.
* Unit Tests
**  Spec  Ruby version
*** Insecure w/volunteer code, must be jailed somehow
*** Should we run on all modules, or just the ones touched by patch?
* Compile Tests
** [ON HOLD] --noop tests within modules
*** Mostly done
*** Insecure
** Run compiles for expressly-written test manifests
*** Probably safe to run on gallium if we use a fake node with ready-made facts
** Enumerate node definitions, run compile test on each (?)
*** Do this later or never
*** Need way to inject/mock up facts
* Integration Tests
** Build VMs from short list of test node definitions
** Can test successfull puppet runs, but not really test that the servers work
*** This might be easy once we figure out vagrant/labs integration for Compile tests.
** Build VMs from every existing test node definition (?)
*** This will be insanely expensive, probably can't happen per patch.
Isolation requirements:
- VM must not have access network
- VM must have a predefined time to live

Latest revision as of 16:39, 29 June 2022

Redirect to: