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

storage: Managed filesystem sizes #18867

Merged

Conversation

mvollmer
Copy link
Member

@mvollmer mvollmer commented May 31, 2023

Demo: https://youtu.be/5W7g-tYFmqw


Storage: Support for no-overprovisioning with Stratis

A Stratis pool can be put into a "no-overprovisioning" mode where the bad effects of running out of space can be avoided via careful management of filesystem sizes. Cockpit now supports this mode.

@mvollmer mvollmer added the no-test For doc/workflow changes, or experiments which don't need a full CI run, label May 31, 2023
@mvollmer mvollmer force-pushed the storage-stratis-managed-filesystems branch 3 times, most recently from 6535535 to 7803b22 Compare June 6, 2023 13:08
@mvollmer mvollmer force-pushed the storage-stratis-managed-filesystems branch 2 times, most recently from 0b4d1de to 30d1643 Compare June 14, 2023 09:01
@mvollmer mvollmer force-pushed the storage-stratis-managed-filesystems branch 3 times, most recently from a1cce29 to 68c3b58 Compare July 4, 2023 18:30
@mvollmer mvollmer removed the no-test For doc/workflow changes, or experiments which don't need a full CI run, label Jul 4, 2023
@mvollmer mvollmer force-pushed the storage-stratis-managed-filesystems branch from 68c3b58 to 85619e5 Compare July 4, 2023 18:30
@mvollmer mvollmer marked this pull request as ready for review July 5, 2023 06:36
@mvollmer mvollmer force-pushed the storage-stratis-managed-filesystems branch from 85619e5 to 20a5ddb Compare August 8, 2023 07:36
pkg/storaged/stratis-details.jsx Outdated Show resolved Hide resolved
test/verify/check-storage-stratis Show resolved Hide resolved
pkg/storaged/stratis-panel.jsx Outdated Show resolved Hide resolved
@mvollmer mvollmer force-pushed the storage-stratis-managed-filesystems branch 5 times, most recently from b914dd1 to d3ce589 Compare August 16, 2023 09:56
@mvollmer mvollmer force-pushed the storage-stratis-managed-filesystems branch from d4ea929 to 7cac847 Compare August 21, 2023 09:59
@mvollmer mvollmer added the no-test For doc/workflow changes, or experiments which don't need a full CI run, label Aug 23, 2023
@mvollmer mvollmer force-pushed the storage-stratis-managed-filesystems branch from 7cac847 to fb20dac Compare August 23, 2023 06:38
@mvollmer mvollmer removed the no-test For doc/workflow changes, or experiments which don't need a full CI run, label Aug 23, 2023
@mvollmer mvollmer force-pushed the storage-stratis-managed-filesystems branch from fb20dac to c85fe39 Compare August 23, 2023 07:00
client.stratis_create_filesystem = (pool, name) => {
return pool.CreateFilesystems([[name, [false, ""]]]);
client.stratis_create_filesystem = (pool, name, size) => {
return pool.CreateFilesystems([[name, size ? [true, size.toString()] : [false, ""]]]);
Copy link
Contributor

Choose a reason for hiding this comment

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

This added line is not executed by any test. Details

Comment on lines +145 to +149
title: (pool.Overprovisioning
? <StorageUsageBar stats={[Number(fs.Used[0] && Number(fs.Used[1])), pool_total]}
critical={1} total={total} offset={offsets[i]} />
: <StorageUsageBar stats={[Number(fs.Used[0] && Number(fs.Used[1])), Number(fs.Size)]}
critical={0.95} />
Copy link
Contributor

Choose a reason for hiding this comment

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

These 5 added lines are not executed by any test. Details

let fsys_total_size = 0;
filesystems.forEach(fs => {
offsets.push(fsys_total_used);
fsys_total_used += fs.Used[0] ? Number(fs.Used[1]) : 0;
Copy link
Contributor

Choose a reason for hiding this comment

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

This added line is not executed by any test. Details

fsys_total_size += Number(fs.Size);
});

const overhead = pool.TotalPhysicalUsed[0] ? (Number(pool.TotalPhysicalUsed[1]) - fsys_total_used) : 0;
Copy link
Contributor

Choose a reason for hiding this comment

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

This added line is not executed by any test. Details

@@ -129,13 +129,13 @@ export function create_stratis_pool(client) {
},
spaces: get_available_spaces(client)
}),
CheckBoxes("encrypt_pass", client.features.stratis_crypto_binding ? _("Encryption") : "",
CheckBoxes("encrypt_pass", client.features.stratis_crypto_binding ? _("Options") : "",
Copy link
Contributor

Choose a reason for hiding this comment

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

This added line is not executed by any test. Details

@jelly jelly merged commit a9efcbb into cockpit-project:main Aug 23, 2023
35 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.

4 participants