diff --git a/shell/shell.go b/shell/shell.go index 2a457b0..71e0400 100644 --- a/shell/shell.go +++ b/shell/shell.go @@ -4,7 +4,6 @@ import ( "fmt" "io/ioutil" "log" - "os" "strings" "github.com/ak1ra24/tn/utils" @@ -439,11 +438,8 @@ func Mount_docker_netns(node Node) []string { var mountDockerNetnsCmds []string netnsDir := "/var/run/netns" - if !utils.Exists(netnsDir) { - if err := os.Mkdir(netnsDir, 0766); err != nil { - log.Fatal(err) - } - } + mkdirCmd := fmt.Sprintf("mkdir -p %s", netnsDir) + mountDockerNetnsCmds = append(mountDockerNetnsCmds, mkdirCmd) dockerPid := GetContainerPid(node.Name) mountDockerNetnsCmds = append(mountDockerNetnsCmds, dockerPid) mountDockerNetnsCmd := fmt.Sprintf("ln -s /proc/$PID/ns/net /var/run/netns/%s", node.Name) diff --git a/shell/shell_test.go b/shell/shell_test.go index 7b2023d..d2b89cc 100644 --- a/shell/shell_test.go +++ b/shell/shell_test.go @@ -248,14 +248,15 @@ func TestTn_GenerateFile(t *testing.T) { args args wantErr bool }{ - { - name: "tinet config template generate", - tnconfig: &Tn{}, - args: args{ - cfgFile: "spec.yaml", - }, - wantErr: true, - }, + // TODO: Add test cases. + // { + // name: "tinet config template generate", + // tnconfig: &Tn{}, + // args: args{ + // cfgFile: "spec.yaml", + // }, + // wantErr: true, + // }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { @@ -780,7 +781,7 @@ func TestMount_docker_netns(t *testing.T) { }, }, }, - want: []string{"PID=`docker inspect R1 --format '{{.State.Pid}}'`", "ln -s /proc/$PID/ns/net /var/run/netns/R1"}, + want: []string{"mkdir -p /var/run/netns", "PID=`docker inspect R1 --format '{{.State.Pid}}'`", "ln -s /proc/$PID/ns/net /var/run/netns/R1"}, }, } for _, tt := range tests {