mirror of
https://github.com/containers/podman.git
synced 2025-11-14 10:09:20 +08:00
Vendor in new opencontainers/selinux
Also update vendor of containers/common,buildah,storage,image Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2069586 Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
This commit is contained in:
45
vendor/github.com/containers/common/libnetwork/cni/config.go
generated
vendored
45
vendor/github.com/containers/common/libnetwork/cni/config.go
generated
vendored
@@ -53,6 +53,11 @@ func (n *cniNetwork) networkCreate(newNetwork *types.Network, defaultNet bool) (
|
||||
return nil, err
|
||||
}
|
||||
|
||||
err = validateIPAMDriver(newNetwork)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// Only get the used networks for validation if we do not create the default network.
|
||||
// The default network should not be validated against used subnets, we have to ensure
|
||||
// that this network can always be created even when a subnet is already used on the host.
|
||||
@@ -91,6 +96,9 @@ func (n *cniNetwork) networkCreate(newNetwork *types.Network, defaultNet bool) (
|
||||
// generate the network ID
|
||||
newNetwork.ID = getNetworkIDFromName(newNetwork.Name)
|
||||
|
||||
// when we do not have ipam we must disable dns
|
||||
internalutil.IpamNoneDisableDns(newNetwork)
|
||||
|
||||
// FIXME: Should this be a hard error?
|
||||
if newNetwork.DNSEnabled && newNetwork.Internal && hasDNSNamePlugin(n.cniPluginDirs) {
|
||||
logrus.Warnf("dnsname and internal networks are incompatible. dnsname plugin not configured for network %s", newNetwork.Name)
|
||||
@@ -197,13 +205,38 @@ func createIPMACVLAN(network *types.Network) error {
|
||||
return errors.Errorf("parent interface %s does not exist", network.NetworkInterface)
|
||||
}
|
||||
}
|
||||
if len(network.Subnets) == 0 {
|
||||
network.IPAMOptions[types.Driver] = types.DHCPIPAMDriver
|
||||
if network.Internal {
|
||||
return errors.New("internal is not supported with macvlan and dhcp ipam driver")
|
||||
|
||||
switch network.IPAMOptions[types.Driver] {
|
||||
// set default
|
||||
case "":
|
||||
if len(network.Subnets) == 0 {
|
||||
// if no subnets and no driver choose dhcp
|
||||
network.IPAMOptions[types.Driver] = types.DHCPIPAMDriver
|
||||
} else {
|
||||
network.IPAMOptions[types.Driver] = types.HostLocalIPAMDriver
|
||||
}
|
||||
} else {
|
||||
network.IPAMOptions[types.Driver] = types.HostLocalIPAMDriver
|
||||
case types.HostLocalIPAMDriver:
|
||||
if len(network.Subnets) == 0 {
|
||||
return errors.New("host-local ipam driver set but no subnets are given")
|
||||
}
|
||||
}
|
||||
|
||||
if network.IPAMOptions[types.Driver] == types.DHCPIPAMDriver && network.Internal {
|
||||
return errors.New("internal is not supported with macvlan and dhcp ipam driver")
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func validateIPAMDriver(n *types.Network) error {
|
||||
ipamDriver := n.IPAMOptions[types.Driver]
|
||||
switch ipamDriver {
|
||||
case "", types.HostLocalIPAMDriver:
|
||||
case types.DHCPIPAMDriver, types.NoneIPAMDriver:
|
||||
if len(n.Subnets) > 0 {
|
||||
return errors.Errorf("%s ipam driver is set but subnets are given", ipamDriver)
|
||||
}
|
||||
default:
|
||||
return errors.Errorf("unsupported ipam driver %q", ipamDriver)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user