cnitool: support capablity args

Signed-off-by: Pengfei Ni <feiskyer@gmail.com>
This commit is contained in:
Pengfei Ni 2017-04-25 17:35:03 +08:00
parent 21d96393ea
commit 73a2d131ee

View File

@ -15,6 +15,7 @@
package main
import (
"encoding/json"
"fmt"
"os"
"path/filepath"
@ -25,6 +26,7 @@ import (
const (
EnvCNIPath = "CNI_PATH"
EnvNetDir = "NETCONFPATH"
EnvCapabilityArgs = "CAP_ARGS"
DefaultNetDir = "/etc/cni/net.d"
@ -47,6 +49,14 @@ func main() {
exit(err)
}
var capabilityArgs map[string]interface{}
args := os.Getenv(EnvCapabilityArgs)
if len(args) > 0 {
if err = json.Unmarshal([]byte(args), &capabilityArgs); err != nil {
exit(err)
}
}
netns := os.Args[3]
cninet := &libcni.CNIConfig{
@ -57,6 +67,7 @@ func main() {
ContainerID: "cni",
NetNS: netns,
IfName: "eth0",
CapabilityArgs: capabilityArgs,
}
switch os.Args[1] {