Skip to content

example42/tp-acceptance

Repository files navigation

Tiny Puppet Acceptance Tests

In this repo are gathered the results of acceptance tests of Tiny Puppet's support for applications and profiles.

Current Compatibility Matrix for component applications

Setup

To install and setup the testing environment (Needed: git, Vagrant, Virtual Box r10k):

git clone https://github.com/example42/tp-acceptance
cd tp-acceptance
r10k puppetfile install
vagrant status

The default Vagrantfile uses the cachier plugin, you can install it with (comment thesecond line of Vagrant file (config.cache.auto_detect = true) if you don't want to use/install it:

vagrant plugin install vagrant-cachier

The repository structure:

 Puppetfile  # Module to install via r10k o librarian-puppet
 Vagrantfile # Vagrant environment configuration
 bin/        # Contains scripts used fors tests
 hieradata/  # Contains hieradata used in Vagrant's Puppet envirorment
 manifests/  # Manifests 
 modules/    # External modules directory. Populated by r10k
 modules_local # Local modules directory

Applications acceptance tests

The bin/test_app.sh script is the quickest way to test how Tiny Puppet manages different applications on different Operating Systems.

You need to run the VM you want to test on:

vagrant up Ubuntu1404

and then execute commands like these:

  • To test apache installation on Ubuntu1404:

    bin/test_app.sh apache Ubuntu1404

  • To test ALL the supported applications on Centos7:

    bin/test_app.sh all Centos7

  • To test ALL the applications on Centos7 and save the results in the acceptance dir:

    bin/test_app.sh all Centos7 acceptance

  • To test an application on all the running VMs and save the results in the acceptance dir:

    bin/test_app.sh munin all acceptance

  • To run puppi check for proftpd applications on Centos7:

    bin/test_app.sh all Centos7 puppi

  • To run acceptance tests for all the supported applications on all the running VMs:

    bin/test_app.sh all all acceptance

Do not expect everything to work seamlessly, this is a test environment to verify functionality and coverage on different Operating Systems.

Application tests

Routinely the results of acceptance tests are generated and saved. This is a rough reference on the current support matrix of different applications on different Operating Systems.

For a summary, check the Compatibility Matrix of tp support for component applications, updated regularly.

Note however that Tiny Puppet support may extend to other OS: the acceptance tests use directly puppet apply on tp defines, so they need to run locally and have the expected prerequisites (such as the Ruby version).

Note also that some tests fail for trivial reasons such as the absence of a valid configuration file by default or missing data to configure dedicated repositories or execution order issues while running tests on the same VM or errors in the test scripts.

About

Acceptance tests on tp applications and profiles

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published