ci-management.git
3 years agoAdd ubuntu18.04-arm64 to packer builds 98/3798/1
Eric Ball [Thu, 15 Oct 2020 20:48:21 +0000 (13:48 -0700)]
Add ubuntu18.04-arm64 to packer builds

Issue: LF-Jira RELENG-3240
Change-Id: Icf980d0269d1f521c0631145aa1a56ee341b0959
Signed-off-by: Eric Ball <eball@linuxfoundation.org>
3 years agoUpdate global-jjb to 0.57.4,common-packer to 0.7.0 97/3797/1
Eric Ball [Thu, 15 Oct 2020 20:46:16 +0000 (13:46 -0700)]
Update global-jjb to 0.57.4,common-packer to 0.7.0

Change-Id: Icfe153e0ed559007827788dbebd6512c1a6799bd
Signed-off-by: Eric Ball <eball@linuxfoundation.org>
3 years agoUse kni-cloud node for cloud jobs 94/3794/1
James E. Blair [Wed, 14 Oct 2020 16:33:53 +0000 (09:33 -0700)]
Use kni-cloud node for cloud jobs

And kni-baremetal for baremetal jobs.  The two long-lived jenkins
nodes prd-kni-baremetal-1 and -2 are different; one has cloud
credentials, the other is for bare metal deployments.  Use the
more specific kni-cloud and kni-baremetal labels (already present
on the nodes) to select them for the appropriate jobs.

Signed-off-by: James E. Blair <jeblair@redhat.com>
Change-Id: I20c9601934e8e9b5bdb89c56ef168985891c4fdd

3 years agoRemove KNI job that is no longer needed 93/3793/1
Ricardo Noriega [Tue, 13 Oct 2020 10:22:40 +0000 (12:22 +0200)]
Remove KNI job that is no longer needed

Signed-off-by: Ricardo Noriega <rnoriega@redhat.com>
Change-Id: Ib9d6e92d8df11c3b3fc02b4a382b770db3029658

3 years agoChange labels for new Jenkins slaves 79/3779/2
Ricardo Noriega [Thu, 1 Oct 2020 11:31:26 +0000 (13:31 +0200)]
Change labels for new Jenkins slaves

Signed-off-by: Ricardo Noriega <rnoriega@redhat.com>
Change-Id: I2412be59f6150c481fa987d0bfc745b00a1c1868

3 years agoUpdate global-jjb to the latest v0.57.3 05/3705/3
Anil Belur [Thu, 10 Sep 2020 04:36:09 +0000 (14:36 +1000)]
Update global-jjb to the latest v0.57.3

Update defaults with the required inputs for the openstack-cron
job email notifications.

Change-Id: Ic9c3dc0272abdc4d817fc32bf4da45a7979ae966
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
3 years agoRemove unused cloud builder configs & packer jobs 64/3664/1
Eric Ball [Thu, 6 Aug 2020 21:10:52 +0000 (14:10 -0700)]
Remove unused cloud builder configs & packer jobs

Since these are not being used anywhere in ci-management, they no
longer need to be maintained. This will simplify maintenance, and the
builders can always be re-added if they become necessary again.

Change-Id: I04a0dffc2672eb84958b6279081b858d4f2f8cf5
Signed-off-by: Eric Ball <eball@linuxfoundation.org>
3 years agoFix instance volume to a size that works 63/3663/1
Andrew Grimberg [Wed, 5 Aug 2020 23:50:18 +0000 (16:50 -0700)]
Fix instance volume to a size that works

Change-Id: I41093f9d84db3a9d95becf7a9d73cb2baad40ab5
Signed-off-by: Andrew Grimberg <agrimberg@linuxfoundation.org>
3 years agoUpdate cloud images to use a volume and v2 flavors 62/3662/1
Andrew Grimberg [Wed, 5 Aug 2020 23:19:39 +0000 (16:19 -0700)]
Update cloud images to use a volume and v2 flavors

Change-Id: Ife2ba1f36406a39a9c60d4a13ffed125d13825c7
Signed-off-by: Andrew Grimberg <agrimberg@linuxfoundation.org>
3 years agoClone missing iec repo if not found 24/3624/2
Ciprian Barbu [Thu, 16 Jul 2020 06:20:15 +0000 (09:20 +0300)]
Clone missing iec repo if not found

Make sure iec repo is present for rec clusters.

At the same time, make sure K8S_MASTER_IP is exported in the ssh session
shell when running the install script

Signed-off-by: Ciprian Barbu <ciprian.barbu@enea.com>
Change-Id: I962359fc954198912faf589bee20c6f528b4875d

3 years agoFix KNI CI jobs 08/3608/2
Ricardo Noriega [Thu, 2 Jul 2020 10:53:44 +0000 (12:53 +0200)]
Fix KNI CI jobs

Currently the repo is pointing to github, not gerrit
so refs are not working.

Signed-off-by: Ricardo Noriega <rnoriega@redhat.com>
Change-Id: Iedf209eb326bd643e9ebe4b3b57448ac683b92e7

3 years agoMerge "iec: fuel: Map new UNH baremetal POD to IEC xDFs"
Eric Ball [Wed, 24 Jun 2020 20:46:45 +0000 (20:46 +0000)]
Merge "iec: fuel: Map new UNH baremetal POD to IEC xDFs"

3 years agoiec, rec: Abstract out common seba_on_arm usecase 81/3581/9
Alexandru Avadanii [Wed, 17 Jun 2020 12:52:01 +0000 (14:52 +0200)]
iec, rec: Abstract out common seba_on_arm usecase

- move seba_on_arm IEC usecase to its own macros/templates files;
- enable seba_on_arm install/test jobs for REC deployments running
  on aarch64 baremetal nodes;
- replace dashes with underscores in jjb variables that need to be
  handled by the jinja2 parser, since jinja2 does not allow dashes
  in variable names;

While at it, add vim temporary files ('*.sw?') to .gitignore.

Change-Id: I62ae4ebfd4955fb484876e3a63c8f02a77e90b38
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
3 years agoiec: fuel: Map new UNH baremetal POD to IEC xDFs 87/3587/1
Alexandru Avadanii [Thu, 18 Jun 2020 16:30:46 +0000 (18:30 +0200)]
iec: fuel: Map new UNH baremetal POD to IEC xDFs

Change-Id: Ibdb345e3eb9fc12be4782414c7f5fa51c333f0d4
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
3 years agoGracefully stop the remote-installer container 65/3565/3
Alexandru Antone [Thu, 11 Jun 2020 13:52:48 +0000 (16:52 +0300)]
Gracefully stop the remote-installer container

Force killing the container with 'rm -f' bypasses the SIGTERM handler
defined in the container's entry point shell script which would
gracefully stop the nfs-server before exiting.

This leaves TCP port 2049 bound on some hosts and subsequent runs of
the remote-installer will fail to properly start NFS shares.

Signed-off-by: Alexandru Antone <Alexandru.Antone@enea.com>
Change-Id: I56d77ffabdb901504193c5e5d6b7d0f73d52488d

3 years agovalidation: Enable validation for REC in UNH lab 55/3555/2
Alexandru Avadanii [Tue, 9 Jun 2020 12:25:45 +0000 (14:25 +0200)]
validation: Enable validation for REC in UNH lab

Add new jobs for running the validation jobs on the REC POD in UNH
lab, similar to running validation jobs on the IEC PODs in Enea lab.

The new job(s) will upload the logs to nexus.akraino.org in the
'unh' lab silo.

Change-Id: I99fcc4854ead367fad8d203eb448908b229d6781
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
3 years agoMerge "validation:Fix jobs cleanup issue with permissions"
Eric Ball [Tue, 26 May 2020 20:51:10 +0000 (20:51 +0000)]
Merge "validation:Fix jobs cleanup issue with permissions"

3 years agovalidation:Fix jobs cleanup issue with permissions 86/3486/3
DANIEL STOICA [Tue, 19 May 2020 09:05:39 +0000 (12:05 +0300)]
validation:Fix jobs cleanup issue with permissions

Change the owner for the kube directory, because might be
owned by root, causing permission issues when Jenkins tries to
perform the workspace cleanup

Signed-off-by: DANIEL STOICA <daniel.stoica@enea.com>
Change-Id: I6fedecb633ab8ce78b03a9d8b9bec8ce9926bfcb

3 years agoRevert "Add signing to Akraino deploy templates" 85/3485/1
Eric Ball [Mon, 18 May 2020 23:05:47 +0000 (16:05 -0700)]
Revert "Add signing to Akraino deploy templates"

This reverts commit 0904fdd5e0e3b113ee90e77c646a7f156d878762.
We are seeing issues with signing very large objects (specifically,
the ISOs being pushed by TA). Until we find a solution for this,
the change needs to be reverted so that it does not cause any further
interruption to normal work.

Change-Id: Ib79b2bbc9aaca92eaf60a2a836bba5e84487ba89
Signed-off-by: Eric Ball <eball@linuxfoundation.org>
3 years agoMerge "update 5g-mec-cloud-gaming jobs to Jenkins"
Eric Ball [Mon, 18 May 2020 23:04:11 +0000 (23:04 +0000)]
Merge "update 5g-mec-cloud-gaming jobs to Jenkins"

3 years agoAdd S3_BUCKET environment variable 84/3484/3
Houa Yang [Mon, 18 May 2020 21:55:01 +0000 (16:55 -0500)]
Add S3_BUCKET environment variable

Add S3_BUCKET variable to address "unrecognized macro" error.
Although the job passes, the error is confusing and unsightly.
The S3_BUCKET environment variable is needed for log shipping to s3.

Signed-off-by: Houa Yang <hyang@contractor.linuxfoundation.org>
Change-Id: I90af7149ab9f9e3e69491f8b37add6cfef54a826

3 years agoupdate 5g-mec-cloud-gaming jobs to Jenkins 36/3436/7
feng [Wed, 13 May 2020 16:25:25 +0000 (00:25 +0800)]
update 5g-mec-cloud-gaming jobs to Jenkins

Change-Id: Ibb074147debc66f4182cf0f74a51e3db644ae90a

3 years agoupdate 5g-mec-cloud-gaming jobs 11/3411/2
feng [Mon, 11 May 2020 01:16:24 +0000 (09:16 +0800)]
update 5g-mec-cloud-gaming jobs

Change-Id: I88bde4a3492c4de9ab99e71cbe0d031247a8c651

3 years agoMerge "Add signing to Akraino deploy templates"
Eric Ball [Fri, 8 May 2020 21:10:09 +0000 (21:10 +0000)]
Merge "Add signing to Akraino deploy templates"

3 years agovalidation:Fix jobs cleanup issue with permissions 07/3407/2
DANIEL STOICA [Fri, 8 May 2020 13:10:00 +0000 (16:10 +0300)]
validation:Fix jobs cleanup issue with permissions

Transfer only the ~/.kube/config file for k8s tests, since the rest
of contents of the "~/.kube/" directory (e.g. http-cache) might be
owned by root, causing permission issues when Jenkins tries to
perform the workspace cleanup. Since only the config file is actually
needed for running the k8s tests, skip other files/directories in
"~/.kube/"

Signed-off-by: DANIEL STOICA <daniel.stoica@enea.com>
Change-Id: Ic3d6823bd45069e66eb085a8c09383461f517d12

3 years agoMerge "Support password-based ssh auth"
Eric Ball [Wed, 6 May 2020 22:44:16 +0000 (22:44 +0000)]
Merge "Support password-based ssh auth"

3 years agoSupport password-based ssh auth 96/3396/7
DANIEL STOICA [Wed, 29 Apr 2020 11:39:15 +0000 (14:39 +0300)]
Support password-based ssh auth

Add ssh password to the run_bluval.sh script command

JIRA: VAL-106

Signed-off-by: DANIEL STOICA <daniel.stoica@enea.com>
Depends-On: I04145b32621dae49485cb8640d80932345957826
Change-Id: I0f2974cd21d59e5b6ad85be37a0e71d064ec70ab

3 years agoMerge "iec: Add robot parsing for SEBA tests"
Eric Ball [Mon, 4 May 2020 22:21:46 +0000 (22:21 +0000)]
Merge "iec: Add robot parsing for SEBA tests"

3 years agoMerge "Automation adds pcei.yaml"
Eric Ball [Mon, 4 May 2020 21:28:54 +0000 (21:28 +0000)]
Merge "Automation adds pcei.yaml"

3 years agoUpdate authentication URI endpoint 99/3399/1
Eric Ball [Mon, 4 May 2020 21:13:17 +0000 (14:13 -0700)]
Update authentication URI endpoint

Change at the hosting provider seems to have caused a problem with the
authentication URI. Removing the trailing '/' fixes the problem.

Change-Id: I7078d528672fb65cc1b68e735cdf25cc11c8e88b
Signed-off-by: Eric Ball <eball@linuxfoundation.org>
3 years agoAutomation adds pcei.yaml 28/3328/2
LF Jenkins CI [Mon, 4 May 2020 19:08:57 +0000 (19:08 +0000)]
Automation adds pcei.yaml

Change-Id: I34ca6643323313df6087de9177d3caae8c1eb6c2
Signed-off-by: lf-jobbuilder <releng+lf-jobbuilder@linuxfoundation.org>
3 years agoAdd signing to Akraino deploy templates 93/3393/3
Eric Ball [Wed, 29 Apr 2020 01:17:53 +0000 (18:17 -0700)]
Add signing to Akraino deploy templates

Since Akraino projects do not follow standard release procedures, we
will simply sign the artifacts before pushing them to Nexus, just to
provide signatures showing that all artifacts come from LF infra.

Change-Id: Ia3478900acd02d419fe49c25b1902b1a3459f73d
Issue-ID: LF-Jira RELENG-2819
Signed-off-by: Eric Ball <eball@linuxfoundation.org>
3 years agoAutomation adds 5g-mec-cloud-gaming.yaml 25/3325/2
LF Jenkins CI [Wed, 29 Apr 2020 20:28:52 +0000 (20:28 +0000)]
Automation adds 5g-mec-cloud-gaming.yaml

Change-Id: I287f0d3682819fe7867bfdff22941eea7d00dc32
Signed-off-by: lf-jobbuilder <releng+lf-jobbuilder@linuxfoundation.org>
3 years agoiec: Add robot parsing for SEBA tests 89/3389/1
Alexandru Avadanii [Mon, 27 Apr 2020 10:37:43 +0000 (12:37 +0200)]
iec: Add robot parsing for SEBA tests

Leverage the Jenkins Robot publisher for parsing the SEBA-in-a-box
test results.

While at it, disable the IEC destroy phase for baremetal deployments,
since aarch64 baremetal PODs are not shared by multiple installers the
same way virtual PODs are, hence there's no need for the in-between jobs
cleanup.

Change-Id: I264a5e4a917ca7e97c48dec18864e48e3637ab8e
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
3 years agoAdded ealt-edge repo verify job 88/3388/1
Srinivasan Selvam [Mon, 27 Apr 2020 07:51:52 +0000 (13:21 +0530)]
Added ealt-edge repo verify job

Signed-off-by: Srinivasan Selvam <srinivasan.s.n@huawei.com>
Change-Id: Iaaabeaa5cb1ba4213d24a84a55e5b5fb6e9bc25f

3 years agoMerge "Remove libvirt provider jobs"
Eric Ball [Fri, 24 Apr 2020 23:40:24 +0000 (23:40 +0000)]
Merge "Remove libvirt provider jobs"

3 years agovalidation: iec: Pull docker images before run 83/3383/1
Alexandru Avadanii [Wed, 22 Apr 2020 13:56:31 +0000 (15:56 +0200)]
validation: iec: Pull docker images before run

Add a new 'PULL' job paramater for validation-<lab>-* jobs, as well
as 'bluval-*' jobs; set it to 'false' by default and 'true' for IEC
validation jobs since most IEC jobs run on static Jenkins slaves where
the validation docker images might already be present from previous
runs.

JIRA: VAL-107

Depends-on: Id4b7947a0de7abf07f69812c6deef71919b9041a

Change-Id: Ic2f690d6627f6ae284a27727f3c98fe03960cbda
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
3 years agoMerge "iec: view: Stop filtering out the sonar job"
Eric Ball [Tue, 21 Apr 2020 21:26:23 +0000 (21:26 +0000)]
Merge "iec: view: Stop filtering out the sonar job"

3 years agobluval: Extend job description with BP, lab, layer 77/3377/1
Alexandru Avadanii [Tue, 21 Apr 2020 16:28:42 +0000 (18:28 +0200)]
bluval: Extend job description with BP, lab, layer

bluval jobs are shared across different blueprints, labs and layers,
so display some useful information in the job history overview pane.

Change-Id: I38e7c700774765066524a99da1e5786c5fec1b58
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
3 years agoiec: view: Stop filtering out the sonar job 76/3376/1
Alexandru Avadanii [Tue, 21 Apr 2020 14:09:16 +0000 (16:09 +0200)]
iec: view: Stop filtering out the sonar job

The 'iec-sonar' job should be displayed under the IEC Jenkins view,
similar to 'iec-tox-verify-master'.

Change-Id: Icfcc0f516f638c59713601fa77e8088178980875
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
3 years agovalidation: Use blucon.sh if python3 not available 73/3373/2
Alexandru Avadanii [Sat, 18 Apr 2020 18:42:56 +0000 (20:42 +0200)]
validation: Use blucon.sh if python3 not available

The Validation project supports running the test suites using nothing
more than Docker as a prerequisite (i.e. if no python3 is available),
so leverage `blucon.sh` now that it supports overriding the validation
git repository path and results dir path.

For most slaves, the new method is merely a fail-safe, since they
already have python3.

JIRA: VAL-95

Depends-on: I4d3c10881de28c64bcca05ff23aa1025f67a1f5e

Change-Id: I08e89300637862e40344131532ec40efd5f68501
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
3 years agovalidation: bluval: Use own repo logparser rules 69/3369/2
Alexandru Avadanii [Fri, 17 Apr 2020 15:59:35 +0000 (17:59 +0200)]
validation: bluval: Use own repo logparser rules

Instead of creating the logparser rules.txt file on the fly, rely on
the project's git repository providing it.

While at it, add and configure the 'robot' publisher in order to enable
Jenkins dashboard integration and display some nice summaries directly
in the 'blueval' view (using the 'Robot Results + Duration Trend'
column), as well as on the job's overview webpage.

JIRA: VAL-104

Depends-on: I1506d84a44926e80913562f67f24885a98f94df7

Change-Id: I971ae6f8949caac8debc1aee0f35e0b35b8f65e6
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
4 years agoMerge "iec-sonar: Disable git submodule cloning"
Eric Ball [Thu, 16 Apr 2020 19:01:42 +0000 (19:01 +0000)]
Merge "iec-sonar: Disable git submodule cloning"

4 years agoMerge "iec: seba_on_arm: fail job on error"
Eric Ball [Thu, 16 Apr 2020 18:59:54 +0000 (18:59 +0000)]
Merge "iec: seba_on_arm: fail job on error"

4 years agoiec-sonar: Disable git submodule cloning 66/3366/1
Alexandru Avadanii [Thu, 16 Apr 2020 14:37:27 +0000 (16:37 +0200)]
iec-sonar: Disable git submodule cloning

SonarQube should be limited to scanning the IEC repository contents
and not its (massive) collection of git submodules which include various
upstream components (including the full K8s source code, among other
large code bases).

Although we apply some inclusion/exclusion filtering as part of
SonarQube configuration, it seems that the large collection of git
submodules interferes with log collection and upload; hence disable
cloning git submodules before running SonarQube.
This is an attempt at fixing the ever-hanging iec-sonar job in CI.

Change-Id: If6b9b205d8f1924ca8180787a92415494461d5b7
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
4 years agoiec: seba_on_arm: fail job on error 64/3364/1
Alexandru Avadanii [Thu, 16 Apr 2020 12:52:40 +0000 (14:52 +0200)]
iec: seba_on_arm: fail job on error

Previously, seba_on_arm install/test jobs used to always return a zero
exit code, marking the job successful even when it failed.
Add `set -e` so the job is marked as failed when errors occur.

Change-Id: Id67ac0695255e475f1e6147266ac7051d3567913
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
4 years agovalidation: Only run tagged docker build once 60/3360/2
Alexandru Avadanii [Wed, 15 Apr 2020 19:11:34 +0000 (21:11 +0200)]
validation: Only run tagged docker build once

Previously, we used to manually change the release tag for the Docker
container image(s) built for the validation project, let the build run
once, then create another change that disabled the job to prevent
further (useless) rebuilds happening each night.

Instead of triggering the docker build job for the release (tag) using
cron, switch to triggering the job based on gerrit merge events
affecting the ci-management repository and only if the said merge event
affects the 'validation-docker.yaml' configuration file (the one where
the release tag is defined/updated).

Change-Id: Ia4493b558ee7d1319c42a04690aa1c7580eb3731
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
4 years agovalidation: Release tag 3.0.0 59/3359/4
Alexandru Avadanii [Wed, 15 Apr 2020 16:16:07 +0000 (18:16 +0200)]
validation: Release tag 3.0.0

Add jobs that build docker container images based on [1] and tag them
accordingly.

[1] https://gerrit.akraino.org/r/gitweb?p=validation.git;h=refs/tags/3.0.0

Change-Id: Idc98e28dcb2cc99ffba5c7dafbcd86dfc761a874
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
4 years agoMerge "iec: Stop upstream job if IEC installation fails"
Eric Ball [Wed, 15 Apr 2020 18:17:19 +0000 (18:17 +0000)]
Merge "iec: Stop upstream job if IEC installation fails"

4 years agoMerge "validation, iec: Rework common parameters list"
Eric Ball [Wed, 15 Apr 2020 18:16:07 +0000 (18:16 +0000)]
Merge "validation, iec: Rework common parameters list"

4 years agovalidation, iec: Rework common parameters list 58/3358/1
Alexandru Avadanii [Wed, 15 Apr 2020 14:35:40 +0000 (16:35 +0200)]
validation, iec: Rework common parameters list

Instead of abusing yaml anchors, use jjb inheritance of parameter
lists.

While at it, fix IEC Compass default value of private key, which
should be empty (Compass uses user/pass auth).

Change-Id: I5528b6ce4dcf648ec416194bfcbb88bddc1c8c39
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
4 years agoiec: Stop upstream job if IEC installation fails 57/3357/1
Alexandru Avadanii [Wed, 15 Apr 2020 13:35:29 +0000 (15:35 +0200)]
iec: Stop upstream job if IEC installation fails

Previously, we were using a single `trigger-builds` builder, which as
a consequence led to running all downstream projects even if the first
one (installing the IEC platform) failed.

Switch to using 2 different `trigger-builds` builders so:
- if IEC installation fails, no other downstream jobs are executed and
  the upstream (parent) job is marked as failed;
- if any other downstream job (except SEBA install/test jobs) fails,
  the upstream (parent) job is marked as failed/unstable, but all other
  downstream jobs are still executed (so we can still install/test SEBA
  and destroy the IEC installation at the end even if the 'validation'
  job failed);

Change-Id: I946c5bc9f2cc35afcbeb64d954beb10f3281fc11
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
4 years agoFix SCM macro usage of refspec, branches 56/3356/4
Alexandru Avadanii [Tue, 14 Apr 2020 13:55:55 +0000 (15:55 +0200)]
Fix SCM macro usage of refspec, branches

- fix ignored refspec SCM parameter (hardcoded to empty string):
  s/refspec: ''/refspec: '$GERRIT_REFSPEC'/g
- fix IEC SCM configuration regression (broken in previous commit):
  s/branches: '$GERRIT_BRANCH'/branch: 'GERRIT_BRANCH'/g
- add missing lf-infra-parameters macro to bluval job;
- use lf-infra-gerrit-scm macro in IEC templates (now that submodule
  recursive cloning parametrization is supported);
- retire 'validation-job-parameters' parameters macro, which is only
  an alias for 'lf-infra-parameters';
- rework validation SCM handling for refs/tags/...;

JIRA: VAL-103

Change-Id: I94957fb02afdfe8a01330e768dc5fde15f5ea05d
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
4 years agoMerge "iec: exclude seba_on_arm from virtual PODs"
Eric Ball [Wed, 15 Apr 2020 01:46:39 +0000 (01:46 +0000)]
Merge "iec: exclude seba_on_arm from virtual PODs"

4 years agoMerge "Fix k8s tests run in CI"
Eric Ball [Wed, 15 Apr 2020 01:46:09 +0000 (01:46 +0000)]
Merge "Fix k8s tests run in CI"

4 years agoiec: Add jobs for testing usecases 52/3352/3
Ciprian Barbu [Fri, 10 Apr 2020 14:17:30 +0000 (17:17 +0300)]
iec: Add jobs for testing usecases

Also rework the iec-seba-on-arm.sh script to reuse the existing
facilities which deal with installer and OS specifics

JIRA: IEC-14

Signed-off-by: Ciprian Barbu <ciprian.barbu@enea.com>
Change-Id: Ida04b93030751b4dbdfc929107d0f30d644974fa

4 years agoiec: exclude seba_on_arm from virtual PODs 51/3351/2
Alexandru Avadanii [Fri, 10 Apr 2020 12:47:06 +0000 (14:47 +0200)]
iec: exclude seba_on_arm from virtual PODs

Virtual PODs are slow and often cause issues with the SEBA on arm
deployments, raising misleading errors in our testing.

Since now we have a baremetal POD that will cover SEBA testing,
exclude the flaky virtual installations for SEBA.

Change-Id: I147bdd13d5d213837fefb25e8d299bb91e60ebf5
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
4 years agoFix k8s tests run in CI 54/3354/2
DANIEL STOICA [Tue, 14 Apr 2020 08:28:14 +0000 (11:28 +0300)]
Fix k8s tests run in CI

Enable k8s config file transfer if layer is empty

JIRA: IEC-41

Signed-off-by: DANIEL STOICA <daniel.stoica@enea.com>
Change-Id: Iac7772326271c811efd714bc9f66309581ff4dc1

4 years agoMerge "iec: aarch64 baremetal POD: map name, cron trigger"
Eric Ball [Tue, 14 Apr 2020 06:05:54 +0000 (06:05 +0000)]
Merge "iec: aarch64 baremetal POD: map name, cron trigger"

4 years agoRemove libvirt provider jobs 53/3353/1
Yolanda Robla [Mon, 13 Apr 2020 14:04:25 +0000 (16:04 +0200)]
Remove libvirt provider jobs

With the addition of virtual baremetal, we do not
need to use libvirt jobs anymore, they were buggy
and faulty so let's retire them.

Signed-off-by: Yolanda Robla <yroblamo@redhat.com>
Change-Id: I5fd196c6328b86f7ca9451b1c19e0fb75fb70289

4 years agoiec: aarch64 baremetal POD: map name, cron trigger 42/3342/8
Alexandru Avadanii [Tue, 7 Apr 2020 10:34:34 +0000 (12:34 +0200)]
iec: aarch64 baremetal POD: map name, cron trigger

IEC Fuel deploy scripts need a mapping between the Jenkins node (slave)
name and its lab/pod naming scheme, i.e. for the new baremetal POD
`ubuntu1804-dev-96c-256g-1` we will use `arm-baremetal1` for PDF/IDF
filenames.

While at it, update related jobs:
- extend ci-management static slave init jobs to also generate jobs
  for the new AArch64 baremetal POD label (aarch64_baremetal_dev).
- exclude Ubuntu 16.04 / CentOS from Fuel baremetal job matrix since
  baremetal provisioning in Fuel only supports Ubuntu 18.04 currently;
- schedule IEC Type 2 Fuel baremetal deployment every day @ 01:00;
- fix GERRIT_REFSPEC job paramater being ignored for IEC jobs;

JIRA: IT-19425
JIRA: IT-19445

Change-Id: I1e1debb7ad61e6aac7a6304ecc2bd5fd6e9fe3ce
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
4 years agovalidation: Move docker build job to aarch64_build 49/3349/1
Alexandru Avadanii [Thu, 9 Apr 2020 11:23:12 +0000 (13:23 +0200)]
validation: Move docker build job to aarch64_build

Previously, validation docker build jobs used to run on 'aarch64_dev'
labeled slaves, which are also used by IEC installers (compass, fuel)
that interfere with the machine's Docker service (usually by restarting
the Docker service when the install/deploy is started; which
unfortunately overlaps quite frequently with the validation docker build
job). Of course, this is also possible due to the 'aarch64_dev' nodes
having more than 2 executors (currently 3).

To avoid this, we could add build-blockers to both IEC install jobs and
validation docker build jobs, but that would create unnecessary cross
dependencies between IEC and validation projects.
Instead, move the validation Docker build to nodes servicing the label
'aarch64_build', which only have 2 executors and currently only run TA
RPM/ISO build jobs that do not interfere in a destructive way with the
Docker service on the machine.

JIRA: VAL-101

Change-Id: Iebc57a6a710b96ee6dcb04ea5e98243af3b44fa8
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
4 years agoChange tests to run in virtual baremetal 47/3347/1
Yolanda Robla [Wed, 8 Apr 2020 09:28:13 +0000 (11:28 +0200)]
Change tests to run in virtual baremetal

For daily tests, change the job to run in
virtual baremetal, in order to speed up and
preserve hardware.

Signed-off-by: Yolanda Robla <yroblamo@redhat.com>
Change-Id: I780544fab4e2144a1d7b3f4d1ae72f632b4e3132

4 years agoRun test for multiple layers on IEC blueprint 38/3338/3
DANIEL STOICA [Fri, 3 Apr 2020 13:25:06 +0000 (16:25 +0300)]
Run test for multiple layers on IEC blueprint

Initially only the k8s layer was tested for IEC.
With the introduction of more mandatory tests, allow testing
for multiple layers, by not specifying any particular layer.

Signed-off-by: DANIEL STOICA <daniel.stoica@enea.com>
Depends-On: I5c19b527ec86be0a60b7c31fcd579f0802e9874d
Change-Id: I4d36305d9ffd6fb7688002b6cb72a18baed77803

4 years agoEnable vuls and lynis tests in CI 07/3307/7
DANIEL STOICA [Tue, 24 Mar 2020 13:30:23 +0000 (15:30 +0200)]
Enable vuls and lynis tests in CI

 - created the ssh_key_dir and put the ssh_key
 - set host and username variable in validation/tests/variables.yaml
 - set ssh_key_dir and custom_variables_file path in validatin/bluval/volumes.yaml

Signed-off-by: DANIEL STOICA <daniel.stoica@enea.com>
Depends-On: Ibb16f76405f5b43797e0d859db0681759adf5e18
Change-Id: I9e5349a0e3e3a1e7331a5f5b4b4a8d5a1b01aa51

4 years agoMerge "Enable installation of TA in CI"
Eric Ball [Wed, 18 Mar 2020 17:06:16 +0000 (17:06 +0000)]
Merge "Enable installation of TA in CI"

4 years agoMerge "Fix installation bug on Ubuntu 18.04"
Eric Ball [Tue, 17 Mar 2020 16:29:48 +0000 (16:29 +0000)]
Merge "Fix installation bug on Ubuntu 18.04"

4 years agoEnable installation of TA in CI 75/2275/24
Cristina Pauna [Wed, 4 Mar 2020 10:00:59 +0000 (12:00 +0200)]
Enable installation of TA in CI

For each REC POD, the CD job is tied to a specific jenkins slave
that has access to the POD's lab.

For now, only UNH Ampere1 POD is added and user_config.yaml is stored
on the slave at:
  file:///data/rec_pod/user_config.yaml

Also for CD deployments, admin_user_password in user_config.yaml is
required to be the hash for "admin" to be able to pull post deployment
logs from the first controller.

Jenkins slave package requirements:
  - docker
  - jq

Co-authored-by: Cristina Pauna <cristina.pauna@enea.com>
Co-authored-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>>
Signed-off-by: Alexandru Antone <Alexandru.Antone@enea.com>
Change-Id: Iece4330c3242385c33d8a1daa092f78ce5d46cc8

4 years agoFix installation bug on Ubuntu 18.04 93/2293/2
Jingzhao.Ni [Thu, 5 Mar 2020 10:03:22 +0000 (18:03 +0800)]
Fix installation bug on Ubuntu 18.04

When deploying VMs on Ubuntu 18.04, the compass can not resolve the
host ip address correctly. It will cause the compass4nfv deploying
failed.
In this patch, it gets compass4nfv code from iecedge repository.
Some modification has been done for fixing those issues on specific
branch.

Signed-off-by: Jingzhao.Ni <Jingzhao.Ni@arm.com>
Change-Id: I86faffee4473ed2f6f36594a2b14be44f7b77191

4 years agoMerge "Increase timeout of libvirt build to 120"
Eric Ball [Thu, 5 Mar 2020 15:31:01 +0000 (15:31 +0000)]
Merge "Increase timeout of libvirt build to 120"

4 years agoIncrease timeout of libvirt build to 120 83/2283/1
Yolanda Robla [Thu, 5 Mar 2020 09:00:38 +0000 (10:00 +0100)]
Increase timeout of libvirt build to 120

Currently it had a 60 min timeout, that is not enough
for completing the whole job.

Signed-off-by: Yolanda Robla <yroblamo@redhat.com>
Change-Id: I4664a3ab2b9c3a9b68b844b593e8a0b735eb3a70

4 years agoMerge "iec: fuel: Account for Jenkins slave rename"
Eric Ball [Tue, 3 Mar 2020 19:34:53 +0000 (19:34 +0000)]
Merge "iec: fuel: Account for Jenkins slave rename"

4 years agota: ISO upload path: drop "release-1", add arch 64/2264/4
Alexandru Avadanii [Thu, 27 Feb 2020 17:12:27 +0000 (18:12 +0100)]
ta: ISO upload path: drop "release-1", add arch

Previously, TA ISO build used to push artifacts to Nexus repository in
a subdirectory that included in its path the BUILD_ID (Jenkins job ID,
e.g. [1]), but no further specifics like the artifact architecture.
Since amd64 and arm64 build jobs are completely separate, the
BUILD_ID for the two jobs are not correlated in any way, so the arm64
job (since it's newer) pushes artifacts to directories that were
previously created by the amd64 job some time ago (e.g. #109 has amd64
artifacts from August 2019 and arm64 artifacts from February 2020).

This change splits the output artifacts into arch-specific directories,
while dropping the "release-1" subdir from the path, so:
  TA/images/release-1/images/{<BUILD_ID>, latest}
becomes:
  TA/images/<arch>/{<BUILD_ID>,latest}

e.g. instead of [1] we will have [2] and [3].

[1] https://nexus.akraino.org/content/repositories/ \
    images-snapshots/TA/release-1/images/123/
[2] https://nexus.akraino.org/content/repositories/ \
    images-snapshots/TA/images/amd64/56/
[3] https://nexus.akraino.org/content/repositories/ \
    images-snapshots/TA/images/arm64/45/

Change-Id: Ie3e189c1ab61bb9e395663c9882ee869929e0b76
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
4 years agoiec: fuel: Account for Jenkins slave rename 72/2272/1
Alexandru Avadanii [Tue, 3 Mar 2020 12:36:43 +0000 (13:36 +0100)]
iec: fuel: Account for Jenkins slave rename

AArch64 static Jenkins slaves have been upgraded from Ubuntu 16.04 to
Ubuntu 18.04 and renamed accordingly [1].

[1] https://jira.linuxfoundation.org/servicedesk/customer/portal/2/ \
    IT-19055

Change-Id: I6c30f2794be4f54d627f76a746bd90a682839313
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
4 years agoFix build failure issue in community CI 68/2268/1
Jingzhao [Mon, 2 Mar 2020 14:39:48 +0000 (22:39 +0800)]
Fix build failure issue in community CI

In compass building script, the curl command gets file as
an incorrectly format from URL which finally results in
the compass building failure.

In this patch, the script file will be download by wget.
Then it will be run as a scripts by bash.

Signed-off-by: Jingzhao <Jingzhao.Ni@arm.com>
Change-Id: I8bd49cb818a3c67a7e752a6a1e5521dc570e57b9

4 years agoMerge "Add job for KNI blueprint on Google Cloud"
Eric Ball [Sat, 29 Feb 2020 00:31:28 +0000 (00:31 +0000)]
Merge "Add job for KNI blueprint on Google Cloud"

4 years agoAdd job for KNI blueprint on Google Cloud 61/2261/1
Ricardo Noriega [Thu, 27 Feb 2020 09:53:00 +0000 (10:53 +0100)]
Add job for KNI blueprint on Google Cloud

Signed-off-by: Ricardo Noriega <rnoriega@redhat.com>
Change-Id: Id5b37f86f73c27a8d25cdc0d879ad842075e2e04

4 years agota: iso: Workaround kernel missing read rights 58/2258/2
Alexandru Avadanii [Tue, 25 Feb 2020 17:48:15 +0000 (18:48 +0100)]
ta: iso: Workaround kernel missing read rights

libguestfs requires read access to the current running kernel,
as described in [1].

While at it, install missing rename dependency.

[1] https://bugs.launchpad.net/fuel/+bug/1467579

Change-Id: Ic0c9095e35dd740d48ddf83add530456a5cae92d
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
4 years agoMerge "Move iec jenkins job in jjb/akraino-templates"
Eric Ball [Tue, 25 Feb 2020 15:25:37 +0000 (15:25 +0000)]
Merge "Move iec jenkins job in jjb/akraino-templates"

4 years agoMerge "iec: compass: Fix log permissions, curl redirect"
Eric Ball [Tue, 25 Feb 2020 15:23:38 +0000 (15:23 +0000)]
Merge "iec: compass: Fix log permissions, curl redirect"

4 years agoMove iec jenkins job in jjb/akraino-templates 54/2254/7
Daniel Stoica [Mon, 24 Feb 2020 12:49:09 +0000 (14:49 +0200)]
Move iec jenkins job in jjb/akraino-templates

Signed-off-by: Daniel Stoica <daniel.stoica@enea.com>
Change-Id: I86539d875ccb91536f79894438bc45dca474b32b

4 years agoiec: compass: Fix log permissions, curl redirect 56/2256/1
Alexandru Avadanii [Tue, 25 Feb 2020 09:01:27 +0000 (10:01 +0100)]
iec: compass: Fix log permissions, curl redirect

- follow HTTP redirect (`curl -L`) where appropiate;
- fix workspace permissions so logs uploading can archive log files
  before pushing them to Nexus (by changing the file owner to the
  current user/group);
- destroy: do not break on error, in case some resources are missing,
  keep trying to cleanup the rest anyway;

Change-Id: I7696b3ce7172b74f5b8977353ad27b70b264933b
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
4 years agostatic slaves: Perform global-jjb init 50/2250/4
Alexandru Avadanii [Fri, 21 Feb 2020 12:31:15 +0000 (13:31 +0100)]
static slaves: Perform global-jjb init

global-jjb was recently bumped to 0.51, which assumes
jenkins-init-scripts were already executed on the build slave
(e.g. by sourcing ~jenkins/lf-env.sh), which is always true for
Openstack instances dynamically spawned by Jenkins, but not yet
for static slaves like AArch64 dev/build/baremetal PODs.

Add a new job, triggered on ci-management gerrit merge (only if
global-jjb reference is changed) that executes the jenkins-init-scripts
similar to dynamic slaves initialization.

NOTE: Since jenkins-init-scripts are not fully idempotent, some
actions (e.g. id_rsa keypair generation) are executed even though
they are not mandatory (for the id_rsa keypair this means the
private/public keys will be forcefully regenerated each time this new
job runs).

Change-Id: I62433a45c7966aed1d1184fa60e87ee4211996e4
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
4 years agota: login shell, filename expansion enabled 53/2253/2
Alexandru Avadanii [Sun, 23 Feb 2020 15:26:18 +0000 (16:26 +0100)]
ta: login shell, filename expansion enabled

Recent global-jjb bumps introduced changes to python-tools-install.sh
which now disables filename expansion (globbing).
Since TA RPM merge / ISO build jobs combine python-tools-install.sh and
other sh script files into a single build step (i.e. resulting a single
sh script), this breaks globbing for the TA RPM/ISO upload handling.

Also, since python-tools-install.sh does not run as a login shell (`bash
-l`), ~/.profile is not sourced and PATH might be missing certain paths
like ~/.local/bin, where `lftools` is located, resulting in build
failures due to missing/not found `lftools`.

To mitigate the above issues:
1. split the offending build step into 2 separate steps
to allow spawning the second step under a login shell (without modifying
python-tools-install.sh);
2. Run the second step under a login shell, so PATH contains `lftools`
installed by pip;
3. Add `set +f` to enable globbing (this is not critical after splitting
the build step above, since python-tools-install.sh disabling globbing
will no longer affect the second step; but it should make it more
obvious that the script *requires* globbing);

Change-Id: I4a5e6a4a88a296cb21d68338f8e5a5b219076308
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
4 years agoUpdate global-jjb to v0.51.1 47/2247/2
Eric Ball [Thu, 20 Feb 2020 20:17:51 +0000 (12:17 -0800)]
Update global-jjb to v0.51.1

This will ensure compatibility will all of the latest Jenkins
plugins.

Change-Id: Ibee61d798ad14841a8e4d929557c877fd869b854
Signed-off-by: Eric Ball <eball@linuxfoundation.org>
4 years agoMerge "[validation] Improve relationship between jobs"
Eric Ball [Thu, 20 Feb 2020 18:45:56 +0000 (18:45 +0000)]
Merge "[validation] Improve relationship between jobs"

4 years ago[validation] Improve relationship between jobs 42/2242/2
Cristina Pauna [Tue, 18 Feb 2020 14:21:31 +0000 (16:21 +0200)]
[validation] Improve relationship between jobs

- Added a fix so that when bluval-run-daily-tests job fails, the upstream
akraino-validation-lab-daily job also fails.
- Made the validation parameters more generic (the tests can be ran on
openstack too, not just on k8s clusters)
- Moved the templates from the project folder to the templates folder

JIRA: VAL-98

Signed-off-by: Cristina Pauna <cristina.pauna@enea.com>
Change-Id: I915ff9a0347e20390b297483b39a051f39fdf205

4 years agoTA: aarch64 RPM/ISO build jobs: voting, email 34/2234/6
Alexandru Avadanii [Tue, 11 Feb 2020 13:29:15 +0000 (14:29 +0100)]
TA: aarch64 RPM/ISO build jobs: voting, email

1. Enable gerrit voting for TA patches verify jobs (RPM builds);
2. E-mail armband@enea.com on arm64 (aarch64) job failures for:
   - TA RPM merge jobs (not verify);
   - TA ISO build;

Change-Id: I6a3f668001698e42bb6b87f31e03191fcb6559bc
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
4 years agoTA: aarch64 dedicated build server 32/2232/1
Alexandru Avadanii [Tue, 11 Feb 2020 12:27:58 +0000 (13:27 +0100)]
TA: aarch64 dedicated build server

Move TA RPM/ISO build jobs from `aarch64_dev`-labeled nodes to a new
dedicated build machine labeled `aarch64_build`.

Change-Id: I011ed992a43240b1ae644d788c47c0aaf8713aaf
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
4 years agoCI/CD for ARC portal 13/2213/1
Ioakeim Samaras [Wed, 29 Jan 2020 02:49:24 +0000 (18:49 -0800)]
CI/CD for ARC portal

The following jenkins jobs are supported

- Common maven jobs
- Building and uploading the docker images

Signed-off-by: Ioakeim Samaras <is661a@att.com>
Change-Id: Icf140349432a5aa6f293acbfeec7c5f9f426ec29

4 years agoFix issue related to substring search 06/2206/2
valentin.radulescu [Tue, 21 Jan 2020 20:23:51 +0000 (12:23 -0800)]
Fix issue related to substring search

JIRA:VAL-78

Signed-off-by: valentin.radulescu <valentin.radulescu@enea.com>
Change-Id: I17dee3c41a2046927b085205c096507452560506

4 years agoMerge "[validation] Disable jobs for tag"
Eric Ball [Mon, 20 Jan 2020 20:16:14 +0000 (20:16 +0000)]
Merge "[validation] Disable jobs for tag"

4 years agoStore blu-val results in nexus. 19/2019/7
valentin.radulescu [Wed, 20 Nov 2019 15:23:53 +0000 (07:23 -0800)]
Store blu-val results in nexus.

After the tests are run, the results are put in an archive
and pushed in nexus.
JIRA:VAL-78

Signed-off-by: valentin.radulescu <valentin.radulescu@enea.com>
Change-Id: I1021f30f560ec67433e83f22b14877b340f489c7

4 years agoMerge "Add log parser support"
Eric Ball [Thu, 16 Jan 2020 18:57:12 +0000 (18:57 +0000)]
Merge "Add log parser support"

4 years agoAdd log parser support 00/2100/18
valentin.radulescu [Fri, 6 Dec 2019 13:32:22 +0000 (05:32 -0800)]
Add log parser support

JIRA: VAL-90

Signed-off-by: valentin.radulescu <valentin.radulescu@enea.com>
Change-Id: I111f5aab331156c201cb5f855492aee1dcb45236

4 years agoRestore the sonar config to just use the default 86/2186/2
Trevor Tao [Fri, 10 Jan 2020 02:46:23 +0000 (10:46 +0800)]
Restore the sonar config to just use the default

Remove the unneccesary sonar config as those files are not available
now, and we can just use the default

Signed-off-by: Trevor Tao <trevor.tao@arm.com>
Change-Id: I248f4f2762d3ebaae9493df000f7ed3b4d010f2d
Signed-off-by: Trevor Tao <trevor.tao@arm.com>
4 years agoFix build-blocker level param typos 64/2164/1
Alexandru Avadanii [Tue, 17 Dec 2019 19:27:36 +0000 (20:27 +0100)]
Fix build-blocker level param typos

s/blocking-level/block-level/g as per [1].

[1] https://docs.openstack.org/infra/jenkins-job-builder/properties.html

Change-Id: Iea628d0a7c8b3285ece13280abdda1aa85dbea2b
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
4 years agoMerge "Add new job to deploy kni on baremetal"
Eric Ball [Tue, 17 Dec 2019 16:43:32 +0000 (16:43 +0000)]
Merge "Add new job to deploy kni on baremetal"

4 years agoAdd new job to deploy kni on baremetal 31/2031/10
Yolanda Robla [Wed, 20 Nov 2019 16:16:55 +0000 (17:16 +0100)]
Add new job to deploy kni on baremetal

This commit add jobs for the kni blueprints to
be ran using the baremetal profile

Signed-off-by: Yolanda Robla <yroblamo@redhat.com>
Change-Id: I8449bbad86f6297717b508a2b608359e56f2aac5

4 years agoAutomation adds INFO jobs 31/2131/34
LF Jenkins CI [Mon, 16 Dec 2019 18:49:43 +0000 (18:49 +0000)]
Automation adds INFO jobs

Automation adds INFO.yaml management jobs for all
top level projects.

This is the first step before adding INFO.yaml
files for all these top level projects
to allow committers to self manage their
committers

Change-Id: Ife7ac9815fb85c3bfde9f3c7960d605f7668c653
Signed-off-by: lf-jobbuilder <releng+lf-jobbuilder@linuxfoundation.org>