• Kubernetes Submit Queue's avatar
    Merge pull request #57422 from joelsmith/nested_data_vol · 3c99777d
    Kubernetes Submit Queue authored
    Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
    
    Rework method of updating atomic-updated data volumes
    
    **What this PR does / why we need it**:
    
    This change affects the way that secret, configmap, downwardAPI and projected volumes (which all use the same underlying code) implement their data update functionality.
    
    * Instead of creating a subdirectory hierarchy that will contain symlinks to each actual data file, create only symlinks to items in the root of the volume, whether they be files or directories.
    * Rather than comparing the user-visible data directory to see if an update is needed, compare with the current version of the data directory.
    * Fix data dir timestamp format year
    * Create `..data` symlink even when a data volume has no data so consumers can have simplified update watch logic.
    
    **Which issue(s) this PR fixes**:
    Fixes #57421
    
    **Release note**:
    ```release-note
    Correct issues that arise when volumes are mounted beneath another secret, configmap, downwardAPI or projected volume
    ```
    3c99777d
Name
Last commit
Last update
..
nestedpendingoperations Loading commit data...
operationexecutor Loading commit data...
types Loading commit data...
volumehelper Loading commit data...
BUILD Loading commit data...
OWNERS Loading commit data...
atomic_writer.go Loading commit data...
atomic_writer_test.go Loading commit data...
device_util.go Loading commit data...
device_util_linux.go Loading commit data...
device_util_linux_test.go Loading commit data...
device_util_unsupported.go Loading commit data...
doc.go Loading commit data...
error.go Loading commit data...
finalizer.go Loading commit data...
fs.go Loading commit data...
fs_unsupported.go Loading commit data...
io_util.go Loading commit data...
metrics.go Loading commit data...
util.go Loading commit data...
util_linux.go Loading commit data...
util_test.go Loading commit data...
util_unsupported.go Loading commit data...