Merge pull request #29779 from thaJeztah/do-not-return-incorrect-error
NetworksPrune: do not return warnings as error
This commit is contained in:
commit
9a5bf4b5ad
1 changed files with 26 additions and 29 deletions
|
@ -190,13 +190,10 @@ func (daemon *Daemon) ImagesPrune(pruneFilters filters.Args) (*types.ImagesPrune
|
|||
}
|
||||
|
||||
// localNetworksPrune removes unused local networks
|
||||
func (daemon *Daemon) localNetworksPrune(pruneFilters filters.Args) (*types.NetworksPruneReport, error) {
|
||||
func (daemon *Daemon) localNetworksPrune(pruneFilters filters.Args) *types.NetworksPruneReport {
|
||||
rep := &types.NetworksPruneReport{}
|
||||
|
||||
until, err := getUntilFromPruneFilters(pruneFilters)
|
||||
if err != nil {
|
||||
return rep, err
|
||||
}
|
||||
until, _ := getUntilFromPruneFilters(pruneFilters)
|
||||
|
||||
// When the function returns true, the walk will stop.
|
||||
l := func(nw libnetwork.Network) bool {
|
||||
|
@ -204,28 +201,28 @@ func (daemon *Daemon) localNetworksPrune(pruneFilters filters.Args) (*types.Netw
|
|||
return false
|
||||
}
|
||||
nwName := nw.Name()
|
||||
predefined := runconfig.IsPreDefinedNetwork(nwName)
|
||||
if !predefined && len(nw.Endpoints()) == 0 {
|
||||
if err = daemon.DeleteNetwork(nw.ID()); err != nil {
|
||||
logrus.Warnf("could not remove network %s: %v", nwName, err)
|
||||
return false
|
||||
}
|
||||
rep.NetworksDeleted = append(rep.NetworksDeleted, nwName)
|
||||
if runconfig.IsPreDefinedNetwork(nwName) {
|
||||
return false
|
||||
}
|
||||
if len(nw.Endpoints()) > 0 {
|
||||
return false
|
||||
}
|
||||
if err := daemon.DeleteNetwork(nw.ID()); err != nil {
|
||||
logrus.Warnf("could not remove local network %s: %v", nwName, err)
|
||||
return false
|
||||
}
|
||||
rep.NetworksDeleted = append(rep.NetworksDeleted, nwName)
|
||||
return false
|
||||
}
|
||||
daemon.netController.WalkNetworks(l)
|
||||
return rep, err
|
||||
return rep
|
||||
}
|
||||
|
||||
// clusterNetworksPrune removes unused cluster networks
|
||||
func (daemon *Daemon) clusterNetworksPrune(pruneFilters filters.Args) (*types.NetworksPruneReport, error) {
|
||||
rep := &types.NetworksPruneReport{}
|
||||
|
||||
until, err := getUntilFromPruneFilters(pruneFilters)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
until, _ := getUntilFromPruneFilters(pruneFilters)
|
||||
|
||||
cluster := daemon.GetCluster()
|
||||
networks, err := cluster.GetNetworks()
|
||||
|
@ -248,7 +245,7 @@ func (daemon *Daemon) clusterNetworksPrune(pruneFilters filters.Args) (*types.Ne
|
|||
// we can safely ignore the "network .. is in use" error
|
||||
match := networkIsInUse.FindStringSubmatch(err.Error())
|
||||
if len(match) != 2 || match[1] != nw.ID {
|
||||
logrus.Warnf("could not remove network %s: %v", nw.Name, err)
|
||||
logrus.Warnf("could not remove cluster network %s: %v", nw.Name, err)
|
||||
}
|
||||
continue
|
||||
}
|
||||
|
@ -259,20 +256,20 @@ func (daemon *Daemon) clusterNetworksPrune(pruneFilters filters.Args) (*types.Ne
|
|||
|
||||
// NetworksPrune removes unused networks
|
||||
func (daemon *Daemon) NetworksPrune(pruneFilters filters.Args) (*types.NetworksPruneReport, error) {
|
||||
rep := &types.NetworksPruneReport{}
|
||||
if _, err := getUntilFromPruneFilters(pruneFilters); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
clusterRep, err := daemon.clusterNetworksPrune(pruneFilters)
|
||||
if err != nil {
|
||||
logrus.Warnf("could not remove cluster networks: %v", err)
|
||||
} else {
|
||||
rep.NetworksDeleted = append(rep.NetworksDeleted, clusterRep.NetworksDeleted...)
|
||||
return nil, fmt.Errorf("could not remove cluster networks: %s", err)
|
||||
}
|
||||
localRep, err := daemon.localNetworksPrune(pruneFilters)
|
||||
if err != nil {
|
||||
logrus.Warnf("could not remove local networks: %v", err)
|
||||
} else {
|
||||
rep.NetworksDeleted = append(rep.NetworksDeleted, localRep.NetworksDeleted...)
|
||||
}
|
||||
return rep, err
|
||||
rep := &types.NetworksPruneReport{}
|
||||
rep.NetworksDeleted = append(rep.NetworksDeleted, clusterRep.NetworksDeleted...)
|
||||
|
||||
localRep := daemon.localNetworksPrune(pruneFilters)
|
||||
rep.NetworksDeleted = append(rep.NetworksDeleted, localRep.NetworksDeleted...)
|
||||
return rep, nil
|
||||
}
|
||||
|
||||
func getUntilFromPruneFilters(pruneFilters filters.Args) (time.Time, error) {
|
||||
|
|
Loading…
Reference in a new issue