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"] } > } > > >

