cnitool: support capablity args
Signed-off-by: Pengfei Ni <feiskyer@gmail.com>
This commit is contained in:
parent
21d96393ea
commit
73a2d131ee
@ -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] {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user