Commit Graph

42 Commits

Author SHA1 Message Date
ricolin c8d1a9f901 Migrate functional test jobs to zuul v3
Something are introduced in this patch:
* As devstack-gate/devstack-vm-gate-wrap.sh is not really zuul v3
native, we move all configs in to `devstack/lib/heat` and .zuul.yaml.

* Remove extra configs process in devstack. Like setup tempest(which
is well covered by tempest itself.) or overlapping heat test configs setup.
Use tempest config for all heat_integration tests. Also remove
heat_integrationtests/common/configs since they're no longer required.

* copy post.yaml for grenade jobs. As we migrate to zuul v3 for
functional tests but not grenade (not yet), the post.yaml should exists
under grenade dir. since it's only required by grenade jobs.

* Use post.yaml in functional tests for cleanup test environments.

Story: #2007056
Task: #37908

Depends-On: https://review.opendev.org/701105
Change-Id: I4f531161a7222e2c2a21f8d483f9c2a1d91dc38d
2020-01-07 09:38:04 +08:00
Rabi Mishra b5333aea94 Use fedora 29 image from nodepool mirror
It seems fedora 27 cloud images are not available.

Change-Id: I199afcbaa5050226a333779ac22aea3451f94b04
2018-11-28 13:05:31 +05:30
rabi 4748dbc4b1 Stop testing neutron-lbaas in gate jobs
neutron-lbaas has been deprecated since long. Let's remove the
service from gate jobs and skip the relevant tests.

Change-Id: I8eede46ed2ad014522e00d28b0b7c0b194a0b996
2018-05-31 10:04:21 +05:30
Zuul e86aaf005d Merge "Update test image" 2018-02-07 07:34:22 +00:00
ricolin da393a23cd Update test image
update test image to use `Fedora-Cloud-Base-27-1.6.x86_64`

Change-Id: I162b3a760031c5144525e96512db7b82ff02bc65
2018-01-29 21:14:55 +08:00
rabi 6d55417f80 Remove CloudWatch API
This patch removes the API, the next set of patches in the
series would remove stack watch service and related
WatchRule implementation.

Change-Id: I8b0472be862907298c8da51f435b5d8b19610ec3
Partial-Bug: #1743707
2018-01-28 09:11:17 +05:30
Jenkins ca6b10cb7c Merge "Revert "Disable nova quota check in gate jobs"" 2017-08-30 10:44:34 +00:00
rabi 8edb3aeabc Revert "Disable nova quota check in gate jobs"
This reverts commit 608b35eaef.

Change-Id: I6558bd5131fb0d61571afa183380a93c5b142dfa
2017-08-15 12:23:44 +05:30
Mohammed Naser a47e342f4d
Switch integration jobs to use local mirrors
The integration jobs currently download images from a third party
mirror which can be slow at times or use up a lot of bandwidth.

This patch tries to automatically detect if nodepool mirrors are
active and uses them, falling back to the global round-robin mirror
of the Fedora project instead of a specific mirror.

Change-Id: Ie111c20b6dd0efe2e1cbfcac2a46b27ce6bc20c0
2017-08-10 16:46:59 -04:00
rabi 3ae539bbf9 Fix barbicanclient and glance upload issue
It seems for py35 job barbicanclient is installed from source.

Ib91e7049de007f4d4254abcd4c125b4dc7e03c55 has made some backward
incompatible changes.

This also changes to upload images using $IMAGE_URLS, so
the images are stored locally and then uploaded.

Change-Id: I9d3d9dabdfca0442bd17f93ce69ef9753049dc23
Closes-Bug: #1704725
2017-07-18 11:30:35 +05:30
rabi 608b35eaef Disable nova quota check in gate jobs
Seems like Ice4aceac5dc44954db3661480b9365f54e47a4c9
broken the gate. We probably are better off disabling
the quota check altogether.

Change-Id: I55756ac80344fcf9ea78fdf3bd99467f169eb231
2017-06-26 11:29:08 +05:30
Jenkins 8e42bb35b7 Merge "Replace deprecated notification_driver in tests" 2017-03-14 09:31:56 +00:00
Thomas Herve 4a500125b3 Sleep between check_resource calls
Instead of calling check_resource on all leaves in the resource graph at
once, sleep a little bit between each call. As it's a tad slower,
delegate it to a thread so that the stack_create RPC message doesn't
timeout when you have lots of resources.

Change-Id: I84d2b34d65b3ce7d8d858de106dac531aff509b7
Partial-Bug: #1566845
2017-03-13 15:28:20 +00:00
Thomas Herve 8c7792847e Replace deprecated notification_driver in tests
This moves to oslo_messaging_notifications driver option.

Change-Id: I22da8f6f12583faa3572dc1bad6aa777b382efc7
Closes-Bug: #1592477
2017-02-24 13:35:53 -05:00
Thomas Herve d0bd61e46c Try to fix local.conf creation in tests
Change-Id: Ieda609a16d9721f1eb3462212eeb0c46c1474049
2017-02-23 16:38:23 -05:00
Steve Baker 172fe35ece Initial heat REST API tests with gabbi
Last summit we decided to add suite of gabbi tests
for REST API validation and then propose a subset of
these to tempest to be the defcore tests.

This adds the basic framework and few stack api tests
as a start.

Change-Id: I79a6fe971a97fdc4412616137ae963748cc349e5
2017-01-04 16:46:08 +05:30
rabi 2045a8d880 Remove oslo-incubator use in other client plugins
oslo incubator code is planned to be removed from the clients
this cycle. Remove the redundant usage of it from other client
plugins.

This also includes an unrelated change(to remove the vpnaas
post configuration, as we have removed the plugin from the
gate jobs), to fix the gate.

Last but not least, it limits the number of connections to the database
to work around a convergence issue.

Change-Id: I01c46197dfebb1eb674817ce81792972a06e529f
2016-11-18 22:16:34 +01:00
Rabi Mishra 372a2376b8 Fix path_in_stack for scheduler hints
Nova expects scheduler_hints to be a DictOfListOfStrings in
the object layer(versioned objects), though there is no
limitation for this in the api layer. Thefore sending a
list of tuples as a scheduler_hint results in error.

This also sets stack_scheduler_hints=true for integration
tests.

Change-Id: Id7575f67657fab86acb22d86807127dda45305d5
Closes-Bug: #1608452
2016-08-05 10:21:10 +00:00
Steve Baker 587d0b4058 Explicitly set heat.conf logging_exception_prefix
Gate logs for heat jobs really need to log stack traces with TRACE
instead of ERROR because some traces are being printed by passing
exc_info=True to LOG.info so they are not actual errors.

TRACE should be the default for oslo.log but something in the gate
setup is setting it to ERROR. Setting explicitly here restores the
desired pattern and protects against gate default overrides.

Change-Id: Id85287324fa6dc79d67fb1ed37c3f256d661133e
Closes-Bug: #1606404
2016-07-29 01:00:35 +00:00
rabi 353178b4b2 Run orig jobs without convergence engine
We seem to be running all jobs with convergence
enabled. We should run the orig jobs without
convergence.

Change-Id: I0dfdc319c25e5eb1da15eea83b5e77ee44c44461
Depends-On: I775fe499546ae8adfd2a8a1c062b5754ab71b50c
2016-06-14 07:44:13 +00:00
Mark Vanderwiel 7adce61612 Add lbaas v2 scenario test
Make use of the new lbaas v2 resources.
This is an experimental gate job.

Will use the lbaas v2 namespace-haproxy driver instead of octavia.  Octavia
requires nested vms which is very slow and causes timeouts in devstack gates.

Change-Id: I7ea6e50a1da46622bdddcfccaf82203f473bfacc
2016-03-24 18:19:24 +00:00
Mark Vanderwiel 35703069f8 Add functional lbaas v2 tests
For lbaas v2, the scenario tests are on hold until bug:
https://bugs.launchpad.net/octavia/+bug/1557184 can be
resolved for octavia in devstack.

This patch will change the octavia drivers to no-op to
allow functional testing against the heat lbaas v2
resources.  These tests will run under 5 minutes.

Change-Id: I96890725d0b5c498815873b068613ab00f2cbac8
2016-03-15 13:37:48 -05:00
Sergey Kraynev bf20657824 Unify workers options for API services
This patch change behaviour of launching API services for different
numbers of workers:
- workers < 0 -> is not allowed
- workers == 0 -> as much worker *processes* as CPU cores
- workers == 1 -> no child *processes*, single *green thread*
- workers > 1 -> specified number of worker *processes*

Note: According with old behaviour following services have corresponding
defaul values:
 - heat-api  -> '0', instead of function for calculation number of cores.
 - heat-api-cfn -> '1', instead of '0' (i.e. one *green thread*)
 - heat-api-cw -> '1', instead of '0' (i.e. one *green thread*)

Also updated number of workers for functional tests.
It's necessary, because priveous value was '1', which now mean one
single thread. (Previously it was one worker).

Change-Id: Idebd19c62adea02d9181236f6cbfed090acb32b9
Closes-Bug: #1523390
2016-01-18 13:16:48 +00:00
Steve Baker adb2121795 Make minimum default num_engine_workers>=4
Downstream test environments are frequently having failing stacks with
error messages like:

  MessagingTimeout: resources[0]: Timed out waiting for a reply to
  message ID ...

These environments generally have 1 or 2 cores, so only spawn one or two
engine workers. This deadlocks with stacks that have many nested stacks
due to engine->engine RPC calls.

Even our own functional tests don't work reliably with less than 4
workers, and the workaround has been to set that explicitly in
pre_test_hook.sh.

This change sets the default minimum number of workers to 4, but still
matches workers to cores for larger servers.

This change also moves the default evaluation to heat.cmd.engine so that
generated configuration doesn't get a inappropriate default value.

Change-Id: Iae6b3956bad414406d901bb2213c9ec230ff4304
Closes-Bug: #1526045
2016-01-11 13:32:51 +13:00
Thomas Herve cbd48bd82e Add neutron vpnaas configuration in integration tests.
They decided to remove the default once again because why not, it's
funny to break gates for no reason.

Change-Id: Iad096d134f66d625ff6d717e3be40dace66f6894
Closes-Bug: #1527499
2015-12-18 09:48:23 +01:00
Thomas Herve 70593c5d69 Add caching to neutron extensions
This adds a oslo.cache option for neutron extensions, and enable cache
in integration tests.

Change-Id: Ibbdc210dd57c3559f87789854b6b9b9159694cf2
Closes-Bug: #1512771
2015-11-05 14:48:28 +01:00
Sirushti Murugesan 60550a418f Don't inject extra config into neutron-vpnaas.conf
The gate breaking commit has been reverted in
Ie013b452457b460de798c5d5d06133784d2f321f, so this workaround
isn't necessary anymore.

Change-Id: Ib3fa76d9b611fedacb2804b536571bcc7b01f13b
2015-09-23 14:07:23 +05:30
Angus Salkeld 78a2bb63e1 Move TestResource in-tree
Change-Id: I83c52f099621610f75c3b986c359292606978885
Closes-bug: #1489459
2015-09-04 10:29:57 +10:00
Angus Salkeld be8b7c8679 Increase num_engine_workers to 4 in functional tests
In convergence testing 2 seems to be causing RPC Message timeouts.

Change-Id: Ic989bc42662ec19db5c78d77a7d648227f4ab5e3
2015-08-28 11:58:05 +10:00
Thomas Herve e668c7a9d7 Fix configuration in tests
Add neutron vpnaas configuration in integration tests.

Change-Id: I8b6a0ed73a14b29e7e1c3d1417aa0d57d4b36f7d
2015-08-17 19:45:59 +02:00
Pavlo Shchelokovskyy 47dc1d6126 Fix pre_test_hook.sh encryption setting
Currently option to encrypt parameters is being put in wrong config
section.

Depends-On: I3d8d54fa7441c95fc3de5354f80ce2e7e2ba7054
Change-Id: Iec34be7918358e0d32bab5eb298d2d8b2cce8e0a
2015-08-05 13:05:34 +03:00
James Combs 02ce8a85c2 Adding functional integration test for encrypted parameters.
Change-Id: Ie32e3681cf860ee62296f7daea1836f6eb65542f
2015-07-24 21:58:07 +00:00
Pavlo Shchelokovskyy 5cf295c991 Fix integration tests hooks
This patch fixes two problems:
- due to bug #1475227 in DevStack our integration tests in fact are
  being run under admin user/tenant instead of demo
- convergence_engine option is being put in the wrong config section

Change-Id: I5a4b691b2b86993642d5411060b16d73207888d5
2015-07-17 11:01:31 +00:00
tyagi 2cf8aa6fad Update wsgi.py to support reload from conf on SIGHUP
These changes are taken from the glance wsgi.py from where
heat wsgi.py originated. These changes are to support reload
of the service with new configuration parameters when SIGHUP
is received.

The reload of conf will only work if the server is running
with workers. If workers is 0 then it wont reload.

Co-Authored-By: Tetiana Lashchova <tlashchova@mirantis.com>
Change-Id: I7fd391209591c149fb95136d92dd1d82cfb7a6de
Closes-Bug: #1449807
Closes-Bug: #1276694
2015-07-06 17:27:28 +03:00
Kanagaraj Manickam 595e8af428 Enable convergence in zuul functional testing
Adds a environment variable ENABLE_CONVERGENCE=true for
enabling the functional testing with convergence engine.

Change-Id: If4b2c9a1a3359749d3238c891ffdc1f57cf1b308
2015-06-26 08:42:58 +00:00
Angus Salkeld 5fa6559b0b Add basic Ceilometer alarm test
This sends a manual ceilometer sample to trigger the alarm,
then confirms that the autoscale policy/group reacts correctly.

Note: this doesn't used ScenarioBaseTest as it skips the test
unnecessarily on unused images and networks.

Change-Id: I5c842779d90497ba88df66bbfd8f447679645192
Depends-On: Ib3795bcca9d5ec3d68c6443a9854dbc56118ca40
2015-05-13 14:24:04 +10:00
Sabeen Syed 0baa6bc921 Add functional tests for stack tags/hidden stacks
One test creates a stack with a tag, updates the 
tag and then deletes the tag. The second test, 
creates a stack with a tag named 'hidden'. In heat.conf, 
hidden_stack_tags is set to 'hidden' which means 
whichever stack has a tag named 'hidden', stack.list() 
should not pick it up.

blueprint stack-tags

Change-Id: Idf6669ccf5e210d4e6da3733a9ac190418306d98
2015-05-05 21:14:49 +00:00
Rakesh H S 5ea948ce9f test_resource for functional tests
Introduces new resource plugin to be able to test various
functional test cases which includes Rollback, Update In Place,
Concurrent Update and can be customised furthur based on the needs.

Co-Authored-by: Anant Patil <anant.patil@hp.com>

Change-Id: I3b8a1d2928553c87abaac81ee687e0faa85c9c5e
2015-04-08 11:09:46 +05:30
Angus Salkeld 8c5b3589e2 Change the default num_engine_workers to get_worker_count()
Now that we have decouple-nested merged, it makes sense
to enable more workers. oslo has a function just for this
processutils.get_worker_count()

Also set the number to 2 for functional tests to
not overly consume too much memory but still test
the multi worker path.

Change-Id: I86d1e8bb1813ccdee959f7a0fe78867dde7d21b5
Closes-bug: 1434339
2015-03-31 07:55:18 +10:00
Oleksii Chuprykov 58f6ae907b Move test_notifications to functional
Change-Id: I8fa39fa0ba65edeb2b4c7d0b22eb8206f47d3083
2015-03-13 09:20:41 -04:00
Angus Salkeld 5cab70e5da Move template resource tests to functional
Note: this enables adopt and abandon in the gate
so we can test this feature.

Part of blueprint decouple-nested
Change-Id: Id1e63fc4b4e609f699d718b8569c25d246e83faa
2015-01-12 23:07:05 +10:00
Steve Baker f3b8e93238 Support classes for heat integration tests
These support classes started as a forklift of the classes needed
to run tempest scenario orchestration tests.

The original tempest code has been pared back to provide the
small subset required by heat integration tests. From this point on
these support classes can evolve to the specific needs of the
integration tests.

There is some unused code (especially in remote_client) which has
been left in as it may become useful in the future, and is already
extremely well reviewed and tested from being developed for tempest.

The script heat_integrationtests/generate_sample.sh will generate
an up-to-date heat_integrationtests/heat_integrationtests.conf.sample
file which can be copied to
heat_integrationtests/heat_integrationtests.conf
to override default configuration values. A local ConfigOpts is created
for each test to avoid any potential interaction with heat's
global CONF. Configuration options for credentials default to
being sourced from the environment.

The default tox testenv now excludes tests in heat_integrationtests.
A new testenv called "integration" will only run tests in
heat_integrationtests.

Integration tests will fail if preconditions are not met, including
a keystone endpoint, credentials and glance containing the expected
named image.

Devstack gate hooks have been moved to heat_integrationtests now that
the name of the package has been decided.

Change-Id: I174429c16bb606c5c325ee8b62c6e600ea77a6e6
Partial-Blueprint: functional-tests
2014-09-24 09:02:20 +12:00