Lott, Christopher (cl778h) [Tue, 28 Jan 2020 15:03:14 +0000 (10:03 -0500)]
Release jobs use Gerrit Trigger choosing strategy
Use choosing strategy Gerrit Trigger in container/jar and
package cloud release merge jobs. This retains the current
behavior in the simple merge case, and ensures that a job
triggered by a "remerge" comment uses the release file at
that commit. The previous choosing strategy, default, uses
the tip of the target branch. That does not allow recovery
from merge job failure if the target branch has advanced past
the commit with the release file.
Change-Id: I6685e54da9f1510243f52506794cf52a28b9eb61
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Eric Ball [Mon, 27 Jan 2020 15:54:44 +0000 (15:54 +0000)]
Merge "Call "lftools jenkins" after credentials are set"
Eric Ball [Fri, 24 Jan 2020 23:25:38 +0000 (15:25 -0800)]
Call "lftools jenkins" after credentials are set
We have been seeing failures due to the "lftools jenkins plugins"
call being made without credentials being set first. The previous
method did not require credentials, so the failure was introduced
when we switched to using lftools. The os_plugin_version variable
is not needed before this part of the script, so by moving the
assignment to after JENKINS_USER and JENKINS_PASSWORD are set, the
script is once again successful.
Issue: IT-18593
Change-Id: Ib3e6099992abade5860eedd1bda07015b13f0f91
Signed-off-by: Eric Ball <eball@linuxfoundation.org>
Jessica Wagantall [Fri, 24 Jan 2020 21:34:33 +0000 (13:34 -0800)]
Upgade WS Agent to 19.12.2
Change-Id: I8a5ceeb55e8b4478667c516b8ba6c2ed0924972d
Signed-off-by: Jessica Wagantall <jwagantall@linuxfoundation.org>
Lott, Christopher (cl778h) [Fri, 24 Jan 2020 00:25:57 +0000 (19:25 -0500)]
Show python and pip versions in log
Extend shell scripts that invoke pip freeze to show
python and pip versions also.
Change-Id: I75fff4d379a7cbd27aa867c2cae4f2fd2dde2c31
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Aric Gardner [Thu, 23 Jan 2020 20:14:43 +0000 (20:14 +0000)]
Merge "Add pip freeze to python-tools-install"
Lott, Christopher (cl778h) [Thu, 23 Jan 2020 19:07:42 +0000 (14:07 -0500)]
Add pip freeze to python-tools-install
Package version details support detection of changes in dependencies
like pip
Change-Id: Ic1b8a943c03e497aa1af85370d16e2bc5bc2c081
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Lott, Christopher (cl778h) [Thu, 23 Jan 2020 18:19:31 +0000 (13:19 -0500)]
Catchup release notes for python-tools-install.sh
Change-Id: I5964d216a89e629c86e56b2a0e6e49fa352368c2
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Thanh Ha [Thu, 23 Jan 2020 17:31:29 +0000 (12:31 -0500)]
DO NOT create a virtualenv in ~/.local
~/.local is NOT a Python virtualenv and should not be created as such.
Using `--user` installs python modules into
~/.local/lib/PYTHON_VERSION/site-packages
Making ~/.local a virtualenv messes with the paths in site-packages.
This reverts one of the changes from
I4b2d778f3fd81565c5dd009d50c969696faba0d2
Ref: https://www.python.org/dev/peps/pep-0370
Signed-off-by: Thanh Ha <zxiiro@gmail.com>
Change-Id: Ie2635b691c8cdf5718fc2617d4de41a3d5a2c347
Aric Gardner [Thu, 23 Jan 2020 12:17:41 +0000 (07:17 -0500)]
Revert "remove --user"
Revert "remove --user now that pip is 20.0.x"
This reverts commit
8a2651316c6c2f121a32d1121dd3ff7dc0e8ac24.
Signed-off-by: Aric Gardner <agardner@linuxfoundation.org>
Change-Id: If462b4d6ad672c044f0e8fb78f9d36211562e24d
Anil Belur [Thu, 23 Jan 2020 00:19:26 +0000 (00:19 +0000)]
Merge "Upgrade pre-commit hook repos to latest"
Anil Belur [Thu, 23 Jan 2020 00:18:51 +0000 (00:18 +0000)]
Merge "Accept maven configuration in Python tox sonar"
Anil Belur [Thu, 23 Jan 2020 00:17:46 +0000 (00:17 +0000)]
Merge "Typo jason -> json"
Aric Gardner [Wed, 22 Jan 2020 20:18:11 +0000 (15:18 -0500)]
remove --user now that pip is 20.0.x
I will find the release notes and add them here
Signed-off-by: Aric Gardner <agardner@linuxfoundation.org>
Change-Id: I321596b2d05bd3d13d9fde9cef598f95084777ea
Lott, Christopher (cl778h) [Wed, 22 Jan 2020 15:06:18 +0000 (10:06 -0500)]
Accept maven configuration in Python tox sonar
Extend lf_tox_sonar with parameters macro lf-infra-maven-parameters
so job definitions can configure mvn-opts, mvn-params and mvn-version
values. Default values are defined so existing jobs are not affected.
This change makes the python-tox sonar template consistent with the
maven sonar template.
Extend the PyPI package structure recommendation with a way to share
the docs/ folder.
Change-Id: I2f785cabc9058238d36505c8b4af8f87114a685a
Issue-Id: RELENG-2677
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Tim Johnson [Mon, 13 Jan 2020 21:21:18 +0000 (13:21 -0800)]
Python2/3 problem in jjb-deploy job
Removed ref of macro: lf-pip-install from macro: lf_jjb_deploy_job. A
call to lf-activate-venv() has beed added to jjb-deploy-job.sh to
install jenkins-jobs command. The pip-install.sh is no longer needed.
ISSUE: IT-18720
Change-Id: Ice1e9793f131eace41a3df9bbbe598aac071c1df
Signed-off-by: Tim Johnson <tijohnson@linuxfoundation.org>
Anil Belur [Tue, 21 Jan 2020 05:04:51 +0000 (05:04 +0000)]
Merge "Disable script location warnings"
Lott, Christopher (cl778h) [Mon, 20 Jan 2020 23:13:08 +0000 (18:13 -0500)]
Add quotes around variable to silence shellcheck
Modify maven-javadoc-generate.sh to put double quotes around use of
environment variable to silence shellcheck warning that I missed.
No functional change to behavior.
Change-Id: Icfd01adcff8ae03cf43fefd3751427ee2d0dc2b6
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Eric Ball [Mon, 20 Jan 2020 21:00:09 +0000 (21:00 +0000)]
Merge "Revise javadoc script dash-f argument"
Thanh Ha [Thu, 16 Jan 2020 17:44:51 +0000 (12:44 -0500)]
Typo jason -> json
Signed-off-by: Thanh Ha <zxiiro@gmail.com>
Change-Id: I7f48f94726e2c4efd8021dc6b0aede2f5f67da51
Thanh Ha [Thu, 16 Jan 2020 00:23:22 +0000 (19:23 -0500)]
Upgrade pre-commit hook repos to latest
Use the latest available hook repo tags for our pre-commit
hooks.
Signed-off-by: Thanh Ha <zxiiro@gmail.com>
Change-Id: Id1a702dc410faf85ad6ab6f739fcc1bbddcc270e
Thanh Ha [Wed, 15 Jan 2020 23:21:56 +0000 (18:21 -0500)]
Migrate shellcheck hook to pre-commit
Use pre-commit to run the shellcheck hook rather than coala as
we want to eventually phase out coala.
Signed-off-by: Thanh Ha <zxiiro@gmail.com>
Change-Id: Id8068a29379a5c71c6f016e00e99325939e1e693
Thanh Ha [Thu, 16 Jan 2020 00:09:46 +0000 (19:09 -0500)]
Resolve shellcheck SC2001
SC2001: See if you can use ${variable//search/replace} instead.
Signed-off-by: Thanh Ha <zxiiro@gmail.com>
Change-Id: Ib4cce69c29ade0b37c2bffcf9f566f9ab8821b29
Thanh Ha [Wed, 15 Jan 2020 23:27:05 +0000 (18:27 -0500)]
Resolve shellcheck SC2086 double quote
SC2086: Double quote to prevent globbing and word splitting.
Signed-off-by: Thanh Ha <zxiiro@gmail.com>
Change-Id: Ib5fee4b949ec02e265b9d0e628a36ce63ce18784
Thanh Ha [Thu, 16 Jan 2020 00:06:08 +0000 (19:06 -0500)]
Resolve shellcheck SC219[67] ?grep non-standard
SC2196: egrep is non-standard and deprecated. Use grep -E instead.
SC2197: fgrep is non-standard and deprecated. Use grep -F instead.
Signed-off-by: Thanh Ha <zxiiro@gmail.com>
Change-Id: Ibbeb8d799c6c31b6706306c4760c371efde573c8
Thanh Ha [Wed, 15 Jan 2020 23:47:01 +0000 (18:47 -0500)]
Resolve shellcheck SC2002 useless cat
SC2002: Useless cat. Consider 'cmd < file | ..' or
'cmd file | ..' instead.
Signed-off-by: Thanh Ha <zxiiro@gmail.com>
Change-Id: Icdbeec332969ce5d8769aea1eb325a7fe35bcc77
Thanh Ha [Wed, 15 Jan 2020 23:44:15 +0000 (18:44 -0500)]
Resolve shellcheck SC2116 useless echo
SC2116: Useless echo? Instead of 'cmd $(echo foo)', just use 'cmd foo'
Signed-off-by: Thanh Ha <zxiiro@gmail.com>
Change-Id: If656687c1968b901255bf4d4108f193bffc69cce
Thanh Ha [Thu, 16 Jan 2020 00:20:54 +0000 (19:20 -0500)]
Resolve shellcheck SC2219 use (()) instead of let
SC2219: Instead of 'let expr', prefer (( expr )) .
Signed-off-by: Thanh Ha <zxiiro@gmail.com>
Change-Id: Ibb7b4c66915c1d4c95f3475a9a9535115a00463e
Thanh Ha [Thu, 16 Jan 2020 00:18:18 +0000 (19:18 -0500)]
Ignore shellcheck SC2012 use find instead of ls
It's reasonable to ignore this here as we're just piping ls to wc
to get a file count. The list of filenames is not being parsed in
anyway in this case.
SC2012: Use find instead of ls to better handle non-alphanumeric
filenames.
Signed-off-by: Thanh Ha <zxiiro@gmail.com>
Change-Id: I0687b24816c2b4920893162297cd318f813d7109
Thanh Ha [Thu, 16 Jan 2020 02:26:37 +0000 (12:26 +1000)]
Resolve shellcheck SC2129 use {...} >> file
SC2129: Consider using { cmd1; cmd2; } >> file instead of
individual redirects.
Signed-off-by: Thanh Ha <zxiiro@gmail.com>
Change-Id: Ib7327c9f5867379654ada6b89d415321fe9fc89a
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
Lott, Christopher (cl778h) [Wed, 15 Jan 2020 20:17:03 +0000 (15:17 -0500)]
Revise javadoc script dash-f argument
Revise shell script maven-javadoc-generate.sh to supply -f
argument to maven with absolute path determined by readlink.
This works around javadoc:aggregate behavior of silently
generating no files in parent project if invoked as "-f ."
Change-Id: I6856756539dd8aee80d8841dfbfe9efb76b8cb93
Issue-Id: RELENG-2672
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Thanh Ha [Wed, 15 Jan 2020 23:59:09 +0000 (18:59 -0500)]
Resolve shellcheck SC1001 \= will be a regular =
SC1001: This \= will be a regular '=' in this context.
Signed-off-by: Thanh Ha <zxiiro@gmail.com>
Change-Id: I93f57b15802c9f07a789e9c3aa1a60cba40ab00b
Thanh Ha [Wed, 15 Jan 2020 23:55:46 +0000 (18:55 -0500)]
Resolve SC1008 shebang was unrecognized
SC1008: This shebang was unrecognized. ShellCheck only supports
sh/bash/dash/ksh. Add a 'shell' directive to specify.
Signed-off-by: Thanh Ha <zxiiro@gmail.com>
Change-Id: I63aef5c1634c26860c2bf63a9a930c1584515551
Anil Belur [Wed, 15 Jan 2020 01:44:27 +0000 (11:44 +1000)]
Disable script location warnings
Disable these pip install warning that are not useful in the console
logs.
WARNING: The scripts easy_install and easy_install-3.6 are installed
in '/home/jenkins/.local/bin' which is not on PATH. Consider adding
this directory to PATH or, if you prefer to suppress this warning use
--no-warn-script-location.
Change-Id: Iddf89e31cc18324ec936799cce378beb3d5809de
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
Houa Yang [Tue, 14 Jan 2020 17:57:08 +0000 (11:57 -0600)]
Fix packagecloud match_release function and docs.
Fix search for string that matches the output used by
packagecloud gem when pushing packages.
Correct docs to reflect not having the version in the package name.
Signed-off-by: Houa Yang <hyang@contractor.linuxfoundation.org>
Change-Id: I1a696c77be94f3057c30764ae6ba710beed8bb84
Lott, Christopher (cl778h) [Mon, 13 Jan 2020 15:36:56 +0000 (10:36 -0500)]
Add info output in maven-javadoc-generate.sh
Revise shell script maven-javadoc-generate.sh to
drop unnecessary -l for login shell;
restore shell -x behavior to maven command for debug details in log;
add info output when creating tarball in verify path.
Change-Id: Ifdd5693dee73ffd7a75a97f3a572f3a31aafd7c4
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Issue-ID: RELENG-1872
Lott, Christopher (cl778h) [Mon, 23 Dec 2019 20:32:48 +0000 (15:32 -0500)]
Generate javadoc from a project in a subdirectory
Lift the assumption that all files are in the git repository root.
Extend maven-javadoc publish and javadoc-verify macros with mvn-dir
configuration parameter (like tox-dir), defaults to '.' to preserve
existing behavior.
Extend maven-javadoc-generate.sh script to invoke mvn with the -f
option and use the directory name when archiving the generated HTML;
drop -x setting to conform with other scripts.
Document the new configuration parameter.
Projects using macros lf-maven-javadoc-publish, lf-maven-javadoc-verify
(i.e., using job templates gerrit-maven-javadoc-publish,
github-maven-javadoc-publish, gerrit-maven-javadoc-verify or
github-maven-javadoc-verify) must ensure the maven -f option is not
used in config parameter mvn-params.
Change-Id: Ib02a12a3192b8be577a0367476628c46db333231
Issue-ID: RELENG-1872
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Tim Johnson [Thu, 9 Jan 2020 17:31:08 +0000 (09:31 -0800)]
Update update-cloud-images script to use python3.
Use lf-activate-venv() to install openstack based on python3. Also added
error handling (script was ignoring errors by default). Minor cleanup of
syntax that does not effect functionality. Some improvements made to
comments and improved logging.
Issue: RELENG-2647
Change-Id: I4ddc0036bf178ca7185a00454dfa6f26433a8bab
Signed-off-by: Tim Johnson <tijohnson@linuxfoundation.org>
Aric Gardner [Fri, 20 Dec 2019 20:21:48 +0000 (15:21 -0500)]
Allow projects to set their tox-dir
default is "."
Projects that don't want tox dir to be "."
can set it to "docs/"
also call to shell must be a
include-raw-escape
ISSUE-ID: RELENG-2520
Signed-off-by: Aric Gardner <agardner@linuxfoundation.org>
Change-Id: I53296072928b1a112213c7d041059c4e0b185812
Tim Johnson [Thu, 19 Dec 2019 19:13:30 +0000 (11:13 -0800)]
Fix broken pipe in jenkins-sandbox-cleanup script
Issue: RELENG-2640
Change-Id: I67b66146838e816b6da3e9846205ea68a7ce965c
Signed-off-by: Tim Johnson <tijohnson@linuxfoundation.org>
Tim Johnson [Sun, 15 Dec 2019 21:35:10 +0000 (13:35 -0800)]
Update lf-env Bash Library
lf-env is now a shell variable pointing to the head of the python
venv. Added --no-path & --system-site-packages flags to the
lf-activate-venv() function.
Issue: : RELENG-2566
Change-Id: Id5c5df6efb1da8c6912c346f56cb2d87f19cae7b
Signed-off-by: Tim Johnson <tijohnson@linuxfoundation.org>
Houa Yang [Thu, 12 Dec 2019 17:34:31 +0000 (11:34 -0600)]
Update packagecloud jobs
Add sigul to lf-packagecloud-release-common. Add
set_variables_packagecloud. Allow tagging repo with ref or git_tag.
Add logs_dir to release-packagecloud-schema.yaml.
Issue-Id: RELENG-2579
Signed-off-by: Houa Yang <hyang@contractor.linuxfoundation.org>
Change-Id: I23a8ef1e0aed261b0fbca6375c694b4ed268c082
Aric Gardner [Mon, 16 Dec 2019 21:23:25 +0000 (21:23 +0000)]
Merge "RTD Allow projects to change their default-version"
Tim Johnson [Fri, 8 Nov 2019 17:11:01 +0000 (09:11 -0800)]
Get build cost estimates
Generate and archive files containing cost, time & job info. If this is
a Openstack job call 'lftools openstack stack cost' to retrieve and
include costs from the stack members. Added two new scripts:
openstack-stack-delete.sh & job-cost.sh. The 'openstack-stack-delete
script' will retrieve the costs for the stack and delete the stack. The
'job-cost' will generate the job cost file which will include the costs
for the build agent and any Openstack members.
Issue: RELENG-1867
Change-Id: I658f5b42f90a28010e6f98f2f3c3ebb166192c30
Signed-off-by: Tim Johnson <tijohnson@linuxfoundation.org>
Aric Gardner [Thu, 21 Nov 2019 21:32:18 +0000 (16:32 -0500)]
RTD Allow projects to change their default-version
Allow docs release via jjb config
Changes the default landing page from /latest/ to /stable/
by default we se to /latest/ (a no-op)
And on release change to stable via jjb config.
read the docs, by design creates /latest/ and /stable/ landing points
for the user.
If read the docs sees a tag or a new branch, it creates a /stable/
directory, which follows the latest tag or if there is no tag, the
latest branch.
Related issue where I ask for clarification as to their default
behavior in this regards.
https://github.com/readthedocs/readthedocs.org/issues/6415
ISSUE: RELENG-2549
Signed-off-by: Aric Gardner <agardner@linuxfoundation.org>
Change-Id: I33a8df14e68340ba268c953a471daa02ee6fe766
Andrew Grimberg [Sat, 14 Dec 2019 16:31:16 +0000 (16:31 +0000)]
Merge "Add JOB info to commit message"
Jamo Luhrsen [Thu, 12 Dec 2019 20:25:36 +0000 (12:25 -0800)]
Add JOB info to commit message
Signed-off-by: Jamo Luhrsen <jluhrsen@gmail.com>
Change-Id: Icb6e7e40752a1c6f91b2c0f73c9cefc4ccfb91de
Signed-off-by: Jamo Luhrsen <jluhrsen@gmail.com>
Tim Johnson [Thu, 12 Dec 2019 04:00:14 +0000 (20:00 -0800)]
Remove Invalid function call from Bash library
The function lf-echo-error() was renamed lf-echo-stderr(). Rename the
bad references. Some cleanup of log messages.
Issue: RELENG-2581
Change-Id: Ieaccc6049e3a7e70c3bb973f993849bc2a50579c
Signed-off-by: Tim Johnson <tijohnson@linuxfoundation.org>
Lott, Christopher (cl778h) [Thu, 12 Dec 2019 14:43:45 +0000 (09:43 -0500)]
Add explanation of ReadTheDocs v3 projects
Change-Id: I2e25d97d1df9cc22ad3660e58764f256c0ee2e4c
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Anil Belur [Thu, 12 Dec 2019 12:51:28 +0000 (12:51 +0000)]
Merge "Extend tag feature of release jobs"
Lott, Christopher (cl778h) [Wed, 11 Dec 2019 17:08:07 +0000 (12:08 -0500)]
Extend tag feature of release jobs
Extend release-yaml schema files to allow git_tag entry.
Extend lf-build-with-parameters-maven-release macro with GIT_TAG.
Extend release-job.sh:
* detect and use optional git_tag string.
* detect and reject an existing lightweight tag that blocks
push of a gpg-signed tag.
* change GERRIT_HOST to GERRIT_URL in method for obtaining LF
umbrella project to allow testing in the sandbox.
* rename function from tag to tag-gerrit-repo.
* simplify tests for presence of Jenkins parameter values
* show more details about steps as INFO statements
Include schema file contents into documentation; remove the copies.
Change-Id: Iee2167b059c7f0ecf86ab6eb8dead36ec96be1b5
Issue-ID: RELENG-2568, RELENG-2586
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Jessica Wagantall [Wed, 11 Dec 2019 17:04:57 +0000 (09:04 -0800)]
Revert "Add step to verify stage repo is closed"
This reverts commit
9c9feb37d817b1829d82e1531fa3a85499cbe7c4.
Change-Id: Ibd8060a990f2f39a20bb1e72cfd3b8a4e6e26c9c
Signed-off-by: Jessica Wagantall <jwagantall@linuxfoundation.org>
Eric Ball [Wed, 11 Dec 2019 02:16:16 +0000 (02:16 +0000)]
Merge "Revise docker-get-container-tag-script macro"
Tim Johnson [Fri, 29 Nov 2019 19:18:11 +0000 (11:18 -0800)]
Fix code for generating Build Config Tarball
Also cleanup log messages (reduce and refine)
Issue: RELENG-2542
Change-Id: I9d7a9fa9e083afb54069a3f5166c8f05ce20fe16
Signed-off-by: Tim Johnson <tijohnson@linuxfoundation.org>
Anil Belur [Tue, 10 Dec 2019 21:43:32 +0000 (21:43 +0000)]
Merge "Make gerrit-branch-lock work for all proj/branches"
Lott, Christopher (cl778h) [Tue, 10 Dec 2019 19:04:06 +0000 (14:04 -0500)]
Revise docker-get-container-tag-script macro
Silence JJB warning by calling include-raw (not include-raw-escape)
when pulling in shell-script content; the result is the same.
Extend the documentation for the supported methods.
Add details on the contract of the shell script.
Change-Id: I6de0746653d3ceaf6df9fc63eb7aff5259f4b062
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Eric Ball [Fri, 6 Dec 2019 04:04:19 +0000 (20:04 -0800)]
Make gerrit-branch-lock work for all proj/branches
Add gerrit-branch-lock to gerrit ci-jobs, and make it so that it can
be triggered from any change, for any branch.
Issue: RELENG-1236
Change-Id: I757f76c940bdbed10e3c1bc8a422ef94f1495dee
Signed-off-by: Eric Ball <eball@linuxfoundation.org>
Lott, Christopher (cl778h) [Fri, 6 Dec 2019 15:10:24 +0000 (10:10 -0500)]
Extend logs-deploy.sh with echo statements
Show config/parameter values to document the script actions in logs.
Change-Id: I2e5e54d2f0c45bb4f3482e081ff8e17ad3b9e28a
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Lott, Christopher (cl778h) [Wed, 4 Dec 2019 18:27:07 +0000 (13:27 -0500)]
Add pypi prefix to example filename in layout
A recent change to the PyPI release job trigger requires
"pypi" as the prefix on the release yaml file.
Also correct a one-word mistake in the release jobs doc,
should not say "verify" when discussing the merge template.
Change-Id: Ieeb7c96c225893ee52710e133afb06fa9639cb85
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Andrew Grimberg [Tue, 3 Dec 2019 22:00:41 +0000 (22:00 +0000)]
Merge "Global JJB Disable generation of pip lists"
Houa Yang [Mon, 2 Dec 2019 16:30:08 +0000 (10:30 -0600)]
Fix lf-release-jobs
Add -m to deal with merge commits.
-m
By default, git diff-tree --stdin does not show differences
for merge commits. With this flag, it shows differences
to that commit from all of its parents.
Refactor packagecloud release/merge parameters and add distribution_type
as environmental variable.
Remove distribution_type from pypi and packagecloud schema.
Add variable values for packagecloud in release-job.sh.
ISSUE-ID: RELENG-2567
Signed-off-by: Houa Yang <hyang@contractor.linuxfoundation.org>
Change-Id: I4bf718874b754bd24c03e22a9184e0b1566075e9
Tim Johnson [Sun, 1 Dec 2019 16:31:04 +0000 (08:31 -0800)]
Global JJB Disable generation of pip lists
Issue: RELENG-2560
Change-Id: I2ec3cf5fa73e98334468067c76b605e1fbf4f4b9
Signed-off-by: Tim Johnson <tijohnson@linuxfoundation.org>
Aric Gardner [Fri, 29 Nov 2019 17:54:15 +0000 (17:54 +0000)]
Merge "Fix jenkins-verify-images.sh crash on grep"
Tim Johnson [Wed, 27 Nov 2019 16:37:38 +0000 (08:37 -0800)]
Remove user venv from sandbox cleanup script
No longer use jjb-install.sh & jjb-cleanup.sh
Issue: RELENG-2565
Change-Id: I08e0bab6fe31a48d933c8375b75f4c9264df7a08
Signed-off-by: Tim Johnson <tijohnson@linuxfoundation.org>
Bengt Thuree [Wed, 27 Nov 2019 13:24:10 +0000 (00:24 +1100)]
Fix jenkins-verify-images.sh crash on grep
This statement triggers the pipefail
grep ^OS_CLOUD= jenkins-config/clouds/openstack/cattle/cloud.cfg
$ echo $?
1
ISSUE-ID: IT-18352
Signed-off-by: Bengt Thuree <bthuree@linuxfoundation.org>
Change-Id: Id71b3b664f5dca98bc4d784b86e8d68cec7fca9e
Houa Yang [Tue, 26 Nov 2019 21:04:11 +0000 (21:04 +0000)]
Merge "Update lf-release-jobs gerrit trigger"
Houa Yang [Tue, 26 Nov 2019 17:11:22 +0000 (11:11 -0600)]
Update lf-release-jobs gerrit trigger
Update release jobs regex to match based on file name and not on
releases/*.yaml.
Signed-off-by: Houa Yang <hyang@contractor.linuxfoundation.org>
Change-Id: I736a645a710f32228dc716d00662d5bbc322d4c4
Tim Johnson [Mon, 25 Nov 2019 21:35:15 +0000 (13:35 -0800)]
Remove use of user venv by builder-jjb-merge job
Call lf-activate-venv() to create venv to install jenkins-jobs. Remove
references to jjb-cleanup.sh & jjb-install.sh scripts. Some jobs still
depend on them, so they have to remain for now.
Issue: RELENG-2557
Change-Id: Ib6b8a6e65113a874994a447cb628ca08dc9604c0
Signed-off-by: Tim Johnson <tijohnson@linuxfoundation.org>
Houa Yang [Tue, 26 Nov 2019 17:32:13 +0000 (17:32 +0000)]
Merge "Fix packagecloud wget schema url"
Houa Yang [Tue, 26 Nov 2019 17:14:10 +0000 (11:14 -0600)]
Fix packagecloud wget schema url
Fix breaking up the url for packagecloud schema.
Signed-off-by: Houa Yang <hyang@contractor.linuxfoundation.org>
Change-Id: I7799a2237173a714b1b98df39e2ac36ca34d6316
DW Talton [Thu, 7 Nov 2019 00:00:01 +0000 (17:00 -0700)]
Add kubernetes cluster support
Add the ability for jobs to use kubernetes clusters hosted on Vexx.
Issue: RELENG-2528
Signed-off-by: DW Talton <dtalton@contractor.linuxfoundation.org>
Change-Id: I730b0a57849bb0333cda6643c27d49148195bb7e
DW Talton [Mon, 25 Nov 2019 23:24:32 +0000 (23:24 +0000)]
Merge "Support OpenStack Cloud Jenkins plugin upgrade"
DW Talton [Thu, 21 Nov 2019 00:11:42 +0000 (17:11 -0700)]
Support OpenStack Cloud Jenkins plugin upgrade
Version 2.47+ of the OpenStack Cloud plugin for Jenkins adds two new
SlaveOptions params, node_properties and config_drive. Failure to send
these params results in a failed request.
Replace method version_ge with testversion for plugin version
comparisons. Needed to enable deprecation and future plugin version
checking.
Refactor get_minion_options, replacing duplicated code blocks with if
checks.
Deprecate INSTANCE_MIN_CAPMAX config param, to be replaced with
INSTANCE_MIN, for configuring the minimum number of instances.
Issue: RELENG-2514
Signed-off-by: DW Talton <dtalton@contractor.linuxfoundation.org>
Change-Id: Ic8773bd4ef44ea09b5635c4a84d6452e29ad777c
Houa Yang [Mon, 25 Nov 2019 18:55:21 +0000 (18:55 +0000)]
Merge "Revert "Fix lf-release-jobs packagecloud jobname""
Houa Yang [Mon, 25 Nov 2019 17:35:02 +0000 (17:35 +0000)]
Revert "Fix lf-release-jobs packagecloud jobname"
This reverts commit
0fca5e8ba63946ad8dd568e545c9568c2c60f84f.
This also corrects the names to follow current standard.
Reason for revert: Revert to correct naming to comply with naming
standard already in use.
Change-Id: Ida9cb7b0a9d2909066c6f146fef3de39de3a1674
Signed-off-by: Houa Yang <hyang@contractor.linuxfoundation.org>
Houa Yang [Mon, 25 Nov 2019 17:24:27 +0000 (17:24 +0000)]
Merge "Fix lf-release-jobs packagecloud jobname"
Andrew Grimberg [Fri, 22 Nov 2019 19:51:36 +0000 (19:51 +0000)]
Merge "Update lf-docker-get-container-tag"
Houa Yang [Fri, 22 Nov 2019 16:30:04 +0000 (10:30 -0600)]
Fix lf-release-jobs packagecloud jobname
Fix name of the packagecloud-verify job name
Signed-off-by: Houa Yang <hyang@contractor.linuxfoundation.org>
Change-Id: If09413b6aa531c117f09082d12dfbb9badb93bfb
Houa Yang [Sat, 16 Nov 2019 00:12:41 +0000 (18:12 -0600)]
Add packagecloud support global jjb
Add support for automating promotion of packages in packagecloud.
Signed-off-by: Houa Yang <hyang@contractor.linuxfoundation.org>
Change-Id: I97dfa3822462e0a1076e5546f97c216e18343795
Jessica Wagantall [Thu, 21 Nov 2019 00:56:25 +0000 (16:56 -0800)]
Update lf-docker-get-container-tag
Allow shell script builder step to be customizable
in lf-docker-get-container-tag.
This will allow other teams like ONAP to call their
own script. Set to default to
"../shell/docker-get-container-tag.sh" which is what
teams were already using.
This feature is requested by ONAP's DCAE team to allow
them to handle tags differently via their own script.
Issue-ID: RELENG-2422
Signed-off-by: Jessica Wagantall <jwagantall@linuxfoundation.org>
Change-Id: I9afd52a0ad8916694db0e958e42eb80f98e4e28b
Tim Johnson [Sat, 16 Nov 2019 00:23:02 +0000 (16:23 -0800)]
Remove use of user venv by build-jjb-verify job
Call lf-activate-venv() to create required venv. Not longer need
jjb-cleanup.sh & jjb-install.sh. Some project repos still depend on
them, so they have to remain for now.
Issue: RELENG-2538
Change-Id: I22f122d81a7f4977cb0be1e52f5c0317390f23cd
Signed-off-by: Tim Johnson <tijohnson@linuxfoundation.org>
Aric Gardner [Mon, 18 Nov 2019 14:59:28 +0000 (09:59 -0500)]
Trigger latest each time.
Trigger "latest" and "branch"
By default rtd serves documentation at /latest/
When a buid was triggered via curl, using a the old method.
"generic api integration"
curl -X POST -d "branches=${GERRIT_BRANCH}" -d "token=$RTD_TOKEN"
"$RTD_BUILD_URL
this returned for example:
{"build_triggered":true,"project":"o-ran-sc-doc","versions":
["latest","master"]}
So the previous behavior was to build latest and master from a call with
branches=master
when we post via the v3 api.
lftools rtd project-build-trigger "$rtdproject" "$STREAM"
It actually respects the $STREAM variable and only builds "master"
This is not what we want,
we want latest to be updated as well.
so we need to trigger both builds.
It is possible to, after project creation "enable master branch"
and then "delete default branch"
so that /latest/ ceases to exist.
but having /latest/ is the default behavior is seems best to
not fight against it, to simplify initial project setup.
The best solution I see right now is to just always trigger latest
as well as the branch we want to build.
Signed-off-by: Aric Gardner <agardner@linuxfoundation.org>
Change-Id: I6e2062aa30383ee79a1d64d8f5327ef9a05cece6
Andrew Grimberg [Mon, 18 Nov 2019 17:47:44 +0000 (09:47 -0800)]
Fix OS_CLOUD export for image validation
Change
fe2beb15bc9effb5b91ba17b520ab6c167dd6604 introduced a bug where
the CLOUD_CREDENTIAL_ID was being used for the OS_CLOUD export variable.
This was done since the test for multi-cloud image validation had the
credential IDs matching the OS_CLOUD variable. However, most of our
systems have the CLOUD_CREDENTIAL_ID set to the default of 'os-cloud'
and therefore after pulling updating to a global-jjb with that change
would no longer be able to validate images!
We now look for an OS_CLOUD variable in the cloud.cfg file and use it if
it is set, otherwise we default to an OS_CLOUD of 'vex' as we previously
did before change
fe2beb15bc9effb5b91ba17b520ab6c167dd6604
Change-Id: I0af763495fa3a7ce2e8c080324abaf5d384e5188
Signed-off-by: Andrew Grimberg <agrimberg@linuxfoundation.org>
Lott, Christopher (cl778h) [Sat, 16 Nov 2019 11:28:28 +0000 (06:28 -0500)]
Remove passive voice in python, release job RST
Change-Id: Ie20a255c670a87a6e95e2c3c5c11bcf6b2c91097
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Tim Johnson [Wed, 13 Nov 2019 16:24:24 +0000 (08:24 -0800)]
Cleanup lf-activate-venv() function
Minor changes to logging.
Change-Id: If635d9dcdf024bd7bd1170463ff4484ac81cca25
Signed-off-by: Tim Johnson <tijohnson@linuxfoundation.org>
Tim Johnson [Wed, 30 Oct 2019 21:29:52 +0000 (14:29 -0700)]
Update Bash library
The lf-venv-activate() function has been deleted. The lf-venv-create()
function has been renamed lf-activate-venv(). The lf-activate-venv()
function now creates temporary venvs and updates the PATH. Remove
required 'python' argument and '--python' flag. Add two new functions:
lf-git-validate-jira-urls() and lf-jjb-check-ascii().
Issue: RELENG-2527
Change-Id: I90fdbbc3d99dc78a5d0190e75997686d95ad671a
Signed-off-by: Tim Johnson <tijohnson@linuxfoundation.org>
Andrew Grimberg [Fri, 8 Nov 2019 18:33:48 +0000 (10:33 -0800)]
Fix OpenStack image validation for multi-cloud
While working on getting FDio setup to use the OpenStack cloud
configuration we found that the validation script does not operate
properly against a multi-OS cloud configuration
Change-Id: Idfe5ca2a060bc0f696cc1479e1ec3d40318e3c29
Signed-off-by: Andrew Grimberg <agrimberg@linuxfoundation.org>
Lott, Christopher (cl778h) [Fri, 8 Nov 2019 10:36:38 +0000 (05:36 -0500)]
Report POST details in rtd-trigger-build.sh
Add echo to rtd-trigger-build.sh to report branch and URL used at
readthedocs.io, both of which may be modified in the script.
Change-Id: I301449b5f1c0359f3ee8fef823fc6dff13298b78
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Lott, Christopher (cl778h) [Wed, 6 Nov 2019 16:30:52 +0000 (11:30 -0500)]
Add .pypirc config file provider to release job
Add .pypirc config file provider to builders in release job.
Extend PyPI documentation with recommended directory layout.
Change-Id: I96814ad3c78187835ab26dd8adbb7532753315e9
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Lott, Christopher (cl778h) [Tue, 5 Nov 2019 14:42:33 +0000 (09:42 -0500)]
Document need for quotes around python version
In the python_version value in the release yaml file, a valid decimal
number like 3 or 3.7 must be quoted so the schema validator treats it
as string, not number.
Change-Id: I6ee1dda1b1d2133b5c9576bad00a344ddd58cea5
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Eric Ball [Mon, 4 Nov 2019 17:15:30 +0000 (17:15 +0000)]
Merge "Use "upgrade-strategy eager" for pip install"
Lott, Christopher (cl778h) [Mon, 4 Nov 2019 16:15:12 +0000 (11:15 -0500)]
Change additional to other to silence coala
Coala rejects use of 'additional' in documentation of Gerrit triggers,
but accepts the word 'other' which is equally readable.
Change-Id: Ibcc0235fc50c400c1b6eaeeac3ef8de542f7687c
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Lott, Christopher (cl778h) [Fri, 1 Nov 2019 18:02:09 +0000 (14:02 -0400)]
Use compare-type REG_EXP for Python job file paths
Change compare-type to REG_EXP in macros lf_python_clm_xc and
lf_pypi_common for config parameter gerrit_trigger_file_paths
with the regular expression .*
Previously was ANT, which didn't match anything with pattern .*
so recheck/reverify comment triggers did not work.
Clarify documentation of comment triggers for python jobs.
Change-Id: Id926d83e454fce2aa795b15d27c794fc41bbd1d3
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Anil Belur [Thu, 31 Oct 2019 13:57:20 +0000 (19:27 +0530)]
Update docker job templates gerrit trigger regexes
Update the gerrit trigger regexes for the docker job templates
to use shorter and more readable versions of the regexes
also used in other verify and merge job templates.
Change-Id: I8c189735c472ff22d9dd5093017234e74a2ac5c2
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Lott, Christopher (cl778h) [Thu, 31 Oct 2019 00:27:13 +0000 (20:27 -0400)]
Repair comment regexes on release templates
Change the comment-added-contains-event string for the release-verify
and release-merge templates to the same regexes used in all other verify
and merge templates, instead of custom versions that didn't work;
verify now uses '^Patch Set\s+\d+:\s+(recheck|reverify)\s*$'
merge now uses '^Patch Set\s+\d+:\s+remerge\s*$'
Change-Id: I4436568046ffbc15225115726e2664824bd6bea2
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Tim Johnson [Tue, 29 Oct 2019 19:00:48 +0000 (12:00 -0700)]
Update lf-venv-create function
Update the lf-venv-create() function to support a list of python
packages to install in the new venv.
Issue: RELENG-2502
Change-Id: Ic2e186e3d7db653f57b755974aeb1c63581df8f2
Signed-off-by: Tim Johnson <tijohnson@linuxfoundation.org>
Eric Ball [Tue, 29 Oct 2019 19:43:10 +0000 (12:43 -0700)]
Use "upgrade-strategy eager" for pip install
Pip changed its default upgrade-strategy to "only-if-required", which
is not correctly upgrading requests (and potentially other packages
in the future) to meet other packages' requirements. This results in
errors in the build log. By using the upgrade-strategy "eager", pip
is able to properly install what is needed.
Issue: RELENG-2074
Change-Id: I0e37aac57553a352a4c0797d0ef8d0b597072440
Signed-off-by: Eric Ball <eball@linuxfoundation.org>
Lott, Christopher (cl778h) [Wed, 23 Oct 2019 01:43:27 +0000 (21:43 -0400)]
Revise PyPI release jobs to use a staging index
Rewrite PyPI release-verify and release-merge templates to download
distribution files from a PyPI staging index and upload the files to
a PyPI release index. Remove the tox etc. builders from the release
jobs. Install and upgrade python packages setuptools, twine etc.
Drop the branch/stream parameters for the pypi release templates;
only need one release-verify and one release-merge job per project.
Split the PyPI job groups because the verify & merge templates do not
accept the same arguments as release-verify & release-merge templates,
especially no stream/branch expected by release templates.
Extend release-job.sh with PyPI release features, drop the old file
pypi-tag-release.sh
Move the PyPI release features to the lf-release-jobs.(rst,yaml) files
from the lf-python-jobs.(rst,yaml) files.
Refactor the PyPI verify and merge macros and templates due to moving
out the release-verify and release-merge features.
Restore lf-python-jobs.rst to Coala processing by WriteGoodLintBear,
but turn off processing for sections with the word 'validate'.
Change-Id: Ie27071076f9c018ccf8765c9dd948a4f5c876ec9
Issue-ID: RELENG-2455, RELENG-2497
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Aric Gardner [Mon, 28 Oct 2019 21:16:09 +0000 (21:16 +0000)]
Merge "pip update virtualenv in tox-install"
Aric Gardner [Mon, 28 Oct 2019 18:03:20 +0000 (14:03 -0400)]
pip update virtualenv in tox-install
tox calls system virtualenv which breaks the coala linter.
as well as bringing with it a a very old version of pip from system.
updating virtualenv fixes this.
Also, envlist no longer has py35,py36,py37
so remove pins that were for supporting old python version
removed python2 workarounds.
-python3 -m nltk.downloader ect
Also removed
-passenv = TOX_WORK_DIR
-toxworkdir = {env:TOX_WORK_DIR:/tmp/v}
This was added in 11728
"By default tox environment will now be installed under /tmp/v/{envname}
but configurable through the CLI environment by specifying
TOX_WORK_DIR."
builder-jjb-merge and builder-jjb-verify to not call tox.
So it would not help with opnfv race conditions with multiple jjb
verify/deploys running on a static builder.
there are actually no tox jobs for opnfv/releng repo.
Pretty sure this does nothing and just adds a layer
of complexity that is not needed.
so removed.
ISSUE: RELENG-2366
Signed-off-by: Aric Gardner <agardner@linuxfoundation.org>
Change-Id: I07875a62341e28860a81ee7b2149393c148be84b