mirror of
https://github.com/containers/podman.git
synced 2025-12-04 20:28:40 +08:00
Vendor in latest containers/common with default capabilities
Also update vendor of containers/storage and image Cleanup display of added/dropped capabilties as well Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
This commit is contained in:
70
vendor/github.com/containers/common/libnetwork/netavark/config.go
generated
vendored
70
vendor/github.com/containers/common/libnetwork/netavark/config.go
generated
vendored
@@ -10,6 +10,7 @@ import (
|
||||
"net"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"reflect"
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
@@ -19,6 +20,65 @@ import (
|
||||
"github.com/containers/storage/pkg/stringid"
|
||||
)
|
||||
|
||||
func sliceRemoveDuplicates(strList []string) []string {
|
||||
list := make([]string, 0, len(strList))
|
||||
for _, item := range strList {
|
||||
if !util.StringInSlice(item, list) {
|
||||
list = append(list, item)
|
||||
}
|
||||
}
|
||||
return list
|
||||
}
|
||||
|
||||
func (n *netavarkNetwork) commitNetwork(network *types.Network) error {
|
||||
confPath := filepath.Join(n.networkConfigDir, network.Name+".json")
|
||||
f, err := os.Create(confPath)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer f.Close()
|
||||
enc := json.NewEncoder(f)
|
||||
enc.SetIndent("", " ")
|
||||
err = enc.Encode(network)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (n *netavarkNetwork) NetworkUpdate(name string, options types.NetworkUpdateOptions) error {
|
||||
n.lock.Lock()
|
||||
defer n.lock.Unlock()
|
||||
err := n.loadNetworks()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
network, err := n.getNetwork(name)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
networkDNSServersBefore := network.NetworkDNSServers
|
||||
networkDNSServersAfter := []string{}
|
||||
for _, server := range networkDNSServersBefore {
|
||||
if util.StringInSlice(server, options.RemoveDNSServers) {
|
||||
continue
|
||||
}
|
||||
networkDNSServersAfter = append(networkDNSServersAfter, server)
|
||||
}
|
||||
networkDNSServersAfter = append(networkDNSServersAfter, options.AddDNSServers...)
|
||||
networkDNSServersAfter = sliceRemoveDuplicates(networkDNSServersAfter)
|
||||
network.NetworkDNSServers = networkDNSServersAfter
|
||||
if reflect.DeepEqual(networkDNSServersBefore, networkDNSServersAfter) {
|
||||
return nil
|
||||
}
|
||||
err = n.commitNetwork(network)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return n.execUpdate(network.Name, network.NetworkDNSServers)
|
||||
}
|
||||
|
||||
// NetworkCreate will take a partial filled Network and fill the
|
||||
// missing fields. It creates the Network and returns the full Network.
|
||||
func (n *netavarkNetwork) NetworkCreate(net types.Network, options *types.NetworkCreateOptions) (types.Network, error) {
|
||||
@@ -163,15 +223,7 @@ func (n *netavarkNetwork) networkCreate(newNetwork *types.Network, defaultNet bo
|
||||
newNetwork.Created = time.Now()
|
||||
|
||||
if !defaultNet {
|
||||
confPath := filepath.Join(n.networkConfigDir, newNetwork.Name+".json")
|
||||
f, err := os.Create(confPath)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer f.Close()
|
||||
enc := json.NewEncoder(f)
|
||||
enc.SetIndent("", " ")
|
||||
err = enc.Encode(newNetwork)
|
||||
err = n.commitNetwork(newNetwork)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
6
vendor/github.com/containers/common/libnetwork/netavark/run.go
generated
vendored
6
vendor/github.com/containers/common/libnetwork/netavark/run.go
generated
vendored
@@ -7,6 +7,7 @@ import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/containers/common/libnetwork/internal/util"
|
||||
"github.com/containers/common/libnetwork/types"
|
||||
@@ -18,6 +19,11 @@ type netavarkOptions struct {
|
||||
Networks map[string]*types.Network `json:"network_info"`
|
||||
}
|
||||
|
||||
func (n *netavarkNetwork) execUpdate(networkName string, networkDNSServers []string) error {
|
||||
retErr := n.execNetavark([]string{"update", networkName, "--network-dns-servers", strings.Join(networkDNSServers, ",")}, nil, nil)
|
||||
return retErr
|
||||
}
|
||||
|
||||
// Setup will setup the container network namespace. It returns
|
||||
// a map of StatusBlocks, the key is the network name.
|
||||
func (n *netavarkNetwork) Setup(namespacePath string, options types.SetupOptions) (map[string]types.StatusBlock, error) {
|
||||
|
||||
Reference in New Issue
Block a user