releng/global-jjb.git
19 months agoFix: Use pyenv for PyPI verify jobs 95/70795/1
Anil Belur [Tue, 4 Oct 2022 01:15:08 +0000 (11:15 +1000)]
Fix: Use pyenv for PyPI verify jobs

PyPI verify jobs requires Python 3.x. The tox run picks up default version
of python instead of the version made available through pyenv.

To fix this Re-factor lf-activate-venv() to skip a return, while the venv is
re-used, so that the PATH can be set.

Update the tox install and run script to Call lf-avtivate-venv().

Issue-ID: https://jira.linuxfoundation.org/browse/RELENG-4468
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
Change-Id: Ibde3ba8beb5be75fa69c9ee6cf36a80768a8f368

19 months agoFix: Update Sonar CLI credential ID 90/70790/3 v0.81.4
Jessica Wagantall [Fri, 30 Sep 2022 20:45:26 +0000 (13:45 -0700)]
Fix: Update Sonar CLI credential ID

Sonar CLI job needs to use the credential that matches the name of the
project. That is, "sonar-token-{project-name}".

Signed-off-by: Jessica Wagantall <jwagantall@linuxfoundation.org>
Change-Id: I4e6bf5dce0b9fcfea352f9e13208698371783de8

19 months agoFix: Request Python 3 -> 3.8 46/70746/2
Matthew Watkins [Wed, 28 Sep 2022 16:05:38 +0000 (17:05 +0100)]
Fix: Request Python 3 -> 3.8

Issue: RELENG-4462
Signed-off-by: Matthew Watkins <mwatkins@linuxfoundation.org>
Change-Id: Id986f183aa233879c805c52f3839b36087ab1e84

19 months agoFeat: Add CLI Sonar scanner job 04/70504/25 v0.81.3
Jessica Wagantall [Mon, 15 Aug 2022 19:30:10 +0000 (12:30 -0700)]
Feat: Add CLI Sonar scanner job

Add gerrit-cli-sonar and github-cli-sonar scanner job for
non maven based repos. This job downloads a specific Sonar
CLI version and runs sonnar-scanner on the code to produce
a report which is pushed in SonarCloud.

Issue: RELENG-4427
Co-authored-by: Jessica Wagantall <jwagantall@linuxfoundation.org>
Co-authored-by: Matthew Watkins <mwatkins@linuxfoundation.org>
Signed-off-by: Matthew Watkins <mwatkins@linuxfoundation.org>
Signed-off-by: Jessica Wagantall <jwagantall@linuxfoundation.org>
Change-Id: If02a2c78bddacdcc273fb5a0b9f60b99d2da221d

19 months agoFix: Install missing dependency - yq 62/70662/1 v0.81.2
Anil Belur [Sun, 18 Sep 2022 02:09:06 +0000 (12:09 +1000)]
Fix: Install missing dependency - yq

Install yq in the venv that is called by the builder scripts of
RTDv3 and docker jobs.

Effect of changes to lf-activate-venv() from CR I559f759a8dba7

Issue-ID: RELENG-4403
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
Change-Id: If9ff9ab247812b9997ba8a2d96e5bd4a50dfd54a

19 months agoMerge "Fix: JAVA_HOME directory detection"
Anil Belur [Fri, 16 Sep 2022 12:20:48 +0000 (12:20 +0000)]
Merge "Fix: JAVA_HOME directory detection"

19 months agoFix: Address submodule update issues 48/70648/1 v0.81.1
Sangwook Ha [Thu, 15 Sep 2022 01:12:12 +0000 (18:12 -0700)]
Fix: Address submodule update issues

There are two issues affecting the autorelease-update-submodules jobs:

- git-review tries to copy commit-msg hook to submodules with incorrect
  source file path (.git/hooks/commit-msg) and fails - the path should
  be ../.git/hooks/commit-msg if a relative path is used since the copy
  command is run in the submodule directory

- lf-activate-venv creates a virtual environment in the current working
  directory where lf-activate-venv is run. This clutters the repository
  and all the files for the virtual environment are added for update.

To address the bug of git-review set 'core.hooksPath' with the absolute
path of the top-level hooks directory so that the correct source path
can be used regardless of the working directory.

The reason why a virtual environment is created in the working directory
is because the following command

  $python -m venv "$install_args" "$lf_venv"

is not equivalent to

  $python -m venv "$lf_venv"

even when $install_args is empty.

Hence the first command creates two virtual environments, one in the
current working directory and another one in $lf_venv.

Use the correct command depending on the $install_args value to avoid
the issue.

Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
Change-Id: I445d010c5f5b9e3576bdafb0335ada1092de9d0c

19 months agoFix: JAVA_HOME directory detection 79/70579/5
guillaume.lambert [Thu, 1 Sep 2022 09:58:58 +0000 (11:58 +0200)]
Fix: JAVA_HOME directory detection

OpenDaylight jenkins maven jobs with jdk17 and CentOS7 currently fails
with a confusing message stating that the JAVA_HOME variable is not
correctly set.
This can happen in various cases, usually when there is a mismatch
between the jdk used by maven and the folder pointed by JAVA_HOME.

It appears that openjdk17 is not available with CentOS7 and that
the folder indeed does not exist.

To avoid misinterpretation
- add a folder existence check in related script
  before propagating JAVA_HOME variable to other scripts
- if no folder was found, try to find an approaching solution
  and exit in case of failure with a more relevant error message
- adapt and refactor code consequently to be more agnostic to
  distribution and jdk installation specificities

Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I585cb34e8126ac5827ae33b5c1ed771fd78b3d10

19 months agoFeat: Upgrade git-review to 2.3.1 99/70599/3 v0.81.0
Anil Belur [Fri, 9 Sep 2022 03:35:05 +0000 (13:35 +1000)]
Feat: Upgrade git-review to 2.3.1

The previous version of git-review is incompatible with the latest
version of git due to renaming flags.

Error:

Errors running git rebase -p -i remotes/gerrit/master
fatal: --preserve-merges was replaced by --rebase-merges

This is fixed in 2.2.0, upgrade to 2.3.1 its more recent.

Ref: https://review.opendev.org/c/opendev/git-review/+/818219
Issue-ID: RELENG-4418
Change-Id: I6057f4a197aa6ae38598b51d3ed62b8b0948db67
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
19 months agoFeat!: Re-factor lf-activate-venv() to re-use venv 97/70597/8
Anil Belur [Wed, 7 Sep 2022 12:20:28 +0000 (22:20 +1000)]
Feat!: Re-factor lf-activate-venv() to re-use venv

Add new CLI option to set venv file.

Example:

lf-activate-venv --venv-file /tmp/.robot_venv \
robotframework

Modify lf-activate-venv() to allow creation of a venv file and re-use
the venv to improve job performance. When a dependency is already
installed, pip skips the package therefore reduces the time it takes
to create venv in every script.

Precedence for venv file.
  a. Re-use an existing venv file if one exists.
       1. Use venv file path from --venv-file
       2. Use default venv file path "/tmp/.os_lf_venv"
  b. Create new venv when 1. and 2. is absent

Note: The default file "/tmp/.os_lf_venv" is created by a pre-build
script (../shell/python-tools-install.sh).

In the situation where a fresh venv is required remove
"/tmp/.os_lf_venv" before calling lf-activate-venv().

Update all the required scripts that call lf-activate-venv().

Issue-ID: RELENG-4403
Change-Id: I559f759a8dba7eca0a62f8b73a360dc627699ed2
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
20 months agoFix: Use lf-activate-venv to install openstack dep 78/70578/3 v0.80.2
Anil Belur [Thu, 1 Sep 2022 03:03:24 +0000 (13:03 +1000)]
Fix: Use lf-activate-venv to install openstack dep

Using python-tools-install.sh for the pre/post build is not recommended
approach for installing python dependencies since this installs the
dependencies with `--user` option (removed in I821a86ac3b54f284e8).

Instead use lf-activate-venv to setup an venv and pull in the required
dependencies and save the path of the virtualenv in a temp file that
can be checked before attempting to create a venv.

Issue-ID: RELENG-4357
Change-Id: I00bbf08921a3ddc6349e74e9cd9d6316b0876749
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
20 months agoFix: Update pyenv version selection 74/70574/4
Sangwook Ha [Wed, 31 Aug 2022 06:54:49 +0000 (23:54 -0700)]
Fix: Update pyenv version selection

lf-pyver() fails to include the currently selected version in the output
of 'pyenv versions', which makes the version change every time the local
version is set by pyenv with the version from lf-pyver().

Fix the command to extract the list of Python versions to include all
the numeric versions in the list.

Issue-ID: RELENG-4403
Change-Id: I8eb1a1842a9ccd7514f096ec6989559a5526c3b6
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
20 months agoFix: Install yq through lf-activate-venv 69/70569/1 v0.80.1
Anil Belur [Tue, 30 Aug 2022 11:31:05 +0000 (21:31 +1000)]
Fix: Install yq through lf-activate-venv

Install yq through lf-activate-venv instead of the
python tools install script.

Change-Id: Ifd36a7820854e2a1ee15447c966fc3e4629c9fe4
Issue-ID: RELENG-4357
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
20 months agoFix: Update python tools install 68/70568/1 v0.80.0
Anil Belur [Tue, 30 Aug 2022 01:14:13 +0000 (11:14 +1000)]
Fix: Update python tools install

- Set the default version of python3 instead of 3.8.x since
some of the older images may not have this version installed.
The default version is only used when lf-env.sh is not
available.
- CR I821a86ac3b54f2 sets and uses python 3.x version
made available by pyenv therefore remove the --user
option which is no longer required.

Issue-ID: RELENG-4357
Change-Id: Ic01b696354434291b49c5f8a125fd6593ca37c96
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
20 months agoFeat: Set python3 version from pyenv 31/70531/2 v0.79.4
Anil Belur [Tue, 23 Aug 2022 04:02:18 +0000 (14:02 +1000)]
Feat: Set python3 version from pyenv

Use pyenv whih is the standard way to manage, set and use a python3
installation on the system.

The required version of python3 for all jobs should be > 3.8.x, to
avoid PyPI dependencies conflicts with outdated versions. However the
lf-activate-venv() uses the system default version python installed
through packages. This can cause warning and build failures that source
lf-env.sh.

Update lf-activate-venv to use pyenv versions of python3 installed
through the lfit.python-install galaxy ansible role.

Issue-ID: RELENG-4357
Change-Id: I821a86ac3b54f284e853316f0d782ad551249925
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
20 months agoChore: Cleanup unused deprecated code 69/70469/3
Anil Belur [Tue, 9 Aug 2022 08:35:51 +0000 (18:35 +1000)]
Chore: Cleanup unused deprecated code

Cleanup lftools_activate is no longer used or supported.

Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
Change-Id: Ie6a23f2697e14bbfc400ff8362a9426c984402be

20 months agoChore: Fix bashate warnings 68/70468/3
Anil Belur [Tue, 9 Aug 2022 08:27:51 +0000 (18:27 +1000)]
Chore: Fix bashate warnings

./shell/common-variables.sh:21:1: E006 Line too long
./shell/common-variables.sh:26:1: E006 Line too long
./shell/docker-build.sh:20:1: E006 Line too long
./shell/docker-login.sh:50:1: E006 Line too long
./shell/docker-push.sh:18:1: E006 Line too long
./shell/gerrit-branch-lock.sh:49:1: E006 Line too long
./shell/gerrit-branch-lock.sh:50:1: E006 Line too long
./shell/gerrit-branch-lock.sh:56:1: E006 Line too long

Issue-ID: RELENG-4358
Change-Id: I37198320bc512f2c75c47346e991ea0f0a182fab
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
20 months agoChore: Fix bashate warnings 67/70467/2
Anil Belur [Tue, 9 Aug 2022 07:22:42 +0000 (17:22 +1000)]
Chore: Fix bashate warnings

./shell/autotools-sonarqube.sh:59:1: E006 Line too long
./shell/check-info-votes.sh:45:1: E006 Line too long
./shell/check-info-votes.sh:54:1: E006 Line too long
./shell/check-info-votes.sh:56:1: E006 Line too long
./shell/cmake-sonar.sh:25:1: E006 Line too long
./shell/cmake-sonar.sh:31:1: E006 Line too long
./shell/cmake-sonar.sh:49:1: E006 Line too long
./shell/cmake-sonarqube.sh:31:1: E006 Line too long
./shell/cmake-sonarqube.sh:44:1: E006 Line too long
./shell/cmake-stage.sh:42:1: E006 Line too long
./shell/cmake-stage.sh:64:1: E006 Line too long
./shell/cmake-stage.sh:68:1: E006 Line too long

Issue-ID: RELENG-4358
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
Change-Id: I5f4a9dab38287901fcac9937fec111a1020de27e

20 months agoMerge "Chore: Fix bashate warnings"
Andrew Grimberg [Fri, 19 Aug 2022 17:13:56 +0000 (17:13 +0000)]
Merge "Chore: Fix bashate warnings"

20 months agoMerge "Fix: safer behaviour handling java variables"
Andrew Grimberg [Fri, 19 Aug 2022 17:12:06 +0000 (17:12 +0000)]
Merge "Fix: safer behaviour handling java variables"

20 months agoFix: safer behaviour handling java variables 08/70508/7
Matthew Watkins [Tue, 16 Aug 2022 16:08:39 +0000 (17:08 +0100)]
Fix: safer behaviour handling java variables

Detect both Debian and Ubuntu when configuring java runtime parameters.
This works around a minor OS detection bugs that applies to Docker
containers. Also, improved the handling of an unset variable when
setting the java runtime. This reduces the likelihood of rewriting a
working variable with a broken one.

Change-Id: I69c0756d740430dabef823fa8eed8cbf67e343c6
Signed-off-by: Matthew Watkins <mwatkins@linuxfoundation.org>
20 months agoChore: Fix bashate warnings 66/70466/2
Anil Belur [Tue, 9 Aug 2022 04:08:11 +0000 (14:08 +1000)]
Chore: Fix bashate warnings

./jenkins-init-scripts/disable-firewall.sh:19:1: E006 Line too long
./jjb-compare-xml.sh:28:1: E006 Line too long
./jjb-compare-xml.sh:59:1: E006 Line too long

Issue-ID: RELENG-4358
Change-Id: I0ab6d09e9904ec1eb93ef9f8248ea29048c632f3
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
20 months agoCI: Require RELENG changes in commit messages 13/70513/1
Andrew Grimberg [Wed, 17 Aug 2022 17:36:13 +0000 (10:36 -0700)]
CI: Require RELENG changes in commit messages

To make sure that JSD issues are not being referenced since that is not
public data, we will now start enforcing a requirement that commits have
a RELENG issue associated with them.

Issue: RELENG-4375
Change-Id: Ia7800de3097e30670d83b3fdcce0191144cea3a7
Signed-off-by: Andrew Grimberg <agrimberg@linuxfoundation.org>
20 months agoMerge "Feat: Upgrade packer version to v1.8.2"
Anil Belur [Wed, 17 Aug 2022 02:21:23 +0000 (02:21 +0000)]
Merge "Feat: Upgrade packer version to v1.8.2"

20 months agoFeat: Upgrade packer version to v1.8.2 72/70472/2
Anil Belur [Wed, 10 Aug 2022 00:58:41 +0000 (10:58 +1000)]
Feat: Upgrade packer version to v1.8.2

v1.8.2 addresses certain security issues which may not
directly imapact us.

Issue-ID: IT-24377
Change-Id: I275e99e8a7debdf9cae4ca943e19125293d9560b
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
20 months agoMerge "Fix: Update lf-activate-env code comment"
Andrew Grimberg [Tue, 16 Aug 2022 23:10:46 +0000 (23:10 +0000)]
Merge "Fix: Update lf-activate-env code comment"

20 months agoFix: Update lf-activate-env code comment 45/70445/2
Anil Belur [Mon, 8 Aug 2022 11:58:24 +0000 (21:58 +1000)]
Fix: Update lf-activate-env code comment

Fix lf-activate-env code comment. The comment suggests
using  just the version number ``--python <x.y>``, however
as per the code the correct format as per the code is
``--python python<x.y>``

Also update the fix in the 9915b0bb42077428478e2.

Change-Id: Ic135036ded75f0b16525ef78bdec9e90c72a5c44
Issue-ID: RELENG-4348
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
21 months agoAdd SBOM report to staging package 64/70464/2 v0.79.3
Jessica Wagantall [Mon, 8 Aug 2022 19:28:32 +0000 (12:28 -0700)]
Add SBOM report to staging package

The SBOM report should be made available as part of the
build's artifacts as well as part of the staging package.

Copy the SBOM report to the m2repo so that is signed by
SIGUL and packaged along with the staging artifacts.

Issue: RELENG-4356
Signed-off-by: Jessica Wagantall <jwagantall@linuxfoundation.org>
Change-Id: I360bb4a26e7b70d9ec6ce8848ecc3365abb8b034

21 months agoFix: Set lf-activate-env to use Python 3.8 28/70428/1 v0.79.2
Anil Belur [Tue, 2 Aug 2022 00:34:36 +0000 (10:34 +1000)]
Fix: Set lf-activate-env to use Python 3.8

Set lf-activate-env to use Python 3.8 while running lftools deploy
logs. This fixes the below warnings which when jobs try to use
default version of python 3.6 which is EOL.

CryptographyDeprecationWarning: Python 3.6 is no longer supported
by the Python core team. Therefore, support for it is deprecated in
cryptography and will be removed in a future release.

PythonDeprecationWarning: Boto3 will no longer support Python 3.6
starting May 30, 2022. To continue receiving service updates, bug
fixes, and security updates please upgrade to Python 3.7 or later.

Issue-ID: RELENG-4348
Change-Id: I7177eda0afab58bd775801e955c8759c57554ff3
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
21 months agoFix: Ignore unbounded variable BUILD_RESULT 13/70413/3 v0.79.1
Anil Belur [Tue, 26 Jul 2022 21:20:50 +0000 (07:20 +1000)]
Fix: Ignore unbounded variable BUILD_RESULT

Error: BUILD_RESULT: unbound variable

Change-Id: Iefbf3d6f658632990529015f35336cadb65e379c
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
21 months agoUpdate SBOM generator script 87/70387/1 v0.79.0
Jessica Wagantall [Tue, 12 Jul 2022 22:32:09 +0000 (15:32 -0700)]
Update SBOM generator script

- Allow the usage of a maven settings file to resolve transitive
  dependencies
- Update sbom file name to reflect more information

Issue: RELENG-4300
Signed-off-by: Jessica Wagantall <jwagantall@linuxfoundation.org>
Change-Id: Ibc5f636a946879282b594c3975a1ca53bc159f6a

22 months agoFeat: Upgrade NexusIQ Client 1.140.0-01. 62/70362/1 v0.78.0
Anil Belur [Tue, 5 Jul 2022 22:52:41 +0000 (08:52 +1000)]
Feat: Upgrade NexusIQ Client 1.140.0-01.

Issue-ID: RELENG-4306
Change-Id: Ic48cdfc7303e20a1070bfd35e26f22649520b6f0
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
23 months agoFix: Remove hosts file creation in sigul-install 68/70268/1 v0.77.4
Eric Ball [Wed, 8 Jun 2022 13:38:28 +0000 (06:38 -0700)]
Fix: Remove hosts file creation in sigul-install

Our Sigul bridges now have publicly accessible DNS names, so it is no
longer necessary to create an entry in the hosts file.

Issue: RELENG-4269
Change-Id: I8417747b598d4fad3bfef192ccf1056899ffdf0a
Signed-off-by: Eric Ball <eball@linuxfoundation.org>
23 months agoFix: Update script and Dockerfile 01/70201/4 v0.77.3
Anil Belur [Tue, 31 May 2022 23:54:05 +0000 (09:54 +1000)]
Fix: Update script and Dockerfile

Fix URL path indent, add a default ARG to the Dockerfile to
remove WARNING. Set the .asc files permissions to jenkins after
the sigul has signed the files.

Issue-ID: IT-23826
Change-Id: Idfa32e797320e7a580516a4b137202faf5bd37b0
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
23 months agoMerge "Fix: Sign artifacts on CentOS Stream 8/9" v0.77.2
Andrew Grimberg [Tue, 31 May 2022 16:00:35 +0000 (16:00 +0000)]
Merge "Fix: Sign artifacts on CentOS Stream 8/9"

23 months agoFix: Sign artifacts on CentOS Stream 8/9 91/70191/4
Anil Belur [Thu, 26 May 2022 23:58:32 +0000 (09:58 +1000)]
Fix: Sign artifacts on CentOS Stream 8/9

Update the sigul-sign-dir.sh to sign artifacts using docker.
The docker image is built on CentOS Streams 8/9. The newer version
of sigul 1.1.1 available for CentOS 8 is not backwords compatible
with the version of sigul on CentOS 7.

As a temporary workaround build a CentOS7 docker image with
sigul installed and use it for signing artificats on platforms
where sigul is not readly available.

Issue-ID: IT-23826
Change-Id: Ie22e23240f7fe388219c0afc4d4c229f390efa9c
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
23 months agoFix: bashate E006 warnings for lines > 80 chars 92/70192/1
Anil Belur [Fri, 27 May 2022 03:30:16 +0000 (13:30 +1000)]
Fix: bashate E006 warnings for lines > 80 chars

Change-Id: Id0ddfbe03e2853019a53b3a76af7f63256c05582
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
23 months agoFix: Pin openstacksdk<0.99 85/70185/2 v0.77.1
Anil Belur [Tue, 24 May 2022 21:29:25 +0000 (07:29 +1000)]
Fix: Pin openstacksdk<0.99

This fixes the builder-openstack-cron job.

With the recent updates on the pypi dependencies,
some of attributes of various resources may have been
named differently to follow SDK attribute naming convention.

Issue-ID: RELENG-4243
Change-Id: Iadcfe9ddc9645ad6743bde9498ec85599f6fcf06
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
23 months agoChore: Update pre-commit hooks 64/70164/1 v0.77.0
Andrew Grimberg [Thu, 19 May 2022 16:55:43 +0000 (09:55 -0700)]
Chore: Update pre-commit hooks

github.com/pre-commit/pre-commit-hooks: v4.0.1 -> v4.2.0
github.com/pre-commit/mirrors-prettier: v2.4.1 -> v2.6.2
github.com/jorisroovers/gitlint: v0.16.0 -> v0.17.0
github.com/jumanjihouse/pre-commit-hooks: 2.1.5 -> 2.1.6
github.com/btford/write-good: v1.0.4 -> v1.0.8

Change-Id: I26bff86b5b0f9c6c624b9b2ba0400b6dadb59c2c
Signed-off-by: Andrew Grimberg <agrimberg@linuxfoundation.org>
23 months agoChore: Upgrade base version of JJB to 4.1.0 61/70161/1
Andrew Grimberg [Wed, 18 May 2022 17:58:24 +0000 (10:58 -0700)]
Chore: Upgrade base version of JJB to 4.1.0

JJB has been pinned to v2.8.0 for nearly 2 years. It's time move on,
particularly since we've been hard at work dropping support for Python
2.7. This also brings in needed fixes to support recent changes in how
many plugins for Jenkins are getting versioned.

Change-Id: I1ee78f1b7b5a8fa019cb6fe5a322d02ff8d114e2
Signed-off-by: Andrew Grimberg <agrimberg@linuxfoundation.org>
2 years agoFix: Add maven pre and post build scripts 95/70095/1 v0.76.4
Jessica Wagantall [Wed, 27 Apr 2022 19:09:12 +0000 (12:09 -0700)]
Fix: Add maven pre and post build scripts

Optionally run a script before and/or after maven goals.
This will help add dependencies and post process builds with more
flexibility to the project's needs.

Issue: IT-23957
Signed-off-by: Jessica Wagantall <jwagantall@linuxfoundation.org>
Change-Id: I7075972c796a2cac17d9ad7ec9e99be1699354c3

2 years agoMerge "Fix: Isolate SBOM PATH flag"
Andrew Grimberg [Wed, 27 Apr 2022 18:17:11 +0000 (18:17 +0000)]
Merge "Fix: Isolate SBOM PATH flag"

2 years agoFix: Isolate SBOM PATH flag 88/70088/1
Jessica Wagantall [Wed, 27 Apr 2022 02:30:50 +0000 (19:30 -0700)]
Fix: Isolate SBOM PATH flag

SBOM's path flag does not work as expected. We need to introduce a new
flag called SBOM_PATH to isolate the path where SBOM is going to be
extracted to and executed from. By default this is set to $WORKSPACE but
some projects need to execute the sbom from a different location in their
code. See https://github.com/opensbom-generator/spdx-sbom-generator/issues/227

Issue: RELENG-4213
Signed-off-by: Jessica Wagantall <jwagantall@linuxfoundation.org>
Change-Id: Ibaaf4f89035f8aa9a773e199cf0cacb6c1e14947

2 years agoFeat: Choose best python version to run venv 66/70066/2 v0.76.3
Eric Ball [Thu, 21 Apr 2022 23:43:59 +0000 (16:43 -0700)]
Feat: Choose best python version to run venv

We've seen problems with capture-instance-metadata.sh choosing the
best python path, so this should help get the best version on each
builder.

If the $PYTHON variable is set, this will be used. If not, we check to
see if python3 is available, as this should point to the latest
version. If this is also not available, we run with the basic python
command.

Change-Id: I9950cc286c72fd17eac7a3c678ef8ca04ccd8921
Signed-off-by: Eric Ball <eball@linuxfoundation.org>
2 years agoRevert "Fix: Remove "--python" flag from venv act" 57/70057/1 v0.76.2
Anil Belur [Wed, 20 Apr 2022 23:56:25 +0000 (09:56 +1000)]
Revert "Fix: Remove "--python" flag from venv act"

This reverts commit 18d90a9e0b74515b6aa2ac8fc4a17b9d98a7680e.

The issue does not happen on C7/C8 but mostly on Ubuntu and
needs to be addressed elsewhere.

Change-Id: I54abbea2550ed6d80e3c7d75ab86d246c0ec98d2
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
2 years agoFix: Remove "--python" flag from venv activation 40/70040/3 v0.76.1
Eric Ball [Tue, 19 Apr 2022 15:55:59 +0000 (08:55 -0700)]
Fix: Remove "--python" flag from venv activation

Remove "--python" flag from lf-activate-venv call in
capture-instance-metadata. This forces the system to use Python 2,
which is not available on newer systems, and is causing failures.

Change-Id: I456a1463885b6269b555edbd587c9cfc039c78da
Issue: RELENG-4192
Signed-off-by: Eric Ball <eball@linuxfoundation.org>
2 years agoCI: Disable pre-commit in CI 55/70055/1
Jessica Wagantall [Wed, 20 Apr 2022 19:24:37 +0000 (12:24 -0700)]
CI: Disable pre-commit in CI

Packer has been having issues creating new images for a bit and
pre-commit is no longer working in CI because of something upstream
because of this.

Signed-off-by: Jessica Wagantall <jwagantall@linuxfoundation.org>
Change-Id: I64d9e9b2d3edf3ff395ef0886d4e2fe0a5a2dad4

2 years agoMerge "Feat: Append build result to cost file" v0.76.0
Andrew Grimberg [Wed, 13 Apr 2022 23:07:30 +0000 (23:07 +0000)]
Merge "Feat: Append build result to cost file"

2 years agoFix: Activate the virtual environment 17/69917/5 v0.75.1
Anil Belur [Fri, 25 Mar 2022 00:43:03 +0000 (10:43 +1000)]
Fix: Activate the virtual environment

Install Python to make sure its available on all images.

Issue-ID: RELENG-4182
Change-Id: Ic8900474fdfd4ce1bdaeecc1e80fef74ca6538f7
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
2 years agoFeat: Append build result to cost file 71/69871/3
Kevin Sandi [Thu, 17 Mar 2022 23:04:29 +0000 (17:04 -0600)]
Feat: Append build result to cost file

Change-Id: I0f08f364432d4f102655dfe80e98d5202a6b0349
Signed-off-by: Kevin Sandi <ksandi@contractor.linuxfoundation.org>
2 years agoFeat: Add SBOM Generator conditional step 87/69687/14 v0.75.0
Jessica Wagantall [Mon, 7 Feb 2022 23:35:09 +0000 (15:35 -0800)]
Feat: Add SBOM Generator conditional step

This is a conditional step which calls a specific
version of SPDX SBOM generator, runs a scan and generates a
report of software bill of materials in a specific repo.

Issue: RELENG-4104
Signed-off-by: Jessica Wagantall <jwagantall@linuxfoundation.org>
Change-Id: I3433a93efc4141b5e5e1949d7260f7686a015506

2 years agoDocs: Update JJB documentation pointers 18/69818/1
Andrew Grimberg [Mon, 7 Mar 2022 21:43:22 +0000 (13:43 -0800)]
Docs: Update JJB documentation pointers

JJB changed where they are hosting documentation and it's causing issues
with Sphinx link checking

Change-Id: Iedd85caa71cd45a706a278a020b7dab6b4612438
Signed-off-by: Andrew Grimberg <agrimberg@linuxfoundation.org>
2 years agoRefactor: future-proof Java version selector 08/69808/3
Robert Varga [Mon, 7 Mar 2022 07:01:55 +0000 (08:01 +0100)]
Refactor: future-proof Java version selector

In terms of Java versioning we have version epoch transition:
- Java 7 and Java 8 use 1.[7,8].0 as their version
- Java 9 and later use plain {9,10,...} as their version

Adjust the version matching machinery to cover not only Java 11/12, but
all future versions -- assuming versioning schema does not change.

Change-Id: I9b12223c39780353bd8921af4ce8ba1349fbcf13
Signed-off-by: Robert Varga <nite@hq.sk>
2 years agoFeat: Process orphaned coe clusters for K8S jobs 95/69595/6 v0.74.0
Anil Belur [Mon, 31 Jan 2022 00:48:51 +0000 (10:48 +1000)]
Feat: Process orphaned coe clusters for K8S jobs

K8s jobs by default creates stacks names that does not match
JOB_NAME, therefore ignore them while processing orphaned stacks
and handle them separatly when cleaning up the orphaned clusters.

The stack naming scheme is limited to take first 20 chars from the
JOB_NAME while the rest is randomly generated for uniqueness which
breaks the openstack cron jobs.

Ref: https://github.com/openstack/magnum/blob/master/magnum/
drivers/heat/driver.py#L202-L212

Issue-ID: RELENG-4106
Change-Id: Id3d9b74c3e6e2a0abbddb771b7fc7d5ba2b59ca5
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
2 years agoFeat: Add support for OpenJDK17 44/69544/1 v0.73.0
Anil Belur [Thu, 20 Jan 2022 06:45:06 +0000 (16:45 +1000)]
Feat: Add support for OpenJDK17

Change-Id: Ic6369e120cc256d081ebdd66c5d0d154c86fc73b
Issue-ID: RELENG-4097
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
2 years agoFeat: Add new job gerrit-go-verify 56/69356/13 v0.72.0
Kevin Sandi [Wed, 8 Dec 2021 22:27:32 +0000 (16:27 -0600)]
Feat: Add new job gerrit-go-verify

This job adds support for running unit tests on Go projects

Issue-ID: RELENG-4055
Change-Id: I6c4d8bfbaf131837ba91aa1bc1cdf5e2f3f0a790
Signed-off-by: Kevin Sandi <ksandi@contractor.linuxfoundation.org>
2 years agoFeat: Add wait flag for SonarCloud quality gates 52/69152/9 v0.71.0
Kevin Sandi [Mon, 22 Nov 2021 23:15:39 +0000 (17:15 -0600)]
Feat: Add wait flag for SonarCloud quality gates

Add support for wait flag on SonarCloud quality gates, this way jobs
won't finish until the quality gate reports back the result during
the analysis step, which will fail anytime the quality gate fails.

Issue-ID: RELENG-4011
Signed-off-by: Kevin Sandi <ksandi@contractor.linuxfoundation.org>
Change-Id: Idd75faab59e55363d65fc930790336f370ce60d4

2 years agoMerge "Chore: Update pre-commit dependencies" v0.70.1
Anil Belur [Thu, 11 Nov 2021 22:39:58 +0000 (22:39 +0000)]
Merge "Chore: Update pre-commit dependencies"

2 years agoFix: sonary-verify choosing strategy to "gerrit" 05/69105/2 v0.70.0
Eric Ball [Thu, 11 Nov 2021 22:10:54 +0000 (14:10 -0800)]
Fix: sonary-verify choosing strategy to "gerrit"

Change-Id: Id5d1f3b2a832c2206788bb0a06a1173cb9018666
Signed-off-by: Eric Ball <eball@linuxfoundation.org>
2 years agoChore: Update pre-commit dependencies 04/69104/1
Anil Belur [Thu, 11 Nov 2021 22:03:43 +0000 (08:03 +1000)]
Chore: Update pre-commit dependencies

Change-Id: I15f1f1b59ca8d77e6b4052682af2a4b9e8236308
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
2 years agoFix: bug in shell script maven-sonar.sh 97/69097/1 v0.69.1
Kevin Sandi [Tue, 9 Nov 2021 23:23:04 +0000 (17:23 -0600)]
Fix: bug in shell script maven-sonar.sh

In order to fix a bug in maven-sonar.sh we should treat parameter
scan-dev-branch as string instead of boolean

Issue-ID: RELENG-4011
Signed-off-by: Kevin Sandi <ksandi@contractor.linuxfoundation.org>
Change-Id: I6aa16ef65ded5c35174003439f7d183cfa8d0fcf

2 years agoFeat!: Add builder macro to set ansible.cfg file 95/69095/3
Anil Belur [Tue, 9 Nov 2021 00:25:03 +0000 (10:25 +1000)]
Feat!: Add builder macro to set ansible.cfg file

Add packer builder macros to create a 'ansible.cfg' file.
This is required by packer build jobs to set ansible host
configuration. The job or image specific configuration can
be created using JCasC custom files in the ci-man repository.

Issue-ID: RELENG-4032
Change-Id: Ia9fc4d26341228ba8009de6d2ec3c46e31bfc45b
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
2 years agoChore!: Rename 'whitelist' to 'allowlist' 83/69083/5
Anil Belur [Thu, 4 Nov 2021 01:25:59 +0000 (11:25 +1000)]
Chore!: Rename 'whitelist' to 'allowlist'

Improve global-jjb code and documentation to minimize
non-inclusivity.

Change-Id: I3c70ad4ad2c4d34510410b0baab439ab8681954d
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
2 years agoMerge "Feat: Add Maven SonarCloud verify job" v0.69.0
Kevin Sandi [Mon, 25 Oct 2021 23:39:41 +0000 (23:39 +0000)]
Merge "Feat: Add Maven SonarCloud verify job"

2 years agoFix: Pin pyparsing<3.0.0 required by httplib2 11/69011/1 v0.68.1
Anil Belur [Mon, 25 Oct 2021 10:40:08 +0000 (20:40 +1000)]
Fix: Pin pyparsing<3.0.0 required by httplib2

Pin pyparsing<3.0.0 required by httplib2 0.20.1. A new version
of pip 21.3.1 is out that has removed this dependency
(pyparsing<3,>=2.4.2) as required by httplib2.

Issue-ID: RELENG-4022
Change-Id: Ifc00a6c82f82b57768330b491828a159be561679
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
2 years agoFeat: Add Maven SonarCloud verify job 76/68976/11
Kevin Sandi [Thu, 14 Oct 2021 22:55:42 +0000 (16:55 -0600)]
Feat: Add Maven SonarCloud verify job

Add new Maven SonarCloud verify job that will execute SonarCloud
scans before a change gets merged.

Issue-ID: RELENG-4011
Signed-off-by: Kevin Sandi <ksandi@contractor.linuxfoundation.org>
Change-Id: I6045b186bfde76e19d77f50ef14c98107e2cb0c5

2 years agoFix: Correct boot source options for OpenStack 90/68990/2
Andrew Grimberg [Mon, 18 Oct 2021 23:51:39 +0000 (16:51 -0700)]
Fix: Correct boot source options for OpenStack

If a VOLUME_SIZE option is not defined in the base cloud configuration
then the default OpenStack boot selection should be 'image' not
'volumeFromImage' otherwise we are unable to properly take advantage of
all options provided by an OpenStack cloud.

Change-Id: I76ae042d598c9f7fa1868d4ea6a3566f8c6b8115
Signed-off-by: Andrew Grimberg <agrimberg@linuxfoundation.org>
2 years agoFix: Correct bad conversion of OpenStack config 79/68979/1 v0.68.0
Andrew Grimberg [Fri, 15 Oct 2021 00:05:27 +0000 (17:05 -0700)]
Fix: Correct bad conversion of OpenStack config

While attempting to get the OpenDaylight Jenkins Sandbox configured to
start working with JCasC cloud management it was discovered that the
numExecutors flag was being mistranslated.

Change-Id: I5598f9936a2a3190e0ff326dad8ef4503aaceaa2
Signed-off-by: Andrew Grimberg <agrimberg@linuxfoundation.org>
2 years agoFeat: Update default version of JDK to openjdk11 32/68932/3
Anil Belur [Tue, 5 Oct 2021 01:47:15 +0000 (11:47 +1000)]
Feat: Update default version of JDK to openjdk11

JDK8 is soon going to be EOL by Mar 31, 2022. with most of the
LF projects already on JDK11 (LTS), upgrade the default
version to JDK11 (LTS).

https://www.oracle.com/java/technologies/java-se-support-roadmap.html

Issue-ID: RELENG-3978
Change-Id: I56359e72ef58602208242b076f35b19a1b7f5a1d
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
2 years agoFeat: Allow use of newer JDKs for Sonar scans 93/68893/2 v0.67.1
Eric Ball [Fri, 24 Sep 2021 01:54:54 +0000 (18:54 -0700)]
Feat: Allow use of newer JDKs for Sonar scans

Many builders still default to openjdk8 for java, but Sonarcloud
only supports openjdk11+.

Issue: RELENG-3964
Signed-off-by: Eric Ball <eball@linuxfoundation.org>
Change-Id: Ida96f7f242a397a60e40e26f910510d665bcf577

2 years agoFix: Update sphinx requirements 92/68892/1
Eric Ball [Fri, 24 Sep 2021 00:08:24 +0000 (17:08 -0700)]
Fix: Update sphinx requirements

Our older sphnix requirements are out of date, and are trying to pull
in packages that are no longer supported.

Change-Id: I69d336d324af2a512b8d756f0e8f83c244642029
Signed-off-by: Eric Ball <eball@linuxfoundation.org>
2 years agoFeat: Add "Unmaintained" lifecycle_state for INFO 14/68814/1 v0.67.0
Eric Ball [Wed, 15 Sep 2021 22:54:21 +0000 (15:54 -0700)]
Feat: Add "Unmaintained" lifecycle_state for INFO

This adds "Unmaintained" as a valid lifecycle_state to be used in
INFO.yaml files, per request from ONAP.

Issue: RELENG-3955
Change-Id: I8dfb947b8a0936c552c087dda6c115563b69c74f
Signed-off-by: Eric Ball <eball@linuxfoundation.org>
2 years agoFix: Add missing v3-standard Vexxhost flavors 59/68759/1 v0.66.1
Eric Ball [Thu, 9 Sep 2021 21:34:38 +0000 (14:34 -0700)]
Fix: Add missing v3-standard Vexxhost flavors

Issue: RELENG-3935
Change-Id: Ib3f317bc918a9c742ee339808c84ec432b0af8ee
Signed-off-by: Eric Ball <eball@linuxfoundation.org>
2 years agoMerge "Feat: Allow scans in short lived branches" v0.66.0
Eric Ball [Thu, 9 Sep 2021 19:12:00 +0000 (19:12 +0000)]
Merge "Feat: Allow scans in short lived branches"

2 years agoFeat: Allow scans in short lived branches 51/68151/16
Jessica Wagantall [Fri, 25 Jun 2021 19:32:25 +0000 (12:32 -0700)]
Feat: Allow scans in short lived branches

Add functionality to allow scans of short lived
branches in SonarCloud.
Developers will be able to turn this feature on
by setting "scan-dev-branch: true"

Issue: RELENG-3937
Signed-off-by: Jessica Wagantall <jwagantall@linuxfoundation.org>
Change-Id: I6b32771ba00e86927ba179596c467b37c831bd2d

2 years agoFeat: Add v3-starter flavors to cloud lookup 58/68758/2
Eric Ball [Thu, 9 Sep 2021 18:29:14 +0000 (11:29 -0700)]
Feat: Add v3-starter flavors to cloud lookup

Issue: RELENG-3935
Change-Id: I114ca41c020c3d408d2afdf0934f57c166312ad8
Signed-off-by: Eric Ball <eball@linuxfoundation.org>
2 years agoChore: Upgrade pre-commit hooks 78/68678/1
Andrew Grimberg [Wed, 1 Sep 2021 18:04:48 +0000 (11:04 -0700)]
Chore: Upgrade pre-commit hooks

* github.com/pre-commit/pre-commit-hooks: v3.4.0 -> v4.0.1
* github.com/pre-commit/mirrors-prettier: v2.2.1 -> v2.3.2
* github.com/adrienverge/yamllint: v1.26.1 -> v1.26.3

Change-Id: I0ec2f3e17da3c5215a824ebe501468796f0d6316
Signed-off-by: Andrew Grimberg <agrimberg@linuxfoundation.org>
2 years agoFix: Labels should always include config name 88/68588/1 v0.65.3
Eric Ball [Thu, 19 Aug 2021 21:58:20 +0000 (14:58 -0700)]
Fix: Labels should always include config name

Openstack labels need to include the config name, in addition to any
labels explicitly defined. This also changes the builder name to
match the config name, rather than using the labels (which can be
only one label, but is technically a space-separated list).

Change-Id: I29ccc9987aa02d1e96930d165908396b46223fa8
Signed-off-by: Eric Ball <eball@linuxfoundation.org>
2 years agoFix: If no volume set, use "image" type 85/68585/2
Eric Ball [Thu, 19 Aug 2021 19:02:44 +0000 (12:02 -0700)]
Fix: If no volume set, use "image" type

If no volume_size is defined, the default behavior was to set one to
10GB. However, the proper way to handle this is to use an "Image"
boot source rather than "Volume From Image".

Change-Id: Ib4a33f224ea1044b076d965faa164686da071cc4
Signed-off-by: Eric Ball <eball@linuxfoundation.org>
2 years agoFix: Use cloud agent name as default node label 07/68507/2 v0.65.2
Eric Ball [Tue, 10 Aug 2021 21:50:42 +0000 (14:50 -0700)]
Fix: Use cloud agent name as default node label

Rather than quitting if there are no labels defined, we can instead
use the agent name (e.g. "centos7-2c-1g") as the default label. This
recreates the functionality of the groovy scripts previously used.

Issue: RELENG-3863
Change-Id: I3817cca81358fa151fdeb1bbc8516df983327965
Signed-off-by: Eric Ball <eball@linuxfoundation.org>
2 years agoRefactor: Simplify and improve readability 06/68506/1
Eric Ball [Tue, 10 Aug 2021 21:44:05 +0000 (14:44 -0700)]
Refactor: Simplify and improve readability

This includes improvements to PEP8 formatting, grammar, and variable
naming, plus several changes to make code more efficient or readable.

Issue: RELENG-3863
Change-Id: I823db03175f96db3b99ee5fcc715345462a47139
Signed-off-by: Eric Ball <eball@linuxfoundation.org>
2 years agoFix: Install lftools before other packages 00/68300/1 v0.65.1
Eric Ball [Thu, 15 Jul 2021 18:41:22 +0000 (11:41 -0700)]
Fix: Install lftools before other packages

lftools has an incompatibility with python-docker >4.2, and this
requirement seems to be causing a conflict with other packages that
python-tools-install is installing. This causes an older version of
lftools to be installed (0.31.1, the last version when docker was not
pinned).

By installing lftools first, its requirements will take
precedence over other packages.

Issue: RELENG-3792
Change-Id: I0d3ca88dbe51c97ce495f6db0eb66829a61ad3bc
Signed-off-by: Eric Ball <eball@linuxfoundation.org>
2 years agoFeat: allow more tox parallel mode configurations 44/68044/7 v0.65.0
Guillaume Lambert [Thu, 17 Jun 2021 12:43:00 +0000 (14:43 +0200)]
Feat: allow more tox parallel mode configurations

Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
Change-Id: I8a812ed25f3836c100704914f08491a61642679f

2 years agoRefactor: how to pass options to tox in tox-run.sh 43/68043/3
Guillaume Lambert [Thu, 17 Jun 2021 12:15:24 +0000 (14:15 +0200)]
Refactor: how to pass options to tox in tox-run.sh

Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
Change-Id: I3cae2a28f8cdf10b4b547f729d436cb204322247

2 years agoDocs: remove reference to detox 41/68041/3
Guillaume Lambert [Thu, 17 Jun 2021 09:36:01 +0000 (11:36 +0200)]
Docs: remove reference to detox

Detox globaljjb support was removed in a previous commit.
1873622e1b5bf98150db6850901d190dd6c35422
Parallel jobs are now natively supported by tox since version 3.7.0
thanks to the option "-p" / "--parallel".
This new option offers more possibilities than detox and other options
have also been introduced to tune tox behavior in parallel mode.
The configuration choices made in globaljjb must be clarified.

Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
Change-Id: I82c88ea96ee1332b95ab13f0b7dbf2a04e00f37a

2 years agoFix: Skip vote for jjb-deploy also when successful 10/67910/2
Vratko Polak [Tue, 8 Jun 2021 15:16:48 +0000 (17:16 +0200)]
Fix: Skip vote for jjb-deploy also when successful

The previous code used "success" instead of "successful".

Fixes: bfe91be03d516a56adb74abd1e16c50b86c27c6e

Change-Id: If73f2f2756c10d0a7230ad1214e8ea3c86b1b114
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2 years agoFeat: Add support for Ubuntu 20.04 and Docker 14/67714/6 v0.63.2 v0.64.0
Vanessa Rene Valderrama [Thu, 13 May 2021 17:22:28 +0000 (12:22 -0500)]
Feat: Add support for Ubuntu 20.04 and Docker

Updating the sysstat script to support Ubuntu 20.04 and Docker systems

Signed-off-by: Vanessa Rene Valderrama <vvalderrama@linuxfoundation.org>
Change-Id: I12e6daa8a04228337c99b004e67338eb8f6a8f1a

2 years agoCI: bashate warns lines>80 and forbids >120 74/67674/7
Guillaume Lambert [Tue, 11 May 2021 16:30:51 +0000 (18:30 +0200)]
CI: bashate warns lines>80 and forbids >120

Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
Change-Id: Ib981e33c31c704ef3e8fb434f8766b0e217b2b1d

2 years agoFix: bashate E006 warnings for lines > 120 chars 76/67576/14
Guillaume Lambert [Tue, 4 May 2021 11:46:48 +0000 (13:46 +0200)]
Fix: bashate E006 warnings for lines > 120 chars

Lines too long can not only cause problems when reading/writing code,
but also often indicates a bad smell,
e.g. too many levels of indentation due to overly complex functions
which requires refactoring into smaller chunks.

Note that the bashate current profile reports every line > 80 chars.
After this commit, 211 warnings of this category will still remain.

Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
Change-Id: Ibbb171353fd960ea93145f7913e62e327bd6a86b

2 years agoCI: enforce bashate tox profile 84/67584/16
Guillaume Lambert [Tue, 4 May 2021 15:21:00 +0000 (17:21 +0200)]
CI: enforce bashate tox profile

Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
Change-Id: I920542ec62e67ee37aebd554076bd79d6863212a

2 years agoFix: bashate E003 warnings 78/67578/16 v0.63.1
Guillaume Lambert [Tue, 4 May 2021 12:13:45 +0000 (14:13 +0200)]
Fix: bashate E003 warnings

Indentations must be aligned to multiple of 4 columns.

Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
Change-Id: I0bdb8b2fafd1811e55fbbacaa4c4cb6a2b59f822

2 years agoRefactor: use POSIX shell function declaration 75/67575/13
Guillaume Lambert [Tue, 4 May 2021 09:27:12 +0000 (11:27 +0200)]
Refactor: use POSIX shell function declaration

POSIX function style is already used in most of shell scripts.
By the way, this style fixes bashate E020 warnings.

Non POSIX function declarations in a format different from
^function name {$ are warned by bashate.
There are several equivalent ways to define functions in Bash.
This is for consistency.

Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
Change-Id: I5f02e7052101617314157ec408532dd024e80a72

2 years agoFix: bashate E002 warnings about tabs indents 74/67574/12
Guillaume Lambert [Tue, 4 May 2021 08:31:14 +0000 (10:31 +0200)]
Fix: bashate E002 warnings about tabs indents

Tabs must be avoided and replaced by 4 whitespaces according to the
standard usage.

Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
Change-Id: Ic21fe1646b60b6630d54fd16b8b2e1fa6d4c49fb

2 years agoFix: bashate E011 warnings 73/67573/12
Guillaume Lambert [Tue, 4 May 2021 09:01:41 +0000 (11:01 +0200)]
Fix: bashate E011 warnings

E011 rule ensures consistency of "then" directive being on the same line
as it's condition.
This is similar to E010 in the previous commit
but to ensure the consistency of if/elif statements.

Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
Change-Id: I6d3ff5b468fa47948b0123c017980e00a94cf82f

2 years agoFix: bashate E010 warnings 72/67572/11
Guillaume Lambert [Tue, 4 May 2021 08:25:50 +0000 (10:25 +0200)]
Fix: bashate E010 warnings

E010 rule ensures consistency of "do" directive being on the same line
as it's command.

Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
Change-Id: Id7717658728968da017107c4b496cdfbe0c5b6b0

2 years agoFix: bashate E043 warnings 71/67571/9
Guillaume Lambert [Tue, 4 May 2021 08:14:24 +0000 (10:14 +0200)]
Fix: bashate E043 warnings

Arithmetic compound has inconsistent return semantics

((expr)) has a trap that if expr is 0, the return value is 1.
This will trigger a failure with "set -e" and can be very confusing.
It is good defensive programming to avoid this with explicit assignment.

Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
Change-Id: I412bd8872560c90c28642ed5433eab9b2a29a5e8

2 years agoCI: Add bashate tox profile 70/67570/7
Guillaume Lambert [Mon, 3 May 2021 18:52:24 +0000 (20:52 +0200)]
CI: Add bashate tox profile

Bashate is a shell linter inspired from PEP8.
It helps improving shell scripts.

Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
Change-Id: I351a205cbfdc160660958069a8060badb68aa28a

3 years agoMerge "Fix: Set S3 URL in the target framename"
Andrew Grimberg [Mon, 10 May 2021 13:38:54 +0000 (13:38 +0000)]
Merge "Fix: Set S3 URL in the target framename"

3 years agoFix: Set S3 URL in the target framename 40/67640/2
Anil Belur [Sat, 8 May 2021 07:21:02 +0000 (17:21 +1000)]
Fix: Set S3 URL in the target framename

Set S3 URL in the framename of the target attribute.
The description-setter plugin does not read the URL
when the framename is unset.

Issue: RELENG-3269
Change-Id: I47c488b586cf68164a0273a14134e490c8c12cec
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
3 years agoCI: Properly run gitlint in CI 41/67641/4
Andrew Grimberg [Sat, 8 May 2021 14:40:45 +0000 (07:40 -0700)]
CI: Properly run gitlint in CI

When running pre-commit in a CI system the COMMIT_EDITMSG does not
(normally) get created as that is an artifact of editing the commit
message. If the file doesn't exist then gitlint will skip which makes it
possible for pre-commit checks that should fail, to pass.

Since we want tox to run in a consistent manner both locally and in CI
we need to play around a little with how we are checking the commit
message.

Change-Id: I3990aa9846dc8479cadaad5025e45f863623bf86
Signed-off-by: Andrew Grimberg <agrimberg@linuxfoundation.org>