Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -45,16 +45,23 @@ drivers:
- nouuid
- name: csi.weka.io
provider: weka
# Fresh ReadWriteMany and ReadOnlyMany claims were tested, but a cache
# workflow was not, so nothing is qualified yet.
accessModes: []
# Weka is a shared filesystem: one ReadWriteMany claim per cache handle,
# populated once and mounted read-only by every reader, with no derived
# reader PV, so readerMountOptions stays empty. Enabled so the cache
# workflows can be exercised; record the qualification run in the pull
# request that flips this entry.
accessModes:
- ReadWriteMany
readerMountOptions: []
- name: fss.csi.oraclecloud.com
provider: ociFss
# A ReadWriteMany claim was tested; its readers used read-only Pod mounts,
# which is not evidence for a ReadOnlyMany claim. No cache workflow was
# qualified.
accessModes: []
# OCI File Storage is NFS: one ReadWriteMany claim per cache handle,
# populated once and mounted read-only by every reader, with no derived
# reader PV, so readerMountOptions stays empty. Enabled so the cache
# workflows can be exercised; record the qualification run in the pull
# request that flips this entry.
accessModes:
- ReadWriteMany
Comment thread
coderabbitai[bot] marked this conversation as resolved.
readerMountOptions: []
- name: lustre.csi.oraclecloud.com
provider: ociLustre
Expand Down
2 changes: 1 addition & 1 deletion docs/dev/sdd-storage-agnostic-cache-architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ drivers:
encryptionSupported: true
- name: csi.weka.io
provider: weka
accessModes: []
accessModes: [ReadWriteMany]
Comment thread
coderabbitai[bot] marked this conversation as resolved.
readerMountOptions: []
```

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,16 +45,23 @@ drivers:
- nouuid
- name: csi.weka.io
provider: weka
# Fresh ReadWriteMany and ReadOnlyMany claims were tested, but a cache
# workflow was not, so nothing is qualified yet.
accessModes: []
# Weka is a shared filesystem: one ReadWriteMany claim per cache handle,
# populated once and mounted read-only by every reader, with no derived
# reader PV, so readerMountOptions stays empty. Enabled so the cache
# workflows can be exercised; record the qualification run in the pull
# request that flips this entry.
accessModes:
- ReadWriteMany
readerMountOptions: []
- name: fss.csi.oraclecloud.com
provider: ociFss
# A ReadWriteMany claim was tested; its readers used read-only Pod mounts,
# which is not evidence for a ReadOnlyMany claim. No cache workflow was
# qualified.
accessModes: []
# OCI File Storage is NFS: one ReadWriteMany claim per cache handle,
# populated once and mounted read-only by every reader, with no derived
# reader PV, so readerMountOptions stays empty. Enabled so the cache
# workflows can be exercised; record the qualification run in the pull
# request that flips this entry.
accessModes:
- ReadWriteMany
readerMountOptions: []
- name: lustre.csi.oraclecloud.com
provider: ociLustre
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -380,18 +380,27 @@ func TestShippedStorageCapabilityCatalog(t *testing.T) {
require.NotNil(t, nvmesh.ReaderMountOptions)
assert.Equal(t, []string{"ro", "norecovery", "nouuid"}, *nvmesh.ReaderMountOptions)

// Weka, FSS and Lustre are recorded but not qualified for a cache workflow,
// so they carry no access modes and caching stays off for them. Enabling
// one is an edit to its accessModes, backed by a qualification run.
for _, provisioner := range []string{"csi.weka.io", "fss.csi.oraclecloud.com", "lustre.csi.oraclecloud.com"} {
// Weka and OCI FSS are shared filesystems enabled on the ReadWriteMany
// shape: one shared claim, readers mount it read-only, no derived reader
// PV and therefore no reader mount options.
for _, provisioner := range []string{"csi.weka.io", "fss.csi.oraclecloud.com"} {
driver, ok := catalog.Drivers[provisioner]
require.True(t, ok, provisioner)
require.NotNil(t, driver.AccessModes, provisioner)
assert.Empty(t, *driver.AccessModes, provisioner)
assert.Equal(t, []string{"ReadWriteMany"}, *driver.AccessModes, provisioner)
require.NotNil(t, driver.ReaderMountOptions, provisioner)
assert.Empty(t, *driver.ReaderMountOptions, provisioner)
}

// Lustre is recorded but not enabled for a cache workflow, so it carries
// no access modes and caching stays off for it.
lustre, ok := catalog.Drivers["lustre.csi.oraclecloud.com"]
require.True(t, ok)
require.NotNil(t, lustre.AccessModes)
assert.Empty(t, *lustre.AccessModes)
require.NotNil(t, lustre.ReaderMountOptions)
assert.Empty(t, *lustre.ReaderMountOptions)

schemaRaw, err := os.ReadFile(filepath.Join(chartDir, "files", "nvcf-storage-capabilities-v1alpha1.schema.json"))
require.NoError(t, err)
assert.True(t, json.Valid(schemaRaw), "shipped JSON schema must be valid JSON")
Expand Down
Loading