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

Object Storage Support (COSI) #1979

Open
wlan0 opened this issue Sep 10, 2020 · 49 comments
Open

Object Storage Support (COSI) #1979

wlan0 opened this issue Sep 10, 2020 · 49 comments
Assignees
Labels
sig/storage Categorizes an issue or PR as relevant to SIG Storage. stage/beta Denotes an issue tracking an enhancement targeted for Beta status tracked/out-of-tree Denotes an out-of-tree enhancement issue, which does not need to be tracked by the Release Team

Comments

@wlan0
Copy link
Member

wlan0 commented Sep 10, 2020

Enhancement Description

  • One-line enhancement description (can be used as a release note): Natively support object storage in Kubernetes alongside file and block storage
  • Kubernetes Enhancement Proposal: object bucket provisioning #1383
  • Primary contact (assignee): @wlan0
  • Responsible SIGs: sig-storage
  • Enhancement target (which target equals to which milestone):
    • Alpha release target (1.25)
    • Beta release target (1.30)

https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/1979-object-storage-support

@k8s-ci-robot k8s-ci-robot added the needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. label Sep 10, 2020
@wlan0
Copy link
Member Author

wlan0 commented Sep 10, 2020

/sig storage

@k8s-ci-robot k8s-ci-robot added sig/storage Categorizes an issue or PR as relevant to SIG Storage. and removed needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. labels Sep 10, 2020
@wlan0
Copy link
Member Author

wlan0 commented Sep 10, 2020

/assign wlan0

@k8s-ci-robot
Copy link
Contributor

@wlan0: You must be a member of the kubernetes/milestone-maintainers GitHub team to set the milestone. If you believe you should be able to issue the /milestone command, please contact your and have them propose you as an additional delegate for this responsibility.

In response to this:

/milestone 1.20

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.

@xing-yang
Copy link
Contributor

I see there's already another issue opened here: #1593
Can we close one of them?

@wlan0
Copy link
Member Author

wlan0 commented Sep 11, 2020

Could you please close the other one: #1593

Looks like john created that project before he left the group

@xing-yang
Copy link
Contributor

Sure. I closed the other issue.

@kikisdeliveryservice
Copy link
Member

@xing-yang @wlan0

Just confirming this is indeed for 1.21 not 1.20?

Thanks!
Kirsten

@xing-yang
Copy link
Contributor

@kikisdeliveryservice,

Yes, we are targeting Alpha in 1.21. In 1.20, we are planning to get the KEP merged as Provisional status and coding will happen in repos under kubernetes-sigs. That's why we still have 1.20 as milestone for the KEP.

@kikisdeliveryservice
Copy link
Member

kikisdeliveryservice commented Sep 12, 2020

@xing-yang understood - thank you for the clarification! I'll update the sheet to reflect the alpha in 1.21 goal so we don't start pinging you for the 1.20 cycle on this issue 😄

@kikisdeliveryservice kikisdeliveryservice added the tracked/no Denotes an enhancement issue is NOT actively being tracked by the Release Team label Sep 24, 2020
@kikisdeliveryservice kikisdeliveryservice added this to the v1.21 milestone Sep 24, 2020
@kikisdeliveryservice kikisdeliveryservice added the stage/alpha Denotes an issue tracking an enhancement targeted for Alpha status label Sep 28, 2020
@fejta-bot
Copy link

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Dec 27, 2020
@xing-yang
Copy link
Contributor

/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jan 13, 2021
@annajung annajung added tracked/yes Denotes an enhancement issue is actively being tracked by the Release Team and removed tracked/no Denotes an enhancement issue is NOT actively being tracked by the Release Team labels Jan 14, 2021
@jrsapi
Copy link

jrsapi commented Jan 28, 2021

Greetings @wlan0 @xing-yang,

This is Joseph v 1.21 enhancement shadow. For the enhancement to be included in the 1.21 milestone, it must meet the following criteria:

The KEP must be merged in an implementable state
The KEP must have test plans Done
The KEP must have graduation criteria Done
The KEP must have a production readiness review

Also starting 1.21, all KEPs must include a production readiness review. Please make sure to take follow all the instructions and update the KEP to include this.

Thank you!

@jrsapi
Copy link

jrsapi commented Feb 8, 2021

@wlan0 @xing-yang

Enhancements Freeze is 2 days away, Feb 9th EOD PST

Please make sure to work on PRR questionnaires and requirements and get it merged before the freeze. For PRR related questions or to boost the PR for PRR review, please reach out in slack #prod-readiness

Any enhancements that do not complete the following requirements by the freeze will require an exception.

[DONE] The KEP must be merged in an implementable state
[IN PROGRESS] The KEP must have test plans
[DONE] The KEP must have graduation criteria
[IN PROGRESS] The KEP must have a production readiness review

@annajung
Copy link
Contributor

Hi @wlan0 ,

Enhancements Freeze is now in effect.

Unfortunately, KEP for this enhancement does not meet all the required criteria. If you wish to be included in the 1.21 Release, please submit an Exception Request as soon as possible.

/milestone clear

@k8s-ci-robot k8s-ci-robot removed this from the v1.21 milestone Feb 10, 2021
@annajung annajung added tracked/no Denotes an enhancement issue is NOT actively being tracked by the Release Team and removed tracked/yes Denotes an enhancement issue is actively being tracked by the Release Team labels Feb 10, 2021
@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Oct 16, 2022
@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle rotten

@k8s-ci-robot k8s-ci-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Nov 15, 2022
@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Reopen this issue with /reopen
  • Mark this issue as fresh with /remove-lifecycle rotten
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/close not-planned

@k8s-ci-robot k8s-ci-robot closed this as not planned Won't fix, can't repro, duplicate, stale Dec 15, 2022
@k8s-ci-robot
Copy link
Contributor

@k8s-triage-robot: Closing this issue, marking it as "Not Planned".

In response to this:

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Reopen this issue with /reopen
  • Mark this issue as fresh with /remove-lifecycle rotten
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/close not-planned

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.

@xing-yang xing-yang reopened this Jan 17, 2024
@xing-yang
Copy link
Contributor

/remove-lifecycle rotten

@k8s-ci-robot k8s-ci-robot removed the lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. label Jan 17, 2024
@xing-yang xing-yang added stage/beta Denotes an issue tracking an enhancement targeted for Beta status lead-opted-in Denotes that an issue has been opted in to a release and removed stage/alpha Denotes an issue tracking an enhancement targeted for Alpha status labels Jan 17, 2024
@xing-yang xing-yang added this to the v1.30 milestone Jan 17, 2024
@mickeyboxell
Copy link

Hello @wlan0 👋, Enhancements team here.

Just checking in as we approach enhancements freeze on 02:00 UTC Friday 9th February 2024 / 18:00 PDT Thursday 8th February 2024:.

This enhancement is targeting for stage beta for v1.30 (correct me, if otherwise)

Here's where this enhancement currently stands:

  • KEP readme using the latest template has been merged into the k/enhancements repo.
  • KEP status is marked as implementable for latest-milestone: 1.30. KEPs targeting stable will need to be marked as implemented after code PRs are merged and the feature gates are removed.
  • KEP readme has up-to-date graduation criteria
  • KEP has a production readiness review that has been completed and merged into k/enhancements. (For more information on the PRR process, check here).

For this KEP, we would just need to update the following:

  • The latest-milestone and stage should be updated to 1.30 and beta in the kep.yaml file.
  • The production readiness review should be completed and updated with the information for the targeting stage beta.
  • KEP status is marked as implementable for latest-milestone: 1.30.

The status of this enhancement is marked as at risk for enhancement freeze. Please keep the issue description up-to-date with appropriate stages as well. Thank you!

@xing-yang xing-yang removed this from the v1.30 milestone Feb 5, 2024
@xing-yang xing-yang removed the lead-opted-in Denotes that an issue has been opted in to a release label Feb 5, 2024
@mickeyboxell
Copy link

@xing-yang to confirm, is the plan to defer this to a later release?

@xing-yang
Copy link
Contributor

Hi @mickeyboxell,

We'll continue to work on it, but we are not targeting v1.30. Thanks!

cc @wlan0 @BlaineEXE

@salehsedghpour
Copy link
Contributor

/milestone clear

@pierreozoux
Copy link

Hi

we have a simple, custom, home made bucket object with a controller that reconcile on a minio cluster.
We'd like to move towards a standard, and we'd like to know the status of this KEP? Is it alpha? Can we start an implementation on this and give feedback?

Thanks!

@BlaineEXE
Copy link

@pierreozoux, COSI is currently in v1alpha1, and we are working toward v1beta1. The KEP design doc as approved for v1alpha1 can be found here: https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/1979-object-storage-support

We currently expect few to no breaking changes between API v1alpha1 and v1beta1. Please start an implementation if you desire. We are seeking user/developer feedback.

For more Q&A, please seek us out on the Kubernetes slack's #sig-storage-cosi channel link.

@haoxiaoci
Copy link

haoxiaoci commented Apr 15, 2024

@BlaineEXE @wlan0
I have some doubts regarding the COSI API design and I would appreciate your help with these questions:

  1. When I create a BucketClaim, I would like to be able to specify the name of the bucket, which is not an existing bucket but rather one that is created alongside the creation of the BucketClaim.
    it seems like that COSI API current alpha version does not support this feature. will this feature be supported in the current alpha or in subsequent versions?
  2. Suppose I have two BucketClaims (bc1 and bc2), which means I have created two new buckets(baclass-xxxbucket1, baclass-xxxbucket2). and then I create a BucketAccess (ba1), which means i have created one user (ba-xxx), how can I then grant user ba-xxx access to these two buckets(baclass-xxxbucket1, baclass-xxxbucket2)?
    i am not sure that the current COSI API design support this feature. if current COSI API design support this, I would be more than happy to learn how to implement it. and if current COSI API design does not support this, will this feature be supported in the current alpha or in subsequent versions?

@shanduur
Copy link
Member

@haoxiaoci Regarding 2:
You do not necessarily create new user in a BucketAccess. This depends completely on the driver implementation, but the consensus is to create new access credentials which are bound only to a single bucket.

@BlaineEXE
Copy link

BlaineEXE commented Apr 17, 2024

Regarding 1:
This cannot be done, because it is a security risk. If users are allowed to arbitrarily specify bucket names, they could easily be able to "hijack" the same-named bucket from another COSI bucket or from a non-COSI bucket in the backend.

Regarding 2:
I have it on my todo list to design and implement a multi-bucket:single-access workflow, but it's not ready yet.

@haoxiaoci
Copy link

haoxiaoci commented Apr 18, 2024

@BlaineEXE
Regarding 1:
i see... it should be concerned.
Regarding 2:
glad to know that it's on todo list. however, when is it expected to be completed and released? because we're considering how to integrate COSI

@BlaineEXE
Copy link

glad to know that it's on todo list. however, when is it expected to be completed and released? because we're considering how to integrate COSI

It will take time. The design must be approved by sig-storage members (outside of COSI wg), and then we must implement it. I hope that it'll be done before end of year.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
sig/storage Categorizes an issue or PR as relevant to SIG Storage. stage/beta Denotes an issue tracking an enhancement targeted for Beta status tracked/out-of-tree Denotes an out-of-tree enhancement issue, which does not need to be tracked by the Release Team
Projects
Status: Removed from Milestone
Development

No branches or pull requests