> On Dec. 5, 2017, 2:08 p.m., James DeFelice wrote: > > src/resource_provider/storage/provider.cpp > > Lines 1203 (patched) > > <https://reviews.apache.org/r/63022/diff/15/?file=1908557#file1908557line1211> > > > > some plugins might not implement create/delete, but DO implement list. > > such a plugin might only support "block"- (or only support "mount"-) type > > volumes. in such cases, it could be useful to report those resources as > > BLOCK (or MOUNT) volumes instead of RAW. I don't *think* it's a blocker for > > MVP, but we've had a couple of conversations recently about exposing > > low-level primitives to specialized storage frameworks, and that it might > > be useful to report block devices as BLOCK disk resources, by default.
The framework should decide whether to convert the RAW into either MOUNT or BLOCK based on how it intends to use the volume. This does raise one valid case for default profile. Currently, the default profile will call `ValidateVolumeCapabilities` using `MountVolume` capability. It does not test for if the volume supports BlockVolume or not. That mean for pre-existing volume, CreateVolume/CreateBlock handler will need to call `ValidateVolumeCapabilities` before it converts the resources to either MOUNT/PATH, or BLOCK. That makes me wonder if we need to call `ValidateVolumeCapabilities` at all for volumes that does not have a profile. - Jie ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/63022/#review192864 ----------------------------------------------------------- On Dec. 5, 2017, 5:57 a.m., Chun-Hung Hsiao wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/63022/ > ----------------------------------------------------------- > > (Updated Dec. 5, 2017, 5:57 a.m.) > > > Review request for mesos, James DeFelice, Jie Yu, Joseph Wu, and Jan Schlicht. > > > Bugs: MESOS-8101 > https://issues.apache.org/jira/browse/MESOS-8101 > > > Repository: mesos > > > Description > ------- > > The following lists the steps to reconcile resources: > > 1. Import resources from the CSI plugin: > a. Get preprovisioned volumes: > ListVolumes > ValidateVolumeCapabilities for each volume > b. GetCapacity for each profile to get RAW resources > 2. For each resource in the checkpointed resources: > a. Strip away metadata (reservation, persistence, etc) > b. Additional resources after subtracting the stripped resources > from the imported resources are new resources. > 3. Report the reconciled resources through UPDATE_STATE > > > Diffs > ----- > > src/resource_provider/storage/provider.cpp > d35b0d02992e3730ca47906b34c21e1ba9c653e7 > > > Diff: https://reviews.apache.org/r/63022/diff/16/ > > > Testing > ------- > > > Thanks, > > Chun-Hung Hsiao > >