Hi,

Mesos 0.25.0 introduced a new NetworkInfo protobuf message.  The NetworkInfo 
allows frameworks to request IP-per-container networking for the containerized 
Tasks they launch, and also allows a unified way for frameworks to discover the 
IP address the task will use (both traditional and IP-per-container networking).

We've noticed an issue with the way NetworkInfo was specified that means a less 
than ideal experience for framework and application developers.  
MESOS-3788<https://issues.apache.org/jira/browse/MESOS-3788> is our attempt to 
fix NetworkInfo to be easier for network module developers and Mesos users to 
understand.

What went wrong?

In the original NetworkInfo, merged in 0.25.0, the way to specify multiple IP 
addresses was to repeat the entire NetworkInfo object.  If the framework 
repeated the NetworkInfo object with different network groups in each 
NetworkInfo object, it wasn't clear how the overall policy would be applied.

Furthermore, it wasn't clear how multiple IP addresses might or might not be 
assigned to multiple virtual network interfaces.  Would you get one interface 
with several IP addresses, or several interfaces with an IP address each?

How do we fix it?

We've collaborated with Ben Hindman, Connor Doyle, Kapil Arya, and Niklas 
Nielsen on the proposed solution. 
MESOS-3788<https://issues.apache.org/jira/browse/MESOS-3788> clarifies that 
each NetworkInfo object represents a single virtual network interface in the 
container.  In order to allow multiple IP addresses on a single interface, 
we've deprecated the original protocol and ip_address fields and moved to a 
repeated IPAddress sub-message.  If you want 3 IPs on an interface, repeat the 
IPAddress sub-message 3 times.

The fields in the IPAddress sub-message are optional.  The mainline use will be 
to include 1 copy of the IPAddress message with no parameters, which means 
"give me a single IP address."  At present, since Mesos itself only supports 
IPv4, this will always be an IPv4 address, but in the future, if not specified, 
the network provider can assign whatever the local default is.

Please feel free to comment directly on the issue or reply to this message.

Cheers,
Spike Curtis  (Project Calico)

Reply via email to