This project is no logner maintained or used as part of TripleO.
Change-Id: I0c9d052d2b3e3a3e656342042461b330c74139f0
Related-Bug: #1768590
Depends-On: https://review.openstack.org/#/c/565836/
- Excluding awk and python scripts.
- The Bashate E012 rule ('heredoc did not end before EOF') could be simply
ignored until the bashate bug will be fixed.
Change-Id: Id72665aba83df753364940c82db08edcb11e1217
Signed-off-by: Gael Chamoulaud <gchamoul@redhat.com>
In t-i-e I37d8391a4984f2c34368724212c81d10dbab2dee we start supporting
an env variable OS_DEUBUG_LOGGING which controls whether we set debug
logs at build time. If -d is passed to devtest* we should be setting
this.
Change-Id: I3bb21a289d2c0d65ff1eb6865e70f2d9b554f7fb
We can now drive the with/without merge.py choice using an environmental
variable, too. This will let us enable a CI job.
Change-Id: I527bfb7f90d75f08982a30d26515740f6cb9f7cf
This reverts commit 2f2cb8a399.
This feature removed the ability to use locally cached images
from the devtest_* scripts. Also adding top level --download-images
flags to all of the devtest scripts globally isn't something we
want to do. Ideally users would download images of their choosing
ahead of time and just simply set USE_CACHE=1. Much simpler and
can support a variety of download/caching mechanisms.
Change-Id: If788c2772f41fa4c41ea81a94e7c4335c1566158
By encapsulating getting of images we can transparently
download them, or use them from cache, or build them, without
having to reproduce the logic in every script.
Change-Id: Iae40275bf94c644a552ace98805b75a6f2afcce1
Co-Authored-By: Robert Collins <rbtcollins@hp.com>
Co-Authored-By: James Polley <jp@jamezpolley.com>
Passing `--no-mergepy` to devtest or devtest_overcloud, will use the
standalone templates (overcloud-without-mergepy.yaml and friends) instead of
building overcloud.yaml by running merge.py on overcloud-source.yaml.
Since the standalone templates rely on a resource registry specified in a
separate Heat environment file (overcloud-resource-registry.yaml), this feature
requires python-heatclient version 0.2.11 which added support for passing
multiple environment files to `heat`.
Change-Id: Ib82eecf0998ae5c0a811a248b638c5633c8bb262
Debug logging on the seed is enabled by including the seed-debug-logging
element.
This patch requires If38d9947e6e70ce537219caf1e2835285351d960
Change-Id: I38b529cbcb8612ba3aad8e6cebc0da02dce3ca3b
The PS4 mangling that devtest.sh does is very useful in showing
exactly where an issue with a devtest run is going wrong. However,
for users that have a TRIPLEO_ROOT set, this turns the PS4 prompt
into a mass of 70 lines, which harms debugging. Use basename to
only show the script itself, rather than the full path.
Change-Id: Ie55e714d50622ac38f36f67a26af5b138c1d2f48
We support passing a Debug parameter to our heat templates to set app
log levels to debug. Allow users of devtest to turn this on by passing
--debug-logging to devtest scripts.
Change-Id: I3f267f3d6290fddb40d80b1c889bade8980ddb43
Since we are standardizing on bash for shell scripts, we may as well
tell it to use a trace prompt that is vastly more useful for debugging.
This patchset changes $PS4 to prepend the script name and line number to
every line output in a debug trace.
Change-Id: I4ec5c0253295724a9580f86fd30082acd89d155d
Make a simple separation on '--heat-env' for overcloud and undercloud
to allow for different config to be applied that are not part of
the tripleo project.
Change-Id: I56c4ea27e1d9183f377aa96e772e235516b5ae53
We still find people trying to run test environments on older versions,
particularly Ubuntu Precise.
This release specifically mentions that we test on Ubuntu/Fedora 20
hosts with Trusty or Fedora20 guests.
Change-Id: Id1cd6c8771e67ce849f671b1148631ea7c3abcef
I've renamed the README and tweaked its formatting to be valid
ReStructured Text rather than markdown.
This allows it to be included in the built docs; which means our other
docs can link directly to a section of the README (rather than just
telling users to "go find the README somewhere and look for a
heading").
The major changes are slightly different formatting for the headings
and subheadings and sub-sub-headings, and using explicit enumeration
for the lists.
ReST can handle auto-enumeration, or monotonically increasing explicit
enumeration, but when it sees the "1." marker again it assumes a new
list is being started, which gets it confused. I've opted for explicit
enumeration as it ensures the reader gets the same understanding
whether looking at the source or the generated document.
I've tweaked a few of the links to point at the local doc rather than
the docs.o.o version, to improve consistency for someone reading docs
from a particular checkout. I have assumed that anyone who needs to
read the d.o.o versions knows how to find them.
Change-Id: I964fd5228b4f1fb863fb3fd138ba862cad9303e6
Somewhere in the past this block of instructions had its formatting
broken, leading it to it displaying inline without markup indicating it
as being a literal block of commands to run on the shell.
This change is intended to restore the formatting to match the other
instruction blocks.
Change-Id: I8a0a55cfa1c3a8ffc671fab14d09dca72e874690
This change is meant to clarify the requirements for the
TRIPLEO_ROOT variable by describing its usage in the early
parts of the documentation.
It also introduces a check intended to support existing
workflows where people intentionally leave it unset.
Change-Id: I99b11f487da0db09eb2ee517d6a42744abc1b461
Point people at the newdev notes, which contain pointers to common
helpful tasks, such as setting up apt and pypi mirrors.
Change-Id: I3a3e891b30f527a43653e3fc8b9b1eda04cc4bc1
Add a doc venv to align with other OpenStack projects. Useful
for doc testing locally.
As part of this change we also update the devtest.sh docs
generation example to be a bit more generic so as not to
refer to a specific release (which may or may not
have the new tox -edocs command).
Change-Id: I37771db339d864b2b938d1c02d15d38b07093493
Many people, on their second time running through the devtest_*.sh
scripts following the instructions in devtest.html, seem to
misunderstand the instructions about only running _testenv.sh once.
To try to make this clearer, I've modified the language a little and put
it into a "warning" box.
Change-Id: I4fe24bb944d95fa348cb90702beffe4811c8e497
Closes-bug: 1294083
If a baremetal-network is provided in the environment settings
passed to devtest, not all IP ranges are set correctly as some are
hard-coded. This patch makes it so that the environment settings
are used if available.
Relates to: https://review.openstack.org/#/c/85446/
Change-Id: I11ed72a1427f110568f47590a29446d5945b8cbd
Co-Author: matthew.gilliard@hp.com
If a user follows the instructions in devtest, they'll first check out
triple-incubator somewhere; then run scripts inside it, which (unknown
to them) check out a different copy of tripleo-incubator into ~/.cache.
This causes several surprises for the user: they'll be surprised to find
that lots of disk images have been created, but they can't find those
images. They'll be surprised when they edit scripts inside their
original checkout, but those scripts are ignored when running the
devtest_* scripts. They may well be surprised to find that none of the
work they've done inside TRIPLEO_ROOT gets backed up, because most
backup systems will ignore data under ~/.cache.
This change moves the instructions about setting TRIPLEO_ROOT from
devtest_variables.sh to the top of devtest.sh, so it's seen by the user
before they do their initial checkout. Instructions for that checkout
are tweaked so that the checkout goes into TRIPLEO_ROOT. The user should
no longer be surprised by the location of the artifacts created by the
scripts, as they'll have explicitly configured TRIPLEO_ROOT.
As a side-effect, setting TRIPLEO_ROOT explicitly avoids the first-timer
trap of trying to run devtest_setup.sh in the second step of
devtest.html - prior to this change, this was implicitly relying on
$TRIPLEO_ROOT/tripleo-incubator/scripts having devtest-setup.sh in it,
which is true on the second run but not the first. This means we can get
rid of some undocumented code that was working around this first-time
scenario
Some other improvements have been made. Now that we have a stable
branch, the docs for checkout out a stable branch have been clarified
with a real example, and split into their own section of the docs,
labelled as being an optional step.
Change-Id: I85e43df1cf1201b07131acf4985edfdf99cef30c
There are some use cases where deploying the overcloud from the
undercloud is not necessary. Using --no-undercloud we can deploy the
overcloud using the heat from seed.
Change-Id: I7fe3b7957c93f3ebb0796a7e7796fcb2328e07d2
Co-Authored-By: Robert Collins <rbtcollins@hp.com>
There are a couple of very interesting build-only use cases. One is
building in a permissive environment in order to deploy in a hostile
one. Another is to build images as a separate CI job to minimise the
overall work done by the CI system.
Change-Id: Ibd729fa80aa68f002a55073e57ba3b7f770700b4
Previously change I6e89dc98 allowed custom baremetal networks to be
configured in testenv.json.
This change allows you to pass in those custom entries as a json
file.
Change-Id: Iad5eb781fa236e71a40245d893f8f0b632b5c370
A common use case is the ability to deploy to real hardware, which
requires a VM seed and then real hardware descriptors.
Change-Id: I92fe355b6792f8aa3f9dd59b631ea450e2142546
Partial-Bug: #1290483
Devtest is not meant to be run as root. It should work well as a normal
user running with sudo elevating privileges when necessary.
Change-Id: I5c3246cea8c907ba04fc1e0ec59e78ba64bc12ee
We have two remaining instances of $(dirname $0) that get shown to the
user in the instructions for running the devtest sub-scripts by hand.
When these commands are run inside devtest.sh, they locate the directory
that devtest.sh is in, so they serve as an fixed reference point from
which we can locate the other scripts that need to be run.
When a user runs these by hand, they don't get anything useful. The
intent here is to replace the unhelpful instructions with a useful
equivalent - something the user can actually enter that will have the
desired effect.
One of these is obsolete; by that point, $TRIPLEO_ROOT is set and in
$PATH, so we can run the script directly. I've removed the $(dirname $0)
as it isn't needed.
The one case we do have to care about the path is the initial source
devtest_variables. I can't see a way to have a single command-line that
works for both devtest.sh and the user running sub-scripts manually, so
I've manually duplicated that line in a slightly different format so
that the docs will show the user a useful line.
As a special case, add a few lines to devtest_variables.sh to handle the
case where $TRIPLEO_ROOT/tripleo-incubator/scripts does not yet exist,
usually because devtest_setup.sh has never been run in this environment
before.
This slipped through CI because devstack-gate/devstack-vm-gate-wrap.sh
pre-emptively clones all the needed repositories; so in CI,
$TRIPLEO_ROOT/tripleo-incubator/scripts *does* already exist before
devtest_setup.sh is called the first time.
Change-Id: Iba38d8df7ea1cb9a3896684bb5907d6be5649a84
This reverts commit 3b2bdd757d.
On a brand new machine, this breaks as devtest_setup.sh is not in the
path - $TRIPLEO_ROOT/tripleo-incubator/scripts does not exist until
after we run devtest_setup.sh, so we cannot run devtest_setup.sh from
that directory.
This works on any machine that already has a checkout in
$TRIPLEO_ROOT/triple-incubator.
This slipped through CI because, as part of the gate setup, all the
relevant repositories are checked out - so the first time
devtest_setup.sh runs in CI, $TRIPLEO_ROOT/tripleo-incubator/scripts
exists. This is not true for a user who is following our docs.
Change-Id: I4f842a91455fa6a08a3004ff177b3e94452872ae
This prevents exiting with an error at the end of devtest.sh if the
variable is not set.
Change-Id: I53ee8cabf8b4f3771f25b0c807d0910f268a90ca
Closes-Bug: #1292555
We have two remaining instances of $(dirname $0) that get shown to the
user in the instructions for running the devtest sub-scripts by hand.
When these commands are run inside devtest.sh, they locate the directory
that devtest.sh is in, so they serve as an fixed reference point from
which we can locate the other scripts that need to be run.
When a user runs these by hand, they don't get anything useful. The
intent here is to replace the unhelpful instructions with a useful
equivalent - something the user can actually enter that will have the
desired effect.
One of these is obsolete; by that point, $TRIPLEO_ROOT is set and in
$PATH, so we can run the script directly. I've removed the $(dirname $0)
as it isn't needed.
The one case we do have to care about the path is the initial source
devtest_variables. I can't see a way to have a single command-line that
works for both devtest.sh and the user running sub-scripts manually, so
I've manually duplicated that line in a slightly different format so
that the docs will show the user a useful line.
Change-Id: Ib5fbaff5edd013bcba9c672f129ed14c54ff2048
Adding basic instrumentation to devtest to gain an understanding of
the time used for each step, and the impact of adding elements such
as pip-cache. Also allows comparison of runtime for different network
environments.
Change-Id: Id99b8c47ec34f16dab54e8f8534f00d5d638fedc
Sourcing devtest_overcloud is ugly, so like we did for undercloud,
turn it into a script we call that exports data itself.
Change-Id: If7705f15741e9e63ec1ef8759710e9e664bdad97
We split this out when we just sourced things.
Now that we're fixing that and only sourcing keystone creds and cloud
endpoint details, we should expose the detail to users so they can do
this themselves.
Change-Id: Ic76b1bb7d7d6bea94c72e77c7ce4823e9f217276
Like devtest_seed, we need endpoint details and noproxy settings as
outputs from the undercloud script. By moving them into the structured
testenvironment file we can query them later without depending on an
ever moving set of environment variables. This will also support using
pre-running underclouds to run overcloud tests in CI (when we get to
that).
Change-Id: Ida6beac05c46ab5c7da8a77ae3a14fec5a39a825
Its defaulting to 1 but in devtest-setup this value isn't set as it isn't
exported, so we don't end up running cleanup-env.
Change-Id: I7b97fa278bef6040a73c14926439f428b374c837