Merge "Migrate stack create and delete scripts"
authorAnil Belur <abelur@linuxfoundation.org>
Tue, 20 Nov 2018 03:09:21 +0000 (03:09 +0000)
committerGerrit Code Review <gerrit@linuxfoundation.org>
Tue, 20 Nov 2018 03:09:21 +0000 (03:09 +0000)
docs/conf.py
docs/jjb/lf-ci-jobs.rst
jjb/lf-ci-jobs.yaml
releasenotes/notes/jenkins-sandbox-cleanup-all-view-1e008fa0b38792a5.yaml [new file with mode: 0644]
releasenotes/notes/packer-merge-test-wip-patches-40b2e87677a84d38.yaml [new file with mode: 0644]
shell/jenkins-sandbox-cleanup.sh
tox.ini

index 5bbe39f..4457e12 100644 (file)
@@ -277,6 +277,7 @@ htmlhelp_basename = 'LinuxFoundationReleaseEngineeringGJJBdoc'
 # Example configuration for intersphinx: refer to the Python standard library.
 intersphinx_mapping = {
     'jjb': ('https://docs.openstack.org/infra/jenkins-job-builder/', None),
+    'lfdocs': ('http://docs.releng.linuxfoundation.org/en/latest/', None),
     'lftools': ('http://lftools.releng.linuxfoundation.org/en/latest/', None),
     'python': ('https://docs.python.org/', None),
 }
index 3a7514b..f55b5dc 100644 (file)
@@ -312,6 +312,9 @@ Example:
 .. literalinclude:: ../../.jjb-test/lf-ci-jobs/jenkins-cfg-verify.yaml
    :language: yaml
 
+
+.. _jenkins-sandbox-cleanup:
+
 Jenkins Sandbox Cleanup
 -----------------------
 
@@ -336,13 +339,15 @@ Cleanup Jenkins Sandbox of jobs and views periodically.
     :cron: Schedule to run job. (default: '0 8 * * 6')
 
 
+.. _jjb-deploy:
+
 JJB Deploy Job
 --------------
 
-Deploy jobs to jenkins-sandbox system via code review comment
+Deploy jobs to jenkins-sandbox system via code review comment.
 
 This job checks out the current code review patch and then runs a
-`jenkins-jobs update` to push a patch defined by the comment.
+``jenkins-jobs update`` to push a patch defined by the comment.
 
 :Template names:
 
@@ -355,7 +360,7 @@ This job checks out the current code review patch and then runs a
     .. note::
 
        JOB_NAME can include the * wildcard character to push multiple jobs
-       matching the pattern. For example `jjb-deploy builder-jjb-*`` will push
+       matching the pattern. For example ``jjb-deploy builder-jjb-*`` will push
        all builder-jjb-* jobs to the sandbox system.
 
 :Required parameters:
@@ -370,6 +375,8 @@ This job checks out the current code review patch and then runs a
     :gerrit_jjb_deploy_job_triggers: Override Gerrit Triggers.
 
 
+.. _jjb-merge:
+
 JJB Merge
 ---------
 
@@ -409,6 +416,8 @@ Runs `jenkins-jobs update` to update production job configuration
         (default defined by lf_jjb_common)
 
 
+.. _jjb-verify:
+
 JJB Verify
 ----------
 
@@ -652,6 +661,19 @@ Packer Merge job runs `packer build` to build system images in the cloud.
 
     :gerrit_verify_triggers: Override Gerrit Triggers.
 
+Test an in-progress patch
+^^^^^^^^^^^^^^^^^^^^^^^^^
+
+To test an in-progress patch from a GitHub Pull Request. Upload this
+job to the :doc:`Jenkins Sandbox <lfdocs:jenkins-sandbox>`. Then when manually
+building the job replace the GERRIT_REFSPEC parameter with the GitHub Pull
+Request number of the patch you would like to test.
+
+Example GitHub:
+
+.. code-block:: none
+
+   GERRIT_REFSPEC: origin/pr/49/merge
 
 .. _gjjb-packer-verify:
 
index 620783f..f097260 100644 (file)
     disable-job: false
     github-url: 'https://github.com'
     jjb-cache: '$HOME/.cache/jenkins_jobs'
-    jjb-version: 2.2.1
+    jjb-version: 2.8.0
     stream: master
     submodule-recursive: true
     submodule-timeout: 10
     scm:
       - lf-infra-github-scm:
           url: '{git-clone-url}{github-org}/{project}'
-          refspec: ''
-          branch: 'refs/heads/{branch}'
+          refspec: >
+              +refs/heads/*:refs/remotes/origin/*
+              +refs/pull/*:refs/remotes/origin/pr/*
+          branch: '$GERRIT_REFSPEC'
           submodule-recursive: '{submodule-recursive}'
           submodule-timeout: '{submodule-timeout}'
           choosing-strategy: default
diff --git a/releasenotes/notes/jenkins-sandbox-cleanup-all-view-1e008fa0b38792a5.yaml b/releasenotes/notes/jenkins-sandbox-cleanup-all-view-1e008fa0b38792a5.yaml
new file mode 100644 (file)
index 0000000..1ebb0df
--- /dev/null
@@ -0,0 +1,14 @@
+---
+upgrade:
+  - |
+    Requires JJB 2.8.0 for the jenkins-sandbox-cleanup job to not fail.
+
+    .. note::
+
+       Despite the failure if JJB 2.8.0 is not available the job will
+       successfully delete all jobs and views, the primary purpose of this job.
+fixes:
+  - |
+    :ref:`RELENG-1450 <https://jira.linuxfoundation.org/browse/RELENG-1450>`_
+    All view disappears on Jenkins Sandbox after views are deleted. The **All**
+    view is now recreated after ``delete-all`` is run.
diff --git a/releasenotes/notes/packer-merge-test-wip-patches-40b2e87677a84d38.yaml b/releasenotes/notes/packer-merge-test-wip-patches-40b2e87677a84d38.yaml
new file mode 100644 (file)
index 0000000..0db556b
--- /dev/null
@@ -0,0 +1,6 @@
+---
+features:
+  - |
+    The GERRIT_REFSPEC build parameter can now be used to trigger a test build
+    from the Jenkins Sandbox system against a work in progress packer image
+    patch from a GitHub Pull Request.
index c196973..e97dbe4 100644 (file)
@@ -14,3 +14,11 @@ echo "---> jenkins-sandbox-cleanup.sh"
 set -eux -o pipefail
 
 bash -c "/usr/bin/yes 2>/dev/null || true" | jenkins-jobs -s sandbox delete-all
+
+# Recreate the All default view.
+cat << EOF > all-view.yaml
+- view:
+    name: All
+    view-type: all
+EOF
+jenkins-jobs -s sandbox update -v all-view.yaml
diff --git a/tox.ini b/tox.ini
index 58a8600..aa59147 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -36,7 +36,7 @@ commands =
 
 [testenv:jjb]
 deps =
-    jenkins-job-builder==2.2.1
+    jenkins-job-builder==2.8.0
 commands =
     jenkins-jobs -l DEBUG test --recursive -o {toxinidir}/archives/job-configs {toxinidir}/jjb:{toxinidir}/.jjb-test
 
@@ -65,7 +65,7 @@ commands = lftools license check-dir -r '.+' shell
 
 [testenv:jenkins-jobs]
 deps =
-    jenkins-job-builder{env:JJB_VERSION_OP:~=}{env:JJB_VERSION:2.0.9}
+    jenkins-job-builder{env:JJB_VERSION_OP:~=}{env:JJB_VERSION:2.8.0}
 commands =
     jenkins-jobs {posargs:--help}