Hi Jie,
Something like this is injected into the cni json configuration by mesos "args": { "org.apache.mesos": { "network_info": { "ip_addresses": [ { "protocol": "IPv4" } ], "name": "test-macvtap-cniip" } } }, You can add labels in Marathon with something like this "ipAddress": { "networkName": "test-macvtap-cniip", "labels": {"CNI_ARGS": "192.168.122.172"} }, Then the injected will look something like "args": { "org.apache.mesos": { "network_info": { "ip_addresses": [ { "protocol": "IPv4" } ], "labels": { "labels": [ { "key": "CNI_ARGS", "value": "IP=192.168.122.172" } ] }, "name": "test-macvtap-cniip" } } }, 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) I have no idea what this org.apache.mesos is even usefull for, unless you are customizing plugins. But I guess you rather stick to the cni standards. Or is it possible to reference in the cni network json config files a key of args.'org.apache.mesos'.network_info? -----Original Message----- From: Jie Yu Sent: vrijdag 3 mei 2019 18:59 To: user Subject: Re: FW: How should I pass the cni_args / ip, injecting lables #5592 not working Marc, I think the CNI_ARGS that Mesos passed into CNI plugin is the NetworkInfo object. https://github.com/apache/mesos/blob/master/include/mesos/mesos.proto#L3096 I don't know if there's a way in Marathon to inject NetworkInfo.labels from the app definition. Any marathon folks can answer this? - Jie On Fri, May 3, 2019 at 6:41 AM Marc Roos <m.r...@f1-outsourcing.eu> wrote: I read the jira issue [0] that labels would be injected into the cni json. But I can't get this to work. I have changed the source of a plugin so it would dump the configuration files and this is how it looks like, when you dump the ip configured in the cni network json [1] as expected. When adding the labels, you get a totally different json [2], so how should this ever work??? This is not working =================== { "id": "/server", "user": "nobody", "cmd": "python -m SimpleHTTPServer 8080", "cpus": 0.1, "mem": 32, "disk": 0, "instances": 1, "acceptedResourceRoles": ["*"], "constraints": [["hostname","CLUSTER","m03.local"]], "backoffSeconds": 10, "ipAddress": { "networkName": "test-macvtap-cniip" }, "labels": { "CNI_ARGS": "IP=192.168.122.173" } } This is also not working ======================== { "id": "/server", "user": "nobody", "cmd": "python -m SimpleHTTPServer 8080", "cpus": 0.1, "mem": 32, "disk": 0, "instances": 1, "acceptedResourceRoles": ["*"], "constraints": [["hostname","CLUSTER","m03.local"]], "backoffSeconds": 10, "networks": [ { "mode": "container", "name": "test-macvtap-cniip" } ], "env": { "CNI_ARGS" : "'IP=192.168.122.173'" } } This does work: =============== CNI_PATH="/usr/libexec/cni/" NETCONFPATH="/etc/mesos-cni" CNI_IFNAME="eth1" CNI_ARGS='IP=192.168.122.173' cnitool-0.5.2 add test-macvtap-cniip /var/run/netns/testing [1] === Cni network config only [ { "args": { "cni": { "ips": [ "192.168.122.177" ] } }, "cniVersion": "", "dns": { "nameservers": [ "192.168.10.10" ] }, "hostrouteif": "macvtap1", "ipam": { "rangeEnd": "192.168.122.179", "rangeStart": "192.168.122.171", "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" } ], "subnet": "192.168.122.0/24", "type": "host-local" }, "master": "eth1", "name": "test-macvtap", "type": "macvtap" } ] [2] === Dump from the marathon launched task with labels. [ { "args": { "org.apache.mesos": { "network_info": { "ip_addresses": [ { "protocol": "IPv4" } ], "labels": { "labels": [ { "key": "ips", "value": "192.168.122.172" } ] }, "name": "test-macvtap-cniip" } } }, "dns": { "nameservers": [ "192.168.10.10" ] }, "hostrouteif": "macvtap0", "ipam": { "rangeEnd": "192.168.122.179", "rangeStart": "192.168.122.171", "routes": [ { "dst": "192.168.10.153/32", "gw": "0.0.0.0" } ], "subnet": "192.168.122.0/24", "type": "host-local" }, "master": "eth1", "name": "test-macvtap-cniip", "type": "macvtap" } ] [0] https://issues.apache.org/jira/browse/MESOS-5592