You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "James DeFelice (JIRA)" <ji...@apache.org> on 2017/03/14 15:29:41 UTC
[jira] [Created] (MESOS-7243) CNI implementation assumptions don't
align with NetworkInfo proto docs
James DeFelice created MESOS-7243:
-------------------------------------
Summary: CNI implementation assumptions don't align with NetworkInfo proto docs
Key: MESOS-7243
URL: https://issues.apache.org/jira/browse/MESOS-7243
Project: Mesos
Issue Type: Bug
Reporter: James DeFelice
The protobuf docs for NetworkInfo state that frameworks may request one or more IP addresses via the `ip_addresses` field: the actual `ip_address` and `protocol` may be left blank; one entry is required for each IP address requested at task-launch time.
The CNI implementation doesn't check `ip_addresses` and provides 1 address by default. This behavior breaks with the docs.
It's been suggested that it is "legal" for the CNI implementation to assume that if `ip_addresses` was completely empty, that would translate to `ip_addresses: [ {} ]` (requesting a single IP address). I've argued against this logic: by assuming such a default, it becomes impossible for a container to express interest in joining a network (namespace) but not actually be allocated an IP address. This might be an edge case, but it's one that's ruled out as soon as we assume empty-collection == give-me-one-address-please. FWIW the Marathon API has made this (empty = give me a default) mistake several times and it has burned us. Strongly urge caution here.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)