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

DRAFT: Add support for multiple storage types #275

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

optik-aper
Copy link
Member

@optik-aper optik-aper commented Jan 13, 2025

Description

Builds out the functionality to allow multiple storage types in govultr to be used by the CSI.

  • Add Internal package vultrstorage abstracts the interfaces between the govultr and the CSI API.
  • Adds support for virtual filesystem as well as maintains support for block storage.
  • Add support for multi-node RWX storages
  • TODO: need to check tests
  • TODO: release docs
  • TODO: migrating old versions

Checklist:

  • Have you checked to ensure there aren't other open Pull Requests for the same update/change?
  • Have you linted your code locally prior to submission?
  • Have you successfully ran tests with your changes locally?

Internal package vultrstorage abstracts the interfaces between the Vultr
API and the CSI API.  Adds support for virtual filesystem as well as
maintains support for block storage.
@optik-aper optik-aper added the enhancement New feature or request label Jan 13, 2025
@optik-aper optik-aper self-assigned this Jan 13, 2025
Copy link

Unit Tests and Coverage

Show Output
	github.com/vultr/vultr-csi/cmd/csi-vultr-driver		coverage: 0.0%25 of statements%0A=== RUN   TestCreateVolume%0Atime="2025-01-13T19:52:12Z" level=info msg="Create Volume: called" capabilities="[mount:{} access_mode:{mode:SINGLE_NODE_WRITER}]" test="create volume" volume-name=volume-test-name%0Atime="2025-01-13T19:52:13Z" level=info msg="Create Volume: created volume" size=10737418240 test="create volume" volume-id=c56c7b6e-15c2-445e-9a5d-1063ab5828ec volume-name=test-bs volume-size=10%0A--- PASS: TestCreateVolume (1.00s)%0A=== RUN   TestDeleteVolume%0Atime="2025-01-13T19:52:13Z" level=info msg="Delete volume: called" test="delete volume" volume-id=c56c7b6e-15c2-445e-9a5d-1063ab5828ec%0Atime="2025-01-13T19:52:13Z" level=info msg="Delete Volume: deleted" test="delete volume" volume-id=c56c7b6e-15c2-445e-9a5d-1063ab5828ec%0A--- PASS: TestDeleteVolume (0.00s)%0A=== RUN   TestPublishVolume%0A--- PASS: TestPublishVolume (0.00s)%0A=== RUN   TestUnPublishVolume%0Atime="2025-01-13T19:52:13Z" level=info msg="Controller Publish Unpublish: called" node-id=c56c7b6e-15c2-445e-9a5d-1063ab5828ec test="delete volume" volume-id=245bb2fe-b55c-44a0-9a1e-ab80e4b5f088%0Atime="2025-01-13T19:52:13Z" level=info msg="Controller Unublish Volume: unpublished" node-id=c56c7b6e-15c2-445e-9a5d-1063ab5828ec test="delete volume" volume-id=245bb2fe-b55c-44a0-9a1e-ab80e4b5f088%0A--- PASS: TestUnPublishVolume (0.00s)%0A=== RUN   TestDriverSuite%0A--- PASS: TestDriverSuite (0.00s)%0APASS%0Atime="2025-01-13T19:52:13Z" level=info msg="Start listening with scheme unix, addr /tmp/csi.sock"%0Atime="2025-01-13T19:52:13Z" level=info msg="Listening for connections on address: &net.UnixAddr{Name:"/tmp/csi.sock", Net:"unix"}" address=/tmp/csi.sock proto=unix%0Acoverage: 29.2%25 of statements%0Aok  	github.com/vultr/vultr-csi/driver	1.006s	coverage: 29.2%25 of statements

Pusher: @optik-aper, Action: pull_request_target

@optik-aper optik-aper marked this pull request as draft January 13, 2025 19:53
Copy link

Unit Tests and Coverage

Show Output
	github.com/vultr/vultr-csi/cmd/csi-vultr-driver		coverage: 0.0%25 of statements%0A=== RUN   TestCreateVolume%0Atime="2025-01-13T19:52:12Z" level=info msg="Create Volume: called" capabilities="[mount:{} access_mode:{mode:SINGLE_NODE_WRITER}]" test="create volume" volume-name=volume-test-name%0Atime="2025-01-13T19:52:13Z" level=info msg="Create Volume: created volume" size=10737418240 test="create volume" volume-id=c56c7b6e-15c2-445e-9a5d-1063ab5828ec volume-name=test-bs volume-size=10%0A--- PASS: TestCreateVolume (1.00s)%0A=== RUN   TestDeleteVolume%0Atime="2025-01-13T19:52:13Z" level=info msg="Delete volume: called" test="delete volume" volume-id=c56c7b6e-15c2-445e-9a5d-1063ab5828ec%0Atime="2025-01-13T19:52:13Z" level=info msg="Delete Volume: deleted" test="delete volume" volume-id=c56c7b6e-15c2-445e-9a5d-1063ab5828ec%0A--- PASS: TestDeleteVolume (0.00s)%0A=== RUN   TestPublishVolume%0A--- PASS: TestPublishVolume (0.00s)%0A=== RUN   TestUnPublishVolume%0Atime="2025-01-13T19:52:13Z" level=info msg="Controller Publish Unpublish: called" node-id=c56c7b6e-15c2-445e-9a5d-1063ab5828ec test="delete volume" volume-id=245bb2fe-b55c-44a0-9a1e-ab80e4b5f088%0Atime="2025-01-13T19:52:13Z" level=info msg="Controller Unublish Volume: unpublished" node-id=c56c7b6e-15c2-445e-9a5d-1063ab5828ec test="delete volume" volume-id=245bb2fe-b55c-44a0-9a1e-ab80e4b5f088%0A--- PASS: TestUnPublishVolume (0.00s)%0A=== RUN   TestDriverSuite%0A--- PASS: TestDriverSuite (0.00s)%0APASS%0Atime="2025-01-13T19:52:13Z" level=info msg="Start listening with scheme unix, addr /tmp/csi.sock"%0Atime="2025-01-13T19:52:13Z" level=info msg="Listening for connections on address: &net.UnixAddr{Name:"/tmp/csi.sock", Net:"unix"}" address=/tmp/csi.sock proto=unix%0Acoverage: 29.2%25 of statements%0Aok  	github.com/vultr/vultr-csi/driver	(cached)	coverage: 29.2%25 of statements

Pusher: @optik-aper, Action: pull_request_target

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant