Merge "add kubernetes upgrade tests for releases"
diff --git a/jjb/metal3/job_feature_tests.yml b/jjb/metal3/job_feature_tests.yml
deleted file mode 100644
index d7ec57e..0000000
--- a/jjb/metal3/job_feature_tests.yml
+++ /dev/null
@@ -1,131 +0,0 @@
----
-#
-# ============LICENSE_START=======================================================
-#  Copyright (C) 2019 Nordix Foundation.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
-
-# Description:
-# ============
-# This file contains job template definition for Cluster API Provider Metal3 (CAPM3) feature tests.
-# This job can be triggered manually or through a Github pull request. It creates a
-# pipeline job. The pipeline scripts are maintained in Metal3 CI project infra repository.
-
-- job-template:
-    id: feature_tests
-    name: '{job_prefix}_{proj}_feature_tests_{image_os}'
-    description: "Inspection, remediation, pivoting, node reuse and repivoting feature tests on {image_os}."
-    project-type: pipeline
-    defaults: global
-    disabled: False
-    concurrent: True
-    parameters:
-    - string:
-        name: PROJECT_REPO_ORG
-        default: '{org}'
-        description: 'Project github repo org name'
-    - string:
-        name: PROJECT_REPO_NAME
-        default: '{repo}'
-        description: 'Project github repo name'
-    - string:
-        name: ghprbActualCommit
-        default: 'main'
-        description: 'CI Repo branch for triggering manual build'
-    - string:
-        name: ghprbAuthorRepoGitUrl
-        default: 'https://github.com/{org}/{repo}.git'
-        description: 'CI Repo URL for triggering manual build'
-    - string:
-        name: ghprbTargetBranch
-        default: 'main'
-        description: 'Target branch of the PR'
-    - string:
-        name: IMAGE_OS
-        default: '{image_os}'
-        description: 'Distribution to use for the target host as well as source and target cluster. Can be ubuntu or centos'
-    - string:
-        name: capm3_release_branch
-        default: 'main'
-        description: 'The target branch of CAPM3 to be used for this test'
-    - string:
-        name: CAPI_VERSION
-        default: 'v1beta1'
-        description: 'Cluster API version.'
-    - string:
-        name: CAPM3_VERSION
-        default: 'v1beta1'
-        description: 'Cluster API provider Metal3 version.'
-    - string:
-        name: TARGET_NODE_MEMORY
-        default: 4096
-        description: 'RAM size of the target host.'
-    - string:
-        name: NUM_NODES
-        default: 4
-        description: 'Number of libvirt VMs.'
-    - string:
-        name: TESTS_FOR
-        default: "feature_tests_{image_os}"
-        description: 'Tests for pivoting and remediation.'
-
-    properties:
-    - build-discarder:
-        days-to-keep: 30
-        num-to-keep: 300
-        artifact-days-to-keep: -1
-        artifact-num-to-keep: -1
-    - github:
-        url: https://github.com/{org}/{repo}
-
-    triggers:
-    - github-pull-request:
-        admin-list:
-          - '{ci_github_admin_user}'
-        org-list: "{ci_github_whitelist_org}"
-        cron: 'H/5 * * * *'
-        auth-id: "{ci_ghprb_auth_id}"
-        trigger-phrase: '((.|\n)*\s)?/test-features-{image_os}(\s(.|\n)*)?'
-        skip-build-phrase: '/skip-test'
-        only-trigger-phrase: True
-        github-hooks: True
-        permit-all: False
-        auto-close-on-fail: False
-        allow-whitelist-orgs-as-admins: True
-        white-list-target-branches:
-          - 'main'
-          - 'release-1.4'
-          - 'release-1.3'
-          - 'release-1.2'
-        status-context: "test-features-{image_os}"
-        success-status: "Passed"
-        failure-status: "Failed"
-        error-status: "Error"
-        cancel-builds-on-update: True
-    pipeline-scm:
-      scm:
-      - git:
-          url: "{ci_github_repo}"
-          credentials-id: "{ci_github_jenkins_credentials_id}"
-          branches:
-            - '{branch|main}'
-          name: 'origin'
-          refspec: '+refs/heads/*:refs/remotes/origin/*'
-          wipe-workspace: True
-          honor-refspec: True
-          shallow-clone: False
-      script-path: "{ci_github_pipeline}"
-      lightweight-checkout: False
diff --git a/jjb/metal3/job_main_feature_tests.yml b/jjb/metal3/job_main_feature_tests.yml
deleted file mode 100644
index 3e326bc..0000000
--- a/jjb/metal3/job_main_feature_tests.yml
+++ /dev/null
@@ -1,109 +0,0 @@
----
-#
-# ============LICENSE_START=======================================================
-#  Copyright (C) 2019 Nordix Foundation.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
-
-# Description:
-# ============
-# This file contains job template definition for Cluster API Provider Metal3 (CAPM3)
-# main feature tests.
-# This job can be triggered manually or through a Github pull request. It creates a
-# pipeline job. The pipeline scripts are maintained in Metal3 CI project infra repository.
-
-- job-template:
-    id: main_feature_tests
-    name: '{job_prefix}_daily_main_feature_tests_{image_os}'
-    description: "Inspection, remediation, pivoting, node reuse and repivoting main feature tests on {image_os}."
-    project-type: pipeline
-    defaults: global
-    disabled: False
-    concurrent: True
-    parameters:
-    - string:
-        name: PROJECT_REPO_ORG
-        default: '{org}'
-        description: 'Project github repo org name'
-    - string:
-        name: PROJECT_REPO_NAME
-        default: '{repo}'
-        description: 'Project github repo name'
-    - string:
-        name: ghprbActualCommit
-        default: 'main'
-        description: 'CI Repo branch for triggering manual build'
-    - string:
-        name: ghprbAuthorRepoGitUrl
-        default: 'https://github.com/{org}/{repo}.git'
-        description: 'CI Repo URL for triggering manual build'
-    - string:
-        name: ghprbTargetBranch
-        default: 'main'
-        description: 'Target branch of the PR'
-    - string:
-        name: IMAGE_OS
-        default: '{image_os}'
-        description: 'Distribution to use for the target host as well as source and target cluster. Can be ubuntu or centos'
-    - string:
-        name: capm3_release_branch
-        default: 'main'
-        description: 'The target branch of CAPM3 to be used for this test'
-    - string:
-        name: CAPI_VERSION
-        default: 'v1beta1'
-        description: 'Cluster API version.'
-    - string:
-        name: CAPM3_VERSION
-        default: 'v1beta1'
-        description: 'Cluster API provider Metal3 version.'
-    - string:
-        name: TARGET_NODE_MEMORY
-        default: 4096
-        description: 'RAM size of the target host.'
-    - string:
-        name: NUM_NODES
-        default: 4
-        description: 'Number of libvirt VMs.'
-    - string:
-        name: TESTS_FOR
-        default: "feature_tests_{image_os}"
-        description: 'Tests for pivoting and remediation.'
-
-    properties:
-    - build-discarder:
-        days-to-keep: 30
-        num-to-keep: 300
-        artifact-days-to-keep: -1
-        artifact-num-to-keep: -1
-
-    triggers:
-      - timed: "H 20 * * 1,4" 
-
-    pipeline-scm:
-      scm:
-      - git:
-          url: "{ci_github_repo}"
-          credentials-id: "{ci_github_jenkins_credentials_id}"
-          branches:
-            - '{branch|main}'
-          name: 'origin'
-          refspec: '+refs/heads/*:refs/remotes/origin/*'
-          wipe-workspace: True
-          honor-refspec: True
-          shallow-clone: False
-      script-path: "{ci_github_pipeline}"
-      lightweight-checkout: False
diff --git a/jjb/metal3/projects.yml b/jjb/metal3/projects.yml
index 72dce66..437e25a 100644
--- a/jjb/metal3/projects.yml
+++ b/jjb/metal3/projects.yml
@@ -167,27 +167,6 @@
       - keep_integration_tests
 
 - project:
-    name: feature-tests
-    org: metal3-io
-    proj:
-      - metal3_dev_env:
-          repo: metal3-dev-env
-      - project_infra:
-          repo: project-infra
-          branch: '${{ghprbActualCommit}}'
-          ci_github_repo: '${{ghprbAuthorRepoGitUrl}}'
-      - bmo:
-          repo: baremetal-operator
-    image_os:
-      - ubuntu
-      - centos
-    exclude:
-      - proj: bmo
-        image_os: centos
-    jobs:
-      - feature_tests
-
-- project:
     name: metal3-dev-env-main-tests
     org: metal3-io
     repo: metal3-dev-env
@@ -195,7 +174,6 @@
       - ubuntu
       - centos
     jobs:
-      - main_feature_tests
       - capm3_main_integration_tests:
           capm3_target_branch:
             - main:
diff --git a/jjb/onap/cps/cps-performance-test-jobs.yaml b/jjb/onap/cps/cps-performance-test-jobs.yaml
new file mode 100644
index 0000000..d08f4f8
--- /dev/null
+++ b/jjb/onap/cps/cps-performance-test-jobs.yaml
@@ -0,0 +1,36 @@
+---
+#
+# ============LICENSE_START=======================================================
+#  Copyright (C) 2023 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+# this job gets triggered on the specified timer and runs CPS performance
+# test in the Nordix environment.
+
+- project:
+    name: cps-performance-test
+    project: cps
+    project-name: cps
+    timer: "15 2 * * *"
+    mvn_params: "-P include-performance"
+
+    stream:
+      - 'master':
+          branch: '{stream}'
+          jdk-version: java-11
+
+    jobs:
+      - 'onap-{project-name}-{stream}-performance-test-java'
diff --git a/jjb/onap/cps/cps-verify-jobs.yaml b/jjb/onap/cps/cps-verify-jobs.yaml
index 13bcb0e..a193dd0 100644
--- a/jjb/onap/cps/cps-verify-jobs.yaml
+++ b/jjb/onap/cps/cps-verify-jobs.yaml
@@ -24,7 +24,6 @@
     name: cps-verify
     project: cps
     project-name: cps
-    mvn_params: "-P include-performance"
 
     stream:
       - 'master':
diff --git a/jjb/onap/global-templates-onap-java.yaml b/jjb/onap/global-templates-onap-java.yaml
index 6c874e7..e5d2f84 100644
--- a/jjb/onap/global-templates-onap-java.yaml
+++ b/jjb/onap/global-templates-onap-java.yaml
@@ -45,6 +45,7 @@
           name: SUBDIRECTORY
           default: '{subdirectory}'
           description: Subdirectory of the workspace for which the pom.xml will be called. This allows the verify to be called against a specific directory
+
     scm:
       - git-scm-gerrit:
           ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
@@ -67,6 +68,72 @@
       - shell:
           !include-raw-escape: ./verify-jobs.sh
 
+- job-template:
+    name: 'onap-{project-name}-{stream}-performance-test-java'
+    disabled_job_var: false
+    node: onap-ubuntu1804
+
+    disabled: '{obj:disabled_job_var}'
+    concurrent: true
+    mvn_settings_xml_version:
+    mvn_params:
+    mvn_version: 3.5.4
+    subdirectory:
+    properties:
+      - logrotate
+
+    parameters:
+      - project-parameters:
+          project: 'onap/{project}'
+          branch: '{branch}'
+      - nordix-gerrit-parameters
+      - string:
+          name: JAVA_HOME
+          default: '/usr/lib/jvm/{jdk-version}-openjdk-amd64'
+          description: Java home
+      - string:
+          name: MVN_VERSION
+          default: '{mvn_version}'
+          description: Maven version
+      - string:
+          name: MVN_URL
+          default: https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/$MVN_VERSION/apache-maven-${{MVN_VERSION}}-bin.zip
+          description: URL to download Maven
+      - string:
+          name: MVN
+          default: $WORKSPACE/apache-maven-${{MVN_VERSION}}/bin/mvn
+          description: Path to mvn executable
+      - string:
+          name: MVN_SETTINGS_XML_VERSION
+          default: '{mvn_settings_xml_version}'
+          description: Commit ID of ONAP Oparent repository (https://git.onap.org/oparent/) to pull. Used for Maven settings file. Can be left blank to pull the latest version.
+      - string:
+          name: MVN_PARAMS
+          default: '{mvn_params}'
+          description: Maven build parameters
+      - string:
+          name: SUBDIRECTORY
+          default: '{subdirectory}'
+          description: Subdirectory of the workspace for which the pom.xml will be called. This allows the verify to be called against a specific directory
+    scm:
+      - git-scm-gerrit:
+          ssh-credentials-id: nordixinfra-nordix-gerrit-ssh
+          branch: '{branch}'
+          refspec: ''
+          wipe_workspace: true
+          clean_before: false
+
+    triggers:
+      - timed: '{timer}'
+
+    wrappers:
+      - build-timeout:
+          timeout: 45
+
+    builders:
+      - shell:
+          !include-raw-escape: ./verify-jobs.sh
+
 # csits for diferent projects are different so need to have special handling
 - job-template:
     name: 'onap-policy-docker-{stream}-csit-java'