23 Commits

Author SHA1 Message Date
Dan Williams
aafc728ec0 Merge pull request #371 from rosenhouse/spec-netconf-routes
spec: Remove `routes` from Network Configuration
2017-02-22 20:32:41 -06:00
Zack Hsi
c783679114 Fix grammar 2017-02-20 11:21:49 -08:00
Gabe Rosenhouse
31dafa2f7a spec: Remove routes from Network Configuration
- this is supported by some IPAM plugins but is not required of all of
  them
2017-02-15 15:02:23 -08:00
Onur
0d9a1d70f8 spec, libcni, pkg/invoke: Use OS-agnostic separator when parsing CNI_PATH
Hardcoding the list separator character as ":" causes CNI to fail when parsing
CNI_PATH on other operating systems. For example, Windows uses ";" as list
separator because ":" can legally appear in paths such as "C:\path\to\file".
This change replaces use of ":" with OS-agnostic APIs or os.PathListSeparator.

Fixes #358
2017-01-28 16:47:58 -08:00
Dan Williams
d5acb127b8 spec/plugins: return interface details and multiple IP addresses to runtime
Updates the spec and plugins to return an array of interfaces and IP details
to the runtime including:

- interface names and MAC addresses configured by the plugin
- whether the interfaces are sandboxed (container/VM) or host (bridge, veth, etc)
- multiple IP addresses configured by IPAM and which interface they
have been assigned to

Returning interface details is useful for runtimes, as well as allowing
more flexible chaining of CNI plugins themselves.  For example, some
meta plugins may need to know the host-side interface to be able to
apply firewall or traffic shaping rules to the container.
2017-01-25 11:31:18 -06:00
Gabe Rosenhouse
1acc927ab0 Merge pull request #352 from containernetworking/conventions
Documentation: Add conventions doc
2017-01-20 13:50:24 -08:00
Dan Williams
7e16c86a52 spec: add network configuration list specification 2017-01-19 22:28:20 -06:00
Tom Denham
947b79e334
Spec/Conventions: Update to include plugin config 2017-01-19 18:05:28 -08:00
Gabe Rosenhouse
20fde00ea6 spec: notice of version 2017-01-11 18:49:10 -08:00
Gabe Rosenhouse
7958b9f0cc versioning: revert spec version to 0.2.0 2016-09-06 15:37:42 -04:00
Gabe Rosenhouse
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
Gabe Rosenhouse
7bc96f05bb spec: add version command and increment version to 0.2.0 2016-07-21 12:59:08 -07:00
Gabe Rosenhouse
0506bae8fc spec: remove CNI_VERSION env var, was never been implemented
No one uses this, and it is causing confusion (see #150)
2016-07-20 13:39:51 -07:00
Tom Denham
7b381a1af2 SPEC: introduce "args" field and new error code
Based on previous discussions on the CNI maintainers calls, the spec is
unclear on 1) when CNI_ARGS should be used and 2) the fact the dynamic
config can be passed in through the network JSON.

This PR makes it clear that per-container config can be passed in
through the network JSON, adding a top level `args` field into
which orchestrators can add additional metadata without worrying that
plugins might reject the additional data. It also allows for plugins to
reject unknown fields passed in at the top level.

Using JSON is preferable to CNI_ARGS since it allows namespaced and
structured data. CNI_ARGS is a flat list of KV pairs which has reserved
characters with no escaping rules defined.
CNI_ARGS may still be used by orchestrators that want the simplicity of
passing the network config JSON as specified by the user, unchanged
through to the CNI plugin. But for any kind of structured data, it's
recommended that the `args` field in the JSON is used instead.
2016-06-14 15:02:51 -07:00
Stefan Junker
092e8f5c4d SPEC: DNS information as dictionary, adding domain, search domains, options 2016-01-29 10:39:22 +01:00
Ken Robertson
65060a0e14 spec: Removed reference to unsupported addIf attribute
Removes the "addIf" attribute from the example of a bridge network
definition. This doesn't appear to exist in the implementation.
2016-01-22 10:45:05 -08:00
Eugene Yakubovich
420a145719 spec: add cniVersion to results and config
Version all artifacts using semantic versioning
so that plugins and container runtimes coded against
different versions of the spec can interoperate.

Fixes #44
2015-12-02 13:06:20 -08:00
Eugene Yakubovich
8aeb066a58 spec: add "dns" field to the result JSON
This adds an ability for networks to communicate
about the DNS nameservers they know about to the
container runtime.

Fixes #67
2015-11-10 16:58:01 -08:00
Eugene Yakubovich
edf08b56d2 spec: fix fmt issues and example JSON 2015-07-06 18:05:10 -07:00
Eugene Yakubovich
50799d826b spec: incorporate feedback 2015-04-28 20:51:29 -07:00
Jonathan Boulle
622f8b6e16 SPEC: wording tweak 2015-04-28 20:51:29 -07:00
Eugene Yakubovich
6321656e96 wording fixes 2015-04-28 20:51:29 -07:00
Jonathan Boulle
0f8ca5aa60 *: first cut at SPEC and README 2015-04-28 20:51:29 -07:00