• Lang Martin's avatar
    csi: server-side plugin state tracking and api (#6966) · 15ffae27
    Lang Martin authored
    * structs: CSIPlugin indexes jobs acting as plugins and node updates
    
    * schema: csi_plugins table for CSIPlugin
    
    * nomad: csi_endpoint use vol.Denormalize, plugin requests
    
    * nomad: csi_volume_endpoint: rename to csi_endpoint
    
    * agent: add CSI plugin endpoints
    
    * state_store_test: use generated ids to avoid t.Parallel conflicts
    
    * contributing: add note about registering new RPC structs
    
    * command: agent http register plugin lists
    
    * api: CSI plugin queries, ControllerHealthy -> ControllersHealthy
    
    * state_store: copy on write for volumes and plugins
    
    * structs: copy on write for volumes and plugins
    
    * state_store: CSIVolumeByID returns an unhealthy volume, denormalize
    
    * nomad: csi_endpoint use CSIVolumeDenormalizePlugins
    
    * structs: remove struct errors for missing objects
    
    * nomad: csi_endpoint return nil for missing objects, not errors
    
    * api: return meta from Register to avoid EOF error
    
    * state_store: CSIVolumeDenormalize keep allocs in their own maps
    
    * state_store: CSIVolumeDeregister error on missing volume
    
    * state_store: CSIVolumeRegister set indexes
    
    * nomad: csi_endpoint use CSIVolumeDenormalizePlugins tests
    15ffae27