Commit graph

2840 commits

Author SHA1 Message Date
Madhu Venugopal
6e4b930357 Merge pull request #58 from mrjana/cnm
Change all the naked error returns in bridge driver to proper error types
2015-04-16 21:40:41 -07:00
Jana Radhakrishnan
e91ed59cb2 Changed all the naked error returns in bridge driver to proper error
types, except the naked error returns which were just prefixing
strings to previously returned error strings.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-04-17 02:50:22 +00:00
Jana Radhakrishnan
cf40ea9ea9 Merge pull request #54 from aboch/pa
Port Allocator as a libnetwork package
2015-04-16 17:41:43 -07:00
Alessandro Boch
3e6a889cd6 Port Allocator as a libnetwork package
DESCRIPTION:
  As part of bringing libnetwork bridge driver features
  in parity with docker/daemon/network/driver/bridge
  features (Issue #46), this commit addresses the
  bridge.RequestPort() API.

  Currenlty docker/api/server.go needs an hold of port
  allocator in order to reserve a transport port which
  will be used by the http server on the host machine,
  so that portallocator does not give out that port when
  queried by portmapper as part of network driver operations.

ISSUE:
  Current implementation in docker is server.go directly
  access portmapper and then portallocator from bridge pkg
  calling bridge.RequestPort(). This also forces that function
  to trigger portmapper initialization (in case bridge init()
  was not executed yet), while portmapper life cycle should
  only be controlled by bridge network driver.
  We cannot mantain this behavior with libnetwrok as this
  violates the modularization of networking code which
  libnetwork is bringing in.

FIX:
  Make portallocator a singleton, now both docker core and
  portmapper code can initialize it and get the only one instance
  (Change in docker core code will happen when docker code
  will migrate to use libnetwork), given it is being used for
  host specific needs.

NOTE:
  Long term fix is having multiple portallocator instances (so
  no more singleton) each capable to be in sync with OS regarding
  current port allocation.
  When this change comes, no change whould be required on portallocator'
  clients side, changes will be confined to portallocator package.

Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-04-16 17:29:13 -07:00
Madhu Venugopal
c29b58724d Merge pull request #57 from mrjana/cnm
Makefile fixes to check for failures
2015-04-16 17:14:22 -07:00
Jana Radhakrishnan
38ea74e2b5 - Fixed the makefile which was not checking failures in test code
- Cleaned up the makefile to remove output clutter

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-04-16 19:00:36 +00:00
Madhu Venugopal
381592d1c1 Merge pull request #55 from mrjana/cnm
Add more test cases to test libnetwork API
2015-04-16 10:13:04 -07:00
Jana Radhakrishnan
b0a38a0d1b Fixed a bug in bridge driver where when the bridge already exists
the bridgeInterface.bridgeIPv4 is not getting initialized properly

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-04-16 13:56:52 +00:00
Jana Radhakrishnan
56c3adda07 - Added more testcases for libnetwork API testing
- Added new error types for all of libnetwork errors

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-04-16 05:15:57 +00:00
Jana Radhakrishnan
ec7d417a37 Added a test binary to test README.md code
Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-04-16 05:04:31 +00:00
Madhu Venugopal
3cfd7ace3d Merge pull request #52 from dave-tucker/godoc
Fix typos and formatting in docs. Add Godoc badge.
2015-04-15 16:51:05 -07:00
Dave Tucker
8fe2d88db1 Fix typos and formatting in docs. Add Godoc badge.
Signed-off-by: Dave Tucker <dt@docker.com>
2015-04-16 00:06:02 +01:00
Madhu Venugopal
82e75048c7 Merge pull request #51 from mrjana/cnm
Added driver specific config support
2015-04-15 12:01:10 -07:00
Jana Radhakrishnan
e797f80ad4 Added driver specific config support
- Added api enhancement to pass driver specific config
  - Refactored simple bridge driver code for driver specific config
  - Added an undocumented option to add non-default bridges without
    manual pre-provisioning to help libnetwork testing
  - Reenabled libnetwork test to do api testing
  - Updated README.md

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-04-15 18:32:07 +00:00
Jana Radhakrishnan
b4481f4d50 Merge pull request #48 from nerdalert/gen-netutils
Name/Mac generation and libcontainer dep removal
2015-04-14 15:55:42 -07:00
Brent Salisbury
d8f88b2afb Name/Mac generation and libcontainer dep removal
- Modified Mac address generation to match current standard
- Moved GenerateRandomName from libcontainer and removed the dependancy.
- Reduced entropy loop to 3 attempts.

Signed-off-by: Brent Salisbury <brent.salisbury@docker.com>
2015-04-14 18:10:52 -04:00
Madhu Venugopal
f63c19f390 Merge pull request #50 from dave-tucker/badges
Test Coverage and Build Status
2015-04-14 08:47:22 -07:00
Dave Tucker
2c797384ff Report Code Coverage and Add Status Badges
- Update Makefile to generate coverage details when running the tests
- Update CircleCI to use the Makefile
- Add Build and Coverage Badges to README

Closes #20

Signed-off-by: Dave Tucker <dt@docker.com>
2015-04-14 16:19:55 +01:00
Madhu Venugopal
6006a8af49 Merge pull request #47 from mrjana/cnm
Change IP address and gateway to use proper types
2015-04-14 06:30:40 -07:00
Jana Radhakrishnan
6c0ffdd70a Added unsupported implementations for sandbox and sandbox
test code

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-04-14 04:53:02 +00:00
Jana Radhakrishnan
0a25032277 Converted IP address and gateway values to be proper types
rather than strings in the sandbox and driverapi protocol

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-04-14 01:36:58 +00:00
Madhu Venugopal
dc7e065b01 Merge pull request #40 from mrjana/cnm
Libnetwork initial refactor for container network model
2015-04-13 15:00:20 -07:00
Jana Radhakrishnan
53c755b79d Updated godeps
Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-04-13 21:41:03 +00:00
Jana Radhakrishnan
68ae284db5 Libnetwork refactor for container network model
- Added controller, network, endpoint and sandbox interfaces
    - Created netutils package for miscallaneous network utilities
    - Created driverapi package to break cyclic dependency b/w driver and libnetwork
    - Made libnetwork multithread safe
    - Made bridge driver multithread safe
    - Fixed README.md

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-04-13 21:40:50 +00:00
Jana Radhakrishnan
53541c24a4 Merge pull request #37 from aboch/update
Sync libnetwork code to latest docker/master
2015-04-10 14:06:58 -07:00
Alessandro Boch
1f3f37b2f8 Sync libnetwork code to latest docker/master
- Update: portmapper, portallocator, ipallocator
- Remove stale godep dependencies
- Update pkg/iptables and others godep to latest
- Update bridge code and test after above changes
- Merge with latest changes in libnetwork

The code is updated up to docker/master commit SHA 86d66d6273

Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-04-10 13:50:58 -07:00
Jana Radhakrishnan
2216885f11 Merge pull request #36 from mavenugo/master
Added initial README and ROADMAP files
2015-04-10 11:10:49 -07:00
Madhu Venugopal
4e851a9897 Merge pull request #38 from mrjana/master
Add support for bridgeNetwork.Link
2015-04-10 11:09:52 -07:00
Jana Radhakrishnan
2d364e2c34 - Added support to bridgeNetwork.Link
- Removed MAC and MTU configuration via AddInterface

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-04-10 16:45:59 +00:00
Madhu Venugopal
7b05ee2ac4 Added initial README and ROADMAP files
Fixes #9

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-04-10 05:14:31 -07:00
Madhu Venugopal
d6cc62a13b Merge pull request #34 from aboch/portmapper
Issue #33: Move portmapper and portallocator into libnetwork
2015-04-09 16:45:14 -07:00
Madhu Venugopal
80ae9d3e89 Merge pull request #35 from mrjana/master
Enable libnetwork tests only in short mode
2015-04-09 14:04:02 -07:00
Jana Radhakrishnan
d1a6ee35ea Run libnetwork test case only when it's specifically enabled
Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-04-09 20:48:13 +00:00
Alessandro Boch
5d7b430801 Issue #33: Move portmapper and portallocator into libnetwork
- As they provide network translation functionalities,
  they should be part of libnetwork
- In driver/bridge/setup_ip_tables.go remove depenency
  on docker/daemon/networkdriver

Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-04-09 11:05:02 -07:00
Madhu Venugopal
724948d6ed Merge pull request #26 from aboch/ipam
Issue #18: IP Allocator rework
2015-04-08 17:47:19 -07:00
Jana Radhakrishnan
d27976fec0 Merge pull request #30 from dave-tucker/Makefile-redux
Add Makefile
2015-04-08 15:54:58 -07:00
Madhu Venugopal
ea66cde5e3 Merge pull request #31 from dave-tucker/docs
Add Project Documentation
2015-04-08 12:05:10 -07:00
Madhu Venugopal
ef3a5a589d Merge pull request #32 from mrjana/master
Add initial test cases for libnetwork api
2015-04-08 12:03:56 -07:00
Dave Tucker
bc59294da8 Point to Docker contrib guidelines in README
Updates #9 and Fixes #21

Signed-off-by: Dave Tucker <dt@docker.com>
2015-04-08 17:25:08 +01:00
Dave Tucker
18d485a466 Add Makefile
Fixes #27

Signed-off-by: Dave Tucker <dt@docker.com>
2015-04-08 17:18:17 +01:00
Jana Radhakrishnan
4ac519f7b6 - Added initial test cases for libnetwork api
- Introduce delete api

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-04-08 16:00:28 +00:00
Dave Tucker
f76372ed74 Add MAINTAINERS
Fixes #22

Signed-off-by: Dave Tucker <dt@docker.com>
2015-04-01 14:43:06 +01:00
Alessandro Boch
68d223a0e0 Issue #18: IP Allocator rework
- Move ipallocator package into libnetwork
- Also ported network utility functions and their tests in libnetwork:
  docker/daemon/networkdriver/utilg.go => libnetwork/utils.go
  docker/daemon/networkdriver/network_test.go => libnetwork/utils_test.go
- Changed drivers/setup_device.go and setup_ipv4.go to reuse functions in
  utils.go, instead of redefining internally.
- Modified utils to use vishvananda/netlink instead of libcontainer/netlink

Signed-off-by: Alessandro Boch <aboch@socketplane.io>
2015-03-24 13:57:59 -07:00
Arnaud Porterie
6e14090866 Merge pull request #25 from mrjana/master
Reimplement create namespace and move interface to ns without reexec
2015-03-12 23:04:53 -07:00
Jana Radhakrishnan
f2d7564f2c Resolve Godeps
Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-03-12 04:07:46 +00:00
Jana Radhakrishnan
694c5ee788 Reimplement create namespace and move interafec to ns without reexec
This removes the dependency on reexec so that libnetwork can be used
as a library.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-03-12 04:07:34 +00:00
Arnaud Porterie
38173fa22c Merge pull request #23 from aboch/iptables
Add implementation and test for setupIPTables()
2015-03-09 11:13:24 -07:00
Arnaud Porterie
5345da32c6 Merge pull request #19 from mrjana/master
Refactor the drivers interface to get rid of reflect way
2015-03-09 08:59:16 -07:00
Jana Radhakrishnan
91589f4948 Merge with docker/libnetwork
Signed-off-by: Jana Radhakrishnan <mrjana@socketplane.io>
2015-03-06 16:11:19 +00:00
Jana Radhakrishnan
2d16187d8c Refactor the drivers interface to get rid of reflect way
Signed-off-by: Jana Radhakrishnan <mrjana@socketplane.io>
2015-03-06 16:00:21 +00:00