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

make GetProcessSettings not return volumeClaimTemplate for stateless … #1965

Merged
merged 5 commits into from
Mar 19, 2024

Conversation

nicmorales9
Copy link
Contributor

@nicmorales9 nicmorales9 commented Mar 12, 2024

…processes

Description

This addresses #1310.
Some odd logic was discovered in the usePvc() function, which roughly resulted in its logic being "use PVC if a processGroup is stateful and does not have a volumeClaimTemplate (nil), or if a processGroup is stateful and has a non-zero request for storage resources". This seemed a bit counter-intuitive, and could result in the case where someone accidentally creates storage pods with no PVC, which is dangerous for a non-test FDB cluster.
As a result, I removed the usePvc() function and replaced it with a processClass.isStateful() check. I think this more closely matches the original intent. (As of writing, it is valid for a stateful process to have a nil volumeClaimTemplate, see #1966, so, as far as I can tell the only meaningful check is isStateful())

Type of change

Please select one of the options below.

  • "Bug" fix (non-breaking change which fixes an issue)

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

  • Other

Discussion

See forum post https://forums.foundationdb.org/t/stateful-processgroups-can-no-longer-be-run-without-pvcs-operator-1-35/4391

Testing

unit tests

Documentation

Follow-up

internal/pod_models.go Outdated Show resolved Hide resolved
@foundationdb-ci
Copy link

Result of fdb-kubernetes-operator-pr on Linux CentOS 7

  • Commit ID: 19e3efc
  • Duration 2:25:57
  • Result: ✅ SUCCEEDED
  • Error: N/A
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

@foundationdb-ci
Copy link

Result of fdb-kubernetes-operator-pr on Linux CentOS 7

  • Commit ID: b1f93dc
  • Duration 2:45:56
  • 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)

@foundationdb-ci
Copy link

Result of fdb-kubernetes-operator-pr on Linux CentOS 7

  • Commit ID: a82c202
  • Duration 4:07:22
  • 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)

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.

Changes in general look good to me, could you make sure that the tests are passing?

@foundationdb-ci
Copy link

Result of fdb-kubernetes-operator-pr on Linux CentOS 7

  • Commit ID: f736650
  • Duration 1:55:05
  • Result: ✅ SUCCEEDED
  • Error: N/A
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

@foundationdb-ci
Copy link

Result of fdb-kubernetes-operator-pr on Linux CentOS 7

  • Commit ID: 5d7a123
  • Duration 2:00:41
  • Result: ✅ SUCCEEDED
  • Error: N/A
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

@foundationdb-ci
Copy link

Result of fdb-kubernetes-operator-pr on Linux CentOS 7

  • Commit ID: 514f05a
  • Duration 1:57:16
  • Result: ✅ SUCCEEDED
  • Error: N/A
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

Copy link
Member

@brownleej brownleej left a comment

Choose a reason for hiding this comment

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

👍

My recollection is that we added a deliberate mechanism to use a non-persistent volume for storage pods in the early stages of the operator development, as a workaround for issues with PVC compatibility. Those issues have since been resolved, so I agree that this option is more dangerous than helpful.

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.

LGTM 👍

@foundationdb-ci
Copy link

Result of fdb-kubernetes-operator-pr on Linux CentOS 7

  • Commit ID: 2f3c192
  • Duration 1:52:14
  • Result: ✅ SUCCEEDED
  • Error: N/A
  • Build Log terminal output (available for 30 days)
  • Build Workspace zip file of the working directory (available for 30 days)

@johscheuer johscheuer merged commit 9fadd74 into FoundationDB:main Mar 19, 2024
8 checks passed
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.

None yet

4 participants