-
Notifications
You must be signed in to change notification settings - Fork 87
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
Proposal for adding Additional Disks to node #2139
base: main
Are you sure you want to change the base?
Proposal for adding Additional Disks to node #2139
Conversation
Hi @anshuman-agarwala. 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. |
✅ Deploy Preview for kubernetes-sigs-cluster-api-ibmcloud ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
|
||
## Proposal | ||
We will need to make changes to both the API and the controller logic. | ||
With regards to the API, we will need to add a new `AdditionalVolumes` field to the Machine Spec to contain all the different volumes that are added to the node, the field will be a slice of type `VPCVolume`. As an initial design we can keep the field [append-only](https://kubernetes.io/blog/2022/09/29/enforce-immutability-using-cel/#append-only-list-of-containers). |
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.
It would be great if you can add pseudo go struct along with theoretical explanation. We can better understand the fields of VPCVolume
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.
Added pseudo-struct for AdditionalVolumes
and added a link to existing VPCVolume
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.
overall proposal sounds good, lets add the expected changes to the api spec. And also information from the proposal can be split into multiple sections like api section, limitations etc..
235af63
to
8291dac
Compare
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.
LGTM
@Prajyot-Parab Please take a look
/ok-to-test |
/lgtm |
// +kubebuilder:validation:MaxItems=10 | ||
// +kubebuilder:validation:XValidation:rule="oldSelf.all(x, x in self)",message="Values may only be added" | ||
AdditionalVolumes []*VPCVolume `json:additionalVolumes,omitempty` | ||
``` |
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.
@anshuman-agarwala its worth adding some examples as well.
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.
Added sample manifest for AdditionalVolumes
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: anshuman-agarwala 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 |
8291dac
to
055988e
Compare
New changes are detected. LGTM label has been removed. |
docs/proposal/additional-disks.md
Outdated
spec: | ||
additionalVolumes: | ||
- deleteVolumeOnInstanceDelete: true | ||
encryptionKeyCRN: value |
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.
lets keep it simple, we have never tested or done anything with this encryptionKeyCRN
thing! remanning values looks fine
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.
Removed encryptionKeyCRN
from the manifest.
docs/proposal/additional-disks.md
Outdated
name: VolumeName | ||
profile: "general-purpose" | ||
sizeGiB: 1 | ||
- deleteVolumeOnInstanceDelete: 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.
to make it interesting we can remove deleteVolumeOnInstanceDelete
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.
and also have one example with required entry only, may be thing can be a first entry in the list
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.
Adding comments for each entry here will be better to tell what this kind of volume it is
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.
Added a minimal example, comments and removed the deleteVolumeOnInstanceDelete
field.
055988e
to
ce882c5
Compare
docs/proposal/additional-disks.md
Outdated
- iops: 10000 | ||
name: CustomVolume | ||
profile: "custom" # Using a custom profile allows us more freedom when choosing the volume spec | ||
sizeGiB: 15000 |
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.
size seems to be unrealistic, may be 100, 120 or 200 sounds reasonable
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.
Fixed
docs/proposal/additional-disks.md
Outdated
bootVolume: | ||
name: BootVolume | ||
profile: "general-purpose" | ||
sizeGiB: 10000 |
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.
size seems to be unrealistic, may be 100, 120 or 200 sounds reasonable
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.
Fixed
ce882c5
to
c8e2757
Compare
What this PR does / why we need it:
Adds a proposed for resolving #1920
Which issue(s) this PR fixes (optional, in
fixes #<issue number>(, fixes #<issue_number>, ...)
format, will close the issue(s) when PR gets merged):Fixes #
Special notes for your reviewer:
/area provider/ibmcloud
Release note: