Commit Graph

19 Commits

Author SHA1 Message Date
Jana Radhakrishnan 4c8dcea884 Add overlay network integration test
This commit adds a basic overlay network
connectivity integration test. By doing this
it adds the basic functions to form a crude
container to run the networking tests. The container
uses a busybox rootfs with network namespace and
/etc/hosts and /etc/resolv.conf generated by
libnetwork.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-09-23 22:04:15 -07:00
Jana Radhakrishnan c2dbed5e71 Introduce multi-node integration tests
- Create a wrapper script to run intergation tests
      so that setups and teardowns happen in more
      optimal manner
    - Add traps to cleanup containers on failure or
      user interrupt
    - Introduce basic multi-node integration tests
    - Removed default network, default driver tests
      as they may not be useful in the near future

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-09-18 22:49:28 -07:00
Alessandro Boch 3f99dc594a Make integration-tests an indipendent target
- Also add target for cleaning up dnet binary

Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-09-17 08:27:20 -07:00
Chun Chen d35f6502f6 Fix for zookeeper backend
Signed-off-by: Chun Chen <ramichen@tencent.com>
2015-09-17 10:16:34 +08:00
Jana Radhakrishnan cc5664361c Update Godeps and add codegangsta/cli
Updated Godeps and added codegangsta/cli into Godeps.
Also cleaned up the unnecessary packages by removing
host_discovery build tag which wasn't getting detected
by godep and was causing all sorts of `godep save` issues.
With this fix committers can do `godep save ./...` freely
to include their new dependencies without any failure.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-09-15 22:22:28 -07:00
Jana Radhakrishnan a017a14420 Add integration test infra
Currently libnetwork does not have any integration test infra
support to tests libnetwork code end2end purely as a black
box. This initial commit adds the infra support to enable
test cases for this.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-09-08 22:58:12 -07:00
Jana Radhakrishnan 2528ec57ff Allow tests to be interrupted
Currently when libnetwork tests are run inside a container
you cannot interrupt them in the middle by pressing ctrl-c
even though all the tests run in foreground. Fix this by running
tests by wrapping the make invocation inside the container
with a shell scripts which installs the SIGINT handler.
Without the handler the kernel does not deliver signals
to the process with PID 1(which in this case was make itself)
and hence make could never be interrupted. With this fix
we capture SIGINT in the shell script and re-raise it in the
the child process (which is make) and that makes the make
interruptible.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-09-01 21:48:09 -07:00
Chun Chen 82137d92de Use github golang tools mirror
Signed-off-by: Chun Chen <ramichen@tencent.com>
2015-07-01 12:57:39 +08:00
Madhu Venugopal 5da83aac26 Moved services to dnet top-level and removed experimental
In prep for the UI/API updates on Docker to integrate the network and
endpoints, this PR removes the experimental tag from dnet and moving it
to docker UI and API and wrap the top-level "network" and "service"
under experimental.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-06-08 14:23:41 -07:00
Madhu Venugopal 29350c906c Including hostdiscovery conditionaly under a build tag
In order to vendor-in libnetwork to docker, we need to remove the swarm
dependency even though it is used as library. using this PR, a new build
flag libnetwork_discovery is introduced in order to avoid pulling in the
unused hostdiscovery functionality into docker.
We are working with the Swarm project to see if we can modularize the
discovery package to become independent so that we can include them as a
vendor-in package in docker.

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-06-04 05:00:09 -07:00
Madhu Venugopal ed7cba986e Moved all the service commands under experimental build tag
In order to support the docker experimental feature build, moving the
service commands under experimental tag. Please refer to :
https://github.com/docker/docker/pull/13338/ for more information

Signed-off-by: Madhu Venugopal <madhu@docker.com>
2015-05-23 13:05:48 -07:00
Alessandro Boch 15cbcc55eb Fix Makefile
- To report the godep test err code to CircleCI

Signed-off-by: Alessandro Boch <aboch@docker.com>
2015-05-19 11:06:56 -07:00
Jana Radhakrishnan a971716f29 Fixed an intermittent issue in the libnetwork test
The libnetwork test does not need to run inside a namespace
when inside a container. This results in unpredictable behavior
when the sandbox code unlocks the go routine from the OS thread
while the test code still wants it locked in the OS thread. This
will result in unreachable interfaces when the go routine
migrates to a different OS thread.

Fixed by passing a special test flag which is only set to true
when the test is run inside a container.

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-05-13 00:22:00 +00:00
Michael Bridgen 58bbb00972 Create a build image to avoid install-deps every time
Signed-off-by: Michael Bridgen <mikeb@squaremobius.net>
2015-05-11 21:17:12 +01:00
Jana Radhakrishnan d3f628541c Make endpoint Join and Leave multi-thread safe
- Refactored the Join/Leave code so they are synchronized across multiple go-routines
    - Added parallel test coverage to test mult-thread access to Join/Leave
    - Updated sandbox code to revert back to caller namespace when removing interfaces
    - Changed the netns path to /var/run/netns so the cleanup is simpler on machine
      reboot scenario

Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
2015-05-10 17:36:04 +00:00
Dave Tucker 0c167ba011 Don't fail the build on coveralls upload
If we can't upload to coveralls, don't fail the build.

Goveralls and Coveralls have been a little flaky and started throwing
http 422 errors, although I still see coverage being reported.

It's best in the interim to ignore these, although this should be
removed in future when the service is more stable

Signed-off-by: Dave Tucker <dt@docker.com>
2015-05-06 00:49:41 +01:00
Jana Radhakrishnan 55fe669caa - 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
Dave Tucker e6f2ce6b70 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
Dave Tucker 49f016559e Add Makefile
Fixes #27

Signed-off-by: Dave Tucker <dt@docker.com>
2015-04-08 17:18:17 +01:00