Skip to content
This repository has been archived by the owner on May 12, 2021. It is now read-only.

Commit

Permalink
network: always assign sandbox networkNS
Browse files Browse the repository at this point in the history
For vm factory, we also need netns to be set otherwise we fail to
create new VMs in `s.network.run`.

Fixes: #681

Signed-off-by: Peng Tao <[email protected]>
  • Loading branch information
bergwolf committed Aug 31, 2018
1 parent b982373 commit 5e849f1
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 14 deletions.
6 changes: 1 addition & 5 deletions virtcontainers/default_network.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,11 +54,7 @@ func (n *defNetwork) add(s *Sandbox) error {
return err
}

s.networkNS = NetworkNamespace{
NetNsPath: s.config.NetworkConfig.NetNSPath,
NetNsCreated: s.config.NetworkConfig.NetNsCreated,
Endpoints: endpoints,
}
s.networkNS.Endpoints = endpoints

err = doNetNS(s.config.NetworkConfig.NetNSPath, func(_ ns.NetNS) error {
for _, endpoint := range s.networkNS.Endpoints {
Expand Down
19 changes: 10 additions & 9 deletions virtcontainers/sandbox.go
Original file line number Diff line number Diff line change
Expand Up @@ -973,19 +973,22 @@ func (s *Sandbox) createNetwork() error {
span, _ := s.trace("createNetwork")
defer span.Finish()

s.networkNS = NetworkNamespace{
NetNsPath: s.config.NetworkConfig.NetNSPath,
NetNsCreated: s.config.NetworkConfig.NetNsCreated,
}

// In case there is a factory, the network should be handled
// through some calls at the API level, in order to add or
// remove interfaces and routes.
// This prevents from any assumptions that could be made from
// virtcontainers, in particular that the VM has not been started
// before it starts to scan the current network.
if s.factory != nil {
return nil
}

// Add the network
if err := s.network.add(s); err != nil {
return err
if s.factory == nil {
// Add the network
if err := s.network.add(s); err != nil {
return err
}
}

// Store the network
Expand Down Expand Up @@ -1117,8 +1120,6 @@ func (s *Sandbox) startVM() error {
if err != nil {
return err
}
// FIXME: factory vm needs network hotplug to add Nics.
s.networkNS.NetNsPath = ""
return nil
}

Expand Down

0 comments on commit 5e849f1

Please sign in to comment.