Skip to content

Commit

Permalink
writable snapshot issues fixed (#241)
Browse files Browse the repository at this point in the history
  • Loading branch information
Sakshi-dell authored Nov 12, 2024
1 parent b97ccf2 commit 9ea5ea5
Show file tree
Hide file tree
Showing 7 changed files with 23 additions and 17 deletions.
2 changes: 1 addition & 1 deletion docs/data-sources/writable_snapshot.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ data "powerscale_writable_snapshot" "all_snaps" {
# Returns a the PowerScale Writable Snapshot with given Path
data "powerscale_writable_snapshot" "test" {
filter {
path = "/ifs/path/to/writable/snap"
path = "/ifs/writable_snap"
limit = 5
}
}
Expand Down
8 changes: 4 additions & 4 deletions docs/resources/writable_snapshot.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,10 +73,10 @@ variable "num_writable_snapshots" {
}
# Example to create multiple writable snapshots from a single snapshot
resource "powerscale_writable_snapshot" "writablesnap" {
resource "powerscale_writable_snapshot" "writablesnap_multiple1" {
count = var.num_writable_snapshots
dst_path = "/ifs/writable_snapshot${count.index}"
dst_path = "/ifs/writable_snapshot_snap${count.index}"
snap_id = var.snap_id
}
Expand Down Expand Up @@ -108,7 +108,7 @@ locals {
]
}
resource "powerscale_writable_snapshot" "writablesnap" {
resource "powerscale_writable_snapshot" "writablesnap_multiple2" {
for_each = { for snap in local.writable_snapshots : snap.dst_path => snap }
dst_path = each.value.dst_path
Expand All @@ -119,7 +119,7 @@ resource "powerscale_writable_snapshot" "writablesnap" {
# Scenario 3
# To create a single writable snapshot
resource "powerscale_writable_snapshot" "writablesnap" {
resource "powerscale_writable_snapshot" "writablesnap_single" {
# dst_path is the path of the writable snapshot.
dst_path = "/ifs/writable_snapshot"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ data "powerscale_writable_snapshot" "all_snaps" {
# Returns a the PowerScale Writable Snapshot with given Path
data "powerscale_writable_snapshot" "test" {
filter {
path = "/ifs/path/to/writable/snap"
path = "/ifs/writable_snap"
limit = 5
}
}
Expand Down
8 changes: 4 additions & 4 deletions examples/resources/powerscale_writable_snapshot/resource.tf
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,10 @@ variable "num_writable_snapshots" {
}

# Example to create multiple writable snapshots from a single snapshot
resource "powerscale_writable_snapshot" "writablesnap" {
resource "powerscale_writable_snapshot" "writablesnap_multiple1" {
count = var.num_writable_snapshots

dst_path = "/ifs/writable_snapshot${count.index}"
dst_path = "/ifs/writable_snapshot_snap${count.index}"
snap_id = var.snap_id
}

Expand Down Expand Up @@ -76,7 +76,7 @@ locals {
]
}

resource "powerscale_writable_snapshot" "writablesnap" {
resource "powerscale_writable_snapshot" "writablesnap_multiple2" {
for_each = { for snap in local.writable_snapshots : snap.dst_path => snap }

dst_path = each.value.dst_path
Expand All @@ -87,7 +87,7 @@ resource "powerscale_writable_snapshot" "writablesnap" {
# Scenario 3
# To create a single writable snapshot

resource "powerscale_writable_snapshot" "writablesnap" {
resource "powerscale_writable_snapshot" "writablesnap_single" {
# dst_path is the path of the writable snapshot.
dst_path = "/ifs/writable_snapshot"

Expand Down
3 changes: 3 additions & 0 deletions powerscale/helper/writable_snapshot_helper.go
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,9 @@ func GetAllWritableSnapshots(ctx context.Context, client *client.Client, state *
}
}
resp, _, err := writablesnapshots.Execute()
if err != nil {
return resp, err
}
// pagination
for resp.Resume != nil && (state.WritableSnapshotFilter == nil || state.WritableSnapshotFilter.Limit.IsNull()) {
writablesnapshots = writablesnapshots.Resume(*resp.Resume)
Expand Down
4 changes: 2 additions & 2 deletions powerscale/provider/writable_snapshots_resource.go
Original file line number Diff line number Diff line change
Expand Up @@ -248,9 +248,9 @@ func (r *WritableSnapshotResource) ImportState(ctx context.Context, req resource
// Read the resource state
var state models.WritableSnapshot
// Update the writable snapshot settings
writableSnapshotResponse, err := helper.GetWritableSnapshot(ctx, r.client, state.DstPath.ValueString())
writableSnapshotResponse, err := helper.GetWritableSnapshot(ctx, r.client, req.ID)
if err != nil {
errStr := constants.ReadWritableSnapshotErrorMsg + "with error: "
errStr := constants.ReadWritableSnapshotErrorMsg + " with error: "
message := helper.GetErrorString(err, errStr)
resp.Diagnostics.AddError(
"Error reading writable snapshot",
Expand Down
13 changes: 8 additions & 5 deletions powerscale/provider/writable_snapshots_resource_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,9 @@ func TestAccwritableSnapshotResourceImport(t *testing.T) {
// Create Success
{
PreConfig: func() {
FunctionMocker.Release()
if FunctionMocker != nil {
FunctionMocker.Release()
}
},
Config: ProviderConfig + writableSnapshotResourceConfig,
Check: resource.ComposeAggregateTestCheckFunc(
Expand All @@ -65,10 +67,11 @@ func TestAccwritableSnapshotResourceImport(t *testing.T) {
PreConfig: func() {
FunctionMocker.Release()
},
Config: ProviderConfig + writableSnapshotResourceConfig,
ResourceName: writableSnapshotResourceName,
ImportState: true,
ExpectError: nil,
Config: ProviderConfig + writableSnapshotResourceConfig,
ResourceName: writableSnapshotResourceName,
ImportState: true,
ImportStateId: "/ifs/abcd",
ExpectError: nil,
ImportStateCheck: func(s []*terraform.InstanceState) error {
resource.TestCheckResourceAttrSet(writableSnapshotResourceName, "dst_path")
resource.TestCheckResourceAttrSet(writableSnapshotResourceName, "src_path")
Expand Down

0 comments on commit 9ea5ea5

Please sign in to comment.