Gabe Rosenhouse [Sat, 11 Nov 2017 02:59:16 +0000 (18:59 -0800)]
Merge pull request #84 from rosenhouse/add-windows-ci
Enable Windows CI (Appveyor)
Gabriel Rosenhouse [Wed, 1 Nov 2017 05:58:50 +0000 (22:58 -0700)]
Enable Windows CI (Appveyor)
- start list of linux_only plugins; ignore them when testing on Windows
- Isolate linux-only code by filename suffix
- Remove stub (NotImplemented) functions
- other misc. fixes for Windows compatibility
Casey Callendrello [Fri, 10 Nov 2017 16:06:29 +0000 (17:06 +0100)]
Merge pull request #89 from dcbw/del-link-by-name-addr-fix
pkg/ip: don't return error from DelLinkByNameAddr() if no addresses exist
Dan Williams [Tue, 7 Nov 2017 22:07:04 +0000 (16:07 -0600)]
pkg/ip: don't return error from DelLinkByNameAddr() if no addresses exist
For some reason no addresses on the interface returned an error, despite
having a testcase that explicitly tested for success.
Gabe Rosenhouse [Wed, 18 Oct 2017 22:36:34 +0000 (15:36 -0700)]
Merge pull request #65 from rosenhouse/golang-to-1.9
Golang versions: add 1.9, drop 1.7
Gabriel Rosenhouse [Wed, 11 Oct 2017 19:19:16 +0000 (21:19 +0200)]
Vagrantfile: update to golang 1.9.1
Matt Dupre [Wed, 11 Oct 2017 13:50:19 +0000 (14:50 +0100)]
Merge pull request #78 from rmohr/dhcp
Don't let DHCP IPAM plugin fail on missing lease
Roman Mohr [Wed, 11 Oct 2017 09:38:36 +0000 (11:38 +0200)]
Don't let DHCP delete fail on missing lease
There are at least two reasons why a lease is not present:
* The dhcp ipam daemon was restarted
* On add the IPAM plugin failed
Don't fail the IPAM invocation when the lease is not present, to allow
proper device cleanup on CNI delete invocations.
Casey Callendrello [Wed, 13 Sep 2017 09:41:14 +0000 (11:41 +0200)]
Merge pull request #74 from rosenhouse/host-device-fixes
Host-device fixes
Gabriel Rosenhouse [Wed, 13 Sep 2017 04:01:58 +0000 (21:01 -0700)]
host-device plugin: result is valid JSON
test:
- feed valid config JSON to plugin
- execute plugin inside the namespace with the test device
Gabriel Rosenhouse [Wed, 13 Sep 2017 03:26:37 +0000 (20:26 -0700)]
host-device: do not swallow netlink errors
Lantao Liu [Tue, 12 Sep 2017 05:08:38 +0000 (05:08 +0000)]
Fix `go get github.com/containernetworking/plugins`.
Signed-off-by: Lantao Liu <lantaol@google.com>
Casey Callendrello [Mon, 11 Sep 2017 16:51:21 +0000 (18:51 +0200)]
Merge pull request #3 from trusch/master
added host-device plugin which adds a specified link to container
Casey Callendrello [Thu, 7 Sep 2017 12:22:03 +0000 (14:22 +0200)]
Merge pull request #72 from rosenhouse/move-echosvr
testing: move echosvr into testutils
Gabriel Rosenhouse [Thu, 7 Sep 2017 02:10:20 +0000 (19:10 -0700)]
testing: move echosvr into testutils
Dan Williams [Wed, 6 Sep 2017 20:36:24 +0000 (15:36 -0500)]
Merge pull request #63 from squeed/v6-fixes
Fix ipmasq teardown on v6-only interfaces
Dan Williams [Wed, 6 Sep 2017 18:13:03 +0000 (13:13 -0500)]
Merge pull request #71 from rosenhouse/fix-portmap-integ-test
portmap integration test: echo server runs in separate process
Casey Callendrello [Fri, 25 Aug 2017 14:58:19 +0000 (16:58 +0200)]
pkg/ip: Fix ipmasq teardown on v6-only interfaces
Gabriel Rosenhouse [Wed, 6 Sep 2017 06:36:12 +0000 (23:36 -0700)]
portmap integration test: echo server runs in separate process
this way we're not mixing goroutines and namespaces
Casey Callendrello [Thu, 31 Aug 2017 12:28:55 +0000 (14:28 +0200)]
Merge pull request #64 from rosenhouse/travis-ginkgo
travis: run with ginkgo -p instead of go test
Gabe Rosenhouse [Thu, 31 Aug 2017 03:22:12 +0000 (20:22 -0700)]
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
Gabe Rosenhouse [Thu, 31 Aug 2017 02:32:48 +0000 (19:32 -0700)]
Merge pull request #67 from rosenhouse/test-all-packages
Test all packages
Gabe Rosenhouse [Wed, 30 Aug 2017 21:19:24 +0000 (14:19 -0700)]
Test all non-vendored packages
Gabe Rosenhouse [Wed, 30 Aug 2017 15:21:28 +0000 (08:21 -0700)]
Merge pull request #66 from rosenhouse/filelock-vet
host-local FileLock is used by value instead of by reference
Gabe Rosenhouse [Wed, 30 Aug 2017 03:43:42 +0000 (20:43 -0700)]
test.sh: cover host-local disk backend for go test and go vet
Gabe Rosenhouse [Wed, 30 Aug 2017 03:26:37 +0000 (20:26 -0700)]
host-local disk backend store uses FileLock by reference
- this change fixes go vet warnings for the package
Gabe Rosenhouse [Wed, 30 Aug 2017 04:00:21 +0000 (21:00 -0700)]
Merge pull request #62 from squeed/bridge-fixes
bridge: various fixes
Gabe Rosenhouse [Wed, 30 Aug 2017 03:15:50 +0000 (20:15 -0700)]
Golang versions: add 1.9, drop 1.7
Casey Callendrello [Fri, 25 Aug 2017 12:47:27 +0000 (14:47 +0200)]
bridge: various fixes
* Don't set the MAC, send gratuitous arp instead
* Set the bridge's MAC to itself
* Only disable DAD when necessary
Casey Callendrello [Mon, 21 Aug 2017 13:39:28 +0000 (15:39 +0200)]
Merge pull request #54 from squeed/clean-build
Release: clean the builddir when building
Casey Callendrello [Mon, 14 Aug 2017 12:42:50 +0000 (14:42 +0200)]
Release: clean the builddir when building
Dan Williams [Fri, 11 Aug 2017 16:59:55 +0000 (11:59 -0500)]
Merge pull request #50 from squeed/host-local-multi
ipam/host-local: support sets of disjoint ranges
Casey Callendrello [Mon, 31 Jul 2017 12:38:11 +0000 (14:38 +0200)]
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
Dan Williams [Mon, 31 Jul 2017 20:19:46 +0000 (15:19 -0500)]
Merge pull request #47 from dcbw/tuning-prev-result
tuning: pass prevResult through
Dan Williams [Tue, 25 Jul 2017 04:31:29 +0000 (23:31 -0500)]
tuning: pass prevResult through
Tom Denham [Fri, 21 Jul 2017 18:48:06 +0000 (11:48 -0700)]
Merge pull request #44 from verizonlabs/build-on-osx
If we're on OS X then have Go cross compile for us
Aaron Wood [Thu, 20 Jul 2017 16:03:30 +0000 (12:03 -0400)]
If we're on OS X then have Go cross compile for us
Tom Denham [Wed, 12 Jul 2017 15:30:00 +0000 (08:30 -0700)]
Merge pull request #35 from dnardo/bridge-plugin
bridge: add support for promiscuous mode
Tom Denham [Wed, 12 Jul 2017 15:18:09 +0000 (08:18 -0700)]
Merge pull request #40 from squeed/portmap-timeout
plugins/portmap: fix test flake
Tom Denham [Wed, 12 Jul 2017 15:11:39 +0000 (08:11 -0700)]
Merge pull request #38 from tomdee/release-process
Add release process
Tom Denham [Wed, 5 Jul 2017 19:05:14 +0000 (12:05 -0700)]
Add release process
Copied from containernetworking/cni
The only difference is that the release archives also include the the
word "plugin"
Casey Callendrello [Thu, 6 Jul 2017 12:54:53 +0000 (14:54 +0200)]
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!
Casey Callendrello [Thu, 6 Jul 2017 13:19:15 +0000 (15:19 +0200)]
Merge pull request #37 from containernetworking/travis-badge
README.md: Add travis badge
Dan Williams [Wed, 5 Jul 2017 21:39:48 +0000 (16:39 -0500)]
Merge pull request #39 from dcbw/ptp-fix-test
ptp: fix testcase for Interface int-pointer changes
Dan Williams [Wed, 5 Jul 2017 21:36:50 +0000 (16:36 -0500)]
Merge pull request #36 from tomdee/vendor-libcni-v0.6.0-rc1
Update vendor to v0.6.0-rc1
Dan Williams [Wed, 5 Jul 2017 21:26:19 +0000 (16:26 -0500)]
ptp: fix testcase for Interface int-pointer changes
Tom Denham [Wed, 5 Jul 2017 18:49:07 +0000 (11:49 -0700)]
README.md: Add travis badge
Tom Denham [Wed, 5 Jul 2017 18:46:00 +0000 (11:46 -0700)]
Update vendor to v0.6.0-rc1
Daniel Nardo [Sat, 1 Jul 2017 00:08:30 +0000 (17:08 -0700)]
bridge: add support for promiscuous mode
Casey Callendrello [Wed, 5 Jul 2017 15:30:23 +0000 (17:30 +0200)]
Merge pull request #25 from squeed/ptp-v6
ptp: add ipv6 support
Gabe Rosenhouse [Wed, 5 Jul 2017 15:29:53 +0000 (08:29 -0700)]
Merge pull request #34 from dnardo/netlink-update
vendor: Update vishvanana/netlink dependency.
Dan Williams [Wed, 5 Jul 2017 15:29:05 +0000 (10:29 -0500)]
Merge pull request #28 from dcbw/update-for-interface-change
pkg,plugins: update for Result struct Interface index changes
Daniel Nardo [Fri, 30 Jun 2017 22:18:01 +0000 (15:18 -0700)]
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
Casey Callendrello [Mon, 12 Jun 2017 19:12:23 +0000 (21:12 +0200)]
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
Casey Callendrello [Fri, 30 Jun 2017 09:59:44 +0000 (11:59 +0200)]
Merge pull request #33 from squeed/bump-iptables
vendor: bump go-iptables to 0.2.0
Dan Williams [Thu, 22 Jun 2017 18:24:56 +0000 (13:24 -0500)]
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.
Casey Callendrello [Thu, 29 Jun 2017 14:12:17 +0000 (16:12 +0200)]
vendor: bump go-iptables to 0.2.0
Tino Rusch [Thu, 29 Jun 2017 09:44:59 +0000 (11:44 +0200)]
host-device: cleanup + completed tests;
Dan Williams [Thu, 22 Jun 2017 14:44:41 +0000 (09:44 -0500)]
vendor: bump cni to 0.5.2-git49d814c
Dan Williams [Wed, 28 Jun 2017 13:45:02 +0000 (08:45 -0500)]
Merge pull request #24 from squeed/flannel-return
flannel: set the cniVersion on the delegated config
Dan Williams [Wed, 28 Jun 2017 13:34:53 +0000 (08:34 -0500)]
Merge pull request #10 from leblancd/v6_bridge_plugin
bridge: Add support for IPv6 to bridge plugin
Dane LeBlanc [Thu, 25 May 2017 14:51:52 +0000 (10:51 -0400)]
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).
Casey Callendrello [Fri, 16 Jun 2017 17:04:07 +0000 (19:04 +0200)]
flannel: set the cniVersion on the delegated config
Fixes: #23
Casey Callendrello [Fri, 16 Jun 2017 16:34:37 +0000 (18:34 +0200)]
Merge pull request #16 from squeed/gratuitous-arp
ptp, macvlan: don't change mac address; send gratuitous arp
Casey Callendrello [Fri, 16 Jun 2017 16:33:40 +0000 (18:33 +0200)]
Merge pull request #22 from squeed/portmap-plugin
portmap: Don't accept a port number of 0
Gabe Rosenhouse [Fri, 16 Jun 2017 05:48:42 +0000 (22:48 -0700)]
Merge pull request #11 from dcbw/dhcp-pidfile
dhcp: add --pidfile option to DHCP client daemon
Casey Callendrello [Wed, 14 Jun 2017 18:05:44 +0000 (20:05 +0200)]
portmap: Don't accept a port number of 0
This also adds more testing around configuration parsing.
Dan Williams [Thu, 15 Jun 2017 02:55:30 +0000 (21:55 -0500)]
Merge pull request #12 from squeed/host-local-multi
ipam/host-local: support multiple IP ranges
Dan Williams [Sat, 27 May 2017 04:48:29 +0000 (23:48 -0500)]
dhcp: add --pidfile option to DHCP client daemon
Bryan Boreham [Wed, 14 Jun 2017 15:18:26 +0000 (16:18 +0100)]
Merge pull request #14 from rosenhouse/more-ns-warning-redux
pkg/ns readme: expand on danger of ns switching in long-lived programs
Casey Callendrello [Thu, 11 May 2017 15:01:20 +0000 (17:01 +0200)]
ipam/host-local: support multiple IP ranges
This change allows the host-local allocator to allocate multiple IPs.
This is intended to enable dual-stack, but is not limited to only two
subnets or separate address families.
Gabe Rosenhouse [Thu, 8 Jun 2017 15:39:41 +0000 (08:39 -0700)]
Merge pull request #17 from tklauser/x-sys-unix-setns
pkg/ns: use unix.Setns() instead of open coding it
Tobias Klauser [Thu, 8 Jun 2017 12:48:58 +0000 (14:48 +0200)]
pkg/ns: use unix.Setns() instead of open coding it
Use unix.Setns() instead of manually re-implementing it using
unix.Syscall().
Gabe Rosenhouse [Wed, 7 Jun 2017 14:26:01 +0000 (07:26 -0700)]
Merge pull request #15 from rosenhouse/contribute-vagrantfile
Add CONTRIBUTING and Vagrantfile
Casey Callendrello [Wed, 7 Jun 2017 14:08:41 +0000 (16:08 +0200)]
ptp, macvlan: don't change mac address; send gratuitous arp
Casey Callendrello [Wed, 7 Jun 2017 13:40:26 +0000 (15:40 +0200)]
vendor: add j-keck/arping
Gabe Rosenhouse [Wed, 7 Jun 2017 03:13:31 +0000 (20:13 -0700)]
add Vagrantfile to support cross-platform development
Update CONTRIBUTING to reflect plugin split
Gabe Rosenhouse [Wed, 7 Jun 2017 02:20:19 +0000 (19:20 -0700)]
contributing doc: copy in from cni repo
Gabe Rosenhouse [Wed, 7 Jun 2017 02:05:00 +0000 (19:05 -0700)]
pkg/ns readme: expand on danger of ns switching in long-lived programs
- redux of https://github.com/containernetworking/cni/pull/331 since the
plugin/lib split
- added link to new blog post about this from Weave folks (thanks!)
Casey Callendrello [Fri, 2 Jun 2017 08:23:03 +0000 (10:23 +0200)]
Merge pull request #13 from squeed/build-fixes
build: some minor post-repo-split fixes; add fastbuild
Casey Callendrello [Thu, 1 Jun 2017 16:43:58 +0000 (18:43 +0200)]
build: some minor post-repo-split fixes; add fastbuild
Bryan Boreham [Thu, 1 Jun 2017 12:05:29 +0000 (13:05 +0100)]
Merge pull request #1 from squeed/portmap-plugin
iptables-based portmapping plugin
Casey Callendrello [Fri, 26 May 2017 15:50:13 +0000 (17:50 +0200)]
plugins/meta/portmap: add an iptables-based host port mapping plugin
Casey Callendrello [Wed, 31 May 2017 17:20:27 +0000 (19:20 +0200)]
vendor: add mattn/go-shellwords
Casey Callendrello [Fri, 26 May 2017 15:49:46 +0000 (17:49 +0200)]
vendor: add libcni
Casey Callendrello [Wed, 3 May 2017 09:54:41 +0000 (11:54 +0200)]
vendor: update coreos/go-iptables
Dan Williams [Wed, 31 May 2017 15:11:59 +0000 (10:11 -0500)]
Merge pull request #9 from squeed/move-pkg
Move libraries from cni only used by plugins.
Casey Callendrello [Mon, 22 May 2017 18:32:16 +0000 (20:32 +0200)]
vendor: remove moved cni/pkg/... libraries
Casey Callendrello [Mon, 22 May 2017 18:09:42 +0000 (20:09 +0200)]
move most of cni/pkg to plugins/pkg: delete code staying in cni/pkg
This moves the following packages to this repository:
* ip
* ipam
* ns
* testutils
* utils
Casey Callendrello [Fri, 19 May 2017 17:43:02 +0000 (19:43 +0200)]
Casey Callendrello [Fri, 19 May 2017 14:16:01 +0000 (16:16 +0200)]
Merge pull request #6 from squeed/merge-docs
Documentation folder merge
Casey Callendrello [Fri, 19 May 2017 13:54:54 +0000 (15:54 +0200)]
Merge pull request #8 from squeed/bump-cni
vendor: bump cni to v0.5.2
Casey Callendrello [Fri, 19 May 2017 12:36:51 +0000 (14:36 +0200)]
vendor: bump cni to v0.5.2
Casey Callendrello [Mon, 15 May 2017 17:07:19 +0000 (19:07 +0200)]
Add references to all plugins to the README
Casey Callendrello [Mon, 15 May 2017 15:16:27 +0000 (17:16 +0200)]
Move documentation folder to individual READMEs
Casey Callendrello [Mon, 15 May 2017 15:13:31 +0000 (17:13 +0200)]
Casey Callendrello [Mon, 15 May 2017 14:50:24 +0000 (16:50 +0200)]
Rename build & test, take two
Casey Callendrello [Mon, 15 May 2017 14:45:58 +0000 (16:45 +0200)]
Rename build script to avoid conflict with bazel
Casey Callendrello [Mon, 15 May 2017 10:27:40 +0000 (12:27 +0200)]
Merge pull request #5 from dcbw/add-cni-plugins
plugins: add plugins from containernetworking/cni
Dan Williams [Mon, 15 May 2017 04:06:45 +0000 (23:06 -0500)]
plugins: add plugins from containernetworking/cni
Plugins prepared from the containernetworking/cni repo as follows:
1) git reset --hard
1a9288c3c09cea4e580fdb1a636f1c5e185a391f
2) git remove everything not in plugins/
3) git remove plugins/test
4) git merge into containernetworking/plugins repo
5) adjust import paths for containernetworking/cni -> containernetworking/plugins