Merge "[VOL-3780] Clean the port-forward in the correct order in the physical build jobs for VOLTHA PODs"
diff --git a/global-jjb b/global-jjb
index 5dc3432..5a6965f 160000
--- a/global-jjb
+++ b/global-jjb
@@ -1 +1 @@
-Subproject commit 5dc3432cae2f13d9e5151a00a76a78ce73d92d70
+Subproject commit 5a6965f43f220bf6002bfde60897afd216f52ab0
diff --git a/jjb/api-test.yaml b/jjb/api-test.yaml
index 145a4fa..7e7275e 100644
--- a/jjb/api-test.yaml
+++ b/jjb/api-test.yaml
@@ -29,7 +29,7 @@
parameters:
- string:
name: buildNode
- default: 'ubuntu16.04-basebuild-4c-8g'
+ default: 'ubuntu18.04-basebuild-4c-8g'
description: 'Name of the Jenkins node to run the job on'
- string:
diff --git a/jjb/bbr.yaml b/jjb/bbr.yaml
index f5bd5c9..14b4caa 100644
--- a/jjb/bbr.yaml
+++ b/jjb/bbr.yaml
@@ -48,5 +48,5 @@
parameters:
- string:
name: buildNode
- default: 'ubuntu16.04-basebuild-4c-8g'
+ default: 'ubuntu18.04-basebuild-4c-8g'
description: 'Name of the Jenkins node to run the job on'
diff --git a/jjb/charts.yaml b/jjb/charts.yaml
index 9908e7c..9999d4b 100644
--- a/jjb/charts.yaml
+++ b/jjb/charts.yaml
@@ -45,7 +45,7 @@
choosing-strategy: 'gerrit'
jenkins-ssh-credential: '{jenkins-ssh-credential}'
- node: 'ubuntu16.04-basebuild-2c-4g'
+ node: 'ubuntu18.04-basebuild-2c-4g'
project-type: freestyle
concurrent: false
@@ -153,7 +153,7 @@
choosing-strategy: gerrit
jenkins-ssh-credential: '{jenkins-ssh-credential}'
- node: 'ubuntu16.04-basebuild-2c-4g'
+ node: 'ubuntu18.04-basebuild-2c-4g'
project-type: freestyle
concurrent: true
diff --git a/jjb/ci-management/ci-management.yaml b/jjb/ci-management/ci-management.yaml
index 476e37b..f73d9b5 100644
--- a/jjb/ci-management/ci-management.yaml
+++ b/jjb/ci-management/ci-management.yaml
@@ -3,20 +3,13 @@
archive-artifacts: '**/*.log'
branch: 'master'
build-timeout: '60'
- build-node: 'centos7-basebuild-1c-1g'
+ build-node: 'ubuntu18.04-basebuild-1c-1g'
jobs:
- '{project-name}-ci-jobs'
- - '{project-name}-packer-jobs':
- platforms:
- - 'centos-7'
- - 'ubuntu-16.04'
- templates:
- - basebuild
name: ci-management-jobs
project: 'ci-management'
project-name: 'ci-management'
jjb-version: 3.2.0
- packer-version: 1.2.4
diff --git a/jjb/ci-management/packer.yaml b/jjb/ci-management/packer.yaml
new file mode 100644
index 0000000..83b6d18
--- /dev/null
+++ b/jjb/ci-management/packer.yaml
@@ -0,0 +1,20 @@
+- project:
+ archive-artifacts: '**/*.log'
+ branch: 'master'
+ build-timeout: '60'
+ build-node: 'ubuntu18.04-basebuild-1c-1g'
+
+ jobs:
+ - '{project-name}-packer-jobs':
+ platforms:
+ - 'ubuntu-18.04'
+ templates:
+ - basebuild_1804
+
+ name: packer-jobs
+ project: 'ci-management'
+ project-name: 'ci-management-ami'
+
+ jjb-version: 3.2.0
+ packer-version: 1.6.5
+ packer-builder: aws
diff --git a/jjb/defaults.yaml b/jjb/defaults.yaml
index 34cb3e1..b26ea25 100644
--- a/jjb/defaults.yaml
+++ b/jjb/defaults.yaml
@@ -56,7 +56,7 @@
# The most frequently used type of Build Executor. Name is per the LF global-jjb.
# See build node types under "Cloud > Amazon EC2" at
# https://jenkins.opencord.org/configure
- build-node: ubuntu16.04-basebuild-1c-1g
+ build-node: ubuntu18.04-basebuild-1c-1g
# CORD Gerrit server definition, set in configuration
gerrit-server-name: 'CORD Gerrit'
diff --git a/jjb/device-management.yaml b/jjb/device-management.yaml
index dcbf82b..1c6d46f 100644
--- a/jjb/device-management.yaml
+++ b/jjb/device-management.yaml
@@ -43,7 +43,7 @@
parameters:
- string:
name: buildNode
- default: 'ubuntu16.04-basebuild-4c-8g'
+ default: 'ubuntu18.04-basebuild-4c-8g'
description: 'Name of the Jenkins node to run the job on'
- string:
diff --git a/jjb/docker-publish.yaml b/jjb/docker-publish.yaml
index d264eb9..dc0185c 100644
--- a/jjb/docker-publish.yaml
+++ b/jjb/docker-publish.yaml
@@ -28,7 +28,7 @@
parameters:
- string:
name: buildNode
- default: 'ubuntu16.04-basebuild-1c-2g'
+ default: 'ubuntu18.04-basebuild-1c-2g'
description: 'Name of the Jenkins build executor to run the job on'
- string:
diff --git a/jjb/gui-unit.yaml b/jjb/gui-unit.yaml
index 6cb5c2e..bb10618 100644
--- a/jjb/gui-unit.yaml
+++ b/jjb/gui-unit.yaml
@@ -40,7 +40,7 @@
jenkins-ssh-credential: '{jenkins-ssh-credential}'
# `npm install` fails on 1Gb RAM
- node: 'ubuntu16.04-basebuild-1c-2g'
+ node: 'ubuntu18.04-basebuild-1c-2g'
project-type: freestyle
concurrent: true
diff --git a/jjb/maven.yaml b/jjb/maven.yaml
index 195c9e3..c62e185 100644
--- a/jjb/maven.yaml
+++ b/jjb/maven.yaml
@@ -8,7 +8,7 @@
<!-- Managed by Jenkins Job Builder -->
Created by {id} job-template from ci-management/jjb/maven.yaml
- node: 'ubuntu16.04-basebuild-1c-2g'
+ node: 'ubuntu18.04-basebuild-1c-2g'
project-type: freestyle
parameters:
@@ -81,7 +81,7 @@
<!-- Managed by Jenkins Job Builder -->
Created by {id} job-template from ci-management/jjb/maven.yaml
- node: 'ubuntu16.04-basebuild-1c-2g'
+ node: 'ubuntu18.04-basebuild-1c-2g'
project-type: freestyle
parameters:
diff --git a/jjb/omec-ci.yaml b/jjb/omec-ci.yaml
index d78f5ae..fa09154 100644
--- a/jjb/omec-ci.yaml
+++ b/jjb/omec-ci.yaml
@@ -94,14 +94,14 @@
pipeline-file: 'Jenkinsfile-omec-install-ngic-rtc-vnf.groovy'
- 'omec-fossa':
pipeline-file: 'omec-fossa-scan.groovy'
- build-node: 'ubuntu16.04-basebuild-1c-2g'
+ build-node: 'ubuntu18.04-basebuild-1c-2g'
- 'omec-reuse':
pipeline-file: 'omec-reuse-scan.groovy'
- build-node: 'ubuntu16.04-basebuild-1c-2g'
+ build-node: 'ubuntu18.04-basebuild-1c-2g'
- 'docker-publish-github':
build-timeout: 30
docker-repo: 'omecproject'
- build-node: 'ubuntu16.04-basebuild-4c-8g'
+ build-node: 'ubuntu18.04-basebuild-4c-8g'
- 'omec-container'
# for c3po
@@ -131,14 +131,14 @@
pipeline-file: 'Jenkinsfile-omec-install-c3po-hss-vnf.groovy'
- 'omec-fossa':
pipeline-file: 'omec-fossa-scan.groovy'
- build-node: 'ubuntu16.04-basebuild-1c-2g'
+ build-node: 'ubuntu18.04-basebuild-1c-2g'
- 'omec-reuse':
pipeline-file: 'omec-reuse-scan.groovy'
- build-node: 'ubuntu16.04-basebuild-1c-2g'
+ build-node: 'ubuntu18.04-basebuild-1c-2g'
- 'docker-publish-github':
build-timeout: 30
docker-repo: 'omecproject'
- build-node: 'ubuntu16.04-basebuild-8c-15g'
+ build-node: 'ubuntu18.04-basebuild-8c-15g'
- 'omec-container'
- 'omec-container-remote':
pod: 'dev'
@@ -168,14 +168,14 @@
pipeline-file: 'Jenkinsfile-omec-install-openmme-vnf.groovy'
- 'omec-fossa':
pipeline-file: 'omec-fossa-scan.groovy'
- build-node: 'ubuntu16.04-basebuild-1c-2g'
+ build-node: 'ubuntu18.04-basebuild-1c-2g'
- 'omec-reuse':
pipeline-file: 'omec-reuse-scan.groovy'
- build-node: 'ubuntu16.04-basebuild-1c-2g'
+ build-node: 'ubuntu18.04-basebuild-1c-2g'
- 'docker-publish-github':
build-timeout: 30
docker-repo: 'omecproject'
- build-node: 'ubuntu16.04-basebuild-1c-2g'
+ build-node: 'ubuntu18.04-basebuild-1c-2g'
# for nucleus
- project:
@@ -200,17 +200,17 @@
pipeline-file: 'Jenkinsfile-omec-install-Nucleus-vnf.groovy'
- 'omec-fossa':
pipeline-file: 'omec-fossa-scan.groovy'
- build-node: 'ubuntu16.04-basebuild-1c-2g'
+ build-node: 'ubuntu18.04-basebuild-1c-2g'
- 'omec-reuse':
pipeline-file: 'omec-reuse-scan.groovy'
- build-node: 'ubuntu16.04-basebuild-1c-2g'
+ build-node: 'ubuntu18.04-basebuild-1c-2g'
- 'omec-cppcheck':
pipeline-file: 'omec-cppcheck.groovy'
- build-node: 'ubuntu16.04-basebuild-1c-2g'
+ build-node: 'ubuntu18.04-basebuild-1c-2g'
- 'docker-publish-github':
build-timeout: 60
docker-repo: 'omecproject'
- build-node: 'ubuntu16.04-basebuild-1c-2g'
+ build-node: 'ubuntu18.04-basebuild-1c-2g'
- 'omec-container'
- 'omec-container-remote':
pod: 'dev'
@@ -233,10 +233,10 @@
jobs:
- 'omec-fossa':
pipeline-file: 'omec-fossa-scan.groovy'
- build-node: 'ubuntu16.04-basebuild-1c-2g'
+ build-node: 'ubuntu18.04-basebuild-1c-2g'
- 'omec-reuse':
pipeline-file: 'omec-reuse-scan.groovy'
- build-node: 'ubuntu16.04-basebuild-1c-2g'
+ build-node: 'ubuntu18.04-basebuild-1c-2g'
# for ignite
- project:
@@ -254,10 +254,10 @@
jobs:
- 'omec-fossa':
pipeline-file: 'omec-fossa-scan.groovy'
- build-node: 'ubuntu16.04-basebuild-1c-2g'
+ build-node: 'ubuntu18.04-basebuild-1c-2g'
- 'omec-reuse':
pipeline-file: 'omec-reuse-scan.groovy'
- build-node: 'ubuntu16.04-basebuild-1c-2g'
+ build-node: 'ubuntu18.04-basebuild-1c-2g'
# for upf-epc
- project:
@@ -274,14 +274,14 @@
jobs:
- 'omec-fossa':
pipeline-file: 'omec-fossa-scan.groovy'
- build-node: 'ubuntu16.04-basebuild-1c-2g'
+ build-node: 'ubuntu18.04-basebuild-1c-2g'
- 'omec-reuse':
pipeline-file: 'omec-reuse-scan.groovy'
- build-node: 'ubuntu16.04-basebuild-1c-2g'
+ build-node: 'ubuntu18.04-basebuild-1c-2g'
- 'docker-publish-github':
build-timeout: 30
docker-repo: 'omecproject'
- build-node: 'ubuntu16.04-basebuild-2c-4g'
+ build-node: 'ubuntu18.04-basebuild-2c-4g'
extraEnvironmentVars: CPU=haswell
- 'omec-container'
- 'omec-container-remote':
diff --git a/jjb/onos-app-release.yaml b/jjb/onos-app-release.yaml
index 92cf4f1..e168556 100644
--- a/jjb/onos-app-release.yaml
+++ b/jjb/onos-app-release.yaml
@@ -69,7 +69,7 @@
default: '{jdk-distribution}'
description: 'Distribution of the JDK to use with update-java-alternatives'
- node: 'ubuntu16.04-basebuild-1c-2g'
+ node: 'ubuntu18.04-basebuild-1c-2g'
project-type: pipeline
concurrent: true
diff --git a/jjb/pipeline/onos-app-release.groovy b/jjb/pipeline/onos-app-release.groovy
index ee14658..f8d87de 100644
--- a/jjb/pipeline/onos-app-release.groovy
+++ b/jjb/pipeline/onos-app-release.groovy
@@ -42,7 +42,7 @@
// TODO: use the declarative pipeline syntax, like all other groovy files.
// This implementation is based on the legacy cord-onos-publisher/Jenkinsfile.release
-node ('ubuntu16.04-basebuild-1c-2g') {
+node ('ubuntu18.04-basebuild-1c-2g') {
sh 'echo Releasing ' + appRepo + ' repository on ' + branch + ' branch'
sh 'echo Releasing version ' + version + ' with API version ' + apiVersion + ' and starting ' + nextVersion + '-SNAPSHOT with API version ' + nextApiVersion + '-SNAPSHOT'
diff --git a/jjb/triggered-api-test.yaml b/jjb/triggered-api-test.yaml
index 853fd5a..8e4cc33 100644
--- a/jjb/triggered-api-test.yaml
+++ b/jjb/triggered-api-test.yaml
@@ -30,7 +30,7 @@
parameters:
- string:
name: buildNode
- default: 'ubuntu16.04-basebuild-4c-8g'
+ default: 'ubuntu18.04-basebuild-4c-8g'
description: 'Name of the Jenkins node to run the job on'
- string:
diff --git a/jjb/verify/abstract-olt.yaml b/jjb/verify/abstract-olt.yaml
index 3aab818..fcd9bff 100644
--- a/jjb/verify/abstract-olt.yaml
+++ b/jjb/verify/abstract-olt.yaml
@@ -51,7 +51,7 @@
jenkins-ssh-credential: '{jenkins-ssh-credential}'
basedir: '{project}'
- node: 'ubuntu16.04-basebuild-1c-2g'
+ node: 'ubuntu18.04-basebuild-1c-2g'
project-type: freestyle
concurrent: true
diff --git a/jjb/verify/bbsim-sadis-server.yaml b/jjb/verify/bbsim-sadis-server.yaml
index 0cc823b..0f095e5 100644
--- a/jjb/verify/bbsim-sadis-server.yaml
+++ b/jjb/verify/bbsim-sadis-server.yaml
@@ -23,7 +23,7 @@
- 'tag-collision-reject':
dependency-jobs: 'verify_bbsim-sadis-server_licensed'
- 'make-unit-test':
- build-node: 'ubuntu16.04-basebuild-1c-2g'
+ build-node: 'ubuntu18.04-basebuild-1c-2g'
dest-gopath: "github.com/opencord"
unit-test-targets: 'lint sca test'
unit-test-keep-going: 'true'
diff --git a/jjb/verify/bbsim.yaml b/jjb/verify/bbsim.yaml
index 19b9c69..a9c1c91 100644
--- a/jjb/verify/bbsim.yaml
+++ b/jjb/verify/bbsim.yaml
@@ -24,7 +24,7 @@
- 'tag-collision-reject':
dependency-jobs: 'verify_bbsim_licensed'
- 'make-unit-test':
- build-node: 'ubuntu16.04-basebuild-4c-8g'
+ build-node: 'ubuntu18.04-basebuild-4c-8g'
dest-gopath: "github.com/opencord"
unit-test-targets: 'lint sca test'
unit-test-keep-going: 'true'
diff --git a/jjb/verify/device-management.yaml b/jjb/verify/device-management.yaml
index 58f2dec..0179a40 100644
--- a/jjb/verify/device-management.yaml
+++ b/jjb/verify/device-management.yaml
@@ -19,7 +19,7 @@
dependency-jobs: 'verify_device-management_licensed'
- 'make-unit-test':
junit-allow-empty-results: true
- build-node: 'ubuntu16.04-basebuild-2c-4g'
+ build-node: 'ubuntu18.04-basebuild-2c-4g'
- 'device-management-patch-test':
pipeline-script: 'voltha/master/device-management-mock-tests.groovy'
diff --git a/jjb/verify/ofagent-go.yaml b/jjb/verify/ofagent-go.yaml
index 458e030..c4a7b93 100644
--- a/jjb/verify/ofagent-go.yaml
+++ b/jjb/verify/ofagent-go.yaml
@@ -24,7 +24,7 @@
- 'tag-collision-reject':
dependency-jobs: 'verify_ofagent-go_licensed'
- 'make-unit-test':
- build-node: 'ubuntu16.04-basebuild-4c-8g'
+ build-node: 'ubuntu18.04-basebuild-4c-8g'
dest-gopath: "github.com/opencord"
unit-test-targets: 'lint sca test'
unit-test-keep-going: 'true'
diff --git a/jjb/verify/opendevice-manager.yaml b/jjb/verify/opendevice-manager.yaml
index 9ed0715..f3ee4b4 100644
--- a/jjb/verify/opendevice-manager.yaml
+++ b/jjb/verify/opendevice-manager.yaml
@@ -15,7 +15,7 @@
- 'verify-licensed'
- 'tag-collision-reject'
- 'make-unit-test':
- build-node: 'ubuntu16.04-basebuild-2c-4g'
+ build-node: 'ubuntu18.04-basebuild-2c-4g'
unit-test-targets: 'test'
# opendm-agent uses gtest which outputs in xunit format
junit-allow-empty-results: true
diff --git a/jjb/verify/opendm-agent.yaml b/jjb/verify/opendm-agent.yaml
index ee5fce9..2d5a258 100644
--- a/jjb/verify/opendm-agent.yaml
+++ b/jjb/verify/opendm-agent.yaml
@@ -15,7 +15,7 @@
- 'verify-licensed'
- 'tag-collision-reject'
- 'make-unit-test':
- build-node: 'ubuntu16.04-basebuild-2c-4g'
+ build-node: 'ubuntu18.04-basebuild-2c-4g'
unit-test-targets: 'test'
# opendm-agent uses gtest which outputs in xunit format
junit-allow-empty-results: true
diff --git a/jjb/verify/openolt-test.yaml b/jjb/verify/openolt-test.yaml
index c8ef753..67d0f99 100644
--- a/jjb/verify/openolt-test.yaml
+++ b/jjb/verify/openolt-test.yaml
@@ -16,7 +16,7 @@
- 'verify-licensed'
- 'tag-collision-reject'
- 'make-unit-test':
- build-node: 'ubuntu16.04-basebuild-2c-4g'
+ build-node: 'ubuntu18.04-basebuild-2c-4g'
build-timeout: 60
unit-test-targets: 'lint docker-build'
junit-allow-empty-results: true
diff --git a/jjb/verify/openolt.yaml b/jjb/verify/openolt.yaml
index ef8ab38..04ae7b4 100644
--- a/jjb/verify/openolt.yaml
+++ b/jjb/verify/openolt.yaml
@@ -15,7 +15,7 @@
- 'verify-licensed'
- 'tag-collision-reject'
- 'make-unit-test':
- build-node: 'ubuntu16.04-basebuild-2c-4g'
+ build-node: 'ubuntu18.04-basebuild-2c-4g'
unit-test-targets: 'test'
# openolt uses gtest which outputs in xunit format
junit-allow-empty-results: true
diff --git a/jjb/verify/osam.yaml b/jjb/verify/osam.yaml
index a89f1cc..4473e36 100644
--- a/jjb/verify/osam.yaml
+++ b/jjb/verify/osam.yaml
@@ -51,7 +51,7 @@
jenkins-ssh-credential: '{jenkins-ssh-credential}'
basedir: '{basedir}'
- node: 'ubuntu16.04-basebuild-1c-2g'
+ node: 'ubuntu18.04-basebuild-1c-2g'
project-type: freestyle
concurrent: true
diff --git a/jjb/verify/ponsim.yaml b/jjb/verify/ponsim.yaml
index 68cf602..527c0cd 100644
--- a/jjb/verify/ponsim.yaml
+++ b/jjb/verify/ponsim.yaml
@@ -18,7 +18,7 @@
- 'tag-collision-reject':
dependency-jobs: 'verify_ponsim_licensed'
- 'make-unit-test':
- build-node: 'ubuntu16.04-basebuild-1c-2g'
+ build-node: 'ubuntu18.04-basebuild-1c-2g'
dest-gopath: "github.com/opencord"
unit-test-targets: 'test docker-build'
unit-test-keep-going: 'true'
diff --git a/jjb/verify/sadis-server.yaml b/jjb/verify/sadis-server.yaml
index 3d1b591..5edbd53 100644
--- a/jjb/verify/sadis-server.yaml
+++ b/jjb/verify/sadis-server.yaml
@@ -53,7 +53,7 @@
jenkins-ssh-credential: '{jenkins-ssh-credential}'
basedir: '{project}'
- node: 'ubuntu16.04-basebuild-1c-2g'
+ node: 'ubuntu18.04-basebuild-1c-2g'
project-type: freestyle
concurrent: true
diff --git a/jjb/verify/up4.yaml b/jjb/verify/up4.yaml
index 17788a6..dbb83bd 100644
--- a/jjb/verify/up4.yaml
+++ b/jjb/verify/up4.yaml
@@ -13,7 +13,7 @@
stream: "master"
# As we run integration tests with 3 ONOS instances,
# we need a beefy node.
- build-node: "ubuntu16.04-basebuild-8c-15g"
+ build-node: "ubuntu18.04-basebuild-8c-15g"
- job-group:
name: "up4-jobs"
diff --git a/jjb/verify/voltctl.yaml b/jjb/verify/voltctl.yaml
index d7fca71..8e925e0 100644
--- a/jjb/verify/voltctl.yaml
+++ b/jjb/verify/voltctl.yaml
@@ -20,7 +20,7 @@
- 'tag-collision-reject':
dependency-jobs: 'verify_voltctl_licensed'
- 'make-unit-test':
- build-node: 'ubuntu16.04-basebuild-2c-4g'
+ build-node: 'ubuntu18.04-basebuild-2c-4g'
unit-test-targets: 'lint sca test'
unit-test-keep-going: 'true'
dependency-jobs: 'verify_voltctl_tag-collision'
@@ -31,7 +31,7 @@
name: 'post-submit-voltctl-jobs'
jobs:
- 'github-release':
- build-node: 'ubuntu16.04-basebuild-2c-4g'
+ build-node: 'ubuntu18.04-basebuild-2c-4g'
dependency-jobs: 'version-tag'
github-organization: 'opencord'
artifact-glob: 'release/*'
diff --git a/jjb/verify/voltha-api-server.yaml b/jjb/verify/voltha-api-server.yaml
index 58982e2..fe82286 100644
--- a/jjb/verify/voltha-api-server.yaml
+++ b/jjb/verify/voltha-api-server.yaml
@@ -20,7 +20,7 @@
- 'tag-collision-reject':
dependency-jobs: 'verify_voltha-api-server_licensed'
- 'make-unit-test':
- build-node: 'ubuntu16.04-basebuild-2c-4g'
+ build-node: 'ubuntu18.04-basebuild-2c-4g'
dest-gopath: "github.com/opencord"
unit-test-targets: 'lint sca test'
unit-test-keep-going: 'true'
diff --git a/jjb/verify/voltha-bbsim.yaml b/jjb/verify/voltha-bbsim.yaml
index 1ad61e9..5cdf7ad 100644
--- a/jjb/verify/voltha-bbsim.yaml
+++ b/jjb/verify/voltha-bbsim.yaml
@@ -21,7 +21,7 @@
unit-test-targets: 'test'
dest-gopath: "github.com/opencord"
junit-allow-empty-results: true
- build-node: 'ubuntu16.04-basebuild-1c-2g'
+ build-node: 'ubuntu18.04-basebuild-1c-2g'
- job-group:
name: 'publish-voltha-bbsim-jobs'
diff --git a/jjb/verify/voltha-go.yaml b/jjb/verify/voltha-go.yaml
index d3db340..26eaaf8 100644
--- a/jjb/verify/voltha-go.yaml
+++ b/jjb/verify/voltha-go.yaml
@@ -24,7 +24,7 @@
- 'tag-collision-reject':
dependency-jobs: 'verify_voltha-go_licensed'
- 'make-unit-test':
- build-node: 'ubuntu16.04-basebuild-4c-8g'
+ build-node: 'ubuntu18.04-basebuild-4c-8g'
build-timeout: 20
dest-gopath: "github.com/opencord"
name-extension: "-lint"
@@ -32,7 +32,7 @@
unit-test-keep-going: 'true'
junit-allow-empty-results: true
- 'make-unit-test':
- build-node: 'ubuntu16.04-basebuild-2c-4g'
+ build-node: 'ubuntu18.04-basebuild-2c-4g'
dest-gopath: "github.com/opencord"
name-extension: "-tests"
unit-test-targets: 'test'
diff --git a/jjb/verify/voltha-lib-go.yaml b/jjb/verify/voltha-lib-go.yaml
index d03b6d4..f6e2b7a 100644
--- a/jjb/verify/voltha-lib-go.yaml
+++ b/jjb/verify/voltha-lib-go.yaml
@@ -16,7 +16,7 @@
- 'tag-collision-reject':
dependency-jobs: 'verify_voltha-lib-go_licensed'
- 'make-unit-test':
- build-node: 'ubuntu16.04-basebuild-4c-8g'
+ build-node: 'ubuntu18.04-basebuild-4c-8g'
build-timeout: 20
dest-gopath: "github.com/opencord"
unit-test-targets: 'lint sca test'
diff --git a/jjb/verify/voltha-openolt-adapter.yaml b/jjb/verify/voltha-openolt-adapter.yaml
index f19edc7..90f0379 100644
--- a/jjb/verify/voltha-openolt-adapter.yaml
+++ b/jjb/verify/voltha-openolt-adapter.yaml
@@ -29,14 +29,14 @@
unit-test-targets: 'lint sca'
unit-test-keep-going: 'true'
junit-allow-empty-results: true
- build-node: 'ubuntu16.04-basebuild-4c-8g'
+ build-node: 'ubuntu18.04-basebuild-4c-8g'
- 'make-unit-test':
dest-gopath: "github.com/opencord"
name-extension: "-tests"
unit-test-targets: 'test'
unit-test-keep-going: 'true'
junit-allow-empty-results: true
- build-node: 'ubuntu16.04-basebuild-2c-4g'
+ build-node: 'ubuntu18.04-basebuild-2c-4g'
- job-group:
name: 'verify-voltha-openolt-adapter-jobs-voltha-2.7'
diff --git a/jjb/verify/voltha-openonu-adapter-go.yaml b/jjb/verify/voltha-openonu-adapter-go.yaml
index 4746e97..b66aaa6 100644
--- a/jjb/verify/voltha-openonu-adapter-go.yaml
+++ b/jjb/verify/voltha-openonu-adapter-go.yaml
@@ -28,14 +28,14 @@
unit-test-targets: 'lint sca'
unit-test-keep-going: 'true'
junit-allow-empty-results: true
- build-node: 'ubuntu16.04-basebuild-4c-8g'
+ build-node: 'ubuntu18.04-basebuild-4c-8g'
- 'make-unit-test':
dest-gopath: "github.com/opencord"
name-extension: "-tests"
unit-test-targets: 'test'
unit-test-keep-going: 'true'
junit-allow-empty-results: true
- build-node: 'ubuntu16.04-basebuild-2c-4g'
+ build-node: 'ubuntu18.04-basebuild-2c-4g'
- job-group:
name: 'verify-voltha-openonu-adapter-go-jobs-voltha-2.7'
diff --git a/jjb/verify/voltha-protos.yaml b/jjb/verify/voltha-protos.yaml
index aefda8b..14ebf9a 100644
--- a/jjb/verify/voltha-protos.yaml
+++ b/jjb/verify/voltha-protos.yaml
@@ -19,7 +19,7 @@
- 'verify-licensed'
- 'tag-collision-reject':
- 'make-unit-test':
- build-node: 'ubuntu16.04-basebuild-2c-4g'
+ build-node: 'ubuntu18.04-basebuild-2c-4g'
build-timeout: 20
unit-test-targets: 'test'
unit-test-keep-going: 'true'
diff --git a/jjb/verify/voltha-system-tests.yaml b/jjb/verify/voltha-system-tests.yaml
index f7efbab..d3e409f 100644
--- a/jjb/verify/voltha-system-tests.yaml
+++ b/jjb/verify/voltha-system-tests.yaml
@@ -7,12 +7,15 @@
jobs:
- 'verify-voltha-system-tests-jobs':
+ build-node: 'ubuntu18.04-basebuild-4c-8g'
branch-regexp: '{all-branches-regexp}'
- 'verify-voltha-system-tests-jobs-voltha-2.7':
+ build-node: 'ubuntu18.04-basebuild-4c-8g'
name-extension: '-voltha-2.7'
override-branch: 'voltha-2.7'
branch-regexp: '{kind-voltha-regexp}'
- 'verify-voltha-system-tests-jobs-master':
+ build-node: 'ubuntu18.04-basebuild-4c-8g'
branch-regexp: '^master$'
- job-group:
diff --git a/jjb/verify/xos.yaml b/jjb/verify/xos.yaml
index ff385f5..b33d7d2 100644
--- a/jjb/verify/xos.yaml
+++ b/jjb/verify/xos.yaml
@@ -31,7 +31,7 @@
jobs:
- 'python-unit-test':
build-timeout: 45
- build-node: 'ubuntu16.04-basebuild-2c-4g'
+ build-node: 'ubuntu18.04-basebuild-2c-4g'
- 'api-test':
pipeline-script: 'xos-core.groovy'
diff --git a/jjb/voltha-e2e.yaml b/jjb/voltha-e2e.yaml
index d5b8bad..6b89909 100755
--- a/jjb/voltha-e2e.yaml
+++ b/jjb/voltha-e2e.yaml
@@ -72,7 +72,7 @@
- 'voltha-periodic-test':
name: 'periodic-voltha-openonu-go-test-bbsim'
pipeline-script: 'voltha-openonu-go-test-bbsim.groovy'
- build-node: 'ubuntu16.04-basebuild-8c-15g'
+ build-node: 'ubuntu18.04-basebuild-8c-15g'
make-target: openonu-go-adapter-test
make-target-1t4gemtest: 1t4gem-openonu-go-adapter-test
make-target-1t8gemtest: 1t8gem-openonu-go-adapter-test
@@ -86,7 +86,7 @@
- 'voltha-periodic-test':
name: 'periodic-voltha-openonu-go-test-bbsim-2.7'
pipeline-script: 'voltha-openonu-go-test-bbsim.groovy'
- build-node: 'ubuntu16.04-basebuild-8c-15g'
+ build-node: 'ubuntu18.04-basebuild-8c-15g'
make-target: openonu-go-adapter-test
make-target-1t4gemtest: 1t4gem-openonu-go-adapter-test
make-target-1t8gemtest: 1t8gem-openonu-go-adapter-test
@@ -100,7 +100,7 @@
- 'voltha-periodic-test':
name: 'periodic-voltha-multiple-olts-openonu-go-test-bbsim'
pipeline-script: 'voltha-openonu-go-test-bbsim.groovy'
- build-node: 'ubuntu16.04-basebuild-8c-15g'
+ build-node: 'ubuntu18.04-basebuild-8c-15g'
make-target: openonu-go-adapter-multi-olt-test
make-target-1t4gemtest: 1t4gem-openonu-go-adapter-multi-olt-test
make-target-1t8gemtest: 1t8gem-openonu-go-adapter-multi-olt-test
@@ -117,7 +117,7 @@
- 'voltha-periodic-test':
name: 'periodic-voltha-multiple-olts-openonu-go-test-bbsim-2.7'
pipeline-script: 'voltha-openonu-go-test-bbsim.groovy'
- build-node: 'ubuntu16.04-basebuild-8c-15g'
+ build-node: 'ubuntu18.04-basebuild-8c-15g'
make-target: openonu-go-adapter-multi-olt-test
make-target-1t4gemtest: 1t4gem-openonu-go-adapter-multi-olt-test
make-target-1t8gemtest: 1t8gem-openonu-go-adapter-multi-olt-test
@@ -166,7 +166,7 @@
- 'voltha-periodic-test':
name: 'periodic-voltha-etcd-test'
pipeline-script: 'voltha-system-test-bbsim.groovy'
- build-node: 'ubuntu16.04-basebuild-4c-8g'
+ build-node: 'ubuntu18.04-basebuild-4c-8g'
code-branch: 'master'
make-target: sanity-multi-kind
onus: 2
@@ -176,7 +176,7 @@
- 'voltha-periodic-test':
name: 'periodic-voltha-etcd-test-2.7'
pipeline-script: 'voltha-system-test-bbsim.groovy'
- build-node: 'ubuntu16.04-basebuild-4c-8g'
+ build-node: 'ubuntu18.04-basebuild-4c-8g'
code-branch: 'voltha-2.7'
make-target: sanity-multi-kind
onus: 2
@@ -208,7 +208,7 @@
- 'voltha-periodic-test':
name: 'nightly-voltha-DTflow-sanity-test'
- build-node: 'ubuntu16.04-basebuild-4c-8g'
+ build-node: 'ubuntu18.04-basebuild-4c-8g'
code-branch: 'master'
make-target: sanity-kind-dt
onus: 1
@@ -453,6 +453,7 @@
- job-template:
id: 'voltha-patch-test'
name: 'verify_{project}_sanity-test{name-extension}'
+ build-node: 'ubuntu18.04-basebuild-4c-8g'
override-branch: '$GERRIT_BRANCH'
sandbox: true
build-timeout: 20
@@ -479,7 +480,7 @@
parameters:
- string:
name: buildNode
- default: 'ubuntu16.04-basebuild-4c-8g'
+ default: '{build-node}'
description: 'Name of the Jenkins node to run the job on'
- string:
@@ -747,7 +748,7 @@
project-pattern: '^(voltha-openolt-adapter|voltha-openonu-adapter|voltha-openonu-adapter-go|voltha-go)$'
branches:
- branch-compare-type: REG_EXP
- branch-pattern: '{all-branches-regexp}'
+ branch-pattern: '{branch-pattern}'
- job-template:
diff --git a/jjb/voltha-publish.yaml b/jjb/voltha-publish.yaml
index d8b8246..aa68028 100644
--- a/jjb/voltha-publish.yaml
+++ b/jjb/voltha-publish.yaml
@@ -9,7 +9,7 @@
- 'voltha-publish':
project-regexp: 'voltha'
branch-regexp: '^(master|voltha-1.6|voltha-1.7)$'
- build-node: 'ubuntu16.04-basebuild-1c-2g'
+ build-node: 'ubuntu18.04-basebuild-1c-2g'
dependency-jobs: ''
- job-template:
diff --git a/jjb/voltha-unit-test.yaml b/jjb/voltha-unit-test.yaml
index c2132fa..f4225a3 100644
--- a/jjb/voltha-unit-test.yaml
+++ b/jjb/voltha-unit-test.yaml
@@ -37,7 +37,7 @@
choosing-strategy: gerrit
jenkins-ssh-credential: '{jenkins-ssh-credential}'
- node: 'ubuntu16.04-basebuild-4c-8g'
+ node: 'ubuntu18.04-basebuild-4c-8g'
project-type: freestyle
concurrent: true
diff --git a/jjb/xos-auth.yaml b/jjb/xos-auth.yaml
index 6b035f9..63a81a1 100644
--- a/jjb/xos-auth.yaml
+++ b/jjb/xos-auth.yaml
@@ -32,7 +32,7 @@
branch: '$GERRIT_BRANCH'
destination-dir: 'cord'
- node: 'ubuntu16.04-basebuild-4c-8g'
+ node: 'ubuntu18.04-basebuild-4c-8g'
project-type: freestyle
concurrent: true
diff --git a/jjb/xos-integration-tests.yaml b/jjb/xos-integration-tests.yaml
index c894947..b1cd814 100644
--- a/jjb/xos-integration-tests.yaml
+++ b/jjb/xos-integration-tests.yaml
@@ -33,7 +33,7 @@
parameters:
- string:
name: buildNode
- default: 'ubuntu16.04-basebuild-4c-8g'
+ default: 'ubuntu18.04-basebuild-4c-8g'
description: 'Name of the Jenkins node to run the job on'
- string:
@@ -92,7 +92,7 @@
parameters:
- string:
name: buildNode
- default: 'ubuntu16.04-basebuild-4c-8g'
+ default: 'ubuntu18.04-basebuild-4c-8g'
description: 'Name of the Jenkins node to run the job on'
- string:
@@ -151,7 +151,7 @@
parameters:
- string:
name: buildNode
- default: 'ubuntu16.04-basebuild-4c-8g'
+ default: 'ubuntu18.04-basebuild-4c-8g'
description: 'Name of the Jenkins node to run the job on'
- string:
@@ -210,7 +210,7 @@
parameters:
- string:
name: buildNode
- default: 'ubuntu16.04-basebuild-4c-8g'
+ default: 'ubuntu18.04-basebuild-4c-8g'
description: 'Name of the Jenkins node to run the job on'
- string:
diff --git a/jjb/xos-rest-gw-unit.yaml b/jjb/xos-rest-gw-unit.yaml
index 7b12ffe..5eac9ad 100644
--- a/jjb/xos-rest-gw-unit.yaml
+++ b/jjb/xos-rest-gw-unit.yaml
@@ -40,7 +40,7 @@
choosing-strategy: gerrit
jenkins-ssh-credential: '{jenkins-ssh-credential}'
- node: 'ubuntu16.04-basebuild-1c-2g'
+ node: 'ubuntu18.04-basebuild-1c-2g'
project-type: freestyle
concurrent: true
diff --git a/jjb/xos-synchronizer-update.yaml b/jjb/xos-synchronizer-update.yaml
index 2f49512..3ac10c9 100644
--- a/jjb/xos-synchronizer-update.yaml
+++ b/jjb/xos-synchronizer-update.yaml
@@ -28,7 +28,7 @@
parameters:
- string:
name: buildNode
- default: 'ubuntu16.04-basebuild-4c-8g'
+ default: 'ubuntu18.04-basebuild-4c-8g'
description: 'Name of the Jenkins node to run the job on'
- string:
diff --git a/jjb/xos-unit.yaml b/jjb/xos-unit.yaml
index 89fd6c1..12190b5 100644
--- a/jjb/xos-unit.yaml
+++ b/jjb/xos-unit.yaml
@@ -32,7 +32,7 @@
branch: 'master'
destination-dir: 'cord'
- node: 'ubuntu16.04-basebuild-1c-2g'
+ node: 'ubuntu18.04-basebuild-1c-2g'
project-type: freestyle
concurrent: true
diff --git a/jjb/xos-upgrade.yaml b/jjb/xos-upgrade.yaml
index 506d5dd..4889246 100644
--- a/jjb/xos-upgrade.yaml
+++ b/jjb/xos-upgrade.yaml
@@ -29,7 +29,7 @@
parameters:
- string:
name: buildNode
- default: 'ubuntu16.04-basebuild-4c-8g'
+ default: 'ubuntu18.04-basebuild-4c-8g'
description: 'Name of the Jenkins node to run the job on'
- string:
diff --git a/packer/common-packer b/packer/common-packer
index 4a5b0cd..e96974f 160000
--- a/packer/common-packer
+++ b/packer/common-packer
@@ -1 +1 @@
-Subproject commit 4a5b0cd9032938194c4813fe36663ddee4f9e60e
+Subproject commit e96974fa52edb7d8e7f27d314155bd088255e07d
diff --git a/packer/provision/baseline.yaml b/packer/provision/baseline.yaml
new file mode 100644
index 0000000..1aad172
--- /dev/null
+++ b/packer/provision/baseline.yaml
@@ -0,0 +1,88 @@
+---
+- hosts: all
+ become_user: root
+ become_method: sudo
+
+ pre_tasks:
+ - include_role: name=lfit.system-update
+
+ - name: Install base packages
+ include_tasks: "{{item}}"
+ with_first_found:
+ - "install-base-pkgs-{{ansible_distribution}}.yaml"
+ - "install-base-pkgs-{{ansible_os_family}}.yaml"
+
+ - name: Allow jenkins user sudo access
+ copy:
+ dest: /etc/sudoers.d/89-jenkins-user-defaults
+ content: |
+ Defaults:jenkins !requiretty
+ jenkins ALL=(ALL) NOPASSWD:ALL
+ validate: /usr/sbin/visudo -cf %s
+ become: yes
+
+ roles:
+ - lfit.lf-recommended-tools
+ - lfit.lf-dev-libs
+ - lfit.haveged-install
+ - lfit.java-install
+ - lfit.python-install
+ - lfit.shellcheck-install
+ - lfit.sysstat-install
+
+ post_tasks:
+ - name: Update /etc/nss-switch.conf to map hostname with IP
+ # Update /etc/nss-switch.conf to map hostname with IP instead of using `localhost`
+ # from /etc/hosts which is required by some of the Java API's to avoid
+ # Java UnknownHostException: "Name or service not known" error.
+ replace:
+ path: /etc/nsswitch.conf
+ regexp: '^hosts:(\s+.*)?$'
+ replace: 'hosts:\1 myhostname'
+ backup: yes
+ become: yes
+
+ - name: Disable periodic updates
+ block:
+ - name: Set all periodic update options to 0
+ replace:
+ path: /etc/apt/apt.conf.d/10periodic
+ regexp: "1"
+ replace: "0"
+ - name: Set all auto update options to 0
+ replace:
+ path: /etc/apt/apt.conf.d/20auto-upgrades
+ regexp: "1"
+ replace: "0"
+ - name: Disable unattended upgrades
+ lineinfile:
+ path: /etc/apt/apt.conf.d/10periodic
+ regexp: "^APT::Periodic::Unattended-Upgrade"
+ line: 'APT::Periodic::Unattended-Upgrade "0";'
+ create: yes
+ - name: Uninstall unattended upgrades
+ apt:
+ name: unattended-upgrades
+ state: absent
+ - name: Prevent unattended upgrades from being installed
+ dpkg_selections:
+ name: unattended-upgrades
+ selection: hold
+ - name: Disable apt-daily.* systemd services
+ systemd:
+ name: "{{service}}"
+ enabled: no
+ masked: yes
+ with_items:
+ - apt-daily.service
+ - apt-daily.timer
+ - apt-daily-upgrade.service
+ - apt-daily-upgrade.timer
+ loop_control:
+ loop_var: service
+ when: ansible_distribution == 'Ubuntu'
+ become: yes
+
+ - name: System Reseal
+ script: system-reseal.sh
+ become: true
diff --git a/packer/provision/install-base-pkgs-Ubuntu.yaml b/packer/provision/install-base-pkgs-Ubuntu.yaml
new file mode 100644
index 0000000..2ab6308
--- /dev/null
+++ b/packer/provision/install-base-pkgs-Ubuntu.yaml
@@ -0,0 +1,15 @@
+# SPDX-FileCopyrightText: 2020 Open Networking Foundation <info@opennetworking.org>
+#
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+
+---
+- name: Install base packages
+ apt:
+ name:
+ - build-essential
+ - devscripts
+ - dh-systemd
+ - equivs
+ - gdebi
+ state: latest
+ become: yes
diff --git a/packer/provision/local-builder.yaml b/packer/provision/local-builder.yaml
new file mode 100644
index 0000000..8315fa0
--- /dev/null
+++ b/packer/provision/local-builder.yaml
@@ -0,0 +1,6 @@
+# SPDX-FileCopyrightText: 2020 Open Networking Foundation <info@opennetworking.org>
+#
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+
+---
+- import_playbook: ../provision/baseline.yaml
diff --git a/packer/provision/onf-playbook.yaml b/packer/provision/onf-playbook.yaml
new file mode 100644
index 0000000..206fec8
--- /dev/null
+++ b/packer/provision/onf-playbook.yaml
@@ -0,0 +1,231 @@
+---
+# SPDX-FileCopyrightText: 2020 Open Networking Foundation <info@opennetworking.org>
+# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0
+
+- name: "Provision Packages for Jenkins image"
+ hosts: default
+ become: true
+
+ tasks:
+ - name: Install apt packages
+ apt:
+ name:
+ - "facter"
+ - "libxml2-utils"
+ - "bzip2"
+ - "curl"
+ - "ebtables"
+ - "enchant"
+ - "ethtool"
+ - "git"
+ - "graphviz"
+ - "jq"
+ - "kafkacat"
+ - "less"
+ - "libpcap-dev"
+ - "libxml2-utils"
+ - "maven"
+ - "ruby"
+ - "screen"
+ - "socat"
+ - "ssh"
+ - "sshpass"
+ - "zip"
+ # below four packages are required by npm
+ - "nodejs"
+ - "libssl1.0-dev"
+ - "nodejs-dev"
+ - "node-gyp"
+ - "npm"
+ state: "present"
+ update_cache: true
+ cache_valid_time: 3600
+
+ - name: Download repo launcher
+ get_url:
+ url: "https://gerrit.googlesource.com/git-repo/+/refs/tags/v2.12.2/repo?format=TEXT"
+ checksum: "sha256:f5afffcc9afae128efd2b325ff19544a0b78acceb33a2edf368ce2de94e8c33e"
+ dest: /tmp/repo.b64
+
+ - name: Decode and make repo launcher executable
+ shell:
+ cmd: |
+ base64 --decode /tmp/repo.b64 > /usr/local/bin/repo;
+ chmod 755 /usr/local/bin/repo
+ creates: /usr/local/bin/repo
+
+ - name: Download helm archive
+ get_url:
+ url: "https://get.helm.sh/helm-v3.5.2-linux-amd64.tar.gz"
+ checksum: "sha256:01b317c506f8b6ad60b11b1dc3f093276bb703281cb1ae01132752253ec706a2"
+ dest: "/tmp/helm.tgz"
+
+ - name: Unarchive helm
+ unarchive:
+ src: "/tmp/helm.tgz"
+ dest: "/tmp"
+ remote_src: yes
+
+ - name: Install helm binary
+ copy:
+ src: /tmp/linux-amd64/helm
+ dest: /usr/local/bin/helm
+ mode: "0755"
+ remote_src: yes
+
+ - name: Download/install kubectl binary
+ get_url:
+ url: "https://storage.googleapis.com/kubernetes-release/release/v1.18.15/bin/linux/amd64/kubectl"
+ checksum: "sha256:eb5a5dd0a72795942ab81d1e4331625e80a90002c8bb39b2cb15aa707a3812c6"
+ dest: /usr/local/bin/kubectl
+ mode: "0755"
+
+ - name: load /etc/docker/daemon.json from file
+ slurp:
+ src: /etc/docker/daemon.json
+ register: imported_var
+
+ - name: append more key/values
+ set_fact:
+ imported_var: "{{ imported_var.content|b64decode|from_json | default([]) | combine({ 'registry-mirrors': ['https://mirror.registry.opennetworking.org'] }) }}"
+
+ - name: write var to file
+ copy:
+ content: "{{ imported_var | to_nice_json }}"
+ dest: /etc/docker/daemon.json
+
+ - name: restart Docker service
+ systemd:
+ name: docker
+ state: restarted
+ daemon_reload: true
+
+ - name: Install multi python3 packages with version specifiers
+ pip:
+ name:
+ - ansible
+ - ansible-lint
+ - docker
+ - docker-compose
+ - git-review
+ - httpie
+ - netaddr
+ - pylint
+ - tox
+ - twine
+ - virtualenv
+ - yamllint
+ executable: pip3
+ - name: Install multi python2 packages with version specifiers
+ pip:
+ name:
+ - Jinja2
+ - coverage
+ - certifi
+ - cryptography
+ - git+https://github.com/linkchecker/linkchecker.git@v9.4.0
+ - graphviz
+ - isort
+ - more-itertools==5.0.0
+ - mock>2.0.0<2.1.0
+ - ndg-httpsclient
+ - nose2>0.9.0<0.10.0
+ - pyopenssl
+ - pexpect
+ - pyyaml>3.10.0<3.11.0
+ - requests>2.14.0<2.15.0
+ - robotframework
+ - robotframework-httplibrary
+ - robotframework-kafkalibrary
+ - robotframework-lint
+ - robotframework-requests
+ - robotframework-sshlibrary
+ - six
+ - urllib3
+
+ - name: Install multi ruby packages with version specifiers
+ gem:
+ name: mdl
+ version: 0.5.0
+
+ - name: Install gitbook-cli npm package with version specifiers
+ npm:
+ name: gitbook-cli
+ global: true
+
+ - name: Install markdownlint npm package with version specifiers
+ npm:
+ name: markdownlint
+ global: true
+
+ - name: Install typings npm package with version specifiers
+ npm:
+ name: typings
+ global: true
+
+ - name: Download minikube
+ get_url:
+ url: "https://storage.googleapis.com/minikube/releases/latest/minikube_1.18.0-0_amd64.deb"
+ checksum: "sha256:6e3918b601704014f3d0b0a09e3116f1ea528ac255525743a800b5f0b5856622"
+ dest: /tmp/minikube.deb
+
+ - name: Install minikube deb
+ apt:
+ deb: /tmp/minikube.deb
+
+ - name: Download protobuf
+ get_url:
+ url: "https://github.com/google/protobuf/releases/download/v3.7.0/protoc-3.7.0-linux-x86_64.zip"
+ checksum: "sha256:a1b8ed22d6dc53c5b8680a6f1760a305b33ef471bece482e92728f00ba2a2969"
+ dest: /tmp/protobuf.zip
+
+ - name: Unarchive protobuf
+ unarchive:
+ src: "/tmp/protobuf.zip"
+ dest: "/usr/local"
+ remote_src: yes
+
+ - name: Download pandoc
+ get_url:
+ url: "https://github.com/jgm/pandoc/releases/download/2.10.1/pandoc-2.10.1-1-amd64.deb"
+ checksum: "sha256:4515d6fe2bf8b82765d8dfa1e1b63ccb0ff3332d60389f948672eaa37932e936"
+ dest: /tmp/pandoc.deb
+
+ - name: Install pandoc deb
+ apt:
+ deb: /tmp/pandoc.deb
+
+ - name: Download yq
+ get_url:
+ url: "https://github.com/mikefarah/yq/releases/download/3.4.0/yq_linux_amd64"
+ checksum: "sha256:f6bd1536a743ab170b35c94ed4c7c4479763356bd543af5d391122f4af852460"
+ dest: /usr/local/bin/yq
+
+ - name: Change yq Permission
+ file:
+ path: /usr/local/bin/yq
+ mode: 0755
+
+ - name: Download hadolint
+ get_url:
+ url: "https://github.com/hadolint/hadolint/releases/download/v1.18.0/hadolint-Linux-x86_64"
+ checksum: "sha256:f9bc9de12438b463ca84e77fde70b07b155d4da07ca21bc3f4354a62c6199db4"
+ dest: /usr/local/bin/hadolint
+
+ - name: Change hadolint Permission
+ file:
+ path: /usr/local/bin/hadolint
+ mode: 0755
+
+ - name: Recursively remove download files and folders
+ file:
+ path: "{{ item }}"
+ state: absent
+ with_items:
+ - /tmp/linux-amd64
+ - /tmp/helm.tgz
+ - /tmp/minikube.deb
+ - /tmp/protobuf.zip
+ - /tmp/pandoc.deb
+ - /tmp/repo.b64
+ - /tmp/golang_1.16.3.tar.gz
diff --git a/packer/provision/system-reseal.sh b/packer/provision/system-reseal.sh
new file mode 100644
index 0000000..002edf5
--- /dev/null
+++ b/packer/provision/system-reseal.sh
@@ -0,0 +1,89 @@
+#!/bin/bash
+# SPDX-License-Identifier: EPL-1.0
+##############################################################################
+# Copyright (c) 2016 The Linux Foundation and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+##############################################################################
+# Cleans up VM as preparation for image snapshotting
+
+# vim: sw=2 ts=2 sts=2 et :
+
+rm -rf ~/.viminfo \
+ /etc/Pegasus/*.cnf \
+ /etc/Pegasus/*.crt \
+ /etc/Pegasus/*.csr \
+ /etc/Pegasus/*.pem \
+ /etc/Pegasus/*.srl \
+ /etc/ssh/ssh*key* \
+ /root/.ssh/* \
+ /root/anaconda-ks.cfg \
+ /root/anaconda-post.log \
+ /root/initial-setup-ks.cfg \
+ /root/install.log \
+ /root/install.log.syslog \
+ /tmp/packer \
+ /var/cache/fontconfig/* \
+ /var/cache/gdm/* \
+ /var/cache/man/* \
+ /var/lib/AccountService/users/* \
+ /var/lib/cloud/* \
+ /var/lib/fprint/* \
+ /var/lib/logrotate.status \
+ /var/log/*.log* \
+ /var/log/BackupPC/LOG \
+ /var/log/ConsoleKit/* \
+ /var/log/anaconda.syslog \
+ /var/log/anaconda/* \
+ /var/log/apache2/*_log \
+ /var/log/apache2/*_log-* \
+ /var/log/apt/* \
+ /var/log/aptitude* \
+ /var/log/audit/* \
+ /var/log/btmp* \
+ /var/log/ceph/*.log \
+ /var/log/chrony/*.log \
+ /var/log/cron* \
+ /var/log/cups/*_log \
+ /var/log/debug* \
+ /var/log/dmesg* \
+ /var/log/exim4/* \
+ /var/log/faillog* \
+ /var/log/gdm/* \
+ /var/log/glusterfs/*glusterd.vol.log \
+ /var/log/glusterfs/glusterfs.log \
+ /var/log/httpd/*log \
+ /var/log/installer/* \
+ /var/log/jetty/jetty-console.log \
+ /var/log/journal/* \
+ /var/log/lastlog* \
+ /var/log/libvirt/libvirtd.log \
+ /var/log/libvirt/lxc/*.log \
+ /var/log/libvirt/qemu/*.log \
+ /var/log/libvirt/uml/*.log \
+ /var/log/lightdm/* \
+ /var/log/mail/* \
+ /var/log/maillog* \
+ /var/log/messages* \
+ /var/log/ntp \
+ /var/log/ntpstats/* \
+ /var/log/ppp/connect-errors \
+ /var/log/rhsm/* \
+ /var/log/sa/* \
+ /var/log/secure* \
+ /var/log/setroubleshoot/*.log \
+ /var/log/spooler* \
+ /var/log/squid/*.log \
+ /var/log/syslog* \
+ /var/log/tallylog* \
+ /var/log/tuned/tuned.log \
+ /var/log/wtmp* \
+ /var/named/data/named.run
+
+# Force a system sync and sleep to get around any SSD issues
+echo "Forcing sync and sleep for 10sec"
+sync
+sleep 10
diff --git a/packer/templates/basebuild_1804.json b/packer/templates/basebuild_1804.json
new file mode 100644
index 0000000..668b282
--- /dev/null
+++ b/packer/templates/basebuild_1804.json
@@ -0,0 +1,88 @@
+{
+ "variables": {
+ "ansible_roles_path": ".galaxy",
+ "aws_access_key": null,
+ "aws_security_key": null,
+ "arch": "x86_64",
+ "cloud_user_data": null,
+ "distro": null,
+ "instance_type": "t2.medium",
+ "security_group_id": null,
+ "source_ami_filter_name": null,
+ "source_ami_filter_owner": null,
+ "source_ami_filter_product_code": "",
+ "subnet_id": null,
+ "ssh_user": null
+ },
+ "builders": [
+ {
+ "name": "aws",
+ "access_key": "{{user `aws_access_key`}}",
+ "ami_name": "{{user `distro`}} - basebuild - {{user `arch`}} - {{isotime \"20060102-1504\"}}",
+ "instance_type": "{{user `instance_type`}}",
+ "region": "us-west-2",
+ "secret_key": "{{user `aws_security_key`}}",
+ "security_group_id": "{{user `security_group_id`}}",
+ "source_ami_filter": {
+ "filters": {
+ "name": "{{user `source_ami_filter_name`}}",
+ "product-code": "{{user `source_ami_filter_product_code`}}",
+ "architecture": "{{user `arch`}}",
+ "root-device-type": "ebs",
+ "virtualization-type": "hvm"
+ },
+ "most_recent": true,
+ "owners": ["{{user `source_ami_filter_owner`}}"]
+ },
+ "ssh_username": "{{user `ssh_user`}}",
+ "subnet_id": "{{user `subnet_id`}}",
+ "type": "amazon-ebs",
+ "user_data_file": "{{user `cloud_user_data`}}"
+ }
+ ],
+ "provisioners": [
+ {
+ "type": "shell-local",
+ "command": "./common-packer/ansible-galaxy.sh {{user `ansible_roles_path`}}"
+ },
+ {
+ "type": "ansible",
+ "user": "{{user `ssh_user`}}",
+ "playbook_file": "provision/local-builder.yaml",
+ "ansible_env_vars": [
+ "ANSIBLE_NOCOWS=1",
+ "ANSIBLE_PIPELINING=False",
+ "ANSIBLE_HOST_KEY_CHECKING=False",
+ "ANSIBLE_ROLES_PATH={{user `ansible_roles_path`}}",
+ "ANSIBLE_CALLBACK_WHITELIST=profile_tasks",
+ "ANSIBLE_STDOUT_CALLBACK=debug"
+ ]
+ },
+ {
+ "type": "ansible",
+ "user": "{{user `ssh_user`}}",
+ "playbook_file": "./common-packer/provision/local-docker.yaml",
+ "ansible_env_vars": [
+ "ANSIBLE_NOCOWS=1",
+ "ANSIBLE_PIPELINING=False",
+ "ANSIBLE_HOST_KEY_CHECKING=False",
+ "ANSIBLE_ROLES_PATH={{user `ansible_roles_path`}}",
+ "ANSIBLE_CALLBACK_WHITELIST=profile_tasks",
+ "ANSIBLE_STDOUT_CALLBACK=debug"
+ ]
+ },
+ {
+ "type": "ansible",
+ "user": "{{user `ssh_user`}}",
+ "playbook_file": "provision/onf-playbook.yaml",
+ "ansible_env_vars": [
+ "ANSIBLE_NOCOWS=1",
+ "ANSIBLE_PIPELINING=False",
+ "ANSIBLE_HOST_KEY_CHECKING=False",
+ "ANSIBLE_ROLES_PATH={{user `ansible_roles_path`}}",
+ "ANSIBLE_CALLBACK_WHITELIST=profile_tasks",
+ "ANSIBLE_STDOUT_CALLBACK=debug"
+ ]
+ }
+ ]
+}
diff --git a/packer/vars/ubuntu-18.04.json b/packer/vars/ubuntu-18.04.json
new file mode 100644
index 0000000..a1ee888
--- /dev/null
+++ b/packer/vars/ubuntu-18.04.json
@@ -0,0 +1,11 @@
+{
+ "source_ami_filter_name": "*ubuntu*18.04*",
+ "source_ami_filter_owner": "aws-marketplace",
+ "source_ami_filter_product_code": "3iplms73etrdhxdepv72l6ywj",
+
+ "ssh_user": "ubuntu",
+
+ "distro": "Ubuntu 18.04",
+ "arch": "x86_64",
+ "cloud_user_data": null
+}