{"action":"created","issue":{"url":"https://api.github.com/repos/intel/multus-cni/issues/179","repository_url":"https://api.github.com/repos/intel/multus-cni","labels_url":"https://api.github.com/repos/intel/multus-cni/issues/179/labels{/name}","comments_url":"https://api.github.com/repos/intel/multus-cni/issues/179/comments","events_url":"https://api.github.com/repos/intel/multus-cni/issues/179/events","html_url":"https://github.com/intel/multus-cni/issues/179","id":375642808,"node_id":"MDU6SXNzdWUzNzU2NDI4MDg=","number":179,"title":"Chained meta plugin not found on Delete ","user":{"login":"mccv1r0","id":43296707,"node_id":"MDQ6VXNlcjQzMjk2NzA3","avatar_url":"https://avatars1.githubusercontent.com/u/43296707?v=4","gravatar_id":"","url":"https://api.github.com/users/mccv1r0","html_url":"https://github.com/mccv1r0","followers_url":"https://api.github.com/users/mccv1r0/followers","following_url":"https://api.github.com/users/mccv1r0/following{/other_user}","gists_url":"https://api.github.com/users/mccv1r0/gists{/gist_id}","starred_url":"https://api.github.com/users/mccv1r0/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mccv1r0/subscriptions","organizations_url":"https://api.github.com/users/mccv1r0/orgs","repos_url":"https://api.github.com/users/mccv1r0/repos","events_url":"https://api.github.com/users/mccv1r0/events{/privacy}","received_events_url":"https://api.github.com/users/mccv1r0/received_events","type":"User","site_admin":false},"labels":[{"id":1111255473,"node_id":"MDU6TGFiZWwxMTExMjU1NDcz","url":"https://api.github.com/repos/intel/multus-cni/labels/not-a-bug","name":"not-a-bug","color":"d37102","default":false},{"id":1111255769,"node_id":"MDU6TGFiZWwxMTExMjU1NzY5","url":"https://api.github.com/repos/intel/multus-cni/labels/tested","name":"tested","color":"320275","default":false}],"state":"open","locked":false,"assignee":{"login":"rkamudhan","id":20394160,"node_id":"MDQ6VXNlcjIwMzk0MTYw","avatar_url":"https://avatars0.githubusercontent.com/u/20394160?v=4","gravatar_id":"","url":"https://api.github.com/users/rkamudhan","html_url":"https://github.com/rkamudhan","followers_url":"https://api.github.com/users/rkamudhan/followers","following_url":"https://api.github.com/users/rkamudhan/following{/other_user}","gists_url":"https://api.github.com/users/rkamudhan/gists{/gist_id}","starred_url":"https://api.github.com/users/rkamudhan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rkamudhan/subscriptions","organizations_url":"https://api.github.com/users/rkamudhan/orgs","repos_url":"https://api.github.com/users/rkamudhan/repos","events_url":"https://api.github.com/users/rkamudhan/events{/privacy}","received_events_url":"https://api.github.com/users/rkamudhan/received_events","type":"User","site_admin":false},"assignees":[{"login":"rkamudhan","id":20394160,"node_id":"MDQ6VXNlcjIwMzk0MTYw","avatar_url":"https://avatars0.githubusercontent.com/u/20394160?v=4","gravatar_id":"","url":"https://api.github.com/users/rkamudhan","html_url":"https://github.com/rkamudhan","followers_url":"https://api.github.com/users/rkamudhan/followers","following_url":"https://api.github.com/users/rkamudhan/following{/other_user}","gists_url":"https://api.github.com/users/rkamudhan/gists{/gist_id}","starred_url":"https://api.github.com/users/rkamudhan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rkamudhan/subscriptions","organizations_url":"https://api.github.com/users/rkamudhan/orgs","repos_url":"https://api.github.com/users/rkamudhan/repos","events_url":"https://api.github.com/users/rkamudhan/events{/privacy}","received_events_url":"https://api.github.com/users/rkamudhan/received_events","type":"User","site_admin":false}],"milestone":null,"comments":5,"created_at":"2018-10-30T18:53:16Z","updated_at":"2018-10-31T18:17:07Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"\r\nAdding interface(s) with chained plugins (e.g. tuning) work fine.  When Deleting, the chained plugin cannot be found:\r\n\r\n```\r\n2018-10-30T14:40:33-04:00 [error] error in getting result from DelNetworkList: failed to find plugin \"tuning\" in path [/home/mcambria/go/src/github.com/containernetworking/bin]\r\n2018-10-30T14:40:33-04:00 [error] Multus: error in invoke Conflist Del - \"mcc-test1\": error in getting result from DelNetworkList: failed to find plugin \"tuning\" in path [/home/mcambria/go/src/github.com/containernetworking/bin]\r\nMultus: error in invoke Conflist Del - \"mcc-test1\": error in getting result from DelNetworkList: failed to find plugin \"tuning\" in path [/home/mcambria/go/src/github.com/containernetworking/bin]\r\n\r\n```\r\n\r\nIt looks like logic was added to make this work for conflistAdd() by finding the plugin vis CNI_PATH:\r\n\r\nhttps://github.com/intel/multus-cni/blame/bdf901c122f923d89fd88e15fb6dd79d8a98d4da/multus/multus.go#L126\r\n\r\nSimilar logic is missing for Delete.  Is there a reason?\r\n\r\nWhen I add the same logic to conflistDel(), the problem goes away.   But does adding this break something else?\r\n\r\n "},"comment":{"url":"https://api.github.com/repos/intel/multus-cni/issues/comments/434794120","html_url":"https://github.com/intel/multus-cni/issues/179#issuecomment-434794120","issue_url":"https://api.github.com/repos/intel/multus-cni/issues/179","id":434794120,"node_id":"MDEyOklzc3VlQ29tbWVudDQzNDc5NDEyMA==","user":{"login":"mccv1r0","id":43296707,"node_id":"MDQ6VXNlcjQzMjk2NzA3","avatar_url":"https://avatars1.githubusercontent.com/u/43296707?v=4","gravatar_id":"","url":"https://api.github.com/users/mccv1r0","html_url":"https://github.com/mccv1r0","followers_url":"https://api.github.com/users/mccv1r0/followers","following_url":"https://api.github.com/users/mccv1r0/following{/other_user}","gists_url":"https://api.github.com/users/mccv1r0/gists{/gist_id}","starred_url":"https://api.github.com/users/mccv1r0/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mccv1r0/subscriptions","organizations_url":"https://api.github.com/users/mccv1r0/orgs","repos_url":"https://api.github.com/users/mccv1r0/repos","events_url":"https://api.github.com/users/mccv1r0/events{/privacy}","received_events_url":"https://api.github.com/users/mccv1r0/received_events","type":"User","site_admin":false},"created_at":"2018-10-31T18:17:07Z","updated_at":"2018-10-31T18:17:07Z","author_association":"CONTRIBUTOR","body":"@rkamudhan I'm using cnitool; the multus plugin is a symlink to CNI_PATH dir so it can be found with the CNI supplied plugins.\r\n\r\n```\r\nCNI_PATH is /home/mcambria/go/src/github.com/mccv1r0/plugins/bin\r\nNETCONFPATH is /home/mcambria/go/src/github.com/containernetworking\r\n\r\n/home/mcambria/go/src/github.com/mccv1r0/cni/cnitool/cnitool add multus-mccv1r0-network /var/run/netns/mcc-cni-test0\r\n```\r\nHere is the *.conf file I'm currently using; multus-mccv1r0-network.conflist\r\n\r\n```\r\n{\r\n        \"name\": \"multus-mccv1r0-network\",\r\n        \"cniVersion\": \"0.4.0\",\r\n        \"plugins\": [{\r\n                \"type\": \"multus\",\r\n                \"logFile\": \"/tmp/multus.log\",\r\n                \"logLevel\": \"error\",\r\n                \"_logLevel\": \"debug\",\r\n                \"cniDir\": \"/var/lib/cni/multus\",\r\n                \"confDir\": \"/home/mcambria/go/src/github.com/containernetworking\",\r\n                \"binDir\": \"/home/mcambria/go/src/github.com/mccv1r0/plugins/bin\",\r\n                \"name\": \"multus-mccv1r0-network1\",\r\n                \"delegates\": [\r\n                {\r\n                        \"cniVersion\": \"0.4.0\",\r\n                        \"name\": \"mcc-test\",\r\n                        \"plugins\": [\r\n                        {\r\n                                \"type\": \"bridge\",\r\n                                \"cniVersion\": \"0.4.0\",\r\n                                \"name\": \"bridge-mcc0-chain\",\r\n                                \"bridge\": \"mcc0\",\r\n                                \"ipam\": {\r\n                                        \"type\": \"host-local\",\r\n                                        \"subnet\": \"172.19.0.0/24\",\r\n                                        \"gateway\": \"172.19.0.1\",\r\n                                        \"routes\": [{ \r\n                                                \"dst\": \"0.0.0.0/0\"\r\n                                        }]\r\n                                }\r\n                        },\r\n                        {\r\n                              \"name\": \"mytuning\",\r\n                              \"type\": \"tuning\",\r\n                              \"sysctl\": { \"net.core.somaxconn\": \"567\" }\r\n                        }\r\n                        ]\r\n                },\r\n                {\r\n                        \"cniVersion\": \"0.4.0\",\r\n                        \"name\": \"mcc-test1\",\r\n                        \"plugins\": [\r\n                        {\r\n                                \"type\": \"bridge\",\r\n                                \"cniVersion\": \"0.4.0\",\r\n                                \"name\": \"bridge-mcc1-chain\",\r\n                                \"bridge\": \"mcc1\",\r\n                                \"ipam\": {\r\n                                        \"type\": \"host-local\",\r\n                                        \"subnet\": \"172.19.1.0/24\",\r\n                                        \"gateway\": \"172.19.1.1\"\r\n                                }\r\n                        },\r\n                        {\r\n                              \"name\": \"mytuning\",\r\n                              \"type\": \"tuning\",\r\n                              \"mtu\": 569\r\n                        }\r\n                        ]\r\n                }\r\n             ]\r\n        }]\r\n}\r\n```\r\n\r\nInitially, this conflist file didn't have:\r\n\r\n```\r\n                \"cniDir\": \"/var/lib/cni/multus\",\r\n                \"confDir\": \"/home/mcambria/go/src/github.com/containernetworking\",\r\n                \"binDir\": \"/home/mcambria/go/src/github.com/mccv1r0/plugins/bin\",\r\n```\r\n\r\nThus only CNI_PATH was considered when looking for e.g. tuning plugin.\r\n\r\n"}}
{"actor":{"display_login":"mccv1r0"}}