Hi Marcus,
 The CNI Spec you are seeing is the latest SPEC of v0.3 . Mesos currently
supports v0.2 and below. You can check out the by looking at the "tags" in
the CNI repo. For e.g.,
https://github.com/containernetworking/cni/blob/v0.4.0/SPEC.md

We have tickets open to support SPEC v0.3. Hopefully we can get to it
pretty soon.

https://issues.apache.org/jira/browse/MESOS-7175

On Fri, Mar 17, 2017 at 11:33 AM, Marcus <shadow...@gmail.com> wrote:

> Hi,
>     I've been working on potentially building a custom CNI plugin. I'm
> following the spec found here:
>
> https://github.com/containernetworking/cni/blob/master/SPEC.md
>
> I've found that the documented JSON result for the ADD command doesn't
> result in Mesos or upstream frameworks being able to identify the assigned
> IP. That is, there is no IP showing at the Mesos API level. This might just
> be a misunderstanding or configuration issue on my part, but input would be
> appreciated.
>
> Looking at
> "src/slave/containerizer/mesos/isolators/network/cni/spec.proto", I
> guessed
> that I should be returning a different structure, and that structure works.
> I don't see this structure explicitly documented anywhere, but the primary
> difference is that there's an "ip" array in the documented spec, and an
> "ip4" object in the working version.
>
> One thing I did notice is per the spec document it shows a prevResult in
> the format that works for me.
>
> I am using master, I'll roll back to maybe the 1.1.1 RC (since it is
> getting attention now on the mailing list) and see if the behavior is any
> different.
>
> Here's my JSON that I believe matches the spec but doesn't show the IP in
> the Mesos frontend:
>
> {
>   "cniVersion": "0.3.0",
>   "interfaces": [
>     {
>       "name": "eth0",
>       "mac": "36:c0:43:08:97:f7",
>       "sandbox": ""
>     }
>   ],
>   "ip": [
>     {
>       "version": "4",
>       "address": "10.1.10.170/24",
>       "gateway": "10.10.10.1",
>       "interface": 0
>     }
>   ],
>   "dns": {
>     "nameservers": [
>       "10.10.10.1"
>     ]
>   }
> }
>
> And here's the modified JSON that is working:
>
> {
>   "cniVersion": "0.3.0",
>   "interfaces": [
>     {
>       "name": "eth0",
>       "mac": "36:c0:43:08:97:f7",
>       "sandbox": ""
>     }
>   ],
>   "ip4": {
>     "ip": "10.10.10.170/24",
>     "gateway": "10.10.10.1",
>     "interface": 0
>   },
>   "dns": {
>     "nameservers": [
>       "10.10.10.1"
>     ]
>   }
> }
>



-- 
Avinash Sridharan, Mesosphere
+1 (323) 702 5245

Reply via email to