Skip to content

pack rebase require --force. Why? #2567

@sdsani

Description

@sdsani

We have been using paketo buildpacks in our company from a while to build the container images. Now we are trying to use pack rebase option. Below is the use case that I want take input about.

I built an image for a spring boot application using a builder (paketobuildpacks/builder-jammy-base:x.y.z) and run image (paketobuildpacks/run-jammy-base:0.1.207).

Now I am trying to rebase this image to update the base layer (OS). First I tried using latest run image which is paketobuildpacks/run-jammy-base:0.1.216 and I received following error.

ERROR: rebase app image: new base image 'paketobuildpacks/run-jammy-base:0.1.216' not found in existing run image metadata: {"topLayer":"sha256:3ec203ed1bb694a116205f9e6d9c4dae4b7b42e3b5cef81cd4c3aec504f405e4","reference":"6ebac55296453467586f2ca015779868668398effd1c53d2d2a7372956a86fed","image":"paketobuildpacks/run-jammy-base:0.1.198"}; please provide -force to override

As we can see that error is suggesting use of --force flag. First of all, I was not expecting this. I thought may something has changed between 207 and 216 that breaks the compatibility (which should not be the case since I am just updating patch version), so I tried using rebase with 0.2.208 and I got the same error.

Only time that it works is if I use rebase with paketobuildpacks/run-jammy-base:0.1.207. I wonder why would someone use the same image for rebasing?

I submitted a request on paketo buildpacks channel on slack and they said that it make no sense and suggested post it here since it might be something in pack cli. I have no problem using --force flag, however, my point is that if I have to use it all the time, then why an extra flag?

Please advise what I am missing here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions