summaryrefslogtreecommitdiffstats
path: root/docker
diff options
context:
space:
mode:
authorDave Wallace <dwallacelf@gmail.com>2020-04-27 15:54:28 -0400
committerDave Wallace <dwallacelf@gmail.com>2020-04-27 15:57:39 -0400
commit01a9fa13cd483e24912af9906e4a3dd0d0e7ad57 (patch)
treea887387523432865c8817bb967004c6ef25e5ac7 /docker
parent67db767547b14c60e951e26d2fcfed522391f0fa (diff)
Import VPP docker files from github
- These 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 Change-Id: I6c32cb013cbfad33c41d99992e5f97e0264b625a Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Diffstat (limited to 'docker')
-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}
+