diff options
Diffstat (limited to 'docker')
59 files changed, 1511 insertions, 18 deletions
diff --git a/docker/LICENSE b/docker/LICENSE new file mode 100644 index 000000000..20f96ba86 --- /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 000000000..2cbe9cd3f --- /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 000000000..288c49b19 --- /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 000000000..574268450 --- /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 000000000..85ad6f74a --- /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 000000000..2ca579fdf --- /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 000000000..ba212dc96 --- /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 000000000..4a6fe9656 --- /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 2975df13a..000000000 --- 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 000000000..2270aff09 --- /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 000000000..b3b279fed --- /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 000000000..92f8a3435 --- /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 000000000..8484a711b --- /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 000000000..8dd13540f --- /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 000000000..7e72d666a --- /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 000000000..2270aff09 --- /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 000000000..98322206d --- /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 000000000..9f5374895 --- /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 000000000..3fdc8d373 --- /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 000000000..8dd13540f --- /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 000000000..2270aff09 --- /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 000000000..b3b279fed --- /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 000000000..92f8a3435 --- /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 000000000..8484a711b --- /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 000000000..8dd13540f --- /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 000000000..7e72d666a --- /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 000000000..16828095f --- /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 000000000..81df950b2 --- /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 000000000..2270aff09 --- /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 000000000..9083b454e --- /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 000000000..b3b279fed --- /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 000000000..92f8a3435 --- /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 000000000..8484a711b --- /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 000000000..8dd13540f --- /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 000000000..7e72d666a --- /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 000000000..2270aff09 --- /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 000000000..8484a711b --- /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 000000000..98322206d --- /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 000000000..9f5374895 --- /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 000000000..3fdc8d373 --- /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 000000000..8dd13540f --- /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 000000000..2270aff09 --- /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 000000000..32f73674f --- /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 000000000..bd66af502 --- /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 000000000..2d856174c --- /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 000000000..8484a711b --- /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 000000000..98322206d --- /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 000000000..9f5374895 --- /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 000000000..3fdc8d373 --- /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 000000000..8dd13540f --- /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 000000000..2270aff09 --- /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 000000000..32f73674f --- /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 000000000..bd66af502 --- /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 000000000..2d856174c --- /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 000000000..8484a711b --- /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 000000000..98322206d --- /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 000000000..9f5374895 --- /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 000000000..3fdc8d373 --- /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 000000000..8dd13540f --- /dev/null +++ b/docker/vpp/vpp-ubuntu20/files/sshconfig @@ -0,0 +1,3 @@ +Host * + StrictHostKeyChecking no + UserKnownHostsFile=/dev/null |