refusing to amend an existing manifest list with no --amend flag
djgalloway opened this issue · comments
https://2.jenkins.ceph.com/job/ceph-container-build-push-imgs/285/console
master-ac0c05a-pacific-centos-8-x86_64: digest: sha256:fe3fa26e6696c9ca35f96cf5d6141efda590bd5834b2195861ae59b942f41ecb size: 2410
make[2]: Leaving directory '/home/jenkins-build/build/workspace/ceph-container-build-push-imgs/ceph-container/staging/pacific-centos-8-x86_64/daemon'
+ wait_for_arm_images
+ '[' -z '' ']'
+ echo 'ARM build is disabled, don'\''t wait for arm images'
ARM build is disabled, don't wait for arm images
+ return
+ create_registry_manifest
+ enable_experimental_docker_cli
+ grep experimental /home/jenkins-build/.docker/config.json
"experimental": "enabled"
+ for image in daemon-base daemon
+ for ceph_release in "${CEPH_RELEASES[@]}"
+ '[' master == master ']'
+ continue
+ for ceph_release in "${CEPH_RELEASES[@]}"
+ '[' nautilus == master ']'
++ _centos_release nautilus
++ local release=nautilus
++ case "${release}" in
++ echo 7
+ TARGET_RELEASE=ceph/daemon-base:master-ac0c05a-nautilus-centos-7
+ DOCKER_IMAGES='ceph/daemon-base:master-ac0c05a-nautilus-centos-7 ceph/daemon-base:master-ac0c05a-nautilus-centos-7-x86_64'
+ '[' -n '' ']'
+ docker manifest create ceph/daemon-base:master-ac0c05a-nautilus-centos-7 ceph/daemon-base:master-ac0c05a-nautilus-centos-7-x86_64
refusing to amend an existing manifest list with no --amend flag
Build step 'Execute shell' marked build as failure
Finished: FAILURE
I don't know what this job is doing or trying to do but this happens often when I'm doing an upstream release.
I got the job to progress by pushing:
diff --git a/contrib/build-push-ceph-container-imgs.sh b/contrib/build-push-ceph-container-imgs.sh
index 89a7e75..6d6722e 100644
--- a/contrib/build-push-ceph-container-imgs.sh
+++ b/contrib/build-push-ceph-container-imgs.sh
@@ -379,7 +379,7 @@ function create_registry_manifest {
fi
#shellcheck disable=SC2086
- docker manifest create $DOCKER_IMAGES
+ docker manifest create --amend $DOCKER_IMAGES
if [ -n "$BUILD_ARM" ]; then
docker manifest annotate --variant v8 "${TARGET_RELEASE}" "${TARGET_RELEASE}-aarch64"
fi
And having the job use my branch.
I don't know if the job passed because I added --amend
or if it's because the CEPH_CONTAINER branch was wip-amend
.
This was the final step in releasing and announcing the first release of Ceph Pacific and nobody whom I knew could help was reachable.
The https://2.jenkins.ceph.com/job/ceph-container-build-push-imgs/ and https://2.jenkins.ceph.com/job/ceph-container-build-push-imgs-arm64/ are not used for building the ceph official releases (like ceph/ceph:v16.2.0).
This is only for building the latest-xxxx
tags (like latest-pacific) for the ceph/daemon and ceph/daemon-base namespace on merge PR from ceph-container repository. So you don't need to trigger them when we have a new release.
This is done via the https://2.jenkins.ceph.com/job/ceph-container-build-ceph-base-push-imgs/ and https://2.jenkins.ceph.com/job/ceph-container-build-ceph-base-push-imgs-arm64/
And having the job use my branch.
I think you can revert your change.
IMO the real fix for this is to clean the manifest directory at the start of the job but using the --amend option could be dangerous.