Skip to content

Commit 4f44a9a

Browse files
aayushsss1BBBmau
andauthored
ReadWriteOncePod access mode added to PVs (#2488)
* ReadWriteOncePod access mode support added to PVs * updated documentation * added changelog * add ReadWriteOncePod in gcloud test * create ReadWriteOncePod test --------- Co-authored-by: Mauricio Alvarez Leon <[email protected]> Co-authored-by: BBBmau <[email protected]>
1 parent 654deae commit 4f44a9a

File tree

5 files changed

+51
-0
lines changed

5 files changed

+51
-0
lines changed

.changelog/2488.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
```release-note:enhancement
2+
`resource/kubernetes_persistent_volume_v1`: support `ReadWriteOncePod` access mode for PVs
3+
```

kubernetes/data_source_kubernetes_persistent_volume_v1.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ func dataSourceKubernetesPersistentVolumeV1() *schema.Resource {
3636
"ReadWriteOnce",
3737
"ReadOnlyMany",
3838
"ReadWriteMany",
39+
"ReadWriteOncePod",
3940
}, false),
4041
},
4142
Set: schema.HashString,

kubernetes/resource_kubernetes_persistent_volume_v1.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@ func resourceKubernetesPersistentVolumeV1() *schema.Resource {
9595
"ReadWriteOnce",
9696
"ReadOnlyMany",
9797
"ReadWriteMany",
98+
"ReadWriteOncePod",
9899
}, false),
99100
},
100101
Set: schema.HashString,

kubernetes/resource_kubernetes_persistent_volume_v1_test.go

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -734,6 +734,31 @@ func TestAccKubernetesPersistentVolumeV1_hostPath_mountOptions(t *testing.T) {
734734
})
735735
}
736736

737+
func TestAccKubernetesPersistentVolumeV1_accessMode_ReadWriteOncePod(t *testing.T) {
738+
var conf api.PersistentVolume
739+
randString := acctest.RandStringFromCharSet(10, acctest.CharSetAlphaNum)
740+
name := fmt.Sprintf("tf-acc-test-%s", randString)
741+
resourceName := "kubernetes_persistent_volume_v1.test"
742+
743+
resource.ParallelTest(t, resource.TestCase{
744+
PreCheck: func() { testAccPreCheck(t) },
745+
IDRefreshName: resourceName,
746+
IDRefreshIgnore: []string{"metadata.0.resource_version"},
747+
ProviderFactories: testAccProviderFactories,
748+
CheckDestroy: testAccCheckKubernetesPersistentVolumeV1Destroy,
749+
Steps: []resource.TestStep{
750+
{
751+
Config: testAccKubernetesPersistentVolumeV1Config_accessMode_ReadWriteOncePod(name),
752+
Check: resource.ComposeAggregateTestCheckFunc(
753+
testAccCheckKubernetesPersistentVolumeV1Exists(resourceName, &conf),
754+
resource.TestCheckResourceAttr(resourceName, "spec.0.access_modes.#", "1"),
755+
resource.TestCheckResourceAttr(resourceName, "spec.0.access_modes.0", "ReadWriteOncePod"),
756+
),
757+
},
758+
},
759+
})
760+
}
761+
737762
func TestAccKubernetesPersistentVolumeV1_csi_basic(t *testing.T) {
738763
var conf api.PersistentVolume
739764
name := acctest.RandomWithPrefix("tf-acc-test")
@@ -1879,6 +1904,26 @@ func testAccKubernetesPersistentVolumeV1Config_hostPath_mountOptions(name string
18791904
}`, name)
18801905
}
18811906

1907+
func testAccKubernetesPersistentVolumeV1Config_accessMode_ReadWriteOncePod(name string) string {
1908+
return fmt.Sprintf(`resource "kubernetes_persistent_volume_v1" "test" {
1909+
metadata {
1910+
name = "%s"
1911+
}
1912+
spec {
1913+
capacity = {
1914+
storage = "1Gi"
1915+
}
1916+
access_modes = ["ReadWriteOncePod"]
1917+
mount_options = ["foo"]
1918+
persistent_volume_source {
1919+
host_path {
1920+
path = "/mnt/local-volume"
1921+
}
1922+
}
1923+
}
1924+
}`, name)
1925+
}
1926+
18821927
func testAccKubernetesPersistentVolumeV1Config_hostPath_basic(name string) string {
18831928
return fmt.Sprintf(`resource "kubernetes_persistent_volume_v1" "test" {
18841929
metadata {

kubernetes/schema_persistent_volume_claim.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ func persistentVolumeClaimSpecFields() map[string]*schema.Schema {
3737
"ReadWriteOnce",
3838
"ReadOnlyMany",
3939
"ReadWriteMany",
40+
"ReadWriteOncePod",
4041
}, false),
4142
},
4243
Set: schema.HashString,

0 commit comments

Comments
 (0)