Merge "SEBA-274 adding k8s synchronizer test for simpleexampleservice"
diff --git a/jjb/defaults.yaml b/jjb/defaults.yaml
index 94d103a..f32f1a3 100644
--- a/jjb/defaults.yaml
+++ b/jjb/defaults.yaml
@@ -72,7 +72,7 @@
# matching repos that should be version tagged by the version-tag job
# (basically the same as imagebuilder projects + helm charts + tools
- version-tag-projects-regexp: '^(xos.*|helm-charts|automation-tools|cord-tester|chameleon|rcord|mcord|ecord|acordion|addressmanager|epc-service|exampleservice|fabric|fabric-crossconnect|globalxos|hippie-oss|hss_db|hypercache|internetemulator|kubernetes-service|monitoring|olt-service|onos-service|openstack|progran|sdn-controller|simpleexampleservice|templateservice|vEE|vEG|vBBU|venb|vHSS|vMME|vnaas|vPGWC|vPGWU|vrouter|vsg|vsg-hw|vSGW|vSM|vspgwc|vspgwu|vtn-service|vtr|att-workflow-driver|ves-agent)$'
+ version-tag-projects-regexp: '^(xos.*|helm-charts|automation-tools|cord-tester|chameleon|rcord|mcord|ecord|acordion|addressmanager|epc-service|exampleservice|fabric|fabric-crossconnect|globalxos|hippie-oss|hss_db|hypercache|internetemulator|kubernetes-service|monitoring|olt-service|onos-service|openstack|progran|sdn-controller|simpleexampleservice|templateservice|vEE|vEG|vBBU|venb|vHSS|vMME|vnaas|vPGWC|vPGWU|vrouter|vsg|vsg-hw|vSGW|vSM|vspgwc|vspgwu|vtn-service|vtr|att-workflow-driver|ves-agent|voltha-bbsim|openolt)$'
# for matching files with file-include-regexp
all-files-regexp: '.*'
diff --git a/jjb/pipeline/siab.groovy b/jjb/pipeline/siab.groovy
index e4f7431..0b9eb91 100644
--- a/jjb/pipeline/siab.groovy
+++ b/jjb/pipeline/siab.groovy
@@ -49,7 +49,7 @@
steps {
sh """
pushd $WORKSPACE/automation-tools/seba-in-a-box
- make run-tests || true
+ make run-tests ${params.Test_Tags} || true
popd
"""
}
diff --git a/jjb/python-unit.yaml b/jjb/python-unit.yaml
new file mode 100644
index 0000000..1a20728
--- /dev/null
+++ b/jjb/python-unit.yaml
@@ -0,0 +1,75 @@
+---
+# python module unit test
+
+- job-template:
+ id: 'python-unit-test'
+ name: 'verify_{project}_unit-test'
+
+ description: |
+ Created by {id} job-template from ci-management/jjb/xos-unit.yaml
+
+ triggers:
+ - cord-infra-gerrit-trigger-patchset:
+ gerrit-server-name: '{gerrit-server-name}'
+ project-regexp: '^{project}$'
+ branch-regexp: '{branch-regexp}'
+ dependency-jobs: '{dependency-jobs}'
+ file-include-regexp: '{all-files-regexp}'
+
+ properties:
+ - cord-infra-properties:
+ build-days-to-keep: '{build-days-to-keep}'
+ artifact-num-to-keep: '{artifact-num-to-keep}'
+
+ wrappers:
+ - lf-infra-wrappers:
+ build-timeout: 20
+ jenkins-ssh-credential: '{jenkins-ssh-credential}'
+
+ scm:
+ - lf-infra-gerrit-scm:
+ git-url: '$GIT_URL/$GERRIT_PROJECT'
+ refspec: '$GERRIT_REFSPEC'
+ branch: '$GERRIT_BRANCH'
+ submodule-recursive: 'false'
+ choosing-strategy: gerrit
+ jenkins-ssh-credential: '{jenkins-ssh-credential}'
+
+ node: '{build-node}'
+ project-type: freestyle
+ concurrent: true
+
+ builders:
+ - shell: |
+ #!/usr/bin/env bash
+ set -eux -o pipefail
+
+ if [ -f 'tox.ini' ]; then
+ echo "tox.ini found, running tox for Python2/3 unit tests"
+ tox
+ else
+ echo "tox.ini not found, running nose2 unit tests"
+
+ if [ -f 'requirements.txt' ]; then
+ echo "requirements.txt found, installing locally with pip"
+ pip install -r requirements.txt
+ fi
+
+ echo "Performing nose2 tests"
+ nose2 --verbose --coverage-report xml --coverage-report term --junit-xml
+ fi
+
+ publishers:
+ - junit:
+ results: "**/nose2-junit.xml"
+ - cobertura:
+ report-file: "**/coverage.xml"
+ targets:
+ - files:
+ healthy: 80
+ unhealthy: 0
+ failing: 0
+ - method:
+ healthy: 50
+ unhealthy: 0
+ failing: 0
diff --git a/jjb/shell/licensecheck.sh b/jjb/shell/licensecheck.sh
index 3d64307..2cf2655 100755
--- a/jjb/shell/licensecheck.sh
+++ b/jjb/shell/licensecheck.sh
@@ -43,6 +43,7 @@
! -name "*.iml" \
! -name "*.in" \
! -name "*.inc" \
+ ! -name "*.install" \
! -name "*.j2" \
! -name "*.jar" \
! -name "*.jks" \
diff --git a/jjb/siab-e2e.yaml b/jjb/siab-e2e.yaml
index 31664ee..0ff1f83 100644
--- a/jjb/siab-e2e.yaml
+++ b/jjb/siab-e2e.yaml
@@ -7,7 +7,7 @@
refspec: 'refs/heads/master'
failure-email-address: 'andy@opennetworking.org'
timed-trigger: '{every-hour}'
- build-timeout: 20
+ build-timeout: 60
jobs:
- 'siab-e2e-att'
diff --git a/jjb/siab.yaml b/jjb/siab.yaml
index 8a13a74..5c50f70 100644
--- a/jjb/siab.yaml
+++ b/jjb/siab.yaml
@@ -40,6 +40,11 @@
default: 'stable'
description: 'Latest | Stable'
+ - string:
+ name: Test_Tags
+ default: ''
+ description: 'empty for stable and latest for latest'
+
project-type: pipeline
concurrent: false
@@ -80,6 +85,11 @@
default: 'latest'
description: 'Latest | Stable'
+ - string:
+ name: Test_Tags
+ default: 'TESTTAGS=latest'
+ description: 'empty for stable and latest for latest'
+
project-type: pipeline
concurrent: false
diff --git a/jjb/verify/kafka-topic-exporter.yaml b/jjb/verify/kafka-topic-exporter.yaml
new file mode 100644
index 0000000..cd2861a
--- /dev/null
+++ b/jjb/verify/kafka-topic-exporter.yaml
@@ -0,0 +1,107 @@
+---
+# verification jobs for 'kafka-topic-exporter' repo
+
+- project:
+ name: kafka-topic-exporter
+ project: '{name}'
+
+ jobs:
+ - 'verify-kafka-topic-exporter-jobs':
+ branch-regexp: '{supported-branches-regexp}'
+
+- job-group:
+ name: 'verify-kafka-topic-exporter-jobs'
+ jobs:
+ - 'verify-licensed'
+ - 'tag-collision-reject':
+ dependency-jobs: 'verify_kafka-topic-exporter_licensed'
+ - 'verify-sonarqube':
+ dependency-jobs: 'verify_kafka-topic-exporter_tag-collision'
+ - 'kafka-topic-exporter-tests':
+ dependency-jobs: 'verify_kafka-topic-exporter_sonarqube'
+
+- job-template:
+ id: 'kafka-topic-exporter-tests'
+ name: 'verify_{project}_tests'
+
+ description: |
+ Created by {id} job-template from ci-management/jjb/verify/kafka-topic-exporter.yaml
+
+ triggers:
+ - cord-infra-gerrit-trigger-patchset:
+ gerrit-server-name: '{gerrit-server-name}'
+ project-regexp: '^{project}$'
+ branch-regexp: '{branch-regexp}'
+ dependency-jobs: '{dependency-jobs}'
+ file-include-regexp: '{all-files-regexp}'
+
+ properties:
+ - cord-infra-properties:
+ build-days-to-keep: '{build-days-to-keep}'
+ artifact-num-to-keep: '{artifact-num-to-keep}'
+
+ wrappers:
+ - lf-infra-wrappers:
+ build-timeout: 20
+ jenkins-ssh-credential: '{jenkins-ssh-credential}'
+
+ scm:
+ - cord-infra-gerrit-scm:
+ git-url: '$GIT_URL/$GERRIT_PROJECT'
+ refspec: '$GERRIT_REFSPEC'
+ branch: '$GERRIT_BRANCH'
+ submodule-recursive: 'false'
+ choosing-strategy: 'gerrit'
+ jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ basedir: '{project}'
+
+ node: 'ubuntu16.04-basebuild-1c-2g'
+ project-type: freestyle
+ concurrent: true
+
+ builders:
+ - shell: |
+ #!/usr/bin/env bash
+ set -eux -o pipefail
+
+ export GOPATH=~/go
+ export PATH=$PATH:/usr/lib/go-1.10/bin:/usr/local/go/bin:~/go/bin
+
+ # move code the proper location
+ mkdir -p $GOPATH/src/gerrit.opencord.org
+ mv kafka-topic-exporter $GOPATH/src/gerrit.opencord.org/kafka-topic-exporter
+
+ # get prereqs
+ go get -v github.com/prometheus/client_golang/prometheus
+ go get -v github.com/Shopify/sarama
+
+ pushd $GOPATH/src/gerrit.opencord.org/kafka-topic-exporter
+
+ go get -v -d ./...
+ go test -v ./...
+
+ # generate Jenkins report
+ go test -v ./... 2>&1 | go-junit-report > $WORKSPACE/junit-report.xml
+
+ # generate Jenkins coverage
+ go test -coverprofile=coverage.txt -covermode=count ./...
+ gocover-cobertura < coverage.txt > $WORKSPACE/coverage.xml
+
+ popd
+
+
+ publishers:
+ - junit:
+ results: "junit-report.xml"
+ allow-empty-results: true
+ - cobertura:
+ report-file: "coverage.xml"
+ targets:
+ - files:
+ healthy: 80
+ unhealthy: 0
+ failing: 0
+ - method:
+ healthy: 50
+ unhealthy: 0
+ failing: 0
diff --git a/jjb/verify/kafkaloghandler.yaml b/jjb/verify/kafkaloghandler.yaml
new file mode 100644
index 0000000..4294afd
--- /dev/null
+++ b/jjb/verify/kafkaloghandler.yaml
@@ -0,0 +1,21 @@
+---
+# verification jobs for 'kafkaloghandler' repo
+
+- project:
+ name: kafkaloghandler
+ project: '{name}'
+
+ jobs:
+ - 'verify-kafkaloghandler-jobs':
+ branch-regexp: '{supported-branches-regexp}'
+
+- job-group:
+ name: 'verify-kafkaloghandler-jobs'
+ jobs:
+ - 'verify-licensed'
+ - 'tag-collision-reject':
+ dependency-jobs: 'verify_kafkaloghandler_licensed'
+ - 'verify-sonarqube':
+ dependency-jobs: 'verify_kafkaloghandler_tag-collision'
+ - 'python-unit-test':
+ dependency-jobs: 'verify_kafkaloghandler_sonarqube'
diff --git a/jjb/verify/multistructlog.yaml b/jjb/verify/multistructlog.yaml
new file mode 100644
index 0000000..e85bb20
--- /dev/null
+++ b/jjb/verify/multistructlog.yaml
@@ -0,0 +1,21 @@
+---
+# verification jobs for 'multistructlog' repo
+
+- project:
+ name: multistructlog
+ project: '{name}'
+
+ jobs:
+ - 'verify-multistructlog-jobs':
+ branch-regexp: '{supported-branches-regexp}'
+
+- job-group:
+ name: 'verify-multistructlog-jobs'
+ jobs:
+ - 'verify-licensed'
+ - 'tag-collision-reject':
+ dependency-jobs: 'verify_multistructlog_licensed'
+ - 'verify-sonarqube':
+ dependency-jobs: 'verify_multistructlog_tag-collision'
+ - 'python-unit-test':
+ dependency-jobs: 'verify_multistructlog_sonarqube'
diff --git a/jjb/verify/openolt.yaml b/jjb/verify/openolt.yaml
new file mode 100644
index 0000000..0ae1b3c
--- /dev/null
+++ b/jjb/verify/openolt.yaml
@@ -0,0 +1,63 @@
+---
+# verification jobs for 'openolt' repo
+
+- project:
+ name: openolt
+ project: '{name}'
+
+ jobs:
+ - 'verify-openolt-jobs':
+ branch-regexp: '{supported-branches-regexp}'
+
+- job-group:
+ name: 'verify-openolt-jobs'
+ jobs:
+ - 'verify-licensed'
+ - 'tag-collision-reject':
+ dependency-jobs: 'verify_openolt_licensed'
+ - 'verify-sonarqube':
+ dependency-jobs: 'verify_openolt_tag-collision'
+# - 'openolt-tests':
+# dependency-jobs: 'verify_openolt_sonarqube'
+
+- job-template:
+ id: 'openolt-tests'
+ name: 'verify_{project}_tests'
+
+ description: |
+ Created by {id} job-template from ci-management/jjb/verify/openolt.yaml
+
+ triggers:
+ - cord-infra-gerrit-trigger-patchset:
+ gerrit-server-name: '{gerrit-server-name}'
+ project-regexp: '^{project}$'
+ branch-regexp: '{branch-regexp}'
+ dependency-jobs: '{dependency-jobs}'
+ file-include-regexp: '{all-files-regexp}'
+
+ properties:
+ - cord-infra-properties:
+ build-days-to-keep: '{build-days-to-keep}'
+ artifact-num-to-keep: '{artifact-num-to-keep}'
+
+ parameters:
+ - string:
+ name: notificationEmail
+ default: '$GERRIT_EVENT_ACCOUNT_EMAIL'
+ description: 'Verification failure of patch $GERRIT_CHANGE_NUMBER to {project} repo'
+
+ node: 'openolt_deb_onf_agent'
+ project-type: pipeline
+ concurrent: true
+
+ pipeline-scm:
+ script-path: 'Jenkinsfile.test'
+ scm:
+ - cord-infra-gerrit-scm:
+ git-url: '$GIT_URL/$GERRIT_PROJECT'
+ refspec: '$GERRIT_REFSPEC'
+ branch: '$GERRIT_BRANCH'
+ submodule-recursive: 'false'
+ choosing-strategy: 'gerrit'
+ jenkins-ssh-credential: '{jenkins-ssh-credential}'
+ basedir: ''
diff --git a/jjb/verify/osam.yaml b/jjb/verify/osam.yaml
new file mode 100644
index 0000000..7cfe36a
--- /dev/null
+++ b/jjb/verify/osam.yaml
@@ -0,0 +1,21 @@
+---
+# verification jobs for 'osam' repo
+
+- project:
+ name: osam
+ project: '{name}'
+
+ jobs:
+ - 'verify-osam-jobs':
+ branch-regexp: '{supported-branches-regexp}'
+
+- job-group:
+ name: 'verify-osam-jobs'
+ jobs:
+ - 'verify-licensed'
+# - 'tag-collision-reject':
+# dependency-jobs: 'verify_osam_licensed'
+# - 'verify-sonarqube':
+# dependency-jobs: 'verify_osam_tag-collision'
+# sonar-prep-commands: './build.sh'
+# sonar-java-binaries: 'target'
diff --git a/jjb/verify/voltha-bbsim.yaml b/jjb/verify/voltha-bbsim.yaml
index 0ecd412..567526c 100644
--- a/jjb/verify/voltha-bbsim.yaml
+++ b/jjb/verify/voltha-bbsim.yaml
@@ -13,8 +13,10 @@
name: 'verify-voltha-bbsim-jobs'
jobs:
- 'verify-licensed'
- - 'verify-sonarqube':
+ - 'tag-collision-reject':
dependency-jobs: 'verify_voltha-bbsim_licensed'
+ - 'verify-sonarqube':
+ dependency-jobs: 'verify_voltha-bbsim_tag-collision'
- 'voltha-bbsim-tests':
dependency-jobs: 'verify_voltha-bbsim_sonarqube'
@@ -77,8 +79,13 @@
make dep
+ # run tests as a developer would
+ make test
+
+ # generate Jenkins report
go test -v ./... 2>&1 | go-junit-report > $WORKSPACE/junit-report.xml
+ # generate Jenkins coverage
go test -coverprofile=coverage.txt -covermode=count ./...
gocover-cobertura < coverage.txt > $WORKSPACE/coverage.xml
diff --git a/jjb/xos-tosca-e2e.yaml b/jjb/xos-tosca-e2e.yaml
index ef66e1c..dff9bea 100644
--- a/jjb/xos-tosca-e2e.yaml
+++ b/jjb/xos-tosca-e2e.yaml
@@ -23,7 +23,7 @@
wrappers:
- lf-infra-wrappers:
- build-timeout: '{build-timeout}'
+ build-timeout: '20'
jenkins-ssh-credential: '{jenkins-ssh-credential}'
scm:
@@ -32,7 +32,7 @@
branch: '$GERRIT_BRANCH'
destination-dir: 'cord'
- node: '{build-node}'
+ node: 'ubuntu16.04-basebuild-4c-8g'
project-type: freestyle
concurrent: true
@@ -49,23 +49,37 @@
export XOS_DIR=$WORKSPACE/cord/orchestration/xos
export TOSCA_DIR=$WORKSPACE/cord/orchestration/xos-tosca
- # build tosca container
- cd $TOSCA_DIR
- make build
+ #install minikube+helm
+ export MINIKUBE_WANTUPDATENOTIFICATION=false
+ export MINIKUBE_WANTREPORTERRORPROMPT=false
+ export CHANGE_MINIKUBE_NONE_USER=true
+ export MINIKUBE_HOME=$HOME
+ mkdir -p $HOME/.kube || true
+ touch $HOME/.kube/config
+ export KUBECONFIG=$HOME/.kube/config
+ sudo -E /usr/bin/minikube start --vm-driver=none
+ sleep 300
- #deploy xos core
- cd $WORKSPACE/cord/helm-charts
- helm dep update xos-core
- helm install --set images.xos_tosca.tag=candidate -f examples/imagePullPolicy-IfNotPresent.yaml -n xos-core xos-core
+ helm init
+ sleep 60
+ helm repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com/
- #wait for xos-core and models to be loaded
- timeout 300 bash -c "until http -a admin@opencord.org:letmein GET http://127.0.0.1:30001/xosapi/v1/core/sites |jq '.items[0].name'|grep -q mysite; do echo 'Waiting for API To be up'; sleep 10; done"
+ # build tosca container
+ cd $TOSCA_DIR
+ make build
- #test apis
- http -a admin@opencord.org:letmein GET http://127.0.0.1:30001/xosapi/v1/core/sites | grep '200 OK'
- http -a wronguser@opencord.org:wrongpass GET http://127.0.0.1:30001/xosapi/v1/core/sites | grep '403 Forbidden'
- http -a admin@opencord.org:letmein GET http://127.0.0.1:30001/xosapi/v1/utility/auth_noop | grep '405 Method Not Allowed'
- http -a wronguser@opencord.org:wrongpass GET http://127.0.0.1:30001/xosapi/v1/utility/auth_noop | grep '405 Method Not Allowed'
- http -a wronguser@opencord.org:wrongpass GET http://127.0.0.1:30001/xosapi/v1/utility/noop | grep '405 Method Not Allowed'
- http GET http://127.0.0.1:30001/xosapi/v1/utility/noop | grep '405 Method Not Allowed'
+ #deploy xos core
+ cd $WORKSPACE/cord/helm-charts
+ helm dep update xos-core
+ helm install --set images.xos_tosca.tag=candidate -f examples/imagePullPolicy-IfNotPresent.yaml -n xos-core xos-core
+ #wait for xos-core and models to be loaded
+ timeout 300 bash -c "until http -a admin@opencord.org:letmein GET http://127.0.0.1:30001/xosapi/v1/core/sites |jq '.items[0].name'|grep -q mysite; do echo 'Waiting for API To be up'; sleep 10; done"
+
+ #test apis
+ curl -Is -u admin@opencord.org:letmein GET http://127.0.0.1:30001/xosapi/v1/core/sites | grep -q '200 OK'
+ curl -Is -u wronguser@opencord.org:wrongpass GET http://127.0.0.1:30001/xosapi/v1/core/sites | grep '403 Forbidden'
+ curl -Is -u admin@opencord.org:letmein GET http://127.0.0.1:30001/xosapi/v1/utility/auth_noop | grep '405 Method Not Allowed'
+ curl -Is -u wronguser@opencord.org:wrongpass GET http://127.0.0.1:30001/xosapi/v1/utility/auth_noop | grep '405 Method Not Allowed'
+ curl -Is -u wronguser@opencord.org:wrongpass GET http://127.0.0.1:30001/xosapi/v1/utility/noop | grep '405 Method Not Allowed'
+ curl -Is GET http://127.0.0.1:30001/xosapi/v1/utility/noop | grep '405 Method Not Allowed'
diff --git a/packer/provision/basebuild.sh b/packer/provision/basebuild.sh
index 145080a..596c24c 100644
--- a/packer/provision/basebuild.sh
+++ b/packer/provision/basebuild.sh
@@ -48,6 +48,39 @@
# set up golang repo
add-apt-repository ppa:gophers/archive
+ # set up kubernetes repo
+ cat << EOF | base64 -d > /tmp/k8s-apt-key.gpg
+mQENBFUd6rIBCAD6mhKRHDn3UrCeLDp7U5IE7AhhrOCPpqGF7mfTemZYHf/5JdjxcOxoSFlK
+7zwmFr3lVqJ+tJ9L1wd1K6P7RrtaNwCiZyeNPf/Y86AJ5NJwBe0VD0xHTXzPNTqRSByVYtdN
+94NoltXUYFAAPZYQls0x0nUD1hLMlOlC2HdTPrD1PMCnYq/NuL/Vk8sWrcUt4DIS+0RDQ8tK
+Ke5PSV0+PnmaJvdF5CKawhh0qGTklS2MXTyKFoqjXgYDfY2EodI9ogT/LGr9Lm/+u4OFPvmN
+9VN6UG+s0DgJjWvpbmuHL/ZIRwMEn/tpuneaLTO7h1dCrXC849PiJ8wSkGzBnuJQUbXnABEB
+AAG0QEdvb2dsZSBDbG91ZCBQYWNrYWdlcyBBdXRvbWF0aWMgU2lnbmluZyBLZXkgPGdjLXRl
+YW1AZ29vZ2xlLmNvbT6JAT4EEwECACgFAlUd6rICGy8FCQWjmoAGCwkIBwMCBhUIAgkKCwQW
+AgMBAh4BAheAAAoJEDdGwginMXsPcLcIAKi2yNhJMbu4zWQ2tM/rJFovazcY28MF2rDWGOnc
+9giHXOH0/BoMBcd8rw0lgjmOosBdM2JT0HWZIxC/Gdt7NSRA0WOlJe04u82/o3OHWDgTdm9M
+S42noSP0mvNzNALBbQnlZHU0kvt3sV1YsnrxljoIuvxKWLLwren/GVshFLPwONjw3f9Fan6G
+WxJyn/dkX3OSUGaduzcygw51vksBQiUZLCD2Tlxyr9NvkZYTqiaWW78L6regvATsLc9L/dQU
+iSMQZIK6NglmHE+cuSaoK0H4ruNKeTiQUw/EGFaLecay6Qy/s3Hk7K0QLd+gl0hZ1w1VzIeX
+Lo2BRlqnjOYFX4CwAgADmQENBFrBaNsBCADrF18KCbsZlo4NjAvVecTBCnp6WcBQJ5oSh7+E
+98jX9YznUCrNrgmeCcCMUvTDRDxfTaDJybaHugfba43nqhkbNpJ47YXsIa+YL6eEE9emSmQt
+jrSWIiY+2YJYwsDgsgckF3duqkb02OdBQlh6IbHPoXB6H//b1PgZYsomB+841XW1LSJPYlYb
+IrWfwDfQvtkFQI90r6NknVTQlpqQh5GLNWNYqRNrGQPmsB+NrUYrkl1nUt1LRGu+rCe4bSaS
+mNbwKMQKkROE4kTiB72DPk7zH4Lm0uo0YFFWG4qsMIuqEihJ/9KNX8GYBr+tWgyLooLlsdK3
+l+4dVqd8cjkJM1ExABEBAAG0QEdvb2dsZSBDbG91ZCBQYWNrYWdlcyBBdXRvbWF0aWMgU2ln
+bmluZyBLZXkgPGdjLXRlYW1AZ29vZ2xlLmNvbT6JAT4EEwECACgFAlrBaNsCGy8FCQWjmoAG
+CwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEGoDCyG6B/T78e8H/1WH2LN/nVNhm5TS1VYJ
+G8B+IW8zS4BqyozxC9iJAJqZIVHXl8g8a/Hus8RfXR7cnYHcg8sjSaJfQhqO9RbKnffiuQgG
+rqwQxuC2jBa6M/QKzejTeP0Mgi67pyrLJNWrFI71RhritQZmzTZ2PoWxfv6b+Tv5v0rPaG+u
+t1J47pn+kYgtUaKdsJz1umi6HzK6AacDf0C0CksJdKG7MOWsZcB4xeOxJYuy6NuO6KcdEz8/
+XyEUjIuIOlhYTd0hH8E/SEBbXXft7/VBQC5wNq40izPi+6WFK/e1O42DIpzQ749ogYQ1eode
+xPNhLzekKR3XhGrNXJ95r5KO10VrsLFNd8KwAgAD
+EOF
+
+ sudo apt-key add /tmp/k8s-apt-key.gpg
+ echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
+
+ # update after adding apt repos to sources
apt-get update
# install basic sofware requirements
@@ -59,6 +92,10 @@
curl \
git \
golang-1.10-go \
+ httpie \
+ "kubeadm=1.11.3-*" \
+ "kubelet=1.11.3-*" \
+ "kubectl=1.11.3-*" \
less \
libmysqlclient-dev \
libpcap-dev \
@@ -87,6 +124,7 @@
Jinja2 \
ansible-lint \
astroid==1.* \
+ coverage \
docker-compose==1.20.1 \
docker==3.2.1 \
gitpython \
@@ -94,6 +132,8 @@
grpcio-tools \
isort \
linkchecker \
+ mock \
+ nose2 \
pexpect \
pylint==1.* \
pyyaml \
@@ -102,6 +142,7 @@
robotframework-kafkalibrary \
robotframework-requests \
robotframework-sshlibrary \
+ tox \
virtualenv
# end of pip install list
@@ -150,8 +191,8 @@
popd
# install helm
- HELM_VERSION="2.10.0"
- HELM_SHA256SUM="0fa2ed4983b1e4a3f90f776d08b88b0c73fd83f305b5b634175cb15e61342ffe"
+ HELM_VERSION="2.11.0"
+ HELM_SHA256SUM="02a4751586d6a80f6848b58e7f6bd6c973ffffadc52b4c06652db7def02773a1"
HELM_PLATFORM="linux-amd64"
curl -L -o /tmp/helm.tgz "https://storage.googleapis.com/kubernetes-helm/helm-v${HELM_VERSION}-${HELM_PLATFORM}.tar.gz"
echo "$HELM_SHA256SUM /tmp/helm.tgz" | sha256sum -c -
@@ -162,19 +203,10 @@
rm -rf helm.tgz ${HELM_PLATFORM}
popd
- # install kubectl
- KUBECTL_VERSION="1.11.3"
- KUBECTL_SHA256SUM="0d4c70484e90d4310f03f997b4432e0a97a7f5b5be5c31d281f3d05919f8b46c"
- curl -L -o /tmp/kubectl "https://storage.googleapis.com/kubernetes-release/release/v${KUBECTL_VERSION}/bin/linux/amd64/kubectl"
- echo "$KUBECTL_SHA256SUM /tmp/kubectl" | sha256sum -c -
- mv /tmp/kubectl /usr/local/bin/kubectl
- chmod a+x /usr/local/bin/kubectl
- rm -f /tmp/kubectl
-
# install minikube
- MINIKUBE_VERSION="0.28.2"
+ MINIKUBE_VERSION="0.30.0"
MINIKUBE_DEB_VERSION="$(echo ${MINIKUBE_VERSION} | sed -n 's/\(.*\)\.\(.*\)/\1-\2/p')"
- MINIKUBE_SHA256SUM="47cd2db6a65b092a3e1ac47ddd4331914290f04069260ee273530ab7e29123d2"
+ MINIKUBE_SHA256SUM="c6c5aa5956f8ad5f61d426e9b8601ba95965a9c30bb80a9fe7525c64e6dd12fd"
curl -L -o /tmp/minikube.deb "https://storage.googleapis.com/minikube/releases/v${MINIKUBE_VERSION}/minikube_${MINIKUBE_DEB_VERSION}.deb"
echo "$MINIKUBE_SHA256SUM /tmp/minikube.deb" | sha256sum -c -
pushd /tmp