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>
- 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>
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
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
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
As mentioned Colleen, vcsrepo update fix issues on PE 3.3+ with puppet
module tool and vcsrepo deps.
Change-Id: I9d9c55afd5011645c45dbb7d22862fa0821ab2f0
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
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
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
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
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
This configuration setting may be required for running tempest against
an existing openstack cloud.
Change-Id: I852ae3d3ab54714205c9a78fcee1506654b66efe
Incorrect logic prevented the passing of these values.
Tests added for passing one, the other, and both pairs of each
parameter.
Change-Id: I7fe1e71f437a032f9a98c07214a1261a8001f7d8
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
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
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
* 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
Use 'puppet-tempest' for the module name until we figure out
who will be responsible of publishing the module to Forge.
Change-Id: I8e64d2170dcb3a6ab65f29e6f600433a21b42d75
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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
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