Merge "Add jenkins job for sim-a1-interface"
authorJessica Wagantall <jwagantall@linuxfoundation.org>
Fri, 20 Mar 2020 18:32:34 +0000 (18:32 +0000)
committerGerrit Code Review <gerrit@o-ran-sc.org>
Fri, 20 Mar 2020 18:32:34 +0000 (18:32 +0000)
docker/bldr-alpine3-go/Dockerfile
docker/bldr-alpine3-go/container-tag.yaml
docker/bldr-alpine3/Dockerfile
docker/bldr-alpine3/container-tag.yaml
jenkins-config/clouds/openstack/cattle/ubuntu1804-builder-2c-2g.cfg
jenkins-config/clouds/openstack/cattle/ubuntu1804-builder-4c-4g.cfg
jjb/aal-logic/aal-logic.yaml
jjb/it-dev/it-dev.yaml
jjb/ric-plt-a1/ric-plt-a1.yaml
jjb/ric-plt-e2mgr/prescan-e2mgr-ubuntu.sh [new file with mode: 0644]
jjb/ric-plt-e2mgr/ric-plt-e2mgr.yaml

index 15cf91d..e258fcf 100644 (file)
 # 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 "<<<installing rmr devel headers>>>" \
index 9fe6f98..38ec73b 100644 (file)
@@ -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.
 # 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 "<<<installing rmr devel headers>>>" \
+    && cmake .. -DDEV_PKG=1; make install \
+    && echo "<<< installing rmr .so>>>" \
+    && cmake .. -DPACK_EXTERNALS=1; make install
index d6ac6d8..75ee09a 100644 (file)
@@ -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
index 38b299b..1cf4672 100644 (file)
@@ -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
index 17d13d8..1c6f38a 100644 (file)
@@ -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
index 8c2aab9..37bf956 100644 (file)
@@ -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
index 11e99d5..1f3bd09 100644 (file)
     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
           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
       - '{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}
       - 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/.*'
index dc2de48..d4f5ade 100644 (file)
@@ -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
     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 (file)
index 0000000..3a67d1d
--- /dev/null
@@ -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"
index 55ace21..bf7e817 100644 (file)
     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