This is to help user readability, today dib-image-list can return
unsorted results for dib-image-list, making it difficult to read.
Change-Id: Iadf31347ee5310e9c021e985b61774011f77ed87
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
Nodepool only supports python3, so just default to python3 when
testing with devstack.
Change-Id: Ie6149a8fcdefc3c8e014ba8161caa95da41f6aaf
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
Until we have a better solution (either in kazoo or in nodepool)
for the problem described in the long inline comment, let's prevent
these rare test failures that have been plaguing us.
Change-Id: Id43c2dba88f8dd3b8ce7b70be551e071ca4b1dd1
Fold in content from zuul/tools/nodepool-integration-setup.sh into our
playbook to reduce dependency of the repos and simplify job setup.
Change-Id: I168522ae2c214eac2f51410c67b3a79862a8787f
This is not needed anymore, the zuul job does not use it.
Change-Id: I4f9e41485ebe2c8b8e2303283b2937b8d3d67d49
Depends-On: https://review.openstack.org/545221
Several fixes to this job:
We need to run bindep twice - once for nodepool, once for zuul. Add
invocation of bindep role and also copy install-distro-packages so that
the job works, next step is remove the install-distro-packages from
zuul.
Add a post-run to copy the nodepool logs, so you can diagnose what's
going wrong if the jobs fails
Fix up a configuration issue, it tries to write build-logs to
/var/log/nodepool which it doesn't own, redirect to the temp area.
Add it as a non-voting check job
Depends-On: https://review.openstack.org/545163
Change-Id: I12db55d3e4c7a71b9af56567858df0a620ee3b73
We'd like to bring opensuse-tumbleweed online for openstack-infra, so
enable testing of tumbleweed to help catch things.
Change-Id: Id0a1fbf6f3c7df63402670f8c54f7fb3af652ae5
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
Follow up patch to previous changes and removes hardcoded 'root'
key-name.
Change-Id: If1ac2b0a55898607409216a3ffa1bb45831ad2fc
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
Validate that glean will properly use the key-name from nodepool, and
allow a root user to ssh into the node.
It seems when we merge feature/zuulv3 back into master, we lost this
logic. It is still helpful to actually SSH into a node to validate
glean and diskimage-builder worked as expected.
See: https://review.openstack.org/455770/
Change-Id: I03f7f04be6c7889f94abed2d9e0a56d7e05ad90f
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
Fedora-27 is the latest supported version, switch to it. We also have
fedora-27 DIBs live in openstack-infra.
Change-Id: Iff9e01a8aab4ba50c42e5e72fabbe8cb20bc821c
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
Both fedora-25 and ubuntu-precise are nolonger tested. Remove dead
logic.
Change-Id: Ib54827bfea01cec39bd161a5a94fee350556102f
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
We no longer support python2.7 for nodepool, we can be more specific
and now only install python3 libraries.
Change-Id: I2a149a4b075fd63f382ed6b4a2e89f2bb8545da5
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
In I203d149a1d63ac8358e1c8b878d9c2bc0ba67c02 I forgot to unpause
Xenial for the non-src version of the functional testing. This means
it effectively does nothing as all builds are paused.
Add it, along with a short note on the base job to remind you about
this. Also slight layout change to keep all the functional-* jobs
together.
Change-Id: Ia78850e48fe232f380713fb0c9bef938099b7060
These matches were only required for the legacy boot jobs, which are
now removed.
Change-Id: I2ab0d1172fb596d4f85481175cf754c17d406d12
Depends-On: https://review.openstack.org/543329
This implements legacy-dsvm-nodepool-[distro]-src jobs as native jobs.
This seems like the best home for them, as they are run by multiple
externals such as glean and diskimage-builder.
Previously the defaults were set such that with no arguments, the
trusty test ran for nodepool-functional-py35.
To facilitate better templating, this turns all builds off by default.
The nodepool functional test is moved to a base template, and then
nodepool-functional-py35 explicitly builds and boots Xenial now
(trusty doesn't seem very useful).
The check_devstack_plugin.sh script runs after devstack, so needs to
source the stackrc file to pull in the variables about what images are
paused or not.
Additionally, the path for the script is fixed to nodepool so we can
run the job from other projects.
The redhat, ubuntu and suse legacy tests are re-implemented for their
respective builds.
This also highlighted that the opensuse test wasn't actually doing
anything. This actually adds the configuration to build opensuse-423.
Needed-By: https://review.openstack.org/543270
Needed-By: https://review.openstack.org/543328
Needed-By: https://review.openstack.org/543329
Needed-By: https://review.openstack.org/543330
Change-Id: I203d149a1d63ac8358e1c8b878d9c2bc0ba67c02
The legacy-dsvm-nodepool-*-src jobs use this script, but don't pass
the argument added by I203d149a1d63ac8358e1c8b878d9c2bc0ba67c02.
Default it while we migrate everything.
Change-Id: I30943a3242d80ab87f6a89ec7f2bcfd3d62ad64b
This updates the builder to store individual build logs in dedicated
files, one per build, named for the image and build id. Old logs are
automatically pruned. By default, they are stored in
/var/log/nodepool/builds, but this can be changed.
This removes the need to specially configure logging handler for the
image build logs.
Change-Id: Ia7415d2fbbb320f8eddc4e46c3a055414df5f997
This is a more sensible default for most people, and friendlier
to new users. Also, expand on the docs a bit.
Change-Id: I6f2c61ca423fba598c93fe5b26786dfa2711efb2
After daemonization, relative paths may be different, so resolve
all of the command line pathname arguments before then.
Change-Id: I2092c3f8e4595d8f874c769f41dacdf47554d681
Replace time.sleep with event.wait so that when the launcher is
stopped, it exits immediately.
The stop method of the main launcher process is altered to avoid
a race condition where it spawns a new poolworker while it is
shutting down.
Change-Id: Idbb6cc8f1e40ee2611cc73e27232f7db308a7230
docs is a recommended developer convenience environment for doing the
sphinx build locally. The zuul job runs the sphinx-build command. Update
the docs env to do the same thing.
Move the job definitions in-tree - and also remove tox-docs.
Change-Id: Id810b8de1794b11b236eaa04940acbb754dd4b52
Add a default logging configuration based on what was recently
added to Zuul. This will use sane defaults for system logging,
though it does not yet address image build logging.
Change-Id: Ie86fc6d6839e2eb199c27515346b57b2ebede703
Let's assume an allocated node is *going* to be used (maybe zuul
hasn't got around to locking it quickly enough). We don't want
to assign a node, then delete it out from underneath the requestor.
Change-Id: I092cffbfd347684f66d6e7cbd0f910d40858580b
Setting the node state automatically changes the state_time
attribute for us, so our age calculation is always at 0 when
we go to log how old the node is at delete time. Fix it so
that we set state *after* logging the age.
Change-Id: I6e0510405f43842529c733110378b96decb88a07
If a provider is going to pause due to insufficient quota, we attempt
to delete the oldest unused node (one that is READY and unlocked) to
guarantee that some quota will be freed.
To prevent us from issuing unnecessary delete requests, if we find a
node already being deleted within a recent timeframe (here, 5 minutes),
we do not issue another delete.
NOTE: This causes some assumptions in tests depending on the current
pause behavior (no proactive deletion) to no longer be valid, so steps
are taken in those tests to prevent the proactive delete from happening.
Change-Id: I8d94c60fe1ab184503592a02d6ca458f94a2ea3d
We've seen a handler continually decline a request because the
request went missing and we didn't handle that exception, so we
never set the handler to 'done'. This handles that exception,
and adds a safety mechanism to decline_request().
Change-Id: Ieb06846e0fe2aadfd9df0031e58b2df98bbfcc03
Extract same logics into one internal function, and call it
when get one node's values or iterate some nodes' value.
Change-Id: Idd536931a40f2369d3bfc4c623e94844c95f78a0