mirror of
https://github.com/containers/podman.git
synced 2025-12-09 15:19:35 +08:00
Vendor in latest c/common
Pull in updates made to the filters code for images. Filters now perform an AND operation except for th reference filter which does an OR operation for positive case but an AND operation for negative cases. Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
This commit is contained in:
19
vendor/github.com/containers/common/libnetwork/cni/cni_conversion.go
generated
vendored
19
vendor/github.com/containers/common/libnetwork/cni/cni_conversion.go
generated
vendored
@@ -1,5 +1,4 @@
|
||||
//go:build linux || freebsd
|
||||
// +build linux freebsd
|
||||
|
||||
package cni
|
||||
|
||||
@@ -18,8 +17,8 @@ import (
|
||||
internalutil "github.com/containers/common/libnetwork/internal/util"
|
||||
"github.com/containers/common/libnetwork/types"
|
||||
"github.com/containers/common/libnetwork/util"
|
||||
pkgutil "github.com/containers/common/pkg/util"
|
||||
"github.com/sirupsen/logrus"
|
||||
"golang.org/x/exp/slices"
|
||||
"golang.org/x/sys/unix"
|
||||
)
|
||||
|
||||
@@ -32,13 +31,13 @@ func createNetworkFromCNIConfigList(conf *libcni.NetworkConfigList, confPath str
|
||||
IPAMOptions: map[string]string{},
|
||||
}
|
||||
|
||||
cniJSON := make(map[string]interface{})
|
||||
cniJSON := make(map[string]any)
|
||||
err := json.Unmarshal(conf.Bytes, &cniJSON)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to unmarshal network config %s: %w", conf.Name, err)
|
||||
}
|
||||
if args, ok := cniJSON["args"]; ok {
|
||||
if key, ok := args.(map[string]interface{}); ok {
|
||||
if key, ok := args.(map[string]any); ok {
|
||||
// read network labels and options from the conf file
|
||||
network.Labels = getNetworkArgsFromConfList(key, podmanLabelKey)
|
||||
network.Options = getNetworkArgsFromConfList(key, podmanOptionsKey)
|
||||
@@ -215,9 +214,9 @@ func convertIPAMConfToNetwork(network *types.Network, ipam *ipamConfig, confPath
|
||||
}
|
||||
|
||||
// getNetworkArgsFromConfList returns the map of args in a conflist, argType should be labels or options
|
||||
func getNetworkArgsFromConfList(args map[string]interface{}, argType string) map[string]string {
|
||||
func getNetworkArgsFromConfList(args map[string]any, argType string) map[string]string {
|
||||
if args, ok := args[argType]; ok {
|
||||
if labels, ok := args.(map[string]interface{}); ok {
|
||||
if labels, ok := args.(map[string]any); ok {
|
||||
result := make(map[string]string, len(labels))
|
||||
for k, v := range labels {
|
||||
if v, ok := v.(string); ok {
|
||||
@@ -299,7 +298,7 @@ func (n *cniNetwork) createCNIConfigListFromNetwork(network *types.Network, writ
|
||||
// the dnsname plugin also needs to be updated for 1.0.0
|
||||
// TODO change to 1.0.0 when most distros support it
|
||||
ncList := newNcList(network.Name, "0.4.0", network.Labels, network.Options)
|
||||
var plugins []interface{}
|
||||
var plugins []any
|
||||
|
||||
switch network.Driver {
|
||||
case types.BridgeNetworkDriver:
|
||||
@@ -359,7 +358,7 @@ func convertSpecgenPortsToCNIPorts(ports []types.PortMapping) ([]cniPortMapEntry
|
||||
protocols := strings.Split(port.Protocol, ",")
|
||||
|
||||
for _, protocol := range protocols {
|
||||
if !pkgutil.StringInSlice(protocol, []string{"tcp", "udp", "sctp"}) {
|
||||
if !slices.Contains([]string{"tcp", "udp", "sctp"}, protocol) {
|
||||
return nil, fmt.Errorf("unknown port protocol %s", protocol)
|
||||
}
|
||||
cniPort := cniPortMapEntry{
|
||||
@@ -421,11 +420,11 @@ func parseOptions(networkOptions map[string]string, networkDriver string) (*opti
|
||||
case types.ModeOption:
|
||||
switch networkDriver {
|
||||
case types.MacVLANNetworkDriver:
|
||||
if !pkgutil.StringInSlice(v, types.ValidMacVLANModes) {
|
||||
if !slices.Contains(types.ValidMacVLANModes, v) {
|
||||
return nil, fmt.Errorf("unknown macvlan mode %q", v)
|
||||
}
|
||||
case types.IPVLANNetworkDriver:
|
||||
if !pkgutil.StringInSlice(v, types.ValidIPVLANModes) {
|
||||
if !slices.Contains(types.ValidIPVLANModes, v) {
|
||||
return nil, fmt.Errorf("unknown ipvlan mode %q", v)
|
||||
}
|
||||
default:
|
||||
|
||||
1
vendor/github.com/containers/common/libnetwork/cni/cni_exec.go
generated
vendored
1
vendor/github.com/containers/common/libnetwork/cni/cni_exec.go
generated
vendored
@@ -17,7 +17,6 @@
|
||||
// limitations under the License.
|
||||
|
||||
//go:build linux || freebsd
|
||||
// +build linux freebsd
|
||||
|
||||
package cni
|
||||
|
||||
|
||||
18
vendor/github.com/containers/common/libnetwork/cni/cni_types.go
generated
vendored
18
vendor/github.com/containers/common/libnetwork/cni/cni_types.go
generated
vendored
@@ -1,5 +1,4 @@
|
||||
//go:build linux || freebsd
|
||||
// +build linux freebsd
|
||||
|
||||
package cni
|
||||
|
||||
@@ -116,7 +115,7 @@ type dnsNameConfig struct {
|
||||
}
|
||||
|
||||
// ncList describes a generic map
|
||||
type ncList map[string]interface{}
|
||||
type ncList map[string]any
|
||||
|
||||
// newNcList creates a generic map of values with string
|
||||
// keys and adds in version and network name
|
||||
@@ -139,8 +138,6 @@ func newNcList(name, version string, labels, options map[string]string) ncList {
|
||||
|
||||
// newHostLocalBridge creates a new LocalBridge for host-local
|
||||
func newHostLocalBridge(name string, isGateWay, ipMasq bool, mtu, vlan int, ipamConf *ipamConfig) *hostLocalBridge {
|
||||
caps := make(map[string]bool)
|
||||
caps["ips"] = true
|
||||
bridge := hostLocalBridge{
|
||||
PluginType: "bridge",
|
||||
BrName: name,
|
||||
@@ -154,7 +151,7 @@ func newHostLocalBridge(name string, isGateWay, ipMasq bool, mtu, vlan int, ipam
|
||||
bridge.IPAM = *ipamConf
|
||||
// if we use host-local set the ips cap to ensure we can set static ips via runtime config
|
||||
if ipamConf.PluginType == types.HostLocalIPAMDriver {
|
||||
bridge.Capabilities = caps
|
||||
bridge.Capabilities = map[string]bool{"ips": true}
|
||||
}
|
||||
}
|
||||
return &bridge
|
||||
@@ -216,13 +213,10 @@ func newIPAMDefaultRoute(isIPv6 bool) (ipamRoute, error) {
|
||||
// newPortMapPlugin creates a predefined, default portmapping
|
||||
// configuration
|
||||
func newPortMapPlugin() portMapConfig {
|
||||
caps := make(map[string]bool)
|
||||
caps["portMappings"] = true
|
||||
p := portMapConfig{
|
||||
return portMapConfig{
|
||||
PluginType: "portmap",
|
||||
Capabilities: caps,
|
||||
Capabilities: map[string]bool{"portMappings": true},
|
||||
}
|
||||
return p
|
||||
}
|
||||
|
||||
// newFirewallPlugin creates a generic firewall plugin
|
||||
@@ -246,12 +240,10 @@ func newTuningPlugin() tuningConfig {
|
||||
// newDNSNamePlugin creates the dnsname config with a given
|
||||
// domainname
|
||||
func newDNSNamePlugin(domainName string) dnsNameConfig {
|
||||
caps := make(map[string]bool, 1)
|
||||
caps["aliases"] = true
|
||||
return dnsNameConfig{
|
||||
PluginType: "dnsname",
|
||||
DomainName: domainName,
|
||||
Capabilities: caps,
|
||||
Capabilities: map[string]bool{"aliases": true},
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
5
vendor/github.com/containers/common/libnetwork/cni/config.go
generated
vendored
5
vendor/github.com/containers/common/libnetwork/cni/config.go
generated
vendored
@@ -1,5 +1,4 @@
|
||||
//go:build linux || freebsd
|
||||
// +build linux freebsd
|
||||
|
||||
package cni
|
||||
|
||||
@@ -11,8 +10,8 @@ import (
|
||||
|
||||
internalutil "github.com/containers/common/libnetwork/internal/util"
|
||||
"github.com/containers/common/libnetwork/types"
|
||||
pkgutil "github.com/containers/common/pkg/util"
|
||||
"github.com/sirupsen/logrus"
|
||||
"golang.org/x/exp/slices"
|
||||
)
|
||||
|
||||
func (n *cniNetwork) NetworkUpdate(_ string, _ types.NetworkUpdateOptions) error {
|
||||
@@ -206,7 +205,7 @@ func createIPMACVLAN(network *types.Network) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if !pkgutil.StringInSlice(network.NetworkInterface, interfaceNames) {
|
||||
if !slices.Contains(interfaceNames, network.NetworkInterface) {
|
||||
return fmt.Errorf("parent interface %s does not exist", network.NetworkInterface)
|
||||
}
|
||||
}
|
||||
|
||||
1
vendor/github.com/containers/common/libnetwork/cni/config_freebsd.go
generated
vendored
1
vendor/github.com/containers/common/libnetwork/cni/config_freebsd.go
generated
vendored
@@ -1,5 +1,4 @@
|
||||
//go:build freebsd
|
||||
// +build freebsd
|
||||
|
||||
package cni
|
||||
|
||||
|
||||
1
vendor/github.com/containers/common/libnetwork/cni/config_linux.go
generated
vendored
1
vendor/github.com/containers/common/libnetwork/cni/config_linux.go
generated
vendored
@@ -1,5 +1,4 @@
|
||||
//go:build linux
|
||||
// +build linux
|
||||
|
||||
package cni
|
||||
|
||||
|
||||
1
vendor/github.com/containers/common/libnetwork/cni/network.go
generated
vendored
1
vendor/github.com/containers/common/libnetwork/cni/network.go
generated
vendored
@@ -1,5 +1,4 @@
|
||||
//go:build linux || freebsd
|
||||
// +build linux freebsd
|
||||
|
||||
package cni
|
||||
|
||||
|
||||
8
vendor/github.com/containers/common/libnetwork/cni/run.go
generated
vendored
8
vendor/github.com/containers/common/libnetwork/cni/run.go
generated
vendored
@@ -1,5 +1,4 @@
|
||||
//go:build linux || freebsd
|
||||
// +build linux freebsd
|
||||
|
||||
package cni
|
||||
|
||||
@@ -70,8 +69,9 @@ func (n *cniNetwork) Setup(namespacePath string, options types.SetupOptions) (ma
|
||||
// If we have more than one static ip we need parse the ips via runtime config,
|
||||
// make sure to add the ips capability to the first plugin otherwise it doesn't get the ips
|
||||
if len(netOpts.StaticIPs) > 0 && !network.cniNet.Plugins[0].Network.Capabilities["ips"] {
|
||||
caps := make(map[string]interface{})
|
||||
caps["capabilities"] = map[string]bool{"ips": true}
|
||||
caps := map[string]any{
|
||||
"capabilities": map[string]bool{"ips": true},
|
||||
}
|
||||
network.cniNet.Plugins[0], retErr = libcni.InjectConf(network.cniNet.Plugins[0], caps)
|
||||
if retErr != nil {
|
||||
return retErr
|
||||
@@ -174,7 +174,7 @@ func getRuntimeConfig(netns, conName, conID, networkName string, ports []cniPort
|
||||
// Only K8S_POD_NAME is used by dnsname to get the container name.
|
||||
{"K8S_POD_NAME", conName},
|
||||
},
|
||||
CapabilityArgs: map[string]interface{}{},
|
||||
CapabilityArgs: map[string]any{},
|
||||
}
|
||||
|
||||
// Propagate environment CNI_ARGS
|
||||
|
||||
Reference in New Issue
Block a user