1144 Commits

Author SHA1 Message Date
Gabriel Rosenhouse
008024125a portmap integration test: echo server runs in separate process
this way we're not mixing goroutines and namespaces
2017-09-05 23:36:12 -07:00
Casey Callendrello
556e509097 Merge pull request #64 from rosenhouse/travis-ginkgo
travis: run with ginkgo -p instead of go test
2017-08-31 14:28:55 +02:00
Gabe Rosenhouse
dda9c2b1b0 travis: run with ginkgo -p instead of go test
may help reduce test-pollution due to namespace-affinity

see http://onsi.github.io/ginkgo/#parallel-specs
2017-08-30 20:22:12 -07:00
Gabe Rosenhouse
0e3df2961c Merge pull request #67 from rosenhouse/test-all-packages
Test all packages
2017-08-30 19:32:48 -07:00
Gabe Rosenhouse
e1ea7f5ecb Test all non-vendored packages 2017-08-30 14:47:10 -07:00
Gabe Rosenhouse
8fe8460c72 Merge pull request #66 from rosenhouse/filelock-vet
host-local FileLock is used by value instead of by reference
2017-08-30 08:21:28 -07:00
Gabe Rosenhouse
92e62b9f4d test.sh: cover host-local disk backend for go test and go vet 2017-08-30 06:52:29 -07:00
Gabe Rosenhouse
2f957864ea host-local disk backend store uses FileLock by reference
- this change fixes go vet warnings for the package
2017-08-30 06:52:29 -07:00
Gabe Rosenhouse
b49379d284 Merge pull request #62 from squeed/bridge-fixes
bridge: various fixes
2017-08-29 21:00:21 -07:00
Gabe Rosenhouse
9769434a13 Golang versions: add 1.9, drop 1.7 2017-08-29 20:15:50 -07:00
Casey Callendrello
a124fb36e6 bridge: various fixes
* Don't set the MAC, send gratuitous arp instead
* Set the bridge's MAC to itself
* Only disable DAD when necessary
2017-08-28 18:12:49 +02:00
Casey Callendrello
9fb22524a1 Merge pull request #54 from squeed/clean-build
Release: clean the builddir when building
2017-08-21 15:39:28 +02:00
Casey Callendrello
2d7d680874 Release: clean the builddir when building 2017-08-14 14:42:50 +02:00
Dan Williams
7480240de9 Merge pull request #50 from squeed/host-local-multi
ipam/host-local: support sets of disjoint ranges
v0.6.0 v0.6.0-rc2
2017-08-11 11:59:55 -05:00
Casey Callendrello
27d027a6d3 ipam/host-local: support sets of disjoint ranges
In real-world address allocations, disjoint address ranges are common.
Therefore, the host-local allocator should support them.

This change still allows for multiple IPs in a single configuration, but
also allows for a "set of subnets."

Fixes: #45
2017-08-09 19:02:08 +02:00
Dan Williams
5544d9ced0 Merge pull request #47 from dcbw/tuning-prev-result
tuning: pass prevResult through
2017-07-31 15:19:46 -05:00
Dan Williams
998a0f6c6a tuning: pass prevResult through 2017-07-26 14:39:01 -05:00
Tom Denham
20bc33abc5 Merge pull request #44 from verizonlabs/build-on-osx
If we're on OS X then have Go cross compile for us
2017-07-21 11:48:06 -07:00
Aaron Wood
bde6140771
If we're on OS X then have Go cross compile for us 2017-07-20 12:03:30 -04:00
Tom Denham
a714098daf Merge pull request #35 from dnardo/bridge-plugin
bridge: add support for promiscuous mode
v0.6.0-rc1
2017-07-12 08:30:00 -07:00
Tom Denham
409be3d304 Merge pull request #40 from squeed/portmap-timeout
plugins/portmap: fix test flake
2017-07-12 08:18:09 -07:00
Tom Denham
3b41be3784 Merge pull request #38 from tomdee/release-process
Add release process
2017-07-12 08:11:39 -07:00
Tom Denham
b7b0e6c1d4
Add release process
Copied from containernetworking/cni

The only difference is that the release archives also include the the
word "plugin"
2017-07-11 13:57:49 -07:00
Casey Callendrello
3745ee2d3f plugins/portmap: fix test flake
The source address selection was random, and sometimes we picked a
source address that the container didn't have a route to. Adding a
default route fixes that!
2017-07-06 16:12:24 +02:00
Casey Callendrello
56d8984bbc Merge pull request #37 from containernetworking/travis-badge
README.md: Add travis badge
2017-07-06 15:19:15 +02:00
Dan Williams
e7328869fa Merge pull request #39 from dcbw/ptp-fix-test
ptp: fix testcase for Interface int-pointer changes
2017-07-05 16:39:48 -05:00
Dan Williams
3c9f1b16d6 Merge pull request #36 from tomdee/vendor-libcni-v0.6.0-rc1
Update vendor to v0.6.0-rc1
2017-07-05 16:36:50 -05:00
Dan Williams
0b9dbef185 ptp: fix testcase for Interface int-pointer changes 2017-07-05 16:26:19 -05:00
Tom Denham
55cdf255db README.md: Add travis badge 2017-07-05 11:49:07 -07:00
Tom Denham
ba6a709062
Update vendor to v0.6.0-rc1 2017-07-05 11:46:00 -07:00
Daniel Nardo
9d08b04a3a bridge: add support for promiscuous mode 2017-07-05 09:51:10 -07:00
Casey Callendrello
a690f775ae Merge pull request #25 from squeed/ptp-v6
ptp: add ipv6 support
2017-07-05 17:30:23 +02:00
Gabe Rosenhouse
15f6798bf9 Merge pull request #34 from dnardo/netlink-update
vendor: Update vishvanana/netlink dependency.
2017-07-05 08:29:53 -07:00
Dan Williams
74054da7c5 Merge pull request #28 from dcbw/update-for-interface-change
pkg,plugins: update for Result struct Interface index changes
2017-07-05 10:29:05 -05:00
Daniel Nardo
7716c027cf vendor: Update vishvanana/netlink dependency.
This updates the netlink dependency to include recent updates, including a fix when setting prosmic mode on a bridge and additions for creating qdisc/classes/filters. This is necessary for some upcoming additions to CNI
2017-06-30 15:18:01 -07:00
Casey Callendrello
3daee3214d ptp: add ipv6 support
* Wait for addresses to leave tentative state before setting routes
* Enable forwarding correctly
* Set up masquerading according to the active protocol
2017-06-30 12:06:57 +02:00
Casey Callendrello
f8134be6ef Merge pull request #33 from squeed/bump-iptables
vendor: bump go-iptables to 0.2.0
2017-06-30 11:59:44 +02:00
Dan Williams
0da6780449 pkg,plugins: update for Result struct Interface index changes
It's a pointer now, so we need to use the helper function to set
the field and also test for nil before accessing it.
2017-06-29 13:40:36 -05:00
Casey Callendrello
8185e7c59c vendor: bump go-iptables to 0.2.0 2017-06-29 16:12:17 +02:00
Tino Rusch
ca3f28fa9e
host-device: cleanup + completed tests; 2017-06-29 11:44:59 +02:00
Dan Williams
121362601b vendor: bump cni to 0.5.2-git49d814c 2017-06-28 12:06:37 -05:00
Dan Williams
5a7a8b3069 Merge pull request #24 from squeed/flannel-return
flannel: set the cniVersion on the delegated config
2017-06-28 08:45:02 -05:00
Dan Williams
f01230d75f Merge pull request #10 from leblancd/v6_bridge_plugin
bridge: Add support for IPv6 to bridge plugin
2017-06-28 08:34:53 -05:00
Dane LeBlanc
ffdc748861 bridge: Add support for IPv6 to bridge plugin
This change adds support for IPv6 container/pod addresses to the CNI
bridge plugin, both for dual-stack (IPv4 + IPv6) and for IPv6-only
network configurations.

The proposed changes support multiple IPv6 addresses on a container
interface. If isGW is configured, the bridge will also be configured with
gateway addresses for each IPv6 subnet.

Please note that both the dual-stack functionality and support for multiple
IPv6 container/gateway addresses depends upon containernetworking/cni
PR 451 "ipam/host-local: support multiple IP ranges".
This change could potentially be committed independently from this host-local
plugin change, however the dual-stack and multiple IPv6 address
functionality that is enabled by this change can't be exercised/tested
until the host-local plugin change is committed.

There are some IPv6 unit test cases that are currently commented out
in the proposed changes because these test cases will fail without the
prior commits of the multiple IP range host-local change.

This pull request includes a temporary workaround for Kubernetes
Issue #32291 (Container IPv6 address is marked as duplicate, or dadfailed).
The problem is that kubelet enables hairpin mode on bridge veth
interfaces. Hairpin mode causes the container/pod to see echos of its
IPv6 neighbor solicitation packets, so that it declares duplicate address
detection (DAD) failure. The long-term fix is to use enhanced-DAD
when that feature is readily available in kernels. The short-term fix is
to disable IPv6 DAD in the container. Unfortunately, this has to be done
unconditionally (i.e. without a check for whether hairpin mode is enabled)
because hairpin mode is turned on by kubelet after the CNI bridge plugin
has completed cmdAdd processing. Disabling DAD should be okay if
IPv6 addresses are guaranteed to be unique (which is the case for
host-local IPAM plugin).
2017-06-21 12:47:38 -04:00
Casey Callendrello
8c5e754617 flannel: set the cniVersion on the delegated config
Fixes: #23
2017-06-16 19:04:07 +02:00
Casey Callendrello
5bbff37294 Merge pull request #16 from squeed/gratuitous-arp
ptp, macvlan: don't change mac address; send gratuitous arp
2017-06-16 18:34:37 +02:00
Casey Callendrello
485f151536 Merge pull request #22 from squeed/portmap-plugin
portmap: Don't accept a port number of 0
2017-06-16 18:33:40 +02:00
Gabe Rosenhouse
494053dd98 Merge pull request #11 from dcbw/dhcp-pidfile
dhcp: add --pidfile option to DHCP client daemon
2017-06-15 22:48:42 -07:00
Casey Callendrello
83ec9bb73f portmap: Don't accept a port number of 0
This also adds more testing around configuration parsing.
2017-06-15 14:00:04 +02:00
Dan Williams
e2558a03bb Merge pull request #12 from squeed/host-local-multi
ipam/host-local: support multiple IP ranges
2017-06-14 21:55:30 -05:00