]> git.puffer.fish Git - matthieu/frr.git/commitdiff
docker: Install topotests into image
authorChristian Franke <chris@opensourcerouting.org>
Wed, 17 Oct 2018 18:31:52 +0000 (20:31 +0200)
committerChristian Franke <chris@opensourcerouting.org>
Thu, 29 Nov 2018 15:51:27 +0000 (16:51 +0100)
Also: Change directory layout so we can do an indempotent sync from host
later.

Signed-off-by: Christian Franke <chris@opensourcerouting.org>
tests/topotests/Dockerfile
tests/topotests/docker/compile_frr.sh
tests/topotests/docker/entrypoint.sh
tests/topotests/docker/funcs.sh
tests/topotests/docker/topotests_run.sh

index 8cd98c43a70bfb5c1b6c23eacdd733cea2fbdd62..ecc91bc543ea0d55a7da2a29fafd02536dc944a9 100644 (file)
@@ -56,11 +56,11 @@ RUN echo "" >> /etc/security/limits.conf; \
     echo "root hard core unlimited" >> /etc/security/limits.conf
 
 # Copy run scripts to facilitate users wanting to run the tests
-COPY docker/ /opt/topotests
+COPY . /root/topotests
 WORKDIR /root
-ENV PATH "$PATH:/opt/topotests"
+ENV PATH "$PATH:/root/topotests/docker"
 
-RUN echo "cat /opt/topotests/motd.txt" >> /root/.profile && \
+RUN echo "cat /root/topotests/docker/motd.txt" >> /root/.profile && \
       echo "export PS1='(topotests) $PS1'" >> /root/.profile
 
-ENTRYPOINT [ "bash", "/opt/topotests/entrypoint.sh" ]
+ENTRYPOINT [ "bash", "/root/topotests/docker/entrypoint.sh" ]
index d9d27b670e307d2951046ffcafc5309fb4b1f071..55046f9edb0dcf3e30fd16f64669ce4465cf7790 100755 (executable)
@@ -32,7 +32,7 @@ CDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
 if [ ! -f .sync_source -o $SYNC_SOURCE -ne 0 ]; then
        log_info "Syncing FRR source with host..."
        mkdir -p $FRR_BUILD_DIR >/dev/null 2>&1
-       rsync -a --info=progress2 --chown root:root $FRR_DIR/. $FRR_BUILD_DIR/
+       rsync -a --info=progress2 --chown root:root $FRR_HOST_DIR/. $FRR_BUILD_DIR/
        touch .sync_source
 fi
 
index d9defb424ef20a68f4dd30456d968fb14a93208a..e2270295867380a6750d8e97626e8062b8eef9b1 100755 (executable)
@@ -61,7 +61,7 @@ ovs-appctl -t ovsdb-server \
 env \
        CLEAN=1 \
        VERBOSE=0 \
-       bash /opt/topotests/compile_frr.sh
+       bash "${CDIR}/compile_frr.sh"
 
 log_info "Setting permissions on /tmp so we can generate logs"
 chmod -v 1777 /tmp
index 78640d32446c8f19cb50941af2b91197eb5b8884..dae71de3297d7c923adbefeb8a9c70ca233f4882 100755 (executable)
 # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 # SOFTWARE.
 
-FRR_DIR=/root/frr
-FRR_BUILD_DIR=/root/frr-build
+FRR_HOST_DIR=/root/host-frr
+FRR_BUILD_DIR=/root/persist/frr-build
 TOPOTESTS_DIR=/root/topotests
 
+if [ ! -L "/root/frr" ]; then
+       ln -s $FRR_BUILD_DIR /root/frr
+fi
+
 [ -z $CLEAN ] && CLEAN=0
 [ -z $VERBOSE ] && VERBOSE=1
 [ -z $DOC ] && DOC=0
index 8bca756b89ec866a426368aaca6da777bb263e65..a68896789a0ec0a52e983b78916e02b06315edcf 100755 (executable)
@@ -117,16 +117,16 @@ fi
 if [ -z "$TOPOTEST_PATH" ]; then
        docker run --rm -ti \
                -v "$TOPOTEST_LOGS:/tmp" \
-               -v "$TOPOTEST_FRR:/root/frr:ro" \
-               -v "$TOPOTEST_BUILDCACHE:/root/frr-build" \
+               -v "$TOPOTEST_FRR:/root/host-frr:ro" \
+               -v "$TOPOTEST_BUILDCACHE:/root/persist" \
                --privileged \
                $TOPOTEST_OPTIONS \
                frrouting/topotests "$@"
 else
        docker run --rm -ti \
                -v "$TOPOTEST_LOGS:/tmp" \
-               -v "$TOPOTEST_FRR:/root/frr:ro" \
-               -v "$TOPOTEST_BUILDCACHE:/root/frr-build" \
+               -v "$TOPOTEST_FRR:/root/host-frr:ro" \
+               -v "$TOPOTEST_BUILDCACHE:/root/persist" \
                -v "$TOPOTEST_PATH:/root/topotests:ro" \
                --privileged \
                $TOPOTEST_OPTIONS \