From b1bf91a22a8d5d4d676e48efa2073944baff14c1 Mon Sep 17 00:00:00 2001 From: cdoern Date: Tue, 18 Jan 2022 15:46:11 -0500 Subject: Podman pod create --share-parent vs --share=cgroup separated cgroupNS sharing from setting the pod as the cgroup parent, made a new flag --share-parent which sets the pod as the cgroup parent for all containers entering the pod remove cgroup from the default kernel namespaces since we want the same default behavior as before which is just the cgroup parent. resolves #12765 Signed-off-by: cdoern Signed-off-by: cdoern Signed-off-by: cdoern --- pkg/api/handlers/libpod/pods.go | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'pkg/api') diff --git a/pkg/api/handlers/libpod/pods.go b/pkg/api/handlers/libpod/pods.go index afbdf0e5f..d522631b7 100644 --- a/pkg/api/handlers/libpod/pods.go +++ b/pkg/api/handlers/libpod/pods.go @@ -45,6 +45,10 @@ func PodCreate(w http.ResponseWriter, r *http.Request) { infraOptions.Net = &entities.NetOptions{} infraOptions.Devices = psg.Devices infraOptions.SecurityOpt = psg.SecurityOpt + if psg.ShareParent == nil { + t := true + psg.ShareParent = &t + } err = specgenutil.FillOutSpecGen(psg.InfraContainerSpec, &infraOptions, []string{}) // necessary for default values in many cases (userns, idmappings) if err != nil { utils.Error(w, http.StatusInternalServerError, errors.Wrap(err, "error filling out specgen")) -- cgit v1.2.3-54-g00ecf From 7e37c608f7ac04ffbb6e11b5b774acfd7afb6d95 Mon Sep 17 00:00:00 2001 From: Aditya R Date: Mon, 7 Feb 2022 13:38:16 +0530 Subject: compat: endpoint /build must set header content type as application/json in reponse Lot of clients are expecting proper `Content-type: application/json` configured in response headers of `/build` compat api. Following commit fixes that. Fixes issues where code is setting header field after writing header which is wrong. We must set `content-type` before we write and flush http header. Signed-off-by: Aditya R --- pkg/api/handlers/compat/images_build.go | 2 +- test/apiv2/10-images.at | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'pkg/api') diff --git a/pkg/api/handlers/compat/images_build.go b/pkg/api/handlers/compat/images_build.go index cc9667202..0ebf74f98 100644 --- a/pkg/api/handlers/compat/images_build.go +++ b/pkg/api/handlers/compat/images_build.go @@ -605,8 +605,8 @@ func BuildImage(w http.ResponseWriter, r *http.Request) { } // Send headers and prime client for stream to come - w.WriteHeader(http.StatusOK) w.Header().Set("Content-Type", "application/json") + w.WriteHeader(http.StatusOK) flush() body := w.(io.Writer) diff --git a/test/apiv2/10-images.at b/test/apiv2/10-images.at index 673858a3c..9526183e3 100644 --- a/test/apiv2/10-images.at +++ b/test/apiv2/10-images.at @@ -190,6 +190,11 @@ t POST "libpod/build?dockerfile=containerfile" $CONTAINERFILE_TAR application/js t POST "build?dockerfile=containerfile" $CONTAINERFILE_TAR application/json 200 \ .stream~"STEP 1/1: FROM $IMAGE" +# Build api response header must contain Content-type: application/json +t POST "build?dockerfile=containerfile" $CONTAINERFILE_TAR application/json 200 +response_headers=$(cat "$WORKDIR/curl.headers.out") +like "$response_headers" ".*application/json.*" "header does not contains application/json" + # PR #12091: output from compat API must now include {"aux":{"ID":"sha..."}} t POST "build?dockerfile=containerfile" $CONTAINERFILE_TAR 200 \ '.aux|select(has("ID")).ID~^sha256:[0-9a-f]\{64\}$' -- cgit v1.2.3-54-g00ecf From e7998b1224c78acbd4cb1ada2d7ac50f53001926 Mon Sep 17 00:00:00 2001 From: Tom Deseyn Date: Mon, 7 Feb 2022 12:55:29 +0100 Subject: [NO NEW TEST NEEDED] Add schema for ImageCreate 200 response. Signed-off-by: Tom Deseyn --- pkg/api/server/register_images.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'pkg/api') diff --git a/pkg/api/server/register_images.go b/pkg/api/server/register_images.go index f0b52dfc6..d7bc17093 100644 --- a/pkg/api/server/register_images.go +++ b/pkg/api/server/register_images.go @@ -61,7 +61,10 @@ func (s *APIServer) registerImagesHandlers(r *mux.Router) error { // description: Image content if fromSrc parameter was used // responses: // 200: - // $ref: "#/responses/ok" + // description: "no error" + // schema: + // type: "string" + // format: "binary" // 404: // $ref: "#/responses/NoSuchImage" // 500: -- cgit v1.2.3-54-g00ecf