Merge pull request #440 from feiskyer/cap

cnitool: support capablity args
This commit is contained in:
Dan Williams 2017-04-28 20:55:31 -05:00 committed by GitHub
commit a6c96acda4

View File

@ -15,6 +15,7 @@
package main package main
import ( import (
"encoding/json"
"fmt" "fmt"
"os" "os"
"path/filepath" "path/filepath"
@ -23,8 +24,9 @@ import (
) )
const ( const (
EnvCNIPath = "CNI_PATH" EnvCNIPath = "CNI_PATH"
EnvNetDir = "NETCONFPATH" EnvNetDir = "NETCONFPATH"
EnvCapabilityArgs = "CAP_ARGS"
DefaultNetDir = "/etc/cni/net.d" DefaultNetDir = "/etc/cni/net.d"
@ -47,6 +49,14 @@ func main() {
exit(err) 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] netns := os.Args[3]
cninet := &libcni.CNIConfig{ cninet := &libcni.CNIConfig{
@ -54,9 +64,10 @@ func main() {
} }
rt := &libcni.RuntimeConf{ rt := &libcni.RuntimeConf{
ContainerID: "cni", ContainerID: "cni",
NetNS: netns, NetNS: netns,
IfName: "eth0", IfName: "eth0",
CapabilityArgs: capabilityArgs,
} }
switch os.Args[1] { switch os.Args[1] {