summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVratko Polak <vrpolak@cisco.com>2020-04-29 09:10:13 +0000
committerGerrit Code Review <gerrit@fd.io>2020-04-29 09:10:13 +0000
commit9696361748c7f75bb904934986bd181145bbc1ac (patch)
treeb057a23956d65e52be5c7ba55e5b9c7791ebd088
parentf8c638bf34bd00b5404be9464488b4b0c2ad0fc0 (diff)
parent01a9fa13cd483e24912af9906e4a3dd0d0e7ad57 (diff)
Merge "Import VPP docker files from github"
-rw-r--r--docker/vpp/README18
-rw-r--r--docker/vpp/vpp-arm-centos8/Dockerfile367
-rw-r--r--docker/vpp/vpp-arm-ubuntu16/Dockerfile179
-rw-r--r--docker/vpp/vpp-arm-ubuntu18/Dockerfile325
-rw-r--r--docker/vpp/vpp-centos/Dockerfile367
-rw-r--r--docker/vpp/vpp-centos8/Dockerfile387
-rw-r--r--docker/vpp/vpp-ubuntu16/Dockerfile248
-rw-r--r--docker/vpp/vpp-ubuntu18/Dockerfile342
-rw-r--r--docker/vpp/vpp-ubuntu20/Dockerfile339
9 files changed, 2572 insertions, 0 deletions
diff --git a/docker/vpp/README b/docker/vpp/README
new file mode 100644
index 00000000..2975df13
--- /dev/null
+++ b/docker/vpp/README
@@ -0,0 +1,18 @@
+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/Dockerfile b/docker/vpp/vpp-arm-centos8/Dockerfile
new file mode 100644
index 00000000..5f1036a5
--- /dev/null
+++ b/docker/vpp/vpp-arm-centos8/Dockerfile
@@ -0,0 +1,367 @@
+FROM centos:8
+MAINTAINER Ed Kern <ejk@cisco.com>
+LABEL Description="VPP centos8 OS build image"
+LABEL Vendor="cisco.com"
+LABEL Version="0.01"
+
+# Setup the environment
+
+RUN mkdir /workspace && mkdir -p /etc/ssh && mkdir -p /var/ccache
+
+ENV CCACHE_DIR=/var/ccache
+ENV MAKE_PARALLEL_FLAGS -j 4
+ENV VPP_ZOMBIE_NOCHECK=1
+ENV DPDK_DOWNLOAD_DIR=/w/Downloads
+ENV VPP_PYTHON_PREFIX=/var/cache/vpp/python
+ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8'
+ENV NOTVISIBLE "in users profile"
+
+#SSH timeout
+#RUN touch /etc/ssh/ssh_config
+RUN echo "TCPKeepAlive true" | tee -a /etc/ssh/ssh_config #>/dev/null 2>&1
+RUN echo "ServerAliveCountMax 30" | tee -a /etc/ssh/ssh_config #>/dev/null 2>&1
+RUN echo "ServerAliveInterval 10" | tee -a /etc/ssh/ssh_config #>/dev/null 2>&1
+
+# Configure locales
+#RUN localectl set-locale "en_US.UTF-8" \
+# && localectl status
+
+#module
+RUN echo uio_pci_generic >> /etc/modules
+
+
+#RUN yum update -y && yum install -y deltarpm && yum clean all
+#RUN yum update -y && yum install -y @base https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm && yum clean all
+RUN yum update -y && yum install -y epel-release && yum clean all
+RUN yum update -y && yum install -y --enablerepo=epel \
+ chrpath \
+ git \
+# git-review \
+ java-*-openjdk-devel \
+ jq \
+# lcov \
+ make \
+# nasm \
+ sudo \
+ unzip \
+ xz \
+ wget \
+ && yum clean all
+
+#packer install
+#RUN wget https://releases.hashicorp.com/packer/1.1.3/packer_1.1.3_linux_amd64.zip && unzip packer_1.1.3_linux_amd64.zip -d /usr/local/bin/ && mv /usr/local/bin/packer /usr/local/bin/packer.io
+
+
+RUN yum update -y && yum install -y --enablerepo=epel \
+ asciidoc \
+ apr-devel \
+ cpp \
+# c++ \
+ cmake \
+# dblatex \
+# doxygen \
+ epel-rpm-macros \
+ gcc \
+ graphviz \
+ indent \
+ kernel-devel \
+ libxml2 \
+ libffi-devel \
+ make \
+ openssl-devel \
+ python2-devel \
+ python2-virtualenv \
+ python2-setuptools \
+# python2-cffi \
+ python2-pip \
+ python2-jinja2 \
+ # python2-sphinx \
+ source-highlight \
+ rpm \
+ valgrind \
+ yum-utils \
+ && yum clean all
+
+RUN yum update -y && yum install -y --enablerepo=epel \
+# ganglia-devel \
+ libconfuse-devel \
+ mock \
+ && yum clean all
+
+#RUN alternatives --set java /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
+#RUN alternatives --set java_sdk_openjdk /usr/lib/jvm/java-1.7.0-openjdk.x86_64
+
+RUN pip2 install --upgrade pip
+RUN pip2 install pycap scapy
+
+RUN yum update -y && yum install -y --enablerepo=epel \
+ autoconf \
+ automake \
+ bison \
+ ccache \
+ cscope \
+ curl \
+ dkms \
+ git \
+# git-review \
+ libtool \
+# libconfuse-dev \
+# libpcap-devel \
+ libcap-devel \
+ scapy \
+ && yum clean all
+
+#puppet
+RUN yum update -y && yum install -y --enablerepo=epel \
+ libxml2-devel \
+ libxslt-devel \
+ ruby-devel \
+ zlib-devel \
+ gcc-c++ \
+ && yum clean all
+
+#outdated ruby pos
+RUN yum update -y && yum install -y --enablerepo=epel \
+ git-core \
+ zlib \
+ zlib-devel \
+ gcc-c++ \
+ patch \
+ readline \
+ readline-devel \
+# libyaml-devel \
+ libffi-devel \
+ openssl-devel \
+ make \
+ bzip2 \
+ autoconf \
+ automake \
+ libtool \
+ bison \
+ curl \
+ sqlite-devel \
+ && yum clean all
+
+ENV PATH="/root/.rbenv/bin:${PATH}"
+ENV PATH="/root/.rbenv/shims:${PATH}"
+
+RUN curl -sL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-installer | bash -
+RUN rbenv init -
+RUN rbenv install 2.5.1 && rbenv global 2.5.1
+#&& echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc && echo 'eval "$(rbenv init -)"' >> ~/.bashrc &&
+
+
+RUN gem install rake
+RUN gem install package_cloud
+
+RUN yum update -y && yum install -y --enablerepo=epel \
+ apr-util \
+ byacc \
+ diffstat \
+ dwz \
+ flex \
+ gcc-gfortran \
+ gettext-devel \
+# glibc-static \
+ intltool \
+# nasm \
+ patchutils \
+# rcs \
+ redhat-lsb \
+ redhat-rpm-config \
+ rpm-build \
+ rpm-sign \
+ subversion \
+ swig \
+ systemtap \
+ && yum clean all
+
+#RUN yum update -y && yum install -y --enablerepo=epel-debuginfo --enablerepo=base-debuginfo \
+# RUN yum update -y && yum install -y --enablerepo=epel-debuginfo \
+# e2fsprogs-debuginfo \
+# glibc-debuginfo \
+# krb5-debuginfo \
+# nss-softokn-debuginfo \
+# openssl-debuginfo \
+# yum-plugin-auto-update-debug-info \
+# zlib-debuginfo \
+# glibc-debuginfo-common \
+# && yum clean all
+
+RUN yum update -y && yum groupinstall -y "development tools" \
+ && yum clean all
+# Libraries needed during compilation to enable all features of Python:
+RUN yum update -y \
+ && yum install -y --enablerepo=epel \
+ zlib-devel \
+ bzip2-devel \
+ openssl-devel \
+ ncurses-devel \
+ sqlite-devel \
+ readline-devel \
+ tk-devel \
+ gdbm-devel \
+# db4-devel \
+# libpcap-devel \
+ xz-devel \
+ expat-devel \
+ wget \
+ clang \
+ llvm \
+ numactl-devel \
+ check-devel \
+ check \
+ boost \
+ boost-devel \
+ mbedtls-devel \
+ xmlstarlet \
+ # centos-release-scl \
+ yamllint \
+ && yum clean all
+
+# Python 2.7.13:
+# RUN wget http://python.org/ftp/python/2.7.13/Python-2.7.13.tar.xz \
+# && tar xf Python-2.7.13.tar.xz \
+# && cd Python-2.7.13 \
+# && ./configure --prefix=/usr/local --enable-unicode=ucs4 --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib" \
+# && make \
+# && make install \
+# && strip /usr/local/lib/libpython2.7.so.1.0 \
+# && cd .. \
+# && rm -rf Python* \
+# && wget https://bootstrap.pypa.io/get-pip.py \
+# && /usr/local/bin/python get-pip.py
+
+RUN pip2 install six scapy==2.3.3 pyexpect subprocess32 cffi git+https://github.com/klement/py-lispnetworking@setup ply
+RUN mkdir -p /w/workspace && mkdir -p /var/ccache && ln -s /var/ccache /tmp/ccache
+ENV CCACHE_DIR=/var/ccache
+ENV CCACHE_READONLY=true
+RUN mkdir -p /var/cache/vpp/python
+RUN mkdir -p /w/Downloads
+# RUN wget -O /w/Downloads/dpdk-18.02.1.tar.xz http://dpdk.org/browse/dpdk-stable/snapshot/dpdk-stable-18.02.1.tar.xz
+# RUN wget -O /w/Downloads/dpdk-18.05.tar.xz http://dpdk.org/browse/dpdk/snapshot/dpdk-18.05.tar.xz
+# RUN wget -O /w/Downloads/v0.47.tar.gz http://github.com/01org/intel-ipsec-mb/archive/v0.47.tar.gz
+# RUN wget -O /w/Downloads/v0.48.tar.gz http://github.com/01org/intel-ipsec-mb/archive/v0.48.tar.gz
+# RUN wget -O /w/Downloads/v0.49.tar.gz http://github.com/01org/intel-ipsec-mb/archive/v0.49.tar.gz
+
+ADD files/lf-update-java-alternatives /usr/local/bin/lf-update-java-alternatives
+RUN chmod 755 /usr/local/bin/lf-update-java-alternatives
+RUN curl -s https://packagecloud.io/install/repositories/fdio/master/script.rpm.sh | sudo bash
+
+
+#include bits from csit-sut
+RUN yum install -y --enablerepo=epel \
+ # general tools
+# bridge-utils \
+ cloud-init \
+ net-tools \
+ openssh-server \
+ pciutils \
+ rsyslog \
+# ssh \
+ sudo \
+ supervisor \
+ tar \
+ vim \
+ wget \
+# python-devel \
+ openssh-clients \
+ # csit requirements
+ gcc \
+ cmake3 \
+# docker-1.13 \
+# libpcap-devel \
+# libpython-devel-2.7 \
+# libpython-devel \
+# openjdk-8-jdk-headless \
+# python-pip \
+# python-devel-2.7 \
+# python-virtualenv \
+ socat \
+ strongswan \
+ unzip \
+ tcpdump \
+ zlib-devel \
+ # vpp requirements
+# ca-certificates-2018 \
+# libapr1 \
+ mbedtls \
+ mbedtls-devel \
+# libnuma1 \
+# python-cffi \
+# python36-cffi \
+# python-enum34 \
+ git \
+ sshpass \
+# facter \
+# devtoolset-7 \
+# ninja-build \
+ python3-devel \
+# python36-jsonschema \
+ selinux-policy \
+ selinux-policy-devel \
+# mbedtls-debuginfo \
+ && yum clean all
+
+# Configure locales
+#RUN localectl set-locale "en_US.UTF-8" \
+# && localectl status
+
+# 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 pip install \
+ docopt==0.6.2 \
+ ecdsa==0.13 \
+ enum34==1.1.2 \
+ ipaddress==1.0.16 \
+ paramiko==1.16.0 \
+ pexpect==4.6.0 \
+ ptyprocess==0.6.0 \
+ pycrypto==2.6.1 \
+ pykwalify==1.5.0 \
+# pypcap==1.1.5 \
+ python-dateutil==2.4.2 \
+ PyYAML==3.11 \
+ requests==2.9.1 \
+ robotframework==2.9.2 \
+ scapy==2.3.3 \
+ scp==0.10.2 \
+ six==1.12.0 \
+ dill==0.2.8.2 \
+ numpy==1.14.5 \
+ scipy==1.1.0
+
+# VPP PIP pre-cache
+RUN pip install \
+ aenum
+
+# SSH settings
+RUN echo 'root:Csit1234' | chpasswd \
+ && sed -i 's/#PermitRootLogin yes/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
+
+ADD files/sshconfig /root/.ssh/config
+ADD files/badkey /root/.ssh/id_rsa
+RUN chmod 600 /root/.ssh/id_rsa
+#RUN mv /usr/bin/sar /usr/bin/sar.old && ln -s /bin/true /usr/bin/sar
+RUN ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N '' && ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N '' && ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N ''
+
+#include bits from registry image
+RUN rm -rf /home/jenkins && useradd -ms /bin/bash jenkins && chown -R jenkins /w && chown -R jenkins /var/ccache && chown -R jenkins /var/cache/vpp #&& mv /usr/bin/sar /usr/bin/sar.old && ln -s /bin/true /usr/bin/sar
+ADD files/jenkins /etc/sudoers.d/jenkins
+ADD files/supervisord.conf /etc/supervisord/supervisord.conf
+ENV PATH=/root/.local/bin:/home/jenkins/.local/bin:${PATH}
+
+#csit-sut ssh bits for the end
+EXPOSE 22
+
+CMD ["sh", "-c", "rm -f /dev/shm/db /dev/shm/global_vm /dev/shm/vpe-api; /usr/bin/supervisord -c /etc/supervisord/supervisord.conf; /usr/sbin/sshd -D"]
diff --git a/docker/vpp/vpp-arm-ubuntu16/Dockerfile b/docker/vpp/vpp-arm-ubuntu16/Dockerfile
new file mode 100644
index 00000000..0e0a4e09
--- /dev/null
+++ b/docker/vpp/vpp-arm-ubuntu16/Dockerfile
@@ -0,0 +1,179 @@
+FROM arm64v8/ubuntu:16.04
+MAINTAINER Ed Kern <ejk@cisco.com>
+LABEL Description="arm VPP ubuntu 16 baseline"
+LABEL Vendor="cisco.com"
+LABEL Version="3.0"
+
+
+# Setup the environment
+ENV DEBIAN_FRONTEND=noninteractive
+CMD []
+RUN echo 'foo' || true
+RUN apt-get update || true
+RUN echo 'bar'
+RUN apt-get install -y -qq \
+ bash \
+ bash-completion \
+ bc \
+ biosdevname \
+ ca-certificates \
+ cloud-init \
+ cron \
+ curl \
+ dbus \
+ dstat \
+ ethstatus \
+ file \
+ fio \
+ htop
+ #\
+ # ifenslave \
+ # ioping \
+ # iotop \
+ # iperf \
+ # iptables \
+ # iputils-ping \
+ # less \
+ # locate \
+ # lsb-release \
+ # lsof \
+ # make \
+ # man-db \
+ # mdadm \
+ # mg \
+ # mosh \
+ # mtr \
+ # multipath-tools \
+ # nano \
+ # net-tools \
+ # netcat \
+ # nmap \
+ # ntp \
+ # ntpdate \
+ # open-iscsi \
+ # python-apt \
+ # python-pip \
+ # python-yaml \
+ # rsync \
+ # rsyslog \
+ # screen \
+ # shunit2 \
+ # socat \
+ # software-properties-common \
+ # ssh \
+ # sudo \
+ # sysstat \
+ # tar \
+ # tcpdump \
+ # tmux \
+ # traceroute \
+ # unattended-upgrades \
+ # uuid-runtime \
+ # vim \
+ # wget \
+ # apt-transport-https \
+ # default-jre-headless \
+ # chrpath \
+ # nasm \
+ # && rm -rf /var/lib/apt/lists/*
+
+RUN add-apt-repository -y ppa:openjdk-r/ppa
+
+RUN apt-get -q update && \
+ apt-get install -y -qq \
+ unzip \
+ xz-utils \
+ puppet \
+ git \
+ git-review \
+ libxml-xpath-perl \
+ make \
+ wget \
+ openjdk-8-jdk \
+ jq \
+ libffi-dev \
+ python-all \
+ && rm -rf /var/lib/apt/lists/*
+
+RUN apt-get -q update && \
+ apt-get install -y -qq \
+ autoconf \
+ automake \
+ autotools-dev \
+ bison \
+ ccache \
+ cscope \
+ debhelper \
+ dh-apparmor \
+ dh-systemd \
+ dkms \
+ ed \
+ exuberant-ctags \
+ gettext \
+ gettext-base \
+ intltool-debian \
+ indent \
+ lcov \
+ libapr1 \
+ libapr1-dev \
+ libasprintf-dev \
+ libbison-dev \
+ libconfuse-common \
+ libconfuse-dev \
+ libconfuse0 \
+ libcroco3 \
+ libexpat1-dev \
+ libganglia1 \
+ libganglia1-dev \
+ libgd-gd2-perl \
+ libgettextpo-dev \
+ libgettextpo0 \
+ libltdl-dev \
+ libmail-sendmail-perl \
+ libpython-dev \
+ libpython2.7-dev \
+ libsctp-dev \
+ libsigsegv2 \
+ libssl-dev \
+ libssl-doc \
+ libsys-hostname-long-perl \
+ libtool \
+ libunistring0 \
+ m4 \
+ pkg-config \
+ po-debconf \
+ python-dev \
+ python-virtualenv \
+ python2.7-dev \
+ uuid-dev \
+ zlib1g-dev \
+ locales \
+ llvm \
+ clang \
+ clang-format \
+ libboost-all-dev \
+ ruby-dev \
+ xmlstarlet \
+ && 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
+
+RUN mkdir /workspace && mkdir -p /var/ccache && ln -s /var/ccache /tmp/ccache
+ENV CCACHE_DIR=/var/ccache
+ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8'
+
+RUN gem install rake
+RUN gem install package_cloud
+RUN pip install scapy
+RUN git clone https://gerrit.fd.io/r/vpp /workspace/ubuntu16 && cd /workspace/ubuntu16; make UNATTENDED=yes install-dep && rm -rf /workspace/ubuntu16 && rm -rf /var/lib/apt/lists/*
+
+
+
+
diff --git a/docker/vpp/vpp-arm-ubuntu18/Dockerfile b/docker/vpp/vpp-arm-ubuntu18/Dockerfile
new file mode 100644
index 00000000..28f5b505
--- /dev/null
+++ b/docker/vpp/vpp-arm-ubuntu18/Dockerfile
@@ -0,0 +1,325 @@
+FROM arm64v8/ubuntu:18.04
+MAINTAINER Ed Kern <ejk@cisco.com>
+LABEL Description="arm VPP ubuntu 18 baseline"
+LABEL Vendor="arm.com"
+LABEL Version="1.1"
+
+# Setup the environment
+ENV DEBIAN_FRONTEND=noninteractive
+ENV DOCKER_TEST=True
+ENV DPDK_DOWNLOAD_DIR=/w/Downloads
+ENV VPP_PYTHON_PREFIX=/var/cache/vpp/python
+ENV VPP_ZOMBIE_NOCHECK=1
+
+ADD files/sshconfig /root/.ssh/config
+ADD files/badkey /root/.ssh/id_rsa
+RUN chmod 600 /root/.ssh/id_rsa
+
+RUN apt-get update && apt-get install -y -qq \
+ bash \
+ bash-completion \
+ bc \
+# biosdevname \
+ ca-certificates \
+ cloud-init \
+ cron \
+ curl \
+ dbus \
+ dstat \
+ ethstatus \
+ file \
+ fio \
+ htop \
+ #\
+ # ifenslave \
+ # ioping \
+ # iotop \
+ # iperf \
+ # iptables \
+ # iputils-ping \
+ # less \
+ # locate \
+ # lsb-release \
+ # lsof \
+ # make \
+ # man-db \
+ # mdadm \
+ # mg \
+ # mosh \
+ # mtr \
+ # multipath-tools \
+ # nano \
+ # net-tools \
+ # netcat \
+ # nmap \
+ # ntp \
+ # ntpdate \
+ # open-iscsi \
+ # python-apt \
+ python-pip \
+ # python-yaml \
+ # rsync \
+ rsyslog \
+ # screen \
+ # shunit2 \
+ # socat \
+ # software-properties-common \
+ # ssh \
+ sshpass \
+ sudo \
+ # sysstat \
+ # tar \
+ # tcpdump \
+ # tmux \
+ # traceroute \
+ # unattended-upgrades \
+ # uuid-runtime \
+ # vim \
+ # wget \
+ apt-transport-https \
+ # default-jre-headless \
+ # chrpath \
+ # nasm \
+ && rm -rf /var/lib/apt/lists/*
+
+RUN add-apt-repository -y ppa:openjdk-r/ppa
+
+RUN apt-get -q update && \
+ apt-get install -y -qq \
+ unzip \
+ xz-utils \
+ puppet \
+ git \
+ git-review \
+ libxml-xpath-perl \
+ make \
+ wget \
+ openjdk-8-jdk \
+ openjdk-11-jdk \
+ jq \
+ libffi-dev \
+ && rm -rf /var/lib/apt/lists/*
+
+RUN apt-get -q update && \
+ apt-get install -y -qq \
+ autoconf \
+ automake \
+ autotools-dev \
+ bison \
+ ccache \
+ cscope \
+ debhelper \
+ dh-apparmor \
+ dh-systemd \
+ dkms \
+ ed \
+ exuberant-ctags \
+ gfortran \
+ gettext \
+ gettext-base \
+ intltool-debian \
+ indent \
+ lcov \
+ libapr1 \
+ libapr1-dev \
+ libasprintf-dev \
+ libatlas-base-dev \
+ libbison-dev \
+ libconfuse-doc \
+ libconfuse-dev \
+ libcroco3 \
+ libexpat1-dev \
+ libganglia1 \
+ libganglia1-dev \
+ libgd-gd2-perl \
+ libgettextpo-dev \
+ libgettextpo0 \
+ libltdl-dev \
+ libmail-sendmail-perl \
+ libmbedtls-dev \
+ libpcap-dev \
+ libpython-dev \
+ libpython2.7-dev \
+ libsctp-dev \
+ libsigsegv2 \
+ libssl-dev \
+ libssl-doc \
+ libsys-hostname-long-perl \
+ libtool \
+ m4 \
+ pkg-config \
+ po-debconf \
+ uuid-dev \
+ zlib1g-dev \
+ locales \
+ llvm \
+ clang \
+ clang-format \
+ clang-5.0 \
+ libboost-all-dev \
+ ruby-dev \
+ gdb \
+ iperf3 \
+ cmake \
+ cmake-data \
+ libarchive13 \
+ liblzo2-2 \
+ librhash0 \
+ libuv1 \
+ ninja-build \
+ cmake-doc \
+ lrzip \
+ xmlstarlet \
+ g++-8 \
+ gcc-8 \
+ libsubunit-dev \
+ libsubunit0 \
+ yamllint \
+ libibverbs-dev \
+ apt-utils \
+ python-all \
+ python-apt \
+ python-cffi \
+ python-cffi-backend \
+ python-dev \
+ python-enum34 \
+ python-pip \
+ python-ply \
+ python-setuptools \
+ python-virtualenv \
+ python-yaml \
+ python3-all \
+ python3-apt \
+ python3-cffi \
+ python3-cffi-backend \
+ python3-dev \
+ python3-pip \
+ python3-ply \
+ python3-setuptools \
+ python3-virtualenv \
+ python3-venv \
+ # docs
+ python-markupsafe \
+ python-jinja2 \
+ python-pyparsing \
+ doxygen \
+ graphviz \
+ && rm -rf /var/lib/apt/lists/*
+
+#Repoint clang
+RUN update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-5.0 1000 && update-alternatives --install /usr/bin/clang clang /usr/bin/clang-5.0 1000
+RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 800 --slave /usr/bin/g++ g++ /usr/bin/g++-8
+
+# Configure locales
+RUN locale-gen en_US.UTF-8 && \
+ dpkg-reconfigure locales
+
+# Fix permissions
+RUN chown root:syslog /var/log \
+ && chmod 755 /etc/default
+
+RUN mkdir /tmp/dumps \
+ && mkdir /workspace \
+ && mkdir -p /w/workspace \
+ && mkdir -p /var/ccache \
+ && ln -s /var/ccache /tmp/ccache \
+ && mkdir /home/jenkins \
+ && mkdir -p /var/cache/vpp/python
+
+ENV CCACHE_DIR=/var/ccache
+ENV CCACHE_READONLY=true
+ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8'
+
+# packagecloud
+RUN curl -L https://packagecloud.io/fdio/master/gpgkey |sudo apt-key add -
+RUN gem install rake
+RUN gem install package_cloud
+RUN gem install facter
+ADD files/pc_push /usr/local/bin/pc_push
+ADD files/packagecloud /root/.packagecloud
+ADD files/packagecloud_api /root/packagecloud_api
+
+RUN curl -s https://packagecloud.io/install/repositories/fdio/master/script.deb.sh | sudo bash
+
+# VPP PIP pre-cahce
+RUN pip install \
+ six \
+ scapy==2.3.3 \
+ pyexpect \
+ subprocess32 \
+ cffi \
+ git+https://github.com/klement/py-lispnetworking@setup \
+ pycodestyle
+
+# 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 \
+ ply==3.11 \
+ 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
+
+# CSIT PIP pre-cache - ARM workaround
+RUN pip3 install scipy==1.1.0
+
+RUN mkdir -p /w/Downloads
+#RUN wget -O /w/Downloads/nasm-2.13.01.tar.xz http://www.nasm.us/pub/nasm/releasebuilds/2.13.01/nasm-2.13.01.tar.xz
+RUN wget -O /w/Downloads/dpdk-18.02.1.tar.xz http://fast.dpdk.org/rel/dpdk-18.02.1.tar.xz
+#RUN wget -O /w/Downloads/dpdk-18.02.1.tar.xz http://dpdk.org/browse/dpdk-stable/snapshot/dpdk-stable-18.02.1.tar.xz
+RUN wget -O /w/Downloads/dpdk-18.05.tar.xz http://fast.dpdk.org/rel/dpdk-18.05.tar.xz
+#RUN wget -O /w/Downloads/dpdk-18.05.tar.xz http://dpdk.org/browse/dpdk/snapshot/dpdk-18.05.tar.xz
+RUN wget -O /w/Downloads/dpdk-17.11.tar.xz http://fast.dpdk.org/rel/dpdk-17.11.tar.xz
+#RUN wget -O /w/Downloads/v0.47.tar.gz http://github.com/01org/intel-ipsec-mb/archive/v0.47.tar.gz
+RUN wget -O /w/Downloads/v0.48.tar.gz http://github.com/01org/intel-ipsec-mb/archive/v0.48.tar.gz
+RUN wget -O /w/Downloads/v0.49.tar.gz http://github.com/01org/intel-ipsec-mb/archive/v0.49.tar.gz
+
+# for lftools
+RUN rm -rf /home/jenkins && useradd -ms /bin/bash jenkins && chown -R jenkins /w && chown -R jenkins /var/ccache && chown -R jenkins /var/cache/vpp
+ENV PATH=/root/.local/bin:/home/jenkins/.local/bin:${PATH}
diff --git a/docker/vpp/vpp-centos/Dockerfile b/docker/vpp/vpp-centos/Dockerfile
new file mode 100644
index 00000000..8fdfe5b1
--- /dev/null
+++ b/docker/vpp/vpp-centos/Dockerfile
@@ -0,0 +1,367 @@
+FROM centos:7.6.1810
+MAINTAINER Ed Kern <ejk@cisco.com>
+LABEL Description="VPP centos OS build image"
+LABEL Vendor="cisco.com"
+LABEL Version="2.0"
+
+# Setup the environment
+
+RUN mkdir /workspace && mkdir -p /etc/ssh && mkdir -p /var/ccache
+
+ENV CCACHE_DIR=/var/ccache
+ENV MAKE_PARALLEL_FLAGS -j 4
+ENV VPP_ZOMBIE_NOCHECK=1
+ENV DPDK_DOWNLOAD_DIR=/w/Downloads
+ENV VPP_PYTHON_PREFIX=/var/cache/vpp/python
+ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8'
+ENV NOTVISIBLE "in users profile"
+
+#SSH timeout
+#RUN touch /etc/ssh/ssh_config
+RUN echo "TCPKeepAlive true" | tee -a /etc/ssh/ssh_config #>/dev/null 2>&1
+RUN echo "ServerAliveCountMax 30" | tee -a /etc/ssh/ssh_config #>/dev/null 2>&1
+RUN echo "ServerAliveInterval 10" | tee -a /etc/ssh/ssh_config #>/dev/null 2>&1
+
+# Configure locales
+#RUN localectl set-locale "en_US.UTF-8" \
+# && localectl status
+
+#module
+RUN echo uio_pci_generic >> /etc/modules
+
+
+#RUN yum update -y && yum install -y deltarpm && yum clean all
+RUN yum update -y && yum install -y @base https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm && yum clean all
+RUN yum update -y && yum install -y --enablerepo=epel \
+ chrpath \
+ git \
+ git-review \
+ java-*-openjdk-devel \
+ jq \
+ lcov \
+ make \
+ nasm \
+# perl-XML-XPath \
+# puppet \
+ sudo \
+ unzip \
+ xz \
+ wget \
+ && yum clean all
+
+#packer install
+#RUN wget https://releases.hashicorp.com/packer/1.1.3/packer_1.1.3_linux_amd64.zip && unzip packer_1.1.3_linux_amd64.zip -d /usr/local/bin/ && mv /usr/local/bin/packer /usr/local/bin/packer.io
+
+
+RUN yum update -y && yum install -y --enablerepo=epel \
+ asciidoc \
+ apr-devel \
+ cpp \
+ c++ \
+ cmake \
+ dblatex \
+ doxygen \
+ epel-rpm-macros \
+ gcc \
+ graphviz \
+ indent \
+ kernel-devel \
+ libxml2 \
+ libffi-devel \
+ make \
+ openssl-devel \
+ python-devel \
+ python-virtualenv \
+ python-setuptools \
+ python-cffi \
+ python-pip \
+ python-jinja2 \
+ python-sphinx \
+ source-highlight \
+ rpm \
+ valgrind \
+ yum-utils \
+ && yum clean all
+
+RUN yum update -y && yum install -y --enablerepo=epel \
+ ganglia-devel \
+ libconfuse-devel \
+ mock \
+ && yum clean all
+
+#RUN alternatives --set java /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
+#RUN alternatives --set java_sdk_openjdk /usr/lib/jvm/java-1.7.0-openjdk.x86_64
+
+RUN pip install --upgrade pip
+RUN pip install pycap scapy
+
+RUN yum update -y && yum install -y --enablerepo=epel \
+ autoconf \
+ automake \
+ bison \
+ ccache \
+ cscope \
+ curl \
+ dkms \
+ git \
+ git-review \
+ libtool \
+ libconfuse-dev \
+ libpcap-devel \
+ libcap-devel \
+ scapy \
+ && yum clean all
+
+#puppet
+RUN yum update -y && yum install -y --enablerepo=epel \
+ libxml2-devel \
+ libxslt-devel \
+ ruby-devel \
+ zlib-devel \
+ gcc-c++ \
+ && yum clean all
+
+#outdated ruby pos
+RUN yum update -y && yum install -y --enablerepo=epel \
+ git-core \
+ zlib \
+ zlib-devel \
+ gcc-c++ \
+ patch \
+ readline \
+ readline-devel \
+ libyaml-devel \
+ libffi-devel \
+ openssl-devel \
+ make \
+ bzip2 \
+ autoconf \
+ automake \
+ libtool \
+ bison \
+ curl \
+ sqlite-devel \
+ && yum clean all
+
+ENV PATH="/root/.rbenv/bin:${PATH}"
+ENV PATH="/root/.rbenv/shims:${PATH}"
+
+RUN curl -sL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-installer | bash -
+RUN rbenv init -
+RUN rbenv install 2.5.1 && rbenv global 2.5.1
+#&& echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc && echo 'eval "$(rbenv init -)"' >> ~/.bashrc &&
+
+
+RUN gem install rake
+RUN gem install package_cloud
+
+RUN yum update -y && yum install -y --enablerepo=epel \
+ apr-util \
+ byacc \
+ diffstat \
+ dwz \
+ flex \
+ gcc-gfortran \
+ gettext-devel \
+ glibc-static \
+ intltool \
+ nasm \
+ patchutils \
+ rcs \
+ redhat-lsb \
+ redhat-rpm-config \
+ rpm-build \
+ rpm-sign \
+ subversion \
+ swig \
+ systemtap \
+ && yum clean all
+
+RUN yum update -y && yum install -y --enablerepo=epel-debuginfo --enablerepo=base-debuginfo \
+ e2fsprogs-debuginfo \
+ glibc-debuginfo \
+ krb5-debuginfo \
+ nss-softokn-debuginfo \
+ openssl-debuginfo \
+ yum-plugin-auto-update-debug-info \
+ zlib-debuginfo \
+ glibc-debuginfo-common \
+ && yum clean all
+
+RUN yum update -y && yum groupinstall -y "development tools" \
+ && yum clean all
+# Libraries needed during compilation to enable all features of Python:
+RUN yum update -y \
+ && yum install -y --enablerepo=epel \
+ zlib-devel \
+ bzip2-devel \
+ openssl-devel \
+ ncurses-devel \
+ sqlite-devel \
+ readline-devel \
+ tk-devel \
+ gdbm-devel \
+ db4-devel \
+ libpcap-devel \
+ xz-devel \
+ expat-devel \
+ wget \
+ clang \
+ llvm \
+ numactl-devel \
+ check-devel \
+ check \
+ boost \
+ boost-devel \
+ mbedtls-devel \
+ xmlstarlet \
+ centos-release-scl \
+ yamllint \
+ && yum clean all
+
+# Python 2.7.13:
+RUN wget http://python.org/ftp/python/2.7.13/Python-2.7.13.tar.xz \
+ && tar xf Python-2.7.13.tar.xz \
+ && cd Python-2.7.13 \
+ && ./configure --prefix=/usr/local --enable-unicode=ucs4 --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib" \
+ && make \
+ && make install \
+ && strip /usr/local/lib/libpython2.7.so.1.0 \
+ && cd .. \
+ && rm -rf Python* \
+ && wget https://bootstrap.pypa.io/get-pip.py \
+ && /usr/local/bin/python get-pip.py
+
+RUN pip install six scapy==2.3.3 pyexpect subprocess32 cffi git+https://github.com/klement/py-lispnetworking@setup ply
+RUN mkdir -p /w/workspace && mkdir -p /var/ccache && ln -s /var/ccache /tmp/ccache
+ENV CCACHE_DIR=/var/ccache
+ENV CCACHE_READONLY=true
+RUN mkdir -p /var/cache/vpp/python
+RUN mkdir -p /w/Downloads
+RUN wget -O /w/Downloads/dpdk-18.02.1.tar.xz http://dpdk.org/browse/dpdk-stable/snapshot/dpdk-stable-18.02.1.tar.xz
+RUN wget -O /w/Downloads/dpdk-18.05.tar.xz http://dpdk.org/browse/dpdk/snapshot/dpdk-18.05.tar.xz
+RUN wget -O /w/Downloads/v0.47.tar.gz http://github.com/01org/intel-ipsec-mb/archive/v0.47.tar.gz
+RUN wget -O /w/Downloads/v0.48.tar.gz http://github.com/01org/intel-ipsec-mb/archive/v0.48.tar.gz
+RUN wget -O /w/Downloads/v0.49.tar.gz http://github.com/01org/intel-ipsec-mb/archive/v0.49.tar.gz
+
+ADD files/lf-update-java-alternatives /usr/local/bin/lf-update-java-alternatives
+RUN chmod 755 /usr/local/bin/lf-update-java-alternatives
+RUN curl -s https://packagecloud.io/install/repositories/fdio/master/script.rpm.sh | sudo bash
+
+
+#include bits from csit-sut
+RUN yum install -y \
+ # general tools
+ bridge-utils \
+ cloud-init \
+ net-tools \
+ openssh-server \
+ pciutils \
+ rsyslog \
+ ssh \
+ sudo \
+ supervisor \
+ tar \
+ vim \
+ wget \
+ python-devel \
+ openssh-clients \
+ # csit requirements
+ gcc \
+ cmake3 \
+ docker-1.13 \
+ libpcap-devel \
+ libpython-devel-2.7 \
+ libpython-devel \
+ openjdk-8-jdk-headless \
+ python-pip \
+ python-devel-2.7 \
+ python-virtualenv \
+ socat \
+ strongswan \
+ unzip \
+ tcpdump \
+ zlib-devel \
+ # vpp requirements
+ ca-certificates-2018 \
+ libapr1 \
+ mbedtls \
+ mbedtls-devel \
+ libnuma1 \
+ python-cffi \
+ python36-cffi \
+ python-enum34 \
+ git \
+ sshpass \
+ facter \
+ devtoolset-7 \
+ ninja-build \
+ python3-devel \
+ python36-jsonschema \
+ selinux-policy \
+ selinux-policy-devel \
+ mbedtls-debuginfo \
+ && yum clean all
+
+# Configure locales
+#RUN localectl set-locale "en_US.UTF-8" \
+# && localectl status
+
+# 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 pip install \
+ docopt==0.6.2 \
+ ecdsa==0.13 \
+ enum34==1.1.2 \
+ ipaddress==1.0.16 \
+ paramiko==1.16.0 \
+ pexpect==4.6.0 \
+ ptyprocess==0.6.0 \
+ pycrypto==2.6.1 \
+ pykwalify==1.5.0 \
+ pypcap==1.1.5 \
+ python-dateutil==2.4.2 \
+ PyYAML==3.11 \
+ requests==2.9.1 \
+ robotframework==2.9.2 \
+ scapy==2.3.3 \
+ scp==0.10.2 \
+ six==1.12.0 \
+ dill==0.2.8.2 \
+ numpy==1.14.5 \
+ scipy==1.1.0
+
+# VPP PIP pre-cache
+RUN pip install \
+ aenum
+
+# SSH settings
+RUN echo 'root:Csit1234' | chpasswd \
+ && sed -i 's/#PermitRootLogin yes/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
+
+ADD files/sshconfig /root/.ssh/config
+ADD files/badkey /root/.ssh/id_rsa
+RUN chmod 600 /root/.ssh/id_rsa
+RUN mv /usr/bin/sar /usr/bin/sar.old && ln -s /bin/true /usr/bin/sar
+RUN ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N '' && ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N '' && ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N ''
+
+#include bits from registry image
+RUN rm -rf /home/jenkins && useradd -ms /bin/bash jenkins && chown -R jenkins /w && chown -R jenkins /var/ccache && chown -R jenkins /var/cache/vpp && mv /usr/bin/sar /usr/bin/sar.old && ln -s /bin/true /usr/bin/sar
+ADD files/jenkins /etc/sudoers.d/jenkins
+ADD files/supervisord.conf /etc/supervisord/supervisord.conf
+ENV PATH=/root/.local/bin:/home/jenkins/.local/bin:${PATH}
+
+#csit-sut ssh bits for the end
+EXPOSE 22
+
+CMD ["sh", "-c", "rm -f /dev/shm/db /dev/shm/global_vm /dev/shm/vpe-api; /usr/bin/supervisord -c /etc/supervisord/supervisord.conf; /usr/sbin/sshd -D"]
diff --git a/docker/vpp/vpp-centos8/Dockerfile b/docker/vpp/vpp-centos8/Dockerfile
new file mode 100644
index 00000000..ea671452
--- /dev/null
+++ b/docker/vpp/vpp-centos8/Dockerfile
@@ -0,0 +1,387 @@
+FROM centos:8
+MAINTAINER Ed Kern <ejk@cisco.com>
+LABEL Description="VPP centos8 OS build image"
+LABEL Vendor="cisco.com"
+LABEL Version="0.02"
+
+# Setup the environment
+
+RUN mkdir /workspace && mkdir -p /etc/ssh && mkdir -p /var/ccache
+
+ENV CCACHE_DIR=/var/ccache
+ENV MAKE_PARALLEL_FLAGS -j 4
+ENV VPP_ZOMBIE_NOCHECK=1
+ENV DPDK_DOWNLOAD_DIR=/w/Downloads
+ENV VPP_PYTHON_PREFIX=/var/cache/vpp/python
+ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8'
+ENV NOTVISIBLE "in users profile"
+
+#SSH timeout
+#RUN touch /etc/ssh/ssh_config
+RUN echo "TCPKeepAlive true" | tee -a /etc/ssh/ssh_config #>/dev/null 2>&1
+RUN echo "ServerAliveCountMax 30" | tee -a /etc/ssh/ssh_config #>/dev/null 2>&1
+RUN echo "ServerAliveInterval 10" | tee -a /etc/ssh/ssh_config #>/dev/null 2>&1
+
+# Configure locales
+#RUN localectl set-locale "en_US.UTF-8" \
+# && localectl status
+
+#module
+RUN echo uio_pci_generic >> /etc/modules
+
+ADD files/CentOS-AppStream.repo /etc/yum.repos.d/CentOS-AppStream.repo
+ADD files/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo
+
+#RUN yum update -y && yum install -y deltarpm && yum clean all
+#RUN yum update -y && yum install -y @base https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm && yum clean all
+RUN yum update -y && yum install -y epel-release && yum clean all
+ADD files/epel.repo /etc/yum.repos.d/epel.repo
+
+RUN yum update -y && yum install -y --enablerepo=epel \
+ chrpath \
+ git \
+# git-review \
+ java-*-openjdk-devel \
+ jq \
+# lcov \
+ make \
+# nasm \
+ sudo \
+ unzip \
+ xz \
+ wget \
+ nano \
+ && yum clean all
+
+#packer install
+#RUN wget https://releases.hashicorp.com/packer/1.1.3/packer_1.1.3_linux_amd64.zip && unzip packer_1.1.3_linux_amd64.zip -d /usr/local/bin/ && mv /usr/local/bin/packer /usr/local/bin/packer.io
+
+
+RUN yum update -y && yum install -y --enablerepo=epel \
+ asciidoc \
+ apr-devel \
+ cpp \
+# c++ \
+ cmake \
+# dblatex \
+# doxygen \
+ epel-rpm-macros \
+ gcc \
+ graphviz \
+ indent \
+ kernel-devel \
+ libxml2 \
+ libffi-devel \
+ make \
+ openssl-devel \
+ python2-devel \
+ python2-virtualenv \
+ python2-setuptools \
+# python2-cffi \
+ python2-pip \
+ python2-jinja2 \
+# python2-sphinx \
+ source-highlight \
+ rpm \
+ valgrind \
+ yum-utils \
+ && yum clean all
+
+RUN yum update -y && yum install -y \
+# ganglia-devel \
+ libconfuse-devel \
+ mock \
+ && yum clean all
+
+#RUN alternatives --set java /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
+#RUN alternatives --set java_sdk_openjdk /usr/lib/jvm/java-1.7.0-openjdk.x86_64
+
+RUN pip2 install --upgrade pip
+RUN pip2 install pycap scapy
+
+RUN yum update -y && yum install -y --enablerepo=epel \
+ autoconf \
+ automake \
+ bison \
+ ccache \
+ cscope \
+ curl \
+ dkms \
+ git \
+# git-review \
+ libtool \
+# libconfuse-dev \
+# libpcap-devel \
+ libcap-devel \
+ scapy \
+ && yum clean all
+
+#puppet
+RUN yum update -y && yum install -y --enablerepo=epel \
+ libxml2-devel \
+ libxslt-devel \
+ ruby-devel \
+ zlib-devel \
+ gcc-c++ \
+ && yum clean all
+
+#outdated ruby pos
+RUN yum update -y && yum install -y --enablerepo=epel \
+ git-core \
+ zlib \
+ zlib-devel \
+ gcc-c++ \
+ patch \
+ readline \
+ readline-devel \
+# libyaml-devel \
+ libffi-devel \
+ openssl-devel \
+ make \
+ bzip2 \
+ autoconf \
+ automake \
+ libtool \
+ bison \
+ curl \
+ sqlite-devel \
+ && yum clean all
+
+ENV PATH="/root/.rbenv/bin:${PATH}"
+ENV PATH="/root/.rbenv/shims:${PATH}"
+
+RUN curl -sL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-installer | bash -
+RUN rbenv init -
+RUN rbenv install 2.5.1 && rbenv global 2.5.1
+#&& echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc && echo 'eval "$(rbenv init -)"' >> ~/.bashrc &&
+
+
+RUN gem install rake
+RUN gem install package_cloud
+
+RUN yum update -y && yum install -y --enablerepo=epel \
+ apr-util \
+ byacc \
+ diffstat \
+ dwz \
+ flex \
+ gcc-gfortran \
+ gettext-devel \
+ glibc \
+ glibc-langpack-en \
+ intltool \
+# nasm \
+ patchutils \
+# rcs \
+ redhat-lsb \
+ redhat-rpm-config \
+ rpm-build \
+ rpm-sign \
+ subversion \
+ swig \
+ systemtap \
+ && yum clean all
+
+#RUN yum update -y && yum install -y --enablerepo=epel-debuginfo --enablerepo=base-debuginfo \
+# RUN yum update -y && yum install -y --enablerepo=epel-debuginfo \
+# e2fsprogs-debuginfo \
+# glibc-debuginfo \
+# krb5-debuginfo \
+# nss-softokn-debuginfo \
+# openssl-debuginfo \
+# yum-plugin-auto-update-debug-info \
+# zlib-debuginfo \
+# glibc-debuginfo-common \
+# && yum clean all
+
+RUN yum update -y && yum groupinstall -y "development tools" \
+ && yum clean all
+# Libraries needed during compilation to enable all features of Python:
+RUN yum update -y \
+ && yum install -y --enablerepo=epel \
+ zlib-devel \
+ bzip2-devel \
+ openssl-devel \
+ ncurses-devel \
+ sqlite-devel \
+ readline-devel \
+ tk-devel \
+ gdbm-devel \
+# db4-devel \
+# libpcap-devel \
+ xz-devel \
+ expat-devel \
+ wget \
+ clang \
+ llvm \
+ numactl-devel \
+ check-devel \
+ check \
+ boost \
+ boost-devel \
+ mbedtls-devel \
+ xmlstarlet \
+# centos-release-scl \
+ yamllint \
+ && yum clean all
+
+#centos8
+RUN dnf config-manager --set-enabled PowerTools \
+ && yum install -y --enablerepo=epel \
+ compat-openssl10 \
+ python3-jsonschema \
+ selinux-policy \
+ selinux-policy-devel \
+ glibc-static \
+ ninja-build \
+ && yum clean all
+
+# Python 2.7.13:
+# RUN wget http://python.org/ftp/python/2.7.13/Python-2.7.13.tar.xz \
+# && tar xf Python-2.7.13.tar.xz \
+# && cd Python-2.7.13 \
+# && ./configure --prefix=/usr/local --enable-unicode=ucs4 --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib" \
+# && make \
+# && make install \
+# && strip /usr/local/lib/libpython2.7.so.1.0 \
+# && cd .. \
+# && rm -rf Python* \
+# && wget https://bootstrap.pypa.io/get-pip.py \
+# && /usr/local/bin/python get-pip.py
+
+RUN pip2 install six scapy==2.3.3 pyexpect subprocess32 cffi git+https://github.com/klement/py-lispnetworking@setup ply
+RUN mkdir -p /w/workspace && mkdir -p /var/ccache && ln -s /var/ccache /tmp/ccache
+ENV CCACHE_DIR=/var/ccache
+ENV CCACHE_READONLY=true
+RUN mkdir -p /var/cache/vpp/python
+RUN mkdir -p /w/Downloads
+# RUN wget -O /w/Downloads/dpdk-18.02.1.tar.xz http://dpdk.org/browse/dpdk-stable/snapshot/dpdk-stable-18.02.1.tar.xz
+# RUN wget -O /w/Downloads/dpdk-18.05.tar.xz http://dpdk.org/browse/dpdk/snapshot/dpdk-18.05.tar.xz
+# RUN wget -O /w/Downloads/v0.47.tar.gz http://github.com/01org/intel-ipsec-mb/archive/v0.47.tar.gz
+# RUN wget -O /w/Downloads/v0.48.tar.gz http://github.com/01org/intel-ipsec-mb/archive/v0.48.tar.gz
+# RUN wget -O /w/Downloads/v0.49.tar.gz http://github.com/01org/intel-ipsec-mb/archive/v0.49.tar.gz
+
+ADD files/lf-update-java-alternatives /usr/local/bin/lf-update-java-alternatives
+RUN chmod 755 /usr/local/bin/lf-update-java-alternatives
+#RUN curl -s https://packagecloud.io/install/repositories/fdio/master/script.rpm.sh | sudo bash
+
+# CSIT requirements
+RUN dnf config-manager --set-enabled PowerTools \
+ && yum install -y --enablerepo=epel \
+ curl \
+ git \
+ libpcap-devel \
+ openssh-clients \
+ openssh-server \
+ net-tools \
+ pciutils \
+ python3-cffi \
+ python3-pip \
+ python3-setuptools \
+ socat \
+ sshpass \
+ strongswan \
+ sudo \
+ supervisor \
+ tar \
+ tcpdump \
+ unzip \
+ vim \
+ virtualenv \
+ wget \
+ zlib-devel \
+ && yum clean all
+
+# 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 \
+ ply==3.11 \
+ 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
+
+# CSIT ARM workaround
+RUN pip3 install scipy==1.1.0
+
+# Configure locales
+#RUN localectl set-locale "en_US.UTF-8" \
+# && localectl status
+
+# 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
+
+# SSH settings
+RUN echo 'root:Csit1234' | chpasswd \
+ && sed -i 's/#PermitRootLogin yes/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
+
+ADD files/sshconfig /root/.ssh/config
+ADD files/badkey /root/.ssh/id_rsa
+RUN chmod 600 /root/.ssh/id_rsa
+#RUN mv /usr/bin/sar /usr/bin/sar.old && ln -s /bin/true /usr/bin/sar
+RUN ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N '' && ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N '' && ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N ''
+
+#include bits from registry image
+RUN rm -rf /home/jenkins && useradd -ms /bin/bash jenkins && chown -R jenkins /w && chown -R jenkins /var/ccache && chown -R jenkins /var/cache/vpp #&& mv /usr/bin/sar /usr/bin/sar.old && ln -s /bin/true /usr/bin/sar
+ADD files/jenkins /etc/sudoers.d/jenkins
+ADD files/supervisord.conf /etc/supervisord/supervisord.conf
+ENV PATH=/root/.local/bin:/home/jenkins/.local/bin:${PATH}
+
+#csit-sut ssh bits for the end
+EXPOSE 22
+
+CMD ["sh", "-c", "rm -f /dev/shm/db /dev/shm/global_vm /dev/shm/vpe-api; /usr/bin/supervisord -c /etc/supervisord/supervisord.conf; /usr/sbin/sshd -D"]
diff --git a/docker/vpp/vpp-ubuntu16/Dockerfile b/docker/vpp/vpp-ubuntu16/Dockerfile
new file mode 100644
index 00000000..589e0a9c
--- /dev/null
+++ b/docker/vpp/vpp-ubuntu16/Dockerfile
@@ -0,0 +1,248 @@
+FROM ubuntu:16.04
+MAINTAINER Ed Kern <ejk@cisco.com>
+LABEL Description="VPP ubuntu 16 baseline"
+LABEL Vendor="cisco.com"
+LABEL Version="3.1"
+
+
+# Setup the environment
+ENV DEBIAN_FRONTEND=noninteractive
+ENV MAKE_PARALLEL_FLAGS -j 4
+ENV DOCKER_TEST=True
+ENV VPP_ZOMBIE_NOCHECK=1
+ENV DPDK_DOWNLOAD_DIR=/w/Downloads
+ENV VPP_PYTHON_PREFIX=/var/cache/vpp/python
+
+RUN apt-get -q update && \
+ apt-get install -y -qq \
+ bash \
+ bash-completion \
+ bc \
+ biosdevname \
+ ca-certificates \
+ cloud-init \
+ cron \
+ curl \
+ libcurl3-gnutls \
+ dbus \
+ dstat \
+ ethstatus \
+ file \
+ fio \
+ htop \
+ ifenslave \
+ ioping \
+ iotop \
+ iperf \
+ iptables \
+ iputils-ping \
+ less \
+ locate \
+ lsb-release \
+ lsof \
+ make \
+ man-db \
+ mdadm \
+ mg \
+ mosh \
+ mtr \
+ multipath-tools \
+ nano \
+ net-tools \
+ netcat \
+ nmap \
+ ntp \
+ ntpdate \
+ open-iscsi \
+ python-apt \
+ python-pip \
+ python-yaml \
+ rsync \
+ rsyslog \
+ screen \
+ shunit2 \
+ socat \
+ software-properties-common \
+ ssh \
+ sudo \
+ sysstat \
+ tar \
+ tcpdump \
+ tmux \
+ traceroute \
+ unattended-upgrades \
+ uuid-runtime \
+ vim \
+ wget \
+ apt-transport-https \
+ default-jre-headless \
+ chrpath \
+ nasm \
+ && rm -rf /var/lib/apt/lists/*
+
+RUN add-apt-repository -y ppa:openjdk-r/ppa
+
+RUN apt-get -q update && \
+ apt-get install -y -qq \
+ unzip \
+ xz-utils \
+ puppet \
+ git \
+ git-review \
+ libxml-xpath-perl \
+ make \
+ wget \
+ openjdk-8-jdk \
+ openjdk-11-jdk \
+ jq \
+ libffi-dev \
+ python-all \
+ && rm -rf /var/lib/apt/lists/*
+
+RUN apt-get -q update && \
+ apt-get install -y -qq \
+ autoconf \
+ automake \
+ autotools-dev \
+ bison \
+ ccache \
+ cscope \
+ debhelper \
+ dh-apparmor \
+ dh-systemd \
+ dkms \
+ ed \
+ exuberant-ctags \
+ gettext \
+ gettext-base \
+ intltool-debian \
+ indent \
+ lcov \
+ libapr1 \
+ libapr1-dev \
+ libasprintf-dev \
+ libbison-dev \
+ libconfuse-common \
+ libconfuse-dev \
+ libconfuse0 \
+ libcroco3 \
+ libexpat1-dev \
+ libganglia1 \
+ libganglia1-dev \
+ libgd-gd2-perl \
+ libgettextpo-dev \
+ libgettextpo0 \
+ libltdl-dev \
+ libmail-sendmail-perl \
+ libmbedtls-dev \
+ libpython-dev \
+ libpython2.7-dev \
+ libsctp-dev \
+ libsigsegv2 \
+ libssl-dev \
+ libssl-doc \
+ libsys-hostname-long-perl \
+ libtool \
+ libunistring0 \
+ m4 \
+ pkg-config \
+ po-debconf \
+ python-dev \
+ python-virtualenv \
+ python2.7-dev \
+ uuid-dev \
+ zlib1g-dev \
+ locales \
+ llvm \
+ clang \
+ clang-format \
+ clang-5.0 \
+ libboost-all-dev \
+ ruby-dev \
+ zile \
+ default-jdk-headless \
+ check \
+ libsubunit-dev \
+ libsubunit0 \
+ emacs \
+ gdb \
+ libpcap-dev \
+ python-ply \
+ iperf3 \
+ libibverbs-dev \
+ dtach \
+ cmake \
+ cmake-data \
+ libarchive13 \
+ libcurl3 \
+ liblzo2-2 \
+ ninja-build \
+ && rm -rf /var/lib/apt/lists/*
+
+#Repoint clang
+RUN update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-5.0 1000 && update-alternatives --install /usr/bin/clang clang /usr/bin/clang-5.0 1000
+
+# For the docs
+RUN apt-get -q update && \
+ apt-get install -y -qq \
+ python-markupsafe \
+ python-jinja2 \
+ python-pyparsing \
+ doxygen \
+ graphviz \
+ xmlstarlet \
+ && 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
+
+RUN mkdir /tmp/dumps
+RUN mkdir /workspace && mkdir -p /var/ccache && ln -s /var/ccache /tmp/ccache
+ENV CCACHE_DIR=/var/ccache
+ENV CCACHE_READONLY=true
+
+ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8'
+
+RUN gem install rake
+RUN gem install package_cloud
+RUN pip install six scapy==2.3.3 pyexpect subprocess32 cffi git+https://github.com/klement/py-lispnetworking@setup pycodestyle
+#Below are requirements for csit
+RUN pip install robotframework==2.9.2 paramiko==1.16.0 scp==0.10.2 ipaddress==1.0.16 interruptingcow==0.6 PyYAML==3.12 pykwalify==1.5.0 \
+ enum34==1.1.2 requests==2.9.1 ecdsa==0.13 pycrypto==2.6.1 pypcap==1.1.5 psutil
+
+RUN mkdir -p /var/cache/vpp/python
+RUN mkdir -p /w/Downloads
+RUN wget -O /w/Downloads/nasm-2.13.01.tar.xz http://www.nasm.us/pub/nasm/releasebuilds/2.13.01/nasm-2.13.01.tar.xz
+RUN wget -O /w/Downloads/dpdk-18.02.1.tar.xz http://fast.dpdk.org/rel/dpdk-18.02.1.tar.xz
+#RUN wget -O /w/Downloads/dpdk-18.02.1.tar.xz http://dpdk.org/browse/dpdk-stable/snapshot/dpdk-stable-18.02.1.tar.xz
+RUN wget -O /w/Downloads/dpdk-18.05.tar.xz http://fast.dpdk.org/rel/dpdk-18.05.tar.xz
+#RUN wget -O /w/Downloads/dpdk-18.05.tar.xz http://dpdk.org/browse/dpdk/snapshot/dpdk-18.05.tar.xz
+RUN wget -O /w/Downloads/dpdk-17.11.tar.xz http://fast.dpdk.org/rel/dpdk-17.11.tar.xz
+RUN wget -O /w/Downloads/v0.47.tar.gz http://github.com/01org/intel-ipsec-mb/archive/v0.47.tar.gz
+RUN wget -O /w/Downloads/v0.48.tar.gz http://github.com/01org/intel-ipsec-mb/archive/v0.48.tar.gz
+RUN wget -O /w/Downloads/v0.49.tar.gz http://github.com/01org/intel-ipsec-mb/archive/v0.49.tar.gz
+
+#RUN git clone https://gerrit.fd.io/r/vpp /workspace/ubuntu16 && cd /workspace/ubuntu16; make UNATTENDED=yes install-dep && rm -rf /workspace/ubuntu16 && rm -rf /var/lib/apt/lists/*
+#ADD files/99fd.io.list /etc/apt/sources.list.d/99fd.io.list
+#ADD files/fdio_master.list /etc/apt/sources.list.d/fdio_master.list
+
+ADD files/sshconfig /root/.ssh/config
+ADD files/badkey /root/.ssh/id_rsa
+ADD files/lf-update-java-alternatives /usr/local/bin/lf-update-java-alternatives
+RUN chmod 755 /usr/local/bin/lf-update-java-alternatives
+RUN chmod 600 /root/.ssh/id_rsa
+RUN curl -L https://packagecloud.io/fdio/master/gpgkey |sudo apt-key add -
+
+RUN curl -s https://packagecloud.io/install/repositories/fdio/master/script.deb.sh | sudo bash
+
+#RUN apt update && apt install -y vpp-dpdk-dev vpp-dpdk-dkms
+RUN mkdir -p /w/workspace && mkdir -p /home/jenkins && mkdir -p /run/shm
+
+
+
+
diff --git a/docker/vpp/vpp-ubuntu18/Dockerfile b/docker/vpp/vpp-ubuntu18/Dockerfile
new file mode 100644
index 00000000..85abf622
--- /dev/null
+++ b/docker/vpp/vpp-ubuntu18/Dockerfile
@@ -0,0 +1,342 @@
+FROM ubuntu:18.04
+MAINTAINER Ed Kern <ejk@cisco.com>
+LABEL Description="VPP ubuntu 18 baseline"
+LABEL Vendor="cisco.com"
+LABEL Version="1.1"
+
+
+# Setup the environment
+ENV DEBIAN_FRONTEND=noninteractive
+ENV MAKE_PARALLEL_FLAGS -j 4
+ENV DOCKER_TEST=True
+ENV VPP_ZOMBIE_NOCHECK=1
+ENV DPDK_DOWNLOAD_DIR=/w/Downloads
+ENV VPP_PYTHON_PREFIX=/var/cache/vpp/python
+
+RUN apt-get -q update && \
+ apt-get install -y -qq \
+ bash \
+ bash-completion \
+ bc \
+ biosdevname \
+ ca-certificates \
+ cloud-init \
+ cron \
+ curl \
+ libcurl3-gnutls \
+ dbus \
+ dstat \
+ ethstatus \
+ file \
+ fio \
+ htop \
+ ifenslave \
+ ioping \
+ iotop \
+ iperf \
+ iptables \
+ iputils-ping \
+ less \
+ locate \
+ lsb-release \
+ lsof \
+ make \
+ man-db \
+ mdadm \
+ mg \
+ mosh \
+ mtr \
+ multipath-tools \
+ nano \
+ net-tools \
+ netcat \
+ nmap \
+ ntp \
+ ntpdate \
+ open-iscsi \
+ rsync \
+ rsyslog \
+ screen \
+ shunit2 \
+ socat \
+ software-properties-common \
+ ssh \
+ sshpass \
+ sudo \
+ sysstat \
+ tar \
+ tcpdump \
+ tmux \
+ traceroute \
+ unattended-upgrades \
+ uuid-runtime \
+ vim \
+ wget \
+ apt-transport-https \
+ chrpath \
+ nasm \
+ dtach \
+ && rm -rf /var/lib/apt/lists/*
+
+RUN add-apt-repository -y ppa:openjdk-r/ppa
+
+RUN apt-get -q update && \
+ apt-get install -y -qq \
+ unzip \
+ xz-utils \
+ puppet \
+ git \
+ git-review \
+ libxml-xpath-perl \
+ make \
+ wget \
+ openjdk-8-jdk \
+ openjdk-11-jdk \
+ jq \
+ libffi-dev \
+ && rm -rf /var/lib/apt/lists/*
+
+RUN apt-get -q update && \
+ apt-get install -y -qq \
+ autoconf \
+ automake \
+ autotools-dev \
+ bison \
+ ccache \
+ cscope \
+ debhelper \
+ dh-apparmor \
+ dh-systemd \
+ dkms \
+ ed \
+ exuberant-ctags \
+ gettext \
+ gettext-base \
+ intltool-debian \
+ indent \
+ lcov \
+ libapr1 \
+ libapr1-dev \
+ libasprintf-dev \
+ libbison-dev \
+ libconfuse-doc \
+ libconfuse-dev \
+ libcroco3 \
+ libexpat1-dev \
+ libganglia1 \
+ libganglia1-dev \
+ libgd-gd2-perl \
+ libgettextpo-dev \
+ libgettextpo0 \
+ libltdl-dev \
+ libmail-sendmail-perl \
+ libmbedtls-dev \
+ libpython-dev \
+ libpython2.7-dev \
+ libsctp-dev \
+ libsigsegv2 \
+ libssl-dev \
+ libssl-doc \
+ libsys-hostname-long-perl \
+ libtool \
+ m4 \
+ pkg-config \
+ po-debconf \
+ uuid-dev \
+ zlib1g-dev \
+ locales \
+ llvm \
+ clang \
+ clang-format \
+ libboost-all-dev \
+ ruby-dev \
+ zile \
+ check \
+ libsubunit-dev \
+ libsubunit0 \
+ emacs \
+ gdb \
+ libpcap-dev \
+ iperf3 \
+ libibverbs-dev \
+ apt-utils \
+ python-all \
+ python-apt \
+ python-cffi \
+ python-cffi-backend \
+ python-dev \
+ python-enum34 \
+ python-pip \
+ python-ply \
+ python-setuptools \
+ python-virtualenv \
+ python-yaml \
+ python3-all \
+ python3-apt \
+ python3-cffi \
+ python3-cffi-backend \
+ python3-dev \
+ python3-pip \
+ python3-ply \
+ python3-setuptools \
+ python3-virtualenv \
+ python3-venv \
+ && rm -rf /var/lib/apt/lists/*
+
+# For the docs
+RUN apt-get -q update && \
+ apt-get install -y -qq \
+ python-markupsafe \
+ python-jinja2 \
+ python-pyparsing \
+ doxygen \
+ graphviz \
+ && rm -rf /var/lib/apt/lists/*
+
+RUN apt-get -q update && \
+ apt-get install -y -qq \
+ cmake \
+ cmake-data \
+ libarchive13 \
+ liblzo2-2 \
+ librhash0 \
+ libuv1 \
+ ninja-build \
+ cmake-doc \
+ lrzip \
+ xmlstarlet \
+ g++-8 \
+ gcc-8 \
+ yamllint \
+ && 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
+
+RUN mkdir /tmp/dumps
+RUN mkdir /workspace && mkdir -p /var/ccache && ln -s /var/ccache /tmp/ccache
+ENV CCACHE_DIR=/var/ccache
+ENV CCACHE_READONLY=true
+
+ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8'
+RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 700 --slave /usr/bin/g++ g++ /usr/bin/g++-7 && update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 800 --slave /usr/bin/g++ g++ /usr/bin/g++-8
+
+RUN curl -L https://packagecloud.io/fdio/master/gpgkey |sudo apt-key add -
+#ADD files/99fd.io.list /etc/apt/sources.list.d/99fd.io.list
+#ADD files/fdio_master.list /etc/apt/sources.list.d/fdio_master.list
+
+#RUN apt update && apt install -y vpp-dpdk-dev vpp-dpdk-dkms || true
+#RUN mkdir -p /w/dpdk && cd /w/dpdk; apt-get download vpp-dpdk-dkms || true
+
+#RUN mkdir -p /w/workspace/vpp-verify-master-ubuntu1804 && mkdir -p /home/jenkins
+RUN mkdir -p /w/workspace && mkdir -p /home/jenkins
+RUN apt-get purge -y default-jre-headless openjdk-9-jdk-headless openjdk-9-jre-headless || true
+
+ADD files/default-jdk-headless_1.8-59ubuntu2_amd64.deb /tmp/default-jdk-headless_1.8-59ubuntu2_amd64.deb
+ADD files/default-jre-headless_1.8-59ubuntu2_amd64.deb /tmp/default-jre-headless_1.8-59ubuntu2_amd64.deb
+
+RUN apt-get install -y /tmp/default-jre-headless_1.8-59ubuntu2_amd64.deb /tmp/default-jdk-headless_1.8-59ubuntu2_amd64.deb
+ADD files/jre /etc/apt/preferences.d/jre
+ADD files/pc_push /usr/local/bin/pc_push
+ADD files/packagecloud /root/.packagecloud
+ADD files/packagecloud_api /root/packagecloud_api
+ADD files/lf-update-java-alternatives /usr/local/bin/lf-update-java-alternatives
+RUN chmod 755 /usr/local/bin/lf-update-java-alternatives
+RUN gem install rake
+RUN gem install package_cloud
+
+# VPP PIP pre-cahce
+RUN pip install \
+ six \
+ scapy==2.3.3 \
+ pyexpect \
+ subprocess32 \
+ cffi \
+ git+https://github.com/klement/py-lispnetworking@setup \
+ pycodestyle
+
+# 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 \
+ ply==3.11 \
+ 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
+
+# CSIT PIP pre-cache - ARM workaround
+RUN pip3 install scipy==1.1.0
+
+RUN mkdir -p /var/cache/vpp/python
+RUN mkdir -p /w/Downloads
+#RUN wget -O /w/Downloads/nasm-2.13.01.tar.xz http://www.nasm.us/pub/nasm/releasebuilds/2.13.01/nasm-2.13.01.tar.xz
+#RUN wget -O /w/Downloads/dpdk-18.02.tar.xz http://fast.dpdk.org/rel/dpdk-18.02.tar.xz
+#RUN wget -O /w/Downloads/dpdk-17.11.tar.xz http://fast.dpdk.org/rel/dpdk-17.11.tar.xz
+RUN wget -O /w/Downloads/dpdk-18.02.1.tar.xz http://dpdk.org/browse/dpdk-stable/snapshot/dpdk-stable-18.02.1.tar.xz
+RUN wget -O /w/Downloads/dpdk-18.05.tar.xz http://dpdk.org/browse/dpdk/snapshot/dpdk-18.05.tar.xz
+RUN wget -O /w/Downloads/dpdk-18.08.tar.xz http://dpdk.org/browse/dpdk/snapshot/dpdk-18.08.tar.xz
+RUN wget -O /w/Downloads/v0.47.tar.gz http://github.com/01org/intel-ipsec-mb/archive/v0.47.tar.gz
+RUN wget -O /w/Downloads/v0.48.tar.gz http://github.com/01org/intel-ipsec-mb/archive/v0.48.tar.gz
+RUN wget -O /w/Downloads/v0.49.tar.gz http://github.com/01org/intel-ipsec-mb/archive/v0.49.tar.gz
+RUN curl -s https://packagecloud.io/install/repositories/fdio/master/script.deb.sh | sudo bash
+
+#bad and open ssh keys for csit
+ADD files/sshconfig /root/.ssh/config
+ADD files/badkey /root/.ssh/id_rsa
+RUN chmod 600 /root/.ssh/id_rsa
+
+# for lftools
+RUN rm -rf /home/jenkins && useradd -ms /bin/bash jenkins && chown -R jenkins /w && chown -R jenkins /var/ccache && chown -R jenkins /var/cache/vpp && mv /usr/bin/sar /usr/bin/sar.old && ln -s /bin/true /usr/bin/sar
+ENV PATH=/root/.local/bin:/home/jenkins/.local/bin:${PATH}
+
diff --git a/docker/vpp/vpp-ubuntu20/Dockerfile b/docker/vpp/vpp-ubuntu20/Dockerfile
new file mode 100644
index 00000000..5cf5d487
--- /dev/null
+++ b/docker/vpp/vpp-ubuntu20/Dockerfile
@@ -0,0 +1,339 @@
+FROM ubuntu:focal
+MAINTAINER Ed Kern <ejk@cisco.com>
+LABEL Description="VPP ubuntu 20 baseline"
+LABEL Vendor="cisco.com"
+LABEL Version="0.01"
+
+
+# Setup the environment
+ENV DEBIAN_FRONTEND=noninteractive
+ENV MAKE_PARALLEL_FLAGS -j 4
+ENV DOCKER_TEST=True
+ENV VPP_ZOMBIE_NOCHECK=1
+ENV DPDK_DOWNLOAD_DIR=/w/Downloads
+ENV VPP_PYTHON_PREFIX=/var/cache/vpp/python
+
+RUN apt-get -q update && \
+ apt-get install -y -qq \
+ bash \
+ bash-completion \
+ bc \
+# biosdevname \
+ ca-certificates \
+ cloud-init \
+ cron \
+ curl \
+ libcurl3-gnutls \
+ dbus \
+ dstat \
+ ethstatus \
+ file \
+ fio \
+ htop \
+ ifenslave \
+ ioping \
+ iotop \
+ iperf \
+ iptables \
+ iputils-ping \
+ less \
+ locate \
+ lsb-release \
+ lsof \
+ make \
+ man-db \
+ mdadm \
+ mg \
+ mosh \
+ mtr \
+ multipath-tools \
+ nano \
+ net-tools \
+ netcat \
+ nmap \
+ ntp \
+ ntpdate \
+ open-iscsi \
+ rsync \
+ rsyslog \
+ screen \
+ shunit2 \
+ socat \
+ software-properties-common \
+ ssh \
+ sshpass \
+ sudo \
+ sysstat \
+ tar \
+ tcpdump \
+ tmux \
+ traceroute \
+ unattended-upgrades \
+ uuid-runtime \
+ vim \
+ wget \
+ apt-transport-https \
+ chrpath \
+ nasm \
+ dtach \
+ && rm -rf /var/lib/apt/lists/*
+
+#RUN add-apt-repository -y ppa:openjdk-r/ppa
+
+RUN apt-get -q update && \
+ apt-get install -y -qq \
+ unzip \
+ xz-utils \
+ puppet \
+ git \
+ git-review \
+ libxml-xpath-perl \
+ make \
+ wget \
+ openjdk-8-jdk \
+ openjdk-11-jdk \
+ jq \
+ libffi-dev \
+ && rm -rf /var/lib/apt/lists/*
+
+RUN apt-get -q update && \
+ apt-get install -y -qq \
+ autoconf \
+ automake \
+ autotools-dev \
+ bison \
+ ccache \
+ cscope \
+ debhelper \
+ dh-apparmor \
+ dh-systemd \
+ dkms \
+ ed \
+ exuberant-ctags \
+ gettext \
+ gettext-base \
+ intltool-debian \
+ indent \
+ lcov \
+ libapr1 \
+ libapr1-dev \
+ libasprintf-dev \
+ libbison-dev \
+ libconfuse-doc \
+ libconfuse-dev \
+ libcroco3 \
+ libexpat1-dev \
+ libganglia1 \
+ libganglia1-dev \
+ libgd-gd2-perl \
+ libgettextpo-dev \
+ libgettextpo0 \
+ libltdl-dev \
+ libmail-sendmail-perl \
+ libmbedtls-dev \
+# libpython2-dev \
+ libpython2.7-dev \
+ libsctp-dev \
+ libsigsegv2 \
+ libssl-dev \
+ libssl-doc \
+ libsys-hostname-long-perl \
+ libtool \
+ m4 \
+ pkg-config \
+ po-debconf \
+ uuid-dev \
+ zlib1g-dev \
+ locales \
+ llvm \
+ clang \
+ clang-format \
+ libboost-all-dev \
+ ruby-dev \
+ zile \
+ check \
+ libsubunit-dev \
+ libsubunit0 \
+ emacs \
+ gdb \
+ libpcap-dev \
+ iperf3 \
+ libibverbs-dev \
+ apt-utils \
+ python-all \
+ python-apt \
+ python-cffi \
+ python-cffi-backend \
+# python-dev \
+ python-enum34 \
+ python-pip \
+ python-ply \
+ python-setuptools \
+ python-virtualenv \
+ python-yaml \
+ python3-all \
+ python3-apt \
+ python3-cffi \
+ python3-cffi-backend \
+ python3-dev \
+ python3-pip \
+ python3-ply \
+ python3-setuptools \
+ python3-virtualenv \
+ python3-venv \
+ && rm -rf /var/lib/apt/lists/*
+
+# For the docs
+RUN apt-get -q update && \
+ apt-get install -y -qq \
+ python-markupsafe \
+ python-jinja2 \
+ python-pyparsing \
+ doxygen \
+ graphviz \
+ && rm -rf /var/lib/apt/lists/*
+
+RUN apt-get -q update && \
+ apt-get install -y -qq \
+ cmake \
+ cmake-data \
+ libarchive13 \
+ liblzo2-2 \
+ librhash0 \
+ libuv1 \
+ ninja-build \
+ cmake-doc \
+ lrzip \
+ xmlstarlet \
+ g++-8 \
+ gcc-8 \
+ yamllint \
+ && 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
+
+RUN mkdir /tmp/dumps
+RUN mkdir /workspace && mkdir -p /var/ccache && ln -s /var/ccache /tmp/ccache
+ENV CCACHE_DIR=/var/ccache
+ENV CCACHE_READONLY=true
+
+ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8'
+#RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 700 --slave /usr/bin/g++ g++ /usr/bin/g++-7 && update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 800 --slave /usr/bin/g++ g++ /usr/bin/g++-8
+
+RUN curl -L https://packagecloud.io/fdio/master/gpgkey |sudo apt-key add -
+#ADD files/99fd.io.list /etc/apt/sources.list.d/99fd.io.list
+#ADD files/fdio_master.list /etc/apt/sources.list.d/fdio_master.list
+
+#RUN apt update && apt install -y vpp-dpdk-dev vpp-dpdk-dkms || true
+#RUN mkdir -p /w/dpdk && cd /w/dpdk; apt-get download vpp-dpdk-dkms || true
+
+#RUN mkdir -p /w/workspace/vpp-verify-master-ubuntu1804 && mkdir -p /home/jenkins
+RUN mkdir -p /w/workspace && mkdir -p /home/jenkins
+#RUN apt-get purge -y default-jre-headless openjdk-9-jdk-headless openjdk-9-jre-headless || true
+
+#ADD files/default-jdk-headless_1.8-59ubuntu2_amd64.deb /tmp/default-jdk-headless_1.8-59ubuntu2_amd64.deb
+#ADD files/default-jre-headless_1.8-59ubuntu2_amd64.deb /tmp/default-jre-headless_1.8-59ubuntu2_amd64.deb
+
+#RUN apt-get install -y /tmp/default-jre-headless_1.8-59ubuntu2_amd64.deb /tmp/default-jdk-headless_1.8-59ubuntu2_amd64.deb
+#ADD files/jre /etc/apt/preferences.d/jre
+ADD files/pc_push /usr/local/bin/pc_push
+ADD files/packagecloud /root/.packagecloud
+ADD files/packagecloud_api /root/packagecloud_api
+ADD files/lf-update-java-alternatives /usr/local/bin/lf-update-java-alternatives
+RUN chmod 755 /usr/local/bin/lf-update-java-alternatives
+RUN gem install rake
+RUN gem install package_cloud
+
+# VPP PIP pre-cahce
+RUN pip install \
+ six \
+ scapy==2.3.3 \
+ pyexpect \
+ subprocess32 \
+ cffi \
+ git+https://github.com/klement/py-lispnetworking@setup \
+ pycodestyle
+
+# 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 \
+ ply==3.11 \
+ 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
+
+# CSIT PIP pre-cache - ARM workaround
+RUN pip3 install scipy==1.1.0
+
+RUN mkdir -p /var/cache/vpp/python
+RUN mkdir -p /w/Downloads
+RUN wget -O /w/Downloads/dpdk-18.02.1.tar.xz http://dpdk.org/browse/dpdk-stable/snapshot/dpdk-stable-18.02.1.tar.xz
+RUN wget -O /w/Downloads/dpdk-18.05.tar.xz http://dpdk.org/browse/dpdk/snapshot/dpdk-18.05.tar.xz
+RUN wget -O /w/Downloads/dpdk-18.08.tar.xz http://dpdk.org/browse/dpdk/snapshot/dpdk-18.08.tar.xz
+RUN wget -O /w/Downloads/v0.47.tar.gz http://github.com/01org/intel-ipsec-mb/archive/v0.47.tar.gz
+RUN wget -O /w/Downloads/v0.48.tar.gz http://github.com/01org/intel-ipsec-mb/archive/v0.48.tar.gz
+RUN wget -O /w/Downloads/v0.49.tar.gz http://github.com/01org/intel-ipsec-mb/archive/v0.49.tar.gz
+#RUN curl -s https://packagecloud.io/install/repositories/fdio/master/script.deb.sh | sudo bash
+
+#bad and open ssh keys for csit
+ADD files/sshconfig /root/.ssh/config
+ADD files/badkey /root/.ssh/id_rsa
+RUN chmod 600 /root/.ssh/id_rsa
+
+# for lftools
+RUN rm -rf /home/jenkins && useradd -ms /bin/bash jenkins && chown -R jenkins /w && chown -R jenkins /var/ccache && chown -R jenkins /var/cache/vpp && mv /usr/bin/sar /usr/bin/sar.old && ln -s /bin/true /usr/bin/sar
+ENV PATH=/root/.local/bin:/home/jenkins/.local/bin:${PATH}
+