Files
moby/libnetwork/service_common_unix_test.go
Albin Kerouanton 32418e9753 daemon: set the default local addr pool if none configured
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>
2024-05-29 10:47:59 +02:00

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)
}
}