From 84f4c254b4cc0b0bb3307ec742edf9555c6fd475 Mon Sep 17 00:00:00 2001
From: Jacek Kowalski <Jacek@jacekk.info>
Date: Wed, 11 Mar 2026 19:24:05 +0000
Subject: [PATCH] Add validate=0 option to allow duplicate address assignments
---
test_integration.sh | 52 ++++++++++++++++++++++++++++++++++++----------------
1 files changed, 36 insertions(+), 16 deletions(-)
diff --git a/test_integration.sh b/test_integration.sh
index 8dbdc61..e3c2193 100755
--- a/test_integration.sh
+++ b/test_integration.sh
@@ -1,12 +1,15 @@
#!/bin/bash
-set -e
+set -e -x
NAME=${NAME:-jacekkow/pyipam}
VERSION=${VERSION:-latest}
PLUGIN="${NAME}:${VERSION}"
+docker network rm test1 || true
+docker network rm test2 || true
+
docker network create \
--internal \
--driver bridge \
@@ -21,26 +24,37 @@
test1
ADDRESSES=$(docker run --rm --network test1 \
- debian \
- /bin/ip addr show
+ alpine \
+ /sbin/ip addr show
)
-echo "${ADDRESSES}" | grep 192.168.255.129/24
-echo "${ADDRESSES}" | grep 2001:db8:aaaa:bbbb::1/32
+if ! echo "${ADDRESSES}" | grep 192.168.255.129/24; then
+ echo "ERROR: invalid IPv4 address assigned"
+ exit 1
+fi
+if ! echo "${ADDRESSES}" | grep 2001:db8:aaaa:bbbb::1/32; then
+ echo "ERROR: invalid IPv6 address assigned"
+ exit 1
+fi
ADDRESSES=$(docker run --rm --network test1 \
--ip 192.168.255.25 --ip6 2001:db8:dddd:eeee:ffff:1:2:3 \
- debian \
- /bin/ip addr show
+ alpine \
+ /sbin/ip addr show
)
-echo "${ADDRESSES}" | grep 192.168.255.25/24
-echo "${ADDRESSES}" | grep 2001:db8:dddd:eeee:ffff:1:2:3/32
+if ! echo "${ADDRESSES}" | grep 192.168.255.25/24; then
+ echo "ERROR: invalid IPv4 address assigned"
+ exit 1
+fi
+if ! echo "${ADDRESSES}" | grep 2001:db8:dddd:eeee:ffff:1:2:3/32; then
+ echo "ERROR: invalid IPv6 address assigned"
+ exit 1
+fi
docker network rm test1
docker network create \
- --internal \
--driver bridge \
--ipam-driver "${PLUGIN}" \
--ipv6 \
@@ -51,15 +65,21 @@
test2
ROUTES=$(docker run --rm --network test2 \
- debian \
- /bin/ip route show
+ alpine \
+ /sbin/ip route show
)
-echo "${ROUTES}" | grep 192.168.255.254
+if ! echo "${ROUTES}" | grep 192.168.255.254; then
+ echo "ERROR: invalid IPv4 route"
+ exit 1
+fi
ROUTES=$(docker run --rm --network test2 \
- debian \
- /bin/ip -6 route show
+ alpine \
+ /sbin/ip -6 route show
)
-echo "${ROUTES}" | grep 2001:db8:ffff:ffff:ffff:ffff:ffff:ffff
+if ! echo "${ROUTES}" | grep 2001:db8:ffff:ffff:ffff:ffff:ffff:ffff; then
+ echo "ERROR: invalid IPv6 route"
+ exit 1
+fi
docker network rm test2
--
Gitblit v1.10.0