Check definition of package resources

bug 1195162

Tempest is installing some very common packages
which are likely to conflict with other modules.
This patch checks to see if the resources are
already defined, which will prevent compile time
errors relating to duplicate resources.

Change-Id: I9b4eb46ec0b9affb905e19a034a26d16e01119e2
Fix package dependency installation.

 * The previous list of os packages was insufficient to support
   installation of all of tempest's python dependencies.  This
   change adds the necessary dependencies for redhat.  I leave it
   as an exercise for a non-redhat employee to update the
   corresponding list for debian.
 * stdlib's ensure_packages method is used instead of per-package
   checks for definition.
 * easy_install is used to install pip, rather than installing pip
   from a package and having both packaged and unpackaged veresions
   of pip installed on the host.

Change-Id: Ie4f02d04f6a769c0fffb13d9c16dc3a3d4d533c1
Fail if osfamily is not supported

* Refactor tempest::params class to better fit what's already done
  in other OpenStack Puppet modules.
* Fix variable scoping of $::osfamily fact.

Change-Id: Id05e7b5541fed61d51ac89dc4fe31ac84b503752
Switch to ini_setting for managing tempest.conf.

 * The previous way of customizing tempest.conf was problematic
   for a number of reasons:

   - default values were being defined in the manifest and those
     values differed from the defaults in tempest.conf.sample.
     Defaults should be the province of the tempest maintainers,
     not the puppet module.
   - the use of templating meant that extra work would have to be
     expended maintaining the templates, not only for releases
     but also for the upstream master.

 * This changeset switches to using ini_setting to ensure that:

   - individual configuration settings can be set ad hoc, and
     the upstream defaults will be left alone if no value is provided.
   - tempest.conf can be sourced from the tempest repo sample rather
     than having to be maintained in the module.

 * Other included fixes:

   - removing unused glance uri configuration
   - consolidating the identity uri parameters into a single parameter,
     since that is how it is represented in tempest.conf

Change-Id: Idcdf7a1002a447b7d3ae909ca9043b8d7143c313
Remove provisioning from the default manifest.

 * Separating out provisioning of users, tenants and images leaves
   the door open for reuse of the tempest configuration by other
   provisioning schemes.

Change-Id: I1878bd0b518d61c25a33ec329bcc436eb1163749
Fix configuration of glance images.

 * Previously the glance image ids were always looked up from the
   name, even if the ids were provided to the manifest.
   This change only looks up the ids if they are not provided.
 * The configure_images parameter has been added to allow skipping
   the lookup of image ids by name.
 * The image_name_alt parameter has been added to allow the
   alternate image to vary from the default image.
 * Default image names are no longer provided.  Since the
   provisioning is no longer performed by tempest, no assumptions
   can be made about the results of that step.

Change-Id: I518f1c58a3e7417e60456fa9485d5d13fe002696
Add support for configuring quantum.

Change-Id: Ia2043bfac86397cc02c015b7984b3ef62d75d050
Replace run_tests.sh helper script with tox.

 * Added installation of tox - the preferred way to repeatedly
   run tempest.
 * Removed unnecessary run_tests.sh script - replaced by tox.
 * Added setup_venv parameter to enable automatic creation of a
   venv installed with tempest dependencies for debugging purposes.

Change-Id: I729d041a606810ba2e60543855a44f0e10870c0b
Merge "Fail if osfamily is not supported"
Various Puppet lint fixes

* Fix following warnings:
    * class not documented
    * double quoted string containing no variables
    * indentation of => is not properly aligned
    * string containing only a variable
    * top-scope variable being used without an explicit namespace
* Fix following error:
    * two-space soft tabs not used

Change-Id: I709b30e3d80c7cd3b22080a8c096a23342f75d2a
Remove trailing comma for Puppet 2.6 compat

Change-Id: I777e9a97c0ee4184af9eb64abfbf6f3cc3de946f
Cleanup repo revision handling.

 * The use of the parameter 'version_to_test' is ambiguous, and
   implies that it is possible to specify an openstack release name
   like 'folsom' or 'grizzly'.  In fact, what is being specified
   is a git revision, branch, or tag.  The upstream branches are
   named 'stable/folsom' or 'stable/grizzly', and changing the name
   to 'tempest_repo_revision' should make it easier to deduce that
   such values are required.
 * Do not provide a default revision of 'master' - use the repo
   default instead.
 * Remove source tree cleanup for the 'folsom' branch.  There is
   no such branch upstream, it is 'stable/folsom', and besides,
   specifying the branch will provide a tempest tree compatible
   with the folsom release.

Change-Id: Iab117cffea22b50480bd88e3ea4d5eba55a69fe5
Rename quantum to neutron.

Change-Id: Ibacb9ef23b6b0f4480575139d4915b13c5a6b3ea
Add provision config for 'service_available'.

 * tempest.conf has a new section called 'service_available' that
   indicates the availability for testing of each service
   individually.  Previously only neutron availability was
   configurable.

Change-Id: I6967a76deb7314eb8770e655b6d5562c661183e3
Add Modulefile

Use 'puppet-tempest' for the module name until we figure out
who will be responsible of publishing the module to Forge.

Change-Id: I8e64d2170dcb3a6ab65f29e6f600433a21b42d75
Merge "Add Modulefile"
Disable 80chars/class_parameter_defaults checks

* Disable warnings for "line has more than 80 characters"
* Disable warnings for "parameterised class parameter without a default value"

We do not wish to track warnings for such violations.

Change-Id: Ia236870aa2e2c1f6a9ed134f50c8fdd4d13e7c96
Fail puppet-lint on warnings

Puppet-lint will now fail if there is any warnings.

Change-Id: I448580a35a16cdd6a35887da161d8fffa4be51e8
Adds support for mariadb in f19

The packages in Fedora 19 have changed from mysql-devel => mariadb-devel

Change-Id: I26f105502a7ce041cf930ad8641acae134786a5e
Fix pip install of tox on debian like OS's

Change-Id: I799e485211f045ddba351b2267f3c052b7fa21c9