Allow maven-clm job to specify AppID namespace 86/12986/1
authorThanh Ha <thanh.ha@linuxfoundation.org>
Mon, 15 Oct 2018 22:55:48 +0000 (18:55 -0400)
committerThanh Ha <thanh.ha@linuxfoundation.org>
Mon, 15 Oct 2018 23:03:11 +0000 (19:03 -0400)
This allows maven-clm jobs to insert a project namespace into the
AppID field in Nexus IQ in cases where a Nexus IQ server might be
shared by multiple projects and name collision might be an issue.

This patch inserts an optional nexus-iq-namespace parameter which
by default is blank. This should not break backwards compatibility
while allowing the new namespace feature to work. We recommend when
using the namespace to add a trailing - to the value. Eg. 'odl-',
this is to make the namespace look nice for example "odl-aaa" will be
the result of namespace odl-, and project is aaa.

Issue: RELENG-1307
Change-Id: If4313ba00da67541d337b70f7946ad6f21fee037
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
docs/jjb/lf-maven-jobs.rst
docs/jjb/lf-python-jobs.rst
jjb/lf-maven-jobs.yaml
jjb/lf-python-jobs.yaml
releasenotes/notes/nexus-iq-namespace-f902ea2a8ad46aa2.yaml [new file with mode: 0644]

index 6144e05..494d32d 100644 (file)
@@ -97,6 +97,10 @@ Produces a CLM scan of the code into Nexus IQ Server.
     :mvn-opts: Sets MAVEN_OPTS. (default: '')
     :mvn-params: Additional mvn parameters to pass to the cli. (default: '')
     :mvn-version: Version of maven to use. (default: mvn35)
+    :nexus-iq-namespace: Insert a namespace to project AppID for projects that
+        share a Nexus IQ system to avoid project name collision. We recommend
+        inserting a trailing - dash if using this parameter.
+        For example 'odl-'. (default: '')
     :nexus-iq-stage: Stage the policy evaluation will be run against on
         the Nexus IQ Server. (default: 'build')
     :stream: Keyword that can be used to represent a release code-name.
index 76b4548..c1bf65a 100644 (file)
@@ -86,7 +86,12 @@ IQ Server.
 :Optional parameters:
 
     :build-days-to-keep: Days to keep build logs in Jenkins. (default: 7)
-    :nexus-iq-cli-version: Nexus IQ CLI package version to download and use. (default: 1.44.0-01)
+    :nexus-iq-cli-version: Nexus IQ CLI package version to download and use.
+        (default: 1.44.0-01)
+    :nexus-iq-namespace: Insert a namespace to project AppID for projects that
+        share a Nexus IQ system to avoid project name collision. We recommend
+        inserting a trailing - dash if using this parameter.
+        For example 'odl-'. (default: '')
     :build-timeout: Timeout in minutes before aborting build. (default: 60)
     :git-url: URL clone project from. (default: $GIT_URL/$PROJECT)
     :java-version: Version of Java to use for the build. (default: openjdk8)
index eec2bdb..c5fffb7 100644 (file)
     mvn-opts: ''
     mvn-params: ''
     mvn-version: mvn35
+    nexus-iq-namespace: ''  # Recommend a trailing dash when set. Example: odl-
     nexus-iq-stage: 'build'
     stream: master
     submodule-recursive: true
       - nexus-iq-policy-evaluator:
           stage: '{nexus-iq-stage}'
           application-type: 'manual'
-          application-id: '{project-name}'
+          application-id: '{nexus-iq-namespace}{project-name}'
           scan-patterns: '{obj:nexus_iq_scan_patterns}'
           fail-build-network-error: true
 
index 7c3251a..fc342de 100644 (file)
@@ -78,6 +78,7 @@
     github-url: 'https://github.com'
     java-version: openjdk8
     nexus-iq-cli-version: 1.44.0-01
+    nexus-iq-namespace: ''  # Recommend a trailing dash when set. Example: odl-
     stream: master
     submodule-recursive: true
 
       - lf-update-java-alternatives:
           java-version: '{java-version}'
       - lf-infra-clm-python:
-          clm-project-name: '{project-name}'
+          clm-project-name: '{nexus-iq-namespace}{project-name}'
 
 - job-template:
     name: '{project-name}-python-clm-{stream}'
diff --git a/releasenotes/notes/nexus-iq-namespace-f902ea2a8ad46aa2.yaml b/releasenotes/notes/nexus-iq-namespace-f902ea2a8ad46aa2.yaml
new file mode 100644 (file)
index 0000000..38a2e13
--- /dev/null
@@ -0,0 +1,12 @@
+---
+features:
+  - |
+    Add a new ``nexus-iq-namespace`` optional parameter to insert a namespace
+    into Nexus IQ AppID. This is useful for shared Nexus IQ systems where
+    projects might have concern about namespace collision.
+
+    .. note::
+
+       We recommend when using the namespace to add a trailing - to the value.
+       Eg. 'odl-', this is to make the namespace look nice for example
+       "odl-aaa" is the result of namespace odl-, and project name aaa.