Merge "Added DEBUG option to build salt-formula pipelines"
diff --git a/jenkins/client/approved_scripts.yml b/jenkins/client/approved_scripts.yml
index c672e25..80cfd95 100644
--- a/jenkins/client/approved_scripts.yml
+++ b/jenkins/client/approved_scripts.yml
@@ -58,6 +58,7 @@
- method java.util.List subList int int
- method java.util.Map remove java.lang.Object
- method java.util.Map size
+ - method java.util.Map isEmpty
- method java.util.regex.MatchResult group int
- method java.util.regex.MatchResult groupCount
- method java.util.regex.Matcher find
diff --git a/jenkins/client/job/debian/packages/ceph.yml b/jenkins/client/job/debian/packages/ceph.yml
new file mode 100644
index 0000000..5307b4b
--- /dev/null
+++ b/jenkins/client/job/debian/packages/ceph.yml
@@ -0,0 +1,77 @@
+parameters:
+ jenkins:
+ client:
+ job_template:
+ build-debian-ceph-package:
+ name: build-debian-{{package}}-{{version}}-ubuntu-{{dist}}
+ jobs:
+ # Xenial
+ - package: ceph
+ dist: xenial
+ branch: debian/xenial-luminous
+ version: luminous
+ - package: ceph
+ dist: xenial
+ branch: debian/xenial-jewel
+ version: jewel
+ template:
+ discard:
+ build:
+ keep_num: 10
+ artifact:
+ keep_num: 10
+ type: workflow-scm
+ concurrent: false
+ scm:
+ type: git
+ url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
+ branch: "${_param:jenkins_pipelines_branch}"
+ credentials: "gerrit"
+ script: build-debian-packages-pipeline.groovy
+ trigger:
+ gerrit:
+ project:
+ debian/{{package}}:
+ branches:
+ - "{{branch}}"
+ message:
+ build_successful: "Build successful"
+ build_unstable: "Build unstable"
+ build_failure: "Build failed"
+ event:
+ ref:
+ - updated
+ param:
+ SOURCE_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/debian/{{package}}.git"
+ SOURCE_BRANCH:
+ type: string
+ default: "{{branch}}"
+ SOURCE_CREDENTIALS:
+ type: string
+ default: "gerrit"
+ EXTRA_REPO_URL:
+ type: string
+ default: "deb ${_param:jenkins_aptly_url}/{{dist}}/ testing ceph"
+ EXTRA_REPO_KEY_URL:
+ type: string
+ default: "${_param:jenkins_aptly_url}/public.gpg"
+ APTLY_URL:
+ type: string
+ default: "${_param:jenkins_aptly_api_url}"
+ APTLY_REPO:
+ type: string
+ default: "ubuntu-{{dist}}-{{package}}-{{version}}"
+ OS:
+ type: string
+ default: "ubuntu"
+ DIST:
+ type: string
+ default: "{{dist}}"
+ ARCH:
+ type: string
+ default: "amd64"
+ UPLOAD_APTLY:
+ type: boolean
+ default: 'true'
\ No newline at end of file
diff --git a/jenkins/client/job/debian/packages/init.yml b/jenkins/client/job/debian/packages/init.yml
index 2fff22c..4196f95 100644
--- a/jenkins/client/job/debian/packages/init.yml
+++ b/jenkins/client/job/debian/packages/init.yml
@@ -4,6 +4,7 @@
- system.jenkins.client.job.debian.packages.salt-multi
- system.jenkins.client.job.debian.packages.horizon
- system.jenkins.client.job.debian.packages.heat.resources
+ - system.jenkins.client.job.debian.packages.ceph
parameters:
jenkins:
client:
diff --git a/jenkins/client/job/debian/packages/salt-multi.yml b/jenkins/client/job/debian/packages/salt-multi.yml
index 90e6f02..f7a87c7 100644
--- a/jenkins/client/job/debian/packages/salt-multi.yml
+++ b/jenkins/client/job/debian/packages/salt-multi.yml
@@ -142,3 +142,6 @@
UPLOAD_APTLY:
type: boolean
default: '{{upload_source_package}}'
+ DEBUG:
+ type: boolean
+ default: 'false'
diff --git a/jenkins/client/job/debian/packages/salt.yml b/jenkins/client/job/debian/packages/salt.yml
index f792847..0a34447 100644
--- a/jenkins/client/job/debian/packages/salt.yml
+++ b/jenkins/client/job/debian/packages/salt.yml
@@ -5,6 +5,9 @@
build-debian-salt-formula:
name: build-debian-salt-formula-{{name}}-ubuntu-{{dist}}
jobs:
+ - name: aide
+ upload_source_package: false
+ dist: trusty
- name: aodh
upload_source_package: false
dist: trusty
@@ -320,6 +323,9 @@
- name: zookeeper
upload_source_package: false
dist: trusty
+ - name: aide
+ upload_source_package: true
+ dist: xenial
- name: aodh
upload_source_package: true
dist: xenial
diff --git a/jenkins/client/job/oscore/tests.yml b/jenkins/client/job/oscore/tests.yml
index e185455..e4f8009 100644
--- a/jenkins/client/job/oscore/tests.yml
+++ b/jenkins/client/job/oscore/tests.yml
@@ -533,6 +533,9 @@
credentials: "gerrit"
branch: 'master'
script: oscc-ci-pipeline.groovy
+ trigger:
+ timer:
+ spec: "0 1 * * *"
param:
# general
DEPLOY_JOB_NAME:
@@ -574,6 +577,10 @@
type: string
description: "OpenStack related components list"
default: "{{openstack_components_list}}"
+ AUTO_PROMOTE:
+ type: boolean
+ default: "{{auto_promote}}"
+ description: Enable to autopromote repo
build-salt-formula-refspec-template:
name: "{{job_prefix}}-build-salt-formula-refspec"
template:
diff --git a/jenkins/client/job/salt-formulas/git-mirrors/2way.yml b/jenkins/client/job/salt-formulas/git-mirrors/2way.yml
index e2487e6..06117f1 100644
--- a/jenkins/client/job/salt-formulas/git-mirrors/2way.yml
+++ b/jenkins/client/job/salt-formulas/git-mirrors/2way.yml
@@ -7,6 +7,8 @@
git-mirror-2way-salt-formula:
name: git-mirror-2way-salt-formula-{{name}}
jobs:
+ - name: aide
+ branches: ${_param:salt_formulas_branches}
- name: aodh
branches: ${_param:salt_formulas_branches}
notification_recipients: ${_param:salt_formulas_notification_recipients}
diff --git a/jenkins/client/job/salt-formulas/tests.yml b/jenkins/client/job/salt-formulas/tests.yml
index 0fdb502..646212b 100644
--- a/jenkins/client/job/salt-formulas/tests.yml
+++ b/jenkins/client/job/salt-formulas/tests.yml
@@ -5,6 +5,7 @@
test-salt-formula:
name: test-salt-formula-{{name}}-latest
jobs:
+ - name: aide
- name: aodh
- name: apache
- name: aptcacher
@@ -182,6 +183,12 @@
keep_num: 10
type: workflow-scm
concurrent: true
+ plugin_properties:
+ throttleconcurrents:
+ enabled: true
+ throttle_option: category
+ categories:
+ - test-formula
scm:
type: git
url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
diff --git a/jenkins/client/job/salt-models/tests.yml b/jenkins/client/job/salt-models/tests.yml
index 6bf8e5a..c496b61 100644
--- a/jenkins/client/job/salt-models/tests.yml
+++ b/jenkins/client/job/salt-models/tests.yml
@@ -188,6 +188,12 @@
keep_num: 10
type: workflow-scm
concurrent: true
+ plugin_properties:
+ throttleconcurrents:
+ enabled: true
+ throttle_option: category
+ categories:
+ - test-model
scm:
type: git
url: "${_param:jenkins_gerrit_url}/mk/mk-pipelines"
diff --git a/jenkins/client/job/vnf-onboarding/init.yml b/jenkins/client/job/vnf-onboarding/init.yml
new file mode 100644
index 0000000..cd97fef
--- /dev/null
+++ b/jenkins/client/job/vnf-onboarding/init.yml
@@ -0,0 +1,11 @@
+classes:
+ - system.jenkins.client.job.vnf-onboarding.test_avi_loadbalancer
+ - system.jenkins.client.job.vnf-onboarding.test_nginx_vnf
+
+parameters:
+ _param:
+ cluster_public_protocol: https
+ vnf_gerrit_credentials: "gerrit"
+ vnf_openstack_api_url: "${_param:cluster_public_protocol}://${_param:cluster_public_host}:5000/v2.0"
+ vnf_openstack_api_credentials: "test-openstack"
+ vnf_elastic_url: "${_param:stacklight_log_address}:${_param:cluster_elasticsearch_port}"
diff --git a/jenkins/client/job/vnf-onboarding/test_avi_loadbalancer.yml b/jenkins/client/job/vnf-onboarding/test_avi_loadbalancer.yml
new file mode 100644
index 0000000..f30b2b7
--- /dev/null
+++ b/jenkins/client/job/vnf-onboarding/test_avi_loadbalancer.yml
@@ -0,0 +1,81 @@
+parameters:
+ jenkins:
+ client:
+ plugin:
+ gerrit-trigger: {}
+ job:
+ test_avi_loadbalancer:
+ type: workflow-scm
+ name: test-avi-loadbalancer
+ display_name: "Onboarding tests for the AVI Loadbalancer 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/avi-loadbalancer":
+ branches:
+ - compare_type: "ANT"
+ name: "**"
+ event:
+ patchset:
+ - created:
+ excludeDrafts: false
+ excludeTrivialRebase: false
+ excludeNoCodeChange: false
+ change:
+ - merged
+ comment:
+ - addedContains:
+ commentAddedCommentContains: '(retest|recheck|reverify)'
+ message:
+ build_successful: "Build successful"
+ build_unstable: "Build unstable"
+ build_failure: "Build failed"
+ param:
+ DEFAULT_GIT_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/vnf-onboarding/avi-loadbalancer"
+ 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-avi"
+ GERRIT_CREDENTIALS:
+ type: string
+ default: "${_param:vnf_gerrit_credentials}"
+ ELASTIC_URL:
+ type: string
+ default: "${_param:vnf_elastic_url}"
+ DEBUG_OPTIONS:
+ type: string
+ 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: "${_param:jenkins_gerrit_url}/vnf-onboarding/nfv-platform"
+ NFV_PLATFORM_REPO_BRANCH:
+ type: string
+ default: "master"
+ NFV_PLATFORM_REPO_CREDENTIALS:
+ type: string
+ default: "${_param:vnf_gerrit_credentials}"
+ CI_OPTIONS:
+ type: string
+ default: "CFY_AGENT_NET=cfm-net CFY_AGENT_FLAVOR=cfy.agent CFY_AGENT_IMAGE=ubuntu1 CFY_AGENT_USER=cfyuser CFY_SG=cfm-sg CFY_SSH_KEY_ID=openstack_key"
+ VNF_OPTIONS:
+ type: string
+ default: "AVI_VERSION=17.2.3 AVI_USERNAME=admin AVI_PASSWORD=Swordfish1234 AVI_IMAGE_PASSWORD=58NFaGDJm(PJH0G AVI_OS_FLAVOR=avi_ctrl.small AVI_OS_IMAGE=avi-control-17.2.3"
diff --git a/jenkins/client/job/vnf-onboarding/test_nginx_vnf.yml b/jenkins/client/job/vnf-onboarding/test_nginx_vnf.yml
new file mode 100644
index 0000000..8a86363
--- /dev/null
+++ b/jenkins/client/job/vnf-onboarding/test_nginx_vnf.yml
@@ -0,0 +1,82 @@
+parameters:
+ jenkins:
+ client:
+ plugin:
+ gerrit-trigger: {}
+ job:
+ test_nginx_vnf:
+ type: workflow-scm
+ name: test-nginx-vnf
+ display_name: "Onboarding tests for the NGINX 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/nginx-vnf":
+ branches:
+ - compare_type: "ANT"
+ name: "**"
+ event:
+ patchset:
+ - created:
+ excludeDrafts: false
+ excludeTrivialRebase: false
+ excludeNoCodeChange: false
+ change:
+ - merged
+ comment:
+ - addedContains:
+ commentAddedCommentContains: '(retest|recheck|reverify)'
+ message:
+ build_successful: "Build successful"
+ build_unstable: "Build unstable"
+ build_failure: "Build failed"
+ param:
+ DEFAULT_GIT_URL:
+ type: string
+ default: "${_param:jenkins_gerrit_url}/vnf-onboarding/nginx-vnf"
+ 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-nginx"
+ 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: "${_param:jenkins_gerrit_url}/vnf-onboarding/nfv-platform"
+ NFV_PLATFORM_REPO_BRANCH:
+ type: string
+ default: "master"
+ NFV_PLATFORM_REPO_CREDENTIALS:
+ type: string
+ default: "${_param:vnf_gerrit_credentials}"
+ CI_OPTIONS:
+ type: string
+ default: "CFY_AGENT_NET=cfm-net CFY_AGENT_FLAVOR=cfy.agent CFY_AGENT_IMAGE=ubuntu1 CFY_AGENT_USER=cfyuser CFY_SG=cfm-sg CFY_SSH_KEY_ID=openstack_key"
+ VNF_OPTIONS:
+ type: string
+ default: ""
diff --git a/linux/network/interface/single_ovs_dvr.yml b/linux/network/interface/single_ovs_dvr.yml
index 482bd02..2f4cf2a 100644
--- a/linux/network/interface/single_ovs_dvr.yml
+++ b/linux/network/interface/single_ovs_dvr.yml
@@ -39,7 +39,7 @@
type: ovs_port
mtu: 65000
bridge: br-floating
- br-mgmt:
+ br-mgm:
enabled: true
type: bridge
mtu: ${_param:interface_mtu}
@@ -64,4 +64,4 @@
use_interfaces:
- ${_param:external_interface}
use_ovs_ports:
- - float-to-ex
\ No newline at end of file
+ - float-to-ex
diff --git a/salt/minion/cert/k8s_client.yml b/salt/minion/cert/k8s_client.yml
index be262b5..53ff3ba 100644
--- a/salt/minion/cert/k8s_client.yml
+++ b/salt/minion/cert/k8s_client.yml
@@ -21,21 +21,3 @@
common_name: system:kube-proxy
signing_policy: cert_client
alternative_names: IP:${_param:cluster_vip_address},IP:${_param:cluster_node01_address},IP:${_param:cluster_node02_address},IP:${_param:cluster_node03_address},IP:${_param:kubernetes_internal_api_address}
- k8s_scheduler:
- host: ${_param:salt_minion_ca_host}
- authority: ${_param:salt_minion_ca_authority}
- key_file: /etc/kubernetes/ssl/kube-scheduler-client.key
- cert_file: /etc/kubernetes/ssl/kube-scheduler-client.crt
- ca_file: /etc/kubernetes/ssl/ca-kubernetes.crt
- common_name: system:kube-scheduler
- signing_policy: cert_client
- alternative_names: IP:${_param:cluster_vip_address},IP:${_param:cluster_node01_address},IP:${_param:cluster_node02_address},IP:${_param:cluster_node03_address},IP:${_param:kubernetes_internal_api_address}
- k8s_controller_manager:
- host: ${_param:salt_minion_ca_host}
- authority: ${_param:salt_minion_ca_authority}
- key_file: /etc/kubernetes/ssl/kube-controller-manager-client.key
- cert_file: /etc/kubernetes/ssl/kube-controller-manager-client.crt
- ca_file: /etc/kubernetes/ssl/ca-kubernetes.crt
- common_name: system:kube-controller-manager
- signing_policy: cert_client
- alternative_names: IP:${_param:cluster_vip_address},IP:${_param:cluster_node01_address},IP:${_param:cluster_node02_address},IP:${_param:cluster_node03_address},IP:${_param:kubernetes_internal_api_address}
diff --git a/salt/minion/cert/k8s_client_single.yml b/salt/minion/cert/k8s_client_single.yml
index e9c7d79..eb7b21c 100644
--- a/salt/minion/cert/k8s_client_single.yml
+++ b/salt/minion/cert/k8s_client_single.yml
@@ -21,21 +21,3 @@
common_name: system:kube-proxy
signing_policy: cert_client
alternative_names: IP:${_param:control_address},IP:${_param:kubernetes_internal_api_address}
- k8s_scheduler:
- host: ${_param:salt_minion_ca_host}
- authority: ${_param:salt_minion_ca_authority}
- key_file: /etc/kubernetes/ssl/kube-scheduler-client.key
- cert_file: /etc/kubernetes/ssl/kube-scheduler-client.crt
- ca_file: /etc/kubernetes/ssl/ca-kubernetes.crt
- common_name: system:kube-scheduler
- signing_policy: cert_client
- alternative_names: IP:${_param:control_address},IP:${_param:kubernetes_internal_api_address}
- k8s_controller_manager:
- host: ${_param:salt_minion_ca_host}
- authority: ${_param:salt_minion_ca_authority}
- key_file: /etc/kubernetes/ssl/kube-controller-manager-client.key
- cert_file: /etc/kubernetes/ssl/kube-controller-manager-client.crt
- ca_file: /etc/kubernetes/ssl/ca-kubernetes.crt
- common_name: system:kube-controller-manager
- signing_policy: cert_client
- alternative_names: IP:${_param:control_address},IP:${_param:kubernetes_internal_api_address}
diff --git a/salt/minion/cert/k8s_server.yml b/salt/minion/cert/k8s_server.yml
index 603d369..d81f5a5 100644
--- a/salt/minion/cert/k8s_server.yml
+++ b/salt/minion/cert/k8s_server.yml
@@ -11,3 +11,30 @@
all_file: /srv/salt/env/${_param:salt_master_base_environment}/_certs/kubernetes/kubernetes-server.pem
signing_policy: cert_server
alternative_names: IP:${_param:cluster_vip_address},IP:${_param:cluster_node01_address},IP:${_param:cluster_node02_address},IP:${_param:cluster_node03_address},IP:${_param:kubernetes_internal_api_address},DNS:kubernetes.default,DNS:kubernetes.default.svc
+ k8s_scheduler:
+ host: ${_param:salt_minion_ca_host}
+ authority: ${_param:salt_minion_ca_authority}
+ key_file: /etc/kubernetes/ssl/kube-scheduler-client.key
+ cert_file: /etc/kubernetes/ssl/kube-scheduler-client.crt
+ ca_file: /etc/kubernetes/ssl/ca-kubernetes.crt
+ common_name: system:kube-scheduler
+ signing_policy: cert_client
+ alternative_names: IP:${_param:cluster_vip_address},IP:${_param:cluster_node01_address},IP:${_param:cluster_node02_address},IP:${_param:cluster_node03_address},IP:${_param:kubernetes_internal_api_address}
+ k8s_controller_manager:
+ host: ${_param:salt_minion_ca_host}
+ authority: ${_param:salt_minion_ca_authority}
+ key_file: /etc/kubernetes/ssl/kube-controller-manager-client.key
+ cert_file: /etc/kubernetes/ssl/kube-controller-manager-client.crt
+ ca_file: /etc/kubernetes/ssl/ca-kubernetes.crt
+ common_name: system:kube-controller-manager
+ signing_policy: cert_client
+ alternative_names: IP:${_param:cluster_vip_address},IP:${_param:cluster_node01_address},IP:${_param:cluster_node02_address},IP:${_param:cluster_node03_address},IP:${_param:kubernetes_internal_api_address}
+ k8s_admin:
+ host: ${_param:salt_minion_ca_host}
+ authority: ${_param:salt_minion_ca_authority}
+ key_file: /etc/kubernetes/ssl/admin.key
+ cert_file: /etc/kubernetes/ssl/admin.crt
+ ca_file: /etc/kubernetes/ssl/ca-kubernetes.crt
+ common_name: admin
+ organization_name: system:masters
+ signing_policy: cert_client
diff --git a/salt/minion/cert/k8s_server_single.yml b/salt/minion/cert/k8s_server_single.yml
index 33637e4..fa3a008 100644
--- a/salt/minion/cert/k8s_server_single.yml
+++ b/salt/minion/cert/k8s_server_single.yml
@@ -11,3 +11,30 @@
all_file: /srv/salt/env/${_param:salt_master_base_environment}/_certs/kubernetes/kubernetes-server.pem
signing_policy: cert_server
alternative_names: IP:${_param:control_address},IP:${_param:kubernetes_internal_api_address}
+ k8s_scheduler:
+ host: ${_param:salt_minion_ca_host}
+ authority: ${_param:salt_minion_ca_authority}
+ key_file: /etc/kubernetes/ssl/kube-scheduler-client.key
+ cert_file: /etc/kubernetes/ssl/kube-scheduler-client.crt
+ ca_file: /etc/kubernetes/ssl/ca-kubernetes.crt
+ common_name: system:kube-scheduler
+ signing_policy: cert_client
+ alternative_names: IP:${_param:control_address},IP:${_param:kubernetes_internal_api_address}
+ k8s_controller_manager:
+ host: ${_param:salt_minion_ca_host}
+ authority: ${_param:salt_minion_ca_authority}
+ key_file: /etc/kubernetes/ssl/kube-controller-manager-client.key
+ cert_file: /etc/kubernetes/ssl/kube-controller-manager-client.crt
+ ca_file: /etc/kubernetes/ssl/ca-kubernetes.crt
+ common_name: system:kube-controller-manager
+ signing_policy: cert_client
+ alternative_names: IP:${_param:control_address},IP:${_param:kubernetes_internal_api_address}
+ k8s_admin:
+ host: ${_param:salt_minion_ca_host}
+ authority: ${_param:salt_minion_ca_authority}
+ key_file: /etc/kubernetes/ssl/admin.key
+ cert_file: /etc/kubernetes/ssl/admin.crt
+ ca_file: /etc/kubernetes/ssl/ca-kubernetes.crt
+ common_name: admin
+ organization_name: system:masters
+ signing_policy: cert_client