-
Notifications
You must be signed in to change notification settings - Fork 295
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
🌱 Add flag to reserve memory #3130
base: main
Are you sure you want to change the base?
Conversation
…eploymentzone 🌱 Fix flake where VSphereFailureDomain still exists from previous test
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Welcome @hrbasic! |
Hi @hrbasic. Thanks for your PR. I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
@@ -119,7 +119,7 @@ spec: | |||
Defaults to the eponymous property value in the template from which the | |||
virtual machine is cloned. | |||
format: int64 | |||
type: integer | |||
type: integer |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
extra space
@@ -172,6 +172,13 @@ type VirtualMachineCloneSpec struct { | |||
// virtual machine is cloned. | |||
// +optional | |||
MemoryMiB int64 `json:"memoryMiB,omitempty"` | |||
// MemoryReservationLockedToMax is a flag that indicates whether or not the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
// MemoryReservationLockedToMax is a flag that indicates whether or not the | |
// MemoryReservationLockedToMax indicates whether or not the |
please update it everywhere.
@@ -0,0 +1,115 @@ | |||
/* | |||
Copyright 2022 The Kubernetes Authors. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copyright 2022 The Kubernetes Authors. | |
Copyright 2024 The Kubernetes Authors. |
new file
"sigs.k8s.io/cluster-api/util" | ||
) | ||
|
||
type MemoryReservationLockedSpecInput struct { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
type MemoryReservationLockedSpecInput struct { | |
type memoryReservationLockedSpecInput struct { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've been following the naming conventions from other tests, such as hardware_upgrade_test.go
. Since there is no need to export anything from this test, would it be okay if I use lowercase for the function VerifyMemoryReservationLockToMax()
? I would also like to rename the function to verifyMemoryReservationLockedToMax
to better follow the convention.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've been following the naming conventions from other tests, such as
hardware_upgrade_test.go
. Since there is no need to export anything from this test, would it be okay if I use lowercase for the functionVerifyMemoryReservationLockToMax()
? I would also like to rename the function toverifyMemoryReservationLockedToMax
to better follow the convention.
yes
/hold we need to validate this with tests "manually" before mreging /ok-to-test |
kind: VSphereMachineTemplate | ||
patch: |- | ||
- op: add | ||
path: /spec/template/spec/memoryReservationLockedToMax |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
may be enough to add this to an existing test to not increase the runtime
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it then make sense to add default variable in env package:
var (
DefaultMemoryReservationLockedToMax = ptr.To(true)
)
or directly set value in generators:
MemoryReservationLockedToMax: ptr.To(true),
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let's just add it to one test, not to all :-)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I reviewed the code, and it seems that if I want to integrate this with an existing test, like the hw-upgrade
flavor, I can directly add the memory-locked-to-max
check in the hardware_upgrade_test.go
file. This would allow us to remove the memory_reservation_locked_test.go
file entirely. However, I'm unsure if this is what you meant by "add this to an existing test to not increase the runtime"?
@hrbasic: The following tests failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
} | ||
} | ||
|
||
func getMemoryReservationLockedToMaxFromObj(vmObj *object.VirtualMachine) *bool { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
func getMemoryReservationLockedToMaxFromObj(vmObj *object.VirtualMachine) *bool { | |
func getMemoryReservationLockedToMaxFromObj(vmObj *object.VirtualMachine) bool { |
var virtualMachine mo.VirtualMachine | ||
Expect(vmObj.Properties(ctx, vmObj.Reference(), []string{"config.memoryReservationLockedToMax"}, &virtualMachine)).To(Succeed()) | ||
Expect(virtualMachine.Config.MemoryReservationLockedToMax).ToNot(BeEmpty()) | ||
return virtualMachine.Config.MemoryReservationLockedToMax |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
return virtualMachine.Config.MemoryReservationLockedToMax | |
return *virtualMachine.Config.MemoryReservationLockedToMax |
What this PR does / why we need it:
Introduces a new flag that allows users to set a
memoryReservationLockedToMax
at VSphereMachineTemplate level.Which issue(s) this PR fixes:
Fixes #2468