Commit Graph

420 Commits

Author SHA1 Message Date
c20f895fa8 Expand description of goroutine+netns problems 2016-11-17 15:45:38 +00:00
ba6c5af5dc Merge pull request #327 from dcbw/host-local-tests
host-local: add DataDir IPAM conf option and use it for testcases
2016-11-14 08:17:40 -08:00
8b827d74b3 Merge pull request #328 from markstgodard/noop-cni-args
noop plugin: support multiple CNI_ARGS
2016-11-10 22:24:58 -08:00
48d3b46eb2 noop plugin: support multiple CNI_ARGS
Updated noop plugin to parse the CNI_ARGS pairs, to allow more than just
the DEBUG arg.
2016-11-10 16:04:42 -06:00
7b2006eed8 Merge pull request #324 from lstoll/lstoll-ipvlan-l3s
ipvlan: Support L3-Symmetric mode
2016-11-10 12:53:59 -06:00
e085226f82 host-local: add DataDir IPAM conf option and use it for testcases
Add an e2e host-local plugin testcase, which requires being able
to pass the datadir into the plugin so we can erase it later.
We're not always guaranteed to have access to the default data
dir location, plus it should probably be configurable anyway.
2016-11-10 12:12:16 -06:00
79643855f7 Merge pull request #307 from squeed/backwards-compatability-tests
testing: test invocation of newer plugins with an older libcni
2016-11-07 14:25:09 -08:00
9201f3f1d9 ipvlan: Support ipvlan l3s mode.
This landed in kernel in 4fbae7d
2016-11-05 13:41:07 -07:00
2ad1d04561 vendor: github.com/vishvananda/netlink@a1f8555
Update to current master, to get IPVLAN L3s def.
2016-11-05 13:41:01 -07:00
8c6f6e0a60 testing: test invocation of newer plugins with an older libcni 2016-10-25 16:33:35 +02:00
0e09ad29df Merge pull request #312 from tomdee/slack
Add slack badge and link
2016-10-24 16:25:48 -07:00
bb8bcf08a8 Add slack badge and link 2016-10-24 16:23:04 -07:00
194f8ce6ea Merge pull request #311 from rkamudhan/patch-2
Update ipvlan.md
2016-10-23 16:23:55 -07:00
6e77c7f4f7 Update ipvlan.md
invalid json format
2016-10-23 23:18:44 +01:00
bff05e7572 Merge pull request #308 from rosenhouse/fix-skel-tests-containerid
skel tests: correct name of CNI_CONTAINERID in tests of env vars
2016-10-17 15:02:27 -07:00
8be31e1c6f skel tests: correct name of CNI_CONTAINERID in tests of env vars 2016-10-16 17:18:57 -07:00
3450f08611 Merge pull request #305 from yuewko/add_infoblox_link
Add link to Infoblox IPAM plugin
2016-10-16 17:08:51 -07:00
c24fce2ae8 Add link to Infoblox IPAM plugin
Added link to Infoblox IPAM plugin in README.
2016-10-11 11:07:30 -07:00
d872391998 Merge pull request #304 from danp/patch-1
docs/ptp: fix markdown formatting
2016-10-09 22:39:31 -07:00
85ab5c0f21 docs/ptp: fix markdown formatting 2016-10-09 21:22:27 -03:00
af88b7c6cf Merge pull request #301 from rosenhouse/backwards-compatibility-tests
A test verifies that libcni is backwards compatible with legacy plugins
2016-10-06 10:10:02 -05:00
165ca6f719 travis: git clone at great depth
ensures that git commits referenced by backwards compatibility tests are
always available in CI.
2016-10-05 20:48:53 -07:00
0087f302ea Merge pull request #302 from rosenhouse/readme-3rd-party-plugins
3rd party plugins belong in their own repos
2016-10-03 08:39:23 -07:00
b2ef4aa1a7 docs: on contributing plugins to this repo 2016-10-02 23:44:59 -07:00
51b51a0182 testing: adds basic test of backwards compatibility 2016-10-02 22:18:53 -07:00
a29fc24f11 Merge pull request #296 from rosenhouse/plugins-require-versioned-config
Plugins validate cniVersion of NetConf
2016-09-22 17:11:34 -05:00
b5e0a4ef2e Merge pull request #298 from freehan/fix-host-local-30
host-local: fix allocation of last address in a /30
2016-09-22 09:13:32 -05:00
52e4358cbd host-local: fix allocation of last address in a /30 2016-09-21 13:10:05 -07:00
e70e6034d2 Merge pull request #299 from tgraf/cilium-link
List cilium as 3rd party plugin
2016-09-19 14:31:54 -07:00
5b696f3307 skel: use named constant for Incompatible CNI Version error code 2016-09-19 13:25:33 -07:00
0135e2751e versioning: ipam config is not versioned 2016-09-19 13:25:28 -07:00
fba37620e0 versioning: plugins require version match with config
infer version 0.1.0 when config is missing an explicit "cniVersion" field
2016-09-19 13:00:49 -07:00
64bbcd8cf7 versioning: add basic version decode for network config 2016-09-19 12:57:08 -07:00
75d983ec25 README: List cilium as 3rd party plugin
Signed-off-by: Thomas Graf <tgraf@suug.ch>
2016-09-19 13:45:39 +02:00
fd150a4c97 skel: Plugins require a cniVersion in the NetConf 2016-09-18 21:30:57 -07:00
56032390fe Merge pull request #287 from rosenhouse/multi-version
Plugins report a list of supported versions
2016-09-12 13:44:14 -07:00
3f4011b3ec Merge pull request #295 from rosenhouse/update-readme-cloudfoundry-link
readme: update link to CloudFoundry usage of CNI
2016-09-08 00:47:04 -04:00
d32ccb1899 readme: update link to CloudFoundry usage of CNI 2016-09-06 23:48:48 -04:00
7958b9f0cc versioning: revert spec version to 0.2.0 2016-09-06 15:37:42 -04:00
d5e2e375d4 versioning: misc cleanups
highlights:
 - NetConf struct finally includes cniVersion field
 - improve test coverage of current version report behavior
 - godoc a few key functions
 - allow tests to control version list reported by no-op plugin
2016-09-06 15:35:58 -04:00
07a8a28637 Merge pull request #294 from dcbw/host-local-ranges
Fix handling of host-local IP address ranges
2016-09-05 23:24:42 -04:00
95a9ea0bd2 host-local: don't allocate the broadcast address or allow invalid networks
There aren't any IPs to allocate in /32 or /31 networks, so don't allow them.
2016-09-02 17:20:09 -05:00
959af1e6ab host-local: ensure requested IPs are within the given range
And also make sure that RangeStart and RangeEnd are sane.
2016-09-02 16:52:29 -05:00
dfc4f7cd2a host-local: don't allocate past RangeEnd
When RangeEnd is given, a.end = RangeEnd+1.

If when getSearchRange() is called and lastReservedIP equals
RangeEnd, a.nextIP() only compares lastReservedIP (which in this
example is RangeEnd) against a.end (which in this example is
RangeEnd+1) and they clearly don't match, so a.nextIP() returns
start=RangeEnd+1 and end=RangeEnd.

Get() happily allocates RangeEnd+1 because it only compares 'cur'
to the end returned by getSearchRange(), not to a.end, and thus
allocates past RangeEnd.

Since a.end is inclusive (eg, host-local will allocate a.end) the
fix is to simply set a.end equal to RangeEnd.
2016-09-02 16:37:34 -05:00
bf31ed1591 invoke: better name and unit test coverage for GetVersionInfo 2016-09-02 16:39:01 -04:00
97192fc979 invoke: correctly infer version for 0.1.0-vintage plugins
Older plugins return a known error when issued the VERSION command.
Capture this error and report it as a 0.1.0 version plugin.
2016-09-02 16:02:07 -04:00
deb4466041 versioning: adds tooling to compile a program against a given old CNI version
Allows us to write tests that cover interactions between components of
differing versions
2016-09-02 16:02:02 -04:00
dea1c6e44d pkg/invoke: refactor plugin exec and backfill unit tests 2016-09-02 15:59:25 -04:00
adf28a84c6 versioning: document meaning of 'Legacy' version support 2016-09-02 11:26:17 -04:00
536cb5b99b versioning: plugins report a list of supported versions
Further progress on versioning support (Issue #266).
Bump CNI spec version to 0.3.0
2016-09-02 11:26:17 -04:00