diff options
104 files changed, 2369 insertions, 341 deletions
diff --git a/docker/LICENSE b/docker/LICENSE new file mode 100644 index 00000000..20f96ba8 --- /dev/null +++ b/docker/LICENSE @@ -0,0 +1,235 @@ +----------- +MIT License + +Copyright (c) 2019 snergfdio + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +----------- + +The above MIT license applies to all files and their contents at the time +they were copied from + https://github.com/snergfdio/csit-shim + https://github.com/snergfdio/csit-sut + +All subsequent changes to the files and/or contents shall be subject to +the Apache license below: + +----------- + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + 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. +----------- diff --git a/docker/README b/docker/README new file mode 100644 index 00000000..2cbe9cd3 --- /dev/null +++ b/docker/README @@ -0,0 +1,18 @@ +This directory contains the docker image definitions for executor images +which run CI jobs on the FD.io Nomad cluster. + +The files in the following repositories were originally created by Ed Kern +for the Nomad container proof of concept build infrastructure for FD.io +projects. The original source files and commit history can be found in the +respective repositories at + + https://github.com/snergfdio/csit-shim + https://github.com/snergfdio/csit-sut + https://github.com/snergfdio/vpp-arm-centos8 + https://github.com/snergfdio/vpp-arm-ubuntu16 + https://github.com/snergfdio/vpp-arm-ubuntu18 + https://github.com/snergfdio/vpp-centos8 + https://github.com/snergfdio/vpp-centos + https://github.com/snergfdio/vpp-ubuntu16 + https://github.com/snergfdio/vpp-ubuntu18 + https://github.com/snergfdio/vpp-ubuntu20 diff --git a/docker/csit/csit-shim/Dockerfile b/docker/csit/csit-shim/Dockerfile new file mode 100644 index 00000000..288c49b1 --- /dev/null +++ b/docker/csit/csit-shim/Dockerfile @@ -0,0 +1,50 @@ +FROM ubuntu:18.04 +MAINTAINER Ed Kern <ejk@cisco.com> +LABEL Description="CSIT shim container" +LABEL Vendor="cisco.com" +LABEL Version="1.2" + +# Setup the environment +ENV DEBIAN_FRONTEND=noninteractive +ENV NOTVISIBLE "in users profile" +RUN echo "export VISIBLE=now" >> /etc/profile + +ADD files/wrapdocker /usr/local/bin/wrapdocker +RUN chmod +x /usr/local/bin/wrapdocker + +# Install packages and Docker +RUN apt-get -q update \ + && apt-get install -y -qq \ + bash \ + curl \ + iproute2 \ + locales \ + ssh \ + sudo \ + tzdata \ + uuid-runtime \ + && curl -fsSL https://get.docker.com | sh \ + && rm -rf /var/lib/apt/lists/* + +# Configure locales +RUN locale-gen en_US + +RUN mkdir /var/run/sshd +RUN echo 'root:Csit1234' | chpasswd +RUN sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config + +# SSH login fix. Otherwise user is kicked off after login +RUN sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd + +# Need volume for sidecar docker launches +VOLUME /var/lib/docker + +# SSH to listen on port 6022 in shim +RUN echo 'Port 6022' >>/etc/ssh/sshd_config +RUN echo 'Port 6023' >>/etc/ssh/sshd_config +ADD files/badkeypub /root/.ssh/authorized_keys +ADD files/sshconfig /root/.ssh/config + +# Start sshd by default +EXPOSE 22 +CMD ["/usr/sbin/sshd", "-D"] diff --git a/docker/csit/csit-shim/files/badkeypub b/docker/csit/csit-shim/files/badkeypub new file mode 100644 index 00000000..57426845 --- /dev/null +++ b/docker/csit/csit-shim/files/badkeypub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyUNd/iRk5Ajw4ZBB0gXyjzecEzQHh/MctgvHGJjasqJDkwYyZBrunUorOZ3n82W8VGdd5+eNINCWOM/ERjuaHjnutfade+ocPgZRdk+kEgTvetDVNWIgBd0PMVcnp57jJfx7CZVqTNgGeVQ8OJ2RbJGeOb/EKApQI74IPkAfc0PSieSw5gC0eqEOHb39Awgp0ycrzsUHF/OEicfCmo+6vvrMGenDe7frKUoTKYMWs7l3DOyFC8NaOxhGD3J1Ne5u3A/r4w6mN1HVI0rFwIcoms+t0B4lb2ODWKZiZikQdn8/eqwsmbSEZZsWN3FkshgjPS83+dNqVwB6pPY5Yqte7 ejk@bhima.local diff --git a/docker/csit/csit-shim/files/sshconfig b/docker/csit/csit-shim/files/sshconfig new file mode 100644 index 00000000..85ad6f74 --- /dev/null +++ b/docker/csit/csit-shim/files/sshconfig @@ -0,0 +1,3 @@ +Host 172.17.0.* + StrictHostKeyChecking no + UserKnownHostsFile=/dev/null diff --git a/docker/csit/csit-shim/files/wrapdocker b/docker/csit/csit-shim/files/wrapdocker new file mode 100644 index 00000000..2ca579fd --- /dev/null +++ b/docker/csit/csit-shim/files/wrapdocker @@ -0,0 +1,113 @@ +#!/bin/bash + +# Ensure that all nodes in /dev/mapper correspond to mapped devices currently loaded by the device-mapper kernel driver +dmsetup mknodes + +# First, make sure that cgroups are mounted correctly. +CGROUP=/sys/fs/cgroup +: {LOG:=stdio} + +[ -d $CGROUP ] || + mkdir $CGROUP + +mountpoint -q $CGROUP || + mount -n -t tmpfs -o uid=0,gid=0,mode=0755 cgroup $CGROUP || { + echo "Could not make a tmpfs mount. Did you use --privileged?" + exit 1 + } + +if [ -d /sys/kernel/security ] && ! mountpoint -q /sys/kernel/security +then + mount -t securityfs none /sys/kernel/security || { + echo "Could not mount /sys/kernel/security." + echo "AppArmor detection and --privileged mode might break." + } +fi + +# Mount the cgroup hierarchies exactly as they are in the parent system. +for SUBSYS in $(cut -d: -f2 /proc/1/cgroup) +do + [ -d $CGROUP/$SUBSYS ] || mkdir $CGROUP/$SUBSYS + mountpoint -q $CGROUP/$SUBSYS || + mount -n -t cgroup -o $SUBSYS cgroup $CGROUP/$SUBSYS + + # The two following sections address a bug which manifests itself + # by a cryptic "lxc-start: no ns_cgroup option specified" when + # trying to start containers withina container. + # The bug seems to appear when the cgroup hierarchies are not + # mounted on the exact same directories in the host, and in the + # container. + + # Named, control-less cgroups are mounted with "-o name=foo" + # (and appear as such under /proc/<pid>/cgroup) but are usually + # mounted on a directory named "foo" (without the "name=" prefix). + # Systemd and OpenRC (and possibly others) both create such a + # cgroup. To avoid the aforementioned bug, we symlink "foo" to + # "name=foo". This shouldn't have any adverse effect. + echo $SUBSYS | grep -q ^name= && { + NAME=$(echo $SUBSYS | sed s/^name=//) + ln -s $SUBSYS $CGROUP/$NAME + } + + # Likewise, on at least one system, it has been reported that + # systemd would mount the CPU and CPU accounting controllers + # (respectively "cpu" and "cpuacct") with "-o cpuacct,cpu" + # but on a directory called "cpu,cpuacct" (note the inversion + # in the order of the groups). This tries to work around it. + [ $SUBSYS = cpuacct,cpu ] && ln -s $SUBSYS $CGROUP/cpu,cpuacct +done + +# Note: as I write those lines, the LXC userland tools cannot setup +# a "sub-container" properly if the "devices" cgroup is not in its +# own hierarchy. Let's detect this and issue a warning. +grep -q :devices: /proc/1/cgroup || + echo "WARNING: the 'devices' cgroup should be in its own hierarchy." +grep -qw devices /proc/1/cgroup || + echo "WARNING: it looks like the 'devices' cgroup is not mounted." + +# Now, close extraneous file descriptors. +pushd /proc/self/fd >/dev/null +for FD in * +do + case "$FD" in + # Keep stdin/stdout/stderr + [012]) + ;; + # Nuke everything else + *) + eval exec "$FD>&-" + ;; + esac +done +popd >/dev/null + + +# If a pidfile is still around (for example after a container restart), +# delete it so that docker can start. +rm -rf /var/run/docker.pid + +# If we were given a PORT environment variable, start as a simple daemon; +# otherwise, spawn a shell as well +if [ "$PORT" ] +then + exec dockerd -H 0.0.0.0:$PORT -H unix:///var/run/docker.sock \ + $DOCKER_DAEMON_ARGS +else + if [ "$LOG" == "file" ] + then + dockerd $DOCKER_DAEMON_ARGS &>/var/log/docker.log & + else + dockerd $DOCKER_DAEMON_ARGS & + fi + (( timeout = 60 + SECONDS )) + until docker info >/dev/null 2>&1 + do + if (( SECONDS >= timeout )); then + echo 'Timed out trying to connect to internal docker host.' >&2 + break + fi + sleep 1 + done + [[ $1 ]] && exec "$@" + exec bash --login +fi diff --git a/docker/csit/csit-sut/Dockerfile b/docker/csit/csit-sut/Dockerfile new file mode 100644 index 00000000..ba212dc9 --- /dev/null +++ b/docker/csit/csit-sut/Dockerfile @@ -0,0 +1,173 @@ +# Copyright (c) 2019 Cisco and/or its affiliates. +# 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. + +FROM ubuntu:18.04 +MAINTAINER csit-dev <csit-dev@lists.fd.io> +LABEL Description="CSIT vpp-device ubuntu 18.04 SUT image" +LABEL Version="0.7" + +# Setup the environment +ENV DEBIAN_FRONTEND=noninteractive +ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' +ENV NOTVISIBLE "in users profile" +ENV VPP_PYTHON_PREFIX=/var/cache/vpp/python + +# Install packages and Docker +RUN apt-get -q update \ + && apt-get install -y -qq \ + # general tools + apt-transport-https \ + bridge-utils \ + cloud-init \ + curl \ + gdb \ + locales \ + net-tools \ + openssh-server \ + pciutils \ + rsyslog \ + software-properties-common \ + ssh \ + sudo \ + supervisor \ + tar \ + vim \ + wget \ + # csit requirements + cmake \ + dkms \ + gfortran \ + libblas-dev \ + libffi-dev \ + liblapack-dev \ + libpcap-dev \ + libssl-dev \ + python-all \ + python-apt \ + python-cffi \ + python-cffi-backend \ + python-dev \ + python-enum34 \ + python-pip \ + python-setuptools \ + python-virtualenv \ + python3-all \ + python3-apt \ + python3-cffi \ + python3-cffi-backend \ + python3-dev \ + python3-pip \ + python3-setuptools \ + python3-virtualenv \ + qemu-system \ + socat \ + strongswan \ + unzip \ + tcpdump \ + zlib1g-dev \ + # vpp requirements + ca-certificates \ + libapr1 \ + libmbedcrypto1 \ + libmbedtls10 \ + libmbedx509-0 \ + libnuma1 \ + sshpass \ + && curl -L https://packagecloud.io/fdio/master/gpgkey | sudo apt-key add - \ + && curl -s https://packagecloud.io/install/repositories/fdio/master/script.deb.sh | sudo bash \ + # temp hack due to build.sh + && apt-get install -y -qq vpp-ext-deps \ + && curl -fsSL https://get.docker.com | sh \ + && rm -rf /var/lib/apt/lists/* + +# Configure locales +RUN locale-gen en_US.UTF-8 \ + && dpkg-reconfigure locales + +# Fix permissions +RUN chown root:syslog /var/log \ + && chmod 755 /etc/default + +# Create directory structure +RUN mkdir -p /tmp/dumps \ + && mkdir -p /var/cache/vpp/python \ + && mkdir -p /var/run/sshd + +# CSIT PIP pre-cache +RUN pip3 install \ + ecdsa==0.13.3 \ + paramiko==2.6.0 \ + pycrypto==2.6.1 \ + pypcap==1.2.3 \ + PyYAML==5.1.1 \ + requests==2.22.0 \ + robotframework==3.1.2 \ + scapy==2.4.3 \ + scp==0.13.2 \ + ansible==2.7.8 \ + dill==0.2.8.2 \ + numpy==1.17.3 \ + hdrhistogram==0.6.1 \ + pandas==0.25.3 \ + plotly==4.1.1 \ + PTable==0.9.2 \ + Sphinx==2.2.1 \ + sphinx-rtd-theme==0.4.0 \ + sphinxcontrib-programoutput==0.15 \ + sphinxcontrib-robotdoc==0.11.0 \ + alabaster==0.7.12 \ + Babel==2.7.0 \ + bcrypt==3.1.7 \ + certifi==2019.9.11 \ + cffi==1.13.2 \ + chardet==3.0.4 \ + cryptography==2.8 \ + docutils==0.15.2 \ + future==0.18.2 \ + idna==2.8 \ + imagesize==1.1.0 \ + Jinja2==2.10.3 \ + MarkupSafe==1.1.1 \ + packaging==19.2 \ + pbr==5.4.3 \ + pycparser==2.19 \ + Pygments==2.4.2 \ + PyNaCl==1.3.0 \ + pyparsing==2.4.4 \ + python-dateutil==2.8.1 \ + pytz==2019.3 \ + retrying==1.3.3 \ + six==1.13.0 \ + snowballstemmer==2.0.0 \ + sphinxcontrib-applehelp==1.0.1 \ + sphinxcontrib-devhelp==1.0.1 \ + sphinxcontrib-htmlhelp==1.0.2 \ + sphinxcontrib-jsmath==1.0.1 \ + sphinxcontrib-qthelp==1.0.2 \ + sphinxcontrib-serializinghtml==1.1.3 \ + urllib3==1.25.6 + +# ARM workaround +RUN pip3 install scipy==1.1.0 + +# SSH settings +RUN echo 'root:Csit1234' | chpasswd \ + && sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config \ + && sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd \ + && echo "export VISIBLE=now" >> /etc/profile + +EXPOSE 2222 + +COPY supervisord.conf /etc/supervisor/supervisord.conf + +CMD ["sh", "-c", "rm -f /dev/shm/db /dev/shm/global_vm /dev/shm/vpe-api; /usr/bin/supervisord -c /etc/supervisor/supervisord.conf; /usr/sbin/sshd -D -p 2222"] diff --git a/docker/csit/csit-sut/supervisord.conf b/docker/csit/csit-sut/supervisord.conf new file mode 100644 index 00000000..4a6fe965 --- /dev/null +++ b/docker/csit/csit-sut/supervisord.conf @@ -0,0 +1,24 @@ +[unix_http_server] +file = /tmp/supervisor.sock +chmod = 0777 + +[rpcinterface:supervisor] +supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface + +[supervisorctl] +serverurl = unix:///tmp/supervisor.sock + +[supervisord] +pidfile = /tmp/supervisord.pid +identifier = supervisor +directory = /tmp +logfile = /tmp/supervisord.log +loglevel = debug +nodaemon = false + +[program:vpp] +command = /usr/bin/vpp -c /etc/vpp/startup.conf +autostart = false +autorestart = true +redirect_stderr = true +priority = 1 diff --git a/docker/vpp/README b/docker/vpp/README deleted file mode 100644 index 2975df13..00000000 --- a/docker/vpp/README +++ /dev/null @@ -1,18 +0,0 @@ -This directory contains the docker image definitions for the -VPP build images which are run on the Nomad cluster in the -FD.io lab. - -The following Dockerfiles were originally created by Ed Kern -for the Nomad container proof of concept build infrastructure -for the VPP project. The original source files and commit -history can be found in the respective repositories at -https://github.com/snergfdio: - -vpp-arm-centos8/Dockerfile -vpp-arm-ubuntu16/Dockerfile -vpp-arm-ubuntu18/Dockerfile -vpp-centos8/Dockerfile -vpp-centos/Dockerfile -vpp-ubuntu16/Dockerfile -vpp-ubuntu18/Dockerfile -vpp-ubuntu20/Dockerfile diff --git a/docker/vpp/vpp-arm-centos8/files/badkey b/docker/vpp/vpp-arm-centos8/files/badkey new file mode 100644 index 00000000..2270aff0 --- /dev/null +++ b/docker/vpp/vpp-arm-centos8/files/badkey @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAslDXf4kZOQI8OGQQdIF8o83nBM0B4fzHLYLxxiY2rKiQ5MGM +mQa7p1KKzmd5/NlvFRnXefnjSDQljjPxEY7mh457rX2nXvqHD4GUXZPpBIE73rQ1 +TViIAXdDzFXJ6ee4yX8ewmVakzYBnlUPDidkWyRnjm/xCgKUCO+CD5AH3ND0onks +OYAtHqhDh29/QMIKdMnK87FBxfzhInHwpqPur76zBnpw3u36ylKEymDFrO5dwzsh +QvDWjsYRg9ydTXubtwP6+MOpjdR1SNKxcCHKJrPrdAeJW9jg1imYmYpEHZ/P3qsL +Jm0hGWbFjdxZLIYIz0vN/nTalcAeqT2OWKrXuwIDAQABAoIBAQCcj1g2FOR9ZlYD +WPANqucJVy4/y9OcXHlwnyiyRjj47WOSRdGxRfUa2uEeikHT3ACo8TB8WwfQDGDw +8u/075e+az5xvAJo5OQSnD3sz4Hmv6UWSvkFuPZo+xMe5C/M2/QljiQuoBifaeqP +3rTCQ5ncYCFAMU7b8BmTot551Ybhu2jCbDMHU7nFHEFOvYinkwfVcaqkrVDUuH+D +c3NkAEH9Jz2MEYA2Va4uqFpGt5lfGiED2kMenwPa8eS5LS5HJsxkfMHGlaHXHFUb +D+dG/qJtSslVxdzVPgEGvzswo6TgtY1nZTQcB8U63rktFg38B7QGtOkvswAYzxyk +HdMIiU3RAoGBAOdIEQRcAThj9eiIFywtBgLBOSg4SoOnvELLr6lgUg2+ICmx06LQ +yaai1QRdOWw1VwZ6apNCD00kaUhBu+ou93yLSDnR2uYftkylhcnVuhDyIeNyb81V +hV2z0WuNv3aKBFlBxaq391S7WW1XxhpAAagm8fZZur73wV390EVd/hZJAoGBAMVf +negT2bg5PVKWvsiEU6eZ00W97tlEDLclkiZawXNnM2/c+2x1Tks6Yf1E/j2FFTB4 +r0fesbwN346hCejtq5Bup5YEdFA3KtwT5UyeQQLFGYlCtRmBtOd10wkRS93D0tpX +iIqkf43Gpx6iFdvBWY5A7N+ZmojCy9zpL5TJ4G3jAoGADOGEoRuGrd9TWMoLkFhJ +l2mvhz/rVn3HDGlPtT06FK3cGLZgtRavxGoZNw8CHbayzBeRS/ZH5+H5Qx72GkrX +WcZgFWhMqrhlbMtjMiSHIl556LL86xCyRs+3ACh6211AdMAnBCUOz1dH2cEjtV6P +ORBCNZg1wGEIEfYK3XIorpECgYBubXfQj8KhUs0fdx3Y3Ehdni/ZdlG7F1qx4YBq +mx5e7d+Wd6Hn5Z3fcxO9+yrvypS3YN5YrJzuZSiuCSWdP9RcY7y5r1ZQRv1g0nTZ +MDWZUiNea4cddTd8xKxFB3tV4SkIZi8LustuzDVWa0Mlh4EOmP6uf6c5WxtqRsEL +UwORFwKBgEjZsfmZGBurjOtSrcsteulOB0D2nOqPVRWXmbSNJT/l73DkEllvVyA/ +wdW39nyFrA2Qw1K2F+l8DkzMd/WEjmioSWCsvTkXlvrqPfByKg01zCbYy/mhRW7d +7sQrPOIl8ygsc3JrxmvzibdWmng1MehvpAM1ogWeTUa1lsDTNJ/6 +-----END RSA PRIVATE KEY----- diff --git a/docker/vpp/vpp-arm-centos8/files/fdio-master.repo b/docker/vpp/vpp-arm-centos8/files/fdio-master.repo new file mode 100644 index 00000000..b3b279fe --- /dev/null +++ b/docker/vpp/vpp-arm-centos8/files/fdio-master.repo @@ -0,0 +1,5 @@ +[fdio-master] +name=fd.io master branch latest merge +baseurl=https://nexus.fd.io/content/repositories/fd.io.master.centos7 +enabled=1 +gpgcheck=0 diff --git a/docker/vpp/vpp-arm-centos8/files/jenkins b/docker/vpp/vpp-arm-centos8/files/jenkins new file mode 100644 index 00000000..92f8a343 --- /dev/null +++ b/docker/vpp/vpp-arm-centos8/files/jenkins @@ -0,0 +1 @@ +jenkins ALL=(root) NOPASSWD:ALL diff --git a/docker/vpp/vpp-arm-centos8/files/lf-update-java-alternatives b/docker/vpp/vpp-arm-centos8/files/lf-update-java-alternatives new file mode 100644 index 00000000..8484a711 --- /dev/null +++ b/docker/vpp/vpp-arm-centos8/files/lf-update-java-alternatives @@ -0,0 +1,57 @@ +#!/bin/bash +# SPDX-License-Identifier: EPL-1.0 +############################################################################## +# Copyright (c) 2018 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 +############################################################################## + +# This script takes the java-version variable to set the proper alternative +# for java, javac and java_sdk_openjdk for ubuntu or centos/fedora/redhat distros + +JAVA_ENV_FILE="/tmp/java.env" + +update-java-redhat() { + if [[ "${SET_JDK_VERSION//[a-zA-Z]/}" = "11" ]]; then + export JAVA_HOME="/usr/lib/jvm/java-11-openjdk" + else + export JAVA_HOME="/usr/lib/jvm/java-1.${SET_JDK_VERSION//[a-zA-Z:-]/}.0-openjdk" + fi + sudo /usr/sbin/alternatives --install /usr/bin/java java "${JAVA_HOME}/bin/java" 1 + sudo /usr/sbin/alternatives --install /usr/bin/javac javac "${JAVA_HOME}/bin/javac" 1 + sudo /usr/sbin/alternatives --install /usr/lib/jvm/java-openjdk java_sdk_openjdk "${JAVA_HOME}" 1 + sudo /usr/sbin/alternatives --set java "${JAVA_HOME}/bin/java" + sudo /usr/sbin/alternatives --set javac "${JAVA_HOME}/bin/javac" + sudo /usr/sbin/alternatives --set java_sdk_openjdk "${JAVA_HOME}" + echo JAVA_HOME="$JAVA_HOME" > "$JAVA_ENV_FILE" +} + +update-java-ubuntu() { + export JAVA_HOME="/usr/lib/jvm/java-${SET_JDK_VERSION//[a-zA-Z:-]/}-openjdk-amd64" + sudo /usr/bin/update-alternatives --install /usr/bin/java java "${JAVA_HOME}/bin/java" 1 + sudo /usr/bin/update-alternatives --install /usr/bin/javac javac "${JAVA_HOME}/bin/javac" 1 + sudo /usr/bin/update-alternatives --install /usr/lib/jvm/java-openjdk java_sdk_openjdk "${JAVA_HOME}" 1 + sudo /usr/bin/update-alternatives --set java "${JAVA_HOME}/bin/java" + sudo /usr/bin/update-alternatives --set javac "${JAVA_HOME}/bin/javac" + sudo /usr/bin/update-alternatives --set java_sdk_openjdk "${JAVA_HOME}" + echo JAVA_HOME="$JAVA_HOME" > "$JAVA_ENV_FILE" +} + +echo "---> Updating Java version" +OS=$(facter operatingsystem | tr '[:upper:]' '[:lower:]') + +case "${OS}" in + fedora|centos|redhat) + echo "---> RedHat type system detected" + update-java-redhat + ;; + ubuntu) + echo "---> Ubuntu system detected" + update-java-ubuntu + ;; +esac +java -version +echo JAVA_HOME="${JAVA_HOME}" diff --git a/docker/vpp/vpp-arm-centos8/files/sshconfig b/docker/vpp/vpp-arm-centos8/files/sshconfig new file mode 100644 index 00000000..8dd13540 --- /dev/null +++ b/docker/vpp/vpp-arm-centos8/files/sshconfig @@ -0,0 +1,3 @@ +Host * + StrictHostKeyChecking no + UserKnownHostsFile=/dev/null diff --git a/docker/vpp/vpp-arm-centos8/files/supervisord.conf b/docker/vpp/vpp-arm-centos8/files/supervisord.conf new file mode 100644 index 00000000..7e72d666 --- /dev/null +++ b/docker/vpp/vpp-arm-centos8/files/supervisord.conf @@ -0,0 +1,23 @@ +[unix_http_server] +file = /run/supervisor.sock + +[rpcinterface:supervisor] +supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface + +[supervisorctl] +serverurl = unix:///run/supervisor.sock + +[supervisord] +pidfile = /run/supervisord.pid +identifier = supervisor +directory = /run +logfile=/var/log/supervisord.log +loglevel=debug +nodaemon=false + +[program:vpp] +command=/usr/bin/vpp -c /etc/vpp/startup.conf +autostart=false +autorestart=true +redirect_stderr=true +priority=1 diff --git a/docker/vpp/vpp-arm-ubuntu18/files/badkey b/docker/vpp/vpp-arm-ubuntu18/files/badkey new file mode 100644 index 00000000..2270aff0 --- /dev/null +++ b/docker/vpp/vpp-arm-ubuntu18/files/badkey @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAslDXf4kZOQI8OGQQdIF8o83nBM0B4fzHLYLxxiY2rKiQ5MGM +mQa7p1KKzmd5/NlvFRnXefnjSDQljjPxEY7mh457rX2nXvqHD4GUXZPpBIE73rQ1 +TViIAXdDzFXJ6ee4yX8ewmVakzYBnlUPDidkWyRnjm/xCgKUCO+CD5AH3ND0onks +OYAtHqhDh29/QMIKdMnK87FBxfzhInHwpqPur76zBnpw3u36ylKEymDFrO5dwzsh +QvDWjsYRg9ydTXubtwP6+MOpjdR1SNKxcCHKJrPrdAeJW9jg1imYmYpEHZ/P3qsL +Jm0hGWbFjdxZLIYIz0vN/nTalcAeqT2OWKrXuwIDAQABAoIBAQCcj1g2FOR9ZlYD +WPANqucJVy4/y9OcXHlwnyiyRjj47WOSRdGxRfUa2uEeikHT3ACo8TB8WwfQDGDw +8u/075e+az5xvAJo5OQSnD3sz4Hmv6UWSvkFuPZo+xMe5C/M2/QljiQuoBifaeqP +3rTCQ5ncYCFAMU7b8BmTot551Ybhu2jCbDMHU7nFHEFOvYinkwfVcaqkrVDUuH+D +c3NkAEH9Jz2MEYA2Va4uqFpGt5lfGiED2kMenwPa8eS5LS5HJsxkfMHGlaHXHFUb +D+dG/qJtSslVxdzVPgEGvzswo6TgtY1nZTQcB8U63rktFg38B7QGtOkvswAYzxyk +HdMIiU3RAoGBAOdIEQRcAThj9eiIFywtBgLBOSg4SoOnvELLr6lgUg2+ICmx06LQ +yaai1QRdOWw1VwZ6apNCD00kaUhBu+ou93yLSDnR2uYftkylhcnVuhDyIeNyb81V +hV2z0WuNv3aKBFlBxaq391S7WW1XxhpAAagm8fZZur73wV390EVd/hZJAoGBAMVf +negT2bg5PVKWvsiEU6eZ00W97tlEDLclkiZawXNnM2/c+2x1Tks6Yf1E/j2FFTB4 +r0fesbwN346hCejtq5Bup5YEdFA3KtwT5UyeQQLFGYlCtRmBtOd10wkRS93D0tpX +iIqkf43Gpx6iFdvBWY5A7N+ZmojCy9zpL5TJ4G3jAoGADOGEoRuGrd9TWMoLkFhJ +l2mvhz/rVn3HDGlPtT06FK3cGLZgtRavxGoZNw8CHbayzBeRS/ZH5+H5Qx72GkrX +WcZgFWhMqrhlbMtjMiSHIl556LL86xCyRs+3ACh6211AdMAnBCUOz1dH2cEjtV6P +ORBCNZg1wGEIEfYK3XIorpECgYBubXfQj8KhUs0fdx3Y3Ehdni/ZdlG7F1qx4YBq +mx5e7d+Wd6Hn5Z3fcxO9+yrvypS3YN5YrJzuZSiuCSWdP9RcY7y5r1ZQRv1g0nTZ +MDWZUiNea4cddTd8xKxFB3tV4SkIZi8LustuzDVWa0Mlh4EOmP6uf6c5WxtqRsEL +UwORFwKBgEjZsfmZGBurjOtSrcsteulOB0D2nOqPVRWXmbSNJT/l73DkEllvVyA/ +wdW39nyFrA2Qw1K2F+l8DkzMd/WEjmioSWCsvTkXlvrqPfByKg01zCbYy/mhRW7d +7sQrPOIl8ygsc3JrxmvzibdWmng1MehvpAM1ogWeTUa1lsDTNJ/6 +-----END RSA PRIVATE KEY----- diff --git a/docker/vpp/vpp-arm-ubuntu18/files/packagecloud b/docker/vpp/vpp-arm-ubuntu18/files/packagecloud new file mode 100644 index 00000000..98322206 --- /dev/null +++ b/docker/vpp/vpp-arm-ubuntu18/files/packagecloud @@ -0,0 +1 @@ +{"url":"https://packagecloud.io","token":"$token"} diff --git a/docker/vpp/vpp-arm-ubuntu18/files/packagecloud_api b/docker/vpp/vpp-arm-ubuntu18/files/packagecloud_api new file mode 100644 index 00000000..9f537489 --- /dev/null +++ b/docker/vpp/vpp-arm-ubuntu18/files/packagecloud_api @@ -0,0 +1,3 @@ +machine packagecloud.io +login $pclogin +password diff --git a/docker/vpp/vpp-arm-ubuntu18/files/pc_push b/docker/vpp/vpp-arm-ubuntu18/files/pc_push new file mode 100644 index 00000000..3fdc8d37 --- /dev/null +++ b/docker/vpp/vpp-arm-ubuntu18/files/pc_push @@ -0,0 +1,39 @@ +#!/bin/bash +# REPO is an Environment variable + +set -x + +echo "STARTING PACKAGECLOUD PUSH" + +sleep 10 + +if [ -f /usr/bin/zypper ]; then + FACTER_OS="openSUSE" +else + FACTER_OS=$(/usr/bin/facter operatingsystem) +fi + +if [ -f ~/.packagecloud ]; then + case "$FACTER_OS" in + Ubuntu) + FACTER_LSBNAME=$(/usr/bin/facter lsbdistcodename) + DEBS=$(find . -type f -iname '*.deb') + package_cloud push "${REPO}/${STREAM}/ubuntu/${FACTER_LSBNAME}/main/" ${DEBS} + ;; + CentOS) + FACTER_OSMAJREL=$(/usr/bin/facter operatingsystemmajrelease) + FACTER_ARCH=$(/usr/bin/facter architecture) + RPMS=$(find . -type f -iregex '.*/.*\.\(s\)?rpm') + package_cloud push "${REPO}/${STREAM}/el/${FACTER_OSMAJREL}/os/${FACTER_ARCH}/" ${RPMS} + ;; + openSUSE) + # Use /etc/os-release on openSUSE to get $VERSION + . /etc/os-release + RPMS=$(find . -type f -iregex '.*/.*\.\(s\)?rpm' | grep -v 'vpp-ext-deps') + VPP_EXT_RPMS=$(find . -type f -iregex '.*/.*\.\(s\)?rpm' | grep 'vpp-ext-deps') + package_cloud push "${REPO}/${STREAM}/opensuse/${VERSION}/" ${RPMS} + # This file may have already been uploaded. Don't error out if it exists. + package_cloud push "${REPO}/${STREAM}/opensuse/${VERSION}/" ${VPP_EXT_RPMS} --skip-errors + ;; + esac +fi diff --git a/docker/vpp/vpp-arm-ubuntu18/files/sshconfig b/docker/vpp/vpp-arm-ubuntu18/files/sshconfig new file mode 100644 index 00000000..8dd13540 --- /dev/null +++ b/docker/vpp/vpp-arm-ubuntu18/files/sshconfig @@ -0,0 +1,3 @@ +Host * + StrictHostKeyChecking no + UserKnownHostsFile=/dev/null diff --git a/docker/vpp/vpp-centos/files/badkey b/docker/vpp/vpp-centos/files/badkey new file mode 100644 index 00000000..2270aff0 --- /dev/null +++ b/docker/vpp/vpp-centos/files/badkey @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAslDXf4kZOQI8OGQQdIF8o83nBM0B4fzHLYLxxiY2rKiQ5MGM +mQa7p1KKzmd5/NlvFRnXefnjSDQljjPxEY7mh457rX2nXvqHD4GUXZPpBIE73rQ1 +TViIAXdDzFXJ6ee4yX8ewmVakzYBnlUPDidkWyRnjm/xCgKUCO+CD5AH3ND0onks +OYAtHqhDh29/QMIKdMnK87FBxfzhInHwpqPur76zBnpw3u36ylKEymDFrO5dwzsh +QvDWjsYRg9ydTXubtwP6+MOpjdR1SNKxcCHKJrPrdAeJW9jg1imYmYpEHZ/P3qsL +Jm0hGWbFjdxZLIYIz0vN/nTalcAeqT2OWKrXuwIDAQABAoIBAQCcj1g2FOR9ZlYD +WPANqucJVy4/y9OcXHlwnyiyRjj47WOSRdGxRfUa2uEeikHT3ACo8TB8WwfQDGDw +8u/075e+az5xvAJo5OQSnD3sz4Hmv6UWSvkFuPZo+xMe5C/M2/QljiQuoBifaeqP +3rTCQ5ncYCFAMU7b8BmTot551Ybhu2jCbDMHU7nFHEFOvYinkwfVcaqkrVDUuH+D +c3NkAEH9Jz2MEYA2Va4uqFpGt5lfGiED2kMenwPa8eS5LS5HJsxkfMHGlaHXHFUb +D+dG/qJtSslVxdzVPgEGvzswo6TgtY1nZTQcB8U63rktFg38B7QGtOkvswAYzxyk +HdMIiU3RAoGBAOdIEQRcAThj9eiIFywtBgLBOSg4SoOnvELLr6lgUg2+ICmx06LQ +yaai1QRdOWw1VwZ6apNCD00kaUhBu+ou93yLSDnR2uYftkylhcnVuhDyIeNyb81V +hV2z0WuNv3aKBFlBxaq391S7WW1XxhpAAagm8fZZur73wV390EVd/hZJAoGBAMVf +negT2bg5PVKWvsiEU6eZ00W97tlEDLclkiZawXNnM2/c+2x1Tks6Yf1E/j2FFTB4 +r0fesbwN346hCejtq5Bup5YEdFA3KtwT5UyeQQLFGYlCtRmBtOd10wkRS93D0tpX +iIqkf43Gpx6iFdvBWY5A7N+ZmojCy9zpL5TJ4G3jAoGADOGEoRuGrd9TWMoLkFhJ +l2mvhz/rVn3HDGlPtT06FK3cGLZgtRavxGoZNw8CHbayzBeRS/ZH5+H5Qx72GkrX +WcZgFWhMqrhlbMtjMiSHIl556LL86xCyRs+3ACh6211AdMAnBCUOz1dH2cEjtV6P +ORBCNZg1wGEIEfYK3XIorpECgYBubXfQj8KhUs0fdx3Y3Ehdni/ZdlG7F1qx4YBq +mx5e7d+Wd6Hn5Z3fcxO9+yrvypS3YN5YrJzuZSiuCSWdP9RcY7y5r1ZQRv1g0nTZ +MDWZUiNea4cddTd8xKxFB3tV4SkIZi8LustuzDVWa0Mlh4EOmP6uf6c5WxtqRsEL +UwORFwKBgEjZsfmZGBurjOtSrcsteulOB0D2nOqPVRWXmbSNJT/l73DkEllvVyA/ +wdW39nyFrA2Qw1K2F+l8DkzMd/WEjmioSWCsvTkXlvrqPfByKg01zCbYy/mhRW7d +7sQrPOIl8ygsc3JrxmvzibdWmng1MehvpAM1ogWeTUa1lsDTNJ/6 +-----END RSA PRIVATE KEY----- diff --git a/docker/vpp/vpp-centos/files/fdio-master.repo b/docker/vpp/vpp-centos/files/fdio-master.repo new file mode 100644 index 00000000..b3b279fe --- /dev/null +++ b/docker/vpp/vpp-centos/files/fdio-master.repo @@ -0,0 +1,5 @@ +[fdio-master] +name=fd.io master branch latest merge +baseurl=https://nexus.fd.io/content/repositories/fd.io.master.centos7 +enabled=1 +gpgcheck=0 diff --git a/docker/vpp/vpp-centos/files/jenkins b/docker/vpp/vpp-centos/files/jenkins new file mode 100644 index 00000000..92f8a343 --- /dev/null +++ b/docker/vpp/vpp-centos/files/jenkins @@ -0,0 +1 @@ +jenkins ALL=(root) NOPASSWD:ALL diff --git a/docker/vpp/vpp-centos/files/lf-update-java-alternatives b/docker/vpp/vpp-centos/files/lf-update-java-alternatives new file mode 100644 index 00000000..8484a711 --- /dev/null +++ b/docker/vpp/vpp-centos/files/lf-update-java-alternatives @@ -0,0 +1,57 @@ +#!/bin/bash +# SPDX-License-Identifier: EPL-1.0 +############################################################################## +# Copyright (c) 2018 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 +############################################################################## + +# This script takes the java-version variable to set the proper alternative +# for java, javac and java_sdk_openjdk for ubuntu or centos/fedora/redhat distros + +JAVA_ENV_FILE="/tmp/java.env" + +update-java-redhat() { + if [[ "${SET_JDK_VERSION//[a-zA-Z]/}" = "11" ]]; then + export JAVA_HOME="/usr/lib/jvm/java-11-openjdk" + else + export JAVA_HOME="/usr/lib/jvm/java-1.${SET_JDK_VERSION//[a-zA-Z:-]/}.0-openjdk" + fi + sudo /usr/sbin/alternatives --install /usr/bin/java java "${JAVA_HOME}/bin/java" 1 + sudo /usr/sbin/alternatives --install /usr/bin/javac javac "${JAVA_HOME}/bin/javac" 1 + sudo /usr/sbin/alternatives --install /usr/lib/jvm/java-openjdk java_sdk_openjdk "${JAVA_HOME}" 1 + sudo /usr/sbin/alternatives --set java "${JAVA_HOME}/bin/java" + sudo /usr/sbin/alternatives --set javac "${JAVA_HOME}/bin/javac" + sudo /usr/sbin/alternatives --set java_sdk_openjdk "${JAVA_HOME}" + echo JAVA_HOME="$JAVA_HOME" > "$JAVA_ENV_FILE" +} + +update-java-ubuntu() { + export JAVA_HOME="/usr/lib/jvm/java-${SET_JDK_VERSION//[a-zA-Z:-]/}-openjdk-amd64" + sudo /usr/bin/update-alternatives --install /usr/bin/java java "${JAVA_HOME}/bin/java" 1 + sudo /usr/bin/update-alternatives --install /usr/bin/javac javac "${JAVA_HOME}/bin/javac" 1 + sudo /usr/bin/update-alternatives --install /usr/lib/jvm/java-openjdk java_sdk_openjdk "${JAVA_HOME}" 1 + sudo /usr/bin/update-alternatives --set java "${JAVA_HOME}/bin/java" + sudo /usr/bin/update-alternatives --set javac "${JAVA_HOME}/bin/javac" + sudo /usr/bin/update-alternatives --set java_sdk_openjdk "${JAVA_HOME}" + echo JAVA_HOME="$JAVA_HOME" > "$JAVA_ENV_FILE" +} + +echo "---> Updating Java version" +OS=$(facter operatingsystem | tr '[:upper:]' '[:lower:]') + +case "${OS}" in + fedora|centos|redhat) + echo "---> RedHat type system detected" + update-java-redhat + ;; + ubuntu) + echo "---> Ubuntu system detected" + update-java-ubuntu + ;; +esac +java -version +echo JAVA_HOME="${JAVA_HOME}" diff --git a/docker/vpp/vpp-centos/files/sshconfig b/docker/vpp/vpp-centos/files/sshconfig new file mode 100644 index 00000000..8dd13540 --- /dev/null +++ b/docker/vpp/vpp-centos/files/sshconfig @@ -0,0 +1,3 @@ +Host * + StrictHostKeyChecking no + UserKnownHostsFile=/dev/null diff --git a/docker/vpp/vpp-centos/files/supervisord.conf b/docker/vpp/vpp-centos/files/supervisord.conf new file mode 100644 index 00000000..7e72d666 --- /dev/null +++ b/docker/vpp/vpp-centos/files/supervisord.conf @@ -0,0 +1,23 @@ +[unix_http_server] +file = /run/supervisor.sock + +[rpcinterface:supervisor] +supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface + +[supervisorctl] +serverurl = unix:///run/supervisor.sock + +[supervisord] +pidfile = /run/supervisord.pid +identifier = supervisor +directory = /run +logfile=/var/log/supervisord.log +loglevel=debug +nodaemon=false + +[program:vpp] +command=/usr/bin/vpp -c /etc/vpp/startup.conf +autostart=false +autorestart=true +redirect_stderr=true +priority=1 diff --git a/docker/vpp/vpp-centos8/files/CentOS-AppStream.repo b/docker/vpp/vpp-centos8/files/CentOS-AppStream.repo new file mode 100644 index 00000000..16828095 --- /dev/null +++ b/docker/vpp/vpp-centos8/files/CentOS-AppStream.repo @@ -0,0 +1,19 @@ +# CentOS-AppStream.repo +# +# The mirror system uses the connecting IP address of the client and the +# update status of each mirror to pick mirrors that are updated to and +# geographically close to the client. You should use this for CentOS updates +# unless you are manually picking other mirrors. +# +# If the mirrorlist= does not work for you, as a fall back you can try the +# remarked out baseurl= line instead. +# +# + +[AppStream] +name=CentOS-$releasever - AppStream +mirrorlist=http://mirrorlist.centos.org/?release=8&arch=$basearch&repo=AppStream&infra=$infra +#baseurl=http://mirror.centos.org/$contentdir/$releasever/AppStream/$basearch/os/ +gpgcheck=1 +enabled=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial diff --git a/docker/vpp/vpp-centos8/files/CentOS-Base.repo b/docker/vpp/vpp-centos8/files/CentOS-Base.repo new file mode 100644 index 00000000..81df950b --- /dev/null +++ b/docker/vpp/vpp-centos8/files/CentOS-Base.repo @@ -0,0 +1,19 @@ +# CentOS-Base.repo +# +# The mirror system uses the connecting IP address of the client and the +# update status of each mirror to pick mirrors that are updated to and +# geographically close to the client. You should use this for CentOS updates +# unless you are manually picking other mirrors. +# +# If the mirrorlist= does not work for you, as a fall back you can try the +# remarked out baseurl= line instead. +# +# + +[BaseOS] +name=CentOS-$releasever - Base +mirrorlist=http://mirrorlist.centos.org/?release=8&arch=$basearch&repo=BaseOS&infra=$infra +#baseurl=http://mirror.centos.org/$contentdir/$releasever/BaseOS/$basearch/os/ +gpgcheck=1 +enabled=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial diff --git a/docker/vpp/vpp-centos8/files/badkey b/docker/vpp/vpp-centos8/files/badkey new file mode 100644 index 00000000..2270aff0 --- /dev/null +++ b/docker/vpp/vpp-centos8/files/badkey @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAslDXf4kZOQI8OGQQdIF8o83nBM0B4fzHLYLxxiY2rKiQ5MGM +mQa7p1KKzmd5/NlvFRnXefnjSDQljjPxEY7mh457rX2nXvqHD4GUXZPpBIE73rQ1 +TViIAXdDzFXJ6ee4yX8ewmVakzYBnlUPDidkWyRnjm/xCgKUCO+CD5AH3ND0onks +OYAtHqhDh29/QMIKdMnK87FBxfzhInHwpqPur76zBnpw3u36ylKEymDFrO5dwzsh +QvDWjsYRg9ydTXubtwP6+MOpjdR1SNKxcCHKJrPrdAeJW9jg1imYmYpEHZ/P3qsL +Jm0hGWbFjdxZLIYIz0vN/nTalcAeqT2OWKrXuwIDAQABAoIBAQCcj1g2FOR9ZlYD +WPANqucJVy4/y9OcXHlwnyiyRjj47WOSRdGxRfUa2uEeikHT3ACo8TB8WwfQDGDw +8u/075e+az5xvAJo5OQSnD3sz4Hmv6UWSvkFuPZo+xMe5C/M2/QljiQuoBifaeqP +3rTCQ5ncYCFAMU7b8BmTot551Ybhu2jCbDMHU7nFHEFOvYinkwfVcaqkrVDUuH+D +c3NkAEH9Jz2MEYA2Va4uqFpGt5lfGiED2kMenwPa8eS5LS5HJsxkfMHGlaHXHFUb +D+dG/qJtSslVxdzVPgEGvzswo6TgtY1nZTQcB8U63rktFg38B7QGtOkvswAYzxyk +HdMIiU3RAoGBAOdIEQRcAThj9eiIFywtBgLBOSg4SoOnvELLr6lgUg2+ICmx06LQ +yaai1QRdOWw1VwZ6apNCD00kaUhBu+ou93yLSDnR2uYftkylhcnVuhDyIeNyb81V +hV2z0WuNv3aKBFlBxaq391S7WW1XxhpAAagm8fZZur73wV390EVd/hZJAoGBAMVf +negT2bg5PVKWvsiEU6eZ00W97tlEDLclkiZawXNnM2/c+2x1Tks6Yf1E/j2FFTB4 +r0fesbwN346hCejtq5Bup5YEdFA3KtwT5UyeQQLFGYlCtRmBtOd10wkRS93D0tpX +iIqkf43Gpx6iFdvBWY5A7N+ZmojCy9zpL5TJ4G3jAoGADOGEoRuGrd9TWMoLkFhJ +l2mvhz/rVn3HDGlPtT06FK3cGLZgtRavxGoZNw8CHbayzBeRS/ZH5+H5Qx72GkrX +WcZgFWhMqrhlbMtjMiSHIl556LL86xCyRs+3ACh6211AdMAnBCUOz1dH2cEjtV6P +ORBCNZg1wGEIEfYK3XIorpECgYBubXfQj8KhUs0fdx3Y3Ehdni/ZdlG7F1qx4YBq +mx5e7d+Wd6Hn5Z3fcxO9+yrvypS3YN5YrJzuZSiuCSWdP9RcY7y5r1ZQRv1g0nTZ +MDWZUiNea4cddTd8xKxFB3tV4SkIZi8LustuzDVWa0Mlh4EOmP6uf6c5WxtqRsEL +UwORFwKBgEjZsfmZGBurjOtSrcsteulOB0D2nOqPVRWXmbSNJT/l73DkEllvVyA/ +wdW39nyFrA2Qw1K2F+l8DkzMd/WEjmioSWCsvTkXlvrqPfByKg01zCbYy/mhRW7d +7sQrPOIl8ygsc3JrxmvzibdWmng1MehvpAM1ogWeTUa1lsDTNJ/6 +-----END RSA PRIVATE KEY----- diff --git a/docker/vpp/vpp-centos8/files/epel.repo b/docker/vpp/vpp-centos8/files/epel.repo new file mode 100644 index 00000000..9083b454 --- /dev/null +++ b/docker/vpp/vpp-centos8/files/epel.repo @@ -0,0 +1,25 @@ +[epel] +name=Extra Packages for Enterprise Linux $releasever - $basearch +#baseurl=https://download.fedoraproject.org/pub/epel/$releasever/Everything/$basearch +metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-8&arch=$basearch&infra=$infra&content=$contentdir +enabled=1 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8 + +[epel-debuginfo] +name=Extra Packages for Enterprise Linux $releasever - $basearch - Debug +#baseurl=https://download.fedoraproject.org/pub/epel/$releasever/Everything/$basearch/debug +metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-8&arch=$basearch&infra=$infra&cont +ent=$contentdir +enabled=0 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8 +gpgcheck=1 + +[epel-source] +name=Extra Packages for Enterprise Linux $releasever - $basearch - Source +#baseurl=https://download.fedoraproject.org/pub/epel/$releasever/Everything/SRPMS +metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-source-8&arch=$basearch&infra=$infra&con +tent=$contentdir +enabled=0 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8 +gpgcheck=1
\ No newline at end of file diff --git a/docker/vpp/vpp-centos8/files/fdio-master.repo b/docker/vpp/vpp-centos8/files/fdio-master.repo new file mode 100644 index 00000000..b3b279fe --- /dev/null +++ b/docker/vpp/vpp-centos8/files/fdio-master.repo @@ -0,0 +1,5 @@ +[fdio-master] +name=fd.io master branch latest merge +baseurl=https://nexus.fd.io/content/repositories/fd.io.master.centos7 +enabled=1 +gpgcheck=0 diff --git a/docker/vpp/vpp-centos8/files/jenkins b/docker/vpp/vpp-centos8/files/jenkins new file mode 100644 index 00000000..92f8a343 --- /dev/null +++ b/docker/vpp/vpp-centos8/files/jenkins @@ -0,0 +1 @@ +jenkins ALL=(root) NOPASSWD:ALL diff --git a/docker/vpp/vpp-centos8/files/lf-update-java-alternatives b/docker/vpp/vpp-centos8/files/lf-update-java-alternatives new file mode 100644 index 00000000..8484a711 --- /dev/null +++ b/docker/vpp/vpp-centos8/files/lf-update-java-alternatives @@ -0,0 +1,57 @@ +#!/bin/bash +# SPDX-License-Identifier: EPL-1.0 +############################################################################## +# Copyright (c) 2018 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 +############################################################################## + +# This script takes the java-version variable to set the proper alternative +# for java, javac and java_sdk_openjdk for ubuntu or centos/fedora/redhat distros + +JAVA_ENV_FILE="/tmp/java.env" + +update-java-redhat() { + if [[ "${SET_JDK_VERSION//[a-zA-Z]/}" = "11" ]]; then + export JAVA_HOME="/usr/lib/jvm/java-11-openjdk" + else + export JAVA_HOME="/usr/lib/jvm/java-1.${SET_JDK_VERSION//[a-zA-Z:-]/}.0-openjdk" + fi + sudo /usr/sbin/alternatives --install /usr/bin/java java "${JAVA_HOME}/bin/java" 1 + sudo /usr/sbin/alternatives --install /usr/bin/javac javac "${JAVA_HOME}/bin/javac" 1 + sudo /usr/sbin/alternatives --install /usr/lib/jvm/java-openjdk java_sdk_openjdk "${JAVA_HOME}" 1 + sudo /usr/sbin/alternatives --set java "${JAVA_HOME}/bin/java" + sudo /usr/sbin/alternatives --set javac "${JAVA_HOME}/bin/javac" + sudo /usr/sbin/alternatives --set java_sdk_openjdk "${JAVA_HOME}" + echo JAVA_HOME="$JAVA_HOME" > "$JAVA_ENV_FILE" +} + +update-java-ubuntu() { + export JAVA_HOME="/usr/lib/jvm/java-${SET_JDK_VERSION//[a-zA-Z:-]/}-openjdk-amd64" + sudo /usr/bin/update-alternatives --install /usr/bin/java java "${JAVA_HOME}/bin/java" 1 + sudo /usr/bin/update-alternatives --install /usr/bin/javac javac "${JAVA_HOME}/bin/javac" 1 + sudo /usr/bin/update-alternatives --install /usr/lib/jvm/java-openjdk java_sdk_openjdk "${JAVA_HOME}" 1 + sudo /usr/bin/update-alternatives --set java "${JAVA_HOME}/bin/java" + sudo /usr/bin/update-alternatives --set javac "${JAVA_HOME}/bin/javac" + sudo /usr/bin/update-alternatives --set java_sdk_openjdk "${JAVA_HOME}" + echo JAVA_HOME="$JAVA_HOME" > "$JAVA_ENV_FILE" +} + +echo "---> Updating Java version" +OS=$(facter operatingsystem | tr '[:upper:]' '[:lower:]') + +case "${OS}" in + fedora|centos|redhat) + echo "---> RedHat type system detected" + update-java-redhat + ;; + ubuntu) + echo "---> Ubuntu system detected" + update-java-ubuntu + ;; +esac +java -version +echo JAVA_HOME="${JAVA_HOME}" diff --git a/docker/vpp/vpp-centos8/files/sshconfig b/docker/vpp/vpp-centos8/files/sshconfig new file mode 100644 index 00000000..8dd13540 --- /dev/null +++ b/docker/vpp/vpp-centos8/files/sshconfig @@ -0,0 +1,3 @@ +Host * + StrictHostKeyChecking no + UserKnownHostsFile=/dev/null diff --git a/docker/vpp/vpp-centos8/files/supervisord.conf b/docker/vpp/vpp-centos8/files/supervisord.conf new file mode 100644 index 00000000..7e72d666 --- /dev/null +++ b/docker/vpp/vpp-centos8/files/supervisord.conf @@ -0,0 +1,23 @@ +[unix_http_server] +file = /run/supervisor.sock + +[rpcinterface:supervisor] +supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface + +[supervisorctl] +serverurl = unix:///run/supervisor.sock + +[supervisord] +pidfile = /run/supervisord.pid +identifier = supervisor +directory = /run +logfile=/var/log/supervisord.log +loglevel=debug +nodaemon=false + +[program:vpp] +command=/usr/bin/vpp -c /etc/vpp/startup.conf +autostart=false +autorestart=true +redirect_stderr=true +priority=1 diff --git a/docker/vpp/vpp-ubuntu16/files/badkey b/docker/vpp/vpp-ubuntu16/files/badkey new file mode 100644 index 00000000..2270aff0 --- /dev/null +++ b/docker/vpp/vpp-ubuntu16/files/badkey @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAslDXf4kZOQI8OGQQdIF8o83nBM0B4fzHLYLxxiY2rKiQ5MGM +mQa7p1KKzmd5/NlvFRnXefnjSDQljjPxEY7mh457rX2nXvqHD4GUXZPpBIE73rQ1 +TViIAXdDzFXJ6ee4yX8ewmVakzYBnlUPDidkWyRnjm/xCgKUCO+CD5AH3ND0onks +OYAtHqhDh29/QMIKdMnK87FBxfzhInHwpqPur76zBnpw3u36ylKEymDFrO5dwzsh +QvDWjsYRg9ydTXubtwP6+MOpjdR1SNKxcCHKJrPrdAeJW9jg1imYmYpEHZ/P3qsL +Jm0hGWbFjdxZLIYIz0vN/nTalcAeqT2OWKrXuwIDAQABAoIBAQCcj1g2FOR9ZlYD +WPANqucJVy4/y9OcXHlwnyiyRjj47WOSRdGxRfUa2uEeikHT3ACo8TB8WwfQDGDw +8u/075e+az5xvAJo5OQSnD3sz4Hmv6UWSvkFuPZo+xMe5C/M2/QljiQuoBifaeqP +3rTCQ5ncYCFAMU7b8BmTot551Ybhu2jCbDMHU7nFHEFOvYinkwfVcaqkrVDUuH+D +c3NkAEH9Jz2MEYA2Va4uqFpGt5lfGiED2kMenwPa8eS5LS5HJsxkfMHGlaHXHFUb +D+dG/qJtSslVxdzVPgEGvzswo6TgtY1nZTQcB8U63rktFg38B7QGtOkvswAYzxyk +HdMIiU3RAoGBAOdIEQRcAThj9eiIFywtBgLBOSg4SoOnvELLr6lgUg2+ICmx06LQ +yaai1QRdOWw1VwZ6apNCD00kaUhBu+ou93yLSDnR2uYftkylhcnVuhDyIeNyb81V +hV2z0WuNv3aKBFlBxaq391S7WW1XxhpAAagm8fZZur73wV390EVd/hZJAoGBAMVf +negT2bg5PVKWvsiEU6eZ00W97tlEDLclkiZawXNnM2/c+2x1Tks6Yf1E/j2FFTB4 +r0fesbwN346hCejtq5Bup5YEdFA3KtwT5UyeQQLFGYlCtRmBtOd10wkRS93D0tpX +iIqkf43Gpx6iFdvBWY5A7N+ZmojCy9zpL5TJ4G3jAoGADOGEoRuGrd9TWMoLkFhJ +l2mvhz/rVn3HDGlPtT06FK3cGLZgtRavxGoZNw8CHbayzBeRS/ZH5+H5Qx72GkrX +WcZgFWhMqrhlbMtjMiSHIl556LL86xCyRs+3ACh6211AdMAnBCUOz1dH2cEjtV6P +ORBCNZg1wGEIEfYK3XIorpECgYBubXfQj8KhUs0fdx3Y3Ehdni/ZdlG7F1qx4YBq +mx5e7d+Wd6Hn5Z3fcxO9+yrvypS3YN5YrJzuZSiuCSWdP9RcY7y5r1ZQRv1g0nTZ +MDWZUiNea4cddTd8xKxFB3tV4SkIZi8LustuzDVWa0Mlh4EOmP6uf6c5WxtqRsEL +UwORFwKBgEjZsfmZGBurjOtSrcsteulOB0D2nOqPVRWXmbSNJT/l73DkEllvVyA/ +wdW39nyFrA2Qw1K2F+l8DkzMd/WEjmioSWCsvTkXlvrqPfByKg01zCbYy/mhRW7d +7sQrPOIl8ygsc3JrxmvzibdWmng1MehvpAM1ogWeTUa1lsDTNJ/6 +-----END RSA PRIVATE KEY----- diff --git a/docker/vpp/vpp-ubuntu16/files/lf-update-java-alternatives b/docker/vpp/vpp-ubuntu16/files/lf-update-java-alternatives new file mode 100644 index 00000000..8484a711 --- /dev/null +++ b/docker/vpp/vpp-ubuntu16/files/lf-update-java-alternatives @@ -0,0 +1,57 @@ +#!/bin/bash +# SPDX-License-Identifier: EPL-1.0 +############################################################################## +# Copyright (c) 2018 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 +############################################################################## + +# This script takes the java-version variable to set the proper alternative +# for java, javac and java_sdk_openjdk for ubuntu or centos/fedora/redhat distros + +JAVA_ENV_FILE="/tmp/java.env" + +update-java-redhat() { + if [[ "${SET_JDK_VERSION//[a-zA-Z]/}" = "11" ]]; then + export JAVA_HOME="/usr/lib/jvm/java-11-openjdk" + else + export JAVA_HOME="/usr/lib/jvm/java-1.${SET_JDK_VERSION//[a-zA-Z:-]/}.0-openjdk" + fi + sudo /usr/sbin/alternatives --install /usr/bin/java java "${JAVA_HOME}/bin/java" 1 + sudo /usr/sbin/alternatives --install /usr/bin/javac javac "${JAVA_HOME}/bin/javac" 1 + sudo /usr/sbin/alternatives --install /usr/lib/jvm/java-openjdk java_sdk_openjdk "${JAVA_HOME}" 1 + sudo /usr/sbin/alternatives --set java "${JAVA_HOME}/bin/java" + sudo /usr/sbin/alternatives --set javac "${JAVA_HOME}/bin/javac" + sudo /usr/sbin/alternatives --set java_sdk_openjdk "${JAVA_HOME}" + echo JAVA_HOME="$JAVA_HOME" > "$JAVA_ENV_FILE" +} + +update-java-ubuntu() { + export JAVA_HOME="/usr/lib/jvm/java-${SET_JDK_VERSION//[a-zA-Z:-]/}-openjdk-amd64" + sudo /usr/bin/update-alternatives --install /usr/bin/java java "${JAVA_HOME}/bin/java" 1 + sudo /usr/bin/update-alternatives --install /usr/bin/javac javac "${JAVA_HOME}/bin/javac" 1 + sudo /usr/bin/update-alternatives --install /usr/lib/jvm/java-openjdk java_sdk_openjdk "${JAVA_HOME}" 1 + sudo /usr/bin/update-alternatives --set java "${JAVA_HOME}/bin/java" + sudo /usr/bin/update-alternatives --set javac "${JAVA_HOME}/bin/javac" + sudo /usr/bin/update-alternatives --set java_sdk_openjdk "${JAVA_HOME}" + echo JAVA_HOME="$JAVA_HOME" > "$JAVA_ENV_FILE" +} + +echo "---> Updating Java version" +OS=$(facter operatingsystem | tr '[:upper:]' '[:lower:]') + +case "${OS}" in + fedora|centos|redhat) + echo "---> RedHat type system detected" + update-java-redhat + ;; + ubuntu) + echo "---> Ubuntu system detected" + update-java-ubuntu + ;; +esac +java -version +echo JAVA_HOME="${JAVA_HOME}" diff --git a/docker/vpp/vpp-ubuntu16/files/packagecloud b/docker/vpp/vpp-ubuntu16/files/packagecloud new file mode 100644 index 00000000..98322206 --- /dev/null +++ b/docker/vpp/vpp-ubuntu16/files/packagecloud @@ -0,0 +1 @@ +{"url":"https://packagecloud.io","token":"$token"} diff --git a/docker/vpp/vpp-ubuntu16/files/packagecloud_api b/docker/vpp/vpp-ubuntu16/files/packagecloud_api new file mode 100644 index 00000000..9f537489 --- /dev/null +++ b/docker/vpp/vpp-ubuntu16/files/packagecloud_api @@ -0,0 +1,3 @@ +machine packagecloud.io +login $pclogin +password diff --git a/docker/vpp/vpp-ubuntu16/files/pc_push b/docker/vpp/vpp-ubuntu16/files/pc_push new file mode 100644 index 00000000..3fdc8d37 --- /dev/null +++ b/docker/vpp/vpp-ubuntu16/files/pc_push @@ -0,0 +1,39 @@ +#!/bin/bash +# REPO is an Environment variable + +set -x + +echo "STARTING PACKAGECLOUD PUSH" + +sleep 10 + +if [ -f /usr/bin/zypper ]; then + FACTER_OS="openSUSE" +else + FACTER_OS=$(/usr/bin/facter operatingsystem) +fi + +if [ -f ~/.packagecloud ]; then + case "$FACTER_OS" in + Ubuntu) + FACTER_LSBNAME=$(/usr/bin/facter lsbdistcodename) + DEBS=$(find . -type f -iname '*.deb') + package_cloud push "${REPO}/${STREAM}/ubuntu/${FACTER_LSBNAME}/main/" ${DEBS} + ;; + CentOS) + FACTER_OSMAJREL=$(/usr/bin/facter operatingsystemmajrelease) + FACTER_ARCH=$(/usr/bin/facter architecture) + RPMS=$(find . -type f -iregex '.*/.*\.\(s\)?rpm') + package_cloud push "${REPO}/${STREAM}/el/${FACTER_OSMAJREL}/os/${FACTER_ARCH}/" ${RPMS} + ;; + openSUSE) + # Use /etc/os-release on openSUSE to get $VERSION + . /etc/os-release + RPMS=$(find . -type f -iregex '.*/.*\.\(s\)?rpm' | grep -v 'vpp-ext-deps') + VPP_EXT_RPMS=$(find . -type f -iregex '.*/.*\.\(s\)?rpm' | grep 'vpp-ext-deps') + package_cloud push "${REPO}/${STREAM}/opensuse/${VERSION}/" ${RPMS} + # This file may have already been uploaded. Don't error out if it exists. + package_cloud push "${REPO}/${STREAM}/opensuse/${VERSION}/" ${VPP_EXT_RPMS} --skip-errors + ;; + esac +fi diff --git a/docker/vpp/vpp-ubuntu16/files/sshconfig b/docker/vpp/vpp-ubuntu16/files/sshconfig new file mode 100644 index 00000000..8dd13540 --- /dev/null +++ b/docker/vpp/vpp-ubuntu16/files/sshconfig @@ -0,0 +1,3 @@ +Host * + StrictHostKeyChecking no + UserKnownHostsFile=/dev/null diff --git a/docker/vpp/vpp-ubuntu18/files/badkey b/docker/vpp/vpp-ubuntu18/files/badkey new file mode 100644 index 00000000..2270aff0 --- /dev/null +++ b/docker/vpp/vpp-ubuntu18/files/badkey @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAslDXf4kZOQI8OGQQdIF8o83nBM0B4fzHLYLxxiY2rKiQ5MGM +mQa7p1KKzmd5/NlvFRnXefnjSDQljjPxEY7mh457rX2nXvqHD4GUXZPpBIE73rQ1 +TViIAXdDzFXJ6ee4yX8ewmVakzYBnlUPDidkWyRnjm/xCgKUCO+CD5AH3ND0onks +OYAtHqhDh29/QMIKdMnK87FBxfzhInHwpqPur76zBnpw3u36ylKEymDFrO5dwzsh +QvDWjsYRg9ydTXubtwP6+MOpjdR1SNKxcCHKJrPrdAeJW9jg1imYmYpEHZ/P3qsL +Jm0hGWbFjdxZLIYIz0vN/nTalcAeqT2OWKrXuwIDAQABAoIBAQCcj1g2FOR9ZlYD +WPANqucJVy4/y9OcXHlwnyiyRjj47WOSRdGxRfUa2uEeikHT3ACo8TB8WwfQDGDw +8u/075e+az5xvAJo5OQSnD3sz4Hmv6UWSvkFuPZo+xMe5C/M2/QljiQuoBifaeqP +3rTCQ5ncYCFAMU7b8BmTot551Ybhu2jCbDMHU7nFHEFOvYinkwfVcaqkrVDUuH+D +c3NkAEH9Jz2MEYA2Va4uqFpGt5lfGiED2kMenwPa8eS5LS5HJsxkfMHGlaHXHFUb +D+dG/qJtSslVxdzVPgEGvzswo6TgtY1nZTQcB8U63rktFg38B7QGtOkvswAYzxyk +HdMIiU3RAoGBAOdIEQRcAThj9eiIFywtBgLBOSg4SoOnvELLr6lgUg2+ICmx06LQ +yaai1QRdOWw1VwZ6apNCD00kaUhBu+ou93yLSDnR2uYftkylhcnVuhDyIeNyb81V +hV2z0WuNv3aKBFlBxaq391S7WW1XxhpAAagm8fZZur73wV390EVd/hZJAoGBAMVf +negT2bg5PVKWvsiEU6eZ00W97tlEDLclkiZawXNnM2/c+2x1Tks6Yf1E/j2FFTB4 +r0fesbwN346hCejtq5Bup5YEdFA3KtwT5UyeQQLFGYlCtRmBtOd10wkRS93D0tpX +iIqkf43Gpx6iFdvBWY5A7N+ZmojCy9zpL5TJ4G3jAoGADOGEoRuGrd9TWMoLkFhJ +l2mvhz/rVn3HDGlPtT06FK3cGLZgtRavxGoZNw8CHbayzBeRS/ZH5+H5Qx72GkrX +WcZgFWhMqrhlbMtjMiSHIl556LL86xCyRs+3ACh6211AdMAnBCUOz1dH2cEjtV6P +ORBCNZg1wGEIEfYK3XIorpECgYBubXfQj8KhUs0fdx3Y3Ehdni/ZdlG7F1qx4YBq +mx5e7d+Wd6Hn5Z3fcxO9+yrvypS3YN5YrJzuZSiuCSWdP9RcY7y5r1ZQRv1g0nTZ +MDWZUiNea4cddTd8xKxFB3tV4SkIZi8LustuzDVWa0Mlh4EOmP6uf6c5WxtqRsEL +UwORFwKBgEjZsfmZGBurjOtSrcsteulOB0D2nOqPVRWXmbSNJT/l73DkEllvVyA/ +wdW39nyFrA2Qw1K2F+l8DkzMd/WEjmioSWCsvTkXlvrqPfByKg01zCbYy/mhRW7d +7sQrPOIl8ygsc3JrxmvzibdWmng1MehvpAM1ogWeTUa1lsDTNJ/6 +-----END RSA PRIVATE KEY----- diff --git a/docker/vpp/vpp-ubuntu18/files/default-jdk-headless_1.8-59ubuntu2_amd64.deb b/docker/vpp/vpp-ubuntu18/files/default-jdk-headless_1.8-59ubuntu2_amd64.deb Binary files differnew file mode 100644 index 00000000..32f73674 --- /dev/null +++ b/docker/vpp/vpp-ubuntu18/files/default-jdk-headless_1.8-59ubuntu2_amd64.deb diff --git a/docker/vpp/vpp-ubuntu18/files/default-jre-headless_1.8-59ubuntu2_amd64.deb b/docker/vpp/vpp-ubuntu18/files/default-jre-headless_1.8-59ubuntu2_amd64.deb Binary files differnew file mode 100644 index 00000000..bd66af50 --- /dev/null +++ b/docker/vpp/vpp-ubuntu18/files/default-jre-headless_1.8-59ubuntu2_amd64.deb diff --git a/docker/vpp/vpp-ubuntu18/files/jre b/docker/vpp/vpp-ubuntu18/files/jre new file mode 100644 index 00000000..2d856174 --- /dev/null +++ b/docker/vpp/vpp-ubuntu18/files/jre @@ -0,0 +1,10 @@ +Package: default-jdk-headless +Pin: release a=now +Priority: 1001 +Pin-Priority: 1001 + +Package: default-jre-headless +Pin: release a=now +Priority: 1001 +Pin-Priority: 1001 + diff --git a/docker/vpp/vpp-ubuntu18/files/lf-update-java-alternatives b/docker/vpp/vpp-ubuntu18/files/lf-update-java-alternatives new file mode 100644 index 00000000..8484a711 --- /dev/null +++ b/docker/vpp/vpp-ubuntu18/files/lf-update-java-alternatives @@ -0,0 +1,57 @@ +#!/bin/bash +# SPDX-License-Identifier: EPL-1.0 +############################################################################## +# Copyright (c) 2018 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 +############################################################################## + +# This script takes the java-version variable to set the proper alternative +# for java, javac and java_sdk_openjdk for ubuntu or centos/fedora/redhat distros + +JAVA_ENV_FILE="/tmp/java.env" + +update-java-redhat() { + if [[ "${SET_JDK_VERSION//[a-zA-Z]/}" = "11" ]]; then + export JAVA_HOME="/usr/lib/jvm/java-11-openjdk" + else + export JAVA_HOME="/usr/lib/jvm/java-1.${SET_JDK_VERSION//[a-zA-Z:-]/}.0-openjdk" + fi + sudo /usr/sbin/alternatives --install /usr/bin/java java "${JAVA_HOME}/bin/java" 1 + sudo /usr/sbin/alternatives --install /usr/bin/javac javac "${JAVA_HOME}/bin/javac" 1 + sudo /usr/sbin/alternatives --install /usr/lib/jvm/java-openjdk java_sdk_openjdk "${JAVA_HOME}" 1 + sudo /usr/sbin/alternatives --set java "${JAVA_HOME}/bin/java" + sudo /usr/sbin/alternatives --set javac "${JAVA_HOME}/bin/javac" + sudo /usr/sbin/alternatives --set java_sdk_openjdk "${JAVA_HOME}" + echo JAVA_HOME="$JAVA_HOME" > "$JAVA_ENV_FILE" +} + +update-java-ubuntu() { + export JAVA_HOME="/usr/lib/jvm/java-${SET_JDK_VERSION//[a-zA-Z:-]/}-openjdk-amd64" + sudo /usr/bin/update-alternatives --install /usr/bin/java java "${JAVA_HOME}/bin/java" 1 + sudo /usr/bin/update-alternatives --install /usr/bin/javac javac "${JAVA_HOME}/bin/javac" 1 + sudo /usr/bin/update-alternatives --install /usr/lib/jvm/java-openjdk java_sdk_openjdk "${JAVA_HOME}" 1 + sudo /usr/bin/update-alternatives --set java "${JAVA_HOME}/bin/java" + sudo /usr/bin/update-alternatives --set javac "${JAVA_HOME}/bin/javac" + sudo /usr/bin/update-alternatives --set java_sdk_openjdk "${JAVA_HOME}" + echo JAVA_HOME="$JAVA_HOME" > "$JAVA_ENV_FILE" +} + +echo "---> Updating Java version" +OS=$(facter operatingsystem | tr '[:upper:]' '[:lower:]') + +case "${OS}" in + fedora|centos|redhat) + echo "---> RedHat type system detected" + update-java-redhat + ;; + ubuntu) + echo "---> Ubuntu system detected" + update-java-ubuntu + ;; +esac +java -version +echo JAVA_HOME="${JAVA_HOME}" diff --git a/docker/vpp/vpp-ubuntu18/files/packagecloud b/docker/vpp/vpp-ubuntu18/files/packagecloud new file mode 100644 index 00000000..98322206 --- /dev/null +++ b/docker/vpp/vpp-ubuntu18/files/packagecloud @@ -0,0 +1 @@ +{"url":"https://packagecloud.io","token":"$token"} diff --git a/docker/vpp/vpp-ubuntu18/files/packagecloud_api b/docker/vpp/vpp-ubuntu18/files/packagecloud_api new file mode 100644 index 00000000..9f537489 --- /dev/null +++ b/docker/vpp/vpp-ubuntu18/files/packagecloud_api @@ -0,0 +1,3 @@ +machine packagecloud.io +login $pclogin +password diff --git a/docker/vpp/vpp-ubuntu18/files/pc_push b/docker/vpp/vpp-ubuntu18/files/pc_push new file mode 100644 index 00000000..3fdc8d37 --- /dev/null +++ b/docker/vpp/vpp-ubuntu18/files/pc_push @@ -0,0 +1,39 @@ +#!/bin/bash +# REPO is an Environment variable + +set -x + +echo "STARTING PACKAGECLOUD PUSH" + +sleep 10 + +if [ -f /usr/bin/zypper ]; then + FACTER_OS="openSUSE" +else + FACTER_OS=$(/usr/bin/facter operatingsystem) +fi + +if [ -f ~/.packagecloud ]; then + case "$FACTER_OS" in + Ubuntu) + FACTER_LSBNAME=$(/usr/bin/facter lsbdistcodename) + DEBS=$(find . -type f -iname '*.deb') + package_cloud push "${REPO}/${STREAM}/ubuntu/${FACTER_LSBNAME}/main/" ${DEBS} + ;; + CentOS) + FACTER_OSMAJREL=$(/usr/bin/facter operatingsystemmajrelease) + FACTER_ARCH=$(/usr/bin/facter architecture) + RPMS=$(find . -type f -iregex '.*/.*\.\(s\)?rpm') + package_cloud push "${REPO}/${STREAM}/el/${FACTER_OSMAJREL}/os/${FACTER_ARCH}/" ${RPMS} + ;; + openSUSE) + # Use /etc/os-release on openSUSE to get $VERSION + . /etc/os-release + RPMS=$(find . -type f -iregex '.*/.*\.\(s\)?rpm' | grep -v 'vpp-ext-deps') + VPP_EXT_RPMS=$(find . -type f -iregex '.*/.*\.\(s\)?rpm' | grep 'vpp-ext-deps') + package_cloud push "${REPO}/${STREAM}/opensuse/${VERSION}/" ${RPMS} + # This file may have already been uploaded. Don't error out if it exists. + package_cloud push "${REPO}/${STREAM}/opensuse/${VERSION}/" ${VPP_EXT_RPMS} --skip-errors + ;; + esac +fi diff --git a/docker/vpp/vpp-ubuntu18/files/sshconfig b/docker/vpp/vpp-ubuntu18/files/sshconfig new file mode 100644 index 00000000..8dd13540 --- /dev/null +++ b/docker/vpp/vpp-ubuntu18/files/sshconfig @@ -0,0 +1,3 @@ +Host * + StrictHostKeyChecking no + UserKnownHostsFile=/dev/null diff --git a/docker/vpp/vpp-ubuntu20/files/badkey b/docker/vpp/vpp-ubuntu20/files/badkey new file mode 100644 index 00000000..2270aff0 --- /dev/null +++ b/docker/vpp/vpp-ubuntu20/files/badkey @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAslDXf4kZOQI8OGQQdIF8o83nBM0B4fzHLYLxxiY2rKiQ5MGM +mQa7p1KKzmd5/NlvFRnXefnjSDQljjPxEY7mh457rX2nXvqHD4GUXZPpBIE73rQ1 +TViIAXdDzFXJ6ee4yX8ewmVakzYBnlUPDidkWyRnjm/xCgKUCO+CD5AH3ND0onks +OYAtHqhDh29/QMIKdMnK87FBxfzhInHwpqPur76zBnpw3u36ylKEymDFrO5dwzsh +QvDWjsYRg9ydTXubtwP6+MOpjdR1SNKxcCHKJrPrdAeJW9jg1imYmYpEHZ/P3qsL +Jm0hGWbFjdxZLIYIz0vN/nTalcAeqT2OWKrXuwIDAQABAoIBAQCcj1g2FOR9ZlYD +WPANqucJVy4/y9OcXHlwnyiyRjj47WOSRdGxRfUa2uEeikHT3ACo8TB8WwfQDGDw +8u/075e+az5xvAJo5OQSnD3sz4Hmv6UWSvkFuPZo+xMe5C/M2/QljiQuoBifaeqP +3rTCQ5ncYCFAMU7b8BmTot551Ybhu2jCbDMHU7nFHEFOvYinkwfVcaqkrVDUuH+D +c3NkAEH9Jz2MEYA2Va4uqFpGt5lfGiED2kMenwPa8eS5LS5HJsxkfMHGlaHXHFUb +D+dG/qJtSslVxdzVPgEGvzswo6TgtY1nZTQcB8U63rktFg38B7QGtOkvswAYzxyk +HdMIiU3RAoGBAOdIEQRcAThj9eiIFywtBgLBOSg4SoOnvELLr6lgUg2+ICmx06LQ +yaai1QRdOWw1VwZ6apNCD00kaUhBu+ou93yLSDnR2uYftkylhcnVuhDyIeNyb81V +hV2z0WuNv3aKBFlBxaq391S7WW1XxhpAAagm8fZZur73wV390EVd/hZJAoGBAMVf +negT2bg5PVKWvsiEU6eZ00W97tlEDLclkiZawXNnM2/c+2x1Tks6Yf1E/j2FFTB4 +r0fesbwN346hCejtq5Bup5YEdFA3KtwT5UyeQQLFGYlCtRmBtOd10wkRS93D0tpX +iIqkf43Gpx6iFdvBWY5A7N+ZmojCy9zpL5TJ4G3jAoGADOGEoRuGrd9TWMoLkFhJ +l2mvhz/rVn3HDGlPtT06FK3cGLZgtRavxGoZNw8CHbayzBeRS/ZH5+H5Qx72GkrX +WcZgFWhMqrhlbMtjMiSHIl556LL86xCyRs+3ACh6211AdMAnBCUOz1dH2cEjtV6P +ORBCNZg1wGEIEfYK3XIorpECgYBubXfQj8KhUs0fdx3Y3Ehdni/ZdlG7F1qx4YBq +mx5e7d+Wd6Hn5Z3fcxO9+yrvypS3YN5YrJzuZSiuCSWdP9RcY7y5r1ZQRv1g0nTZ +MDWZUiNea4cddTd8xKxFB3tV4SkIZi8LustuzDVWa0Mlh4EOmP6uf6c5WxtqRsEL +UwORFwKBgEjZsfmZGBurjOtSrcsteulOB0D2nOqPVRWXmbSNJT/l73DkEllvVyA/ +wdW39nyFrA2Qw1K2F+l8DkzMd/WEjmioSWCsvTkXlvrqPfByKg01zCbYy/mhRW7d +7sQrPOIl8ygsc3JrxmvzibdWmng1MehvpAM1ogWeTUa1lsDTNJ/6 +-----END RSA PRIVATE KEY----- diff --git a/docker/vpp/vpp-ubuntu20/files/default-jdk-headless_1.8-59ubuntu2_amd64.deb b/docker/vpp/vpp-ubuntu20/files/default-jdk-headless_1.8-59ubuntu2_amd64.deb Binary files differnew file mode 100644 index 00000000..32f73674 --- /dev/null +++ b/docker/vpp/vpp-ubuntu20/files/default-jdk-headless_1.8-59ubuntu2_amd64.deb diff --git a/docker/vpp/vpp-ubuntu20/files/default-jre-headless_1.8-59ubuntu2_amd64.deb b/docker/vpp/vpp-ubuntu20/files/default-jre-headless_1.8-59ubuntu2_amd64.deb Binary files differnew file mode 100644 index 00000000..bd66af50 --- /dev/null +++ b/docker/vpp/vpp-ubuntu20/files/default-jre-headless_1.8-59ubuntu2_amd64.deb diff --git a/docker/vpp/vpp-ubuntu20/files/jre b/docker/vpp/vpp-ubuntu20/files/jre new file mode 100644 index 00000000..2d856174 --- /dev/null +++ b/docker/vpp/vpp-ubuntu20/files/jre @@ -0,0 +1,10 @@ +Package: default-jdk-headless +Pin: release a=now +Priority: 1001 +Pin-Priority: 1001 + +Package: default-jre-headless +Pin: release a=now +Priority: 1001 +Pin-Priority: 1001 + diff --git a/docker/vpp/vpp-ubuntu20/files/lf-update-java-alternatives b/docker/vpp/vpp-ubuntu20/files/lf-update-java-alternatives new file mode 100644 index 00000000..8484a711 --- /dev/null +++ b/docker/vpp/vpp-ubuntu20/files/lf-update-java-alternatives @@ -0,0 +1,57 @@ +#!/bin/bash +# SPDX-License-Identifier: EPL-1.0 +############################################################################## +# Copyright (c) 2018 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 +############################################################################## + +# This script takes the java-version variable to set the proper alternative +# for java, javac and java_sdk_openjdk for ubuntu or centos/fedora/redhat distros + +JAVA_ENV_FILE="/tmp/java.env" + +update-java-redhat() { + if [[ "${SET_JDK_VERSION//[a-zA-Z]/}" = "11" ]]; then + export JAVA_HOME="/usr/lib/jvm/java-11-openjdk" + else + export JAVA_HOME="/usr/lib/jvm/java-1.${SET_JDK_VERSION//[a-zA-Z:-]/}.0-openjdk" + fi + sudo /usr/sbin/alternatives --install /usr/bin/java java "${JAVA_HOME}/bin/java" 1 + sudo /usr/sbin/alternatives --install /usr/bin/javac javac "${JAVA_HOME}/bin/javac" 1 + sudo /usr/sbin/alternatives --install /usr/lib/jvm/java-openjdk java_sdk_openjdk "${JAVA_HOME}" 1 + sudo /usr/sbin/alternatives --set java "${JAVA_HOME}/bin/java" + sudo /usr/sbin/alternatives --set javac "${JAVA_HOME}/bin/javac" + sudo /usr/sbin/alternatives --set java_sdk_openjdk "${JAVA_HOME}" + echo JAVA_HOME="$JAVA_HOME" > "$JAVA_ENV_FILE" +} + +update-java-ubuntu() { + export JAVA_HOME="/usr/lib/jvm/java-${SET_JDK_VERSION//[a-zA-Z:-]/}-openjdk-amd64" + sudo /usr/bin/update-alternatives --install /usr/bin/java java "${JAVA_HOME}/bin/java" 1 + sudo /usr/bin/update-alternatives --install /usr/bin/javac javac "${JAVA_HOME}/bin/javac" 1 + sudo /usr/bin/update-alternatives --install /usr/lib/jvm/java-openjdk java_sdk_openjdk "${JAVA_HOME}" 1 + sudo /usr/bin/update-alternatives --set java "${JAVA_HOME}/bin/java" + sudo /usr/bin/update-alternatives --set javac "${JAVA_HOME}/bin/javac" + sudo /usr/bin/update-alternatives --set java_sdk_openjdk "${JAVA_HOME}" + echo JAVA_HOME="$JAVA_HOME" > "$JAVA_ENV_FILE" +} + +echo "---> Updating Java version" +OS=$(facter operatingsystem | tr '[:upper:]' '[:lower:]') + +case "${OS}" in + fedora|centos|redhat) + echo "---> RedHat type system detected" + update-java-redhat + ;; + ubuntu) + echo "---> Ubuntu system detected" + update-java-ubuntu + ;; +esac +java -version +echo JAVA_HOME="${JAVA_HOME}" diff --git a/docker/vpp/vpp-ubuntu20/files/packagecloud b/docker/vpp/vpp-ubuntu20/files/packagecloud new file mode 100644 index 00000000..98322206 --- /dev/null +++ b/docker/vpp/vpp-ubuntu20/files/packagecloud @@ -0,0 +1 @@ +{"url":"https://packagecloud.io","token":"$token"} diff --git a/docker/vpp/vpp-ubuntu20/files/packagecloud_api b/docker/vpp/vpp-ubuntu20/files/packagecloud_api new file mode 100644 index 00000000..9f537489 --- /dev/null +++ b/docker/vpp/vpp-ubuntu20/files/packagecloud_api @@ -0,0 +1,3 @@ +machine packagecloud.io +login $pclogin +password diff --git a/docker/vpp/vpp-ubuntu20/files/pc_push b/docker/vpp/vpp-ubuntu20/files/pc_push new file mode 100644 index 00000000..3fdc8d37 --- /dev/null +++ b/docker/vpp/vpp-ubuntu20/files/pc_push @@ -0,0 +1,39 @@ +#!/bin/bash +# REPO is an Environment variable + +set -x + +echo "STARTING PACKAGECLOUD PUSH" + +sleep 10 + +if [ -f /usr/bin/zypper ]; then + FACTER_OS="openSUSE" +else + FACTER_OS=$(/usr/bin/facter operatingsystem) +fi + +if [ -f ~/.packagecloud ]; then + case "$FACTER_OS" in + Ubuntu) + FACTER_LSBNAME=$(/usr/bin/facter lsbdistcodename) + DEBS=$(find . -type f -iname '*.deb') + package_cloud push "${REPO}/${STREAM}/ubuntu/${FACTER_LSBNAME}/main/" ${DEBS} + ;; + CentOS) + FACTER_OSMAJREL=$(/usr/bin/facter operatingsystemmajrelease) + FACTER_ARCH=$(/usr/bin/facter architecture) + RPMS=$(find . -type f -iregex '.*/.*\.\(s\)?rpm') + package_cloud push "${REPO}/${STREAM}/el/${FACTER_OSMAJREL}/os/${FACTER_ARCH}/" ${RPMS} + ;; + openSUSE) + # Use /etc/os-release on openSUSE to get $VERSION + . /etc/os-release + RPMS=$(find . -type f -iregex '.*/.*\.\(s\)?rpm' | grep -v 'vpp-ext-deps') + VPP_EXT_RPMS=$(find . -type f -iregex '.*/.*\.\(s\)?rpm' | grep 'vpp-ext-deps') + package_cloud push "${REPO}/${STREAM}/opensuse/${VERSION}/" ${RPMS} + # This file may have already been uploaded. Don't error out if it exists. + package_cloud push "${REPO}/${STREAM}/opensuse/${VERSION}/" ${VPP_EXT_RPMS} --skip-errors + ;; + esac +fi diff --git a/docker/vpp/vpp-ubuntu20/files/sshconfig b/docker/vpp/vpp-ubuntu20/files/sshconfig new file mode 100644 index 00000000..8dd13540 --- /dev/null +++ b/docker/vpp/vpp-ubuntu20/files/sshconfig @@ -0,0 +1,3 @@ +Host * + StrictHostKeyChecking no + UserKnownHostsFile=/dev/null diff --git a/global-jjb b/global-jjb -Subproject 39abe0daab310c07b85f834d81f07c82218ef50 +Subproject 5fc616e4b1231808c1f11608608415312b08aa0 diff --git a/jenkins-config/clouds/openstack/FDIOVEX-CI/centos7-builder-2c-2g.cfg b/jenkins-config/clouds/openstack/FDIOVEX-CI/centos7-builder-2c-2g.cfg index 3502922d..4f350de7 100644 --- a/jenkins-config/clouds/openstack/FDIOVEX-CI/centos7-builder-2c-2g.cfg +++ b/jenkins-config/clouds/openstack/FDIOVEX-CI/centos7-builder-2c-2g.cfg @@ -1,3 +1,3 @@ -IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20191215-024720.020 +IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20200115-151843.366 LABELS=centos7-builder-2c-2g HARDWARE_ID=v2-highcpu-2 diff --git a/jenkins-config/clouds/openstack/FDIOVEX-CI/centos7-builder-4c-4g.cfg b/jenkins-config/clouds/openstack/FDIOVEX-CI/centos7-builder-4c-4g.cfg index 7f269d69..916f7471 100644 --- a/jenkins-config/clouds/openstack/FDIOVEX-CI/centos7-builder-4c-4g.cfg +++ b/jenkins-config/clouds/openstack/FDIOVEX-CI/centos7-builder-4c-4g.cfg @@ -1,3 +1,3 @@ -IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20191215-024720.020 +IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20200115-151843.366 LABELS=centos7-builder-4c-4g HARDWARE_ID=v2-highcpu-4 diff --git a/jenkins-config/clouds/openstack/FDIOVEX-CI/centos7-builder-8c-8g.cfg b/jenkins-config/clouds/openstack/FDIOVEX-CI/centos7-builder-8c-8g.cfg index dfb2d1cf..b175a015 100644 --- a/jenkins-config/clouds/openstack/FDIOVEX-CI/centos7-builder-8c-8g.cfg +++ b/jenkins-config/clouds/openstack/FDIOVEX-CI/centos7-builder-8c-8g.cfg @@ -1,3 +1,3 @@ -IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20191215-024720.020 +IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20200115-151843.366 LABELS=centos7-builder-8c-8g HARDWARE_ID=v2-highcpu-8 diff --git a/jenkins-config/clouds/openstack/FDIOVEX-CI/centos7-docker-2c-2g.cfg b/jenkins-config/clouds/openstack/FDIOVEX-CI/centos7-docker-2c-2g.cfg new file mode 100644 index 00000000..1a2f361f --- /dev/null +++ b/jenkins-config/clouds/openstack/FDIOVEX-CI/centos7-docker-2c-2g.cfg @@ -0,0 +1,4 @@ +IMAGE_NAME=ZZCI - CentOS 7 - docker - x86_64 - 20200405-094320.230 +LABELS=centos7-docker-2c-2g +HARDWARE_ID=v2-standard-2 +VOLUME_SIZE=20 diff --git a/jenkins-config/clouds/openstack/FDIOVEX-CI/centos7-docker-4c-4g.cfg b/jenkins-config/clouds/openstack/FDIOVEX-CI/centos7-docker-4c-4g.cfg index 4b215e56..b7887725 100644 --- a/jenkins-config/clouds/openstack/FDIOVEX-CI/centos7-docker-4c-4g.cfg +++ b/jenkins-config/clouds/openstack/FDIOVEX-CI/centos7-docker-4c-4g.cfg @@ -1,4 +1,4 @@ -IMAGE_NAME=ZZCI - CentOS 7 - docker - x86_64 - 20200105-094324.141 +IMAGE_NAME=ZZCI - CentOS 7 - docker - x86_64 - 20200405-094320.230 LABELS=centos7-docker-4c-4g HARDWARE_ID=v2-standard-4 -VOLUME_SIZE=10 +VOLUME_SIZE=20 diff --git a/jenkins-config/clouds/openstack/FDIOVEX-CI/cloud.cfg b/jenkins-config/clouds/openstack/FDIOVEX-CI/cloud.cfg index e8d47dd6..768da3bf 100644 --- a/jenkins-config/clouds/openstack/FDIOVEX-CI/cloud.cfg +++ b/jenkins-config/clouds/openstack/FDIOVEX-CI/cloud.cfg @@ -1,12 +1,12 @@ # Cloud Configuration CLOUD_CREDENTIAL_ID=fdiovex-ci -CLOUD_URL=https://auth.vexxhost.net/v3/ +CLOUD_URL=https://auth.vexxhost.net/v3 CLOUD_IGNORE_SSL=false CLOUD_ZONE=ca-ymq-1 OS_CLOUD=vexci # Default Template Configuration -IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20191215-024720.020 +IMAGE_NAME=ZZCI - CentOS 7 - builder - x86_64 - 20200315-024729.521 HARDWARE_ID=v2-highcpu-2 NETWORK_ID=bcb9a62c-5a82-4293-a8c6-d73e8c2dbd03 USER_DATA_ID=jenkins-init-system diff --git a/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1604-builder-2c-2g.cfg b/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1604-builder-2c-2g.cfg index 59744901..2b95de24 100644 --- a/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1604-builder-2c-2g.cfg +++ b/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1604-builder-2c-2g.cfg @@ -1,3 +1,3 @@ -IMAGE_NAME=ZZCI - Ubuntu 16.04 - builder - x86_64 - 20191119-214815.550 +IMAGE_NAME=ZZCI - Ubuntu 16.04 - builder - x86_64 - 20200213-210225.109 LABELS=ubuntu1604-builder-2c-2g HARDWARE_ID=v2-highcpu-2 diff --git a/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1604-builder-4c-4g.cfg b/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1604-builder-4c-4g.cfg index b9ffedbf..56a4756c 100644 --- a/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1604-builder-4c-4g.cfg +++ b/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1604-builder-4c-4g.cfg @@ -1,3 +1,3 @@ -IMAGE_NAME=ZZCI - Ubuntu 16.04 - builder - x86_64 - 20191119-214815.550 +IMAGE_NAME=ZZCI - Ubuntu 16.04 - builder - x86_64 - 20200213-210225.109 LABELS=ubuntu1604-builder-4c-4g HARDWARE_ID=v2-highcpu-4 diff --git a/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1604-builder-8c-32g.cfg b/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1604-builder-8c-32g.cfg index 7d377054..47295370 100644 --- a/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1604-builder-8c-32g.cfg +++ b/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1604-builder-8c-32g.cfg @@ -1,3 +1,3 @@ -IMAGE_NAME=ZZCI - Ubuntu 16.04 - builder - x86_64 - 20191119-214815.550 +IMAGE_NAME=ZZCI - Ubuntu 16.04 - builder - x86_64 - 20200213-210225.109 LABELS=ubuntu1604-builder-8c-32g HARDWARE_ID=v2-highcpu-32 diff --git a/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1604-builder-8c-8g.cfg b/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1604-builder-8c-8g.cfg index 8bda8834..3ef5666a 100644 --- a/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1604-builder-8c-8g.cfg +++ b/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1604-builder-8c-8g.cfg @@ -1,3 +1,3 @@ -IMAGE_NAME=ZZCI - Ubuntu 16.04 - builder - x86_64 - 20191119-214815.550 +IMAGE_NAME=ZZCI - Ubuntu 16.04 - builder - x86_64 - 20200213-210225.109 LABELS=ubuntu1604-builder-8c-8g HARDWARE_ID=v2-highcpu-8 diff --git a/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1604-docker-4c-4g.cfg b/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1604-docker-4c-4g.cfg index 09d65e0f..597c0b4a 100644 --- a/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1604-docker-4c-4g.cfg +++ b/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1604-docker-4c-4g.cfg @@ -1,4 +1,4 @@ -IMAGE_NAME=ZZCI - Ubuntu 16.04 - docker - x86_64 - 20190810-225705.438 -LABELS=centos7-docker-4c-4g +IMAGE_NAME=ZZCI - Ubuntu 16.04 - docker - x86_64 - 20200510-225624.603 +LABELS=ubuntu1604-docker-4c-4g HARDWARE_ID=v2-standard-4 -VOLUME_SIZE=10 +VOLUME_SIZE=20 diff --git a/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1804-builder-2c-2g.cfg b/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1804-builder-2c-2g.cfg index 2bb05981..c2c9c654 100644 --- a/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1804-builder-2c-2g.cfg +++ b/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1804-builder-2c-2g.cfg @@ -1,3 +1,3 @@ -IMAGE_NAME=ZZCI - Ubuntu 18.04 - builder - x86_64 - 20191226-084321.945 +IMAGE_NAME=ZZCI - Ubuntu 18.04 - builder - x86_64 - 20190410-150820.173 LABELS=ubuntu1804-builder-2c-2g.cfg HARDWARE_ID=v2-highcpu-2 diff --git a/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1804-builder-4c-4g.cfg b/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1804-builder-4c-4g.cfg index 8e24bd22..6ac6d7db 100644 --- a/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1804-builder-4c-4g.cfg +++ b/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1804-builder-4c-4g.cfg @@ -1,3 +1,3 @@ -IMAGE_NAME=ZZCI - Ubuntu 18.04 - builder - x86_64 - 20191226-084321.945 +IMAGE_NAME=ZZCI - Ubuntu 18.04 - builder - x86_64 - 20190410-150820.173 LABELS=ubuntu1804-builder-4c-4g HARDWARE_ID=v2-highcpu-4 diff --git a/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1804-builder-8c-32g.cfg b/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1804-builder-8c-32g.cfg deleted file mode 100644 index 883f7d5a..00000000 --- a/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1804-builder-8c-32g.cfg +++ /dev/null @@ -1,3 +0,0 @@ -IMAGE_NAME=ZZCI - Ubuntu 18.04 - builder - x86_64 - 20191226-084321.945 -LABELS=ubuntu1804-builder-8c-32g -HARDWARE_ID=v2-highcpu-32 diff --git a/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1804-builder-8c-8g.cfg b/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1804-builder-8c-8g.cfg index bcc7fd19..5ced41c2 100644 --- a/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1804-builder-8c-8g.cfg +++ b/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1804-builder-8c-8g.cfg @@ -1,3 +1,3 @@ -IMAGE_NAME=ZZCI - Ubuntu 18.04 - builder - x86_64 - 20191226-084321.945 +IMAGE_NAME=ZZCI - Ubuntu 18.04 - builder - x86_64 - 20190410-150820.173 LABELS=ubuntu1804-builder-8c-8g.cfg HARDWARE_ID=v2-highcpu-8 diff --git a/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1804-builder-arm64-4c-4g.cfg b/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1804-builder-arm64-4c-4g.cfg deleted file mode 100644 index 4f4cfa7d..00000000 --- a/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1804-builder-arm64-4c-4g.cfg +++ /dev/null @@ -1,4 +0,0 @@ -IMAGE_NAME=ZZCI - Ubuntu 18.04 - builder - arm64 - 20190820-203918.821 -LABELS=ubuntu1804-builder-arm64-4c-4g -HARDWARE_ID=v2-highcpu-4 -VOLUME_SIZE=10 diff --git a/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1804-docker-4c-4g.cfg b/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1804-docker-4c-4g.cfg index d76a2af2..d4be182b 100644 --- a/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1804-docker-4c-4g.cfg +++ b/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1804-docker-4c-4g.cfg @@ -1,4 +1,4 @@ IMAGE_NAME=ZZCI - Ubuntu 18.04 - docker - x86_64 - 20200107-191807.978 LABELS=ubuntu1804-docker-4c-4g HARDWARE_ID=v2-standard-4 -VOLUME_SIZE=10 +VOLUME_SIZE=20 diff --git a/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1804-docker-arm64-4c-4g.cfg b/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1804arm-docker-4c-4g index c46c1ecf..789129e0 100644 --- a/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1804-docker-arm64-4c-4g.cfg +++ b/jenkins-config/clouds/openstack/FDIOVEX-CI/ubuntu1804arm-docker-4c-4g @@ -1,4 +1,5 @@ IMAGE_NAME=ZZCI - Ubuntu 18.04 - docker - arm64 - 20191209-185146.016 -LABELS=ubuntu1804-docker-arm64-4c-4g +LABELS=ubuntu1804arm-docker-4c-4g HARDWARE_ID=v2-standard-4 -VOLUME_SIZE=10 +VOLUME_SIZE=20 + diff --git a/jenkins-config/clouds/openstack/FDIOVEX/centos7-basebuild-4c-4g.cfg b/jenkins-config/clouds/openstack/FDIOVEX/centos7-basebuild-4c-4g.cfg deleted file mode 100644 index 3348ca5d..00000000 --- a/jenkins-config/clouds/openstack/FDIOVEX/centos7-basebuild-4c-4g.cfg +++ /dev/null @@ -1,3 +0,0 @@ -IMAGE_NAME=CentOS 7 - basebuild - 20170322-1518 -LABELS=centos7-basebuild-4c-4g -HARDWARE_ID=v1-standard-4 diff --git a/jenkins-config/clouds/openstack/FDIOVEX/cloud.cfg b/jenkins-config/clouds/openstack/FDIOVEX/cloud.cfg deleted file mode 100644 index a21118e4..00000000 --- a/jenkins-config/clouds/openstack/FDIOVEX/cloud.cfg +++ /dev/null @@ -1,23 +0,0 @@ -# Cloud Configuration -CLOUD_CREDENTIAL_ID=vexx-fdio -CLOUD_URL=https://auth.vexxhost.net/v3/ -CLOUD_IGNORE_SSL=false -CLOUD_ZONE=ca-ymq-1 -OS_CLOUD=vex - -# Default Template Configuration -IMAGE_NAME=CentOS 7 - basebuild - 20170322-1518 -HARDWARE_ID=v1-standard-1 -NETWORK_ID=1b9e78ec-b49b-4ebe-9e16-0ae9baddb754 -USER_DATA_ID=jenkins-init-system -INSTANCE_CAP=20 -SANDBOX_CAP=5 -FLOATING_IP_POOL= -SECURITY_GROUPS=default -AVAILABILITY_ZONE=ca-ymq-2 -STARTUP_TIMEOUT=600000 -KEY_PAIR_NAME=jenkins -NUM_EXECUTORS=1 -JVM_OPTIONS= -FS_ROOT=/w -RETENTION_TIME=1 diff --git a/jenkins-config/clouds/openstack/FDIOVEX/ubuntu1404-basebuild-4c-4g.cfg b/jenkins-config/clouds/openstack/FDIOVEX/ubuntu1404-basebuild-4c-4g.cfg deleted file mode 100644 index abb6cae9..00000000 --- a/jenkins-config/clouds/openstack/FDIOVEX/ubuntu1404-basebuild-4c-4g.cfg +++ /dev/null @@ -1,3 +0,0 @@ -IMAGE_NAME=Ubuntu 14.04 - basebuild - 20170331-2223 -LABELS=ubuntu1404-basebuild-4c-4g -HARDWARE_ID=v1-standard-4 diff --git a/jenkins-config/clouds/openstack/FDIOVEX/ubuntu1604-basebuild-4c-4g.cfg b/jenkins-config/clouds/openstack/FDIOVEX/ubuntu1604-basebuild-4c-4g.cfg deleted file mode 100644 index 9744affe..00000000 --- a/jenkins-config/clouds/openstack/FDIOVEX/ubuntu1604-basebuild-4c-4g.cfg +++ /dev/null @@ -1,3 +0,0 @@ -IMAGE_NAME=Ubuntu 16.04 - basebuild - 20180406-1741 -LABELS=ubuntu1604-basebuild-4c-4g -HARDWARE_ID=v1-standard-4 diff --git a/jenkins-config/clouds/openstack/FDIOVEX/ubuntu1604-basebuild-8c-32g.cfg b/jenkins-config/clouds/openstack/FDIOVEX/ubuntu1604-basebuild-8c-32g.cfg deleted file mode 100644 index 2d0ec0be..00000000 --- a/jenkins-config/clouds/openstack/FDIOVEX/ubuntu1604-basebuild-8c-32g.cfg +++ /dev/null @@ -1,3 +0,0 @@ -IMAGE_NAME=Ubuntu 16.04 - basebuild - 20171103-2145 -LABELS=ubuntu1604-basebuild-8c-32g -HARDWARE_ID=v2-standard-8 diff --git a/jenkins-config/clouds/openstack/FDIOVEX/ubuntu1804-basebuild-4c-4g.cfg b/jenkins-config/clouds/openstack/FDIOVEX/ubuntu1804-basebuild-4c-4g.cfg deleted file mode 100644 index 5b588572..00000000 --- a/jenkins-config/clouds/openstack/FDIOVEX/ubuntu1804-basebuild-4c-4g.cfg +++ /dev/null @@ -1,3 +0,0 @@ -IMAGE_NAME=Ubuntu 18.04 - basebuild - 20180523-2109 -LABELS=ubuntu1804-basebuild-4c-4g -HARDWARE_ID=v2-highcpu-4 diff --git a/jenkins-config/global-vars-production.sh b/jenkins-config/global-vars-production.sh index 46047500..69a55139 100644 --- a/jenkins-config/global-vars-production.sh +++ b/jenkins-config/global-vars-production.sh @@ -8,5 +8,6 @@ NEXUS_URL=https://nexus.fd.io NEXUSPROXY=https://nexus.fd.io PACKAGECLOUDPROXY=https://packagecloud.io/fdio PCIO_CO=fdio +S3_BUCKET= SIGUL_KEY=fdio-release-2018 SILO=production diff --git a/jenkins-config/global-vars-sandbox.sh b/jenkins-config/global-vars-sandbox.sh index 05c4418b..79f2eb4c 100644 --- a/jenkins-config/global-vars-sandbox.sh +++ b/jenkins-config/global-vars-sandbox.sh @@ -8,5 +8,6 @@ NEXUS_URL=https://nexus.fd.io NEXUSPROXY=https://nexus.fd.io PACKAGECLOUDPROXY=https://packagecloud.io/fdio PCIO_CO=fdio +S3_BUCKET= SIGUL_KEY=fdio-sandbox SILO=sandbox diff --git a/jjb/ci-management/ci-management-jobs.yaml b/jjb/ci-management/ci-management-jobs.yaml index b071cb95..e99855eb 100644 --- a/jjb/ci-management/ci-management-jobs.yaml +++ b/jjb/ci-management/ci-management-jobs.yaml @@ -3,6 +3,7 @@ name: ci-management-ci-jobs jobs: - gerrit-jenkins-cfg-verify + - gerrit-jenkins-cfg-merge - gerrit-jenkins-sandbox-cleanup - gerrit-jjb-deploy-job - gerrit-jjb-merge @@ -11,7 +12,7 @@ project: ci-management project-name: ci-management build-node: centos7-builder-4c-4g - build-timeout: 30 + build-timeout: 60 jjb-version: 2.6.0 - project: diff --git a/jjb/ci-management/package-list.sh b/jjb/ci-management/package-list.sh new file mode 100644 index 00000000..6172b7b5 --- /dev/null +++ b/jjb/ci-management/package-list.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +export PACKAGE_LIST_COMMON="libhicnctrl \ +libhicnctrl-memif \ +hicn-collectd-plugins \ +hicn-apps \ +hicn-light \ +hicn-apps-memif \ +libhicntransport-memif \ +libhicn \ +libhicntransport \ +hicn-plugin \ +facemgr \ +hicn-utils-memif \ +hicn-utils \ +hicn-sysrepo-plugin \ +hicn-extra-plugin \ +libparc \ +libparc-doc \ +longbow \ +longbow-doc" + +export PACKAGE_LIST_UBUNTU="libhicnctrl-dev \ +libhicn-ctrl-dev \ +libhicnctrl-memif-dev \ +libhicntransport-memif-dev \ +libhicn-dev \ +libhicntransport-dev \ +hicn-plugin-dev \ +libdash \ +libdash-dev \ +libdash-doc \ +libparc-dev \ +libmemif-dev \ +longbow-dev" + +export PACKAGE_LIST_CENTOS="libhicnctrl-devel \ +libhicnctrl-memif-devel \ +libhicntransport-memif-devel \ +libhicn-devel \ +libhicntransport-devel \ +hicn-plugin-devel \ +libparc-devel \ +libmemif-devel \ +longbow-devel" + +export VERSION_WHITELIST="19.01-227 \ +19.08-289 \ +20.01-73 \ +20.01-114" diff --git a/jjb/ci-management/packagecloud-repo-cleanup.sh b/jjb/ci-management/packagecloud-repo-cleanup.sh new file mode 100644 index 00000000..8fdfe118 --- /dev/null +++ b/jjb/ci-management/packagecloud-repo-cleanup.sh @@ -0,0 +1,161 @@ +#!/bin/bash +set -euo pipefail + +# Number of packages to keep. +N_PACKAGES=5 + +PACKAGECLOUD_REPO_DEB="https://packagecloud.io/install/repositories/fdio/${STREAM}/script.deb.sh" +PACKAGECLOUD_REPO_RPM="https://packagecloud.io/install/repositories/fdio/${STREAM}/script.rpm.sh" + +FACTER_OS=$(/usr/bin/facter operatingsystem) +PACKAGE_LIST="" +VERSION_REGEX="[0-9]+.[0-9]+[-_][0-9]+[-_]release(-1)?|[0-9]+.[0-9]+[-_][0-9]+~g[[:graph:]]+" + +declare -A FUNCTIONS + +echo_err () { + >&2 echo ${@} + exit 1 +} + +contains() { + [[ ${1} =~ (^|[[:space:]])${2}($|[[:space:]]) ]] && return 1 || return 0 +} + +check_version_whitelist() { + if [[ ${1} =~ ([0-9]+).([0-9]+)[-_]([0-9]+).+ ]]; then + MAJOR=${BASH_REMATCH[1]} + MINOR=${BASH_REMATCH[2]} + REVISION=${BASH_REMATCH[3]} + VER="${MAJOR}.${MINOR}-${REVISION}" + + if contains "${VERSION_WHITELIST}" ${VER}; then + return 1; + fi + fi + + return 0 +} + +# Params +# $1: Package list +build_package_blacklist_ubuntu () { + PACKAGE_LIST=${@} + OUTPUT_LIST="" + ARCH=$(dpkg --print-architecture) + + for package in ${PACKAGE_LIST}; do + OUTPUT=$(apt-cache policy ${package} 2> /dev/null) + + if [[ ${?} -ne 0 || -z "${OUTPUT}" ]]; then + continue + fi + + # N_PACKAGES + 2 is justified by the fact thathe output of apt-cache policy is in the form: + # apt-cache policy libhicn + # libhicn: + # Installed: (none) + # Candidate: 20.05-11-release + # Version table: + # 20.05-11-release 500 + # + # The first version candidate is printed twice. + # So we need to exclude the "Candidate: 20.05-11-release" (+1). + # Also `tail -n +M` starts to print from the Mth line, being 1 the first line. + # So to exclude the Mth line an additional +1 is needed. + VERSIONS="$(echo ${OUTPUT} | grep -E -o ${VERSION_REGEX} | tail -n +$((N_PACKAGES + 2)))" + + for version in ${VERSIONS}; do + if ! check_version_whitelist ${version}; then + OUTPUT_LIST+="${package}_${version}_${ARCH}.deb " + fi + done + done + + echo ${OUTPUT_LIST} +} + +# Params +# $1: Package list +build_package_blacklist_centos () { + PACKAGE_LIST=${@} + OUTPUT_LIST="" + VERSIONS="" + ARCH=$(uname -m) + + for package in ${PACKAGE_LIST}; do + OUTPUT=$(yum --showduplicates list ${package} 2> /dev/null) + if [[ ${?} -ne 0 || -z "${OUTPUT}" ]]; then + continue + fi + + VERSIONS="$(echo ${OUTPUT} | grep -Eo "${VERSION_REGEX}" | head -n -${N_PACKAGES})" + + for version in ${VERSIONS}; do + if ! check_version_whitelist ${version}; then + OUTPUT_LIST+="${package}-${version}.${ARCH}.rpm " + fi + done + done + + echo ${OUTPUT_LIST} +} + +promote_attic_repo_centos () { + FACTER_OSMAJREL=$(/usr/bin/facter operatingsystemmajrelease) + FACTER_ARCH=$(/usr/bin/facter architecture) + + for package in ${@}; do + echo package_cloud promote \ + ${PCIO_CO}/${STREAM}/el/${FACTER_OSMAJREL}/os/${FACTER_ARCH}/ \ + ${package} ${PCIO_CO}/attic/el/${FACTER_OSMAJREL}/os/${FACTER_ARCH}/ + package_cloud promote \ + ${PCIO_CO}/${STREAM}/el/${FACTER_OSMAJREL}/os/${FACTER_ARCH}/ \ + ${package} ${PCIO_CO}/attic/el/${FACTER_OSMAJREL}/os/${FACTER_ARCH}/ + done +} + +promote_attic_repo_ubuntu () { + FACTER_LSBNAME=$(/usr/bin/facter lsbdistcodename) + + for package in ${@}; do + echo package_cloud promote ${PCIO_CO}/${STREAM}/ubuntu/${FACTER_LSBNAME}/main/ \ + ${package} ${PCIO_CO}/attic/ubuntu/${FACTER_LSBNAME}/main/ + package_cloud promote ${PCIO_CO}/${STREAM}/ubuntu/${FACTER_LSBNAME}/main/ \ + ${package} ${PCIO_CO}/attic/ubuntu/${FACTER_LSBNAME}/main/ + done +} + +promote_to_attic_repo () { + ${FUNCTIONS["promote_attic_repo"]} ${@} +} + +setup_fdio_repo () { + case "${FACTER_OS}" in + Ubuntu) + curl -s ${PACKAGECLOUD_REPO_DEB} | sudo bash + FUNCTIONS["package_blacklist"]="build_package_blacklist_ubuntu" + FUNCTIONS["promote_attic_repo"]="promote_attic_repo_ubuntu" + PACKAGE_LIST="${PACKAGE_LIST_COMMON} ${PACKAGE_LIST_UBUNTU}" + ;; + CentOS) + curl -s ${PACKAGECLOUD_REPO_RPM} | sudo bash + FUNCTIONS["package_blacklist"]="build_package_blacklist_centos" + FUNCTIONS["promote_attic_repo"]="promote_attic_repo_centos" + PACKAGE_LIST="${PACKAGE_LIST_COMMON} ${PACKAGE_LIST_CENTOS}" + ;; + *) + echo_err "Distribution ${FACTER_OS} is not supported." + ;; + esac +} + +# Params +# $1: Package list +build_package_blacklist () { + ${FUNCTIONS["package_blacklist"]} ${@} +} + +setup_fdio_repo +PACKAGES_TO_PROMOTE=$(build_package_blacklist ${PACKAGE_LIST}) +promote_to_attic_repo ${PACKAGES_TO_PROMOTE}
\ No newline at end of file diff --git a/jjb/ci-management/packagecloud-repo-cleanup.yaml b/jjb/ci-management/packagecloud-repo-cleanup.yaml new file mode 100644 index 00000000..c64e24a0 --- /dev/null +++ b/jjb/ci-management/packagecloud-repo-cleanup.yaml @@ -0,0 +1,146 @@ +- project: + name: packagecloud-repo-cleanup + jobs: + - 'packagecloud-repo-cleanup-release-{os}' + - 'packagecloud-repo-cleanup-hicn-{os}' + project: 'ci-management' + os: + - ubuntu1804: + repo-os-part: 'ubuntu.bionic.main' + - ubuntu1804arm: + repo-os-part: 'ubuntu-arm.bionic.main' + - ubuntu1604: + repo-os-part: 'ubuntu.xenial.main' + - centos7: + repo-os-part: 'centos7' + +- project: + name: packagecloud-view + views: + - project-view + project-name: packagecloud + +- job-template: + name: 'packagecloud-repo-cleanup-release-{os}' + + project-type: freestyle + node: '{os}-us' + concurrent: true + + build-discarder: + daysToKeep: '{build-days-to-keep}' + numToKeep: 100 + artifactDaysToKeep: '{build-artifact-days-to-keep}' + artifactNumToKeep: '{build-artifact-num-to-keep}' + + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: '{branch}' + - os-parameter: + os: '{os}' + - stream-parameter: + stream: 'release' + - string: + name: ARCHIVE_ARTIFACTS + default: '{archive-artifacts}' + description: Artifacts to archive to the logs server. + + wrappers: + - fdio-infra-wrappers: + build-timeout: 120 + + triggers: + - gerrit: + server-name: 'Primary' + trigger-on: + - comment-added-contains-event: + comment-contains-value: 'release-cleanup' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + + builders: + - config-file-provider: + files: + - file-id: '.packagecloud' + target: '/root/.packagecloud' + - config-file-provider: + files: + - file-id: 'packagecloud_api' + target: '/root/packagecloud_api' + - shell: + !include-raw-escape: + - package-list.sh + - packagecloud-repo-cleanup.sh + + publishers: + - fdio-infra-shiplogs: + maven-version: 'mvn36' + +- job-template: + name: 'packagecloud-repo-cleanup-hicn-{os}' + + project-type: freestyle + node: '{os}-us' + concurrent: true + + build-discarder: + daysToKeep: '{build-days-to-keep}' + numToKeep: 100 + artifactDaysToKeep: '{build-artifact-days-to-keep}' + artifactNumToKeep: '{build-artifact-num-to-keep}' + + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: '{branch}' + - os-parameter: + os: '{os}' + - stream-parameter: + stream: 'hicn' + - string: + name: ARCHIVE_ARTIFACTS + default: '{archive-artifacts}' + description: Artifacts to archive to the logs server. + + wrappers: + - fdio-infra-wrappers: + build-timeout: 120 + + triggers: + - timed: '@weekly' + - gerrit: + server-name: 'Primary' + trigger-on: + - comment-added-contains-event: + comment-contains-value: 'release-cleanup' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + + builders: + - config-file-provider: + files: + - file-id: '.packagecloud' + target: '/root/.packagecloud' + - config-file-provider: + files: + - file-id: 'packagecloud_api' + target: '/root/packagecloud_api' + - shell: + !include-raw-escape: + - package-list.sh + - packagecloud-repo-cleanup.sh + + publishers: + - fdio-infra-shiplogs: + maven-version: 'mvn36' diff --git a/jjb/cicn/cicn.yaml b/jjb/cicn/cicn.yaml index 07a4ac3e..c19a06aa 100644 --- a/jjb/cicn/cicn.yaml +++ b/jjb/cicn/cicn.yaml @@ -91,7 +91,7 @@ - repo-name-parameter: repo-name: '{repo-stream-part}.{repo-os-part}' - stream-parameter: - stream: 'release' + stream: 'hicn' - string: name: ARCHIVE_ARTIFACTS default: '{archive-artifacts}' @@ -371,7 +371,7 @@ - repo-name-parameter: repo-name: '{repo-stream-part}.{repo-os-part}' - stream-parameter: - stream: 'release' + stream: 'hicn' - string: name: ARCHIVE_ARTIFACTS default: '{archive-artifacts}' @@ -501,7 +501,7 @@ - repo-name-parameter: repo-name: '{repo-stream-part}.{repo-os-part}' - stream-parameter: - stream: 'release' + stream: 'hicn' - string: name: ARCHIVE_ARTIFACTS default: '{archive-artifacts}' diff --git a/jjb/csit/csit-perf.yaml b/jjb/csit/csit-perf.yaml index f4622dfb..1b43e3ea 100644 --- a/jjb/csit/csit-perf.yaml +++ b/jjb/csit/csit-perf.yaml @@ -64,17 +64,17 @@ - 'csit-vpp-perf-mrr-daily-master{node-arch}': node-arch: - '': - periodicity: '0 14 * * *' + periodicity: '0 2,14 * * *' - -2n-clx: - periodicity: '0 14 * * *' + periodicity: '0 2,14 * * *' - -2n-skx: - periodicity: '0 14 * * 1,4' + periodicity: '0 2,14 * * *' - -2n-dnv: - periodicity: '0 14 * * *' + periodicity: '0 2,14 * * *' - -3n-skx: - periodicity: '0 14 * * 1,4' + periodicity: '0 2,14 * * *' - -3n-dnv: - periodicity: '0 14 * * *' + periodicity: '0 2,14 * * *' - -3n-tsh: executor: 'ubuntu1804arm-us' periodicity: '0 14 * * *' @@ -98,7 +98,37 @@ - 3n-skx - 3n-hsw periodicity: '0 0 * * 6' - - 'csit-vpp-perf-report-iterative-{stream}-{node-arch}': + - 'csit-vpp-perf-report-iterative-{stream_report}-{node-arch}': + node-arch: + - 2n-clx + - 2n-skx + - 2n-dnv + - 3n-skx + - 3n-hsw + - 3n-dnv + - 3n-tsh: + executor: 'ubuntu1804arm-us' + - 'csit-dpdk-perf-report-iterative-{stream_report}-{node-arch}': + node-arch: + - 2n-clx + - 2n-skx + - 2n-dnv + - 3n-skx + - 3n-hsw + - 3n-dnv + - 3n-tsh: + executor: 'ubuntu1804arm-us' + - 'csit-vpp-perf-report-coverage-{stream_report}-{node-arch}': + node-arch: + - 2n-clx + - 2n-skx + - 2n-dnv + - 3n-skx + - 3n-hsw + - 3n-dnv + - 3n-tsh: + executor: 'ubuntu1804arm-us' + - 'csit-dpdk-perf-report-coverage-{stream_report}-{node-arch}': node-arch: - 2n-clx - 2n-skx @@ -108,10 +138,6 @@ - 3n-dnv - 3n-tsh: executor: 'ubuntu1804arm-us' - stream: - - '2005': - branch: 'rls2005' - branch-id: 'oper-rls2005' project: 'csit' executor: 'ubuntu1804-us' @@ -132,6 +158,10 @@ - '2005': branch: 'rls2005' branch-id: 'oper-rls2005' + stream_report: + - '2005': + branch: 'rls2005' + branch-id: 'oper-rls2005' build-artifact-num-to-keep: 10 @@ -640,7 +670,7 @@ maven-version: 'mvn33-new' - job-template: - name: 'csit-vpp-perf-report-iterative-{stream}-{node-arch}' + name: 'csit-vpp-perf-report-iterative-{stream_report}-{node-arch}' description: | <ul> @@ -651,9 +681,13 @@ <li>job <ul> <li>name: - <b>csit-vpp-perf-report-iterative-{stream}-{node-arch}</b> + <b>csit-vpp-perf-report-iterative-{stream_report}- + {node-arch}</b> <li>trigger: keyword in comment to csit patch: - <b>csit-report-iter-{node-arch}-perftest</b> + <b>csit-vpp-report-iter-{node-arch}-perftest + test_set_id</b> + <li>trigger example: + csit-vpp-report-iter-{node-arch}-perftest vpp-00 </ul> <li>executor <ul> @@ -662,7 +696,8 @@ <li>perf test-cases selection <ul> <li>test-cases selected by tags defined in - <i>csit/docs/job_specs/report-iter-{node-arch}.md</i> + <i>csit/docs/job_specs/report_iterative/{node-arch}/ + test_set_id.md</i> </ul> <li>results @@ -713,7 +748,295 @@ - gerrit-trigger-csit-perftest: project: '{project}' branch: '{branch}' - trigger-word: 'csit-report-iter-{node-arch}-perftest' + trigger-word: 'csit-vpp-report-iter-{node-arch}-perftest' + skip-vote: false + + builders: + - shell: + !include-raw-escape: + - ../scripts/csit/perf-verify.sh + + publishers: + - robot: + output-path: archive + other-files: + - '*.*' + + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' + +- job-template: + name: 'csit-dpdk-perf-report-iterative-{stream_report}-{node-arch}' + + description: | + <ul> + <li>objective + <ul> + <li>get dpdk performance iterative data for csit report + </ul> + <li>job + <ul> + <li>name: + <b>csit-dpdk-perf-report-iterative-{stream_report}- + {node-arch}</b> + <li>trigger: keyword in comment to csit patch: + <b>csit-dpdk-report-iter-{node-arch}-perftest + test_set_id</b> + <li>trigger example: + csit-dpdk-report-iter-{node-arch}-perftest dpdk-00 + </ul> + <li>executor + <ul> + <li>{executor} + </ul> + <li>perf test-cases selection + <ul> + <li>test-cases selected by tags defined in + <i>csit/docs/job_specs/report_iterative/{node-arch}/ + test_set_id.md</i> + </ul> + + <li>results + <ul> + <li>jjb verify: PASS/FAIL + <li>present: dpdk performance + <li>analyse: dpdk performance + </ul> + </ul> + + project-type: freestyle + node: '{executor}' + concurrent: true + archive-artifacts: 'archive/*.*' + latest-only: false + + build-discarder: + daysToKeep: '{build-days-to-keep}' + numToKeep: '{build-num-to-keep}' + artifactDaysToKeep: '{build-artifact-days-to-keep}' + artifactNumToKeep: '{build-artifact-num-to-keep}' + + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: '{branch}' + - csit-perf-trial-duration-parameter: + csit-perf-trial-duration: "{csit-perf-trial-duration}" + - csit-perf-trial-multiplicity-parameter: + csit-perf-trial-multiplicity: "{csit-perf-trial-multiplicity}" + - string: + name: ARCHIVE_ARTIFACTS + default: '{archive-artifacts}' + description: Artifacts to archive to the logs server. + + scm: + - gerrit-trigger-scm: + credentials-id: 'jenkins-gerrit-credentials' + refspec: '$GERRIT_REFSPEC' + choosing-strategy: 'gerrit' + + wrappers: + - fdio-infra-wrappers-non-activity-timeout: + build-timeout: '{build-timeout}' + + triggers: + - gerrit-trigger-csit-perftest: + project: '{project}' + branch: '{branch}' + trigger-word: 'csit-dpdk-report-iter-{node-arch}-perftest' + skip-vote: false + + builders: + - shell: + !include-raw-escape: + - ../scripts/csit/perf-verify.sh + + publishers: + - robot: + output-path: archive + other-files: + - '*.*' + + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' + +- job-template: + name: 'csit-vpp-perf-report-coverage-{stream_report}-{node-arch}' + + description: | + <ul> + <li>objective + <ul> + <li>get vpp performance coverage data for csit report + </ul> + <li>job + <ul> + <li>name: + <b>csit-vpp-perf-report-coverage-{stream_report}- + {node-arch}</b> + <li>trigger: keyword in comment to csit patch: + <b>csit-vpp-report-cov-{node-arch}-perftest + test_set_id</b> + <li>trigger example: + csit-vpp-report-cov-{node-arch}-perftest ip4-00 + </ul> + <li>executor + <ul> + <li>{executor} + </ul> + <li>perf test-cases selection + <ul> + <li>test-cases selected by tags defined in + <i>csit/docs/job_specs/report_coverage/{node-arch}/ + test_set_id.md</i> + </ul> + + <li>results + <ul> + <li>jjb verify: PASS/FAIL + <li>present: vpp performance + <li>analyse: vpp performance + </ul> + </ul> + + project-type: freestyle + node: '{executor}' + concurrent: true + archive-artifacts: 'archive/*.*' + latest-only: false + + build-discarder: + daysToKeep: '{build-days-to-keep}' + numToKeep: '{build-num-to-keep}' + artifactDaysToKeep: '{build-artifact-days-to-keep}' + artifactNumToKeep: '{build-artifact-num-to-keep}' + + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: '{branch}' + - csit-perf-trial-duration-parameter: + csit-perf-trial-duration: "{csit-perf-trial-duration}" + - csit-perf-trial-multiplicity-parameter: + csit-perf-trial-multiplicity: "{csit-perf-trial-multiplicity}" + - string: + name: ARCHIVE_ARTIFACTS + default: '{archive-artifacts}' + description: Artifacts to archive to the logs server. + + scm: + - gerrit-trigger-scm: + credentials-id: 'jenkins-gerrit-credentials' + refspec: '$GERRIT_REFSPEC' + choosing-strategy: 'gerrit' + + wrappers: + - fdio-infra-wrappers-non-activity-timeout: + build-timeout: '{build-timeout}' + + triggers: + - gerrit-trigger-csit-perftest: + project: '{project}' + branch: '{branch}' + trigger-word: 'csit-vpp-report-cov-{node-arch}-perftest' + skip-vote: false + + builders: + - shell: + !include-raw-escape: + - ../scripts/csit/perf-verify.sh + + publishers: + - robot: + output-path: archive + other-files: + - '*.*' + + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' + +- job-template: + name: 'csit-dpdk-perf-report-coverage-{stream_report}-{node-arch}' + + description: | + <ul> + <li>objective + <ul> + <li>get dpdk performance coverage data for csit report + </ul> + <li>job + <ul> + <li>name: + <b>csit-dpdk-perf-report-coverage-{stream_report}- + {node-arch}</b> + <li>trigger: keyword in comment to csit patch: + <b>csit-dpdk-report-cov-{node-arch}-perftest + test_set_id</b> + <li>trigger example: + csit-dpdk-report-cov-{node-arch}-perftest dpdk-00 + </ul> + <li>executor + <ul> + <li>{executor} + </ul> + <li>perf test-cases selection + <ul> + <li>test-cases selected by tags defined in + <i>csit/docs/job_specs/report_coverage/{node-arch}/ + test_set_id.md</i> + </ul> + + <li>results + <ul> + <li>jjb verify: PASS/FAIL + <li>present: dpdk performance + <li>analyse: dpdk performance + </ul> + </ul> + + project-type: freestyle + node: '{executor}' + concurrent: true + archive-artifacts: 'archive/*.*' + latest-only: false + + build-discarder: + daysToKeep: '{build-days-to-keep}' + numToKeep: '{build-num-to-keep}' + artifactDaysToKeep: '{build-artifact-days-to-keep}' + artifactNumToKeep: '{build-artifact-num-to-keep}' + + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: '{branch}' + - csit-perf-trial-duration-parameter: + csit-perf-trial-duration: "{csit-perf-trial-duration}" + - csit-perf-trial-multiplicity-parameter: + csit-perf-trial-multiplicity: "{csit-perf-trial-multiplicity}" + - string: + name: ARCHIVE_ARTIFACTS + default: '{archive-artifacts}' + description: Artifacts to archive to the logs server. + + scm: + - gerrit-trigger-scm: + credentials-id: 'jenkins-gerrit-credentials' + refspec: '$GERRIT_REFSPEC' + choosing-strategy: 'gerrit' + + wrappers: + - fdio-infra-wrappers-non-activity-timeout: + build-timeout: '{build-timeout}' + + triggers: + - gerrit-trigger-csit-perftest: + project: '{project}' + branch: '{branch}' + trigger-word: 'csit-dpdk-report-cov-{node-arch}-perftest' skip-vote: false builders: diff --git a/jjb/global-defaults.yaml b/jjb/global-defaults.yaml index cba706d7..d77b53d7 100644 --- a/jjb/global-defaults.yaml +++ b/jjb/global-defaults.yaml @@ -24,6 +24,9 @@ # voting skip-vote: false + # build + make-parallel-jobs: 4 + # CSIT csit-perf-trial-duration: 1.0 csit-perf-trial-multiplicity: 1 diff --git a/jjb/global-macros.yaml b/jjb/global-macros.yaml index 066e0f75..66a70ba4 100644 --- a/jjb/global-macros.yaml +++ b/jjb/global-macros.yaml @@ -33,6 +33,14 @@ description: "CC parameter, can be gnu or clang" - parameter: + name: make-parallel-jobs-parameter + parameters: + - string: + name: MAKE_PARALLEL_JOBS + default: '{make-parallel-jobs}' + description: "The number of cores to use for builds." + +- parameter: name: csit-fail-on-crc-mismatch-parameter parameters: - string: diff --git a/jjb/hicn/hicn.yaml b/jjb/hicn/hicn.yaml index 055ee860..4f6f18f9 100644 --- a/jjb/hicn/hicn.yaml +++ b/jjb/hicn/hicn.yaml @@ -8,8 +8,6 @@ os: - ubuntu1804: repo-os-part: 'ubuntu.bionic.main' - - ubuntu1604: - repo-os-part: 'ubuntu.xenial.main' - centos7: repo-os-part: 'centos7' @@ -34,8 +32,6 @@ os: - ubuntu1804: repo-os-part: 'ubuntu.bionic.main' - - ubuntu1604: - repo-os-part: 'ubuntu.xenial.main' - centos7: repo-os-part: 'centos7' @@ -112,8 +108,6 @@ os: - ubuntu1804: repo-os-part: 'ubuntu.bionic.main' - - ubuntu1604: - repo-os-part: 'ubuntu.xenial.main' - centos7: repo-os-part: 'centos7' @@ -175,7 +169,7 @@ - os-parameter: os: '{os}' - repo-name-parameter: - repo-name: '{repo-stream-part}.ubuntu.xenial.main' + repo-name: '{repo-stream-part}.ubuntu.bionic.main' - string: name: ARCHIVE_ARTIFACTS default: '{archive-artifacts}' @@ -382,7 +376,7 @@ - maven-exec: maven-version: 'mvn33-new' - stream-parameter: - stream: 'release' + stream: 'hicn' - repo-name-parameter: repo-name: '{repo-stream-part}.{repo-os-part}' - string: @@ -470,7 +464,7 @@ - maven-exec: maven-version: 'mvn33-new' - stream-parameter: - stream: 'release' + stream: 'hicn' - repo-name-parameter: repo-name: '{repo-stream-part}.{repo-os-part}' - string: @@ -637,7 +631,7 @@ - maven-exec: maven-version: 'mvn33-new' - stream-parameter: - stream: 'release' + stream: 'hicn' - repo-name-parameter: repo-name: '{repo-stream-part}.{repo-os-part}' - string: @@ -794,7 +788,7 @@ - maven-exec: maven-version: 'mvn33-new' - stream-parameter: - stream: 'release' + stream: 'hicn' - repo-name-parameter: repo-name: '{repo-stream-part}.{repo-os-part}' - string: diff --git a/jjb/scripts/setup_vpp_ubuntu_arm_test.sh b/jjb/scripts/setup_vpp_ubuntu_arm_test.sh deleted file mode 100644 index 45226d30..00000000 --- a/jjb/scripts/setup_vpp_ubuntu_arm_test.sh +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/bash -############################################################################## -# Copyright (c) 2018 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 -############################################################################## -set -e -o pipefail - -OS_ID=$(grep '^ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g') - -if ! [ -z ${DOCKER_TEST} ] ; then - mount -o remount /dev/shm -o size=2G || true - echo "/dev/shm remounted" -fi - -##container server node detection -grep search /etc/resolv.conf || true - -if [ "${OS_ID}" == "ubuntu" ]; then - dpkg-query -W -f='${binary:Package}\t${Version}\n' || true - echo "************************************************************************" - echo "pip list:" - pip list || true - echo "************************************************************************" - echo "Contents of /var/cache/vpp/python/virtualenv/lib/python2.7/site-packages:" - ls -lth /var/cache/vpp/python/virtualenv/lib/python2.7/site-packages || true - echo "************************************************************************" - echo "Contents of br Downloads:" - ls -lth /w/Downloads || true - echo "************************************************************************" - echo "Contents of /w/dpdk for test folks:" - echo "************************************************************************" - ls -lth /w/dpdk || true -elif [ "${OS_ID}" == "centos" ]; then - yum list installed || true - pip list || true -elif [ "${OS_ID}" == "opensuse" ]; then - yum list installed || true - pip list || true -fi - -##This will remove any previously installed dpdk for old branch builds - -if [ "${GERRIT_BRANCH}" != "master" ]; then - if [ "${OS_ID}" == "ubuntu" ]; then - apt-get -y remove vpp-dpdk-dev || true - apt-get -y remove vpp-dpdk-dkms || true - apt-get -y remove vpp-ext-deps || true - elif [ "${OS_ID}" == "centos" ]; then - yum -y erase vpp-dpdk-devel || true - yum -y erase vpp-ext-deps || true - yum clean all || true - elif [ "${OS_ID}" == "opensuse" ]; then - yum -y erase vpp-dpdk-devel || true - yum -y erase vpp-ext-deps || true - fi -fi diff --git a/jjb/scripts/setup_vpp_ubuntu_docker_test.sh b/jjb/scripts/setup_vpp_ubuntu_docker_test.sh index fe6a0fcb..bdc1257f 100644 --- a/jjb/scripts/setup_vpp_ubuntu_docker_test.sh +++ b/jjb/scripts/setup_vpp_ubuntu_docker_test.sh @@ -16,7 +16,7 @@ if ! [ -z ${DOCKER_TEST} ] ; then # framework.VppTestCase.MIN_REQ_SHM + (num_cores * framework.VppTestCase.SHM_PER_PROCESS) # 1073741824 == 1024M (1073741824 >> 20) MEM=1024M - if [[ $(uname -m) == 'aarch64' ]] + if [[ ${MAKE_PARALLEL_JOBS} == '16' ]] then # arm build are running with 16 cores, empirical evidence shows # that 2048M is enough diff --git a/jjb/scripts/vpp/api-checkstyle.sh b/jjb/scripts/vpp/api-checkstyle.sh new file mode 100644 index 00000000..90740337 --- /dev/null +++ b/jjb/scripts/vpp/api-checkstyle.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +VPP_CRC_CHECKER="extras/scripts/crcchecker.py" +VPP_CRC_CHECKER_CMD="$VPP_CRC_CHECKER --check-patchset" + +send_notify() { + # 'roomId' field from the response of: + # curl https://api.ciscospark.com/v1/memberships -H "Authorization: Bearer ${SECRET_WEBEX_TEAMS_ACCESS_TOKEN}" + WEBEX_TEAMS_ROOM_ID='Y2lzY29zcGFyazovL3VzL1JPT00vMzUzZmI3OTAtYTVjNS0xMWVhLWI4ZjYtMDUxN2I4NzFmOWU5' + curl https://api.ciscospark.com/v1/messages -X POST -H "Authorization: Bearer ${SECRET_WEBEX_TEAMS_ACCESS_TOKEN}" -H "Content-Type: application/json" --data '{"roomId":"'${WEBEX_TEAMS_ROOM_ID}'", "markdown": "'"${WEBEX_TEAMS_MESSAGE}"'" }' || true +} + +if [ -f $VPP_CRC_CHECKER ]; then + echo "Running $VPP_CRC_CHECKER_CMD" + if $VPP_CRC_CHECKER_CMD; then + echo "API check successful" + + # for now - notify the same room during the monitoring period about the successes as well + WEBEX_TEAMS_MESSAGE="API check successful for $GERRIT_REFSPEC - see $BUILD_URL" + send_notify + else + RET_CODE=$? + echo "API check failed: ret code $RET_CODE; please read https://wiki.fd.io/view/VPP/ApiChangeProcess and discuss with ayourtch@gmail.com if unsure how to proceed" + WEBEX_TEAMS_MESSAGE="API check FAILED for $GERRIT_REFSPEC - see $BUILD_URL" + send_notify + exit $RET_CODE + fi +else + echo "Cannot find $VPP_CRC_CHECKER - skipping API compatibility check" +fi diff --git a/jjb/scripts/vpp/arm-build-no-test.sh b/jjb/scripts/vpp/arm-build-no-test.sh deleted file mode 100644 index ae5aa34d..00000000 --- a/jjb/scripts/vpp/arm-build-no-test.sh +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/bash - -# This script wants environment variables -# set by parallel-vars.sh script. -# Otherwise "make test" is not parallelized, -# possibly leading to jobs overstepping their time limit. - -# basic build script example -set -xe -o pipefail - -OS_ID=$(grep '^ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g') -OS_VERSION_ID=$(grep '^VERSION_ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g') - -echo OS_ID: $OS_ID -echo OS_VERSION_ID: $OS_VERSION_ID - -# do nothing but print the current slave hostname -hostname -export CCACHE_DIR=/tmp/ccache -if [ -d $CCACHE_DIR ];then - echo $CCACHE_DIR exists - du -sk $CCACHE_DIR -else - echo $CCACHE_DIR does not exist. This must be a new slave. -fi - -echo "cat /etc/bootstrap.sha" -if [ -f /etc/bootstrap.sha ];then - cat /etc/bootstrap.sha -else - echo "Cannot find cat /etc/bootstrap.sha" -fi - -echo "cat /etc/bootstrap-functions.sha" -if [ -f /etc/bootstrap-functions.sha ];then - cat /etc/bootstrap-functions.sha -else - echo "Cannot find cat /etc/bootstrap-functions.sha" -fi - -echo "sha1sum of this script: ${0}" -sha1sum $0 - -echo "CC=${CC}" - -make UNATTENDED=yes install-dep -make UNATTENDED=yes dpdk-install-dev -make UNATTENDED=yes -C build-root PLATFORM=vpp TAG=vpp wipe-all install-packages -make UNATTENDED=yes -C build-root PLATFORM=vpp TAG=vpp sample-plugin-install -make UNATTENDED=yes -C build-root PLATFORM=vpp TAG=vpp libmemif-install -make UNATTENDED=yes pkg-deb - -if [ "x${VPP_REPO}" == "x1" ]; then - if [ "x${REBASE_NEEDED}" == "x1" ]; then - echo "This patch to vpp is based on an old point in the tree that is likely" - echo "to fail verify." - echo "PLEASE REBASE PATCH ON THE CURRENT HEAD OF THE VPP REPO" - exit 1 - fi -fi - -echo "*******************************************************************" -echo "* VPP ARM BUILD SUCCESSFULLY COMPLETED" -echo "*******************************************************************" diff --git a/jjb/scripts/vpp/arm-build.sh b/jjb/scripts/vpp/arm-build.sh deleted file mode 100644 index 2abe6105..00000000 --- a/jjb/scripts/vpp/arm-build.sh +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/bash - -# This script wants environment variables -# set by parallel-vars.sh script. -# Otherwise "make test" is not parallelized, -# possibly leading to jobs overstepping their time limit. - -# basic build script example -set -xe -o pipefail - -OS_ID=$(grep '^ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g') -OS_VERSION_ID=$(grep '^VERSION_ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g') - -echo OS_ID: $OS_ID -echo OS_VERSION_ID: $OS_VERSION_ID - -# do nothing but print the current slave hostname -hostname -export CCACHE_DIR=/tmp/ccache -if [ -d $CCACHE_DIR ];then - echo $CCACHE_DIR exists - du -sk $CCACHE_DIR -else - echo $CCACHE_DIR does not exist. This must be a new slave. -fi - -echo "cat /etc/bootstrap.sha" -if [ -f /etc/bootstrap.sha ];then - cat /etc/bootstrap.sha -else - echo "Cannot find cat /etc/bootstrap.sha" -fi - -echo "cat /etc/bootstrap-functions.sha" -if [ -f /etc/bootstrap-functions.sha ];then - cat /etc/bootstrap-functions.sha -else - echo "Cannot find cat /etc/bootstrap-functions.sha" -fi - -echo "sha1sum of this script: ${0}" -sha1sum $0 - -echo "CC=${CC}" -echo "IS_CSIT_VPP_JOB=${IS_CSIT_VPP_JOB}" -# If and only if we are doing verify *after* make verify was made to work -# and we are not a CSIT job just building packages, then use make verify, -# else use the old build-root/vagrant/build.sh -if (git log --oneline | grep 37682e1 > /dev/null 2>&1) && \ - [ "x${IS_CSIT_VPP_JOB}" != "xTrue" ] -then - echo "Building using \"make verify\"" - [ "x${DRYRUN}" == "xTrue" ] || make UNATTENDED=yes verify SKIP_AARCH64=yes -else - echo "Building using \"make build-root/vagrant/build.sh\"" - [ "x${DRYRUN}" == "xTrue" ] || make UNATTENDED=yes install-dep - [ "x${DRYRUN}" == "xTrue" ] || make UNATTENDED=yes dpdk-install-dev - [ "x${DRYRUN}" == "xTrue" ] || build-root/vagrant/build.sh -fi - -if [ "x${VPP_REPO}" == "x1" ]; then - if [ "x${REBASE_NEEDED}" == "x1" ]; then - echo "This patch to vpp is based on an old point in the tree that is likely" - echo "to fail verify." - echo "PLEASE REBASE PATCH ON THE CURRENT HEAD OF THE VPP REPO" - exit 1 - fi -fi - -echo "*******************************************************************" -echo "* VPP ARM BUILD SUCCESSFULLY COMPLETED" -echo "*******************************************************************" diff --git a/jjb/scripts/vpp/build.sh b/jjb/scripts/vpp/build.sh index 6fdaec13..c6ab0d65 100644 --- a/jjb/scripts/vpp/build.sh +++ b/jjb/scripts/vpp/build.sh @@ -40,11 +40,26 @@ echo "IS_CSIT_VPP_JOB=${IS_CSIT_VPP_JOB}" # If and only if we are doing verify *after* make verify was made to work # and we are not a CSIT job just building packages, then use make verify, # else use make pkg-verify. +if [ "x${MAKE_PARALLEL_JOBS}" != "x" ] +then + echo "Building with MAKE_PARALLEL_JOBS=${MAKE_PARALLEL_JOBS}" + export TEST_JOBS="${MAKE_PARALLEL_JOBS}" +else + export TEST_JOBS="auto" +fi + +if [ "x${MAKE_PARALLEL_FLAGS}" != "x" ] +then + echo "Building with MAKE_PARALLEL_FLAGS=${MAKE_PARALLEL_FLAGS}" +fi + +echo "Building with TEST_JOBS=${TEST_JOBS}" + if (git log --oneline | grep 37682e1 > /dev/null 2>&1) && \ [ "x${IS_CSIT_VPP_JOB}" != "xTrue" ] then echo "Building using \"make verify\"" - [ "x${DRYRUN}" == "xTrue" ] || make UNATTENDED=yes TEST_JOBS=auto verify + [ "x${DRYRUN}" == "xTrue" ] || make UNATTENDED=yes verify else echo "Building using \"make pkg-verify\"" [ "x${DRYRUN}" == "xTrue" ] || make UNATTENDED=yes pkg-verify @@ -59,6 +74,8 @@ if [ "x${VPP_REPO}" == "x1" ]; then fi fi +local_arch=$(uname -m) + echo "*******************************************************************" -echo "* VPP BUILD SUCCESSFULLY COMPLETED" +echo "* VPP ${local_arch^^} BUILD SUCCESSFULLY COMPLETED" echo "*******************************************************************" diff --git a/jjb/scripts/vpp/clang-build.sh b/jjb/scripts/vpp/debug-build.sh index b1bed417..cdf1d076 100644 --- a/jjb/scripts/vpp/clang-build.sh +++ b/jjb/scripts/vpp/debug-build.sh @@ -28,13 +28,22 @@ fi echo "sha1sum of this script: ${0}" sha1sum $0 + +# run with ASAN on +# export VPP_EXTRA_CMAKE_ARGS='-DVPP_ENABLE_SANITIZE_ADDR=ON' + +# clang is not working with ASAN right now - see change 27268 +# apparently gcc neither... +# export CC=gcc + + + make UNATTENDED=yes install-dep make UNATTENDED=yes install-ext-deps -make UNATTENDED=yes -C build-root PLATFORM=vpp TAG=vpp_clang CC=clang CXX=clang install-packages -make UNATTENDED=yes -C build-root PLATFORM=vpp TAG=vpp_clang CC=clang CXX=clang sample-plugin-install -make UNATTENDED=yes -C build-root PLATFORM=vpp TAG=vpp_clang CC=clang CXX=clang libmemif-install +make UNATTENDED=yes build +make UNATTENDED=yes TEST_JOBS=auto test-debug echo "*******************************************************************" -echo "* VPP CLANG BUILD SUCCESSFULLY COMPLETED" +echo "* VPP debug/asan test BUILD SUCCESSFULLY COMPLETED" echo "*******************************************************************" diff --git a/jjb/scripts/vpp/parallel-vars.sh b/jjb/scripts/vpp/parallel-vars.sh deleted file mode 100644 index 1a5de149..00000000 --- a/jjb/scripts/vpp/parallel-vars.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash -CORES=4 -if [[ $(uname -m) == 'aarch64' ]] -then - CORES=16 -fi - -echo "Using MAKE_PARALLEL_FLAGS='-j $CORES' TEST_JOBS=$CORES for parallel build/test" - -export MAKE_PARALLEL_FLAGS="-j $CORES" -export TEST_JOBS=$CORES diff --git a/jjb/vpp/vpp.yaml b/jjb/vpp/vpp.yaml index 70c0ddaa..0bad3f1a 100644 --- a/jjb/vpp/vpp.yaml +++ b/jjb/vpp/vpp.yaml @@ -3,6 +3,7 @@ name: vpp jobs: - 'vpp-verify-{stream}-{os}' + - 'vpp-verify-{stream}-debug' - 'vpp-merge-{stream}-{os}' project: 'vpp' @@ -49,7 +50,6 @@ - project: name: vpp-clang jobs: - - 'vpp-verify-{stream}-clang' - 'vpp-coverity-{stream}' project: 'vpp' @@ -95,7 +95,8 @@ - project: name: vpp-perpatch jobs: - - 'vpp-csit-verify-device-{stream}-{device-node-arch}' + - 'vpp-csit-verify-device-{stream}-{device-node-arch}': + make-parallel-jobs: '32' - 'vpp-csit-verify-perf-{stream}-{node-arch}' project: 'vpp' os: ubuntu1804 @@ -133,6 +134,7 @@ - 3n-dnv - 3n-tsh: executor: 'ubuntu1804arm-s' + make-parallel-jobs: '16' exclude: - stream: '1904' os: 'ubuntu1804' @@ -189,6 +191,7 @@ os: - ubuntu1804: repo-os-part: 'ubuntu-arm.bionic.main' + make-parallel-jobs: '16' # TODO: Merge with (e.g.) vpp-perpatch or similar, # when number of stable branches supported matches. @@ -257,6 +260,8 @@ name: ARCHIVE_ARTIFACTS default: '{archive-artifacts}' description: Artifacts to archive to the logs server. + - make-parallel-jobs-parameter: + make-parallel-jobs: '{make-parallel-jobs}' scm: - gerrit-trigger-scm: @@ -314,6 +319,8 @@ name: ARCHIVE_ARTIFACTS default: '{archive-artifacts}' description: Artifacts to archive to the logs server. + - make-parallel-jobs-parameter: + make-parallel-jobs: '{make-parallel-jobs}' scm: - gerrit-trigger-scm: @@ -388,6 +395,9 @@ name: ARCHIVE_ARTIFACTS default: '{archive-artifacts}' description: Artifacts to archive to the logs server. + - make-parallel-jobs-parameter: + make-parallel-jobs: '{make-parallel-jobs}' + - gerrit-refspec-parameter scm: - gerrit-trigger-scm: @@ -407,15 +417,13 @@ builders: - shell: !include-raw-escape: - - ../scripts/setup_vpp_ubuntu_arm_test.sh + - ../scripts/setup_vpp_ubuntu_docker_test.sh - shell: !include-raw-escape: - ../scripts/setup_vpp_dpdk_dev_env.sh - shell: !include-raw-escape: - - ../scripts/vpp/parallel-vars.sh - # Do not split, the line below wants env vars from the line above. - - ../scripts/vpp/arm-build.sh + - ../scripts/vpp/build.sh publishers: - fdio-infra-shiplogs: @@ -425,7 +433,7 @@ name: 'vpp-arm-merge-{stream}-{os}' project-type: freestyle - node: '{os}arm-m' + node: '{os}arm-us' build-discarder: daysToKeep: '{build-days-to-keep}' @@ -452,6 +460,9 @@ name: ARCHIVE_ARTIFACTS default: '{archive-artifacts}' description: Artifacts to archive to the logs server. + - make-parallel-jobs-parameter: + make-parallel-jobs: '{make-parallel-jobs}' + - gerrit-refspec-parameter scm: - gerrit-trigger-scm: @@ -479,15 +490,16 @@ target: '/root' - shell: !include-raw-escape: - - ../scripts/setup_vpp_ubuntu_arm_test.sh + - ../scripts/vpp/checkstyle.sh + - shell: + !include-raw-escape: + - ../scripts/setup_vpp_ubuntu_docker_test.sh - shell: !include-raw-escape: - ../scripts/setup_vpp_dpdk_dev_env.sh - shell: !include-raw-escape: - - ../scripts/vpp/parallel-vars.sh - # Do not split, the line below wants env vars from the line above. - - ../scripts/vpp/arm-build-no-test.sh + - ../scripts/vpp/build.sh - provide-maven-settings: settings-file: 'vpp-settings' @@ -523,6 +535,7 @@ os: '{os}' - repo-name-parameter: repo-name: '{repo-stream-part}.ubuntu.bionic.main' + - gerrit-refspec-parameter scm: - gerrit-trigger-scm: @@ -533,6 +546,11 @@ wrappers: - fdio-infra-wrappers: build-timeout: '{build-timeout}' + - credentials-binding: + - text: + credential-id: VppApiCompatNotify + variable: SECRET_WEBEX_TEAMS_ACCESS_TOKEN + triggers: - gerrit: @@ -594,6 +612,9 @@ - ../scripts/vpp/test-checkstyle.sh - shell: !include-raw-escape: + - ../scripts/vpp/api-checkstyle.sh + - shell: + !include-raw-escape: - ../scripts/vpp/commitmsg.sh publishers: @@ -629,6 +650,8 @@ name: ARCHIVE_ARTIFACTS default: '{archive-artifacts}' description: Artifacts to archive to the logs server. + - make-parallel-jobs-parameter: + make-parallel-jobs: '{make-parallel-jobs}' scm: - gerrit-trigger-scm: @@ -690,6 +713,9 @@ name: ARCHIVE_ARTIFACTS default: '{archive-artifacts}' description: Artifacts to archive to the logs server. + - make-parallel-jobs-parameter: + make-parallel-jobs: '{make-parallel-jobs}' + - gerrit-refspec-parameter scm: - gerrit-trigger-scm: @@ -722,7 +748,7 @@ maven-version: 'mvn36' - job-template: - name: 'vpp-verify-{stream}-clang' + name: 'vpp-verify-{stream}-debug' project-type: freestyle node: 'ubuntu1804-us' @@ -746,6 +772,9 @@ repo-name: '{repo-stream-part}.ubuntu.bionic.main' - stream-parameter: stream: '{stream}' + - make-parallel-jobs-parameter: + make-parallel-jobs: '{make-parallel-jobs}' + - gerrit-refspec-parameter scm: - gerrit-trigger-scm: @@ -771,7 +800,7 @@ - ../scripts/setup_vpp_dpdk_dev_env.sh - shell: !include-raw-escape: - - ../scripts/vpp/clang-build.sh + - ../scripts/vpp/debug-build.sh publishers: - fdio-infra-shiplogs: @@ -907,6 +936,9 @@ name: ARCHIVE_ARTIFACTS default: '{archive-artifacts}' description: Artifacts to archive to the logs server. + - make-parallel-jobs-parameter: + make-parallel-jobs: '{make-parallel-jobs}' + - gerrit-refspec-parameter scm: - gerrit-trigger-scm: @@ -986,6 +1018,8 @@ name: ARCHIVE_ARTIFACTS default: '{archive-artifacts}' description: Artifacts to archive to the logs server. + - make-parallel-jobs-parameter: + make-parallel-jobs: '{make-parallel-jobs}' scm: - gerrit-trigger-scm: @@ -1076,6 +1110,8 @@ name: ARCHIVE_ARTIFACTS default: '{archive-artifacts}' description: Artifacts to archive to the logs server. + - make-parallel-jobs-parameter: + make-parallel-jobs: '{make-parallel-jobs}' scm: - gerrit-trigger-scm: @@ -1162,6 +1198,8 @@ name: ARCHIVE_ARTIFACTS default: '{archive-artifacts}' description: Artifacts to archive to the logs server. + - make-parallel-jobs-parameter: + make-parallel-jobs: '{make-parallel-jobs}' scm: - gerrit-trigger-scm: |