45 Commits

Author SHA1 Message Date
guessi
4ef0ded8a1 Remove existed checkout before use
avoid fatal error: `destination path 'XXX' already exists`,
and prevent package download failure.

Change-Id: I5ca84f43304397cb2017131ead6f321787ae09e1
Signed-off-by: guessi <guessi@gmail.com>
2016-03-05 00:30:27 +08:00
Emilien Macchi
8b8ac3c54d run_tests: generate testrepository.subunit all the time
Make sure testrepository.subunit file is generated whether tempest
failure or success.

It will help to provide actual results on
http://status.openstack.org/openstack-health

(without that patch, we only have success jobs)

Change-Id: Iaa7f9f3434d75bdf1dbf605b1b520a97a0131df8
2016-02-26 00:16:14 +00:00
Emilien Macchi
afe975270f run_tests: run dstat before r10k'ing modules
r10k install is randomling taking lot of time ot be installed [1].
This patch executes dstat before installing r10k & puppet modules, so we
can see in dstat logs what is consumming CPU & memory during r10k setup.

(1] http://goo.gl/XJ9xky)

Change-Id: Ie98bede043339b47e9e928e5c964a6ba70090860
2016-02-23 23:08:08 -05:00
Jenkins
1a3506db20 Merge "Add ability to manually install puppet modules" 2016-02-17 03:45:05 +00:00
Ben Kero
bc818cbc65 Add ability to manually install puppet modules
This commit adds the ability to manually install puppet modules. This is
useful when using an installation method not provided by the
PUPPETFILE_DIR environment variable.

Change-Id: Ie6519d8adb989eaec59d2f3047205c4fa2212419
2016-02-16 14:32:33 -08:00
Ben Kero
f135531556 Add ability to pass puppet args in as env var
This patch will add support to run_tests.sh for adding additional
environment variables. This can be useful for debugging. This is put
behind a switch so the current functionality is maintaned.

Change-Id: I8e5136b06299884e8b0f9a8621e9cbf28a12dd58
2016-02-16 14:30:41 -08:00
Emilien Macchi
d96239f2ce Revert "pin tempest to keep setuping heat roles"
This reverts commit a7ddf09c7ed904b9b0b6af30df5bb7db65f9807e.

Change-Id: I3712c73ce42edc4958b9ac9569c57cb4154701c1
2016-02-11 11:52:53 -05:00
Emilien Macchi
a7ddf09c7e pin tempest to keep setuping heat roles
A recent commit in Tempest [1] broke backward compatibility for Heat
testing.
stack_owner_role is not managed anymore by Tempest and it makes tests
fails.

This is a workaround until it's sorted out in Tempest.
Until this time, we pin Tempest to a previous commit so we can continue
to test scenario002.

[1] aa461b746b
Related-Bug: #1543785

Change-Id: Ib19c25b6e4d9af808a3abab4d4ecbded2f33c034
2016-02-10 07:59:55 -05:00
Jenkins
2c940011e2 Merge "Provide a toggle to disable repository management by puppet" 2016-01-12 03:17:37 +00:00
Emilien Macchi
8d5fe5e952 Deploy & Test Ironic
* Create manifest to deploy Ironic services with 'fake' driver.
* Add bits to tempest class to enable the service.
* Update README.
* Add api.baremetal tests so we actually test Ironic.

Depends-On: I93fd4740d09b0c7e926c4dba7a7602f4d295d2ea
Depends-On: I01c83a6daa3909d4d9b1cb559836b7b5e54c7c7e
Change-Id: Ice03be261e687af43e677a9f60a1cc3c79acdf8b
2016-01-07 22:44:12 -05:00
David Moreau Simard
28007a665d Provide a toggle to disable repository management by puppet
By default, repositories will be managed by puppet through
manifests/repos.pp.
If someone wants to set up different repositories outside
of puppet entirely, he can "export MANAGE_REPOS=false" and
run_tests will not run repos.pp.

Change-Id: I3a09a2be1d2a064e784ed24f189fec41476330d9
2015-12-22 09:47:46 -05:00
Emilien Macchi
bb487e6ea7 tempest run: generate testrepository.subunit
From the latest tempest run, generate testrepository.subunit.

Change-Id: I70ecc95dad93b79dbf73f6853ff0ef883f07c9fb
2015-12-04 18:03:48 -05:00
Jenkins
b4a39fdcca Merge "scenario001: deploy & test Aodh" 2015-12-01 14:58:31 +00:00
Emilien Macchi
d1bf32c5e5 scenario001: deploy & test Aodh
Aodh is the new service that replaces Ceilometer Alarm.
This patch aims to:

* deploy Aodh in scenario001 (beside Ceilometer).
* drop ceilometer alarm code (replaced by puppet-aodh).
* add TelemetryAlarming testing (to validate Telemetry Alarm with Aodh).

Change-Id: I1acde0fad6c36429562d8576663c4cb9d393a79d
2015-11-27 23:29:24 +01:00
David Moreau Simard
6d26ea258f Do a regular clone of tempest if we're running outside the gate
Disable git_clone from scenario003, all-in-one.sh leverages
run_tests which will now properly clone tempest if whether or not
we're in the gate.

Change-Id: I687464f26913bc9ee978e00e5c78efe91b062ec2
2015-11-25 12:31:42 -05:00
Emilien Macchi
6b87e4026f Implement all-in-one.sh script
This script will help newcomers to run this script and deploy a simple
scenario of an OpenStack Cloud with Puppet OpenStack modules.

Change-Id: I559e5e0a0d21a02d04b3d999b77dee23bb38c341
2015-11-06 08:58:37 -05:00
Emilien Macchi
370ab5db26 run_tests: install modules after installing puppet
Make sure we install puppet before running 'puppet module list'.

Change-Id: I025ede4eb8eb2e7112e0f1f268949d13692f42f4
2015-11-04 22:08:45 -05:00
Emilien Macchi
cd328773b0 run_tests: install puppet from puppetlabs.com repo
Use puppetlabs.com repositories to handle Puppet packaging, like it's
done in Beaker jobs.

That way, we will run the latest version available in Puppetlabs
repositories, in a consistent way with beaker jobs.

Depends-On: Iaba6e499b1185d75930f0e7b0ca587e9f8705e5a
Change-Id: I2d49c1e913bbbf243dca3fcf41f592168f46b57b
2015-11-03 22:48:18 +00:00
Emilien Macchi
e45bd6059b scenario002: add dashboard service
* Install & Configure Horizon
* Enable dashboard tests in Tempest
* Beside 'smoke', run 'dashboard' test

Change-Id: I5bd182ac20a03242972f5837422f98dab49c6bd4
2015-10-12 17:25:43 -04:00
Jenkins
1ddf707d6e Merge "run_tests: allow to run another scenario" 2015-10-02 07:14:15 +00:00
Jenkins
9cd3eddd64 Merge "Cleanup some legacy code" 2015-10-02 07:12:18 +00:00
Jenkins
bad6891dfb Merge "run_tests: drop dupplicated code" 2015-10-02 00:02:48 +00:00
Emilien Macchi
01927dc056 run_tests: allow to run another scenario
* create $SCENARIO environment variable.
* test if fixtures/$SCENARIO.pp file exist or fail early.
* in comment, drop OpenStack project names hard-coding.

Change-Id: I80f07ba6ee2123bc24eb33eac6f600e2ea7c63da
2015-10-01 12:47:09 -04:00
Emilien Macchi
d1bf79b813 Cleanup some legacy code
* Stop setting SElinux as permissive and bring it to 'enforced' again,
  since our blocker is fixed [1].
* Run `apt-get update` only in run_tests.sh script. It's the only place
  we actually need to run it since beaker jobs already manage that task.
* in run_tests.sh, use $SUDO instead of sudo, to be consistent.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1249685

Change-Id: Ic3101a0a080b798b334cd2f212ec726f243880b5
2015-10-01 12:32:47 -04:00
Emilien Macchi
850f2d07dc run_tests: drop dupplicated code
install_modules script was run two times.
This patch fix it, so we run it one time.

Change-Id: I25e7a3e5a1267c7f30131502a87190698e21288b
2015-09-30 09:33:27 -04:00
Emilien Macchi
30efa3463c scenario001: enable object service
* Install and configure Swift
* Enable Swift tests in Tempest

Change-Id: If62c238babfb798226102388911178a5acbd127b
2015-09-29 20:48:15 +00:00
Emilien Macchi
eb711ffff7 scenario001: enable orchestration service
* install & configure Heat
* run Tempest orchestration tests

Change-Id: Ibf5ca75302ef3212873a41f69c4c4e4bf5dad7b8
2015-09-28 22:08:15 -04:00
Emilien Macchi
cc1b9c5db6 scenario001: run 2 workers
Run 2 workers for OpenStack services so we save RAM.

Change-Id: Id4ad28ff37967c19a0f314075d50a4739ea9a17c
2015-09-28 22:04:03 -04:00
Denis Egorenko
67c05c86cb scenario001: enable data processing service
* Install & configure Sahara services
* Enable telemetry tests in Tempest

Change-Id: I8934ee620096fadc20897cb0fd95a68492bcff2f
Depends-On: Ic4054404a4683a6faf766eca02cf1c0c846d57c2
2015-09-25 14:32:49 +03:00
Emilien Macchi
452e9f2b79 scenario001: enable telemetry service
* Install & configure Ceilometer services
* Configure Nova to send events to RabbitMQ
* Configure Glance to send events to RabbitMQ
* Enable telemetry tests in Tempest

Depends-On: I2b8d55613f0a962662d67b9fd82db17b758af80f
Change-Id: I8690007e9a3be3c0188777f859b517375d95ec1d
2015-09-24 18:36:04 +00:00
Emilien Macchi
dbb4feae20 scenario001: add volume service
* Install & Configure Cinder with iSCSI backend
* Enable volume tests in Tempest
* Add default_floating_pool parameter to Nova API configuration
  to tempest volume scenario can work, since it uses Nova API to
  associate the floating IP.

Change-Id: I8bc007f3182741b2710dc0615261d9bd403f781f
2015-09-22 21:27:50 +00:00
Emilien Macchi
ae784b33e6 scenario001: set API workers number to 4
When installing OpenStack-All-in-One with Puppet in OpenStack Infra
Gate, we noticed [1] the same issues than devstack-gate [2] previously
had.
Let's use the same workers number as devstack is currently using so we
avoid more memory issues.
Also, using tox with 4 workers instead of 8.

[1] http://logs.openstack.org/74/224974/11/check/gate-puppet-openstack-integration-dsvm-trusty/8217abb/logs/dstat.txt.gz
[2] http://lists.openstack.org/pipermail/openstack-dev/2014-September/045396.html

Change-Id: I2ca3d897212cdcf25d8f50c0aef5f377395d4bc6
2015-09-22 21:27:26 +00:00
Emilien Macchi
978e50fd7e run_tests: drop neutron workaround for netaddr
Ubuntu packaging provides now the right version of python-netaddr, we
can drop the workaround that used to install it with pip.

Change-Id: I2948a82cecec3bae40797c097f8927a5d42f2a9f
2015-09-18 00:36:37 -04:00
Emilien Macchi
1f507f80f1 run_tests: stop pinning tempest repo
We had a workaround due to a new test in
tempest/api/identity/v3/test_projects.py* that used to fail.

This patch aims to drop the pin and come back to master.

* test_list_projects_returns_only_authorized_project

Change-Id: I1ac60e9a5fe8757c7a28b6672df1def3ae6549f8
2015-09-16 18:26:25 -04:00
Emilien Macchi
81dcaf9df2 Prepare Tempest and run smoke
Still hacking on the patch to make it pass trusty systems.

* Create 2 flavors, used by Tempest Compute tests
* Create 'public' network, used by Tempest Compute tests for floating-ip
* Configure Tempest to be aware about the 2 created flavors refs
* Configure Tempest to be aware about the public network
* Add some Puppet Exec code that prepare virtual bridging to reach floating IPs
* Add scenario parameters
* Run Smoke suite that includes 2 scenarios & some important API tests.
* Pin python-netaddr on ubuntu so we can test floating-IP.

Change-Id: Iebb83e110fbb0c072f06b3ca2ad84987e0efe3a6
2015-09-11 17:21:25 -04:00
Emilien Macchi
78d7bf2502 integration tests: use dstat to monitor system
Dstat is a tool used to monitor system in real-time. It's used by
Devstack in OpenStack gate to monitor system during jobs.
This tool would be useful for Puppet OpenStack Integration jobs so we
would be able to monitor the system during Puppet & Tempest runs, and
help us to debug eventual failures.

Change-Id: I5b6d6c662f1c23478ba0e0fb4f3d861a060abce7
Depends-On: I79c5b9521265e97595d3323149ba6e7d1e8e972b
2015-09-04 17:39:34 -04:00
Emilien Macchi
bc53a53883 acceptance: bump trusty packaging to trusty-proposed/liberty
Since our recent discussion about Ubuntu packaging, we decided to bump
Ubuntu packaging to trusty-proposed/liberty so we can install Liberty in
a better shape than current situation (Staging repo).

This patch installs UCA liberty repository.
It also makes sure `apt-get update` ran before so we are able to install
ubuntu-cloud-keyring package in the gate.

Change-Id: I57e2ddc5d0e228142f8045623ffbde362c0e7f7b
2015-09-04 14:41:43 -04:00
Emilien Macchi
370f94b3f9 scenario001: deploy & test glance
In fixtures/scenario001.pp:

* Install Glance by adding the basic bits in the manifest (keystone
  endpoints, MySQL database, Glance API, Client, Registry)
* Configure Tempest to run Glance tests
* Run Glance tempest beside Keystone

Depends-On: I97d1a77c5f4a67914738514d773ecbd4bfb2196c
Change-Id: Ie918b8ae616c4e0fb8399b28f3006ab25ed6dc16
2015-08-28 15:08:31 +00:00
Paul Belanger
bacfd4a347 Use zuul-cloner for tempest
This will give us the ability to use the Depends-On header for it.

Change-Id: I2eb90955cc639173214e1e85b05cf7df9fe37f21
Depends-On: I6972baa00131fafe0e608b05e18da0e9486b916e
Depends-On: Ia7be12a441bfc0f68c089d6b98f0d4ba2fff96ed
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2015-08-28 11:07:55 -04:00
Emilien Macchi
d3a7500958 scenario001: configure and run tempest
* configure tempest with a separated manifest
* put Puppet return code testing in a function
* execute both manifests (tempest would be the last one)
* run tempest at the end of run-tests.sh

This is now a PoC for Keystone. We might need to adjust the way to run
Tempest to be more flexible and support different scenarios.

Co-Authored-By: Paul Belanger <pabelanger@redhat.com>
Depends-On: I7c3d20a61aa88a25f1215cccb4cb36168eab05c5
Change-Id: I4b8f7fa7a694743758ea2073b532184c587899d1
2015-08-24 14:53:38 +00:00
Paul Belanger
8348afb6fc Create puppet folder layout
* create fixtures directory that will contain manifests to run.
* Add an empty scenario001.pp file to ensure our gate is properly working.

This implementation is basic and is not definitive. It aims to scale-up
later once we have multiple scenarios.

Change-Id: I0149c7887c8e664ca895be8ce4df5f620c5c6d0c
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2015-08-24 14:52:32 +00:00
Emilien Macchi
b3358f78fa Initial run_tests.sh script
This reverts commit 8b9db6da8629bd9dfdc70395b2cfe15a3f9d71d6 and applies
some changes to not break Puppet beaker jobs.

* First init of run_tests.sh script that will just run
  install_modules.sh script with sudo. The script also makes sure GEM_HOME is set
  so we can install r10k from gems and run it later.
* install_modules: make sure to find r10k binary

Change-Id: I24c7494e7c9201915d9aa2bf314a9534ddd27dd5
2015-08-24 14:52:18 +00:00
Emilien Macchi
8b9db6da86 Revert "Initial run_tests.sh script"
This reverts commit 2921e36c790dd255b560f322f9444bd6d30be5f6.

Change-Id: I88055528d143325457cdc2461dedb37f703374b9
2015-08-07 09:21:41 -04:00
Emilien Macchi
9b8367d128 Put install_modules.sh in / to unlock CI jobs
This is a temp fix: currently Puppet CI is broken because it can't find
the path of the script. This patch aims to fix it but it will be changed
again later, we need to change project-config repo.

Change-Id: I1bf3ea6a26be9b79794e048aac125e80a1d858a6
2015-08-07 08:29:16 -04:00
Paul Belanger
2921e36c79 Initial run_tests.sh script
When launching run_tests.sh we need to make sure to call
install_modules.sh.

I've moved it into the tools directory, and installed the modules
local vs global. This is mostly personal preference but avoids puppet
modules conflicts with global /etc/puppet folder.

Change-Id: I77c445a71720e0c8dd4744777c2bc6a0a6663590
Depends-On: I87c12faffab953ad2039d2b9ed9ab420e97ab2b7
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2015-08-06 14:38:42 -04:00