Commit Graph

68 Commits

Author SHA1 Message Date
Dan Smith bf235cd904 Enable nova workaround for upgrade bug
Nova recently introduced an issue that breaks FFU due to requiring
new compute service records to be recorded before control services are
allowed to start. However the former depends on the latter, which
creates an unsatisfiable circular dependency. Since this has been
both released and backported, Nova introduced a workaround config flag
specifically to get out of that loop, which we set here if needed.

Related-Bug: #1958883
Change-Id: If4820dd4ec7e05ade6eb4a82a328797102704570
Depends-On: https://review.opendev.org/c/openstack/nova/+/826097
2022-02-21 14:14:46 -08:00
Radosław Piliszek 1a1f58a69e Do not suggest Gerrit as source of clones
Make infra-root happy.

Change-Id: Id2b87753236dcc055c8cd9e42e23cf5d3faee4c0
2021-04-27 06:58:19 +00:00
Anand Bhat 41364698b2 References to review.openstack.org are replaced with review.opendev.org
Closes-Bug: #1832367
Change-Id: If38096aedac5c528a4feb5f70992afa4e13d6f67
2021-04-26 19:58:41 +00:00
Luigi Toscano 15e02fec78 Add GRENADE_USE_EXTERNAL_DEVSTACK to skip part of the setup
When GRENADE_USE_EXTERNAL_DEVSTACK is set to True,
the initial steps performed by grenade are skipped, namely:
- grabbing and configuring the base and the target devstacks;
- running devstacks on the base target.

This change is required to allow a native Zuul v3 job to use
the existing workflow to setup and run devstack.

Change-Id: I232db8de05141849c81851dd29440959cb0d8533
2020-03-02 18:20:36 +01:00
Andreas Jaeger 7f7e515de6 Switch to opendev URLs
Change URLs to use opendev instead of openstack.

Change-Id: I9bbd64615a689efba3a20d5f9d10bdb178c68ef4
2020-02-27 09:59:40 +01:00
Ghanshyam Mann d217022533 Fix default value of Base and Target release and dir
BASE_RELEASE and TARGET_RELEASE var are used for respective dir and
correct value for them is 'old' and 'new' which are nothing but the
dire for base and target devstack.

Also correct the default valeu for BASE_DEVSTACK_BRANCH which will be
updated on every cycle.

Change-Id: Ia2b50f3e48921f81fe12cd94347e1363b29681ea
2019-10-08 14:04:37 +00:00
Ian Wienand 91efdbc009 Replace openstack.org git:// URLs with https://
This is a mechanically generated change to replace openstack.org
git:// URLs with https:// equivalents.

This is in aid of a planned future move of the git hosting
infrastructure to a self-hosted instance of gitea (https://gitea.io),
which does not support the git wire protocol at this stage.

This update should result in no functional change.

For more information see the thread at

 http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003825.html

Change-Id: I53dcfcb704a6dbdc8772d275001475bc0b1ecf26
2019-03-24 20:33:42 +00:00
Tom Barron d5dc033a2e Determine PYTHON3_VERSION when necessary
When grenade.sh is invoked by devstack-gate, PYTHON3_VERSION
is not set so grenadrc defaults it to 3.5, which breaks grenade
on nodes where python 3.5 does not exist, such as ubuntu bionic.

One solution is to set PYTHON3_VERSION in devstack-gate [1].
Alternatively, this change uses a bit of code borrowed from
stackrc in devstack to determine the version of python
within grenade if it was not set by the caller.

Closes-bug: #1812208
[1] https://review.openstack.org/#/c/607379/

Change-Id: I0349de2026c49279ba7f262d5e86d37018d66326
2019-03-03 17:49:11 +00:00
Jenkins b615ee9831 Merge "Initialize ERROR_ON_CLONE flag in grenaderc" 2017-04-07 13:43:55 +00:00
Castulo J. Martinez 648521324c Making is_ubuntu func available to fetch_devstacks
When the fetch_devstacks function runs as part of grenade.sh
it tries to install devstack tools. As part of the devstack tools
installation, python3 gets installed through a function called
install_python3 which uses a function called is_ubuntu to
determine if the system is ubuntu. However this is_ubuntu
function is not available at that moment, so the script fails.

This commit sources functions-common from the devstack directory
which includes is_ubuntu so the grenade.sh script does not break.

Change-Id: I92b9f731e99df0840be296bfa8ce6a70e02a1f91
Closes-bug: 1659081
2017-01-27 12:07:49 -08:00
Steve Heyman 6846c59845 Initialize ERROR_ON_CLONE flag in grenaderc
A user can set ERROR_ON_CLONE to yes (true) to fail a run if a git
clone fails.  This patch will document that behavior in grenaderc
and set the flag to its default value of no (unless a user overrides).

Change-Id: I1b1f80b00b4a4838ef10241306d9190520a93701
2017-01-26 14:57:22 -06:00
Luz Cazares 113fafdab5 Remove javelin config value
Javelin CLI utilities was removed from Tempest on
Ia59d3e81f245f29a7bf0f56b690586dfc55f16a0

Change-Id: I52c70890458433dcdf1c70ff68702948ca36f125
2016-12-05 17:54:02 +00:00
Sean Dague 63f5ff6d9a update branches for ocata
Change-Id: I3d0ae54dd0dab1aab9720df7842ae3a243cf9d8c
2016-09-23 08:54:11 -04:00
Sean Dague 810c347ebb update master grenade rc for local running
Change-Id: Idb36bc905c45514b25531f8bd7c8f6b562b8d4df
2016-03-24 11:39:47 -04:00
Davanum Srinivas 190ab3c5c5 Switch base to Mitaka
Liberty -> Mitaka. We just cut the mitaka stable branch

Change-Id: Ie3882e2e6e0920c6543c9965b151bdc82d903f99
2016-03-24 06:46:44 -04:00
Dan Smith 379990af18 Run online data migrations for nova
Note that this is actually only required when going from mitaka->newton,
but in order to land things very early in newton, we need this to be
run. Since it's valid in mitaka too, we can go ahead and land it there,
and then copy or move it to from-mitaka later.

Change-Id: Ibc02acc60b1023039f2613f8949b95d55169fd30
2016-03-18 10:49:09 -07:00
Sean Dague a70641034a make SERVICE_TIMEOUT variable
This allows us to set SERVICE_TIMEOUT per job to handle services which
might take longer to stop / start. We'll default to 30 as a reasonably
safe value.

Change-Id: I306a9ddfb957a947915eecc2d3121a15909f54d3
2015-10-02 12:01:29 -04:00
Sean Dague c2713acc48 update references for mitaka
Change-Id: I04db6d26ffb7e27842da381abcf62e2f44605776
2015-09-30 10:35:20 -04:00
Sean Dague 5ea9945530 allow DEVSTACK_DIRS to be overridden
Allowing DEVSTACK_DIRS to be overridden lets the run_resources.sh
script work outside of grenade. This is needed for the -d option added
in the last patch to actually do something useful.

Change-Id: Ic56e300a0ab1872e4cef37a22dd09cd4a8dd1e92
2015-04-24 11:58:57 -04:00
Sean Dague df2c32b44a adjust branches for kilo
This opens up liberty development by adjusting the branches for kilo,
will not pass until devstack is branched.

Change-Id: I1c2ad1bf192bf1c7191aace1d2f5c89aa077f39a
2015-04-20 14:43:50 -04:00
Sean Dague 621ce5ca05 modular resource checking infrastructure
This provides the infrastructure for modular resource checking, as
well as an example implementation for keystone.

The infrastructure includes:

- the resource script dispatcher, including the ability to disable
  using it all together via config.

- resource_save / resource_get scripts for our grenadedb registry
  (wrapper on ini files, but abstracted so we could do something
  different in the future)

- keystone resource script.

Change-Id: I8666a96a817cfc333e50eed3b9aeffa5ac4aeec6
2015-04-13 15:37:18 -04:00
Sean Dague 2f3bfe1332 cleanup and document where we stand
This is a smorgasbord cleanup patch which does the following:

- moves all the inline function definitions in grenade.sh out to
  either bootstrap or upgrade libraries.

- gets rid of grenaderc.settings, this is handled by modular shutdown
  / upgrade service checking.

- consolidates all settings into grenaderc

- removes all variables that were extraneous, and came from very very
  early history of grenade.

- Documents the current flow and assumptions in grenade.sh as much as
  possible.

Change-Id: I3d2fa30240247690e3f45dcb0be93672808914f6
2015-04-11 13:40:22 -04:00
Sean Dague 40703a705c allow GIT_BASE to be overridden
change the sourcing of localrc to allow GIT_BASE to be
overridden. This makes it possible to use local mirrors for
development.

Change-Id: Ia7cc550c83d847166e10b66e401485081ac7b758
2015-04-11 13:13:33 -04:00
Sean Dague b8c64e0de2 restructure upgrades into per project directories
This moves all the project specific upgrade code into project specific
directories. This forshadows how we might break out this code into
external plugins. It happens all at once to keep a working grenade
environment on both sides of this change.

Change-Id: If47395c796bdb0ae2b8fe65bfe4b4556a6487c7a
2015-04-09 08:27:40 -04:00
Sean Dague 6bb23b443f refactor to remove functions-common
This refactor's the grenade code to remove the copy/pasted
functions-common from devstack and instead use the functions from
TARGET_DEVSTACK. In order to accomplish this we need to refactor when
the devstack trees are pulled, so that we always pull both the base
and target devstack trees *extremely* early.

We also need to include a small number of functions (mostly related to
git) in grenade to be able to bootstrap these trees. This is done in
the inc/bootstrap tree.

There are some slightly unrelated function moves into inc/upgrade to
consolidate all the upgrade functions which were scattered through the
codebase for clarity. inc/* will be the contract library interfaces
out of grenade (mirroring devstack).

To do this grenaderc has to be split between variables which can be
set without devstack functions, and variables we compute later. These
later variables will be moved into project specific directories based
on the plugin plan.

Change-Id: I1a2d1a1fed7858c4f3b51a19be2d12cc2d260a24
2015-04-08 07:24:39 -04:00
Sean Dague c32f052c2a introduce UPGRADE_PROJECTS
Introduce variable that is a list of projects to upgrade, this becomes
a setting that can be overridden by out of tree projects.

Change-Id: I84be46fcdc544c61e09bc5e1238f54f53a63d893
2015-04-08 07:24:39 -04:00
Adam Gandelman 0b60d599fd Add partial ironic upgrade support
Moves checks of DO_NOT_UPGRADE_SERVICES to a function, and
uses it to also setup for partial Ironic upgrades, where we
upgrade the entire cloud except for ironic-api and ironic-condcutor.
This also ends up adding ironic to services that are acted upon
in check-sanity and stop-base.

Change-Id: I392b41d956bc1b0c0eb8383f0eaad9b0c5461760
2015-01-26 12:35:38 -08:00
Clark Boylan 29f5cf27d8 Teach Grenade to do Juno to Kilo upgrades
First step in doing Juno to Kilo upgrades with Grenade is setting the
new base and target branches. Note this should come after both devstack
and grenade have stable/juno branches.

Change-Id: I0a7c8b3273b25e9fe457d7073046ad8a7ee3f70a
2014-10-16 08:24:22 -07:00
Adam Gandelman 818eb6a336 Allow BASE_RUN_SMOKE to be overridden by localrc
Currently, only TARGET_RUN_SMOKE is allowed to be overridden
by the user/gate while BASE_RUN_SMOKE is ignored if set via
localrc.  This updates grenaderc and matches the expected defaults
and overrides.

Change-Id: I3e74e53e697c4774a24ec86a1698072705509c06
2014-09-23 21:06:39 -07:00
Sean Dague 4e418959bb allow setting of TEMPEST_CONCURENCY
grenade was using all the cores for tempest tests, not just the
number we typically use in the gate. Now that everything is 8 way
in the gate this means a lot more failures.

This allows us to set this down from devstack-gate. If not set,
we default to nproc value.

Change-Id: Ieea93dcbb973ca8ff872bf509324db284538d0b5
2014-06-05 06:08:05 -04:00
Sean Dague fb9cffc4c8 switch to icehouse -> juno upgrade
make nova rolling upgrade use base release

instead of hard coding this, always use the base release value.
This will let us roll forward gracefully in the future.

Related-Bug: #1309324

Change-Id: If9417e65c7c54d017c4c847a4020f855684c423c
2014-04-18 11:34:25 -04:00
Joe Gordon a66944cee2 Change default target from stable/icehouse to master
As of writing this commit message icehouse has yet to be released so
stable/icehouse doesn't exist.  So make the default values the same as
how we use grenade in gate.

Change-Id: I6102c67b6c0021ccd9d7ec540cc1510491f88eb2
2014-03-12 10:05:35 -07:00
Joe Gordon a70abf38ac Add space at end of target_services to fix partial-ncpu test
Add space at end of TARGET_SERVICES, so when we append services to it
the first two don't get concatenated together.

Change-Id: Iac7025eb70f35746534029dc4bb174f265988416
2014-03-02 19:50:46 -08:00
Sean Dague 8fdd3db95d be more careful about downing services
swift-proxy likes to not shut down during grenade runs, and the
failure case just means all our tests take forever timing out on
trying to connect to it over glance.

put in a few more checks about whether the services are in the
right states.

Change-Id: Iedfd91cdded632f7f3a2b5f127c2901f8762adaa
2014-02-27 18:29:30 -05:00
Joe Gordon db1e798908 Add rolling upgrade test for nova-compute
Add rolling upgrade test for nova-compute. Nova wants to support the ability
to run stable/havana nova-compute with icehouse everything else. This sets
up a test for that.

When $DO_NOT_UPGRADE_SERVICES contains "n-cpu", the final environment
will be trunk everything except havana nova-compute.  Although
$DO_NOT_UPGRADE_SERVICES takes a list of services other parts of grenade
have to be fixed to support values besides "n-cpu", but a list is used
because in the future we want to support adding other values to this
list.

Change-Id: Ifb733ee2fe0c5bba61b43ae19dca7040c12f7893
2014-02-24 13:31:55 -08:00
Mauro S. M. Rodrigues a6c7d4b4db Remove exercises and run tempest smoke tests instead
Smoke and Scenarios tests can offer a better coverage and also it's good to
centralize all tests in tempest.

Change-Id: Iacb60ab011d2c7d90885b339b3c8454bd3de8219
Partial-bug: #1023131
2014-02-04 15:52:06 +00:00
Joe Gordon 26ca45c6c3 Change default GIT_BASE to git.openstack.org
Instead of cloning from github, which ratelimits use our own
official git.openstack.org mirrors.

This change doesn't affect the gate as the images are pre-populated.

Change-Id: Ic12fbace0d54f7c624140410e2a2c1f5f8264d47
2014-01-15 14:33:22 -05:00
Joe Gordon ab53589fa2 Pass in GIT_BASE when calling stack.sh
since ./stack.sh is called as a binary, $GIT_BASE needs to be passed in
to override devstack's default GIT_BASE.

And add comment about git.openstack.org

Change-Id: I55482a387fe54235baba90e7b83837f7cb5b4bc6
2013-12-30 20:51:17 -08:00
Mauro S. M. Rodrigues 4c7726ea43 Add clean configuration files to upgrade from H to I
Any new configurations for Icehouse should go in one of the upgrade files in
from-havana directory.
Also moves {BASE,TARGET}_RELEASE vars forward to Havana->Icehouse pair.

Change-Id: Iac520a8de4c3b9f14e2289cfb9b6a50c4ab0ce32
2013-12-10 22:20:18 +00:00
Sean Dague 2a55ea070c add oslo and infra from git to the upgrade
to make grenade work like havana master we need to bring in infra
and oslo repositories from upstream git and apply global
requirements to all the repositories.

Update functions file from devstack.

Attempt to uninstall oslo.config first, to deal with weird pip
issues where 1.1.1 is still installed, but 1.2.x from git is in
the easy repo files, and nova-manage explodes.

Change-Id: I310d40a0adc9355eea91e79598bf867ad6818b79
2013-08-05 14:14:23 -04:00
Adalberto Medeiros 0ab0393686 Allow target exercises to run independently
Both target and base exercises will run according to the value
set by RUN_EXERCISES. For the gate job, we need the target
exercises to run out of the grenade.sh script.
This patch also defaults the smoke tests to False. They
will also be triggered by the gate scripts.

Blueprint nightly-upgrade-testing

Change-Id: I325d025cec6bacfa2bd7f3b48bed4a4abdacef76
2013-07-10 13:42:30 -04:00
Adalberto Medeiros aa13c9fe90 Add smoke tests to target release
After running exercises, grenade may run tempest
smoke tests if chosen (default is true)

Implements: bp nightly-upgrade-testing
Change-Id: I3316f0cf1d8437d25564e2e93ae1a4aa9bd8bf76
2013-06-10 15:43:49 -04:00
Dean Troyer 4099c25b68 Cut over to grizzly -> havana
* change BASE_RELEASE and TARGET_RELEASE in grenaderc
* remove work-arounds from devstack.localrc.target
* remove upgrade steps from the upgrade-* scripts
* change references to release names in variables to BASE_ and TARGET_
* remove Javelin check from check-sanity, will return in verify-javelin
  in https://review.openstack.org/#/c/26257/

Fixes bug 1175340

Change-Id: If1523c73ebefeaf3d3e3efdfbc053f47365d123a
2013-05-02 14:43:41 -05:00
Dean Troyer fd9b2916de Configure for stable/grizzly
Set default TARGET_DEVSTACK_BRANCH to stable/grizzly

Change-Id: I53d5603bac55f400fc5b3fe6a9c59d7c9cce9ebc
2013-04-09 17:09:33 -05:00
Sean Dague 344fe7e95d set the grizzly floating pools to folsom defaults
with this grenade fully passes for me!

Change-Id: I4b7ba77e6405a638d9e9130a7dc92388d9181065
2013-04-02 16:32:45 -04:00
Sean Dague 6cf35f0cca sanity checkpoints
After we supposedly shut down Folsom, actually check that it's all
the way down.

After we start grizzly, before we do anything, make sure that the
services look up, and the final vm that should have survived, did.

Change-Id: I13159c84444c3b3e9744acac7110b5cbd5ff9233
2013-03-29 15:59:29 -04:00
Matthew Treinish c60bd7bad3 Add tempest to grenade runs.
This commit adds support for tempest to grenade.sh. Tempest is
cloned and configured for both the base and target sections.

Change-Id: I79d1871724eac1ecf010a61222d4ce0d60529a13
2013-03-28 14:15:37 -04:00
Dean Troyer 318a7e1807 Rename Grenade's DEST to STACK_ROOT
This is to avoid confusion with DevStack's DEST which is set to
${STACK_ROOT}/$BASE_RELEASE in Grenade.

Change-Id: Ibc9b94bd51e7d5dd82ec45f23557923d2f38db96
2013-03-27 16:29:43 -05:00
Dean Troyer 290417c134 Wait for javelin instance to start 2013-03-11 10:55:10 -05:00
Dean Troyer 20ef58ffcb ADd SERVICE_TIMEOUT 2013-02-01 13:38:45 -06:00