From: Jessica Wagantall Date: Fri, 20 Mar 2020 18:32:34 +0000 (+0000) Subject: Merge "Add jenkins job for sim-a1-interface" X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=commitdiff_plain;h=758557aa324b424a6cfd4f0a202f58f8515ea2f4;hp=228db909d5561b1b5409f86958af5542e45503cb;p=ci-management.git Merge "Add jenkins job for sim-a1-interface" --- diff --git a/docker/bldr-alpine3-go/Dockerfile b/docker/bldr-alpine3-go/Dockerfile index 15cf91d0..e258fcf7 100644 --- a/docker/bldr-alpine3-go/Dockerfile +++ b/docker/bldr-alpine3-go/Dockerfile @@ -18,13 +18,13 @@ # Has: # golang 1.13.8 # alpine 3.11 -# rmr 1.13.1 +# rmr 3.6.1 # Installing this version of rmr also pulls in nng # install a well known working rmr FROM golang:1.13.8-alpine3.11 RUN apk update && apk add autoconf automake build-base cmake libtool ninja pkgconfig git sudo -RUN git clone --branch 1.13.1 https://gerrit.oran-osc.org/r/ric-plt/lib/rmr \ +RUN git clone --branch 3.6.1 https://gerrit.oran-osc.org/r/ric-plt/lib/rmr \ && cd rmr \ && mkdir .build; cd .build \ && echo "<<>>" \ diff --git a/docker/bldr-alpine3-go/container-tag.yaml b/docker/bldr-alpine3-go/container-tag.yaml index 4f62d1ee..3e43bdd2 100644 --- a/docker/bldr-alpine3-go/container-tag.yaml +++ b/docker/bldr-alpine3-go/container-tag.yaml @@ -1,2 +1,2 @@ --- -tag: 2-rmr1.13.1 +tag: 3-rmr-si95-nng-3.6.1 diff --git a/docker/bldr-alpine3/Dockerfile b/docker/bldr-alpine3/Dockerfile index 9fe6f98c..38ec73b9 100644 --- a/docker/bldr-alpine3/Dockerfile +++ b/docker/bldr-alpine3/Dockerfile @@ -1,6 +1,6 @@ # O-RAN-SC # -# Copyright (C) 2019 AT&T Intellectual Property and Nokia +# Copyright (C) 2019-2020 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. @@ -14,21 +14,22 @@ # See the License for the specific language governing permissions and # limitations under the License. -# Builder image Alpine 3.9 +# This is an all-things-to-all-ORAN-people build image with: +# alpine v 3.11 # gcc/g++ v 8 -# golang v 1.12 +# golang v 1.13.4 # python 3.7 -# nng library (libnng.so, libnng.so.X.X.X; see below for pinned version) -# Includes RIC libraries as a distribution path because -# PackageCloud does not support Alpine .apk (yet): +# nng library (rmr.h, libnng.so, libnng.so.X.X.X; version pinned by RMR) # mdc log library (libmdclog.so, libmdbclog.so.X.X.X; see below for pinned version) # rmr library (librmr_nng.so, libmdclog.so..X.X.X; see below for pinned version) -# How to get a library file from this Docker base image: -# COPY --from=nexus3.o-ran-sc.org:10004/bldr-alpine3:1-a3.9 /usr/local/lib64/libnng.so.X.X.X /usr/local/lib -# COPY --from=nexus3.o-ran-sc.org:10004/bldr-alpine3:1-a3.9 /usr/local/lib64/librmr_nng.so.X.X.X /usr/local/lib -# COPY --from=nexus3.o-ran-sc.org:10004/bldr-alpine3:1-a3.9 /usr/local/lib/libmdclog.so.X.X.X /usr/local/lib +# # Some packages install to /usr/local/lib, others to /usr/local/lib64 # Alpine by default searches /usr/local/lib but not /usr/local/lib64 +# +# How to get library files from this Docker base image: +# COPY --from=nexus3.o-ran-sc.org:10004/bldr-alpine3:TAG /usr/local/lib64/libnng.so.X.X.X /usr/local/lib +# COPY --from=nexus3.o-ran-sc.org:10004/bldr-alpine3:TAG /usr/local/lib64/librmr_nng.so.X.X.X /usr/local/lib +# COPY --from=nexus3.o-ran-sc.org:10004/bldr-alpine3:TAG /usr/local/lib/libmdclog.so.X.X.X /usr/local/lib FROM python:3.7-alpine RUN apk update && apk add \ @@ -51,19 +52,6 @@ RUN cd /tmp \ && cp /tmp/autoconf-archive/m4/* /usr/share/aclocal \ && rm -rf /tmp/autoconf-archive -# 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 https://github.com/nanomsg/nng.git \ - && cd nng \ - && git checkout e618abf8f3db2a94269a79c8901a51148d48fcc2 \ - && mkdir build \ - && cd build \ - && cmake -DBUILD_SHARED_LIBS=1 -G Ninja .. \ - && ninja \ - && ninja install - # MCDLOG, version is pinned RUN cd /tmp \ && git clone --branch v0.0.4 https://gerrit.o-ran-sc.org/r/com/log \ @@ -73,11 +61,13 @@ RUN cd /tmp \ && make \ && make install -# RMR, version is pinned -RUN cd /tmp \ - && git clone --branch 1.3.0 https://gerrit.o-ran-sc.org/r/ric-plt/lib/rmr \ +# install a well known working rmr including development header files, +# which uses a submodule to install NNG at a known commit +RUN apk update && apk add autoconf automake build-base cmake libtool ninja pkgconfig git sudo +RUN git clone --branch 3.6.1 https://gerrit.oran-osc.org/r/ric-plt/lib/rmr \ && cd rmr \ - && mkdir build \ - && cd build \ - && cmake .. \ - && make install + && mkdir .build; cd .build \ + && echo "<<>>" \ + && cmake .. -DDEV_PKG=1; make install \ + && echo "<<< installing rmr .so>>>" \ + && cmake .. -DPACK_EXTERNALS=1; make install diff --git a/docker/bldr-alpine3/container-tag.yaml b/docker/bldr-alpine3/container-tag.yaml index d6ac6d8e..75ee09a0 100644 --- a/docker/bldr-alpine3/container-tag.yaml +++ b/docker/bldr-alpine3/container-tag.yaml @@ -1,4 +1,3 @@ # Not feasible to show all the software versions -# here so just use a counter plus the base image --- -tag: 6-a3.9-nng +tag: 7-a3.11-nng-rmr3 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 38b299b9..1cf46725 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 - 20200317-165726.675 LABELS=ubuntu1804-builder-2c-2g HARDWARE_ID=v2-highcpu-2 -VOLUME_SIZE=10 +VOLUME_SIZE=20 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 17d13d88..1c6f38aa 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 - 20200317-165726.675 LABELS=ubuntu1804-builder-4c-4g HARDWARE_ID=v2-highcpu-4 -VOLUME_SIZE=10 +VOLUME_SIZE=20 diff --git a/jjb/aal-logic/aal-logic.yaml b/jjb/aal-logic/aal-logic.yaml index 8c2aab9a..37bf9568 100644 --- a/jjb/aal-logic/aal-logic.yaml +++ b/jjb/aal-logic/aal-logic.yaml @@ -1,4 +1,10 @@ --- +- project: + name: aal-logic-project-view + project-name: aal-logic + views: + - project-view + - project: name: aal-logic-info project: aal/logic diff --git a/jjb/it-dev/it-dev.yaml b/jjb/it-dev/it-dev.yaml index 11e99d52..1f3bd094 100644 --- a/jjb/it-dev/it-dev.yaml +++ b/jjb/it-dev/it-dev.yaml @@ -13,23 +13,26 @@ jobs: - gerrit-info-yaml-verify -- it_dev_common: &it_dev_common - # values apply to all it/dev projects - name: it-dev-common +- it_dev_xo_common: &it_dev_xo_common + name: it-dev-xo-common # git repo project: it/dev # jenkins job name prefix - project-name: it-dev + project-name: it-dev-xapp-onboarder # maven settings file has docker credentials mvn-settings: it-dev-settings +- it_dev_xo_py_common: &it_dev_xo_py_common + name: it-dev-xo-py-common + python-version: python3.6 + tox-dir: xapp_onboarder + tox-envs: py36-lf + - project: - <<: *it_dev_common + <<: *it_dev_xo_common name: it-dev-xapp-onboarder-docker - # jenkins job name prefix - project-name: '{name}' # image name - docker-name: 'o-ran-sc/{name}' + docker-name: 'o-ran-sc/xapp-onboarder' # source of docker tag container-tag-method: yaml-file # dockerfile is in subdir @@ -46,8 +49,10 @@ branch: master - project: - <<: *it_dev_common - name: ric-dev-xapp-onboarder-release + <<: *it_dev_xo_common + name: it-dev-xapp-onboarder-release + # one release job for all items in repo + project-name: it-dev # maven release requires sigul which requires centos # container release requires docker build-node: centos7-docker-2c-8g @@ -55,11 +60,9 @@ - '{project-name}-gerrit-release-jobs' - project: - <<: *it_dev_common - name: it-dev-xapp-onboarder-py - project-name: '{name}' - python-version: python3.6 - tox-dir: xapp_onboarder + <<: *it_dev_xo_common + <<: *it_dev_xo_py_common + name: it-dev-xapp-onboarder-sonarqube sonar-project-file: "" sonar-properties: | sonar.login={sonarcloud_api_token} @@ -74,11 +77,9 @@ - gerrit-tox-sonarqube - project: - <<: *it_dev_common + <<: *it_dev_xo_common + <<: *it_dev_xo_py_common name: it-dev-xapp-onboarder-pypi - project-name: it-dev-xapp-onboarder - tox-dir: xapp_onboarder - python-version: python3.6 gerrit_trigger_file_paths: - compare-type: REG_EXP pattern: 'xapp_onboarder/.*' diff --git a/jjb/ric-plt-a1/ric-plt-a1.yaml b/jjb/ric-plt-a1/ric-plt-a1.yaml index dc2de48d..d4f5ade1 100644 --- a/jjb/ric-plt-a1/ric-plt-a1.yaml +++ b/jjb/ric-plt-a1/ric-plt-a1.yaml @@ -27,7 +27,7 @@ <<: *a1_common name: ric-plt-a1-docker # image name - docker-name: 'o-ran-sc/{name}' + docker-name: 'o-ran-sc/ric-plt-a1' # source of docker tag container-tag-method: yaml-file # use host network @@ -55,6 +55,14 @@ jobs: - gerrit-tox-verify +- project: + <<: *a1_common + name: ric-plt-a1-nexusiq-clm + build-node: centos7-builder-1c-1g + nexus-iq-namespace: oran- + jobs: + - gerrit-python-xc-clm + - project: <<: *a1_common name: ric-plt-a1-sonarqube diff --git a/jjb/ric-plt-e2mgr/prescan-e2mgr-ubuntu.sh b/jjb/ric-plt-e2mgr/prescan-e2mgr-ubuntu.sh new file mode 100644 index 00000000..3a67d1d9 --- /dev/null +++ b/jjb/ric-plt-e2mgr/prescan-e2mgr-ubuntu.sh @@ -0,0 +1,44 @@ +#!/bin/sh +############################################################################## +# +# Copyright (c) 2020 AT&T Intellectual Property. +# +# 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 then runs a build script in the repository +# Assumes ubuntu - uses apt-get + +echo "--> prescan-e2mgr-ubuntu.sh" + +set -ex + +sudo apt-get update && sudo apt-get install -y cmake ninja-build + +# NNG repo is not frequently tagged so it's pinned to a commit hash. +# This commit repairs bug https://github.com/nanomsg/nng/issues/970 +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) + +# build script must start in this subdir +cd E2Manager +bash ./build-e2mgr-ubuntu.sh + +echo "--> prescan-e2mgr-ubuntu.sh ends" diff --git a/jjb/ric-plt-e2mgr/ric-plt-e2mgr.yaml b/jjb/ric-plt-e2mgr/ric-plt-e2mgr.yaml index 55ace218..bf7e817e 100644 --- a/jjb/ric-plt-e2mgr/ric-plt-e2mgr.yaml +++ b/jjb/ric-plt-e2mgr/ric-plt-e2mgr.yaml @@ -49,3 +49,34 @@ build-node: centos7-docker-2c-8g jobs: - '{project-name}-gerrit-release-jobs' + +- project: + name: ric-plt-e2mgr-sonar + project: ric-plt/e2mgr + project-name: ric-plt-e2mgr + # prescan script requires ubuntu + # golang is only on docker-enabled nodes + build-node: ubuntu1804-docker-4c-4g + sonar-prescan-script: !include-raw-escape: prescan-e2mgr-ubuntu.sh + sonar-project-file: "" + # use sonarcloud values from defaults.yaml + sonar-properties: | + # Required metadata + sonar.login={sonarcloud_api_token} + sonar.projectKey={sonarcloud_project_organization}_{project-name} + sonar.projectName={project-name} + sonar.organization={sonarcloud_project_organization} + # Encoding + sonar.build.sourceEncoding=UTF-8 + # Language + sonar.language=go + # Source + sonar.sources=E2Manager + # Unit tests + sonar.go.coverage.reportPaths=coverage.xml + # Inclusions + sonar.inclusions=**/**.go + # Exclusions + sonar.exclusions=**/mocks/**.go,**/tests/**.go + jobs: + - gerrit-sonar-prescan-script