From 469e35611ad1fdb48d2b665aa8718143e6538351 Mon Sep 17 00:00:00 2001 From: Ardalan Kangarlou Date: Wed, 19 Dec 2018 02:13:08 -0500 Subject: [PATCH] Added support for raw block volumes for iSCSI PVs Added Trident logo --- CHANGELOG.md | 1 + README.md | 2 +- frontend/kubernetes/plugin.go | 4 ++++ logo/trident.png | Bin 0 -> 22300 bytes 4 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 logo/trident.png diff --git a/CHANGELOG.md b/CHANGELOG.md index bbc3ea321..88d5c8adb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ **Fixes:** **Enhancements:** +- **Kubernetes:** Added support for raw block volumes for iSCSI PVs. - **Kubernetes:** Enhanced the Trident installer to automatically add the backend with which Trident was installed for subsequent volume provisioning. **Deprecations:** diff --git a/README.md b/README.md index 89c67d0a1..a1a3ae660 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Trident +NetApp Trident [![Support](https://img.shields.io/badge/support-official-0067C5.svg)](http://mysupport.netapp.com/info/web/ECMLP2619434.html) [![Chat](https://img.shields.io/badge/chat-slack-4C9689.svg)](http://netapp.io/slack/) diff --git a/frontend/kubernetes/plugin.go b/frontend/kubernetes/plugin.go index 8135eadc0..73540eb1c 100644 --- a/frontend/kubernetes/plugin.go +++ b/frontend/kubernetes/plugin.go @@ -779,6 +779,10 @@ func (p *Plugin) createVolumeAndPV(uniqueName string, claim *v1.PersistentVolume return } pv.Spec.ISCSI = iscsiSource + if claim.Spec.VolumeMode != nil && + *claim.Spec.VolumeMode == v1.PersistentVolumeBlock { + pv.Spec.VolumeMode = claim.Spec.VolumeMode + } case driverType == drivers.OntapNASStorageDriverName || driverType == drivers.OntapNASQtreeStorageDriverName || driverType == drivers.OntapNASFlexGroupStorageDriverName: diff --git a/logo/trident.png b/logo/trident.png new file mode 100644 index 0000000000000000000000000000000000000000..7bf687c1e85958cc67badd833de9ca789608e5e3 GIT binary patch literal 22300 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 z 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 CodzNR literal 0 HcmV?d00001