Fixes #12063 Add docker compatible output after image build.
Signed-off-by: Ananth Bhaskararaman <antsub@gmail.com>
This commit is contained in:
parent
4a060caeab
commit
52b12fe985
|
|
@ -621,7 +621,8 @@ func BuildImage(w http.ResponseWriter, r *http.Request) {
|
||||||
Stream string `json:"stream,omitempty"`
|
Stream string `json:"stream,omitempty"`
|
||||||
Error *jsonmessage.JSONError `json:"errorDetail,omitempty"`
|
Error *jsonmessage.JSONError `json:"errorDetail,omitempty"`
|
||||||
// NOTE: `error` is being deprecated check https://github.com/moby/moby/blob/master/pkg/jsonmessage/jsonmessage.go#L148
|
// NOTE: `error` is being deprecated check https://github.com/moby/moby/blob/master/pkg/jsonmessage/jsonmessage.go#L148
|
||||||
ErrorMessage string `json:"error,omitempty"` // deprecate this slowly
|
ErrorMessage string `json:"error,omitempty"` // deprecate this slowly
|
||||||
|
Aux json.RawMessage `json:"aux,omitempty"`
|
||||||
}{}
|
}{}
|
||||||
|
|
||||||
select {
|
select {
|
||||||
|
|
@ -656,6 +657,11 @@ func BuildImage(w http.ResponseWriter, r *http.Request) {
|
||||||
case <-runCtx.Done():
|
case <-runCtx.Done():
|
||||||
if success {
|
if success {
|
||||||
if !utils.IsLibpodRequest(r) && !query.Quiet {
|
if !utils.IsLibpodRequest(r) && !query.Quiet {
|
||||||
|
m.Aux = []byte(fmt.Sprintf(`{"ID":"sha256:%s"}`, imageID))
|
||||||
|
if err := enc.Encode(m); err != nil {
|
||||||
|
logrus.Warnf("failed to json encode error %v", err)
|
||||||
|
}
|
||||||
|
m.Aux = nil
|
||||||
m.Stream = fmt.Sprintf("Successfully built %12.12s\n", imageID)
|
m.Stream = fmt.Sprintf("Successfully built %12.12s\n", imageID)
|
||||||
if err := enc.Encode(m); err != nil {
|
if err := enc.Encode(m); err != nil {
|
||||||
logrus.Warnf("Failed to json encode error %v", err)
|
logrus.Warnf("Failed to json encode error %v", err)
|
||||||
|
|
|
||||||
|
|
@ -229,6 +229,20 @@ if ! grep -q '400 Bad Request' "${TMPD}/headers.txt"; then
|
||||||
BUILD_TEST_ERROR="1"
|
BUILD_TEST_ERROR="1"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
curl -XPOST --data-binary @<(cat $CONTAINERFILE_TAR) \
|
||||||
|
-H "content-type: application/tar" \
|
||||||
|
--dump-header "${TMPD}/headers.txt" \
|
||||||
|
-o "${TMPD}/response.txt" \
|
||||||
|
"http://$HOST:$PORT/v1.40/build?dockerfile=containerfile" &> /dev/null
|
||||||
|
if ! grep -q '200 OK' "${TMPD}/headers.txt"; then
|
||||||
|
echo -e "${red}NOK: Image build from tar failed response was not 200 OK (application/tar)"
|
||||||
|
BUILD_TEST_ERROR="1"
|
||||||
|
fi
|
||||||
|
if ! grep -qP '^{"aux":{"ID":"sha256:[0-9a-f]{64}"}}$' "${TMPD}/response.txt"; then
|
||||||
|
echo -e "${red}NOK: Image build response does not contain ID"
|
||||||
|
BUILD_TEST_ERROR="1"
|
||||||
|
fi
|
||||||
|
|
||||||
t POST libpod/images/prune 200
|
t POST libpod/images/prune 200
|
||||||
t POST libpod/images/prune 200 length=0 []
|
t POST libpod/images/prune 200 length=0 []
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue