Skip to content

Set-Pfa2ProtectionGroupSnapshotTagBatch returns HTTP 500 when -ContextName targets a remote fleet array #1

Description

@nocentino

Summary

PUT /api/2.51/protection-group-snapshots/tags/batch?context_names=<remote-array>&resource_names=<snap> returns HTTP 500 InternalServerError (willRetry=False) on every remote fleet array. The identical call without context_names (targeting the gateway directly) succeeds.

Environment

Gateway sn1-x90r2-f06-27 — Purity//FA 6.10.4, API 2.51
Remote arrays tested sn1-x90r2-f07-27, sn1-x90r2-f06-33, sn1-c60-e12-16 (all fail)
SDK PureStoragePowerShellSDK2 2.47.190
PowerShell 7.5.2 / macOS

Failing request

PUT /api/2.51/protection-group-snapshots/tags/batch
    ?context_names=sn1-c60-e12-16
    &resource_names=aen-mongodb-pg.om-20260518-161954

→ HTTP 500  InternalServerError  (willRetry=False)
   {"message":"Unidentified internal error."}

Verbose SDK log:

Error: Exception uri=.../protection-group-snapshots/tags/batch, attempt=0, willRetry=False
PureRestException: HttpStatusCode = 'InternalServerError', RestErrorCode = 'InternalError'
Details = '[{"message":"Unidentified internal error.","location_context":null}]'

Passing request (no context_names)

PUT /api/2.51/protection-group-snapshots/tags/batch
    ?resource_names=aen-mongodb-pg.om-20260518-161954

→ HTTP 200  ✓

Repro

Self-contained script: tests/Repro-PgSnapshotTagContextNames.ps1

pwsh ./tests/Repro-PgSnapshotTagContextNames.ps1

Connects to the gateway, finds the most-recent PG snapshot, attempts a test tag write via -ContextName for each remote array, then repeats without -ContextName. Full VERBOSE HTTP traces are included in output.

Impact

Post-snapshot metadata tags (mongo:postSnap, mongo:t1ts) cannot be written to the snapshot copies on remote fleet members via the gateway fleet API. Tags written to the gateway-local copy do replicate with the snapshot, so data is not lost — but the intent was to write independently to each member.

Current workaround

New-MongoSnapshot.ps1 STEP 7.5 now connects directly to each fleet member (derives FQDN from the gateway domain suffix) and writes tags without -ContextName.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions