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 Local Disk Setup #1107
Conversation
13a6a08
to
d4fa947
Compare
71c750a
to
2ed3255
Compare
2e1243e
to
819dffb
Compare
527d0aa
to
f614f7f
Compare
a168d56
to
7054809
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.
part 1
} | ||
|
||
// Signed is a constraint that any signed integer type satisfies. | ||
type Signed interface { |
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.
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.
https://pkg.go.dev/golang.org/x/exp#section-readme
Warning: Packages here are experimental and unreliable. Some may one day be promoted to the main repository or other subrepository, or they may be modified arbitrarily or even disappear altogether.
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 though it might not have been there when you started.
What's the worst case to happen when they remove it? I assume we'd "fork"/copy that file and maintain it on our own. But if they keep it, we don't have to review, maintain and update our copy, so to me it seems like we can only gain or end up in the same place. They will likely just move it so we only endup adjusting the import path at some point. And we have version pinning and vendoring.
btw. we already use a lot of deps in v0.x.x
that have the same (non)commitment.
bb979b5
to
827c5c0
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.
There is a lot of good work in this PR! And a lot of pain felt when trying to figure out all the compatibility with different mdadm versions / setups.
Modulo the regex matching I am ready to land this when the CI gets green.
Consistency wise, please make sure this returns 0
git diff HEAD..master -- ./cmd/ ./pkg/ | grep -i -E -e 'if .*;.*{' | wc -l
These aren't inconsistent
nor I don't get why this syntax suddenly started to be pointed out without any argument or discussion behind. |
suddenly is a bit strong word - I recall the 2 of us having a discussion about it in the past and the readability and length line was pointed out on several PRs before. Given the magnitude of this PR I felt the grep command is easier then individual comments. If you disagree, I imagine there are more polite ways to raise it, same way as the other point you were trying to make.
This is not something that's holding this PR. |
thanks for the updates and the enhanced regexp logic. the only major one open I see is to use the fixed image in #1107 (comment) |
c8b401a
to
36d6132
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.
/approve
/lgtm
36d6132
to
8decc4a
Compare
The main painpoint of ScyllaDB on Kubernetes was configuring the disks. Each cloud provider sets them up in various location, under different names. Different instance types comes with different number of disks and different sizes. To improve user experience we introduce automatic local disk setup. v1alpha1.NodeConfig API was extended with additional setting related to local disks setup. Scylla Operator will manage a DaemonSet responsible for creating an RAID arrays out of discovered disks, formatting it to desired filesystem and creating a persistently mounted mount in provided location using provided mount options. This feature is considered experimental, and is subject for deprecation and incompatible changes. Using it, may require manual steps during upgrades. Co-authored-by: Tomáš Nožička <tomas.nozicka@scylladb.com> - Persistent mounts
8decc4a
to
16a8c30
Compare
The main painpoint of ScyllaDB on Kubernetes was configuring the
disks. Each cloud provider sets them up in various location, under
different names. Different instance types comes with different number of disks
and different sizes.
To improve user experience we introduce automatic local disk setup.
v1alpha1.NodeConfig API was extended with additional setting related to
local disks setup.
Scylla Operator will manage a DaemonSet responsible for creating an
RAID0 array out of discovered disks, formatting it to desired filesystem and
mounting in provided location together with provided mount options.
This feature is considered experimental, and is subject for deprecation
and incompatible changes. Using it, may require manual steps during
upgrades.
Fixes #1096
Requirements: