Skip to content

Conversation

hxu
Copy link

@hxu hxu commented Aug 14, 2025

Description

See #2349

Type of change

Please select one of the options below.

  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

I think I would consider this a breaking change since customizations to the FoundationDbBackup resource will need to take into account the fact that the unified image has a slightly different pod spec.

Discussion

Are there any design details that you would like to discuss further?

Testing

I ran unit tests, but am not yet sure how to get e2e tests to run.

Documentation

Did you update relevant documentation within this repository?

If this change is adding new functionality, do we need to describe it in our user manual?

If this change is adding or removing subreconcilers, have we updated the core technical design doc to reflect that?

If this change is adding new safety checks or new potential failure modes, have we documented and how to debug potential issues?

Follow-up

Are there any follow-up issues that we should pursue in the future?

Does this introduce new defaults that we should re-evaluate in the future?

@johscheuer johscheuer self-requested a review August 14, 2025 16:08
Copy link
Member

@johscheuer johscheuer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you adjust the failing test cases?

Copy link
Member

@johscheuer johscheuer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just wanted to know if you have the time to finish the work?

@@ -3925,7 +3925,7 @@ var _ = Describe("pod_models", func() {
).To(Equal("foundationdb/foundationdb:dev"))
Expect(
deployment.Spec.Template.Spec.InitContainers[0].Image,
).To(Equal("foundationdb/foundationdb-kubernetes-sidecar:dev-1"))
).To(Equal("foundationdb/foundationdb:dev"))
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This test seemed a bit suspect to me -- shouldn't the init container be the fdb-kubernetes-monitor? The failure message indicated that it was actually the same image as the main container.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In this test the image config is changed and the main image config is set to foundationdb/foundationdb:dev. Since the default image is now the unified image for the backup pods, the init image and the main image will be the same, in this case foundationdb/foundationdb:dev and the sidecar image config will be ignored.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Got it. Even though this is valid from the operator's perspective, this would not actually work right, because the foundationdb image can't be used as the init container image?

@@ -3963,22 +3963,22 @@ var _ = Describe("pod_models", func() {
})
})

When("using the unified image", func() {
When("using the split image", func() {
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assumed that we still want to test the split image behavior, so test swaps with pod_models when getting the backup deployment with a basic deployment the init container [It] should set the image and command for the container

@hxu
Copy link
Author

hxu commented Sep 2, 2025

Sorry! We got sidetracked with something else.

I've gone and fixed all the tests now.

One slightly unrelated question -- I noticed that the build docker image action failed, it seems like cross compilation of the arm64 image fails. We encountered the same issue in our build system and had to use an arm64 machine to do the compilation. Did you get cross compilation to work at any point?

Copy link
Member

@johscheuer johscheuer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One slightly unrelated question -- I noticed that the build docker image action failed, it seems like cross compilation of the arm64 image fails. We encountered the same issue in our build system and had to use an arm64 machine to do the compilation. Did you get cross compilation to work at any point?

Most of the time the arm64 image builds fine but sometimes it is failing in the GitHub action worker, we haven't invested too much time debugging the issue as a retry usually fix the issue.

Copy link
Member

@johscheuer johscheuer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like the code is not in the expected format, could you run make fmt lint?

@foundationdb-ci
Copy link
Contributor

Result of fdb-kubernetes-operator-pr on Linux RHEL 9

  • Commit ID: e7174b2
  • Duration 2:39:32
  • Result: ❌ FAILED
  • Error: Error while executing command: if $fail_test; then exit 1; fi. Reason: exit status 1
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

@hxu
Copy link
Author

hxu commented Sep 2, 2025

Fixed the formatting, please take a look?

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 this pull request may close these issues.

3 participants