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
Thanh Ha [Mon, 28 Oct 2019 19:24:05 +0000 (15:24 -0400)]
Update script_dir to jjb dir
Configuration in global-jjb used to be in the root of global-jjb
but has since moved to a sub-dir to facilitate CI configuration files
that may be in yaml format.
Change-Id: I8a2ff9ccf2b41c941432b9ebe2d5702467c14967
Signed-off-by: Thanh Ha <zxiiro@gmail.com>
Tim Johnson [Mon, 21 Oct 2019 02:41:42 +0000 (19:41 -0700)]
Update Bash Library
Added lf-create-venv() and lf-venv-add().
Change-Id: If50c9c282adb8b11176bbe6223578ea7edad1839
Signed-off-by: Tim Johnson <tijohnson@linuxfoundation.org>
Lott, Christopher (cl778h) [Mon, 28 Oct 2019 12:00:36 +0000 (08:00 -0400)]
Repair minor problems in self-release
Add missing underscore in two echo commands in release-job.sh.
Move comment for shellcheck disable onto separate line in lf-env.sh.
Extend documentation of the container self-release process.
Exclude lf-rtdv3.rst from WriteGoodLintBear coala processing.
Change-Id: Idc363f9e2b0a6189283b8dd0385926b870a2db27
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Bengt Thuree [Fri, 25 Oct 2019 00:35:00 +0000 (00:35 +0000)]
Merge "Use -o with grep to guarantee filename position"
Eric Ball [Thu, 24 Oct 2019 23:32:51 +0000 (16:32 -0700)]
Use -o with grep to guarantee filename position
The "-o" option makes grep only return the matching words. This way,
even if there are other params listed before -f, the filename will
always be in position 2 of the grep output.
Issue: RELENG-2428
Change-Id: Id52e3bf285de7f0e46d4a442ef4b0986d2e66cbc
Signed-off-by: Eric Ball <eball@linuxfoundation.org>
Eric Ball [Wed, 23 Oct 2019 15:33:27 +0000 (15:33 +0000)]
Merge "Extend PyPI script to call twine check"
Anil Belur [Tue, 22 Oct 2019 14:42:31 +0000 (14:42 +0000)]
Merge "Add step to verify stage repo is closed"
Anil Belur [Tue, 22 Oct 2019 12:07:36 +0000 (12:07 +0000)]
Merge "Verify maven release versions"
Lott, Christopher (cl778h) [Mon, 21 Oct 2019 19:52:46 +0000 (15:52 -0400)]
Extend PyPI script to call twine check
Extend pypi-dist-build.sh to call twine check, which tests
if the distribution's long description will render correctly.
Change-Id: I2229266f17bc4d1272219466f8fbf2e2614ca21f
Issue-Id: RELENG-2317
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Aric Gardner [Mon, 21 Oct 2019 18:05:41 +0000 (18:05 +0000)]
Merge "Fix pattern to trigger on any files in docs/"
Anil Belur [Sat, 19 Oct 2019 11:35:14 +0000 (17:05 +0530)]
Add step to verify stage repo is closed
Add step to verify Nexus staging repository is closed correctly or
fail the staging job, if the repository is still open. This allows
projects to address the validation failures earlier during
maven-stage phase, instead of waiting to catch them while running
the self-release job.
Issue: IT-17976
Change-Id: I88ca6cce67e2400ab1d24fd3cbac419bb8b3eb91
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
Aric Gardner [Wed, 16 Oct 2019 15:03:39 +0000 (11:03 -0400)]
Fix pattern to trigger on any files in docs/
Also do not trigger when docs in global-jjb submodule
are updated.
add TOX_ENVs to rtdv3 macro so that it only runs
docs,docs-linkcheck
add conditional-step so that project must have a
.readthedocs.yaml for build to bother starting
Signed-off-by: Aric Gardner <agardner@linuxfoundation.org>
Change-Id: I7716ceae30e0b460da0bd427b0670a6e1db1688c
Jessica Wagantall [Tue, 15 Oct 2019 23:31:04 +0000 (16:31 -0700)]
Verify maven release versions
Add a verification step to maven self releases
to make sure the version being defined in the
releases file matches the actual version produced
by the maven-stage job that created the release
candidate.
This is to prevent releases being pushed in Nexus
with a version different from what the developer
intended in the releases file.
Issue: RELENG-2356
Change-Id: I0555ee782f608e04d10dda5112c283783bfc2a91
Signed-off-by: Jessica Wagantall <jwagantall@linuxfoundation.org>
Lott, Christopher (cl778h) [Wed, 16 Oct 2019 21:26:47 +0000 (17:26 -0400)]
Use release credential in pypi release merge
Add macro with lf-infra-wrappers block to set jenkins-ssh-credential
parameter to the value in parameter jenkins-ssh-release-credential,
which makes the PyPI release merge templates parallel to the release-job
merge template. Both need privileges to push a tag from Jenkins.
Document the revised configuration parameter. Silence yamllint issues.
Change-Id: I534c659ec4c5165184bc1de8bb7021dab116deab
Issue-Id: RELENG-2317
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Tim Johnson [Mon, 14 Oct 2019 16:27:23 +0000 (09:27 -0700)]
Change case of 'maven_options'
Shellcheck will check for 'used-before-set' only if variable is
lower-case.
Change-Id: I5c91d493a584d332cc587be37d53b3c98e5dbb3a
Signed-off-by: Tim Johnson <tijohnson@linuxfoundation.org>
Anil Belur [Wed, 16 Oct 2019 13:49:44 +0000 (13:49 +0000)]
Merge "Support sonarcloud in python projects"
Aric Gardner [Wed, 16 Oct 2019 12:44:48 +0000 (12:44 +0000)]
Merge "Add comment trigger to PyPI release merge template"
Anil Belur [Wed, 16 Oct 2019 02:44:40 +0000 (02:44 +0000)]
Merge "Fix rtd merge job to handle new tag uploaded"
Lott, Christopher (cl778h) [Wed, 16 Oct 2019 01:43:40 +0000 (21:43 -0400)]
Add comment trigger to PyPI release merge template
Add missing trigger "remerge" to the PyPI release merge template.
Move trigger definitions into PyPI templates, instead of defining
four separate trigger definition blocks and using each exactly once.
Document the required comment text for the triggers.
Change-Id: I9c12b89a2e3ded80407e6399c62f6e9337bf5cd7
Issue-Id: RELENG-2317
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Aric Gardner [Tue, 15 Oct 2019 19:25:12 +0000 (15:25 -0400)]
Change project-compare-type to ANT
I missed this in the sandbox and jobs are triggered
by hand in the sandbox
Signed-off-by: Aric Gardner <agardner@linuxfoundation.org>
Change-Id: I3814c724e6f21e43dff5777753c8358a861a9280
Lott, Christopher (cl778h) [Tue, 15 Oct 2019 18:17:36 +0000 (14:17 -0400)]
Support sonarcloud in python projects
Extend lf_tox_sonar with sonarcloud, sonarcloud-project-key,
sonarcloud-project-organization, sonarcloud-api-token, tox-dir
and tox-envs properties; also with lf-infra-tox-parameters macro.
Use new sonarcloud property as guard for conditional builder step,
if true use lf-infra-maven-sonarcloud, else use lf-infra-maven-sonar.
Issue: RELENG-2418
Change-Id: Iafa2720da7f939a126374bc83191c328edcdc40b
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Aric Gardner [Tue, 15 Oct 2019 17:41:07 +0000 (17:41 +0000)]
Merge "Readthedocs v2 jobs"
Anil Belur [Tue, 15 Oct 2019 05:39:02 +0000 (11:09 +0530)]
Fix rtd merge job to handle new tag uploaded
Issue: RELENG-2445
Change-Id: I83bbb8b5b44ae6aee8e9cafd1711e8ac19b48811
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
Aric Gardner [Mon, 9 Sep 2019 18:25:50 +0000 (14:25 -0400)]
Readthedocs v2 jobs
This change will need a new release of
lftools before It will work.
Global job that triggers on any docs changes.
Creates docs project in rtd if absent on merge
Creates subproject association if project does not
equal Jenkins global var MASTER_RTD_PROJECT
Triggers docs build on merge
fix tox job to push docs-dir to archives
so that we can see generated docs
ISSUE: RELENG-2362
Signed-off-by: Aric Gardner <agardner@linuxfoundation.org>
Change-Id: Id6d85068eb068301b91d4deb74490e76381a7e54
Lott, Christopher (cl778h) [Thu, 10 Oct 2019 18:43:55 +0000 (14:43 -0400)]
Repair pypi template tag and trigger behaviors
Add missing {branch} parameter to branch-pattern in gerrit trigger
blocks in PyPI release-verify and release-merge templates. Jobs
were starting on all defined branches, not limited to the target.
Change pypi-tag-release.sh script to continue (not declare error)
if the tag already exists.
Update docs for the tagging behavior.
Change-Id: I76f31520794cc673e7f398ea90cd17d5ef3851a8
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Eric Ball [Tue, 8 Oct 2019 21:19:59 +0000 (21:19 +0000)]
Merge "Add sonar-project-file parameter to ci sonar jobs"
Eric Ball [Mon, 7 Oct 2019 21:40:22 +0000 (14:40 -0700)]
Add sonar-project-file parameter to ci sonar jobs
By enabling the caller to override the default project file name with
an empty string, we enable the ability to provide project settings
directly in the sonar-properties field. This removes the requirement
for a "sonar-project.properties" file in the repo.
Change-Id: Ia1069417d3bb2a742a68d6113fbd1d8e0374cbdc
Signed-off-by: Eric Ball <eball@linuxfoundation.org>
Anil Belur [Sat, 5 Oct 2019 05:10:48 +0000 (05:10 +0000)]
Merge "Fix auto update image script to compare image type"
Thanh Ha (zxiiro) [Fri, 4 Oct 2019 15:19:08 +0000 (15:19 +0000)]
Revert "Update packer version to 1.4.4"
This reverts commit
0727a30524c2f708f81448c03dd37d1ebb272167.
Reason for revert: 1.4.4 still fails packer build vexxhost: Error setting image metadata: Bad request with: [POST https://block-storage-ca-ymq-1.vexxhost.net/v3/
12c36e260d8e4bb2913965203b1b491f/volumes/
d0bdc2ef-8827-441f-84ad-
3edf52616bdb/action], error message: {"badRequest": {"message": "Invalid volume: Updating volume metadata is not allowed for volumes in uploading status.", "code": 400}}
Change-Id: Ibc534b1a66f08e71e40780457eadba87ca7dda81
Signed-off-by: Thanh Ha <zxiiro@gmail.com>
Aric Gardner [Fri, 4 Oct 2019 05:09:42 +0000 (10:39 +0530)]
Update packer version to 1.4.4
Update packer version to 1.4.4, which fixes the issue
with the metadata update failure during image update.
https://github.com/hashicorp/packer/pull/8016
Signed-off-by: Aric Gardner <agardner@linuxfoundation.org>
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
Change-Id: Ibe2ee5e7b22008fd6ee7ec29361bbe110da5cbac
Aric Gardner [Thu, 3 Oct 2019 15:54:26 +0000 (15:54 +0000)]
Merge "Change PyPI merge repo default and fix doc URL"
Lott, Christopher (cl778h) [Thu, 3 Oct 2019 13:54:28 +0000 (09:54 -0400)]
Change PyPI merge repo default and fix doc URL
Correct doc .pypirc test URL to https://test.pypi.org/legacy/
Change doc .pypirc to use API tokens instead of username/password.
Use pypi-test as the default repository name in the PyPI merge template
(instead of "staging") to match established ONAP practice.
Change-Id: Id8a6f253f05a7c15790f45979d7dc47039aaf5cd
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Anil Belur [Thu, 3 Oct 2019 11:46:12 +0000 (17:16 +0530)]
Fix auto update image script to compare image type
Fix auto update image script to compare the image type before
updating an the image in the source repository. This fixes the
bug that updates images although they are the same flavour but
a diffirent type.
Issue: RELENG-2352
Change-Id: Ibaaeea41fb3d8a413e527c56b898a1fecadf5d22
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
Tim Johnson [Mon, 30 Sep 2019 16:08:39 +0000 (09:08 -0700)]
Global JJB use python3 versions of lftools and jjb
Create LF bash 'library' and install in ~jenkins
Issue: RELENG-2411
Change-Id: I211c85b9823ca5582a263ec145797d4de9424e10
Signed-off-by: Tim Johnson <tijohnson@linuxfoundation.org>
Lott, Christopher (cl778h) [Wed, 2 Oct 2019 17:35:10 +0000 (13:35 -0400)]
Add missing DRY_RUN parameter in PyPI merge
Add DRY_RUN parameter to the PyPI verify and merge template common
macro because it's required by the pypi_upload.sh script.
Also adjust verbosity of shell scripts - quiet down pip, add
repository name to output.
Change-Id: I947ee16fb6e42a6a3ec0f0de2722a6ecf7200ceb
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Lott, Christopher (cl778h) [Tue, 1 Oct 2019 10:37:56 +0000 (06:37 -0400)]
Adjust Jenkins triggers in PyPI templates
- In the PyPI merge template, add cron parameter to support daily
build and push to a staging repo, like the maven merge template.
- In PyPI release templates, change name of gerrit and github trigger
file patterns parameter. This avoids accidental overriding by jobs
that limit their actions to subdirectories. The release file patterns
are hardcoded in a shell script. Remove params from doc.
- In all PyPI templates, add disabled option and disable-job parameter
to be consistent with other python templates.
Change-Id: Ib2934728efbb4d957ad622dc84f1ee2a8383a27c
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>
Lott, Christopher (cl778h) [Fri, 27 Sep 2019 18:25:05 +0000 (14:25 -0400)]
Improve doc in maven job groups
Improve documentation about use of git, maven, docker.
Fold in maven-docker-job-groups file content and drop that file.
Move maven-docker test file into maven-jobs subdirectory.
No functional change.
Issue: RELENG-908
Change-Id: Ifca5364acfcd9afdb98b25afeb1d089d95311e34
Signed-off-by: Lott, Christopher (cl778h) <cl778h@att.com>