mirror of
https://github.com/moby/moby.git
synced 2026-01-11 18:51:37 +00:00
Until this commit, the default local address pool was initialized by the defaultipam driver if none was provided by libnet / the daemon. Now, defaultipam errors out if none is passed and instead the daemon is made responsible for initializing it with the default values if the user don'te set the related config parameter. Signed-off-by: Albin Kerouanton <albinker@gmail.com>
58 lines
1.6 KiB
Go
58 lines
1.6 KiB
Go
//go:build !windows
|
|
|
|
package libnetwork
|
|
|
|
import (
|
|
"net"
|
|
"testing"
|
|
|
|
"github.com/docker/docker/internal/testutils/netnsutils"
|
|
"github.com/docker/docker/libnetwork/config"
|
|
"github.com/docker/docker/libnetwork/ipamutils"
|
|
"gotest.tools/v3/assert"
|
|
)
|
|
|
|
func TestCleanupServiceDiscovery(t *testing.T) {
|
|
defer netnsutils.SetupTestOSContext(t)()
|
|
c, err := New(OptionBoltdbWithRandomDBFile(t),
|
|
config.OptionDefaultAddressPoolConfig(ipamutils.GetLocalScopeDefaultNetworks()))
|
|
assert.NilError(t, err)
|
|
defer c.Stop()
|
|
|
|
cleanup := func(n *Network) {
|
|
if err := n.Delete(); err != nil {
|
|
t.Error(err)
|
|
}
|
|
}
|
|
n1, err := c.NewNetwork("bridge", "net1", "", nil)
|
|
assert.NilError(t, err)
|
|
defer cleanup(n1)
|
|
|
|
n2, err := c.NewNetwork("bridge", "net2", "", nil)
|
|
assert.NilError(t, err)
|
|
defer cleanup(n2)
|
|
|
|
n1.addSvcRecords("N1ep1", "service_test", "serviceID1", net.ParseIP("192.168.0.1"), net.IP{}, true, "test")
|
|
n1.addSvcRecords("N2ep2", "service_test", "serviceID2", net.ParseIP("192.168.0.2"), net.IP{}, true, "test")
|
|
|
|
n2.addSvcRecords("N2ep1", "service_test", "serviceID1", net.ParseIP("192.168.1.1"), net.IP{}, true, "test")
|
|
n2.addSvcRecords("N2ep2", "service_test", "serviceID2", net.ParseIP("192.168.1.2"), net.IP{}, true, "test")
|
|
|
|
if len(c.svcRecords) != 2 {
|
|
t.Fatalf("Service record not added correctly:%v", c.svcRecords)
|
|
}
|
|
|
|
// cleanup net1
|
|
c.cleanupServiceDiscovery(n1.ID())
|
|
|
|
if len(c.svcRecords) != 1 {
|
|
t.Fatalf("Service record not cleaned correctly:%v", c.svcRecords)
|
|
}
|
|
|
|
c.cleanupServiceDiscovery("")
|
|
|
|
if len(c.svcRecords) != 0 {
|
|
t.Fatalf("Service record not cleaned correctly:%v", c.svcRecords)
|
|
}
|
|
}
|