Giter Site home page Giter Site logo

kubernetes-sigs / container-object-storage-interface-csi-adapter Goto Github PK

View Code? Open in Web Editor NEW
18.0 10.0 18.0 160 KB

CSI driver to bootstrap COSI workloads

License: Apache License 2.0

Makefile 1.35% Go 97.74% Shell 0.05% Dockerfile 0.87%
k8s-sig-storage

container-object-storage-interface-csi-adapter's People

Contributors

brahmaroutu avatar cpanato avatar k8s-ci-robot avatar krishchow avatar mengjiao-liu avatar mrbobbytables avatar nicolast avatar nikhita avatar somersbmatthews avatar tparikh avatar wlan0 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

container-object-storage-interface-csi-adapter's Issues

Add deployment yamls

Create deployment yamls that will deploy the csi adapter that can be used to deploy just those components, or be part of a global deploy that would deploy all of object storage.

Other components of object storage have been using kustomize to do this, so this needs to fit into that scheme.

Issue/PR Templates

This repo should have Issue/PR templates similar to the other COSI repositories. This will make the process for opening up issues (and resolving them) more streamlined and consistent. repository

Better error codes on failure

Currently, we are using the gRPC internal error code for most of the errors. This is not really good practice, and we should instead replace these with using more informative/relevant error codes.

CSI Node Failure and the BA Finalizer

We are planning on adding a finalizer onto the Bucket Access Publish and removing the finalizer on Unpublish. But the behavior of this when the node dies is undefined. We are using ephemeral volumes, with the VolumeID as a part of the finalizer.

At an initial glance, if the pod is rescheduled with the same VolumeID onto another node, then we do not have any issues. We just need to validate that this is the behavior, and if it is not, plan another way to address this issue.

Add deployment documentation

Now that kustomize files have been added to the root of the project, we need a getting started guide which explains how to deploy and concerns around it. The deployment step itself is a single command now:

  kubectl create -k github.com/kubernetes-sigs/container-object-csi-adapter

Emit events for provisoner on pod

Enhancement

Is your feature request related to a problem?/Why is this needed
We should provide feedback from the provisioner to the application pod when a COSI bucket is being created

Describe the solution you'd like in detail
TBD

Describe alternatives you've considered
This is more of a nice to have than required, we should provide feedback for UX where possible.

RBAC rules for CSI adapter needs updates

It looks like in fc868d0#diff-184694ad6baa9738a47d41dde3dfaa5f8d8ecccd555520740748c51c7d31223bR163 (from #32) code was added which retrieved Pod information from the apiserver from inside the CSI driver. However, the related RBAC manifest wasn't updated to let the objectstorage-csi-adapter-sa get the "pods" resource, causing a Pod consuming a B/BA not to start:

Events:
  Type     Reason       Age              From                         Message
  ----     ------       ----             ----                         -------
  Normal   Scheduled    5s               default-scheduler            Successfully assigned default/object-storage-consumer to kind-control-plane
  Warning  FailedMount  1s (x4 over 5s)  kubelet, kind-control-plane  MountVolume.SetUp failed for volume "cosi-secrets" : rpc error: code = FailedPrecondition desc = pods "object-storage-consumer" is forbidden: User "system:serviceaccount:default:objectstorage-csi-adapter-sa" cannot get resource "pods" in API group "" in the namespace "default"

Adding this to the ClusterRole in resources/rbac.yaml likely fixes this (untested, I can do a PR later).

What happened: CI for cosi-driver-sample fails

What you expected to happen: CI for cosi-driver-sample to succeed

How to reproduce this bug (as minimally and precisely as possible): Run a driver with the sidecar and the CSI adapter, then run a basic scenario launching a Pod consuming a Bucket

Environment:

  • Kubernetes version (use kubectl version), please list client and server: 1.20.2
  • CSI Adapter version (provide the release tag or commit hash): Canary
  • Provisoner name and version (provide the release tag or commit hash): cosi-driver-sample, custom branch

Add finalizer for Bucket

We need to add and remove a finalized for the volumeId during the on publish/unpublish steps respectively.

Update README.md

The current readme.md is out of date, and does not give guidelines for new persons interested in the project to easily get started and contribute.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.