diff options
Diffstat (limited to 'pkg')
109 files changed, 174 insertions, 128 deletions
diff --git a/pkg/api/handlers/compat/networks.go b/pkg/api/handlers/compat/networks.go index 36a5311f0..1a04b4289 100644 --- a/pkg/api/handlers/compat/networks.go +++ b/pkg/api/handlers/compat/networks.go @@ -127,6 +127,12 @@ func getNetworkResourceByNameOrID(nameOrID string, runtime *libpod.Runtime, filt containerEndpoints[con.ID()] = containerEndpoint } } + + labels := network.GetNetworkLabels(conf) + if labels == nil { + labels = map[string]string{} + } + report := types.NetworkResource{ Name: conf.Name, ID: network.GetNetworkID(conf.Name), @@ -136,7 +142,7 @@ func getNetworkResourceByNameOrID(nameOrID string, runtime *libpod.Runtime, filt EnableIPv6: false, IPAM: dockerNetwork.IPAM{ Driver: "default", - Options: nil, + Options: map[string]string{}, Config: ipamConfigs, }, Internal: !bridge.IsGW, @@ -145,8 +151,8 @@ func getNetworkResourceByNameOrID(nameOrID string, runtime *libpod.Runtime, filt ConfigFrom: dockerNetwork.ConfigReference{}, ConfigOnly: false, Containers: containerEndpoints, - Options: nil, - Labels: network.GetNetworkLabels(conf), + Options: map[string]string{}, + Labels: labels, Peers: nil, Services: nil, } diff --git a/pkg/api/handlers/compat/resize.go b/pkg/api/handlers/compat/resize.go index b3c8b7ce4..1bf7ad460 100644 --- a/pkg/api/handlers/compat/resize.go +++ b/pkg/api/handlers/compat/resize.go @@ -11,7 +11,6 @@ import ( "github.com/gorilla/mux" "github.com/gorilla/schema" "github.com/pkg/errors" - "k8s.io/client-go/tools/remotecommand" ) func ResizeTTY(w http.ResponseWriter, r *http.Request) { @@ -32,7 +31,7 @@ func ResizeTTY(w http.ResponseWriter, r *http.Request) { return } - sz := remotecommand.TerminalSize{ + sz := define.TerminalSize{ Width: query.Width, Height: query.Height, } diff --git a/pkg/api/server/register_pods.go b/pkg/api/server/register_pods.go index 949bf80e2..c66cc48ff 100644 --- a/pkg/api/server/register_pods.go +++ b/pkg/api/server/register_pods.go @@ -36,7 +36,6 @@ func (s *APIServer) registerPodsHandlers(r *mux.Router) error { // name: create // description: attributes for creating a pod // schema: - // type: object // $ref: "#/definitions/PodSpecGenerator" // responses: // 200: diff --git a/pkg/bindings/containers/types_attach_options.go b/pkg/bindings/containers/types_attach_options.go index 3ab848bbb..cb8f9ea65 100644 --- a/pkg/bindings/containers/types_attach_options.go +++ b/pkg/bindings/containers/types_attach_options.go @@ -3,7 +3,7 @@ package containers import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/containers/types_checkpoint_options.go b/pkg/bindings/containers/types_checkpoint_options.go index b0921460a..a2a9a913e 100644 --- a/pkg/bindings/containers/types_checkpoint_options.go +++ b/pkg/bindings/containers/types_checkpoint_options.go @@ -3,7 +3,7 @@ package containers import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/containers/types_commit_options.go b/pkg/bindings/containers/types_commit_options.go index f00b1a619..dfb7b2ced 100644 --- a/pkg/bindings/containers/types_commit_options.go +++ b/pkg/bindings/containers/types_commit_options.go @@ -3,7 +3,7 @@ package containers import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/containers/types_create_options.go b/pkg/bindings/containers/types_create_options.go index 9fcd16fc1..dd8c82c15 100644 --- a/pkg/bindings/containers/types_create_options.go +++ b/pkg/bindings/containers/types_create_options.go @@ -3,7 +3,7 @@ package containers import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/containers/types_diff_options.go b/pkg/bindings/containers/types_diff_options.go index ee4ed009c..ed356335d 100644 --- a/pkg/bindings/containers/types_diff_options.go +++ b/pkg/bindings/containers/types_diff_options.go @@ -3,7 +3,7 @@ package containers import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/containers/types_execinspect_options.go b/pkg/bindings/containers/types_execinspect_options.go index aa2ce3976..b14ce9edb 100644 --- a/pkg/bindings/containers/types_execinspect_options.go +++ b/pkg/bindings/containers/types_execinspect_options.go @@ -3,7 +3,7 @@ package containers import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/containers/types_execstart_options.go b/pkg/bindings/containers/types_execstart_options.go index e67bb1f02..052270c49 100644 --- a/pkg/bindings/containers/types_execstart_options.go +++ b/pkg/bindings/containers/types_execstart_options.go @@ -3,7 +3,7 @@ package containers import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/containers/types_execstartandattach_options.go b/pkg/bindings/containers/types_execstartandattach_options.go index cac23beb1..feda9cc83 100644 --- a/pkg/bindings/containers/types_execstartandattach_options.go +++ b/pkg/bindings/containers/types_execstartandattach_options.go @@ -5,7 +5,7 @@ import ( "io" "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/containers/types_exists_options.go b/pkg/bindings/containers/types_exists_options.go index efb81679e..a3eefcebf 100644 --- a/pkg/bindings/containers/types_exists_options.go +++ b/pkg/bindings/containers/types_exists_options.go @@ -3,7 +3,7 @@ package containers import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/containers/types_export_options.go b/pkg/bindings/containers/types_export_options.go index a47bf93fa..d15904bc1 100644 --- a/pkg/bindings/containers/types_export_options.go +++ b/pkg/bindings/containers/types_export_options.go @@ -3,7 +3,7 @@ package containers import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/containers/types_healthcheck_options.go b/pkg/bindings/containers/types_healthcheck_options.go index 1bf251f0b..edad13fee 100644 --- a/pkg/bindings/containers/types_healthcheck_options.go +++ b/pkg/bindings/containers/types_healthcheck_options.go @@ -3,7 +3,7 @@ package containers import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/containers/types_init_options.go b/pkg/bindings/containers/types_init_options.go index 6c2e544b9..602608133 100644 --- a/pkg/bindings/containers/types_init_options.go +++ b/pkg/bindings/containers/types_init_options.go @@ -3,7 +3,7 @@ package containers import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/containers/types_inspect_options.go b/pkg/bindings/containers/types_inspect_options.go index 30d1e42f1..d1f64ea9a 100644 --- a/pkg/bindings/containers/types_inspect_options.go +++ b/pkg/bindings/containers/types_inspect_options.go @@ -3,7 +3,7 @@ package containers import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/containers/types_kill_options.go b/pkg/bindings/containers/types_kill_options.go index 3bcabb71c..60cb4ae2c 100644 --- a/pkg/bindings/containers/types_kill_options.go +++ b/pkg/bindings/containers/types_kill_options.go @@ -3,7 +3,7 @@ package containers import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/containers/types_list_options.go b/pkg/bindings/containers/types_list_options.go index 934cbd748..c96b7d880 100644 --- a/pkg/bindings/containers/types_list_options.go +++ b/pkg/bindings/containers/types_list_options.go @@ -3,7 +3,7 @@ package containers import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/containers/types_log_options.go b/pkg/bindings/containers/types_log_options.go index 8acefa2aa..63f323089 100644 --- a/pkg/bindings/containers/types_log_options.go +++ b/pkg/bindings/containers/types_log_options.go @@ -3,7 +3,7 @@ package containers import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/containers/types_mount_options.go b/pkg/bindings/containers/types_mount_options.go index 1151e108d..a1d8aef62 100644 --- a/pkg/bindings/containers/types_mount_options.go +++ b/pkg/bindings/containers/types_mount_options.go @@ -3,7 +3,7 @@ package containers import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/containers/types_mountedcontainerpaths_options.go b/pkg/bindings/containers/types_mountedcontainerpaths_options.go index 4f836f0b9..c4562f43a 100644 --- a/pkg/bindings/containers/types_mountedcontainerpaths_options.go +++ b/pkg/bindings/containers/types_mountedcontainerpaths_options.go @@ -3,7 +3,7 @@ package containers import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/containers/types_pause_options.go b/pkg/bindings/containers/types_pause_options.go index bcbc17723..fa2ad4995 100644 --- a/pkg/bindings/containers/types_pause_options.go +++ b/pkg/bindings/containers/types_pause_options.go @@ -3,7 +3,7 @@ package containers import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/containers/types_prune_options.go b/pkg/bindings/containers/types_prune_options.go index af8a0fc27..adba0a4ef 100644 --- a/pkg/bindings/containers/types_prune_options.go +++ b/pkg/bindings/containers/types_prune_options.go @@ -3,7 +3,7 @@ package containers import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/containers/types_remove_options.go b/pkg/bindings/containers/types_remove_options.go index 90b932bf3..cd4b76ac2 100644 --- a/pkg/bindings/containers/types_remove_options.go +++ b/pkg/bindings/containers/types_remove_options.go @@ -3,7 +3,7 @@ package containers import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/containers/types_rename_options.go b/pkg/bindings/containers/types_rename_options.go index bc307abcc..96d9aaab5 100644 --- a/pkg/bindings/containers/types_rename_options.go +++ b/pkg/bindings/containers/types_rename_options.go @@ -3,7 +3,7 @@ package containers import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/containers/types_resizeexectty_options.go b/pkg/bindings/containers/types_resizeexectty_options.go index 6dc4b60a7..d74459822 100644 --- a/pkg/bindings/containers/types_resizeexectty_options.go +++ b/pkg/bindings/containers/types_resizeexectty_options.go @@ -3,7 +3,7 @@ package containers import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/containers/types_resizetty_options.go b/pkg/bindings/containers/types_resizetty_options.go index c4a6b80fd..68527b330 100644 --- a/pkg/bindings/containers/types_resizetty_options.go +++ b/pkg/bindings/containers/types_resizetty_options.go @@ -3,7 +3,7 @@ package containers import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/containers/types_restart_options.go b/pkg/bindings/containers/types_restart_options.go index 993dbae3e..18a47fcb6 100644 --- a/pkg/bindings/containers/types_restart_options.go +++ b/pkg/bindings/containers/types_restart_options.go @@ -3,7 +3,7 @@ package containers import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/containers/types_restore_options.go b/pkg/bindings/containers/types_restore_options.go index 3afe71845..ea6c810a2 100644 --- a/pkg/bindings/containers/types_restore_options.go +++ b/pkg/bindings/containers/types_restore_options.go @@ -3,7 +3,7 @@ package containers import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/containers/types_shouldrestart_options.go b/pkg/bindings/containers/types_shouldrestart_options.go index 32ede7bac..28986d4f8 100644 --- a/pkg/bindings/containers/types_shouldrestart_options.go +++ b/pkg/bindings/containers/types_shouldrestart_options.go @@ -3,7 +3,7 @@ package containers import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/containers/types_start_options.go b/pkg/bindings/containers/types_start_options.go index e247fc4d5..f8ba29623 100644 --- a/pkg/bindings/containers/types_start_options.go +++ b/pkg/bindings/containers/types_start_options.go @@ -3,7 +3,7 @@ package containers import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/containers/types_stats_options.go b/pkg/bindings/containers/types_stats_options.go index 0524d1815..8f6a03301 100644 --- a/pkg/bindings/containers/types_stats_options.go +++ b/pkg/bindings/containers/types_stats_options.go @@ -3,7 +3,7 @@ package containers import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/containers/types_stop_options.go b/pkg/bindings/containers/types_stop_options.go index c0009b0e7..d952f9c29 100644 --- a/pkg/bindings/containers/types_stop_options.go +++ b/pkg/bindings/containers/types_stop_options.go @@ -3,7 +3,7 @@ package containers import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/containers/types_top_options.go b/pkg/bindings/containers/types_top_options.go index cf774ac3d..a80f2111a 100644 --- a/pkg/bindings/containers/types_top_options.go +++ b/pkg/bindings/containers/types_top_options.go @@ -3,7 +3,7 @@ package containers import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/containers/types_unmount_options.go b/pkg/bindings/containers/types_unmount_options.go index 4aae72061..6f624081b 100644 --- a/pkg/bindings/containers/types_unmount_options.go +++ b/pkg/bindings/containers/types_unmount_options.go @@ -3,7 +3,7 @@ package containers import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/containers/types_unpause_options.go b/pkg/bindings/containers/types_unpause_options.go index 85ad7fb01..d6694d4da 100644 --- a/pkg/bindings/containers/types_unpause_options.go +++ b/pkg/bindings/containers/types_unpause_options.go @@ -3,7 +3,7 @@ package containers import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/containers/types_wait_options.go b/pkg/bindings/containers/types_wait_options.go index fb29f0ea7..ea724b619 100644 --- a/pkg/bindings/containers/types_wait_options.go +++ b/pkg/bindings/containers/types_wait_options.go @@ -4,7 +4,7 @@ import ( "net/url" "github.com/containers/podman/v3/libpod/define" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/generate/types_kube_options.go b/pkg/bindings/generate/types_kube_options.go index 106eed17f..785e55dd4 100644 --- a/pkg/bindings/generate/types_kube_options.go +++ b/pkg/bindings/generate/types_kube_options.go @@ -3,7 +3,7 @@ package generate import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/generate/types_systemd_options.go b/pkg/bindings/generate/types_systemd_options.go index 3e28bd0f1..1cee2e16a 100644 --- a/pkg/bindings/generate/types_systemd_options.go +++ b/pkg/bindings/generate/types_systemd_options.go @@ -3,7 +3,7 @@ package generate import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/generator/generator.go b/pkg/bindings/generator/generator.go index fbca567d0..90f0bfaf5 100644 --- a/pkg/bindings/generator/generator.go +++ b/pkg/bindings/generator/generator.go @@ -81,7 +81,7 @@ func main() { panic(err) } // always add reflect - imports := []string{"\"reflect\"", "\"github.com/containers/podman/v3/pkg/bindings/util\""} + imports := []string{"\"reflect\"", "\"github.com/containers/podman/v3/pkg/bindings/internal/util\""} for _, imp := range f.Imports { imports = append(imports, imp.Path.Value) } diff --git a/pkg/bindings/images/types_diff_options.go b/pkg/bindings/images/types_diff_options.go index 5d7c18cc8..f15a9a696 100644 --- a/pkg/bindings/images/types_diff_options.go +++ b/pkg/bindings/images/types_diff_options.go @@ -3,7 +3,7 @@ package images import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/images/types_exists_options.go b/pkg/bindings/images/types_exists_options.go index 88efb03c8..2326c398b 100644 --- a/pkg/bindings/images/types_exists_options.go +++ b/pkg/bindings/images/types_exists_options.go @@ -3,7 +3,7 @@ package images import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/images/types_export_options.go b/pkg/bindings/images/types_export_options.go index b87c99d12..0c5a3390c 100644 --- a/pkg/bindings/images/types_export_options.go +++ b/pkg/bindings/images/types_export_options.go @@ -3,7 +3,7 @@ package images import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/images/types_get_options.go b/pkg/bindings/images/types_get_options.go index 4d892aa29..33da7b0be 100644 --- a/pkg/bindings/images/types_get_options.go +++ b/pkg/bindings/images/types_get_options.go @@ -3,7 +3,7 @@ package images import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/images/types_history_options.go b/pkg/bindings/images/types_history_options.go index 424fbfd37..191375390 100644 --- a/pkg/bindings/images/types_history_options.go +++ b/pkg/bindings/images/types_history_options.go @@ -3,7 +3,7 @@ package images import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/images/types_import_options.go b/pkg/bindings/images/types_import_options.go index 5eb30adfc..333e841e6 100644 --- a/pkg/bindings/images/types_import_options.go +++ b/pkg/bindings/images/types_import_options.go @@ -3,7 +3,7 @@ package images import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/images/types_list_options.go b/pkg/bindings/images/types_list_options.go index d3d5b2046..e86157f59 100644 --- a/pkg/bindings/images/types_list_options.go +++ b/pkg/bindings/images/types_list_options.go @@ -3,7 +3,7 @@ package images import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/images/types_load_options.go b/pkg/bindings/images/types_load_options.go index 75b5566d6..7b2e504d9 100644 --- a/pkg/bindings/images/types_load_options.go +++ b/pkg/bindings/images/types_load_options.go @@ -3,7 +3,7 @@ package images import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/images/types_prune_options.go b/pkg/bindings/images/types_prune_options.go index 06378b56d..6bd0c0f6f 100644 --- a/pkg/bindings/images/types_prune_options.go +++ b/pkg/bindings/images/types_prune_options.go @@ -3,7 +3,7 @@ package images import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/images/types_pull_options.go b/pkg/bindings/images/types_pull_options.go index 3ea23fc02..0611c4447 100644 --- a/pkg/bindings/images/types_pull_options.go +++ b/pkg/bindings/images/types_pull_options.go @@ -3,7 +3,7 @@ package images import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/images/types_push_options.go b/pkg/bindings/images/types_push_options.go index 3cb3ec937..2593c2fe0 100644 --- a/pkg/bindings/images/types_push_options.go +++ b/pkg/bindings/images/types_push_options.go @@ -3,7 +3,7 @@ package images import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/images/types_remove_options.go b/pkg/bindings/images/types_remove_options.go index 81a717bf8..d591aae88 100644 --- a/pkg/bindings/images/types_remove_options.go +++ b/pkg/bindings/images/types_remove_options.go @@ -3,7 +3,7 @@ package images import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/images/types_search_options.go b/pkg/bindings/images/types_search_options.go index a0e95a0b1..a437a0934 100644 --- a/pkg/bindings/images/types_search_options.go +++ b/pkg/bindings/images/types_search_options.go @@ -3,7 +3,7 @@ package images import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/images/types_tag_options.go b/pkg/bindings/images/types_tag_options.go index 1a0e05640..25cb8f68b 100644 --- a/pkg/bindings/images/types_tag_options.go +++ b/pkg/bindings/images/types_tag_options.go @@ -3,7 +3,7 @@ package images import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/images/types_tree_options.go b/pkg/bindings/images/types_tree_options.go index b03d2282a..43178113d 100644 --- a/pkg/bindings/images/types_tree_options.go +++ b/pkg/bindings/images/types_tree_options.go @@ -3,7 +3,7 @@ package images import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/images/types_untag_options.go b/pkg/bindings/images/types_untag_options.go index a8004b21e..520cf7a49 100644 --- a/pkg/bindings/images/types_untag_options.go +++ b/pkg/bindings/images/types_untag_options.go @@ -3,7 +3,7 @@ package images import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/util/util.go b/pkg/bindings/internal/util/util.go index c1961308e..c1961308e 100644 --- a/pkg/bindings/util/util.go +++ b/pkg/bindings/internal/util/util.go diff --git a/pkg/bindings/manifests/types_add_options.go b/pkg/bindings/manifests/types_add_options.go index 167c42639..09105c590 100644 --- a/pkg/bindings/manifests/types_add_options.go +++ b/pkg/bindings/manifests/types_add_options.go @@ -3,7 +3,7 @@ package manifests import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/manifests/types_create_options.go b/pkg/bindings/manifests/types_create_options.go index e3b549968..5f022c672 100644 --- a/pkg/bindings/manifests/types_create_options.go +++ b/pkg/bindings/manifests/types_create_options.go @@ -3,7 +3,7 @@ package manifests import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/manifests/types_exists_options.go b/pkg/bindings/manifests/types_exists_options.go index 301652d99..6f33c2cd5 100644 --- a/pkg/bindings/manifests/types_exists_options.go +++ b/pkg/bindings/manifests/types_exists_options.go @@ -3,7 +3,7 @@ package manifests import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/manifests/types_inspect_options.go b/pkg/bindings/manifests/types_inspect_options.go index 104fd8469..7dfa11cb4 100644 --- a/pkg/bindings/manifests/types_inspect_options.go +++ b/pkg/bindings/manifests/types_inspect_options.go @@ -3,7 +3,7 @@ package manifests import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/manifests/types_remove_options.go b/pkg/bindings/manifests/types_remove_options.go index 57a5f82ce..7a507cf1a 100644 --- a/pkg/bindings/manifests/types_remove_options.go +++ b/pkg/bindings/manifests/types_remove_options.go @@ -3,7 +3,7 @@ package manifests import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/network/types_connect_options.go b/pkg/bindings/network/types_connect_options.go index f51c31be0..c0e7a6f50 100644 --- a/pkg/bindings/network/types_connect_options.go +++ b/pkg/bindings/network/types_connect_options.go @@ -3,7 +3,7 @@ package network import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/network/types_create_options.go b/pkg/bindings/network/types_create_options.go index 66e155b7a..5746a5b1f 100644 --- a/pkg/bindings/network/types_create_options.go +++ b/pkg/bindings/network/types_create_options.go @@ -4,7 +4,7 @@ import ( "net" "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/network/types_disconnect_options.go b/pkg/bindings/network/types_disconnect_options.go index 37e9f4c72..a73675d4f 100644 --- a/pkg/bindings/network/types_disconnect_options.go +++ b/pkg/bindings/network/types_disconnect_options.go @@ -3,7 +3,7 @@ package network import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/network/types_exists_options.go b/pkg/bindings/network/types_exists_options.go index 4861343b6..4f33cdfbb 100644 --- a/pkg/bindings/network/types_exists_options.go +++ b/pkg/bindings/network/types_exists_options.go @@ -3,7 +3,7 @@ package network import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/network/types_inspect_options.go b/pkg/bindings/network/types_inspect_options.go index 6022ae111..9f7497ed5 100644 --- a/pkg/bindings/network/types_inspect_options.go +++ b/pkg/bindings/network/types_inspect_options.go @@ -3,7 +3,7 @@ package network import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/network/types_list_options.go b/pkg/bindings/network/types_list_options.go index c922dcf8e..fcbe23bd6 100644 --- a/pkg/bindings/network/types_list_options.go +++ b/pkg/bindings/network/types_list_options.go @@ -3,7 +3,7 @@ package network import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/network/types_prune_options.go b/pkg/bindings/network/types_prune_options.go index ae26dbece..84e1a8b32 100644 --- a/pkg/bindings/network/types_prune_options.go +++ b/pkg/bindings/network/types_prune_options.go @@ -3,7 +3,7 @@ package network import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/network/types_remove_options.go b/pkg/bindings/network/types_remove_options.go index 7e3265924..f715c94c9 100644 --- a/pkg/bindings/network/types_remove_options.go +++ b/pkg/bindings/network/types_remove_options.go @@ -3,7 +3,7 @@ package network import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/play/types_kube_options.go b/pkg/bindings/play/types_kube_options.go index d290ceb34..78396a090 100644 --- a/pkg/bindings/play/types_kube_options.go +++ b/pkg/bindings/play/types_kube_options.go @@ -3,7 +3,7 @@ package play import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/pods/types_create_options.go b/pkg/bindings/pods/types_create_options.go index a29c24794..891ef2e84 100644 --- a/pkg/bindings/pods/types_create_options.go +++ b/pkg/bindings/pods/types_create_options.go @@ -3,7 +3,7 @@ package pods import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/pods/types_exists_options.go b/pkg/bindings/pods/types_exists_options.go index e235fad37..02423e7ed 100644 --- a/pkg/bindings/pods/types_exists_options.go +++ b/pkg/bindings/pods/types_exists_options.go @@ -3,7 +3,7 @@ package pods import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/pods/types_inspect_options.go b/pkg/bindings/pods/types_inspect_options.go index a78337015..20ec3a726 100644 --- a/pkg/bindings/pods/types_inspect_options.go +++ b/pkg/bindings/pods/types_inspect_options.go @@ -3,7 +3,7 @@ package pods import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/pods/types_kill_options.go b/pkg/bindings/pods/types_kill_options.go index 7a9714bfd..fabd45c67 100644 --- a/pkg/bindings/pods/types_kill_options.go +++ b/pkg/bindings/pods/types_kill_options.go @@ -3,7 +3,7 @@ package pods import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/pods/types_list_options.go b/pkg/bindings/pods/types_list_options.go index cb9bbc5a6..7221c7ff8 100644 --- a/pkg/bindings/pods/types_list_options.go +++ b/pkg/bindings/pods/types_list_options.go @@ -3,7 +3,7 @@ package pods import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/pods/types_pause_options.go b/pkg/bindings/pods/types_pause_options.go index 91a12b76b..0bbc9c293 100644 --- a/pkg/bindings/pods/types_pause_options.go +++ b/pkg/bindings/pods/types_pause_options.go @@ -3,7 +3,7 @@ package pods import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/pods/types_prune_options.go b/pkg/bindings/pods/types_prune_options.go index 6740a22ba..0e788f471 100644 --- a/pkg/bindings/pods/types_prune_options.go +++ b/pkg/bindings/pods/types_prune_options.go @@ -3,7 +3,7 @@ package pods import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/pods/types_remove_options.go b/pkg/bindings/pods/types_remove_options.go index bf1096955..3d3c7ad2a 100644 --- a/pkg/bindings/pods/types_remove_options.go +++ b/pkg/bindings/pods/types_remove_options.go @@ -3,7 +3,7 @@ package pods import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/pods/types_restart_options.go b/pkg/bindings/pods/types_restart_options.go index ace0a0cbd..9278b7b46 100644 --- a/pkg/bindings/pods/types_restart_options.go +++ b/pkg/bindings/pods/types_restart_options.go @@ -3,7 +3,7 @@ package pods import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/pods/types_start_options.go b/pkg/bindings/pods/types_start_options.go index 37bc93ffc..d0cb50969 100644 --- a/pkg/bindings/pods/types_start_options.go +++ b/pkg/bindings/pods/types_start_options.go @@ -3,7 +3,7 @@ package pods import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/pods/types_stats_options.go b/pkg/bindings/pods/types_stats_options.go index 257dab50c..2fb3529ad 100644 --- a/pkg/bindings/pods/types_stats_options.go +++ b/pkg/bindings/pods/types_stats_options.go @@ -3,7 +3,7 @@ package pods import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/pods/types_stop_options.go b/pkg/bindings/pods/types_stop_options.go index f43317275..443c9120f 100644 --- a/pkg/bindings/pods/types_stop_options.go +++ b/pkg/bindings/pods/types_stop_options.go @@ -3,7 +3,7 @@ package pods import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/pods/types_top_options.go b/pkg/bindings/pods/types_top_options.go index 6526d9879..ab6501704 100644 --- a/pkg/bindings/pods/types_top_options.go +++ b/pkg/bindings/pods/types_top_options.go @@ -3,7 +3,7 @@ package pods import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/pods/types_unpause_options.go b/pkg/bindings/pods/types_unpause_options.go index 67e7d45d6..f9ea972e6 100644 --- a/pkg/bindings/pods/types_unpause_options.go +++ b/pkg/bindings/pods/types_unpause_options.go @@ -3,7 +3,7 @@ package pods import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/secrets/types_create_options.go b/pkg/bindings/secrets/types_create_options.go index af4516c35..ea5bd3039 100644 --- a/pkg/bindings/secrets/types_create_options.go +++ b/pkg/bindings/secrets/types_create_options.go @@ -3,7 +3,7 @@ package secrets import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/secrets/types_inspect_options.go b/pkg/bindings/secrets/types_inspect_options.go index 75831841d..48c2737d0 100644 --- a/pkg/bindings/secrets/types_inspect_options.go +++ b/pkg/bindings/secrets/types_inspect_options.go @@ -3,7 +3,7 @@ package secrets import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/secrets/types_list_options.go b/pkg/bindings/secrets/types_list_options.go index 14dcd761c..568e021a8 100644 --- a/pkg/bindings/secrets/types_list_options.go +++ b/pkg/bindings/secrets/types_list_options.go @@ -3,7 +3,7 @@ package secrets import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/secrets/types_remove_options.go b/pkg/bindings/secrets/types_remove_options.go index 3da8e8485..dd5ac530a 100644 --- a/pkg/bindings/secrets/types_remove_options.go +++ b/pkg/bindings/secrets/types_remove_options.go @@ -3,7 +3,7 @@ package secrets import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/system/types_disk_options.go b/pkg/bindings/system/types_disk_options.go index 3a7474502..d55139b68 100644 --- a/pkg/bindings/system/types_disk_options.go +++ b/pkg/bindings/system/types_disk_options.go @@ -3,7 +3,7 @@ package system import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/system/types_events_options.go b/pkg/bindings/system/types_events_options.go index b430c99fd..8b4cff42c 100644 --- a/pkg/bindings/system/types_events_options.go +++ b/pkg/bindings/system/types_events_options.go @@ -3,7 +3,7 @@ package system import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/system/types_info_options.go b/pkg/bindings/system/types_info_options.go index 5fa8fd37d..2bbb95a2e 100644 --- a/pkg/bindings/system/types_info_options.go +++ b/pkg/bindings/system/types_info_options.go @@ -3,7 +3,7 @@ package system import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/system/types_prune_options.go b/pkg/bindings/system/types_prune_options.go index 47093a910..f4daa830a 100644 --- a/pkg/bindings/system/types_prune_options.go +++ b/pkg/bindings/system/types_prune_options.go @@ -3,7 +3,7 @@ package system import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/system/types_version_options.go b/pkg/bindings/system/types_version_options.go index 3bfb85c3b..5e01da583 100644 --- a/pkg/bindings/system/types_version_options.go +++ b/pkg/bindings/system/types_version_options.go @@ -3,7 +3,7 @@ package system import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/volumes/types_create_options.go b/pkg/bindings/volumes/types_create_options.go index 5ff1615ec..0e8274d25 100644 --- a/pkg/bindings/volumes/types_create_options.go +++ b/pkg/bindings/volumes/types_create_options.go @@ -3,7 +3,7 @@ package volumes import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/volumes/types_exists_options.go b/pkg/bindings/volumes/types_exists_options.go index 396975cb8..b58b93f38 100644 --- a/pkg/bindings/volumes/types_exists_options.go +++ b/pkg/bindings/volumes/types_exists_options.go @@ -3,7 +3,7 @@ package volumes import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/volumes/types_inspect_options.go b/pkg/bindings/volumes/types_inspect_options.go index 9bc3969b0..81bed1363 100644 --- a/pkg/bindings/volumes/types_inspect_options.go +++ b/pkg/bindings/volumes/types_inspect_options.go @@ -3,7 +3,7 @@ package volumes import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/volumes/types_list_options.go b/pkg/bindings/volumes/types_list_options.go index ddaf8dd91..9b2c6a3ad 100644 --- a/pkg/bindings/volumes/types_list_options.go +++ b/pkg/bindings/volumes/types_list_options.go @@ -3,7 +3,7 @@ package volumes import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/volumes/types_prune_options.go b/pkg/bindings/volumes/types_prune_options.go index 474714fa5..5d52752f2 100644 --- a/pkg/bindings/volumes/types_prune_options.go +++ b/pkg/bindings/volumes/types_prune_options.go @@ -3,7 +3,7 @@ package volumes import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/bindings/volumes/types_remove_options.go b/pkg/bindings/volumes/types_remove_options.go index 09651e424..5e3fde58a 100644 --- a/pkg/bindings/volumes/types_remove_options.go +++ b/pkg/bindings/volumes/types_remove_options.go @@ -3,7 +3,7 @@ package volumes import ( "net/url" - "github.com/containers/podman/v3/pkg/bindings/util" + "github.com/containers/podman/v3/pkg/bindings/internal/util" ) /* diff --git a/pkg/cgroups/cgroups.go b/pkg/cgroups/cgroups.go index f563c51a8..608e1647a 100644 --- a/pkg/cgroups/cgroups.go +++ b/pkg/cgroups/cgroups.go @@ -331,18 +331,24 @@ func Load(path string) (*CgroupControl, error) { control.additionalControllers = controllers } if !cgroup2 { + oneExists := false + // check that the cgroup exists at least under one controller for name := range handlers { p := control.getCgroupv1Path(name) - if _, err := os.Stat(p); err != nil { - if os.IsNotExist(err) { - if rootless.IsRootless() { - return nil, ErrCgroupV1Rootless - } - // compatible with the error code - // used by containerd/cgroups - return nil, ErrCgroupDeleted - } + if _, err := os.Stat(p); err == nil { + oneExists = true + break + } + } + + // if there is no controller at all, raise an error + if !oneExists { + if rootless.IsRootless() { + return nil, ErrCgroupV1Rootless } + // compatible with the error code + // used by containerd/cgroups + return nil, ErrCgroupDeleted } } return control, nil diff --git a/pkg/domain/infra/abi/containers.go b/pkg/domain/infra/abi/containers.go index 938a5a92b..4790bd58c 100644 --- a/pkg/domain/infra/abi/containers.go +++ b/pkg/domain/infra/abi/containers.go @@ -319,12 +319,18 @@ func (ic *ContainerEngine) ContainerRm(ctx context.Context, namesOrIds []string, errMap, err := parallelctr.ContainerOp(ctx, ctrs, func(c *libpod.Container) error { err := ic.Libpod.RemoveContainer(ctx, c, options.Force, options.Volumes) - if err != nil { - if options.Ignore && errors.Cause(err) == define.ErrNoSuchCtr { + if err == nil { + return nil + } + logrus.Debugf("Failed to remove container %s: %s", c.ID(), err.Error()) + switch errors.Cause(err) { + case define.ErrNoSuchCtr: + if options.Ignore { logrus.Debugf("Ignoring error (--allow-missing): %v", err) return nil } - logrus.Debugf("Failed to remove container %s: %s", c.ID(), err.Error()) + case define.ErrCtrRemoved: + return nil } return err }) diff --git a/pkg/domain/infra/abi/terminal/terminal.go b/pkg/domain/infra/abi/terminal/terminal.go index 26a692a7f..067c0c08e 100644 --- a/pkg/domain/infra/abi/terminal/terminal.go +++ b/pkg/domain/infra/abi/terminal/terminal.go @@ -5,11 +5,11 @@ import ( "os" "os/signal" + "github.com/containers/podman/v3/libpod/define" lsignal "github.com/containers/podman/v3/pkg/signal" "github.com/moby/term" "github.com/pkg/errors" "github.com/sirupsen/logrus" - "k8s.io/client-go/tools/remotecommand" ) // RawTtyFormatter ... @@ -18,20 +18,20 @@ type RawTtyFormatter struct { // getResize returns a TerminalSize command matching stdin's current // size on success, and nil on errors. -func getResize() *remotecommand.TerminalSize { +func getResize() *define.TerminalSize { winsize, err := term.GetWinsize(os.Stdin.Fd()) if err != nil { logrus.Warnf("Could not get terminal size %v", err) return nil } - return &remotecommand.TerminalSize{ + return &define.TerminalSize{ Width: winsize.Width, Height: winsize.Height, } } // Helper for prepareAttach - set up a goroutine to generate terminal resize events -func resizeTty(ctx context.Context, resize chan remotecommand.TerminalSize) { +func resizeTty(ctx context.Context, resize chan define.TerminalSize) { sigchan := make(chan os.Signal, 1) signal.Notify(sigchan, lsignal.SIGWINCH) go func() { @@ -78,7 +78,7 @@ func (f *RawTtyFormatter) Format(entry *logrus.Entry) ([]byte, error) { return bytes, err } -func handleTerminalAttach(ctx context.Context, resize chan remotecommand.TerminalSize) (context.CancelFunc, *term.State, error) { +func handleTerminalAttach(ctx context.Context, resize chan define.TerminalSize) (context.CancelFunc, *term.State, error) { logrus.Debugf("Handling terminal attach") subCtx, cancel := context.WithCancel(ctx) diff --git a/pkg/domain/infra/abi/terminal/terminal_linux.go b/pkg/domain/infra/abi/terminal/terminal_linux.go index e5036e769..7a0c2907c 100644 --- a/pkg/domain/infra/abi/terminal/terminal_linux.go +++ b/pkg/domain/infra/abi/terminal/terminal_linux.go @@ -11,12 +11,11 @@ import ( "github.com/pkg/errors" "github.com/sirupsen/logrus" "golang.org/x/crypto/ssh/terminal" - "k8s.io/client-go/tools/remotecommand" ) // ExecAttachCtr execs and attaches to a container func ExecAttachCtr(ctx context.Context, ctr *libpod.Container, execConfig *libpod.ExecConfig, streams *define.AttachStreams) (int, error) { - resize := make(chan remotecommand.TerminalSize) + resize := make(chan define.TerminalSize) haveTerminal := terminal.IsTerminal(int(os.Stdin.Fd())) // Check if we are attached to a terminal. If we are, generate resize @@ -41,7 +40,7 @@ func ExecAttachCtr(ctx context.Context, ctr *libpod.Container, execConfig *libpo // if you change the signature of this function from os.File to io.Writer, it will trigger a downstream // error. we may need to just lint disable this one. func StartAttachCtr(ctx context.Context, ctr *libpod.Container, stdout, stderr, stdin *os.File, detachKeys string, sigProxy bool, startContainer bool, recursive bool) error { //nolint-interfacer - resize := make(chan remotecommand.TerminalSize) + resize := make(chan define.TerminalSize) haveTerminal := terminal.IsTerminal(int(os.Stdin.Fd())) diff --git a/pkg/kubeutils/resize.go b/pkg/kubeutils/resize.go index afc697d98..957e10f45 100644 --- a/pkg/kubeutils/resize.go +++ b/pkg/kubeutils/resize.go @@ -17,14 +17,14 @@ limitations under the License. package kubeutils import ( + "github.com/containers/podman/v3/libpod/define" "k8s.io/apimachinery/pkg/util/runtime" - "k8s.io/client-go/tools/remotecommand" ) // HandleResizing spawns a goroutine that processes the resize channel, calling resizeFunc for each // remotecommand.TerminalSize received from the channel. The resize channel must be closed elsewhere to stop the // goroutine. -func HandleResizing(resize <-chan remotecommand.TerminalSize, resizeFunc func(size remotecommand.TerminalSize)) { +func HandleResizing(resize <-chan define.TerminalSize, resizeFunc func(size define.TerminalSize)) { if resize == nil { return } diff --git a/pkg/specgen/generate/container_create.go b/pkg/specgen/generate/container_create.go index 3b7112959..03697b353 100644 --- a/pkg/specgen/generate/container_create.go +++ b/pkg/specgen/generate/container_create.go @@ -247,8 +247,9 @@ func createContainerOptions(ctx context.Context, rt *libpod.Runtime, s *specgen. var vols []*libpod.ContainerOverlayVolume for _, v := range overlays { vols = append(vols, &libpod.ContainerOverlayVolume{ - Dest: v.Destination, - Source: v.Source, + Dest: v.Destination, + Source: v.Source, + Options: v.Options, }) } options = append(options, libpod.WithOverlayVolumes(vols)) diff --git a/pkg/specgen/volumes.go b/pkg/specgen/volumes.go index 83634b4ef..d85d2bdd1 100644 --- a/pkg/specgen/volumes.go +++ b/pkg/specgen/volumes.go @@ -31,6 +31,8 @@ type OverlayVolume struct { Destination string `json:"destination"` // Source specifies the source path of the mount. Source string `json:"source,omitempty"` + // Options holds overlay volume options. + Options []string `json:"options,omitempty"` } // ImageVolume is a volume based on a container image. The container image is @@ -100,10 +102,17 @@ func GenVolumeMounts(volumeFlag []string) (map[string]spec.Mount, map[string]*Na if strings.HasPrefix(src, "/") || strings.HasPrefix(src, ".") { // This is not a named volume overlayFlag := false + chownFlag := false for _, o := range options { if o == "O" { overlayFlag = true - if len(options) > 1 { + + joinedOpts := strings.Join(options, "") + if strings.Contains(joinedOpts, "U") { + chownFlag = true + } + + if len(options) > 2 || (len(options) == 2 && !chownFlag) { return nil, nil, nil, errors.New("can't use 'O' with other options") } } @@ -113,6 +122,8 @@ func GenVolumeMounts(volumeFlag []string) (map[string]spec.Mount, map[string]*Na newOverlayVol := new(OverlayVolume) newOverlayVol.Destination = cleanDest newOverlayVol.Source = src + newOverlayVol.Options = options + if _, ok := overlayVolumes[newOverlayVol.Destination]; ok { return nil, nil, nil, errors.Wrapf(errDuplicateDest, newOverlayVol.Destination) } diff --git a/pkg/util/mountOpts.go b/pkg/util/mountOpts.go index b3a38f286..f13dc94ec 100644 --- a/pkg/util/mountOpts.go +++ b/pkg/util/mountOpts.go @@ -25,7 +25,7 @@ type defaultMountOptions struct { // The sourcePath variable, if not empty, contains a bind mount source. func ProcessOptions(options []string, isTmpfs bool, sourcePath string) ([]string, error) { var ( - foundWrite, foundSize, foundProp, foundMode, foundExec, foundSuid, foundDev, foundCopyUp, foundBind, foundZ bool + foundWrite, foundSize, foundProp, foundMode, foundExec, foundSuid, foundDev, foundCopyUp, foundBind, foundZ, foundU bool ) newOptions := make([]string, 0, len(options)) @@ -116,6 +116,11 @@ func ProcessOptions(options []string, isTmpfs bool, sourcePath string) ([]string return nil, errors.Wrapf(ErrDupeMntOption, "only one of 'z' and 'Z' can be used") } foundZ = true + case "U": + if foundU { + return nil, errors.Wrapf(ErrDupeMntOption, "the 'U' option can only be set once") + } + foundU = true default: return nil, errors.Wrapf(ErrBadMntOption, "unknown mount option %q", opt) } diff --git a/pkg/util/utils.go b/pkg/util/utils.go index c6ecd91f6..a4c8f3a64 100644 --- a/pkg/util/utils.go +++ b/pkg/util/utils.go @@ -23,6 +23,7 @@ import ( "github.com/containers/storage" "github.com/containers/storage/pkg/idtools" v1 "github.com/opencontainers/image-spec/specs-go/v1" + "github.com/opencontainers/runtime-spec/specs-go" "github.com/pkg/errors" "github.com/sirupsen/logrus" "golang.org/x/crypto/ssh/terminal" @@ -692,3 +693,16 @@ func CoresToPeriodAndQuota(cores float64) (uint64, int64) { func PeriodAndQuotaToCores(period uint64, quota int64) float64 { return float64(quota) / float64(period) } + +// IDtoolsToRuntimeSpec converts idtools ID mapping to the one of the runtime spec. +func IDtoolsToRuntimeSpec(idMaps []idtools.IDMap) (convertedIDMap []specs.LinuxIDMapping) { + for _, idmap := range idMaps { + tempIDMap := specs.LinuxIDMapping{ + ContainerID: uint32(idmap.ContainerID), + HostID: uint32(idmap.HostID), + Size: uint32(idmap.Size), + } + convertedIDMap = append(convertedIDMap, tempIDMap) + } + return convertedIDMap +} |