1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00
moby--moby/libnetwork
Brian Goff 20fd1dd7d2 Skip some windows network driver tests
These are failing in CI because something is not enabled.
Its not clear that these tests ever worked because they were not
actually running while in the libnetwork repo, which was only testing
Linux.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
2021-06-01 22:15:10 +00:00
..
.circleci CircleCI: update to Docker 19.03.12 2020-09-11 16:39:34 +02:00
api Fix libnetwork imports 2021-06-01 21:51:23 +00:00
bitseq Fix issues running libnetwork tests. 2021-06-01 22:14:41 +00:00
client Fix libnetwork imports 2021-06-01 21:51:23 +00:00
cluster Switch from x/net/context -> context 2018-04-24 14:57:04 -07:00
cmd Fix issues running libnetwork tests. 2021-06-01 22:14:41 +00:00
config Fix libnetwork imports 2021-06-01 21:51:23 +00:00
datastore Fix libnetwork imports 2021-06-01 21:51:23 +00:00
diagnostic Fix libnetwork imports 2021-06-01 21:51:23 +00:00
discoverapi
docs Update design.md 2020-02-18 17:21:39 -08:00
driverapi Fix libnetwork imports 2021-06-01 21:51:23 +00:00
drivers Skip some windows network driver tests 2021-06-01 22:15:10 +00:00
drvregistry Fix libnetwork imports 2021-06-01 21:51:23 +00:00
etchosts Fix libnetwork imports 2021-06-01 21:51:23 +00:00
hostdiscovery Fix libnetwork imports 2021-06-01 21:51:23 +00:00
idm Fix libnetwork imports 2021-06-01 21:51:23 +00:00
internal Fix libnetwork imports 2021-06-01 21:51:23 +00:00
ipam Fix issues running libnetwork tests. 2021-06-01 22:14:41 +00:00
ipamapi Fix libnetwork imports 2021-06-01 21:51:23 +00:00
ipams Fix issues running libnetwork tests. 2021-06-01 22:14:41 +00:00
ipamutils Fix libnetwork imports 2021-06-01 21:51:23 +00:00
iptables Fix libnetwork imports 2021-06-01 21:51:23 +00:00
netlabel Fix libnetwork imports 2021-06-01 21:51:23 +00:00
netutils Fix libnetwork imports 2021-06-01 21:51:23 +00:00
networkdb Fix libnetwork imports 2021-06-01 21:51:23 +00:00
ns Revert "Adjust LockOSThread" 2019-08-15 14:44:03 -07:00
options Fix libnetwork imports 2021-06-01 21:51:23 +00:00
osl Fix libnetwork imports 2021-06-01 21:51:23 +00:00
portallocator Fix libnetwork imports 2021-06-01 21:51:23 +00:00
portmapper Fix libnetwork imports 2021-06-01 21:51:23 +00:00
resolvconf Fix issues running libnetwork tests. 2021-06-01 22:14:41 +00:00
support Resolve "bridge fdb show" hang issue 2019-09-26 21:29:22 +00:00
test/integration Merge pull request #1656 from huikang/remove-unused-testcode 2019-06-27 09:57:12 +01:00
testutils Fix issues running libnetwork tests. 2021-06-01 22:14:41 +00:00
types Fix libnetwork imports 2021-06-01 21:51:23 +00:00
vendor/github.com/ishidawataru/sctp Fix libnetwork imports 2021-06-01 21:51:23 +00:00
.dockerignore Added back dockerignore 2018-06-22 16:10:22 -07:00
.gitignore Added back dockerignore 2018-06-22 16:10:22 -07:00
agent.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
agent.pb.go Gracefully remove LB endpoints from services 2018-03-16 15:19:49 -04:00
agent.proto Gracefully remove LB endpoints from services 2018-03-16 15:19:49 -04:00
CHANGELOG.md Spelling fixes 2018-07-12 12:54:44 -07:00
controller.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
default_gateway.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
default_gateway_freebsd.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
default_gateway_linux.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
default_gateway_windows.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
Dockerfile Dockerfile: update to Go 1.13.8 2020-02-27 11:46:18 +01:00
drivers_freebsd.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
drivers_ipam.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
drivers_linux.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
drivers_windows.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
endpoint.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
endpoint_cnt.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
endpoint_info.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
endpoint_info_unix.go
endpoint_info_windows.go
endpoint_test.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
error.go
errors_test.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
firewall_linux.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
firewall_others.go DOCKER-USER chain not created when IPTableEnable=false. 2019-11-12 16:32:42 +00:00
firewall_test.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
libnetwork_internal_test.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
libnetwork_linux_test.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
libnetwork_test.go Fix issues running libnetwork tests. 2021-06-01 22:14:41 +00:00
libnetwork_unix_test.go Fix issues running libnetwork tests. 2021-06-01 22:14:41 +00:00
libnetwork_windows_test.go Fix issues running libnetwork tests. 2021-06-01 22:14:41 +00:00
LICENSE
machines
MAINTAINERS Add Arko to maintainers 2019-12-31 11:04:32 +01:00
Makefile Makefile: enable BuildKit 2020-09-11 16:39:51 +02:00
network.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
network_unix.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
network_windows.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
README.md road map loss tracing, just keep use 'Design' describe the 'Future' 2019-06-25 22:06:30 +08:00
resolver.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
resolver_test.go Make DNS records and queries case-insensitive 2019-06-19 11:23:31 -07:00
resolver_unix.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
resolver_windows.go
sandbox.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
sandbox_dns_unix.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
sandbox_dns_windows.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
sandbox_externalkey.go
sandbox_externalkey_unix.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
sandbox_externalkey_windows.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
sandbox_store.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
sandbox_test.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
service.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
service_common.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
service_common_test.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
service_linux.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
service_unsupported.go Add endpoint load-balancing mode 2018-06-28 12:08:18 -04:00
service_windows.go Replace use of deprecated functions 2020-09-12 01:49:42 +02:00
store.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
store_linux_test.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
store_test.go Fix libnetwork imports 2021-06-01 21:51:23 +00:00
Vagrantfile
vendor.conf vendor: github.com/ishidawataru/sctp f2269e66cdee387bd321445d5d300893449805be 2021-05-19 14:11:08 +02:00

libnetwork - networking for containers

Circle CI Coverage Status GoDoc Go Report Card

Libnetwork provides a native Go implementation for connecting containers

The goal of libnetwork is to deliver a robust Container Network Model that provides a consistent programming interface and the required network abstractions for applications.

Design

Please refer to the design for more information.

Using libnetwork

There are many networking solutions available to suit a broad range of use-cases. libnetwork uses a driver / plugin model to support all of these solutions while abstracting the complexity of the driver implementations by exposing a simple and consistent Network Model to users.

import (
	"fmt"
	"log"

	"github.com/docker/docker/pkg/reexec"
	"github.com/docker/libnetwork"
	"github.com/docker/libnetwork/config"
	"github.com/docker/libnetwork/netlabel"
	"github.com/docker/libnetwork/options"
)

func main() {
	if reexec.Init() {
		return
	}

	// Select and configure the network driver
	networkType := "bridge"

	// Create a new controller instance
	driverOptions := options.Generic{}
	genericOption := make(map[string]interface{})
	genericOption[netlabel.GenericData] = driverOptions
	controller, err := libnetwork.New(config.OptionDriverConfig(networkType, genericOption))
	if err != nil {
		log.Fatalf("libnetwork.New: %s", err)
	}

	// Create a network for containers to join.
	// NewNetwork accepts Variadic optional arguments that libnetwork and Drivers can use.
	network, err := controller.NewNetwork(networkType, "network1", "")
	if err != nil {
		log.Fatalf("controller.NewNetwork: %s", err)
	}

	// For each new container: allocate IP and interfaces. The returned network
	// settings will be used for container infos (inspect and such), as well as
	// iptables rules for port publishing. This info is contained or accessible
	// from the returned endpoint.
	ep, err := network.CreateEndpoint("Endpoint1")
	if err != nil {
		log.Fatalf("network.CreateEndpoint: %s", err)
	}

	// Create the sandbox for the container.
	// NewSandbox accepts Variadic optional arguments which libnetwork can use.
	sbx, err := controller.NewSandbox("container1",
		libnetwork.OptionHostname("test"),
		libnetwork.OptionDomainname("docker.io"))
	if err != nil {
		log.Fatalf("controller.NewSandbox: %s", err)
	}

	// A sandbox can join the endpoint via the join api.
	err = ep.Join(sbx)
	if err != nil {
		log.Fatalf("ep.Join: %s", err)
	}

	// libnetwork client can check the endpoint's operational data via the Info() API
	epInfo, err := ep.DriverInfo()
	if err != nil {
		log.Fatalf("ep.DriverInfo: %s", err)
	}

	macAddress, ok := epInfo[netlabel.MacAddress]
	if !ok {
		log.Fatalf("failed to get mac address from endpoint info")
	}

	fmt.Printf("Joined endpoint %s (%s) to sandbox %s (%s)\n", ep.Name(), macAddress, sbx.ContainerID(), sbx.Key())
}

Contributing

Want to hack on libnetwork? Docker's contributions guidelines apply.

Code and documentation copyright 2015 Docker, inc. Code released under the Apache 2.0 license. Docs released under Creative commons.