ah. I think one workaround I can think of is to write a wrapper CNI plugin
that understand args."org.apache.mesos", and set "cni.ips" properly for the
macvtap plugin.

This is a common pattern in CNI called delegation before CNI chaining was
proposed.

- Jie

On Fri, May 3, 2019 at 11:14 AM Marc Roos <[email protected]> wrote:

>
>
>  >      Yet the cni plugin is afaik not even looking at the
> args.'org.apache.mesos'.network_info configuration,
>  >      for the cni_args it looks e.g. at args.cni.ips (or an environment
> variable)
>  >
>  >
>  >That depends on the CNI plugin you're using. CNI is a spec between CO
> (container orchestration system
>  > like K8s, mesos, etc.) and NP (network providers like calico, cisco,
> juniper, etc.).
>  >
>  >`args` field is the place where CO can inject CO specific information.
> Some CNI plugin might use those CO
>  > specific information to perform some special operations. Although I
> don't like it, this is just how the
>  > spec has evolved. The use of CNI_ARGS has been deprecated
> <
> https://github.com/containernetworking/cni/blob/master/CONVENTIONS.md#cni_args
> >
>  > in favor of using `args` field.
>  >
>  >
>  >      Or is it possible to reference in the cni network json config
> files a key of args.'org.apache.mesos'.network_info?
>  >
>  >
>  >I don't really follow this. Can you state your use case?
>
> Basically I want to assign a static ip via mesos/marathon. The only way
> I can get this to work now is via
>  the cni network configuration something like this. But I do not want to
> start creating a cni network
>  config file for every app.
>
>
> {
>   "name": "test-macvtap",
>   "type": "macvtap",
>   "master": "eth1",
>   "hostrouteif": "macvtap1",
>   "ipam": {
>     "type": "host-local",
>     "subnet": "192.168.122.0/24",
>     "rangeStart": "192.168.122.171",
>     "rangeEnd": "192.168.122.179",
>     "routes": [ { "dst": "192.168.122.22/32", "gw": "0.0.0.0" },
>                 { "dst": "192.168.10.10/32", "gw": "0.0.0.0" },
>                 { "dst": "192.168.10.22/32", "gw": "0.0.0.0" }]
>   },
>   "dns": { "nameservers": ["192.168.10.10"] },
>   "args": {
>     "cni": { "ips": ["192.168.122.177"] }
> }
>
>
>

Reply via email to