99 Commits

Author SHA1 Message Date
Gael Chamoulaud
098c4b855e spec: updates for rspec-puppet 2.x and rspec 3.x
This patch aim to update our specs test in order to work with the
rspec-puppet release 2.0.0, in the mean time, we update rspec syntax
order to be prepared for rspec 3.x move.

In details:

 * Upgrade and pin rspec-puppet from 1.0.1 to 2.0.0
 * Use shared_examples "a Puppet::Error" for puppet::error tests *
 * Convert 'should' keyword to 'is_expected.to' (prepare rspec 3.x) *
 * Fix spec tests for rspec-puppet 2.0.0
 * Clean Gemfile (remove over-specificication of runtime deps of
   puppetlabs_spec_helper)

Change-Id: Ifbfcc86d2afa8a704710b3ed40957f2ff8167364
Signed-off-by: Gael Chamoulaud <gchamoul@redhat.com>
2015-03-31 16:06:31 +02:00
Gael Chamoulaud
f7ba060eea Add Puppet 4.x lint checks
- This changes the puppet-lint requirement to 1.1.x, so that we can use
  puppet-lint plugins. Most of these plugins are for 4.x compat, but some just
  catch common errors.

Change-Id: I5f5859ab24c4d5f2f0b3737303ece9ddcb70927f
Signed-off-by: Gael Chamoulaud <gchamoul@redhat.com>
2015-03-19 20:09:22 +01:00
Gael Chamoulaud
127ce4d5df Fix metadata.json lint issues
Update license name to match a valid SPDX ID.
https://docs.puppetlabs.com/puppet/latest/reference/modules_publishing.html

Change-Id: Ice0fa95abb2e70ef7ef12ca643257fa1348508df
Signed-off-by: Gael Chamoulaud <gchamoul@redhat.com>
2015-03-19 20:05:16 +01:00
Sebastien Badia
48a850e38f spec: pin rspec-puppet to 1.0.1
rspec-puppet (2.0.0) was released yesterday[1], this new version broke
puppet-openstack unit tests (undefined method `resource')[2] as talked on
and in a second time to update your specs to 2.0.0 and rspec 3.x`)

[1] 8459e14807
[2] http://logs.openstack.org/45/105245/6/check/gate-puppet-nova-puppet-unit-3.3/3682541/console.html

Change-Id: Ifa0d525232254c2b78815e31ecb6603c53507cd3
Partial-bug: #1417604
2015-02-03 15:32:20 +01:00
Jenkins
7350af50f6 Merge "Allow to not manage Tempest code in Puppet" 2014-12-17 16:34:48 +00:00
Emilien Macchi
05fc037265 Allow to not manage Tempest code in Puppet
In the case you are using a package, you may want the flexibility to not
use VCS to manage Tempest code and just use the Puppet module to
configure Tempest itself.

Adding a new parameter, true by default to keep backward compatibility.

Change-Id: I6d5c17393630fda156bebc55fe28f97bcabecca4
2014-12-15 15:28:06 -05:00
Emilien Macchi
beb7add185 Allow to activate Ceilometer tests
Enable ceilometer parameter to test Telemetry tests in Tempest.

Change-Id: Iac7c8aa23c97be3857843a17a755cc2e2574952a
2014-12-08 20:25:53 -05:00
Colleen Murphy
12cd4dcd68 Release 5.0.0 - Juno
This patch updated the README to reflect the current version and
include release notes.

Changes in this release:
* Pinned vcsrepo dependency to 2.x
* Bumped stdlib dependency to 4.x
* Added ability to hide secrets from puppet logs
* Removed orphaned os_concat function
* Removed dependencies on mysql and postgresql devel libraries

Change-Id: I4d3a497304219d4a19789f447c83f4b90f2a5846
5.0.0
2014-11-23 19:43:35 -08:00
Sebastien Badia
ce2337a0d2 Switch to metadata.json for Puppet forge releases
Since puppet 3.x, Puppet Labs Forge accept only the metadata.json file
for module description (Modulefile is now deprecated).

This patch :
 - convert the Modulefile to metadata.json.
 - bump major version to 5 (for juno), and deps.
 - switch to stackforge namespace.
 - relax pe version_requirement to 3.x.

Change-Id: I7056bb05a33ce24f1f0b0b363de0f848e49eb299
2014-10-22 15:51:51 +02:00
Sebastien Badia
b293e997f4 Update vcsrepo max dependency to 2.x
As mentioned Colleen, vcsrepo update fix issues on PE 3.3+ with puppet
module tool and vcsrepo deps.

Change-Id: I9d9c55afd5011645c45dbb7d22862fa0821ab2f0
2014-10-20 17:47:27 +02:00
Colleen Murphy
7a3369949f Update stdlib dependency to 4.x
puppetlabs/stdlib 4.x is backwards compatible with 3.x and still tested
on Puppet 2.7. Updating stdlib to 4.x allows modules to use newer
functions without breaking older functionality.

Change-Id: Id7707932c96f2cbd997f136b9257825ca8dee7f8
2014-09-22 15:45:59 -07:00
Sebastien Badia
59fa10e72b Hide secrets from puppet logs
Currently secrets like rabbit_password or admin_password are laked

puppet logs when changed. This commit changes tempest_*_config and
tempest_*_ini types adding a new parameter that triggers obfuscation
the values in puppet logs.

Change-Id: Iba5b111584ddeefafc4aa1e8401f93ace2abd3be
Closes-Bug: #1328448
2014-07-22 13:12:53 +00:00
Mathieu Gagné
d4aa6c7487 Make Modulefile summary and description consistent
Improve consistency of Modulefile across puppet modules for OpenStack.

Change-Id: I07c67df7f74c79005373060e673d9beabd891f90
2014-07-03 17:08:06 -04:00
Clayton O'Neill
84e9b49984 Normalize Gemfile & pin tests to rspec < 2.99
Pin to rspec < 2.99 until rspec-puppet officially supports rspec 3.x.
This is to avoid warnings due to deprecated matchers in the
rspec-puppet gem.

This change is also intended to normalize the Gemfile for all stackforge
puppet modules.  This should facilitate pinning gem versions when
releasing new stable branches, since the same diff can be used for all
repos.

Change-Id: I7538b824c34a4e9285565a684eb667338a72a641
Partial-Bug: #1326034
2014-06-20 09:16:35 -04:00
Attila Fazekas
792be887b6 removing the orphaned os_concat function
os_concat function not used anywhere in puppet-tempest.

Change-Id: I349b15edb669e9655a773ebb537cfbbd96b91e20
2014-05-30 07:41:23 +02:00
Attila Fazekas
09d09a203f Tempest does not requires DB devel libs
DB devel libs not used by tempest since havana.

Change-Id: Ia8c16a4a5a48e48e1bf916ca577385b2d1dd778f
2014-05-30 07:38:05 +02:00
Chris Hoge
75324729ab Vendor concat function to support stdlib 3.2
Many installations are pinned to stdlib 3.2. This change vendors
the concat function from stdlib 4 until Puppet Enterprise
catches up. At that point the vendored function will be removed.

Change-Id: Ifae939292c7d03b62aa62f205109409c26e9503d
3.0.0
2014-05-02 14:26:45 -07:00
Hunter Haugen
5ef9dc94b4 Fix tempest_*_id_setter to query the RAL and cache
The tempest_glance_id_setter previously would query the catalog for the
id of a glance_image resource with a given name. This doesn't work on a
split-node openstack where tempest is not on the glance host. It would
also fail horribly if glance-api.conf didn't exist.

The tempest_neutron_id_setter previously would query the instances of
neutron network IDs from the RAL once for every line in the tempest.conf
file if the network did not exist (because the cache would be nil).

Now they both query the RAL directly from the system, similar to how
tempest_neutron_id_setter did it but using Puppet::Resource.indirection,
but don't continue requerying for every line in the tempest.conf when
the given resource title doesn't yet exist, and tempest_glance_id_setter
raises a helpful error if the glance-api.conf file does not exist.

Change-Id: Icdca2c1a5f449b3fcda68d43a34452cd119303cb
2014-04-10 17:37:40 -07:00
Hunter Haugen
0bdf6b88e1 Allow configuring compute tenant isolation
This configuration setting may be required for running tempest against
an existing openstack cloud.

Change-Id: I852ae3d3ab54714205c9a78fcee1506654b66efe
2014-04-07 13:51:52 -07:00
Hunter Haugen
735278d408 Allow passing image_ref, image_ref_alt, and network_gateway_id
Incorrect logic prevented the passing of these values.

Tests added for passing one, the other, and both pairs of each
parameter.

Change-Id: I7fe1e71f437a032f9a98c07214a1261a8001f7d8
2014-04-03 12:10:56 -07:00
Jenkins
49d4ff3c56 Merge "Adding puppet-rspec tests" 2014-04-02 10:01:21 +00:00
Hunter Haugen
62598ca7ee System need libffi-dev
The system need libffi-devel to allow pip to install all dependencies on
RedHat systems.

Additionally, a requirement is required for development packages to be
installed before creating the virtual env.

Change-Id: I8597b4438f0ce9830a63337a4a8073765eb9615a
Closes-Bug: 1286167
2014-04-01 12:29:48 -07:00
Hunter Haugen
fc79e2fb09 Allow configuring cli/cli_dir
The default cli_dir is /usr/local/bin, but sometimes package install to
/usr/bin. This patch allows it to be customized

Change-Id: I0f6ec8e46224d039846bdd0b487d6fea0e819508
2014-03-28 16:50:38 -07:00
Pierre RAMBAUD
d7df6faa16 Adding puppet-rspec tests
Reasons:
- No rspec tests

Changes:
- Add dependencies in Gemfile.
- Edit Rakefile to add the capability to use "bundle exec rake test" command
to check lint and spec.
- Add some tests for class, type and provider.

Change-Id: I62653b883340a43a0cddd1fea36773d6c56a48f9
2014-03-26 12:44:02 +01:00
Pierre RAMBAUD
3b9066c54c System need libffi-dev
The system need libffi-dev to allow pip to install
all dependencies.

Change-Id: Idc1a9cff79289b0ae391c4ab1ba4c3c483fb854a
Closes-Bug: 1286167
2014-02-28 16:23:19 +01:00
Sebastien Badia
9984f002ef Add gitignore file
Change-Id: I5dc7929ae6f402ae985889b1e0d134f834ad71ef
2013-12-23 19:15:37 +01:00
Jenkins
44e258746c Merge "Added missing packages for Debian like OS's" 2013-10-31 08:01:27 +00:00
Jenkins
c98a11e427 Merge "Fix pip install of tox on debian like OS's" 2013-10-31 08:00:53 +00:00
Russell Sim
c1c7929979 Added missing packages for Debian like OS's
Added the missing MySQL and PostgreSQL development packages.

Change-Id: Ia53e7f5b6840fe29df27eddb75c295f61a16df3f
2013-10-28 17:10:31 +11:00
Russell Sim
62660db75f Added configuration option for admin role
Change-Id: I66b8d3c2639333c52db2fe4fbea335a7850ffaf6
2013-10-28 17:02:18 +11:00
Russell Sim
703ebdaa6b Fix pip install of tox on debian like OS's
Change-Id: I799e485211f045ddba351b2267f3c052b7fa21c9
2013-10-28 16:20:40 +11:00
wes hayutin
4e1abd3686 Adds support for mariadb in f19
The packages in Fedora 19 have changed from mysql-devel => mariadb-devel

Change-Id: I26f105502a7ce041cf930ad8641acae134786a5e
2013-10-13 16:54:00 -04:00
Mathieu Gagné
d28683f294 Fail puppet-lint on warnings
Puppet-lint will now fail if there is any warnings.

Change-Id: I448580a35a16cdd6a35887da161d8fffa4be51e8
2013-08-28 20:12:03 -04:00
Mathieu Gagné
6705a43dbb 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
2013-08-12 17:50:40 -04:00
Jenkins
1cedeb3b1c Merge "Add Modulefile" 2013-08-12 17:37:54 +00:00
Mathieu Gagné
f220b78cf9 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
2013-08-09 13:05:52 -04:00
Maru Newby
93b691f7cb 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
2013-08-08 19:07:41 -07:00
Maru Newby
666017e42e Rename quantum to neutron.
Change-Id: Ibacb9ef23b6b0f4480575139d4915b13c5a6b3ea
2013-08-07 11:42:33 -07:00
Maru Newby
f8e7c28dec 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
2013-07-31 03:29:44 +00:00
Terry Wilson
fbe43e5d6a Remove trailing comma for Puppet 2.6 compat
Change-Id: I777e9a97c0ee4184af9eb64abfbf6f3cc3de946f
2013-07-15 16:08:27 -05:00
Mathieu Gagné
ca445ecb60 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
2013-07-05 15:42:10 -04:00
Jenkins
d3a486dd9d Merge "Fail if osfamily is not supported" 2013-07-05 17:00:11 +00:00
Maru Newby
e6c28fdcf7 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
2013-07-02 21:59:08 +00:00
Maru Newby
beda52dcf9 Add support for configuring quantum.
Change-Id: Ia2043bfac86397cc02c015b7984b3ef62d75d050
2013-07-02 21:13:57 +00:00
Maru Newby
4c537108cd 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
2013-07-02 18:53:50 +00:00
Maru Newby
bd3d8f45b3 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
2013-07-02 14:51:53 +00:00
Maru Newby
a60f362515 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
2013-07-01 13:07:47 +00:00
Mathieu Gagné
be999e2f11 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
2013-06-30 17:04:36 -04:00
Maru Newby
017c7578d7 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
2013-06-30 15:17:06 +00:00
Michael Chapman
0276063bad 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
2013-06-27 17:23:36 +10:00