diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2021-06-05 16:45:20 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-05 16:45:20 +0200 |
commit | 1e006a58ccf62d9def0778af550c35f5acf504ae (patch) | |
tree | 01453444a70ae1431d021361b3d0d0ae06ff575f /pkg/api | |
parent | cdf26a3d5677e0372e8892f85a8fd6065d512bcf (diff) | |
parent | 1f73374acd3c33d1884e9383205c9f891a3552db (diff) | |
download | podman-1e006a58ccf62d9def0778af550c35f5acf504ae.tar.gz podman-1e006a58ccf62d9def0778af550c35f5acf504ae.tar.bz2 podman-1e006a58ccf62d9def0778af550c35f5acf504ae.zip |
Merge pull request #10549 from Luap99/fix-9859
remote: always send resize before the container starts
Diffstat (limited to 'pkg/api')
-rw-r--r-- | pkg/api/handlers/compat/resize.go | 15 | ||||
-rw-r--r-- | pkg/api/server/register_containers.go | 2 |
2 files changed, 6 insertions, 11 deletions
diff --git a/pkg/api/handlers/compat/resize.go b/pkg/api/handlers/compat/resize.go index 23ed33a22..f65e313fc 100644 --- a/pkg/api/handlers/compat/resize.go +++ b/pkg/api/handlers/compat/resize.go @@ -46,20 +46,13 @@ func ResizeTTY(w http.ResponseWriter, r *http.Request) { utils.ContainerNotFound(w, name, err) return } - if state, err := ctnr.State(); err != nil { - utils.InternalServerError(w, errors.Wrapf(err, "cannot obtain container state")) - return - } else if state != define.ContainerStateRunning && !query.IgnoreNotRunning { - utils.Error(w, "Container not running", http.StatusConflict, - fmt.Errorf("container %q in wrong state %q", name, state.String())) - return - } - // If container is not running, ignore since this can be a race condition, and is expected if err := ctnr.AttachResize(sz); err != nil { - if errors.Cause(err) != define.ErrCtrStateInvalid || !query.IgnoreNotRunning { + if errors.Cause(err) != define.ErrCtrStateInvalid { utils.InternalServerError(w, errors.Wrapf(err, "cannot resize container")) - return + } else { + utils.Error(w, "Container not running", http.StatusConflict, err) } + return } // This is not a 204, even though we write nothing, for compatibility // reasons. diff --git a/pkg/api/server/register_containers.go b/pkg/api/server/register_containers.go index aa999905e..88ebb4df5 100644 --- a/pkg/api/server/register_containers.go +++ b/pkg/api/server/register_containers.go @@ -1364,6 +1364,8 @@ func (s *APIServer) registerContainersHandlers(r *mux.Router) error { // $ref: "#/responses/ok" // 404: // $ref: "#/responses/NoSuchContainer" + // 409: + // $ref: "#/responses/ConflictError" // 500: // $ref: "#/responses/InternalError" r.HandleFunc(VersionedPath("/libpod/containers/{name}/resize"), s.APIHandler(compat.ResizeTTY)).Methods(http.MethodPost) |