Skip to content

Conversation

@guilhem
Copy link
Contributor

@guilhem guilhem commented Mar 20, 2025

The main goal of this PR is to reflect current Linode volume behavior.

  1. controller resize PV
  2. controller ask for node resizing
  3. node resizing fail with precondition failing: pv have to be moved
    • if volume size in API != real disk size -> need to be moved (detach / attach)
  4. when moved, resizing is done and pod can used space

Example:

  • editing PVC adding space
  • describe pvc
       Warning  ExternalExpanding         13s (x14 over 4d1h)   volume_expand                             waiting for an external controller to expand this PVC
       Normal   Resizing                  13s (x16 over 9m21s)  external-resizer linodebs.csi.linode.com  External resizer is resizing volume pvc-91e59a56f0ce4260
       Normal   FileSystemResizeRequired  7s                    external-resizer linodebs.csi.linode.com  Require file system resize of volume on node
    
  • kubectl cordon node
  • kubectl delete pod NAME
  • kubectl describe pod NAME
      Normal   SuccessfulAttachVolume      8s               attachdetach-controller  AttachVolume.Attach succeeded for volume "pvc-91e59a56f0ce4260"
      Normal   FileSystemResizeSuccessful  7s (x2 over 7s)  kubelet                  MountVolume.NodeExpandVolume succeeded for volume "pvc-91e59a56f0ce4260" glettron-worker-0
    
  • kubectl describe pvc
      Normal   FileSystemResizeSuccessful  33s (x2 over 33s)     kubelet                                    MountVolume.NodeExpandVolume succeeded for volume "pvc-91e59a56f0ce4260" glettron-worker-0
    

This pull request includes several changes to the CI workflow, controller server, node server, and test files to improve error handling, logging, and test coverage.

CI Workflow Improvements:

Controller Server Enhancements:

Node Server Enhancements:

Test Coverage Improvements:

General:

  • Have you removed all sensitive information, including but not limited to access keys and passwords?
  • Have you checked to ensure there aren't other open or closed Pull Requests for the same bug/feature/question?

Pull Request Guidelines:

  1. Does your submission pass tests?
  2. Have you added tests?
  3. Are you addressing a single feature in this PR?
  4. Are your commits atomic, addressing one change per commit?
  5. Are you following the conventions of the language?
  6. Have you saved your large formatting changes for a different PR, so we can focus on your work?
  7. Have you explained your rationale for why this feature is needed?
  8. Have you linked your PR to an open issue

@codecov
Copy link

codecov bot commented Mar 20, 2025

Codecov Report

Attention: Patch coverage is 34.28571% with 23 lines in your changes missing coverage. Please review.

Project coverage is 73.65%. Comparing base (c9f70f5) to head (b1f5fc9).
Report is 4 commits behind head on main.

Files with missing lines Patch % Lines
internal/driver/nodeserver.go 20.00% 12 Missing and 4 partials ⚠️
internal/driver/nodeserver_helpers.go 45.45% 4 Missing and 2 partials ⚠️
internal/driver/controllerserver.go 75.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #400      +/-   ##
==========================================
- Coverage   74.15%   73.65%   -0.50%     
==========================================
  Files          23       23              
  Lines        2743     2775      +32     
==========================================
+ Hits         2034     2044      +10     
- Misses        578      594      +16     
- Partials      131      137       +6     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Contributor

@komer3 komer3 left a comment

Choose a reason for hiding this comment

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

lgtm!

@guilhem guilhem merged commit 583a7cc into main Mar 24, 2025
6 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugfix for any bug fixes in the changelog.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants