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

Puppet coding/Testing: Difference between revisions

From Wikitech-static
Jump to navigation Jump to search
imported>CDanis
m (see also...)
imported>BCornwall
(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 https://gerrit.wikimedia.org/r/#/c/72721/
*** 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
 
[[category:Puppet]]

Latest revision as of 16:39, 29 June 2022

Redirect to: