tempest_glance_id_setter and tempest_neutron_net_id_setter were
previously using Credentialsv2_0, which do not work in a Keystone v3
environment (and that's what we should be using today).
Closes-Bug: #1633864
Change-Id: I95ea682064ff6365622fc31c562b42014fc52303
The ec2-api tempest tests need a non-administrative user. This change
creates such a user and uses it with the ec2 credentials provider.
Change-Id: I2a60bde92e8522362fefebc34c99cbb0346c6347
In order to run the the ec2api tempest tests, ec2 credentials have to
be created. This provider creates the ec2 credentials and adds them
to the aws section of the tempest configuration together with some
static configuration that is necessary as well. It also removes
service_available/ec2api parameter from tempest.conf, which actually
has no effect, since the ec2api tempest tests don't evaluate it.
Change-Id: Iab02a6f453de1a07cd059276cb46e23a4b0bb434
* Deploy python-openstackclient, required by our providers to execute
CLI against Glance & Neutron APIs.
* Require the package before trying to execute the providers.
Change-Id: I3b3523d947421583a8e926a2419055a5869291d4
Switch tempest_glance_id_setter and tempest_neutron_id_setter to
use openstack client with credentials provided in tempest config.
This will allow to run puppet-tempest on standalone node but adds
dependancy to openstacklib.
Change-Id: I27215a9b0f94db39774e20515eddce4cffd7cadf
When using the name of the network or the image the
tempest_glance_id_setter and tempest_neutron_net_id providers are used.
If the configuration is missing from the file, then they are just
appended to the file and they end up in the wrong block.
Change-Id: I5b525f643ab26cf1bd0f7d2bcaee9f45f55f0137
Closes-Bug: #1445251
With the creation of the new openstack_config provider, some processing
that was done in tempest_config has been centralized in
openstack_config.
Impacted methods are :
* section
* setting
* separator
Also, this commit adds the fact that, when passing a specific string
(ensure_absent_val) the provider will behave as if ensure => absent was
specified. '<SERVICE DEFAULT>' is the default value for
ensure_absent_val.
The use case is the following :
tempest_config { 'DEFAULT/foo' : value => 'bar' } # will work as usual
tempest_config { 'DEFAULT/foo' : value => '<SERVICE DEFAULT>' } # will mean absent
That means that all the current :
if $myvar {
tempest_config { 'DEFAULT/foo' : value => $myvar }
} else {
tempest_config { 'DEFAULT/foo' : ensure => absent }
}
can be removed in favor of :
tempest_config { 'DEFAULT/foo' : value => $myvar }
If for any reason '<SERVICE DEFAULT>' turns out to be a valid value for
a specific parameter. One could by pass that doing the following :
tempest_config { 'DEFAULT/foo' : value => '<SERVICE DEFAULT>',
ensure_absent_val => 'foo' }
Change-Id: Idb64253273ef5a1e4bc0311e1d5bb265a820b9b7
Depends-On: I0eeebde3aac2662cc7e69bfad7f8d2481463a218
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
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
* 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
this hacky native type has been added to
populate the glance config params with the ids
that are only available after glance images have
been remotely installed.