mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-09-19 07:49:17 +00:00
Merge pull request #509 from lifupan/kata-integration
virtconainers: rollback the NetNs when createNetwork failed
This commit is contained in:
@@ -925,8 +925,20 @@ func (s *Sandbox) Delete() error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *Sandbox) createNetwork() error {
|
func (s *Sandbox) createNetwork() error {
|
||||||
|
var netNsPath string
|
||||||
|
var netNsCreated bool
|
||||||
|
var networkNS NetworkNamespace
|
||||||
|
var err error
|
||||||
|
|
||||||
|
//rollback the NetNs when createNetwork failed
|
||||||
|
defer func() {
|
||||||
|
if err != nil && netNsPath != "" && netNsCreated {
|
||||||
|
deleteNetNS(netNsPath)
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
|
||||||
// Initialize the network.
|
// Initialize the network.
|
||||||
netNsPath, netNsCreated, err := s.network.init(s.config.NetworkConfig)
|
netNsPath, netNsCreated, err = s.network.init(s.config.NetworkConfig)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -939,14 +951,16 @@ func (s *Sandbox) createNetwork() error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Add the network
|
// Add the network
|
||||||
networkNS, err := s.network.add(s, s.config.NetworkConfig, netNsPath, netNsCreated)
|
networkNS, err = s.network.add(s, s.config.NetworkConfig, netNsPath, netNsCreated)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
s.networkNS = networkNS
|
s.networkNS = networkNS
|
||||||
|
|
||||||
// Store the network
|
// Store the network
|
||||||
return s.storage.storeSandboxNetwork(s.id, networkNS)
|
err = s.storage.storeSandboxNetwork(s.id, networkNS)
|
||||||
|
|
||||||
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Sandbox) removeNetwork() error {
|
func (s *Sandbox) removeNetwork() error {
|
||||||
|
Reference in New Issue
Block a user