diff options
| author | Christian Hopps <chopps@labn.net> | 2023-06-08 13:47:01 -0400 | 
|---|---|---|
| committer | Christian Hopps <chopps@labn.net> | 2023-06-09 03:19:20 -0400 | 
| commit | 3c43eaa7d487e3d0778f56abcf3a7ea3f7d94f67 (patch) | |
| tree | 60ab0f8a443e6b9070ec15f7457376996ba85c8a /docker/ubuntu20-ci | |
| parent | 1a60c3e9a4c2587f48ca83d65d818a028d3338d2 (diff) | |
docker: ubuntu-ci 18.04 -> 22.04, topotest parallel run examples
Update the READMEs, and give example of a full parallel topotest run with
result extraction for analyze.py
Signed-off-by: Christian Hopps <chopps@labn.net>
Diffstat (limited to 'docker/ubuntu20-ci')
| -rw-r--r-- | docker/ubuntu20-ci/Dockerfile | 78 | ||||
| -rw-r--r-- | docker/ubuntu20-ci/README.md | 16 | ||||
| -rwxr-xr-x | docker/ubuntu20-ci/docker-start | 8 | 
3 files changed, 14 insertions, 88 deletions
diff --git a/docker/ubuntu20-ci/Dockerfile b/docker/ubuntu20-ci/Dockerfile deleted file mode 100644 index 7e49910a72..0000000000 --- a/docker/ubuntu20-ci/Dockerfile +++ /dev/null @@ -1,78 +0,0 @@ -FROM ubuntu:20.04 - -ARG DEBIAN_FRONTEND=noninteractive -ENV APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=DontWarn -# Update Ubuntu Software repository -RUN apt update && \ -    apt-get install -y \ -      git autoconf automake libtool make libreadline-dev texinfo \ -      pkg-config libpam0g-dev libjson-c-dev bison flex python3-pip \ -      libc-ares-dev python3-dev python3-sphinx \ -      install-info build-essential libsnmp-dev perl \ -      libcap-dev python2 libelf-dev libprotobuf-c-dev protobuf-c-compiler \ -      sudo gdb curl iputils-ping time \ -      lua5.3 liblua5.3-dev \ -      net-tools iproute2 && \ -      curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output /tmp/get-pip.py && \ -      python2 /tmp/get-pip.py && \ -      rm -f  /tmp/get-pip.py && \ -      python3 -m pip install wheel && \ -      python3 -m pip install pytest && \ -      python3 -m pip install pytest-xdist && \ -      python3 -m pip install "scapy>=2.4.2" && \ -      python3 -m pip install xmltodict && \ -      python2 -m pip install 'exabgp<4.0.0' - -RUN groupadd -r -g 92 frr && \ -      groupadd -r -g 85 frrvty && \ -      adduser --system --ingroup frr --home /home/frr \ -              --gecos "FRR suite" --shell /bin/bash frr && \ -      usermod -a -G frrvty frr && \ -      useradd -d /var/run/exabgp/ -s /bin/false exabgp && \ -      echo 'frr ALL = NOPASSWD: ALL' | tee /etc/sudoers.d/frr && \ -      mkdir -p /home/frr && chown frr.frr /home/frr - -#for libyang 2 -RUN apt-get install -y cmake libpcre2-dev - -USER frr:frr - -# build and install libyang2 -RUN cd && pwd && ls -al && \ -    git clone https://github.com/CESNET/libyang.git && \ -    cd libyang && \ -    git checkout v2.0.0 && \ -    mkdir build; cd build && \ -    cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr \ -          -DCMAKE_BUILD_TYPE:String="Release" .. && \ -    make -j $(nproc) && \ -    sudo make install - -COPY --chown=frr:frr . /home/frr/frr/ - -RUN cd && ls -al && ls -al frr - -RUN cd ~/frr && \ -    ./bootstrap.sh && \ -    ./configure \ -       --prefix=/usr \ -       --localstatedir=/var/run/frr \ -       --sbindir=/usr/lib/frr \ -       --sysconfdir=/etc/frr \ -       --enable-vtysh \ -       --enable-pimd \ -       --enable-sharpd \ -       --enable-multipath=64 \ -       --enable-user=frr \ -       --enable-group=frr \ -       --enable-vty-group=frrvty \ -       --enable-snmp=agentx \ -       --enable-scripting \ -       --with-pkg-extra-version=-my-manual-build && \ -    make -j $(nproc) && \ -    sudo make install - -RUN cd ~/frr && make check || true - -COPY docker/ubuntu20-ci/docker-start /usr/sbin/docker-start -CMD ["/usr/sbin/docker-start"] diff --git a/docker/ubuntu20-ci/README.md b/docker/ubuntu20-ci/README.md index 11138c6507..536f8e2e35 100644 --- a/docker/ubuntu20-ci/README.md +++ b/docker/ubuntu20-ci/README.md @@ -5,13 +5,25 @@ This builds an ubuntu 20.04 container for dev / test  # Build  ``` -docker build -t frr-ubuntu20:latest  -f docker/ubuntu20-ci/Dockerfile . +docker build -t frr-ubuntu20:latest --build-arg=UBUNTU_VERSION=20.04 -f docker/ubuntu-ci/Dockerfile . +``` + +# Running Full Topotest + +``` +docker run --init -it --privileged --name frr -v /lib/modules:/lib/modules frr-ubuntu22:latest bash -c 'cd ~/frr/tests/topotests ; sudo pytest -nauto --dist=loadfile' +``` + +# Extract results from the above run into `run-results` dir and analyze + +``` +tests/topotest/analyze.py -C frr -Ar run-results  ```  # Running  ``` -docker run -d --privileged --name frr-ubuntu20 --mount type=bind,source=/lib/modules,target=/lib/modules frr-ubuntu20:latest +docker run -d --init --privileged --name frr-ubuntu20 --mount type=bind,source=/lib/modules,target=/lib/modules frr-ubuntu20:latest  ```  # make check diff --git a/docker/ubuntu20-ci/docker-start b/docker/ubuntu20-ci/docker-start deleted file mode 100755 index 9a45c722f1..0000000000 --- a/docker/ubuntu20-ci/docker-start +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -if [ $(uname -a | grep -ci Ubuntu) -ge 1 ]; then -    #for topotests under ubuntu host -    sudo modprobe mpls-router mpls-iptunnel -    sudo /etc/init.d/openvswitch-switch start -fi -while true ; do sleep 365d ; done  | 
