Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automated rebuilds won't pick up new images #674

Closed
andreasgerstmayr opened this issue Nov 9, 2023 · 0 comments · Fixed by #675
Closed

Automated rebuilds won't pick up new images #674

andreasgerstmayr opened this issue Nov 9, 2023 · 0 comments · Fixed by #675

Comments

@andreasgerstmayr
Copy link
Collaborator

Various tools are capable of automatic rebuilding of images in case of CVEs (e.g. freshmaker). These tools rebuild all images and update the RELATED_IMAGE_ environment variables in the CSV accordingly (ref. #638).

However, they do not update the version field (the github.com/grafana/tempo-operator/internal/version.operatorVersion LDFLAG when building the operator), they only update the version of the CSV. Therefore the upgrade process won't run, and nothing will replace the images field in the TempoStack CRs, i.e. the tempo/tempo-query/gateway pods are not updated with the new image version.

imho the best solution is to keep the images field unset if it is the default. In this case, the operator will use the image from RELATED_IMAGE_ env variables, and the containers are always using the latest images as specified in the RELATED_IMAGE_ env vars. As a bonus, if a user is manually editing the images field, it won't get reset on every upgrade.

andreasgerstmayr added a commit to andreasgerstmayr/tempo-operator that referenced this issue Nov 9, 2023
Various tools are capable of automatic rebuilding of images in case of
CVEs (e.g. freshmaker [1]). These tools rebuild all images and update
the RELATED_IMAGE_ environment variables in the CSV accordingly (ref. grafana#638).

However, they do not update the version field (the
github.com/grafana/tempo-operator/internal/version.operatorVersion LDFLAG
when building the operator), they only update the version of the CSV.
Therefore the upgrade process won't run, and nothing will replace the
images field in the TempoStack CRs, i.e. the tempo/tempo-query/gateway
pods are not updated with the new image version.

This PR modifies the handling to use the default images if the image
field of the TempoStack CR is unset. Then the operator will use the image
from RELATED_IMAGE_ env variables, and the containers are always using the
latest images as specified in the RELATED_IMAGE_ env vars. As a bonus,
if a user is manually editing the images field, it won't get reset on every
upgrade.

[1] https://github.com/redhat-exd-rebuilds/freshmaker

Resolves: grafana#674
Signed-off-by: Andreas Gerstmayr <agerstmayr@redhat.com>
andreasgerstmayr added a commit to andreasgerstmayr/tempo-operator that referenced this issue Nov 9, 2023
Various tools are capable of automatic rebuilding of images in case of
CVEs (e.g. freshmaker [1]). These tools rebuild all images and update
the RELATED_IMAGE_ environment variables in the CSV accordingly (ref. grafana#638).

However, they do not update the version field (the
github.com/grafana/tempo-operator/internal/version.operatorVersion LDFLAG
when building the operator), they only update the version of the CSV.
Therefore the upgrade process won't run, and nothing will replace the
images field in the TempoStack CRs, i.e. the tempo/tempo-query/gateway
pods are not updated with the new image version.

This PR modifies the handling to use the default images if the image
field of the TempoStack CR is unset. Then the operator will use the image
from RELATED_IMAGE_ env variables, and the containers are always using the
latest images as specified in the RELATED_IMAGE_ env vars. As a bonus,
if a user is manually editing the images field, it won't get reset on every
upgrade.

[1] https://github.com/redhat-exd-rebuilds/freshmaker

Resolves: grafana#674
Signed-off-by: Andreas Gerstmayr <agerstmayr@redhat.com>
andreasgerstmayr added a commit that referenced this issue Nov 17, 2023
* Unset (default) images in TempoStack CR

Various tools are capable of automatic rebuilding of images in case of
CVEs (e.g. freshmaker [1]). These tools rebuild all images and update
the RELATED_IMAGE_ environment variables in the CSV accordingly (ref. #638).

However, they do not update the version field (the
github.com/grafana/tempo-operator/internal/version.operatorVersion LDFLAG
when building the operator), they only update the version of the CSV.
Therefore the upgrade process won't run, and nothing will replace the
images field in the TempoStack CRs, i.e. the tempo/tempo-query/gateway
pods are not updated with the new image version.

This PR modifies the handling to use the default images if the image
field of the TempoStack CR is unset. Then the operator will use the image
from RELATED_IMAGE_ env variables, and the containers are always using the
latest images as specified in the RELATED_IMAGE_ env vars. As a bonus,
if a user is manually editing the images field, it won't get reset on every
upgrade.

[1] https://github.com/redhat-exd-rebuilds/freshmaker

Resolves: #674
Signed-off-by: Andreas Gerstmayr <agerstmayr@redhat.com>

* update changelog entry text

Signed-off-by: Andreas Gerstmayr <agerstmayr@redhat.com>

---------

Signed-off-by: Andreas Gerstmayr <agerstmayr@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant