From d6723d8c62f59d8c04ff7e9b7ac5ccee71c3a2bb Mon Sep 17 00:00:00 2001 From: "Lott, Christopher (cl778h)" Date: Mon, 23 Sep 2019 11:43:08 -0400 Subject: [PATCH 01/16] Add script to install prereqs on Centos Installs required packages, builds NNG, downloads RMR 1.4.0. Signed-off-by: Lott, Christopher (cl778h) Change-Id: I94796d11bea2f17a92c8c3fa5b409714c484adfc --- jjb/shell/install-deb-nng-rmr.sh | 7 +++++-- jjb/shell/install-rpm-nng-rmr.sh | 43 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 jjb/shell/install-rpm-nng-rmr.sh diff --git a/jjb/shell/install-deb-nng-rmr.sh b/jjb/shell/install-deb-nng-rmr.sh index 7dbf3820..17b237c2 100644 --- a/jjb/shell/install-deb-nng-rmr.sh +++ b/jjb/shell/install-deb-nng-rmr.sh @@ -20,6 +20,8 @@ echo "---> install-deb-nng-rmr.sh" +set -eu + echo "Install packages" sudo apt-get update sudo apt-get install -y \ @@ -35,7 +37,8 @@ git clone --branch v1.1.1 https://github.com/nanomsg/nng.git && ninja \ && sudo ninja install) -ver="1.3.0" +ver="1.4.0" +echo "Download RMR library ${ver}" +wget --content-disposition https://packagecloud.io/o-ran-sc/staging/packages/debian/stretch/rmr_${ver}_amd64.deb/download.deb echo "Install RMR library ${ver}" -wget --content-disposition https://packagecloud.io/o-ran-sc/master/packages/debian/stretch/rmr_${ver}_amd64.deb/download.deb sudo dpkg -i rmr_${ver}_amd64.deb diff --git a/jjb/shell/install-rpm-nng-rmr.sh b/jjb/shell/install-rpm-nng-rmr.sh new file mode 100644 index 00000000..146df4d7 --- /dev/null +++ b/jjb/shell/install-rpm-nng-rmr.sh @@ -0,0 +1,43 @@ +#!/bin/bash + +# O-RAN-SC +# +# Copyright (C) 2019 AT&T Intellectual Property and Nokia +# +# 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. + +# Installs NNG from source and RMR from PackageCloud on CentOS + +echo "---> install-rpm-nng-rmr.sh" + +set -eu + +echo "Install packages" +sudo yum install -y \ + cmake3 \ + ninja-build + +echo "Clone and build NNG" +git clone --branch v1.1.1 https://github.com/nanomsg/nng.git +(cd nng \ + && mkdir build \ + && cd build \ + && cmake3 -DBUILD_SHARED_LIBS=1 -G Ninja .. \ + && ninja-build \ + && sudo ninja-build install) + +ver="1.4.0-1" +echo "Download RMR library ${ver}" +wget --content-disposition https://packagecloud.io/o-ran-sc/staging/packages/el/5/rmr-${ver}.x86_64.rpm/download.rpm +echo "Install RMR library ${ver}" +sudo rpm -vi rmr-${ver}.x86_64.rpm -- 2.16.6 From 3ca789da509cd46a2c76052439d5d90be272b153 Mon Sep 17 00:00:00 2001 From: Aric Gardner Date: Mon, 23 Sep 2019 13:19:05 -0400 Subject: [PATCH 02/16] Add initial jobs for docs project setup project view info job tox verify job Signed-off-by: Aric Gardner Change-Id: I05d902f1c5f47697b97ec2696128aad84e24a192 --- jjb/doc/doc.yaml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 jjb/doc/doc.yaml diff --git a/jjb/doc/doc.yaml b/jjb/doc/doc.yaml new file mode 100644 index 00000000..948ba07a --- /dev/null +++ b/jjb/doc/doc.yaml @@ -0,0 +1,22 @@ +--- +- project: + name: doc-project-view + project-name: doc + views: + - project-view + +- project: + name: doc-info + project: doc + project-name: doc + build-node: centos7-builder-1c-1g + jobs: + - gerrit-info-yaml-verify + +- project: + name: doc-verify + project: doc + project-name: doc + python-version: python3 + jobs: + - gerrit-tox-verify -- 2.16.6 From 134c56fd7381f3b84f0f3fe70fb233ff25af9228 Mon Sep 17 00:00:00 2001 From: "E. Scott Daniels" Date: Wed, 25 Sep 2019 15:20:50 -0400 Subject: [PATCH 03/16] Repin NNG refs to capture proxy reconnect fix A fix to address NNG issues when reconnecting a session through a proxy was made on August 9, 2019 and merged into the NNG master branch with commit ID e618abf8f3db2a9. This change repins the references to the NNG repo such that the fix is incorporated in the NNG library. Signed-off-by: E. Scott Daniels Change-Id: I84d707b6ac65af8e7d78fa6814208532603ea177 --- docker/bldr-alpine3/Dockerfile | 7 +++++-- docker/bldr-alpine3/container-tag.yaml | 2 +- docker/bldr-debian-python/Dockerfile | 6 +++++- docker/bldr-debian-python/container-tag.yaml | 2 +- docker/bldr-ubuntu16-c-go/Dockerfile | 13 +++++-------- docker/bldr-ubuntu16-c-go/container-tag.yaml | 2 +- docker/bldr-ubuntu18-c-go/Dockerfile | 13 +++++-------- docker/bldr-ubuntu18-c-go/container-tag.yaml | 2 +- 8 files changed, 24 insertions(+), 23 deletions(-) diff --git a/docker/bldr-alpine3/Dockerfile b/docker/bldr-alpine3/Dockerfile index 6b0fd3dc..499e1675 100644 --- a/docker/bldr-alpine3/Dockerfile +++ b/docker/bldr-alpine3/Dockerfile @@ -50,10 +50,13 @@ RUN cd /tmp \ && cp /tmp/autoconf-archive/m4/* /usr/share/aclocal \ && rm -rf /tmp/autoconf-archive -# NNG, version is pinned +# NNG repo is not frequently tagged so it's pinned to a commit hash. +# This commit provides fix to the proxy-reconnect +# bug that we identified: https://github.com/nanomsg/nng/issues/970 RUN cd /tmp \ - && git clone --branch v1.1.1 https://github.com/nanomsg/nng.git \ + && git clone https://github.com/nanomsg/nng.git \ && cd nng \ + && git checkout e618abf8f3db2a94269a79c8901a51148d48fcc2 \ && mkdir build \ && cd build \ && cmake -DBUILD_SHARED_LIBS=1 -G Ninja .. \ diff --git a/docker/bldr-alpine3/container-tag.yaml b/docker/bldr-alpine3/container-tag.yaml index c51d3ac0..d6ac6d8e 100644 --- a/docker/bldr-alpine3/container-tag.yaml +++ b/docker/bldr-alpine3/container-tag.yaml @@ -1,4 +1,4 @@ # Not feasible to show all the software versions # here so just use a counter plus the base image --- -tag: 5-a3.9 +tag: 6-a3.9-nng diff --git a/docker/bldr-debian-python/Dockerfile b/docker/bldr-debian-python/Dockerfile index c7c58118..1d9a23bd 100644 --- a/docker/bldr-debian-python/Dockerfile +++ b/docker/bldr-debian-python/Dockerfile @@ -35,8 +35,12 @@ RUN wget -nv https://github.com/ninja-build/ninja/releases/download/v1.9.0/ninja && chmod +x ninja \ && mv ninja /usr/local/bin -RUN git clone --branch v1.1.1 https://github.com/nanomsg/nng.git \ +# NNG repo is not frequently tagged so it's pinned to a commit hash. +# This commit provides fix to the proxy-reconnect +# bug that we identified: https://github.com/nanomsg/nng/issues/970 +RUN git clone https://github.com/nanomsg/nng.git \ && cd nng \ + && git checkout e618abf8f3db2a94269a79c8901a51148d48fcc2 \ && mkdir build \ && cd build \ && cmake -DBUILD_SHARED_LIBS=1 -G Ninja .. \ diff --git a/docker/bldr-debian-python/container-tag.yaml b/docker/bldr-debian-python/container-tag.yaml index 91a8467c..28625423 100755 --- a/docker/bldr-debian-python/container-tag.yaml +++ b/docker/bldr-debian-python/container-tag.yaml @@ -1,4 +1,4 @@ # Not feasible to show all the software versions # here so just use a counter plus the base image --- -tag: 3-py3.7-nng1.1.1 +tag: 4-py3.7-nng diff --git a/docker/bldr-ubuntu16-c-go/Dockerfile b/docker/bldr-ubuntu16-c-go/Dockerfile index 0212d7da..60007c4c 100644 --- a/docker/bldr-ubuntu16-c-go/Dockerfile +++ b/docker/bldr-ubuntu16-c-go/Dockerfile @@ -15,13 +15,6 @@ # limitations under the License. # Builder image with superset of CI tools for RIC components -# Uses Ubuntu 16.04 base then adds: -# Standard apt packages including gcc and g++ 5.4 -# Cmake 3.14.5 from binary distro to /usr/local/bin -# Golang 1.12 from binary distro to /usr/local/go -# Ninja 1.9 from binary distro to /usr/local/bin -# Nanomsg Next Gen v1.1.1 from source distro -# Boost 1.69 from source distro FROM nexus3.o-ran-sc.org:10001/ubuntu:16.04 @@ -64,8 +57,12 @@ RUN wget -nv https://github.com/ninja-build/ninja/releases/download/v1.9.0/ninja && chmod +x ninja \ && mv ninja /usr/local/bin -RUN git clone --branch v1.1.1 https://github.com/nanomsg/nng.git \ +# NNG repo is not frequently tagged so it's pinned to a commit hash. +# This commit provides fix to the proxy-reconnect +# bug that we identified: https://github.com/nanomsg/nng/issues/970 +RUN git clone https://github.com/nanomsg/nng.git \ && cd nng \ + && git checkout e618abf8f3db2a94269a79c8901a51148d48fcc2 \ && mkdir build \ && cd build \ && cmake -DBUILD_SHARED_LIBS=1 -G Ninja .. \ diff --git a/docker/bldr-ubuntu16-c-go/container-tag.yaml b/docker/bldr-ubuntu16-c-go/container-tag.yaml index e44a9fe5..0723c4ae 100644 --- a/docker/bldr-ubuntu16-c-go/container-tag.yaml +++ b/docker/bldr-ubuntu16-c-go/container-tag.yaml @@ -1,4 +1,4 @@ # Not feasible to show all the software versions # here so just use a counter plus the base image --- -tag: 1-u16.04-nng1.1.1 +tag: 2-u16.04-nng diff --git a/docker/bldr-ubuntu18-c-go/Dockerfile b/docker/bldr-ubuntu18-c-go/Dockerfile index c8421c95..f7f23b12 100644 --- a/docker/bldr-ubuntu18-c-go/Dockerfile +++ b/docker/bldr-ubuntu18-c-go/Dockerfile @@ -15,13 +15,6 @@ # limitations under the License. # Builder image with superset of CI tools for RIC components -# Uses Ubuntu 18.04 base then adds: -# Standard apt packages including gcc and g++ 5.4 -# Cmake 3.14.5 from binary distro to /usr/local/bin -# Golang 1.12 from binary distro to /usr/local/go -# Ninja 1.9 from binary distro to /usr/local/bin -# Nanomsg Next Gen v1.1.1 from source distro -# Boost 1.69 from source distro FROM nexus3.o-ran-sc.org:10001/ubuntu:18.04 @@ -64,8 +57,12 @@ RUN wget -nv https://github.com/ninja-build/ninja/releases/download/v1.9.0/ninja && chmod +x ninja \ && mv ninja /usr/local/bin -RUN git clone --branch v1.1.1 https://github.com/nanomsg/nng.git \ +# NNG repo is not frequently tagged so it's pinned to a commit hash. +# This commit provides fix to the proxy-reconnect +# bug that we identified: https://github.com/nanomsg/nng/issues/970 +RUN git clone https://github.com/nanomsg/nng.git \ && cd nng \ + && git checkout e618abf8f3db2a94269a79c8901a51148d48fcc2 \ && mkdir build \ && cd build \ && cmake -DBUILD_SHARED_LIBS=1 -G Ninja .. \ diff --git a/docker/bldr-ubuntu18-c-go/container-tag.yaml b/docker/bldr-ubuntu18-c-go/container-tag.yaml index b42a0da2..15d012ee 100644 --- a/docker/bldr-ubuntu18-c-go/container-tag.yaml +++ b/docker/bldr-ubuntu18-c-go/container-tag.yaml @@ -1,4 +1,4 @@ # Not feasible to show all the software versions # here so just use a counter plus the base image --- -tag: 1-u18.04-nng1.1.1 +tag: 2-u18.04-nng -- 2.16.6 From 59ab78cfe9c3a3e10eb11c5e4e3c17fb8f77804d Mon Sep 17 00:00:00 2001 From: Aric Gardner Date: Wed, 25 Sep 2019 10:07:15 -0400 Subject: [PATCH 04/16] Update Global-jjb to v0.44.0-4-g3d4f0d8 Fixes tox builds to use python3 Fixes release jobs to use python3 venv Signed-off-by: Aric Gardner Change-Id: I0e8f17013ef2953f5d05924da10f6910143b0390 Signed-off-by: Lott, Christopher (cl778h) --- global-jjb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/global-jjb b/global-jjb index 49914d6b..3d4f0d88 160000 --- a/global-jjb +++ b/global-jjb @@ -1 +1 @@ -Subproject commit 49914d6b5bc5f50ed1592ee72ad9d62fa68ed3f4 +Subproject commit 3d4f0d88440b573bdaec9a89541238b990c428dc -- 2.16.6 From 33af9fdc6a5235d89ca1a8dfb6172511a3bd676f Mon Sep 17 00:00:00 2001 From: Daniel Pono Takamori Date: Fri, 27 Sep 2019 09:03:51 -0700 Subject: [PATCH 05/16] use new packer images rebuilt on 27-9 Signed-off-by: Daniel Pono Takamori Change-Id: Ide35754c5d191a4f957e9e3eb2b606fac8542d12 --- jenkins-config/clouds/openstack/cattle/centos7-builder-1c-1g | 2 +- jenkins-config/clouds/openstack/cattle/ubuntu1804-builder-2c-2g.cfg | 2 +- jenkins-config/clouds/openstack/cattle/ubuntu1804-builder-4c-4g.cfg | 4 ++-- jenkins-config/clouds/openstack/cattle/ubuntu1804-docker-4c-4g.cfg | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/jenkins-config/clouds/openstack/cattle/centos7-builder-1c-1g b/jenkins-config/clouds/openstack/cattle/centos7-builder-1c-1g index 33e2e75d..3e6cae9d 100644 --- a/jenkins-config/clouds/openstack/cattle/centos7-builder-1c-1g +++ b/jenkins-config/clouds/openstack/cattle/centos7-builder-1c-1g @@ -1,3 +1,3 @@ -IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20190920-194803.647 +IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20190927-151252.150 VOLUME_SIZE=10 HARDWARE_ID=v2-highcpu-1 diff --git a/jenkins-config/clouds/openstack/cattle/ubuntu1804-builder-2c-2g.cfg b/jenkins-config/clouds/openstack/cattle/ubuntu1804-builder-2c-2g.cfg index 14492d5a..f2759619 100644 --- a/jenkins-config/clouds/openstack/cattle/ubuntu1804-builder-2c-2g.cfg +++ b/jenkins-config/clouds/openstack/cattle/ubuntu1804-builder-2c-2g.cfg @@ -1,4 +1,4 @@ -IMAGE_NAME=ZZCI - Ubuntu 18.04 - builder - x86_64 - 20190429-224248.364 +IMAGE_NAME=ZZCI - Ubuntu 18.04 - builder - x86_64 - 20190926-151758.548 LABELS=ubuntu1804-builder-2c-2g HARDWARE_ID=v2-highcpu-2 VOLUME_SIZE=10 diff --git a/jenkins-config/clouds/openstack/cattle/ubuntu1804-builder-4c-4g.cfg b/jenkins-config/clouds/openstack/cattle/ubuntu1804-builder-4c-4g.cfg index 039f6fd8..854fa33a 100644 --- a/jenkins-config/clouds/openstack/cattle/ubuntu1804-builder-4c-4g.cfg +++ b/jenkins-config/clouds/openstack/cattle/ubuntu1804-builder-4c-4g.cfg @@ -1,4 +1,4 @@ -IMAGE_NAME=ZZCI - Ubuntu 18.04 - builder - x86_64 - 20190429-224248.364 +IMAGE_NAME=ZZCI - Ubuntu 18.04 - builder - x86_64 - 20190926-151758.548 LABELS=ubuntu1804-builder-4c-4g HARDWARE_ID=v2-highcpu-4 -VOLUME_SIZE=10 \ No newline at end of file +VOLUME_SIZE=10 diff --git a/jenkins-config/clouds/openstack/cattle/ubuntu1804-docker-4c-4g.cfg b/jenkins-config/clouds/openstack/cattle/ubuntu1804-docker-4c-4g.cfg index d8dd4972..26cafd47 100644 --- a/jenkins-config/clouds/openstack/cattle/ubuntu1804-docker-4c-4g.cfg +++ b/jenkins-config/clouds/openstack/cattle/ubuntu1804-docker-4c-4g.cfg @@ -1,4 +1,4 @@ -IMAGE_NAME=ZZCI - Ubuntu 18.04 - docker - x86_64 - 20190823-170649.787 +IMAGE_NAME=ZZCI - Ubuntu 18.04 - docker - x86_64 - 20190927-102054.131 LABELS=ubuntu1804-docker-4c-4g HARDWARE_ID=v2-highcpu-4 VOLUME_SIZE=10 -- 2.16.6 From 557b88a5631820d0b09d20d993778d802cc5005b Mon Sep 17 00:00:00 2001 From: "Lott, Christopher (cl778h)" Date: Fri, 27 Sep 2019 06:01:54 -0400 Subject: [PATCH 06/16] Add PyPI templates for RMR python binding Add triggers to limit library, binding builds appropriately. Clone NNG using a git commit SHA code, a version that fixes a bug. Extend pre-build scripts to get RMR version string from repo file. Signed-off-by: Lott, Christopher (cl778h) Change-Id: Ie4b20163260179bff58ad958a7e8b87bbb9c02d2 --- jjb/ric-plt-lib-rmr/ric-plt-lib-rmr.yaml | 45 ++++++++++++++++++-------------- jjb/shell/install-deb-nng-rmr.sh | 43 +++++++++++++++++++++++------- jjb/shell/install-rpm-nng-rmr.sh | 40 +++++++++++++++++++++++----- 3 files changed, 92 insertions(+), 36 deletions(-) diff --git a/jjb/ric-plt-lib-rmr/ric-plt-lib-rmr.yaml b/jjb/ric-plt-lib-rmr/ric-plt-lib-rmr.yaml index 951211c3..934823fb 100644 --- a/jjb/ric-plt-lib-rmr/ric-plt-lib-rmr.yaml +++ b/jjb/ric-plt-lib-rmr/ric-plt-lib-rmr.yaml @@ -13,25 +13,29 @@ jobs: - gerrit-info-yaml-verify -- rmr_docker_common: &rmr_docker_common - # values apply to all RMR docker projects - name: rmr-docker-common +- rmr_common: &rmr_common + name: rmr-common # git repo project: ric-plt/lib/rmr # jenkins job name prefix project-name: ric-plt-lib-rmr - # maven settings file has docker credentials + # maven settings file has credentials mvn-settings: ric-plt-lib-rmr-settings +# build and publish packages to PackageCloud.io - project: - <<: *rmr_docker_common + <<: *rmr_common name: ric-plt-lib-rmr + # image is not pushed, use trivial tag + container-tag-method: latest # image name docker-name: '{name}' - # use host network to use network resources + # use host network for network resources docker-build-args: '--network=host -f ci/Dockerfile' - # image tag; use a fixed value - container-tag-method: latest + # exclude changes in the bindings subdirectory + gerrit_trigger_file_paths: + - compare-type: REG_EXP + pattern: '^((?!src/bindings|\/COMMIT_MSG).)*$' jobs: - gerrit-docker-verify - oran-gerrit-docker-ci-pc-merge @@ -39,21 +43,22 @@ - master: branch: master -# runs tox tests on verify only +# build and publish distributions to PyPI - project: - <<: *rmr_docker_common - name: ric-plt-lib-rmr-python-test + <<: *rmr_common + name: ric-plt-lib-rmr-python project-name: '{name}' - # image name, but is never pushed - docker-name: '{name}' - # source of docker tag - container-tag-method: latest - # subdirectory - docker-root: src/bindings/rmr-python - # use host network to use network resources - docker-build-args: '--network=host -f Dockerfile-Unit-Test' + # sigul requires centos + build-node: centos7-builder-1c-1g + # install prereqs + pre-build-script: !include-raw-escape: ../shell/install-rpm-nng-rmr.sh + # bindings live in a subdirectory + gerrit_trigger_file_paths: + - compare-type: REG_EXP + pattern: 'src/bindings/rmr-python/.*' + tox-dir: src/bindings/rmr-python stream: - master: branch: master jobs: - - gerrit-docker-verify + - '{project-name}-gerrit-pypi-jobs' diff --git a/jjb/shell/install-deb-nng-rmr.sh b/jjb/shell/install-deb-nng-rmr.sh index 17b237c2..c242a23f 100644 --- a/jjb/shell/install-deb-nng-rmr.sh +++ b/jjb/shell/install-deb-nng-rmr.sh @@ -16,29 +16,54 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Installs NNG from source and RMR from PackageCloud on Ubuntu +# Installs NNG from source and RMR from PackageCloud on Ubuntu18.04 +# Reads RMR version number from repo file rmr-version.yaml echo "---> install-deb-nng-rmr.sh" set -eu echo "Install packages" -sudo apt-get update -sudo apt-get install -y \ +sudo apt-get update && \ + sudo apt-get install -y \ cmake \ ninja-build +echo "INFO: cd to tox-dir $TOX_DIR" +cd "$WORKSPACE/$TOX_DIR" + +version_file=rmr-version.yaml +if [[ -f $version_file ]]; then + # pipeline is less elegant than yq but that requires venv and pip install + ver=$(grep "^version:" "$version_file" | cut -d: -f2 | xargs ) +else + echo "File $version_file not found." + exit 1 +fi +if [[ -z $ver ]]; then + echo "Failed to get RMR version string from file $version_file" + exit 1 +else + echo "RMR version string is ${ver}" +fi + +# NNG repo is not frequently tagged so it's pinned to a commit hash. +# This commit provides fix to the proxy-reconnect +# bug that we identified: https://github.com/nanomsg/nng/issues/970 echo "Clone and build NNG" -git clone --branch v1.1.1 https://github.com/nanomsg/nng.git +git clone https://github.com/nanomsg/nng.git (cd nng \ + && git checkout e618abf8f3db2a94269a79c8901a51148d48fcc2 \ && mkdir build \ && cd build \ && cmake -DBUILD_SHARED_LIBS=1 -G Ninja .. \ && ninja \ && sudo ninja install) -ver="1.4.0" -echo "Download RMR library ${ver}" -wget --content-disposition https://packagecloud.io/o-ran-sc/staging/packages/debian/stretch/rmr_${ver}_amd64.deb/download.deb -echo "Install RMR library ${ver}" -sudo dpkg -i rmr_${ver}_amd64.deb +deb="rmr_${ver}_amd64.deb" +echo "Download RMR library ${ver} as file ${deb}" +wget --content-disposition https://packagecloud.io/o-ran-sc/staging/packages/debian/stretch/${deb}/download.deb +echo "Install RMR library file ${deb}" +sudo dpkg -i ${deb} + +echo "---> install-deb-nng-rmr.sh ends" diff --git a/jjb/shell/install-rpm-nng-rmr.sh b/jjb/shell/install-rpm-nng-rmr.sh index 146df4d7..af7d05a0 100644 --- a/jjb/shell/install-rpm-nng-rmr.sh +++ b/jjb/shell/install-rpm-nng-rmr.sh @@ -16,7 +16,8 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Installs NNG from source and RMR from PackageCloud on CentOS +# Installs NNG from source and RMR from PackageCloud on CentOS7 +# Reads RMR version number from repo file rmr-version.yaml echo "---> install-rpm-nng-rmr.sh" @@ -27,17 +28,42 @@ sudo yum install -y \ cmake3 \ ninja-build +echo "INFO: cd to tox-dir $TOX_DIR" +cd "$WORKSPACE/$TOX_DIR" + +version_file=rmr-version.yaml +if [[ -f $version_file ]]; then + # pipeline is less elegant than yq but that requires venv and pip install + ver=$(grep "^version:" "$version_file" | cut -d: -f2 | xargs ) +else + echo "File $version_file not found." + exit 1 +fi +if [[ -z $ver ]]; then + echo "Failed to get RMR version string from file $version_file" + exit 1 +else + echo "RMR version string is ${ver}" +fi + +# NNG repo is not frequently tagged so it's pinned to a commit hash. +# This commit provides fix to the proxy-reconnect +# bug that we identified: https://github.com/nanomsg/nng/issues/970 echo "Clone and build NNG" -git clone --branch v1.1.1 https://github.com/nanomsg/nng.git +git clone https://github.com/nanomsg/nng.git (cd nng \ + && git checkout e618abf8f3db2a94269a79c8901a51148d48fcc2 \ && mkdir build \ && cd build \ && cmake3 -DBUILD_SHARED_LIBS=1 -G Ninja .. \ && ninja-build \ && sudo ninja-build install) -ver="1.4.0-1" -echo "Download RMR library ${ver}" -wget --content-disposition https://packagecloud.io/o-ran-sc/staging/packages/el/5/rmr-${ver}.x86_64.rpm/download.rpm -echo "Install RMR library ${ver}" -sudo rpm -vi rmr-${ver}.x86_64.rpm +# RPM packager adds suffix "-1" to version +rpm="rmr-${ver}-1.x86_64.rpm" +echo "Download RMR library ${ver} as file ${rpm}" +wget --content-disposition https://packagecloud.io/o-ran-sc/staging/packages/el/5/${rpm}/download.rpm +echo "Install RMR library file ${rpm}" +sudo rpm -iv ${rpm} + +echo "---> install-rpm-nng-rmr.sh ends" -- 2.16.6 From bbebd0f71ea0602e09921d284029634fa6e0c1d1 Mon Sep 17 00:00:00 2001 From: "Lott, Christopher (cl778h)" Date: Tue, 1 Oct 2019 11:58:13 -0400 Subject: [PATCH 07/16] Separate PyPI jobs due to trigger conflicts The feature lives in subdirectory src/bindings/rmr-python but the gerrit_trigger_file_paths setting overrides the release template settings. Separate the jobs as a workaround. Signed-off-by: Lott, Christopher (cl778h) Change-Id: I0968e7a18612401532d82d91e5e60d82ae648c4f --- jjb/ric-plt-lib-rmr/ric-plt-lib-rmr.yaml | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/jjb/ric-plt-lib-rmr/ric-plt-lib-rmr.yaml b/jjb/ric-plt-lib-rmr/ric-plt-lib-rmr.yaml index 934823fb..deb9be15 100644 --- a/jjb/ric-plt-lib-rmr/ric-plt-lib-rmr.yaml +++ b/jjb/ric-plt-lib-rmr/ric-plt-lib-rmr.yaml @@ -61,4 +61,23 @@ - master: branch: master jobs: - - '{project-name}-gerrit-pypi-jobs' + - gerrit-pypi-verify + - gerrit-pypi-merge + +# Temporary workaround to avoid overriding +# gerrit_trigger_file_paths on release jobs +- project: + <<: *rmr_common + name: ric-plt-lib-rmr-python-workaround + project-name: ric-plt-lib-rmr-python + # sigul requires centos + build-node: centos7-builder-1c-1g + # install prereqs + pre-build-script: !include-raw-escape: ../shell/install-rpm-nng-rmr.sh + tox-dir: src/bindings/rmr-python + stream: + - master: + branch: master + jobs: + - gerrit-pypi-release-verify + - gerrit-pypi-release-merge -- 2.16.6 From 61874274ddfb73482b556144afb3f13430618adf Mon Sep 17 00:00:00 2001 From: "Lott, Christopher (cl778h)" Date: Wed, 2 Oct 2019 14:22:21 -0400 Subject: [PATCH 08/16] Upgrade global-jjb to v0.44.1-1-g6d0b661 Need the repair to PyPI templates. Signed-off-by: Lott, Christopher (cl778h) Change-Id: I71fd80985699c0586cc8a537e3ece80b211604d7 --- global-jjb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/global-jjb b/global-jjb index 3d4f0d88..6d0b6613 160000 --- a/global-jjb +++ b/global-jjb @@ -1 +1 @@ -Subproject commit 3d4f0d88440b573bdaec9a89541238b990c428dc +Subproject commit 6d0b661360e45fe139ff9689c3ff23f657bad599 -- 2.16.6 From 62b40d507b1e7eec358192a3d0bffa356a3039a5 Mon Sep 17 00:00:00 2001 From: "Lott, Christopher (cl778h)" Date: Wed, 2 Oct 2019 15:48:56 -0400 Subject: [PATCH 09/16] Add pypi-test key for pypi gerrit merge job Signed-off-by: Lott, Christopher (cl778h) Change-Id: Ic091b1fba281008207880239a86072a398454cb4 --- jjb/ric-plt-lib-rmr/ric-plt-lib-rmr.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/jjb/ric-plt-lib-rmr/ric-plt-lib-rmr.yaml b/jjb/ric-plt-lib-rmr/ric-plt-lib-rmr.yaml index deb9be15..aa7bcdce 100644 --- a/jjb/ric-plt-lib-rmr/ric-plt-lib-rmr.yaml +++ b/jjb/ric-plt-lib-rmr/ric-plt-lib-rmr.yaml @@ -53,16 +53,17 @@ # install prereqs pre-build-script: !include-raw-escape: ../shell/install-rpm-nng-rmr.sh # bindings live in a subdirectory + tox-dir: src/bindings/rmr-python gerrit_trigger_file_paths: - compare-type: REG_EXP pattern: 'src/bindings/rmr-python/.*' - tox-dir: src/bindings/rmr-python stream: - master: branch: master jobs: - gerrit-pypi-verify - - gerrit-pypi-merge + - gerrit-pypi-merge: + pypi-repo: pypi-test # Temporary workaround to avoid overriding # gerrit_trigger_file_paths on release jobs -- 2.16.6 From 06cafdb6ab494cbb368031203d8aa3fb09aec00d Mon Sep 17 00:00:00 2001 From: Aric Gardner Date: Thu, 10 Oct 2019 16:00:45 -0400 Subject: [PATCH 10/16] Add RTD global vars. Can be merged now, not needed until rtdv2 patches are merged and brought in via global jjb Signed-off-by: Aric Gardner Change-Id: If49fc5b4440ad065e0735cf20164ca3750c457f1 --- jenkins-config/global-vars-production.sh | 1 + jenkins-config/global-vars-sandbox.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/jenkins-config/global-vars-production.sh b/jenkins-config/global-vars-production.sh index 1bf4fe9c..ab840d26 100644 --- a/jenkins-config/global-vars-production.sh +++ b/jenkins-config/global-vars-production.sh @@ -8,3 +8,4 @@ REGISTRY_PORTS=10001 10002 10003 10004 SIGUL_BRDIGE_IP=10.32.4.8 SIGUL_KEY=oran-release-2019 SILO=production +MASTER_RTD_PROJECT=doc diff --git a/jenkins-config/global-vars-sandbox.sh b/jenkins-config/global-vars-sandbox.sh index 919d0406..1f3aeaf8 100644 --- a/jenkins-config/global-vars-sandbox.sh +++ b/jenkins-config/global-vars-sandbox.sh @@ -8,3 +8,4 @@ REGISTRY_PORTS=10001 10002 10003 10004 SIGUL_BRDIGE_IP=10.32.4.8 SIGUL_KEY=oran-sandbox SILO=sandbox +MASTER_RTD_PROJECT=doc-test -- 2.16.6 From 004a06a1d8dc4e355528caddcbe676d5c78fe22c Mon Sep 17 00:00:00 2001 From: Bin Yang Date: Fri, 11 Oct 2019 06:40:49 +0000 Subject: [PATCH 11/16] Add info verify jjb to pti-rtp project Issue-ID: INF-6 Signed-off-by: Bin Yang Change-Id: I638cfe6704a71b15fa5b93c46cde60f37673c967 --- jjb/pti-rtp/pti-rtp.yaml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 jjb/pti-rtp/pti-rtp.yaml diff --git a/jjb/pti-rtp/pti-rtp.yaml b/jjb/pti-rtp/pti-rtp.yaml new file mode 100644 index 00000000..fed0685c --- /dev/null +++ b/jjb/pti-rtp/pti-rtp.yaml @@ -0,0 +1,15 @@ +--- +- project: + name: pti-rtp-project-view + project-name: pti-rtp + views: + - project-view + +- project: + name: pti-rtp-info + project: pti/rtp + project-name: pti-rtp + build-node: centos7-builder-1c-1g + jobs: + - gerrit-info-yaml-verify + -- 2.16.6 From 8cbc9c27fc4bf0a481b5fd0377f881b93709e720 Mon Sep 17 00:00:00 2001 From: "Lott, Christopher (cl778h)" Date: Fri, 11 Oct 2019 11:32:27 -0400 Subject: [PATCH 12/16] Upgrade global-jjb to v0.45.0-1-g80fd454 This picks up minor repairs to PyPI templates. Signed-off-by: Lott, Christopher (cl778h) Change-Id: I4ce39571400996020fb8e625dc4c6ad2927c2c8e --- global-jjb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/global-jjb b/global-jjb index 6d0b6613..80fd4546 160000 --- a/global-jjb +++ b/global-jjb @@ -1 +1 @@ -Subproject commit 6d0b661360e45fe139ff9689c3ff23f657bad599 +Subproject commit 80fd45462e84ff59083de3038daea1a18915e28e -- 2.16.6 From 98facce6978d9999ca03ae5d322f6dfd47f3ebed Mon Sep 17 00:00:00 2001 From: Aric Gardner Date: Fri, 11 Oct 2019 16:02:43 -0400 Subject: [PATCH 13/16] SP error in Bridge IP Signed-off-by: Aric Gardner Change-Id: I8cfa5583da469582239fd6e1eae5bbd6fe0f4853 --- jenkins-config/global-vars-production.sh | 2 +- jenkins-config/global-vars-sandbox.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/jenkins-config/global-vars-production.sh b/jenkins-config/global-vars-production.sh index 1bf4fe9c..f8d9d860 100644 --- a/jenkins-config/global-vars-production.sh +++ b/jenkins-config/global-vars-production.sh @@ -5,6 +5,6 @@ JENKINS_HOSTNAME=vex-sjc-oran-jenkins-prod-1 LOGS_SERVER=https://logs.o-ran-sc.org NEXUS_URL=https://nexus.o-ran-sc.org REGISTRY_PORTS=10001 10002 10003 10004 -SIGUL_BRDIGE_IP=10.32.4.8 +SIGUL_BRIDGE_IP=10.32.4.8 SIGUL_KEY=oran-release-2019 SILO=production diff --git a/jenkins-config/global-vars-sandbox.sh b/jenkins-config/global-vars-sandbox.sh index 919d0406..418482ad 100644 --- a/jenkins-config/global-vars-sandbox.sh +++ b/jenkins-config/global-vars-sandbox.sh @@ -5,6 +5,6 @@ JENKINS_HOSTNAME=vex-sjc-oran-jenkins-sandbox-1 LOGS_SERVER=https://logs.o-ran-sc.org NEXUS_URL=https://nexus.o-ran-sc.org REGISTRY_PORTS=10001 10002 10003 10004 -SIGUL_BRDIGE_IP=10.32.4.8 +SIGUL_BRIDGE_IP=10.32.4.8 SIGUL_KEY=oran-sandbox SILO=sandbox -- 2.16.6 From 63216fb2e1137ec2f97f0302499e3e0c3d7a8af9 Mon Sep 17 00:00:00 2001 From: Aric Gardner Date: Tue, 15 Oct 2019 13:43:41 -0400 Subject: [PATCH 14/16] Update global-jjb to v0.45.0-3-g0f5407d This brings in read the docs v2 jobs and will allow oran to start building their documentation Signed-off-by: Aric Gardner Change-Id: I031aed1442acbb0d290cd9153cb7d761bd870fd4 --- global-jjb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/global-jjb b/global-jjb index 80fd4546..0f5407d5 160000 --- a/global-jjb +++ b/global-jjb @@ -1 +1 @@ -Subproject commit 80fd45462e84ff59083de3038daea1a18915e28e +Subproject commit 0f5407d52cb7483a04426c49defca6553ac01aaf -- 2.16.6 From 6d1913cfdbc909207af36d0feae26c50ff14b425 Mon Sep 17 00:00:00 2001 From: Aric Gardner Date: Tue, 15 Oct 2019 13:47:10 -0400 Subject: [PATCH 15/16] Add global read the docs jobs jobs trigger on any changes to files in the docs/* directory Signed-off-by: Aric Gardner Change-Id: Iaef19baa2339e0c403ed82a587866f85bc49bf76 --- jjb/read-the-docs/rtd.yaml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 jjb/read-the-docs/rtd.yaml diff --git a/jjb/read-the-docs/rtd.yaml b/jjb/read-the-docs/rtd.yaml new file mode 100644 index 00000000..4661da78 --- /dev/null +++ b/jjb/read-the-docs/rtd.yaml @@ -0,0 +1,23 @@ +--- +# Global read the docs jobs +# +# jobs trigger for all projects on any changes +# to files in the docs/* directory + +- project: + name: rtdv2-verify-global + build-node: centos7-builder-1c-1g + jobs: + - 'rtdv2-verify-global' + stream: + - master: + branch: 'master' + +- project: + name: rtdv2-merge-global + build-node: centos7-builder-1c-1g + jobs: + - 'rtdv2-merge-global' + stream: + - master: + branch: 'master' -- 2.16.6 From 11ab27b79f89d371f0c018c5e11bf3ab42301f96 Mon Sep 17 00:00:00 2001 From: Chris Lott Date: Tue, 15 Oct 2019 20:15:13 +0000 Subject: [PATCH 16/16] Revert "Add global read the docs jobs" This reverts commit 6d1913cfdbc909207af36d0feae26c50ff14b425. Reason for revert: global RTDv2 jobs fail which blocks work. Need to figure out Python projects - the regexps match any change to any conf.py file which is too broad; and Python projects already have tox.ini files for their own needs. Change-Id: I48a9514515c41287b59e751448037112fd2bfb3c Signed-off-by: Lott, Christopher (cl778h) --- jjb/read-the-docs/rtd.yaml | 23 ----------------------- 1 file changed, 23 deletions(-) delete mode 100644 jjb/read-the-docs/rtd.yaml diff --git a/jjb/read-the-docs/rtd.yaml b/jjb/read-the-docs/rtd.yaml deleted file mode 100644 index 4661da78..00000000 --- a/jjb/read-the-docs/rtd.yaml +++ /dev/null @@ -1,23 +0,0 @@ ---- -# Global read the docs jobs -# -# jobs trigger for all projects on any changes -# to files in the docs/* directory - -- project: - name: rtdv2-verify-global - build-node: centos7-builder-1c-1g - jobs: - - 'rtdv2-verify-global' - stream: - - master: - branch: 'master' - -- project: - name: rtdv2-merge-global - build-node: centos7-builder-1c-1g - jobs: - - 'rtdv2-merge-global' - stream: - - master: - branch: 'master' -- 2.16.6