From efda9618db07152ce6a94e0ac391ba58d1463fcd Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Wed, 9 Dec 2015 13:38:39 -0800 Subject: [PATCH] Move networking api types to the api/types/networking package. Signed-off-by: Daniel Nephin --- api/client/network.go | 2 +- api/server/router/network/backend.go | 4 +- api/server/router/network/network_routes.go | 2 +- api/types/network/network.go | 33 ++++++++++++++++ api/types/types.go | 2 +- container/container_unix.go | 2 +- daemon/container_operations_unix.go | 11 +++--- daemon/inspect.go | 3 +- daemon/network.go | 2 +- daemon/network/settings.go | 43 ++++----------------- integration-cli/docker_api_network_test.go | 2 +- 11 files changed, 55 insertions(+), 51 deletions(-) create mode 100644 api/types/network/network.go diff --git a/api/client/network.go b/api/client/network.go index 35abf5d91d..fae446cdb4 100644 --- a/api/client/network.go +++ b/api/client/network.go @@ -7,8 +7,8 @@ import ( "text/tabwriter" "github.com/docker/docker/api/types" + "github.com/docker/docker/api/types/network" Cli "github.com/docker/docker/cli" - "github.com/docker/docker/daemon/network" "github.com/docker/docker/opts" flag "github.com/docker/docker/pkg/mflag" "github.com/docker/docker/pkg/stringid" diff --git a/api/server/router/network/backend.go b/api/server/router/network/backend.go index 8e069a4c60..ad6c56cc69 100644 --- a/api/server/router/network/backend.go +++ b/api/server/router/network/backend.go @@ -1,9 +1,7 @@ package network import ( - // TODO: network config needs to be refactored out to a - // different location - "github.com/docker/docker/daemon/network" + "github.com/docker/docker/api/types/network" "github.com/docker/libnetwork" ) diff --git a/api/server/router/network/network_routes.go b/api/server/router/network/network_routes.go index f639481514..5db04bc2be 100644 --- a/api/server/router/network/network_routes.go +++ b/api/server/router/network/network_routes.go @@ -10,8 +10,8 @@ import ( "github.com/Sirupsen/logrus" "github.com/docker/docker/api/server/httputils" "github.com/docker/docker/api/types" + "github.com/docker/docker/api/types/network" "github.com/docker/docker/daemon" - "github.com/docker/docker/daemon/network" "github.com/docker/docker/pkg/parsers/filters" "github.com/docker/docker/runconfig" "github.com/docker/libnetwork" diff --git a/api/types/network/network.go b/api/types/network/network.go new file mode 100644 index 0000000000..c81c621178 --- /dev/null +++ b/api/types/network/network.go @@ -0,0 +1,33 @@ +package network + +// Address represents an IP address +type Address struct { + Addr string + PrefixLen int +} + +// IPAM represents IP Address Management +type IPAM struct { + Driver string + Config []IPAMConfig +} + +// IPAMConfig represents IPAM configurations +type IPAMConfig struct { + Subnet string `json:",omitempty"` + IPRange string `json:",omitempty"` + Gateway string `json:",omitempty"` + AuxAddress map[string]string `json:"AuxiliaryAddresses,omitempty"` +} + +// EndpointSettings stores the network endpoint details +type EndpointSettings struct { + EndpointID string + Gateway string + IPAddress string + IPPrefixLen int + IPv6Gateway string + GlobalIPv6Address string + GlobalIPv6PrefixLen int + MacAddress string +} diff --git a/api/types/types.go b/api/types/types.go index c33c32f25d..65ef3856df 100644 --- a/api/types/types.go +++ b/api/types/types.go @@ -4,7 +4,7 @@ import ( "os" "time" - "github.com/docker/docker/daemon/network" + "github.com/docker/docker/api/types/network" "github.com/docker/docker/pkg/nat" "github.com/docker/docker/pkg/version" "github.com/docker/docker/registry" diff --git a/container/container_unix.go b/container/container_unix.go index 6c7d30a379..c680405c61 100644 --- a/container/container_unix.go +++ b/container/container_unix.go @@ -13,8 +13,8 @@ import ( "syscall" "github.com/Sirupsen/logrus" + "github.com/docker/docker/api/types/network" "github.com/docker/docker/daemon/execdriver" - "github.com/docker/docker/daemon/network" derr "github.com/docker/docker/errors" "github.com/docker/docker/pkg/chrootarchive" "github.com/docker/docker/pkg/nat" diff --git a/daemon/container_operations_unix.go b/daemon/container_operations_unix.go index 692f11c4e0..bbb5e982ca 100644 --- a/daemon/container_operations_unix.go +++ b/daemon/container_operations_unix.go @@ -13,6 +13,7 @@ import ( "time" "github.com/Sirupsen/logrus" + networktypes "github.com/docker/docker/api/types/network" "github.com/docker/docker/container" "github.com/docker/docker/daemon/execdriver" "github.com/docker/docker/daemon/links" @@ -440,7 +441,7 @@ func (daemon *Daemon) buildSandboxOptions(container *container.Container, n libn func (daemon *Daemon) updateNetworkSettings(container *container.Container, n libnetwork.Network) error { if container.NetworkSettings == nil { - container.NetworkSettings = &network.Settings{Networks: make(map[string]*network.EndpointSettings)} + container.NetworkSettings = &network.Settings{Networks: make(map[string]*networktypes.EndpointSettings)} } if !container.HostConfig.NetworkMode.IsHost() && runconfig.NetworkMode(n.Type()).IsHost() { @@ -466,7 +467,7 @@ func (daemon *Daemon) updateNetworkSettings(container *container.Container, n li return runconfig.ErrConflictNoNetwork } } - container.NetworkSettings.Networks[n.Name()] = new(network.EndpointSettings) + container.NetworkSettings.Networks[n.Name()] = new(networktypes.EndpointSettings) return nil } @@ -550,8 +551,8 @@ func (daemon *Daemon) allocateNetwork(container *container.Container) error { } networkName = n.Name() } - container.NetworkSettings.Networks = make(map[string]*network.EndpointSettings) - container.NetworkSettings.Networks[networkName] = new(network.EndpointSettings) + container.NetworkSettings.Networks = make(map[string]*networktypes.EndpointSettings) + container.NetworkSettings.Networks[networkName] = new(networktypes.EndpointSettings) updateSettings = true } @@ -812,7 +813,7 @@ func (daemon *Daemon) releaseNetwork(container *container.Container) { sid := container.NetworkSettings.SandboxID networks := container.NetworkSettings.Networks for n := range networks { - networks[n] = &network.EndpointSettings{} + networks[n] = &networktypes.EndpointSettings{} } container.NetworkSettings = &network.Settings{Networks: networks} diff --git a/daemon/inspect.go b/daemon/inspect.go index 004a4ad5f8..b98d71e595 100644 --- a/daemon/inspect.go +++ b/daemon/inspect.go @@ -5,6 +5,7 @@ import ( "time" "github.com/docker/docker/api/types" + networktypes "github.com/docker/docker/api/types/network" "github.com/docker/docker/api/types/versions/v1p20" "github.com/docker/docker/container" "github.com/docker/docker/daemon/exec" @@ -223,7 +224,7 @@ func (daemon *Daemon) getBackwardsCompatibleNetworkSettings(settings *network.Se // getDefaultNetworkSettings creates the deprecated structure that holds the information // about the bridge network for a container. -func (daemon *Daemon) getDefaultNetworkSettings(networks map[string]*network.EndpointSettings) types.DefaultNetworkSettings { +func (daemon *Daemon) getDefaultNetworkSettings(networks map[string]*networktypes.EndpointSettings) types.DefaultNetworkSettings { var settings types.DefaultNetworkSettings if defaultNetwork, ok := networks["bridge"]; ok { diff --git a/daemon/network.go b/daemon/network.go index a177ee4f77..1b1dc8e166 100644 --- a/daemon/network.go +++ b/daemon/network.go @@ -6,7 +6,7 @@ import ( "net" "strings" - "github.com/docker/docker/daemon/network" + "github.com/docker/docker/api/types/network" "github.com/docker/libnetwork" ) diff --git a/daemon/network/settings.go b/daemon/network/settings.go index ddc87a7c72..293ffc7056 100644 --- a/daemon/network/settings.go +++ b/daemon/network/settings.go @@ -1,26 +1,9 @@ package network -import "github.com/docker/docker/pkg/nat" - -// Address represents an IP address -type Address struct { - Addr string - PrefixLen int -} - -// IPAM represents IP Address Management -type IPAM struct { - Driver string - Config []IPAMConfig -} - -// IPAMConfig represents IPAM configurations -type IPAMConfig struct { - Subnet string `json:",omitempty"` - IPRange string `json:",omitempty"` - Gateway string `json:",omitempty"` - AuxAddress map[string]string `json:"AuxiliaryAddresses,omitempty"` -} +import ( + networktypes "github.com/docker/docker/api/types/network" + "github.com/docker/docker/pkg/nat" +) // Settings stores configuration details about the daemon network config // TODO Windows. Many of these fields can be factored out., @@ -30,22 +13,10 @@ type Settings struct { HairpinMode bool LinkLocalIPv6Address string LinkLocalIPv6PrefixLen int - Networks map[string]*EndpointSettings + Networks map[string]*networktypes.EndpointSettings Ports nat.PortMap SandboxKey string - SecondaryIPAddresses []Address - SecondaryIPv6Addresses []Address + SecondaryIPAddresses []networktypes.Address + SecondaryIPv6Addresses []networktypes.Address IsAnonymousEndpoint bool } - -// EndpointSettings stores the network endpoint details -type EndpointSettings struct { - EndpointID string - Gateway string - IPAddress string - IPPrefixLen int - IPv6Gateway string - GlobalIPv6Address string - GlobalIPv6PrefixLen int - MacAddress string -} diff --git a/integration-cli/docker_api_network_test.go b/integration-cli/docker_api_network_test.go index bd0b5e490b..30435b7b19 100644 --- a/integration-cli/docker_api_network_test.go +++ b/integration-cli/docker_api_network_test.go @@ -9,7 +9,7 @@ import ( "strings" "github.com/docker/docker/api/types" - "github.com/docker/docker/daemon/network" + "github.com/docker/docker/api/types/network" "github.com/docker/docker/pkg/integration/checker" "github.com/docker/docker/pkg/parsers/filters" "github.com/go-check/check"