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)