Refactor vnf-onboarding to make VNF choice configurable
Currently vnf-onboarding enables piplines and gerrit repos for
all VNFs, but this should be configurable depends on customer needs.
Added job description for metaswitch-vsbc job and introduced separate
job for deploy cloudify.
Related-PROD: PROD-18930
Change-Id: I8fae90956bf18c23940d654d617eb06a95aaa617
diff --git a/jenkins/client/job/vnf-onboarding/test_metaswitch_vsbc.yml b/jenkins/client/job/vnf-onboarding/test_metaswitch_vsbc.yml
new file mode 100644
index 0000000..e27cc1b
--- /dev/null
+++ b/jenkins/client/job/vnf-onboarding/test_metaswitch_vsbc.yml
@@ -0,0 +1,226 @@
+parameters:
+ jenkins:
+ client:
+ plugin:
+ gerrit-trigger: {}
+ job:
+ test_metaswitch_vnf:
+ type: workflow-scm
+ name: test_metaswitch_vnf
+ display_name: "Onboarding tests for Metaswitch vSBC VNF"
+ discard:
+ build:
+ keep_num: 20
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/vnf-onboarding/pipelines"
+ credentials: "${_param:vnf_gerrit_credentials}"
+ script: test_vnf_onboarding.groovy
+ trigger:
+ gerrit:
+ project:
+ "vnf-onboarding/metaswitch-vsbc":
+ branches:
+ - compare_type: "ANT"
+ name: "**"
+ event:
+ patchset:
+ - created:
+ excludeDrafts: false
+ excludeTrivialRebase: false
+ excludeNoCodeChange: false
+ change:
+ - merged
+ comment:
+ - addedContains:
+ commentAddedCommentContains: '(retest|recheck|reverify)'
+ param:
+ DEFAULT_GIT_URL:
+ type: string
+ description: "Run against alternate system reclass"
+ default: "${_param:jenkins_gerrit_url}/vnf-onboarding/metaswitch-vsbc"
+ DEFAULT_GIT_REF:
+ type: string
+ default: master
+ OPENSTACK_API_URL:
+ type: string
+ default: ${_param:vnf_openstack_api_url}"
+ OPENSTACK_API_CREDENTIALS:
+ type: string
+ default: "${_param:vnf_openstack_api_credentials}"
+ OPENSTACK_API_TENANT:
+ type: string
+ default: "test"
+ GERRIT_CREDENTIALS:
+ type: string
+ default: "${_param:vnf_gerrit_credentials}"
+ ELASTIC_URL:
+ type: string
+ default: "${_param:vnf_elastic_url}"
+ DEBUG_OPTIONS:
+ type: string
+ default: "skip_inspection=1"
+ description: "Example: skip_all=1 skip_deploy=1 skip_inspection=1"
+ NFV_PLATFORM_REPO:
+ type: string
+ description: "Take Cloudify blueprints, Dockerfile and CI scripts from this repo"
+ default: "ssh://mcp-gerrit@gerrit.mcp.mirantis.net:29418/vnf-onboarding/nfv-platform"
+ NFV_PLATFORM_REPO_BRANCH:
+ type: string
+ default: "master"
+ NFV_PLATFORM_REPO_CREDENTIALS:
+ type: string
+ default: "${_param:vnf_gerrit_credentials}"
+ CONTRAIL_ENABLED:
+ type: boolean
+ default: false
+ CONTRAIL_API_URL:
+ type: string
+ default: "${_param:contrail_api_url}"
+ SETUP_OWN_CLOUDIFY:
+ type: boolean
+ description: "Use temporary private Cloudify instance"
+ default: false
+ CLOUDIFY_MANAGER_IP:
+ type: string
+ description: "IP address of extrenal Cloudify. \"auto\" refers to address of deploy_cloudify job Cloudify instance"
+ default: "auto"
+ CFM_SSH_KEY_ID:
+ type: string
+ description: "Credentials ID of ssh key for connection to Cloudify"
+ default: "${_param:vnf_openstack_ssh_key_credentials}"
+ CFY_AGENT_NET:
+ type: string
+ description: "Network for Cloudify agents that has access to Cloudify Manager"
+ default: "cfm-net-shared"
+ CFY_AGENT_FLAVOR:
+ type: string
+ default: "cfy.agent"
+ CFY_AGENT_IMAGE:
+ type: string
+ default: "ubuntu-xenial"
+ VNF_ARTIFACTORY_URL:
+ type: string
+ default: "${_param:vnf_artifactory_url}"
+ VNF_ARTIFACTORY_PLUGINS_DIR:
+ type: string
+ default: "${_param:vnf_artifactory_url}/cloudify/plugins/"
+ VNF_DOCKER_REGISTRY_PATH:
+ type: string
+ default: "${_param:vnf_docker_registry_path}"
+ VNF_DOCKER_CLI_TAG:
+ type: string
+ default: "latest"
+ VNF_DOCKER_SCRUN_TAG:
+ type: string
+ description: "Not in use for this job"
+ default: "latest"
+ VNF_PLUGINS:
+ type: string
+ description: "Plugins to fetch from artifactory and install during build package step"
+ default: "vnf_onboarding_tools-0.1-py27-none-linux_x86_64_Ubuntu_xenial"
+ VNF_OPTIONS:
+ type: string
+ default: ""
+ VNF_DOCKER_CLI_PLATFORM:
+ type: string
+ default: "ubuntu"
+ CLOUDIFY_DEPLOYMENT_TIMEOUT:
+ type: string
+ description: "Set up timeout for cloudify deployment (depends on each VNF specific and network throughput)."
+ default: 7200
+
+
+ platform_validation_pipeline:
+ type: workflow-scm
+ name: platform_validation_pipeline
+ display_name: "Validate OpenStack platform before deploy of VNF"
+ discard:
+ build:
+ keep_num: 20
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/vnf-onboarding/pipelines"
+ credentials: "${_param:vnf_gerrit_credentials}"
+ script: test_platform.groovy
+ param:
+ OPENSTACK_API_CREDENTIALS:
+ type: string
+ description: "OpenStack admin user credentials for running tests"
+ default: "${_param:vnf_openstack_api_credentials}"
+ OS_PROJECT_NAME:
+ type: string
+ description: "OpenStack project name for running tests"
+ default: "platform-test"
+ OS_AUTH_URL:
+ type: string
+ description: "OpenStack auth url"
+ default: "http://${_param:openstack_control_address}:35357/v3"
+ IMAGE_ID:
+ type: string
+ description: "Specify image id to execute tests against custom images"
+ default: ""
+ FLAVOR_ID:
+ type: string
+ description: "Specify flavor id to execute tests against custom images"
+ default: ""
+ MIN_COMPUTE_NODES:
+ type: string
+ description: "Specify number of compute nodes of environment"
+ default: '2'
+ FIXED_SHARED_NETWORK_NAME:
+ type: string
+ description: "Shared network that will be used in tests."
+ default: "test-shared"
+ COMPUTE_NODE_HOST_NAME:
+ type: string
+ description: "To run CPU pinning/NUMA topology tests against specific node"
+ default: ''
+ COMPUTE_AVAILABILITY_ZONE:
+ type: string
+ description: "To run CPU pinning/NUMA topology tests against specific node"
+ default: 'nova'
+ COMPUTE_NUMA_NODE_COUNT:
+ type: string
+ description: "Number of NUMA node for NUMA topology testing."
+ default: '2'
+ IMAGE_SSH_USER:
+ type: string
+ description: "Specify user name to login in test OpenStack VMs"
+ default: "cirros"
+ VNF_PLATFORM_TESTS_REPO:
+ type: string
+ description: "Repository with testing framework"
+ default: "${_param:jenkins_gerrit_url}vnf-onboarding/platform-tests"
+ VNF_PLATFORM_TESTS_BRANCH:
+ type: string
+ default: "master"
+ VNF_PLATFORM_TESTS_REPO_CREDENTIALS:
+ type: string
+ default: "${_param:vnf_gerrit_credentials}"
+ TEMPEST_IMAGE_DOCKER_REGISTRY_PATH:
+ type: string
+ description: "Path for docker image with testing tool. If empty, image will be build using VNF_PLATFORM_TESTS_* parameters."
+ default: ${_param:vnf_docker_registry_path}
+ TEMPEST_IMAGE_NAME:
+ type: string
+ description: "Name of docker image with testing tool"
+ default: "platform_tests:latest"
+ ELASTIC_URL:
+ type: string
+ description: "URL to elastic search API"
+ default: "${_param:vnf_elastic_url}"
+ ELASTIC_TRANSFER_REPO:
+ type: string
+ description: "Repository with scripts for transfering test results to elastic search"
+ default: "${_param:jenkins_gerrit_url}/vnf-onboarding/nfv-platform"
+ ELASTIC_TRANSFER_REPO_CREDENTIALS:
+ type: string
+ default: "${_param:vnf_gerrit_credentials}"
+ ELASTIC_TRANSFER_REPO_BRANCH:
+ type: string
+ default: "master"
+ DOCKER_TEMPEST_PARAMS:
+ type: string
+ description: "Pass custom parameters for tempest container"
+ default: ""