Skip to content

Commit

Permalink
Merge pull request containers#21004 from umohnani8/push-endpoint
Browse files Browse the repository at this point in the history
Fix push endpoint stream
  • Loading branch information
openshift-merge-bot[bot] authored Dec 13, 2023
2 parents 5e76a88 + 126670d commit b82e336
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 4 deletions.
8 changes: 4 additions & 4 deletions pkg/api/handlers/libpod/images_push.go
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ func PushImage(w http.ResponseWriter, r *http.Request) {
ForceCompressionFormat: query.ForceCompressionFormat,
Format: query.Format,
Password: password,
Quiet: true,
Quiet: query.Quiet,
RemoveSignatures: query.RemoveSignatures,
Username: username,
}
Expand Down Expand Up @@ -150,9 +150,9 @@ func PushImage(w http.ResponseWriter, r *http.Request) {
}
if pushError != nil {
stream.Error = pushError.Error()
if err := enc.Encode(stream); err != nil {
logrus.Warnf("Failed to encode json: %v", err)
}
}
if err := enc.Encode(stream); err != nil {
logrus.Warnf("Failed to encode json: %v", err)
}
flush()
return
Expand Down
15 changes: 15 additions & 0 deletions test/apiv2/12-imagesMore.at
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,23 @@ s1=$(jq -r .status <<<"${lines[1]}")
like "$s1" "mytag: digest: sha256:[0-9a-f]\{64\} size: [0-9]\+" \
"Push to local registry: second status line"

# Push to local registry using the libpod endpoint with quiet=false...
# First create a new tag for the image to push
t POST "libpod/images/$IMAGE/tag?repo=localhost:$REGISTRY_PORT/myrepo&tag=quiet-false" 201

t POST "libpod/images/localhost:$REGISTRY_PORT/myrepo:quiet-false/push?tlsVerify=false&quiet=false" 200

# ...and check output. We can't use our built-in checks because this output
# is a sequence of JSON objects, i.e., individual ones, not in a JSON array.
# The lines themselves are valid JSON, but taken together they are not.
readarray lines <<<"$output"
s0=$(jq -r .manifestdigest <<<"${lines[-1]}")
like "$s0" "sha256:[0-9a-f]\{64\}" \
"Push to local registry: last line in push report"

# Untag the image
t POST "libpod/images/$iid/untag?repo=localhost:$REGISTRY_PORT/myrepo&tag=mytag" 201
t POST "libpod/images/$iid/untag?repo=localhost:$REGISTRY_PORT/myrepo&tag=quiet-false" 201

# Try to push non-existing image
t POST "images/localhost:$REGISTRY_PORT/idonotexist/push?tlsVerify=false" 404
Expand Down

0 comments on commit b82e336

Please sign in to comment.