mirror of
https://github.com/FRRouting/frr.git
synced 2025-04-30 13:37:17 +02:00
docker: update docker reference to follow latest docs
Signed-off-by: Christian Hopps <chopps@labn.net>
This commit is contained in:
parent
cdc964c233
commit
854caad3ea
|
@ -23,13 +23,17 @@ RUN apt update && apt upgrade -y && \
|
|||
libreadline-dev \
|
||||
libsnmp-dev \
|
||||
libsqlite3-dev \
|
||||
lsb-release \
|
||||
libtool \
|
||||
lcov \
|
||||
make \
|
||||
perl \
|
||||
pkg-config \
|
||||
python3-dev \
|
||||
python3-sphinx \
|
||||
screen \
|
||||
texinfo \
|
||||
tmux \
|
||||
&& \
|
||||
# Protobuf build requirements
|
||||
apt-get install -y \
|
||||
|
@ -89,18 +93,14 @@ RUN groupadd -r -g 92 frr && \
|
|||
echo 'frr ALL = NOPASSWD: ALL' | tee /etc/sudoers.d/frr && \
|
||||
mkdir -p /home/frr && chown frr.frr /home/frr
|
||||
|
||||
USER frr:frr
|
||||
# Install FRR built packages
|
||||
RUN mkdir -p /etc/apt/keyrings && \
|
||||
curl -s -o /etc/apt/keyrings/frrouting.gpg https://deb.frrouting.org/frr/keys.gpg && \
|
||||
echo deb '[signed-by=/etc/apt/keyrings/frrouting.gpg]' https://deb.frrouting.org/frr \
|
||||
$(lsb_release -s -c) "frr-stable" > /etc/apt/sources.list.d/frr.list && \
|
||||
apt-get update && apt-get install -y librtr-dev libyang2-dev libyang2-tools
|
||||
|
||||
# build and install libyang2
|
||||
RUN cd && pwd && ls -al && \
|
||||
git clone https://github.com/CESNET/libyang.git && \
|
||||
cd libyang && \
|
||||
git checkout v2.1.128 && \
|
||||
mkdir build; cd build && \
|
||||
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr \
|
||||
-DCMAKE_BUILD_TYPE:String="Release" .. && \
|
||||
make -j $(nproc) && \
|
||||
sudo make install
|
||||
USER frr:frr
|
||||
|
||||
COPY --chown=frr:frr . /home/frr/frr/
|
||||
|
||||
|
@ -111,6 +111,10 @@ RUN cd ~/frr && \
|
|||
--sysconfdir=/etc \
|
||||
--localstatedir=/var \
|
||||
--sbindir=/usr/lib/frr \
|
||||
--enable-gcov \
|
||||
--enable-dev-build \
|
||||
--enable-mgmtd-test-be-client \
|
||||
--enable-rpki \
|
||||
--enable-sharpd \
|
||||
--enable-multipath=64 \
|
||||
--enable-user=frr \
|
||||
|
|
|
@ -1,8 +1,5 @@
|
|||
#!/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
|
||||
sudo modprobe mpls-router mpls-iptunnel vrf
|
||||
fi
|
||||
while true ; do sleep 365d ; done
|
||||
|
|
|
@ -8,10 +8,18 @@ This builds an ubuntu 22.04 container for dev / test
|
|||
docker build -t frr-ubuntu22:latest -f docker/ubuntu-ci/Dockerfile .
|
||||
```
|
||||
|
||||
# Running Full Topotest
|
||||
# Run
|
||||
|
||||
```
|
||||
docker run --init -it --privileged --name frr-ubuntu22 -v /lib/modules:/lib/modules frr-ubuntu22:latest bash -c 'cd ~/frr/tests/topotests ; sudo pytest -nauto --dist=loadfile'
|
||||
docker run -d --init --privileged --name frr-ubuntu22 --mount type=bind,source=/lib/modules,target=/lib/modules frr-ubuntu22:latest
|
||||
```
|
||||
|
||||
# Running full topotest (container stops at end)
|
||||
|
||||
```
|
||||
docker run --init -it --privileged --name frr-ubuntu22 \
|
||||
-v /lib/modules:/lib/modules frr-ubuntu22:latest \
|
||||
bash -c 'cd /home/frr/frr/tests/topotests; sudo pytest -nauto --dist=loadfile'
|
||||
```
|
||||
|
||||
# Extract results from the above run into `run-results` dir and analyze
|
||||
|
@ -20,10 +28,11 @@ docker run --init -it --privileged --name frr-ubuntu22 -v /lib/modules:/lib/modu
|
|||
tests/topotests/analyze.py -C frr-ubuntu22 -Ar run-results
|
||||
```
|
||||
|
||||
# Running
|
||||
# Extract coverage from a stopped container into host FRR source tree
|
||||
|
||||
```
|
||||
docker run -d --init --privileged --name frr-ubuntu22 --mount type=bind,source=/lib/modules,target=/lib/modules frr-ubuntu22:latest
|
||||
docker export frr-ubuntu22 | tar --strip=3 --wildcards -vx '*.gc??'
|
||||
lcov -b $(pwd) --capture --directory . --output-file=coverage.info
|
||||
```
|
||||
|
||||
# make check
|
||||
|
@ -38,10 +47,10 @@ docker exec frr-ubuntu22 bash -c 'cd ~/frr ; make check'
|
|||
docker exec -it frr-ubuntu22 bash
|
||||
```
|
||||
|
||||
# topotest -- when Host O/S is Ubuntu only
|
||||
# Run a specific topotest
|
||||
|
||||
```
|
||||
docker exec frr-ubuntu22 bash -c 'cd ~/frr/tests/topotests/ospf_topo1 ; sudo pytest test_ospf_topo1.py'
|
||||
docker exec frr-ubuntu22 bash -c 'cd ~/frr/tests/topotests ; sudo pytest ospf_topo1/test_ospf_topo1.py'
|
||||
```
|
||||
|
||||
# stop & remove container
|
||||
|
|
Loading…
Reference in a new issue