Skip to content

allow setting default fs type through command line argument#342

Merged
k8s-ci-robot merged 1 commit intokubernetes-csi:masterfrom
RomanBednar:fstype-arg
Jan 6, 2022
Merged

allow setting default fs type through command line argument#342
k8s-ci-robot merged 1 commit intokubernetes-csi:masterfrom
RomanBednar:fstype-arg

Conversation

@RomanBednar
Copy link
Copy Markdown
Contributor

@RomanBednar RomanBednar commented Jan 5, 2022

The external attacher was using a hardcoded default ext4 filesystem which was applied when PV spec did not contain fstype.

As a result attacher always reported ext4 as fs_type volume capability creating interference with some CSI drivers.

This patch adds a flag to csi-attacher binary which provides users with a workaround to set their own default filesystem or simply disable the interference by using an empty string:

./bin/csi-attacher --default-fstype ""

When the flag is not used we still use ext4, next major release will allow behavior change and we can default to "" instead preserving the argument in case it's ever needed.

/kind bug

Which issue(s) this PR fixes:
Fixes #287

Does this PR introduce a user-facing change?:

There is a new --default-fstype flag available in this release that defaults to ext4 and can be used to set any value a driver may need. In the next major release ext4 as the default fsType will be deprecated and replaced by ""

@k8s-ci-robot k8s-ci-robot added release-note-none Denotes a PR that doesn't merit a release note. kind/bug Categorizes issue or PR as related to a bug. labels Jan 5, 2022
@k8s-ci-robot
Copy link
Copy Markdown
Contributor

Thanks for your pull request. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

📝 Please follow instructions at https://git.k8s.io/community/CLA.md#the-contributor-license-agreement to sign the CLA.

It may take a couple minutes for the CLA signature to be fully registered; after that, please reply here with a new comment and we'll verify. Thanks.


Details

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/test-infra repository. I understand the commands that are listed here.

@linux-foundation-easycla
Copy link
Copy Markdown

linux-foundation-easycla Bot commented Jan 5, 2022

CLA Signed

The committers are authorized under a signed CLA.

@k8s-ci-robot k8s-ci-robot added the cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. label Jan 5, 2022
@k8s-ci-robot
Copy link
Copy Markdown
Contributor

Welcome @RomanBednar!

It looks like this is your first PR to kubernetes-csi/external-attacher 🎉. Please refer to our pull request process documentation to help your PR have a smooth ride to approval.

You will be prompted by a bot to use commands during the review process. Do not be afraid to follow the prompts! It is okay to experiment. Here is the bot commands documentation.

You can also check if kubernetes-csi/external-attacher has its own contribution guidelines.

You may want to refer to our testing guide if you run into trouble with your tests not passing.

If you are having difficulty getting your pull request seen, please follow the recommended escalation practices. Also, for tips and tricks in the contribution process you may want to read the Kubernetes contributor cheat sheet. We want to make sure your contribution gets all the attention it needs!

Thank you, and welcome to Kubernetes. 😃

@k8s-ci-robot
Copy link
Copy Markdown
Contributor

Hi @RomanBednar. Thanks for your PR.

I'm waiting for a kubernetes-csi member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Details

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/test-infra repository.

@k8s-ci-robot k8s-ci-robot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Jan 5, 2022
@k8s-ci-robot k8s-ci-robot added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Jan 5, 2022
@jsafrane
Copy link
Copy Markdown
Contributor

jsafrane commented Jan 5, 2022

/ok-to-test

@k8s-ci-robot k8s-ci-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Jan 5, 2022
Copy link
Copy Markdown
Contributor

@jsafrane jsafrane left a comment

Choose a reason for hiding this comment

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

Please update also README.md and add a release note to the inital comment of this PR - this is an user facing change.
It should clearly say that ext4 as the default fsType is deprecated and will be replaced by "" in the next major release. And there is --default-fstype available in this release that can be used to set it explicitly to any value a driver may need.

Comment thread pkg/controller/util.go Outdated
The external attacher was using a hardcoded default ext4 filesystem
which was applied when PV spec did not contain fstype.

As a result attacher always reported ext4 as fs_type volume
capability creating interference with some CSI drivers.

This patch adds a flag to csi-attacher binary which provides users with
a workaround to set their own default filesystem or simply disable the
interference by using an empty string:

./bin/csi-attacher --default-fstype ""

When the flag is not used  we still use ext4, next major release will
allow behaviour change and we can default to "" instead preserving the
argument in case it's ever needed.
@k8s-ci-robot k8s-ci-robot added release-note Denotes a PR that will be considered when it comes time to generate release notes. and removed release-note-none Denotes a PR that doesn't merit a release note. labels Jan 5, 2022
@jsafrane
Copy link
Copy Markdown
Contributor

jsafrane commented Jan 5, 2022

/check-cla

@RomanBednar
Copy link
Copy Markdown
Contributor Author

i signed it

@RomanBednar
Copy link
Copy Markdown
Contributor Author

I signed it

@RomanBednar RomanBednar closed this Jan 6, 2022
@k8s-ci-robot k8s-ci-robot added cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. and removed cncf-cla: no Indicates the PR's author has not signed the CNCF CLA. labels Jan 6, 2022
@RomanBednar RomanBednar reopened this Jan 6, 2022
@jsafrane
Copy link
Copy Markdown
Contributor

jsafrane commented Jan 6, 2022

/lgtm
/approve

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jan 6, 2022
@k8s-ci-robot
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jsafrane, RomanBednar

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jan 6, 2022
@k8s-ci-robot k8s-ci-robot merged commit e20dc89 into kubernetes-csi:master Jan 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/bug Categorizes issue or PR as related to a bug. lgtm "Looks good to me", indicates that a PR is ready to be merged. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. release-note Denotes a PR that will be considered when it comes time to generate release notes. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

external-attacher should not decide default filesystem type

3 participants