mirror of
https://github.com/containers/podman.git
synced 2025-07-31 04:12:40 +08:00
podman volume create --opt=o=timeout...
add an option to configure the driver timeout when creating a volume. The default is 5 seconds but this value is too small for some custom drivers. Signed-off-by: cdoern <cdoern@redhat.com>
This commit is contained in:
@ -129,7 +129,7 @@ func validatePlugin(newPlugin *VolumePlugin) error {
|
||||
|
||||
// GetVolumePlugin gets a single volume plugin, with the given name, at the
|
||||
// given path.
|
||||
func GetVolumePlugin(name string, path string) (*VolumePlugin, error) {
|
||||
func GetVolumePlugin(name string, path string, timeout int) (*VolumePlugin, error) {
|
||||
pluginsLock.Lock()
|
||||
defer pluginsLock.Unlock()
|
||||
|
||||
@ -153,6 +153,13 @@ func GetVolumePlugin(name string, path string) (*VolumePlugin, error) {
|
||||
// And since we can reuse it, might as well cache it.
|
||||
client := new(http.Client)
|
||||
client.Timeout = defaultTimeout
|
||||
// if the user specified a non-zero timeout, use their value. Else, keep the default.
|
||||
if timeout != 0 {
|
||||
if time.Duration(timeout)*time.Second < defaultTimeout {
|
||||
logrus.Warnf("the default timeout for volume creation is %d seconds, setting a time less than that may break this feature.", defaultTimeout)
|
||||
}
|
||||
client.Timeout = time.Duration(timeout) * time.Second
|
||||
}
|
||||
// This bit borrowed from pkg/bindings/connection.go
|
||||
client.Transport = &http.Transport{
|
||||
DialContext: func(ctx context.Context, _, _ string) (net.Conn, error) {
|
||||
|
Reference in New Issue
Block a user