Skip to content

Commit a8a9d5a

Browse files
authored
Merge pull request #2194 from YaoZengzeng/fix-cni
bugfix: remove useless noop cni manager and speak loudly if init cni manager failed
2 parents bc9e89a + 9a205be commit a8a9d5a

File tree

4 files changed

+12
-40
lines changed

4 files changed

+12
-40
lines changed

cri/ocicni/cni_manager.go

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ type CniManager struct {
1919
// NewCniManager initializes a brand new cni manager.
2020
// If initialize failed, return NoopCniManager, we should not make pouchd creashed
2121
// because of the failure of cni manager.
22-
func NewCniManager(cfg *config.Config) CniMgr {
22+
func NewCniManager(cfg *config.Config) (CniMgr, error) {
2323
networkPluginBinDir := cfg.NetworkPluginBinDir
2424
networkPluginConfDir := cfg.NetworkPluginConfDir
2525

@@ -28,20 +28,18 @@ func NewCniManager(cfg *config.Config) CniMgr {
2828
if err != nil && os.IsNotExist(err) {
2929
err = os.MkdirAll(networkPluginConfDir, 0666)
3030
if err != nil {
31-
logrus.Errorf("failed to create configuration directory for CNI: %v", err)
32-
return &NoopCniManager{}
31+
return nil, err
3332
}
3433
}
3534

3635
plugin, err := ocicni.InitCNI(networkPluginConfDir, networkPluginBinDir)
3736
if err != nil {
38-
logrus.Errorf("failed to initialize cni manager: %v", err)
39-
return &NoopCniManager{}
37+
return nil, err
4038
}
4139

4240
return &CniManager{
4341
plugin: plugin,
44-
}
42+
}, nil
4543
}
4644

4745
// Name returns the plugin's name. This will be used when searching

cri/ocicni/noop_cni_manager.go

Lines changed: 0 additions & 32 deletions
This file was deleted.

cri/v1alpha1/cri.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,12 +129,15 @@ func NewCriManager(config *config.Config, ctrMgr mgr.ContainerMgr, imgMgr mgr.Im
129129
c := &CriManager{
130130
ContainerMgr: ctrMgr,
131131
ImageMgr: imgMgr,
132-
CniMgr: cni.NewCniManager(&config.CriConfig),
133132
StreamServer: streamServer,
134133
SandboxBaseDir: path.Join(config.HomeDir, "sandboxes"),
135134
SandboxImage: config.CriConfig.SandboxImage,
136135
SnapshotStore: mgr.NewSnapshotStore(),
137136
}
137+
c.CniMgr, err = cni.NewCniManager(&config.CriConfig)
138+
if err != nil {
139+
return nil, fmt.Errorf("failed to create cni manager: %v", err)
140+
}
138141

139142
c.SandboxStore, err = meta.NewStore(meta.Config{
140143
Driver: "local",

cri/v1alpha2/cri.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,12 +135,15 @@ func NewCriManager(config *config.Config, ctrMgr mgr.ContainerMgr, imgMgr mgr.Im
135135
ContainerMgr: ctrMgr,
136136
ImageMgr: imgMgr,
137137
VolumeMgr: volumeMgr,
138-
CniMgr: cni.NewCniManager(&config.CriConfig),
139138
StreamServer: streamServer,
140139
SandboxBaseDir: path.Join(config.HomeDir, "sandboxes"),
141140
SandboxImage: config.CriConfig.SandboxImage,
142141
SnapshotStore: mgr.NewSnapshotStore(),
143142
}
143+
c.CniMgr, err = cni.NewCniManager(&config.CriConfig)
144+
if err != nil {
145+
return nil, fmt.Errorf("failed to create cni manager: %v", err)
146+
}
144147

145148
c.SandboxStore, err = meta.NewStore(meta.Config{
146149
Driver: "local",

0 commit comments

Comments
 (0)