Commit Graph

43 Commits

Author SHA1 Message Date
Sagi Shnaidman 8c6db50589 Remove unnecessary code from toci_* scripts
Detect and remove unnecessary code from toci_* scripts
Simplify tripleo-upgrades roles installation with ZUUL_BRANCH

Change-Id: Ie230aa0640e41a33e10e6656b69e1db4a6819127
2018-06-25 14:56:07 +03:00
Sagi Shnaidman 49a6109cbd Fix TripleO CI jobs
Fix TripleO CI jobs to be compatible with Zuul v3

Change-Id: Ibf6e7290528d072443bf7fa0ad22938e861538c6
2017-10-09 11:45:53 +03:00
Jenkins e1b35eeb80 Merge "Remove all centos-release-* repos" 2017-06-04 18:24:57 +00:00
Emilien Macchi 5ee54ae448 Uninstall certifi/requests/urllib3 pip installation
requests-2.16.5 has added urllib3 package as dependency. Requests is
being installed using pip as dependency for git-review in DIB.

This parch removes urllib in node preparation for puppet jobs as it
will be installed as requirement for requests rpm package.

This patch should be a workaround until git-review is removed from
nodepool images.
See comments on https://review.openstack.org/#/c/468823.

Change-Id: Ia839cac125e2a749fc9ce40894e5900237ec3ae1
2017-05-29 17:28:30 +02:00
Sagi Shnaidman 7548af6a7c Fix CI python-urllib3 install failure
Fix CI failure of python urllib3 installation

Change-Id: Ibee99c44d950c8cf5b15e0e02e7a23727433bb46
2017-05-29 02:54:03 +03:00
Ben Nemec ca5f796c8c Remove all centos-release-* repos
We shouldn't be using packages from any of these, and they can cause
package conflicts with the delorean repos we do want to use.

For some reason centos-release-* also matches the base centos-release
package, so we need to explicitly match only packages where the
following characters are a-z.

Change-Id: I928a0efc9d75e584889967e262155e576452632d
Closes-Bug: 1685814
2017-05-23 11:31:56 +00:00
Jenkins 77c1852d7f Merge "Don't upload status from multinode to rh1" 2017-05-16 11:22:47 +00:00
Sagi Shnaidman 77a2c7e091 Don't upload status from multinode to rh1
rh1 cloud anyway doesn't accept uplaoding from other cloud nodes,
so removing this redundant part.

Change-Id: I85ebcbd5a67883a34b1b56e5f0fe267371b39e2a
2017-05-15 21:25:11 +03:00
James Slagle d903b19942 Guard adding bridge interface with $STABLE_RELEASE
Adding the dummy interface for the br-ctlplane bridge is only needed for
the mitaka branch where the net_config_override feature is not present.
Adding the guard and also a check if the interface has already been
previously added in case running locally.

Change-Id: I88e40470c1490745a4b69870c94f0a5f31dd89cb
2017-05-15 09:46:12 -04:00
James Slagle fa75d56177 Stop dstat at the end of a job
We should stop the dstat process that was previously started in
toci_gate_test.sh, so that processes aren't left running from tripleo-ci
jobs.

Change-Id: I200fe5f99d371fdde3b20518ffd10197680d46dd
2017-05-15 09:46:12 -04:00
James Slagle e9d3995097 Add support for $DO_BOOTSTRAP_SUBNODES
Add a new environment variable $DO_BOOTSTRAP_SUBNODES that can be used
to control whether or not the subnodes are bootstrapped. It defaults to
1, and can be set to 0 to stop the bootstrap from running. This can save
a lot of time when iteratively running locally and the subnodes have
already been bootstrapped.

Change-Id: I4b21d6d30ab9d7babd3810ab558ec43378ad808e
2017-05-15 09:46:12 -04:00
James Slagle bb430f3011 Support running toci_gate_test-oooq.sh locally
These are various improvements to tripleo-ci (squashed into a single
commit to save CI resources) that enable running the tripleo-ci entry
point script which is now toci_gate_test-oooq.sh locally in a standalone
environment of vm's not spawned by nodepool.

This is useful to developers trying to reproduce CI locally for
development and testing.

The changes are:
- Default $REMAINING_TIME in common_vars.bash
- Don't hardcode the jenkins user everywhere
- Improved initial package handling:
    Before blindly yum installing the packages needed by these scripts in a
    few spots, check if the packages are already installed with just the rpm
    command. This can end up saving a decent amount of time when iterating
    on running these scripts locally. Also installs wget.
- Reinstall python-requests
    When locally running toci_gate_test.sh, python-requests needs to be
    reinstalled since toci_gate_test.sh removes the python module as it
    was pip installed on the infra provided image. Also updates the
    logic to handle the python-requests -> python2-requests transition.

Change-Id: I48cd1e5f53b86455992b83248d57f5338c29a7ca
2017-05-10 21:38:45 +00:00
Emilien Macchi 431c0ab754 Remove centos-release-ceph-* package provided by nodepool
We don't want centos-release-ceph-* package because we already manage
Ceph repos ourselves.

Depends-On: I683e84f60c7d9c3a7f26d34606b2fa221386bac9
Change-Id: I571f4cd5a322d034ec1b5aa0e3953c950a0619ae
2017-04-26 18:51:32 -04:00
Alfredo Moralejo 16b35e0950 Remove centos-release-openstack-* in nodes preparation
Currently, tripleo-ci scrips clean up repos removing rdo-release
rpm, but https://review.openstack.org/#/c/453325 moved base image to
use centos openstack release rpm instead of rdo-release.

This patch removes all centos-release-openstack packages in addition
to rdo-release. Note that yum returns 0 even if no matching packages
are found so this should be ok.

Change-Id: I825038eeb134590fe9bb68697a193e5c6626f991
Closes-Bug: #1685418
2017-04-24 20:36:36 +02:00
Juan Antonio Osorio Robles 2af4c1271c Remove installation of moreutils and replace ts
epel is no longer available.

Change-Id: If6affd68edafec683db0be2f5695455e907ad311
Closes-Bug: 1682488
2017-04-13 22:01:52 +00:00
Sagi Shnaidman f61c5e51d8 Set REMAINING_TIME for local run
When running CI scripts locally it fails because REMAINING_TIME is
propagated by infra before the job starts. This patch sets it to
some default value if it wasn't set before.

Change-Id: I0050046db17e50ddd17a7115e46c4684afa87b2f
2017-04-02 17:23:33 +03:00
Sagi Shnaidman 5a58c9a231 Stop deployment before jobs end
Stop deployment if it exceeds maximum timeout so that logs
could be collected.

Change-Id: Ia4e1ef2a10987b06406b343353066ea9d76f8e28
Related-Bug: #1649742
2017-03-27 20:58:48 +03:00
Steven Hardy b686e2221f Disable delorean-ci earlier for multinode upgrades
We do this too late so the subnode is still bootstrapped
with delorean-ci enabled

Change-Id: I06adc5438ee67df88e0f4e5bcc16723ec6e052e1
2017-03-07 08:18:12 +00:00
Emilien Macchi cf5e1d2f6c ovb/multinode: cleanup rdo-release/puppet packages
OpenStack Infra provides images with rdo-release and puppet packages,
which is something we don't want in TripleO CI because we already have
our own packages from local mirror, depending of the version of
OpenStack that we want to test.

This patch makes consistent the cleanup on both OVB & multinode jobs to
remove puppet & rdo-release packages.

Closes-Bug: #1670015
Change-Id: I5f6b6be6f07dfd7d27189547db9daf1594db8c85
2017-03-04 13:12:00 -05:00
Sagi Shnaidman 4efcd5923b Add option for scenarios jobs promotion
Add support for promote repositories with scenario jobs
but don't enable it.

Change-Id: I9efb59f9d5d1aa81765c4b31630bb93b57944113
2017-02-28 10:59:40 +02:00
Ben Nemec 905eac0eee Make graphite metrics more granular
Right now, most metrics are recorded the same regardless of branch,
and some ignore the job type as well.  Since many of the metrics
can vary significantly depending on those details (mitaka jobs take
far less time than master, for example), let's separate out the
metrics more.

This change adds a .release.jobtype specifier to most of the
metrics.  The notable exception is the testenv wait time because
that is not release-specific.  Also, the image metrics do not
actually need to be split based on job type since they don't vary,
but for consistency with the other overcloud metrics I did anyway.

With this change we do not lose the ability to look at broader
aggregate numbers either.  We can still combine these newly
separated metrics back together in the Graphite UI.

Change-Id: I1df58f3a0c44708728e6ea1d705a6e8bf49ef330
2017-02-06 19:02:02 +00:00
Mathieu Bultel 2912afb90f Implement major upgrade for Newton to Ocata
Implement the major upgrade from Newton to Ocata based on multinode.
Currently we will start with the very basic use case, just few services
in the controller.

Co-Authored-By: Steven Hardy <shardy@redhat.com>
Co-Authored-By: James Slagle <jslagle@redhat.com>
Depends-On: I45991b60a151abf3c5e4d05a3aa7246b2d25ac5a
Change-Id: Id2e0d7bbb76734e84dac6a192c213ea246ec6e6a
2017-01-13 11:46:52 +00:00
Steven Hardy 50ec3d33d6 Correct tripleo.sh --multinode-setup syntax
The interface referenced should be --multinode-setup, and although
this appears to work, it's confusing when you grep for the actual
command and don't find it so would be good to fix

Change-Id: I2d709d8fa2d7aa0057b34b4dc38318091f68a4e4
2017-01-05 22:34:50 +00:00
Gabriele Cerami d9c8dcd7c5 updates: enable ssl
Change-Id: I3dd83c39f101c2bee9a15f9897ef32840961a1cc
2016-12-22 18:20:11 +01:00
Sagi Shnaidman fed7c2ec0b Stop using documentation network range
Stop using 192.0.2.0 network range and move it to 192.168.24.0

Change-Id: I73e657d9612ca843dd9e9980b0996658195c2dd7
2016-11-16 13:51:11 +02:00
James Slagle d3d6f99918 Undercloud upgrade for mitaka and newton
Now that instack-undercloud has branched for newton, we should be testing
upgrades from mitaka to newton for patches proposed against the newton branch
of instack-undercloud.

For patches proposed against the master branch, we should be testing upgrades
from newton to master.

Closes-Bug: #1624448
Change-Id: I73f172a9427c3ac4cdd85c31b64db90be09cb76a
2016-11-01 13:16:21 +00:00
Jenkins 0c52118233 Merge "Re-enable temprevert/cherry-pick/pin functionality" 2016-09-22 02:08:05 +00:00
Jenkins 3cfb5c442b Merge "Don't send metrics to graphite in failed jobs" 2016-09-20 17:57:33 +00:00
Ben Nemec cdc73c8585 Re-enable temprevert/cherry-pick/pin functionality
When we do tempreverts now, we need to ensure we signal to delorean
that it needs to rebuild the affected package.

Change-Id: I3e36398091357fadc6ff0f4e1eef5d673d3041f1
2016-09-15 18:55:05 +00:00
Juan Antonio Osorio Robles 72285f5503 Also set Haproxy addresses in no_proxy
When we deploy with SSL we do so via haproxy. So just as we do for
the undercloud services IP, we need to add that one to the no_proxy
list.

Change-Id: If158033663878e621c8683c7754b87c227550c75
2016-09-15 11:57:23 +03:00
Ben Nemec a81af90c93 Don't send metrics to graphite in failed jobs
The metrics from a failed job are likely bogus anyway and just
create noise in the Graphite data.  Let's only store the runtimes
from successful jobs.

Because we do some funny business in the trap, we need to first
store the previous exit value and pass it along to postci.
Otherwise by the time we get to postci the exit value we care
about is long gone.

Change-Id: I55db493ce5a1cdc38185d1f805adf4e89e5cbb9c
2016-09-06 20:44:56 +00:00
Martin André 16e1c543f5 Fix scp command with IPv6 addresses
They should be enclosed in brackets otherwise the first column they
contain is interpreted as separator between address and path.

See the bug in action at [1].

[1] http://logs.openstack.org/39/329039/20/gate/gate-tripleo-ci-centos-7-nonha-multinode/8a5db67/console.html#_2016-08-31_07_43_55_756511

Change-Id: Ib023b2396d54772f15e4facc9b3b5f9c775c0087
2016-09-01 10:28:49 +02:00
James Slagle faa9e066c0 Fix resetting /etc/hosts
The resetting of /etc/hosts was not working as expected (quoting issue).
This corrects the issue.

Change-Id: Ib5f5b3f98f7ab0f9137d73232fcd3ff7e9ed3528
2016-08-10 12:05:26 -04:00
James Slagle d8b33a7f42 Don't assume an eth1
Not all cloud providers (osic and ovh in particular) spawn instances
with an eth0 and eth1, so don't assume an eth1 exists when finding it's
ip address to add to $no_proxy.

This recently started failing when we merged:
I2b84b3dfae60bbe7d6a76259b1d718b7dda08739

which added set -o pipefail to toci_instack_osinfra.sh and passed CI
when it ran on a different provider (rax).

Change-Id: I601a5e09eafbc1f03d7913ca6ffc060e3d774a44
Closes-Bug: #1609357
2016-08-03 07:34:36 -04:00
Jenkins 286d7f9de1 Merge "Break out bootstrapping of subnodes setup" 2016-08-02 21:44:57 +00:00
Steven Hardy 242cfb9d97 Use delorean-current for puppet modules
Currently we always build from source, but the latest master is now
available via delorean-current since o-p-m was broken into per-module
packages.

This should reduce the time taken to install everything from source,
and also provide a better path wnen upgrading as a simple
openstack undercloud install or yum update will update to the latest
puppet modules (currently failures happen if you forget to run via
tripleo.sh because the puppet modules aren't upgraded but things
that depend on the puppet modules are).

Also disable usage of the overcloud image cache as I have no idea what
will happen if we mix an image with puppet modules deployed from source
with ci scripts trying to install packaged modules.

Change-Id: Ie4cae6b884b2e539545371b9f716903b8fe5cf1f
Closes-Bug: #1597438
2016-08-01 16:31:27 +03:00
Jenkins 26759df4ed Merge "Stop running dstat twice" 2016-07-29 08:40:46 +00:00
James Slagle 168aee35a2 Break out bootstrapping of subnodes setup
The boostrap-overcloud-full.sh script is broken out into its own
function in tripleo.sh as it is often useful to run just the networking
part of the multinode setup separate from the subnode bootstrapping.

The script also creates a lot of output, and has to be run for each
subnode.  This change redirects all that output to a logfile so it is
not as verbose in the jenkins console. Since a pipe is used to redirect
to a logfile, toci_instack_osinfra.sh now also enables the pipefail
option.

Change-Id: I2b84b3dfae60bbe7d6a76259b1d718b7dda08739
2016-07-28 16:47:14 -04:00
Jenkins 14c9f50493 Merge "Use scp to copy deploy.env to subnodes" 2016-07-27 15:58:29 +00:00
Derek Higgins ed3472bf21 Stop running dstat twice
This got coppied from toci_instack.sh, which ran on the undercloud
which was a seperate node to the ci slave, that is no longer the case
stop starting dstat twice on the ci slave.

Change-Id: I6e8ff2c3ea5e0b3b39f9a1023942ec0ab39e3099
2016-07-27 16:55:58 +01:00
James Slagle 618a6316ad Temporary fix for nodejs/libuv conflict
Temporarily remove epel-release, and don't enable epel via tripleo.sh.
Also remove nodejs and nodejs-devel. This is a quick fix for:
https://bugs.launchpad.net/tripleo/+bug/1606685

We have a CI dependency on EPEL too with moreutils, so that needs
to be installed before we remove epel.  Since everything is running
on the Jenkins slave that should be okay for now.

The proper fix will be to remove epel more completely going forward:
https://review.openstack.org/347499
https://review.openstack.org/347513

Co-Authored-By: Ben Nemec <bnemec@redhat.com>
Change-Id: I91eff35586547dd278e8a32668f06efb840fc8c6
Partial-Bug: #1606685
2016-07-26 19:37:29 -04:00
James Slagle 4aafbb1ddf Use scp to copy deploy.env to subnodes
The previous ssh command was not creating deploy.env properly due to
misquoting, causing all DIB* related variables to not be set during the
bootstrap-overcloud-full.sh script. Just use scp instead.

Change-Id: I1951704a7184b7662d7a60c7ae4c8fa8eac0b3f6
Closes-Bug: #1605596
2016-07-26 08:56:39 -04:00
Emilien Macchi 7b1681bee4 Allow toci_instack_multinode.sh to run single node
Rename toci_instack_multinode.sh to toci_instack_osinfra.sh and
edit the script to run multi-node actions only on nodes that contains
something in /etc/nodepool/sub_nodes.

Change-Id: I096b815f244360484a9df0f6f30f6af77a306159
2016-07-22 16:44:08 -04:00