Merge pull request #6137 from rhatdan/VENDOR

Fix handling of overridden paths from database
This commit is contained in:
OpenShift Merge Robot 2020-05-08 17:41:48 +02:00 committed by GitHub
commit 2547fe5312
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 43 additions and 23 deletions

View File

@ -46,7 +46,6 @@ func init() {
// Podman flags. // Podman flags.
flags.BoolVarP(&loginOptions.tlsVerify, "tls-verify", "", false, "Require HTTPS and verify certificates when contacting registries") flags.BoolVarP(&loginOptions.tlsVerify, "tls-verify", "", false, "Require HTTPS and verify certificates when contacting registries")
flags.BoolVarP(&loginOptions.GetLoginSet, "get-login", "", false, "Return the current login user for the registry")
loginOptions.Stdin = os.Stdin loginOptions.Stdin = os.Stdin
loginOptions.Stdout = os.Stdout loginOptions.Stdout = os.Stdout
loginOptions.AcceptUnspecifiedRegistry = true loginOptions.AcceptUnspecifiedRegistry = true

View File

@ -37,7 +37,6 @@ func init() {
// Flags from the auth package. // Flags from the auth package.
flags.AddFlagSet(auth.GetLogoutFlags(&logoutOptions)) flags.AddFlagSet(auth.GetLogoutFlags(&logoutOptions))
logoutOptions.Stdin = os.Stdin
logoutOptions.Stdout = os.Stdout logoutOptions.Stdout = os.Stdout
logoutOptions.AcceptUnspecifiedRegistry = true logoutOptions.AcceptUnspecifiedRegistry = true
} }

2
go.mod
View File

@ -10,7 +10,7 @@ require (
github.com/containernetworking/cni v0.7.2-0.20200304161608-4fae32b84921 github.com/containernetworking/cni v0.7.2-0.20200304161608-4fae32b84921
github.com/containernetworking/plugins v0.8.5 github.com/containernetworking/plugins v0.8.5
github.com/containers/buildah v1.14.9-0.20200501175434-42a48f9373d9 github.com/containers/buildah v1.14.9-0.20200501175434-42a48f9373d9
github.com/containers/common v0.11.0 github.com/containers/common v0.11.1
github.com/containers/conmon v2.0.14+incompatible github.com/containers/conmon v2.0.14+incompatible
github.com/containers/image/v5 v5.4.3 github.com/containers/image/v5 v5.4.3
github.com/containers/psgo v1.5.0 github.com/containers/psgo v1.5.0

4
go.sum
View File

@ -72,8 +72,8 @@ github.com/containers/buildah v1.14.9-0.20200501175434-42a48f9373d9 h1:EGegltin1
github.com/containers/buildah v1.14.9-0.20200501175434-42a48f9373d9/go.mod h1:+2aNsVcd4pVzmVAbOfWN5X+0Lpz2rtICSGXbTSCzdBU= github.com/containers/buildah v1.14.9-0.20200501175434-42a48f9373d9/go.mod h1:+2aNsVcd4pVzmVAbOfWN5X+0Lpz2rtICSGXbTSCzdBU=
github.com/containers/common v0.10.0 h1:Km1foMJJBIxceA1/UCZcIuwf8sCF71sP5DwE6Oh1BEA= github.com/containers/common v0.10.0 h1:Km1foMJJBIxceA1/UCZcIuwf8sCF71sP5DwE6Oh1BEA=
github.com/containers/common v0.10.0/go.mod h1:6A/moCuQITXLqBe5A0WKKTcCfCmEQRbknI05HcPzOL0= github.com/containers/common v0.10.0/go.mod h1:6A/moCuQITXLqBe5A0WKKTcCfCmEQRbknI05HcPzOL0=
github.com/containers/common v0.11.0 h1:uFSBIl9iqoTIv8icBe9lPrYKkmSiGrAWr0a2PyJLrO4= github.com/containers/common v0.11.1 h1:i++kltFD92bKfDeE3B+Bpe5jYVTnAibmIUUUnXYKoPo=
github.com/containers/common v0.11.0/go.mod h1:ag8p8Xp2o1wPAPz/+bA7LVQlDavtg3M15RZLBWt/2KE= github.com/containers/common v0.11.1/go.mod h1:2w3QE6VUmhltGYW4wV00h4okq1Crs7hNI1ZD2I0QRUY=
github.com/containers/conmon v2.0.14+incompatible h1:knU1O1QxXy5YxtjMQVKEyCajROaehizK9FHaICl+P5Y= github.com/containers/conmon v2.0.14+incompatible h1:knU1O1QxXy5YxtjMQVKEyCajROaehizK9FHaICl+P5Y=
github.com/containers/conmon v2.0.14+incompatible/go.mod h1:hgwZ2mtuDrppv78a/cOBNiCm6O0UMWGx1mu7P00nu5I= github.com/containers/conmon v2.0.14+incompatible/go.mod h1:hgwZ2mtuDrppv78a/cOBNiCm6O0UMWGx1mu7P00nu5I=
github.com/containers/image/v5 v5.4.3 h1:zn2HR7uu4hpvT5QQHgjqonOzKDuM1I1UHUEmzZT5sbs= github.com/containers/image/v5 v5.4.3 h1:zn2HR7uu4hpvT5QQHgjqonOzKDuM1I1UHUEmzZT5sbs=

View File

@ -752,7 +752,7 @@ type DBConfig struct {
// mergeDBConfig merges the configuration from the database. // mergeDBConfig merges the configuration from the database.
func (r *Runtime) mergeDBConfig(dbConfig *DBConfig) error { func (r *Runtime) mergeDBConfig(dbConfig *DBConfig) error {
c := r.config.Engine c := &r.config.Engine
if !r.storageSet.RunRootSet && dbConfig.StorageTmp != "" { if !r.storageSet.RunRootSet && dbConfig.StorageTmp != "" {
if r.storageConfig.RunRoot != dbConfig.StorageTmp && if r.storageConfig.RunRoot != dbConfig.StorageTmp &&
r.storageConfig.RunRoot != "" { r.storageConfig.RunRoot != "" {

View File

@ -34,9 +34,32 @@ func CheckAuthFile(authfile string) error {
return nil return nil
} }
// systemContextWithOptions returns a version of sys
// updated with authFile and certDir values (if they are not "").
// NOTE: this is a shallow copy that can be used and updated, but may share
// data with the original parameter.
func systemContextWithOptions(sys *types.SystemContext, authFile, certDir string) *types.SystemContext {
if sys != nil {
copy := *sys
sys = &copy
} else {
sys = &types.SystemContext{}
}
if authFile != "" {
sys.AuthFilePath = authFile
}
if certDir != "" {
sys.DockerCertPath = certDir
}
return sys
}
// Login implements a “log in” command with the provided opts and args // Login implements a “log in” command with the provided opts and args
// reading the password from opts.Stdin or the options in opts. // reading the password from opts.Stdin or the options in opts.
func Login(ctx context.Context, systemContext *types.SystemContext, opts *LoginOptions, args []string) error { func Login(ctx context.Context, systemContext *types.SystemContext, opts *LoginOptions, args []string) error {
systemContext = systemContextWithOptions(systemContext, opts.AuthFile, opts.CertDir)
var ( var (
server string server string
err error err error
@ -172,6 +195,11 @@ func getUserAndPass(opts *LoginOptions, password, userFromAuthFile string) (stri
// Logout implements a “log out” command with the provided opts and args // Logout implements a “log out” command with the provided opts and args
func Logout(systemContext *types.SystemContext, opts *LogoutOptions, args []string) error { func Logout(systemContext *types.SystemContext, opts *LogoutOptions, args []string) error {
if err := CheckAuthFile(opts.AuthFile); err != nil {
return err
}
systemContext = systemContextWithOptions(systemContext, opts.AuthFile, "")
var ( var (
server string server string
err error err error
@ -194,9 +222,6 @@ func Logout(systemContext *types.SystemContext, opts *LogoutOptions, args []stri
} }
server = getRegistryName(args[0]) server = getRegistryName(args[0])
} }
if err := CheckAuthFile(opts.AuthFile); err != nil {
return err
}
if opts.All { if opts.All {
if err := config.RemoveAllAuthentication(systemContext); err != nil { if err := config.RemoveAllAuthentication(systemContext); err != nil {

View File

@ -7,16 +7,19 @@ import (
) )
// LoginOptions represents common flags in login // LoginOptions represents common flags in login
// caller should define bool or optionalBool fields for flags --get-login and --tls-verify // In addition, the caller should probably provide a --tls-verify flag (that affects the provided
// *types.SystemContest)
type LoginOptions struct { type LoginOptions struct {
// CLI flags managed by the FlagSet returned by GetLoginFlags // CLI flags managed by the FlagSet returned by GetLoginFlags
// Callers that use GetLoginFlags should not need to touch these values at all; callers that use
// other CLI frameworks should set them based on user input.
AuthFile string AuthFile string
CertDir string CertDir string
Password string Password string
Username string Username string
StdinPassword bool StdinPassword bool
GetLoginSet bool
// Options caller can set // Options caller can set
GetLoginSet bool // set to true if --get-login is explicitly set
Stdin io.Reader // set to os.Stdin Stdin io.Reader // set to os.Stdin
Stdout io.Writer // set to os.Stdout Stdout io.Writer // set to os.Stdout
AcceptUnspecifiedRegistry bool // set to true if allows login with unspecified registry AcceptUnspecifiedRegistry bool // set to true if allows login with unspecified registry
@ -25,10 +28,11 @@ type LoginOptions struct {
// LogoutOptions represents the results for flags in logout // LogoutOptions represents the results for flags in logout
type LogoutOptions struct { type LogoutOptions struct {
// CLI flags managed by the FlagSet returned by GetLogoutFlags // CLI flags managed by the FlagSet returned by GetLogoutFlags
// Callers that use GetLogoutFlags should not need to touch these values at all; callers that use
// other CLI frameworks should set them based on user input.
AuthFile string AuthFile string
All bool All bool
// Options caller can set // Options caller can set
Stdin io.Reader // set to os.Stdin
Stdout io.Writer // set to os.Stdout Stdout io.Writer // set to os.Stdout
AcceptUnspecifiedRegistry bool // set to true if allows logout with unspecified registry AcceptUnspecifiedRegistry bool // set to true if allows logout with unspecified registry
} }
@ -41,6 +45,7 @@ func GetLoginFlags(flags *LoginOptions) *pflag.FlagSet {
fs.StringVarP(&flags.Password, "password", "p", "", "Password for registry") fs.StringVarP(&flags.Password, "password", "p", "", "Password for registry")
fs.StringVarP(&flags.Username, "username", "u", "", "Username for registry") fs.StringVarP(&flags.Username, "username", "u", "", "Username for registry")
fs.BoolVar(&flags.StdinPassword, "password-stdin", false, "Take the password from stdin") fs.BoolVar(&flags.StdinPassword, "password-stdin", false, "Take the password from stdin")
fs.BoolVar(&flags.GetLoginSet, "get-login", false, "Return the current login user for the registry")
return &fs return &fs
} }

View File

@ -442,16 +442,6 @@ func readConfigFromFile(path string, config *Config) (*Config, error) {
if err != nil { if err != nil {
return nil, fmt.Errorf("unable to decode configuration %v: %v", path, err) return nil, fmt.Errorf("unable to decode configuration %v: %v", path, err)
} }
if config.Engine.VolumePath != "" {
config.Engine.VolumePathSet = true
}
if config.Engine.StaticDir != "" {
config.Engine.StaticDirSet = true
}
if config.Engine.TmpDir != "" {
config.Engine.TmpDirSet = true
}
return config, err return config, err
} }

View File

@ -479,6 +479,8 @@ func (c *Config) PidsLimit() int64 {
cgroup2, _ := cgroupv2.Enabled() cgroup2, _ := cgroupv2.Enabled()
if cgroup2 { if cgroup2 {
return c.Containers.PidsLimit return c.Containers.PidsLimit
} else {
return 0
} }
} }
return sysinfo.GetDefaultPidsLimit() return sysinfo.GetDefaultPidsLimit()

2
vendor/modules.txt vendored
View File

@ -82,7 +82,7 @@ github.com/containers/buildah/pkg/secrets
github.com/containers/buildah/pkg/supplemented github.com/containers/buildah/pkg/supplemented
github.com/containers/buildah/pkg/umask github.com/containers/buildah/pkg/umask
github.com/containers/buildah/util github.com/containers/buildah/util
# github.com/containers/common v0.11.0 # github.com/containers/common v0.11.1
github.com/containers/common/pkg/apparmor github.com/containers/common/pkg/apparmor
github.com/containers/common/pkg/auth github.com/containers/common/pkg/auth
github.com/containers/common/pkg/capabilities github.com/containers/common/pkg/capabilities