mirror of
https://github.com/argoproj/argo-cd.git
synced 2026-02-20 01:28:45 +01:00
Adding astra.netapp.io CRD health checks (#17999)
This commit is contained in:
13
resource_customizations/astra.netapp.io/AppVault/health.lua
Normal file
13
resource_customizations/astra.netapp.io/AppVault/health.lua
Normal file
@@ -0,0 +1,13 @@
|
||||
hs = { status = "Progressing", message = "No status available" }
|
||||
if obj.status ~= nil then
|
||||
if obj.status.state ~= nil then
|
||||
if obj.status.state == "available" or obj.status.state == "Available" then
|
||||
hs.status = "Healthy"
|
||||
hs.message = obj.kind .. " Available"
|
||||
elseif obj.status.state == "failed" or obj.status.state == "Failed" then
|
||||
hs.status = "Degraded"
|
||||
hs.message = obj.kind .. " Failed"
|
||||
end
|
||||
end
|
||||
end
|
||||
return hs
|
||||
@@ -0,0 +1,13 @@
|
||||
tests:
|
||||
- healthStatus:
|
||||
status: Progressing
|
||||
message: "No status available"
|
||||
inputPath: testdata/progressing_nostatus.yaml
|
||||
- healthStatus:
|
||||
status: Healthy
|
||||
message: "AppVault Available"
|
||||
inputPath: testdata/healthy.yaml
|
||||
- healthStatus:
|
||||
status: Degraded
|
||||
message: "AppVault Failed"
|
||||
inputPath: testdata/degraded.yaml
|
||||
23
resource_customizations/astra.netapp.io/AppVault/testdata/degraded.yaml
vendored
Normal file
23
resource_customizations/astra.netapp.io/AppVault/testdata/degraded.yaml
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
apiVersion: astra.netapp.io/v1
|
||||
kind: AppVault
|
||||
metadata:
|
||||
creationTimestamp: "2024-04-26T14:25:45Z"
|
||||
generation: 1
|
||||
name: astra-gcp-backup-743cfd150129
|
||||
namespace: astra-connector
|
||||
resourceVersion: "12094908"
|
||||
uid: 12943b68-323a-4e8a-ba78-604da0801d11
|
||||
spec:
|
||||
providerConfig:
|
||||
bucketName: astra-gcp-backup-743cfd150129
|
||||
providerCredentials:
|
||||
credentials:
|
||||
valueFromSecret:
|
||||
key: credentials.json
|
||||
name: astra-gcp-backup-734ced050128-5rdt4
|
||||
providerType: gcp
|
||||
status:
|
||||
error:
|
||||
'failed to close GCP object "appVault.json" in bucket "astra-gcp-backup-743cfd150129":
|
||||
googleapi: Error 404: The specified bucket does not exist., notFound'
|
||||
state: failed
|
||||
21
resource_customizations/astra.netapp.io/AppVault/testdata/healthy.yaml
vendored
Normal file
21
resource_customizations/astra.netapp.io/AppVault/testdata/healthy.yaml
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
apiVersion: astra.netapp.io/v1
|
||||
kind: AppVault
|
||||
metadata:
|
||||
creationTimestamp: "2024-04-11T21:28:27Z"
|
||||
generation: 1
|
||||
name: astra-gcp-backup-743cfd150129
|
||||
namespace: astra-connector
|
||||
resourceVersion: "70908"
|
||||
uid: d1b552b2-5d8e-467b-829b-1e6af7240400
|
||||
spec:
|
||||
providerConfig:
|
||||
bucketName: astra-gcp-backup-743cfd150129
|
||||
providerCredentials:
|
||||
credentials:
|
||||
valueFromSecret:
|
||||
key: credentials.json
|
||||
name: astra-gcp-backup-743cfd150129-5rdt4
|
||||
providerType: gcp
|
||||
status:
|
||||
state: available
|
||||
uid: c708262e-3944-49bf-af96-ad1c3eb6cafb
|
||||
18
resource_customizations/astra.netapp.io/AppVault/testdata/progressing_nostatus.yaml
vendored
Normal file
18
resource_customizations/astra.netapp.io/AppVault/testdata/progressing_nostatus.yaml
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
apiVersion: astra.netapp.io/v1
|
||||
kind: AppVault
|
||||
metadata:
|
||||
creationTimestamp: "2024-04-26T14:25:45Z"
|
||||
generation: 1
|
||||
name: astra-gcp-backup-743cfd150129
|
||||
namespace: astra-connector
|
||||
resourceVersion: "12094608"
|
||||
uid: 12943b68-323a-4e8a-ba78-604da0801d11
|
||||
spec:
|
||||
providerConfig:
|
||||
bucketName: astra-gcp-backup-743cfd150129
|
||||
providerCredentials:
|
||||
credentials:
|
||||
valueFromSecret:
|
||||
key: credentials.json
|
||||
name: astra-gcp-backup-734ced050128-5rdt4
|
||||
providerType: gcp
|
||||
@@ -0,0 +1,17 @@
|
||||
hs = { status = "Progressing", message = "No status available" }
|
||||
if obj.status ~= nil then
|
||||
if obj.status.conditions ~= nil then
|
||||
for _, condition in ipairs(obj.status.conditions) do
|
||||
if condition.type == "Ready" and condition.status == "True" then
|
||||
hs.status = "Healthy"
|
||||
hs.message = "Astra Application Ready, protectionState: " .. obj.status.protectionState
|
||||
return hs
|
||||
elseif condition.type == "Ready" and condition.status == "False" then
|
||||
hs.status = "Degraded"
|
||||
hs.message = "Astra Application Degraded, message: " .. condition.message
|
||||
return hs
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
return hs
|
||||
@@ -0,0 +1,13 @@
|
||||
tests:
|
||||
- healthStatus:
|
||||
status: Progressing
|
||||
message: "No status available"
|
||||
inputPath: testdata/progressing.yaml
|
||||
- healthStatus:
|
||||
status: Healthy
|
||||
message: "Astra Application Ready, protectionState: protected"
|
||||
inputPath: testdata/healthy.yaml
|
||||
- healthStatus:
|
||||
status: Degraded
|
||||
message: "Astra Application Degraded, message: namespace wordpress is in terminating state"
|
||||
inputPath: testdata/degraded.yaml
|
||||
26
resource_customizations/astra.netapp.io/Application/testdata/degraded.yaml
vendored
Normal file
26
resource_customizations/astra.netapp.io/Application/testdata/degraded.yaml
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
apiVersion: astra.netapp.io/v1
|
||||
kind: Application
|
||||
metadata:
|
||||
creationTimestamp: "2024-04-15T20:59:56Z"
|
||||
finalizers:
|
||||
- astra.netapp.io/finalizer
|
||||
generation: 2
|
||||
name: wordpress
|
||||
namespace: astra-connector
|
||||
resourceVersion: "10484469"
|
||||
uid: 5ab7cd7d-7a9b-4508-9da2-c7dcb10a69b3
|
||||
spec:
|
||||
includedNamespaces:
|
||||
- labelSelector: {}
|
||||
namespace: wordpress
|
||||
status:
|
||||
conditions:
|
||||
- lastTransitionTime: "2024-04-24T16:13:26Z"
|
||||
message: namespace wordpress is in terminating state
|
||||
reason: Ready
|
||||
status: "False"
|
||||
type: Ready
|
||||
protectionState: partial
|
||||
protectionStateDetails:
|
||||
- Active backup schedule missing
|
||||
- Application unavailable
|
||||
24
resource_customizations/astra.netapp.io/Application/testdata/healthy.yaml
vendored
Normal file
24
resource_customizations/astra.netapp.io/Application/testdata/healthy.yaml
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
apiVersion: astra.netapp.io/v1
|
||||
kind: Application
|
||||
metadata:
|
||||
creationTimestamp: "2024-04-15T20:46:16Z"
|
||||
finalizers:
|
||||
- astra.netapp.io/finalizer
|
||||
generation: 3
|
||||
labels:
|
||||
argocd.argoproj.io/instance: ghost-demo
|
||||
name: ghost
|
||||
namespace: astra-connector
|
||||
resourceVersion: "3235325"
|
||||
uid: 0af10ee8-772b-4367-8334-44f9e4ad2849
|
||||
spec:
|
||||
includedNamespaces:
|
||||
- namespace: ghost
|
||||
status:
|
||||
conditions:
|
||||
- lastTransitionTime: "2024-04-15T20:46:16Z"
|
||||
message: ""
|
||||
reason: Ready
|
||||
status: "True"
|
||||
type: Ready
|
||||
protectionState: protected
|
||||
16
resource_customizations/astra.netapp.io/Application/testdata/progressing.yaml
vendored
Normal file
16
resource_customizations/astra.netapp.io/Application/testdata/progressing.yaml
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
apiVersion: astra.netapp.io/v1
|
||||
kind: Application
|
||||
metadata:
|
||||
creationTimestamp: "2024-04-15T20:46:16Z"
|
||||
finalizers:
|
||||
- astra.netapp.io/finalizer
|
||||
generation: 3
|
||||
labels:
|
||||
argocd.argoproj.io/instance: ghost-demo
|
||||
name: ghost
|
||||
namespace: astra-connector
|
||||
resourceVersion: "3235325"
|
||||
uid: 0af10ee8-772b-4367-8334-44f9e4ad2849
|
||||
spec:
|
||||
includedNamespaces:
|
||||
- namespace: ghost
|
||||
16
resource_customizations/astra.netapp.io/Backup/health.lua
Normal file
16
resource_customizations/astra.netapp.io/Backup/health.lua
Normal file
@@ -0,0 +1,16 @@
|
||||
hs = { status = "Progressing", message = "No status available" }
|
||||
if obj.status ~= nil then
|
||||
if obj.status.state ~= nil then
|
||||
if obj.status.state == "Completed" then
|
||||
hs.status = "Healthy"
|
||||
hs.message = obj.kind .. " Completed"
|
||||
elseif obj.status.state == "Running" then
|
||||
hs.status = "Progressing"
|
||||
hs.message = obj.kind .. " Running"
|
||||
else
|
||||
hs.status = "Degraded"
|
||||
hs.message = obj.status.state
|
||||
end
|
||||
end
|
||||
end
|
||||
return hs
|
||||
@@ -0,0 +1,17 @@
|
||||
tests:
|
||||
- healthStatus:
|
||||
status: Progressing
|
||||
message: "No status available"
|
||||
inputPath: testdata/progressing_nostatus.yaml
|
||||
- healthStatus:
|
||||
status: Progressing
|
||||
message: "Backup Running"
|
||||
inputPath: testdata/progressing_status.yaml
|
||||
- healthStatus:
|
||||
status: Healthy
|
||||
message: "Backup Completed"
|
||||
inputPath: testdata/healthy.yaml
|
||||
- healthStatus:
|
||||
status: Degraded
|
||||
message: "Failed"
|
||||
inputPath: testdata/degraded.yaml
|
||||
79
resource_customizations/astra.netapp.io/Backup/testdata/degraded.yaml
vendored
Normal file
79
resource_customizations/astra.netapp.io/Backup/testdata/degraded.yaml
vendored
Normal file
@@ -0,0 +1,79 @@
|
||||
apiVersion: astra.netapp.io/v1
|
||||
kind: Backup
|
||||
metadata:
|
||||
creationTimestamp: "2024-04-24T19:54:18Z"
|
||||
finalizers:
|
||||
- astra.netapp.io/finalizer
|
||||
generation: 1
|
||||
name: backup-20240424193746
|
||||
namespace: astra-connector
|
||||
ownerReferences:
|
||||
- apiVersion: astra.netapp.io/v1
|
||||
kind: Application
|
||||
name: ghost
|
||||
uid: 0af10ee8-772b-4367-8334-44f9e4ad2849
|
||||
resourceVersion: "10641332"
|
||||
uid: ad301b6a-6536-4313-89c1-d10ad0275430
|
||||
spec:
|
||||
appVaultRef: astra-gcp-backup-743cfd150129
|
||||
applicationRef: ghost
|
||||
status:
|
||||
conditions:
|
||||
- lastTransitionTime: "2024-04-24T19:54:18Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: AppOwnerReferenceCreated
|
||||
- lastTransitionTime: "2024-04-24T19:54:18Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: SourceSnapshotExists
|
||||
- lastTransitionTime: "2024-04-24T19:54:19Z"
|
||||
message:
|
||||
"Source snapshot failed with permanent error: reconcile timeout of 1h0m0s
|
||||
exceeded"
|
||||
reason: Failed
|
||||
status: "False"
|
||||
type: SourceSnapshotCompleted
|
||||
- lastTransitionTime: "2024-04-24T19:54:18Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: SnapshotAppArchiveCopied
|
||||
- lastTransitionTime: "2024-04-24T19:54:18Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: PreBackupExecHooksRunCompleted
|
||||
- lastTransitionTime: "2024-04-24T19:54:18Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: VolumeBackupsCompleted
|
||||
- lastTransitionTime: "2024-04-24T19:54:18Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: PostBackupExecHooksRunCompleted
|
||||
- lastTransitionTime: "2024-04-24T19:54:18Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: TemporarySnapshotCleanedUp
|
||||
- lastTransitionTime: "2024-04-24T19:54:18Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: Completed
|
||||
- lastTransitionTime: "2024-04-24T19:54:18Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: OnFailurePostBackupExecHooksRunCompleted
|
||||
error:
|
||||
"Source snapshot failed with permanent error: reconcile timeout of 1h0m0s
|
||||
exceeded"
|
||||
progress: {}
|
||||
sourceSnapshotName: backup-ad301b6a-6536-4313-89c1-d10ad0275430
|
||||
state: Failed
|
||||
116
resource_customizations/astra.netapp.io/Backup/testdata/healthy.yaml
vendored
Normal file
116
resource_customizations/astra.netapp.io/Backup/testdata/healthy.yaml
vendored
Normal file
@@ -0,0 +1,116 @@
|
||||
apiVersion: astra.netapp.io/v1
|
||||
kind: Backup
|
||||
metadata:
|
||||
annotations:
|
||||
astra.netapp.io/correlationid: 3c492b7e-8b1f-491a-af99-aa3fca9d54cf
|
||||
created-by-astra-schedule-name: ghost-daily
|
||||
created-by-astra-schedule-namespace: astra-connector
|
||||
creationTimestamp: "2024-04-24T01:00:00Z"
|
||||
finalizers:
|
||||
- astra.netapp.io/finalizer
|
||||
generation: 1
|
||||
labels:
|
||||
created-by-astra-schedule-uid: a2736922-6801-482c-a199-03ef8a3f35d7
|
||||
name: daily-a4587-20240424010000
|
||||
namespace: astra-connector
|
||||
ownerReferences:
|
||||
- apiVersion: astra.netapp.io/v1
|
||||
kind: Application
|
||||
name: ghost
|
||||
uid: 0af10ee8-772b-4367-8334-44f9e4ad2849
|
||||
resourceVersion: "9965658"
|
||||
uid: d4b61932-5c8e-4310-82a5-37a0b671aa2d
|
||||
spec:
|
||||
appVaultRef: astra-gcp-backup-743cfd150129
|
||||
applicationRef: ghost
|
||||
snapshotRef: daily-a4587-20240424010000
|
||||
status:
|
||||
appArchivePath: ghost_0af10ee8-772b-4367-8334-44f9e4ad2849/backups/daily-a4587-20240424010000_d4b61932-5c8e-4310-82a5-37a0b671aa2d
|
||||
completionTimestamp: "2024-04-24T01:02:30Z"
|
||||
conditions:
|
||||
- lastTransitionTime: "2024-04-24T01:00:00Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: AppOwnerReferenceCreated
|
||||
- lastTransitionTime: "2024-04-24T01:00:00Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: SourceSnapshotExists
|
||||
- lastTransitionTime: "2024-04-24T01:00:30Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: SourceSnapshotCompleted
|
||||
- lastTransitionTime: "2024-04-24T01:00:33Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: SnapshotAppArchiveCopied
|
||||
- lastTransitionTime: "2024-04-24T01:00:34Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: PreBackupExecHooksRunCompleted
|
||||
- lastTransitionTime: "2024-04-24T01:02:30Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: VolumeBackupsCompleted
|
||||
- lastTransitionTime: "2024-04-24T01:02:30Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: PostBackupExecHooksRunCompleted
|
||||
- lastTransitionTime: "2024-04-24T01:02:30Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: TemporarySnapshotCleanedUp
|
||||
- lastTransitionTime: "2024-04-24T01:02:31Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: Completed
|
||||
- lastTransitionTime: "2024-04-24T01:00:00Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: OnFailurePostBackupExecHooksRunCompleted
|
||||
postBackupExecHooksRunResults: []
|
||||
postSnapshotExecHooksRunResults: []
|
||||
preBackupExecHooksRunResults: []
|
||||
preSnapshotExecHooksRunResults: []
|
||||
progress:
|
||||
volumeBackups:
|
||||
- completionTimestamp: "2024-04-24T01:02:30Z"
|
||||
pvcUid: b9ff9e05-5049-4862-82c6-dea080c2fe0d
|
||||
resticRepositoryPath: gs:astra-gcp-backup-743cfd150129://ghost_0af10ee8-772b-4367-8334-44f9e4ad2849/restic/ghost/ghost_b9ff9e05-5049-4862-82c6-dea080c2fe0d
|
||||
resticSnapshotID: 5d066ee6e4626ec2e3eff50d766f080ba90b2339df5b9f7baf46c281d0763da6
|
||||
resticVolumeBackupCompleted: true
|
||||
resticVolumeBackupCreated: true
|
||||
sourceVolumeSnapshot:
|
||||
name: snapshot-71804332-e19d-42a0-bc02-56bd606b9f66-pvc-b9ff9e05-5049-4862-82c6-dea080c2fe0d
|
||||
namespace: ghost
|
||||
volumeSnapshotContentCopyName: backup-d4b61932-5c8e-4310-82a5-37a0b671aa2d-vsc-ab718bad-fa67-4159-a761-6d1eb5de5330
|
||||
volumeSnapshotCopied: true
|
||||
volumeSnapshotCopyDeleted: true
|
||||
volumeSnapshotCopyName: backup-d4b61932-5c8e-4310-82a5-37a0b671aa2d-vs-d55f9b97-11e5-4fb7-89c0-a2559eba753d
|
||||
volumeSnapshotCopyReadyToUse: true
|
||||
- completionTimestamp: "2024-04-24T01:02:30Z"
|
||||
pvcUid: 38c468b3-eed6-48f2-b43b-15083dd1c030
|
||||
resticRepositoryPath: gs:astra-gcp-backup-743cfd150129://ghost_0af10ee8-772b-4367-8334-44f9e4ad2849/restic/ghost/mysql-pv-claim_38c468b3-eed6-48f2-b43b-15083dd1c030
|
||||
resticSnapshotID: dc601d5db3ed78823b134326c6cc9607f1636530783707eb8cd02a018b244e07
|
||||
resticVolumeBackupCompleted: true
|
||||
resticVolumeBackupCreated: true
|
||||
sourceVolumeSnapshot:
|
||||
name: snapshot-71804332-e19d-42a0-bc02-56bd606b9f66-pvc-38c468b3-eed6-48f2-b43b-15083dd1c030
|
||||
namespace: ghost
|
||||
volumeSnapshotContentCopyName: backup-d4b61932-5c8e-4310-82a5-37a0b671aa2d-vsc-df43df62-1501-406b-b7ba-90aafcd763d5
|
||||
volumeSnapshotCopied: true
|
||||
volumeSnapshotCopyDeleted: true
|
||||
volumeSnapshotCopyName: backup-d4b61932-5c8e-4310-82a5-37a0b671aa2d-vs-ecf680cf-1665-4320-9f84-c99911b48a2b
|
||||
volumeSnapshotCopyReadyToUse: true
|
||||
sourceSnapshotName: daily-a4587-20240424010000
|
||||
state: Completed
|
||||
26
resource_customizations/astra.netapp.io/Backup/testdata/progressing_nostatus.yaml
vendored
Normal file
26
resource_customizations/astra.netapp.io/Backup/testdata/progressing_nostatus.yaml
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
apiVersion: astra.netapp.io/v1
|
||||
kind: Backup
|
||||
metadata:
|
||||
annotations:
|
||||
astra.netapp.io/correlationid: 3c492b7e-8b1f-491a-af99-aa3fca9d54cf
|
||||
created-by-astra-schedule-name: ghost-daily
|
||||
created-by-astra-schedule-namespace: astra-connector
|
||||
creationTimestamp: "2024-04-24T01:00:00Z"
|
||||
finalizers:
|
||||
- astra.netapp.io/finalizer
|
||||
generation: 1
|
||||
labels:
|
||||
created-by-astra-schedule-uid: a2736922-6801-482c-a199-03ef8a3f35d7
|
||||
name: daily-a4587-20240424010000
|
||||
namespace: astra-connector
|
||||
ownerReferences:
|
||||
- apiVersion: astra.netapp.io/v1
|
||||
kind: Application
|
||||
name: ghost
|
||||
uid: 0af10ee8-772b-4367-8334-44f9e4ad2849
|
||||
resourceVersion: "9965658"
|
||||
uid: d4b61932-5c8e-4310-82a5-37a0b671aa2d
|
||||
spec:
|
||||
appVaultRef: astra-gcp-backup-743cfd150129
|
||||
applicationRef: ghost
|
||||
snapshotRef: daily-a4587-20240424010000
|
||||
76
resource_customizations/astra.netapp.io/Backup/testdata/progressing_status.yaml
vendored
Normal file
76
resource_customizations/astra.netapp.io/Backup/testdata/progressing_status.yaml
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
apiVersion: astra.netapp.io/v1
|
||||
kind: Backup
|
||||
metadata:
|
||||
annotations:
|
||||
astra.netapp.io/correlationid: cd272631-d0a8-4a61-9cde-6a7202074051
|
||||
creationTimestamp: "2024-04-24T19:39:34Z"
|
||||
finalizers:
|
||||
- astra.netapp.io/finalizer
|
||||
generation: 1
|
||||
name: backup-20240424193745
|
||||
namespace: astra-connector
|
||||
ownerReferences:
|
||||
- apiVersion: astra.netapp.io/v1
|
||||
kind: Application
|
||||
name: ghost
|
||||
uid: 0af10ee8-772b-4367-8334-44f9e4ad2849
|
||||
resourceVersion: "10599529"
|
||||
uid: fea5520e-553c-400d-8539-e9d2bbe5b762
|
||||
spec:
|
||||
appVaultRef: astra-gcp-backup-743cfd150129
|
||||
applicationRef: ghost
|
||||
status:
|
||||
conditions:
|
||||
- lastTransitionTime: "2024-04-24T19:39:34Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: AppOwnerReferenceCreated
|
||||
- lastTransitionTime: "2024-04-24T19:39:34Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: SourceSnapshotExists
|
||||
- lastTransitionTime: "2024-04-24T19:39:34Z"
|
||||
message: Waiting for source Snapshot to complete
|
||||
reason: Waiting
|
||||
status: "False"
|
||||
type: SourceSnapshotCompleted
|
||||
- lastTransitionTime: "2024-04-24T19:39:34Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: SnapshotAppArchiveCopied
|
||||
- lastTransitionTime: "2024-04-24T19:39:34Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: PreBackupExecHooksRunCompleted
|
||||
- lastTransitionTime: "2024-04-24T19:39:34Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: VolumeBackupsCompleted
|
||||
- lastTransitionTime: "2024-04-24T19:39:34Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: PostBackupExecHooksRunCompleted
|
||||
- lastTransitionTime: "2024-04-24T19:39:34Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: TemporarySnapshotCleanedUp
|
||||
- lastTransitionTime: "2024-04-24T19:39:34Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: Completed
|
||||
- lastTransitionTime: "2024-04-24T19:39:34Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: OnFailurePostBackupExecHooksRunCompleted
|
||||
progress: {}
|
||||
sourceSnapshotName: backup-fea5520e-553c-400d-8539-e9d2bbe5b762
|
||||
state: Running
|
||||
13
resource_customizations/astra.netapp.io/ExecHook/health.lua
Normal file
13
resource_customizations/astra.netapp.io/ExecHook/health.lua
Normal file
@@ -0,0 +1,13 @@
|
||||
hs = { status = "Progressing", message = "No status available" }
|
||||
if obj.spec ~= nil then
|
||||
if obj.spec.enabled ~= nil then
|
||||
if obj.spec.enabled == true then
|
||||
hs.status = "Healthy"
|
||||
hs.message = obj.kind .. " enabled"
|
||||
elseif obj.spec.enabled == false then
|
||||
hs.status = "Suspended"
|
||||
hs.message = obj.kind .. " disabled"
|
||||
end
|
||||
end
|
||||
end
|
||||
return hs
|
||||
@@ -0,0 +1,13 @@
|
||||
tests:
|
||||
- healthStatus:
|
||||
status: Progressing
|
||||
message: "No status available"
|
||||
inputPath: testdata/progressing_nostatus.yaml
|
||||
- healthStatus:
|
||||
status: Healthy
|
||||
message: "ExecHook enabled"
|
||||
inputPath: testdata/healthy.yaml
|
||||
- healthStatus:
|
||||
status: Suspended
|
||||
message: "ExecHook disabled"
|
||||
inputPath: testdata/suspended.yaml
|
||||
23
resource_customizations/astra.netapp.io/ExecHook/testdata/healthy.yaml
vendored
Normal file
23
resource_customizations/astra.netapp.io/ExecHook/testdata/healthy.yaml
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
apiVersion: astra.netapp.io/v1
|
||||
kind: ExecHook
|
||||
metadata:
|
||||
creationTimestamp: "2024-04-25T14:17:52Z"
|
||||
generation: 1
|
||||
labels:
|
||||
argocd.argoproj.io/instance: ghost-demo
|
||||
name: pre-snapshot
|
||||
namespace: astra-connector
|
||||
resourceVersion: "11239151"
|
||||
uid: 105679e3-4acc-4618-a3c2-53e0e5949f65
|
||||
spec:
|
||||
action: snapshot
|
||||
applicationRef: ghost
|
||||
arguments:
|
||||
- pre
|
||||
enabled: true
|
||||
hookSource: IyEvYmluL3NoCgojCiMgc3VjY2Vzc19zYW1wbGUuc2gKIwojIEEgc2ltcGxlIG5vb3Agc3VjY2VzcyBob29rIHNjcmlwdCBmb3IgdGVzdGluZyBwdXJwb3Nlcy4KIwojIGFyZ3M6IE5vbmUKIwoKCiMKIyBXcml0ZXMgdGhlIGdpdmVuIG1lc3NhZ2UgdG8gc3RhbmRhcmQgb3V0cHV0CiMKIyAkKiAtIFRoZSBtZXNzYWdlIHRvIHdyaXRlCiMKbXNnKCkgewogICAgZWNobyAiJCoiCn0KCgojCiMgV3JpdGVzIHRoZSBnaXZlbiBpbmZvcm1hdGlvbiBtZXNzYWdlIHRvIHN0YW5kYXJkIG91dHB1dAojCiMgJCogLSBUaGUgbWVzc2FnZSB0byB3cml0ZQojCmluZm8oKSB7CiAgICBtc2cgIklORk86ICQqIgp9CgojCiMgV3JpdGVzIHRoZSBnaXZlbiBlcnJvciBtZXNzYWdlIHRvIHN0YW5kYXJkIGVycm9yCiMKIyAkKiAtIFRoZSBtZXNzYWdlIHRvIHdyaXRlCiMKZXJyb3IoKSB7CiAgICBtc2cgIkVSUk9SOiAkKiIgMT4mMgp9CgoKIwojIG1haW4KIwoKIyBsb2cgc29tZXRoaW5nIHRvIHN0ZG91dAppbmZvICJydW5uaW5nIHN1Y2Nlc3Nfc2FtcGxlLnNoIgoKIyBleGl0IHdpdGggMCB0byBpbmRpY2F0ZSBzdWNjZXNzIAppbmZvICJleGl0IDAiCmV4aXQgMA==
|
||||
matchingCriteria:
|
||||
- type: containerImage
|
||||
value: mysql
|
||||
stage: pre
|
||||
timeout: 25
|
||||
22
resource_customizations/astra.netapp.io/ExecHook/testdata/progressing_nostatus.yaml
vendored
Normal file
22
resource_customizations/astra.netapp.io/ExecHook/testdata/progressing_nostatus.yaml
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
apiVersion: astra.netapp.io/v1
|
||||
kind: ExecHook
|
||||
metadata:
|
||||
creationTimestamp: "2024-04-25T14:17:52Z"
|
||||
generation: 3
|
||||
labels:
|
||||
argocd.argoproj.io/instance: ghost-demo
|
||||
name: pre-snapshot
|
||||
namespace: astra-connector
|
||||
resourceVersion: "11342335"
|
||||
uid: 105679e3-4acc-4618-a3c2-53e0e5949f65
|
||||
spec:
|
||||
action: snapshot
|
||||
applicationRef: ghost
|
||||
arguments:
|
||||
- pre
|
||||
hookSource: IyEvYmluL3NoCgojCiMgc3VjY2Vzc19zYW1wbGUuc2gKIwojIEEgc2ltcGxlIG5vb3Agc3VjY2VzcyBob29rIHNjcmlwdCBmb3IgdGVzdGluZyBwdXJwb3Nlcy4KIwojIGFyZ3M6IE5vbmUKIwoKCiMKIyBXcml0ZXMgdGhlIGdpdmVuIG1lc3NhZ2UgdG8gc3RhbmRhcmQgb3V0cHV0CiMKIyAkKiAtIFRoZSBtZXNzYWdlIHRvIHdyaXRlCiMKbXNnKCkgewogICAgZWNobyAiJCoiCn0KCgojCiMgV3JpdGVzIHRoZSBnaXZlbiBpbmZvcm1hdGlvbiBtZXNzYWdlIHRvIHN0YW5kYXJkIG91dHB1dAojCiMgJCogLSBUaGUgbWVzc2FnZSB0byB3cml0ZQojCmluZm8oKSB7CiAgICBtc2cgIklORk86ICQqIgp9CgojCiMgV3JpdGVzIHRoZSBnaXZlbiBlcnJvciBtZXNzYWdlIHRvIHN0YW5kYXJkIGVycm9yCiMKIyAkKiAtIFRoZSBtZXNzYWdlIHRvIHdyaXRlCiMKZXJyb3IoKSB7CiAgICBtc2cgIkVSUk9SOiAkKiIgMT4mMgp9CgoKIwojIG1haW4KIwoKIyBsb2cgc29tZXRoaW5nIHRvIHN0ZG91dAppbmZvICJydW5uaW5nIHN1Y2Nlc3Nfc2FtcGxlLnNoIgoKIyBleGl0IHdpdGggMCB0byBpbmRpY2F0ZSBzdWNjZXNzIAppbmZvICJleGl0IDAiCnNsZWVwIDMwMApleGl0IDA=
|
||||
matchingCriteria:
|
||||
- type: containerImage
|
||||
value: mysql
|
||||
stage: pre
|
||||
timeout: 25
|
||||
23
resource_customizations/astra.netapp.io/ExecHook/testdata/suspended.yaml
vendored
Normal file
23
resource_customizations/astra.netapp.io/ExecHook/testdata/suspended.yaml
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
apiVersion: astra.netapp.io/v1
|
||||
kind: ExecHook
|
||||
metadata:
|
||||
creationTimestamp: "2024-04-25T14:17:52Z"
|
||||
generation: 3
|
||||
labels:
|
||||
argocd.argoproj.io/instance: ghost-demo
|
||||
name: pre-snapshot
|
||||
namespace: astra-connector
|
||||
resourceVersion: "11342335"
|
||||
uid: 105679e3-4acc-4618-a3c2-53e0e5949f65
|
||||
spec:
|
||||
action: snapshot
|
||||
applicationRef: ghost
|
||||
arguments:
|
||||
- pre
|
||||
enabled: false
|
||||
hookSource: IyEvYmluL3NoCgojCiMgc3VjY2Vzc19zYW1wbGUuc2gKIwojIEEgc2ltcGxlIG5vb3Agc3VjY2VzcyBob29rIHNjcmlwdCBmb3IgdGVzdGluZyBwdXJwb3Nlcy4KIwojIGFyZ3M6IE5vbmUKIwoKCiMKIyBXcml0ZXMgdGhlIGdpdmVuIG1lc3NhZ2UgdG8gc3RhbmRhcmQgb3V0cHV0CiMKIyAkKiAtIFRoZSBtZXNzYWdlIHRvIHdyaXRlCiMKbXNnKCkgewogICAgZWNobyAiJCoiCn0KCgojCiMgV3JpdGVzIHRoZSBnaXZlbiBpbmZvcm1hdGlvbiBtZXNzYWdlIHRvIHN0YW5kYXJkIG91dHB1dAojCiMgJCogLSBUaGUgbWVzc2FnZSB0byB3cml0ZQojCmluZm8oKSB7CiAgICBtc2cgIklORk86ICQqIgp9CgojCiMgV3JpdGVzIHRoZSBnaXZlbiBlcnJvciBtZXNzYWdlIHRvIHN0YW5kYXJkIGVycm9yCiMKIyAkKiAtIFRoZSBtZXNzYWdlIHRvIHdyaXRlCiMKZXJyb3IoKSB7CiAgICBtc2cgIkVSUk9SOiAkKiIgMT4mMgp9CgoKIwojIG1haW4KIwoKIyBsb2cgc29tZXRoaW5nIHRvIHN0ZG91dAppbmZvICJydW5uaW5nIHN1Y2Nlc3Nfc2FtcGxlLnNoIgoKIyBleGl0IHdpdGggMCB0byBpbmRpY2F0ZSBzdWNjZXNzIAppbmZvICJleGl0IDAiCnNsZWVwIDMwMApleGl0IDA=
|
||||
matchingCriteria:
|
||||
- type: containerImage
|
||||
value: mysql
|
||||
stage: pre
|
||||
timeout: 25
|
||||
@@ -0,0 +1,16 @@
|
||||
hs = { status = "Progressing", message = "No status available" }
|
||||
if obj.status ~= nil then
|
||||
if obj.status.state ~= nil then
|
||||
if obj.status.state == "Completed" then
|
||||
hs.status = "Healthy"
|
||||
hs.message = obj.kind .. " Completed"
|
||||
elseif obj.status.state == "Running" then
|
||||
hs.status = "Progressing"
|
||||
hs.message = obj.kind .. " Running"
|
||||
else
|
||||
hs.status = "Degraded"
|
||||
hs.message = obj.status.state
|
||||
end
|
||||
end
|
||||
end
|
||||
return hs
|
||||
@@ -0,0 +1,17 @@
|
||||
tests:
|
||||
- healthStatus:
|
||||
status: Progressing
|
||||
message: "No status available"
|
||||
inputPath: testdata/progressing_nostatus.yaml
|
||||
- healthStatus:
|
||||
status: Progressing
|
||||
message: "ExecHooksRun Running"
|
||||
inputPath: testdata/progressing_status.yaml
|
||||
- healthStatus:
|
||||
status: Healthy
|
||||
message: "ExecHooksRun Completed"
|
||||
inputPath: testdata/healthy.yaml
|
||||
- healthStatus:
|
||||
status: Degraded
|
||||
message: "Failed"
|
||||
inputPath: testdata/degraded.yaml
|
||||
71
resource_customizations/astra.netapp.io/ExecHooksRun/testdata/degraded.yaml
vendored
Normal file
71
resource_customizations/astra.netapp.io/ExecHooksRun/testdata/degraded.yaml
vendored
Normal file
@@ -0,0 +1,71 @@
|
||||
apiVersion: astra.netapp.io/v1
|
||||
kind: ExecHooksRun
|
||||
metadata:
|
||||
annotations:
|
||||
astra.netapp.io/correlationid: 1c47a636-f819-43f3-baee-054793424bb5
|
||||
creationTimestamp: "2024-04-25T17:00:50Z"
|
||||
generation: 1
|
||||
name: post-snapshot-073d13d7-4a0c-4c5e-914f-331ef6d00de2
|
||||
namespace: astra-connector
|
||||
ownerReferences:
|
||||
- apiVersion: astra.netapp.io/v1
|
||||
blockOwnerDeletion: true
|
||||
controller: true
|
||||
kind: Snapshot
|
||||
name: argo-presync-20240425163524
|
||||
uid: 073d13d7-4a0c-4c5e-914f-331ef6d00de2
|
||||
resourceVersion: "11335239"
|
||||
uid: 9bfcda95-2731-47dc-8eb2-6e83ae19da00
|
||||
spec:
|
||||
action: snapshot
|
||||
appArchivePath: ghost_0af10ee8-772b-4367-8334-44f9e4ad2849/snapshots/20240425163526_argo-presync-20240425163524_073d13d7-4a0c-4c5e-914f-331ef6d00de2
|
||||
appVaultRef: astra-gcp-backup-743cfd150129
|
||||
applicationRef: ghost
|
||||
completionTimeout: 0s
|
||||
resourceFilter: {}
|
||||
stage: post
|
||||
status:
|
||||
completionTimestamp: "2024-04-25T17:00:56Z"
|
||||
conditions:
|
||||
- lastTransitionTime: "2024-04-25T17:00:50Z"
|
||||
message: failed to get application archive
|
||||
reason: Done
|
||||
status: "False"
|
||||
type: RetrievedMatchingContainers
|
||||
- lastTransitionTime: "2024-04-25T17:00:50Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: WaitForReadiness
|
||||
- lastTransitionTime: "2024-04-25T17:00:56Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: ProcessMatchingContainers
|
||||
- lastTransitionTime: "2024-04-25T17:00:56Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: ArchiveExecHooksUsed
|
||||
- lastTransitionTime: "2024-04-25T17:00:56Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: Completed
|
||||
- lastTransitionTime: "2024-04-25T17:00:50Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: OnFailureArchiveExecHooksUsed
|
||||
matchingContainers:
|
||||
- completionTimestamp: "2024-04-25T17:00:56Z"
|
||||
containerImage: docker.io/bitnami/mysql:8.0.32-debian-11-r8
|
||||
containerName: mysql
|
||||
execHookRef: post-snapshot
|
||||
execHookUID: 2cafb1b4-2575-426c-8102-29437ebee48b
|
||||
jobName: ehr-47223ea8dd0115ca18a986c77380aeb3
|
||||
namespace: ghost
|
||||
podName: ghost-mysql-5bfb6bc8f5-stw4w
|
||||
podUID: 15ddfce0-1565-4574-89a6-80662450aedd
|
||||
startTimestamp: "2024-04-25T17:00:50Z"
|
||||
state: Failed
|
||||
71
resource_customizations/astra.netapp.io/ExecHooksRun/testdata/healthy.yaml
vendored
Normal file
71
resource_customizations/astra.netapp.io/ExecHooksRun/testdata/healthy.yaml
vendored
Normal file
@@ -0,0 +1,71 @@
|
||||
apiVersion: astra.netapp.io/v1
|
||||
kind: ExecHooksRun
|
||||
metadata:
|
||||
annotations:
|
||||
astra.netapp.io/correlationid: 1c47a636-f819-43f3-baee-054793424bb5
|
||||
creationTimestamp: "2024-04-25T17:00:50Z"
|
||||
generation: 1
|
||||
name: post-snapshot-073d13d7-4a0c-4c5e-914f-331ef6d00de2
|
||||
namespace: astra-connector
|
||||
ownerReferences:
|
||||
- apiVersion: astra.netapp.io/v1
|
||||
blockOwnerDeletion: true
|
||||
controller: true
|
||||
kind: Snapshot
|
||||
name: argo-presync-20240425163524
|
||||
uid: 073d13d7-4a0c-4c5e-914f-331ef6d00de2
|
||||
resourceVersion: "11335239"
|
||||
uid: 9bfcda95-2731-47dc-8eb2-6e83ae19da00
|
||||
spec:
|
||||
action: snapshot
|
||||
appArchivePath: ghost_0af10ee8-772b-4367-8334-44f9e4ad2849/snapshots/20240425163526_argo-presync-20240425163524_073d13d7-4a0c-4c5e-914f-331ef6d00de2
|
||||
appVaultRef: astra-gcp-backup-743cfd150129
|
||||
applicationRef: ghost
|
||||
completionTimeout: 0s
|
||||
resourceFilter: {}
|
||||
stage: post
|
||||
status:
|
||||
completionTimestamp: "2024-04-25T17:00:56Z"
|
||||
conditions:
|
||||
- lastTransitionTime: "2024-04-25T17:00:50Z"
|
||||
message: Found 1 matching container/exechook pairs
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: RetrievedMatchingContainers
|
||||
- lastTransitionTime: "2024-04-25T17:00:50Z"
|
||||
message: Wait only needed on a restore
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: WaitForReadiness
|
||||
- lastTransitionTime: "2024-04-25T17:00:56Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: ProcessMatchingContainers
|
||||
- lastTransitionTime: "2024-04-25T17:00:56Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: ArchiveExecHooksUsed
|
||||
- lastTransitionTime: "2024-04-25T17:00:56Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: Completed
|
||||
- lastTransitionTime: "2024-04-25T17:00:50Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: OnFailureArchiveExecHooksUsed
|
||||
matchingContainers:
|
||||
- completionTimestamp: "2024-04-25T17:00:56Z"
|
||||
containerImage: docker.io/bitnami/mysql:8.0.32-debian-11-r8
|
||||
containerName: mysql
|
||||
execHookRef: post-snapshot
|
||||
execHookUID: 2cafb1b4-2575-426c-8102-29437ebee48b
|
||||
jobName: ehr-47223ea8dd0115ca18a986c77380aeb3
|
||||
namespace: ghost
|
||||
podName: ghost-mysql-5bfb6bc8f5-stw4w
|
||||
podUID: 15ddfce0-1565-4574-89a6-80662450aedd
|
||||
startTimestamp: "2024-04-25T17:00:50Z"
|
||||
state: Completed
|
||||
26
resource_customizations/astra.netapp.io/ExecHooksRun/testdata/progressing_nostatus.yaml
vendored
Normal file
26
resource_customizations/astra.netapp.io/ExecHooksRun/testdata/progressing_nostatus.yaml
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
apiVersion: astra.netapp.io/v1
|
||||
kind: ExecHooksRun
|
||||
metadata:
|
||||
annotations:
|
||||
astra.netapp.io/correlationid: 1c47a636-f819-43f3-baee-054793424bb5
|
||||
creationTimestamp: "2024-04-25T16:35:34Z"
|
||||
generation: 1
|
||||
name: pre-snapshot-073d13d7-4a0c-4c5e-914f-331ef6d00de2
|
||||
namespace: astra-connector
|
||||
ownerReferences:
|
||||
- apiVersion: astra.netapp.io/v1
|
||||
blockOwnerDeletion: true
|
||||
controller: true
|
||||
kind: Snapshot
|
||||
name: argo-presync-20240425163524
|
||||
uid: 073d13d7-4a0c-4c5e-914f-331ef6d00de2
|
||||
resourceVersion: "11320392"
|
||||
uid: 064199e2-d540-4628-b4ec-5b417bb85128
|
||||
spec:
|
||||
action: snapshot
|
||||
appArchivePath: ghost_0af10ee8-772b-4367-8334-44f9e4ad2849/snapshots/20240425163526_argo-presync-20240425163524_073d13d7-4a0c-4c5e-914f-331ef6d00de2
|
||||
appVaultRef: astra-gcp-backup-734ced050128
|
||||
applicationRef: ghost
|
||||
completionTimeout: 0s
|
||||
resourceFilter: {}
|
||||
stage: pre
|
||||
69
resource_customizations/astra.netapp.io/ExecHooksRun/testdata/progressing_status.yaml
vendored
Normal file
69
resource_customizations/astra.netapp.io/ExecHooksRun/testdata/progressing_status.yaml
vendored
Normal file
@@ -0,0 +1,69 @@
|
||||
apiVersion: astra.netapp.io/v1
|
||||
kind: ExecHooksRun
|
||||
metadata:
|
||||
annotations:
|
||||
astra.netapp.io/correlationid: 1c47a636-f819-43f3-baee-054793424bb5
|
||||
creationTimestamp: "2024-04-25T16:35:34Z"
|
||||
generation: 1
|
||||
name: pre-snapshot-073d13d7-4a0c-4c5e-914f-331ef6d00de2
|
||||
namespace: astra-connector
|
||||
ownerReferences:
|
||||
- apiVersion: astra.netapp.io/v1
|
||||
blockOwnerDeletion: true
|
||||
controller: true
|
||||
kind: Snapshot
|
||||
name: argo-presync-20240425163524
|
||||
uid: 073d13d7-4a0c-4c5e-914f-331ef6d00de2
|
||||
resourceVersion: "11320407"
|
||||
uid: 064199e2-d540-4628-b4ec-5b417bb85128
|
||||
spec:
|
||||
action: snapshot
|
||||
appArchivePath: ghost_0af10ee8-772b-4367-8334-44f9e4ad2849/snapshots/20240425163526_argo-presync-20240425163524_073d13d7-4a0c-4c5e-914f-331ef6d00de2
|
||||
appVaultRef: astra-gcp-backup-743cfd150129
|
||||
applicationRef: ghost
|
||||
completionTimeout: 0s
|
||||
resourceFilter: {}
|
||||
stage: pre
|
||||
status:
|
||||
conditions:
|
||||
- lastTransitionTime: "2024-04-25T16:35:34Z"
|
||||
message: Found 1 matching container/exechook pairs
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: RetrievedMatchingContainers
|
||||
- lastTransitionTime: "2024-04-25T16:35:34Z"
|
||||
message: Wait only needed on a restore
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: WaitForReadiness
|
||||
- lastTransitionTime: "2024-04-25T16:35:34Z"
|
||||
message: Waiting
|
||||
reason: Waiting
|
||||
status: "False"
|
||||
type: ProcessMatchingContainers
|
||||
- lastTransitionTime: "2024-04-25T16:35:34Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: ArchiveExecHooksUsed
|
||||
- lastTransitionTime: "2024-04-25T16:35:34Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: Completed
|
||||
- lastTransitionTime: "2024-04-25T16:35:34Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: OnFailureArchiveExecHooksUsed
|
||||
matchingContainers:
|
||||
- containerImage: docker.io/bitnami/mysql:8.0.32-debian-11-r8
|
||||
containerName: mysql
|
||||
execHookRef: pre-snapshot
|
||||
execHookUID: 105679e3-4acc-4618-a3c2-53e0e5949f65
|
||||
jobName: ehr-ea0e89c8221790b54e94b4ac937aeac2
|
||||
namespace: ghost
|
||||
podName: ghost-mysql-5bfb6bc8f5-stw4w
|
||||
podUID: 15ddfce0-1565-4574-89a6-80662450aedd
|
||||
startTimestamp: "2024-04-25T16:35:34Z"
|
||||
state: Running
|
||||
@@ -0,0 +1,16 @@
|
||||
hs = { status = "Progressing", message = "No status available" }
|
||||
if obj.status ~= nil then
|
||||
if obj.status.state ~= nil then
|
||||
if obj.status.state == "Completed" then
|
||||
hs.status = "Healthy"
|
||||
hs.message = obj.kind .. " Completed"
|
||||
elseif obj.status.state == "Running" then
|
||||
hs.status = "Progressing"
|
||||
hs.message = obj.kind .. " Running"
|
||||
else
|
||||
hs.status = "Degraded"
|
||||
hs.message = obj.status.state
|
||||
end
|
||||
end
|
||||
end
|
||||
return hs
|
||||
@@ -0,0 +1,17 @@
|
||||
tests:
|
||||
- healthStatus:
|
||||
status: Progressing
|
||||
message: "No status available"
|
||||
inputPath: testdata/progressing_nostatus.yaml
|
||||
- healthStatus:
|
||||
status: Progressing
|
||||
message: "ResourceBackup Running"
|
||||
inputPath: testdata/progressing_status.yaml
|
||||
- healthStatus:
|
||||
status: Healthy
|
||||
message: "ResourceBackup Completed"
|
||||
inputPath: testdata/healthy.yaml
|
||||
- healthStatus:
|
||||
status: Degraded
|
||||
message: "Error"
|
||||
inputPath: testdata/degraded.yaml
|
||||
52
resource_customizations/astra.netapp.io/ResourceBackup/testdata/degraded.yaml
vendored
Normal file
52
resource_customizations/astra.netapp.io/ResourceBackup/testdata/degraded.yaml
vendored
Normal file
@@ -0,0 +1,52 @@
|
||||
apiVersion: astra.netapp.io/v1
|
||||
kind: ResourceBackup
|
||||
metadata:
|
||||
annotations:
|
||||
astra.netapp.io/correlationid: 6094b54d-b02b-475a-b5db-136729841240
|
||||
creationTimestamp: "2024-04-24T19:54:19Z"
|
||||
finalizers:
|
||||
- astra.netapp.io/finalizer
|
||||
generation: 1
|
||||
name: snapshot-7b0d4f5e-53d0-4742-adec-15ef5d527865
|
||||
namespace: astra-connector
|
||||
ownerReferences:
|
||||
- apiVersion: astra.netapp.io/v1
|
||||
blockOwnerDeletion: true
|
||||
controller: true
|
||||
kind: Snapshot
|
||||
name: backup-ad301b6a-6536-4313-89c1-d10ad0275430
|
||||
uid: 7b0d4f5e-53d0-4742-adec-15ef5d527865
|
||||
resourceVersion: "10608354"
|
||||
uid: 9f8505a1-29ac-4755-92b5-536e6d825c35
|
||||
spec:
|
||||
appArchivePath: ghost_0af10ee8-772b-4367-8334-44f9e4ad2849/snapshots/20240424195419_backup-ad301b6a-6536-4313-89c1-d10ad0275430_7b0d4f5e-53d0-4742-adec-15ef5d527865
|
||||
appVaultRef: astra-gcp-backup-743cfd150129
|
||||
applicationRef: ghost
|
||||
status:
|
||||
conditions:
|
||||
- lastTransitionTime: "2024-04-24T19:54:19Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: AppOwnerReferenceCreated
|
||||
- lastTransitionTime: "2024-04-24T19:54:19Z"
|
||||
message:
|
||||
'unable to fetch appVault: AppVault.astra.netapp.io "astra-gcp-backup-743cfd150129"
|
||||
not found'
|
||||
reason: Error
|
||||
status: "False"
|
||||
type: JobCreated
|
||||
- lastTransitionTime: "2024-04-24T19:54:19Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: JobCompleted
|
||||
- lastTransitionTime: "2024-04-24T19:54:19Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: JobCleanedUp
|
||||
error:
|
||||
'unable to fetch appVault: AppVault.astra.netapp.io "astra-gcp-backup-743cfd150129"
|
||||
not found'
|
||||
state: Error
|
||||
49
resource_customizations/astra.netapp.io/ResourceBackup/testdata/healthy.yaml
vendored
Normal file
49
resource_customizations/astra.netapp.io/ResourceBackup/testdata/healthy.yaml
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
apiVersion: astra.netapp.io/v1
|
||||
kind: ResourceBackup
|
||||
metadata:
|
||||
annotations:
|
||||
astra.netapp.io/correlationid: 5b89a58c-9b7c-42e8-b426-c8f863e88f41
|
||||
creationTimestamp: "2024-04-18T02:00:00Z"
|
||||
finalizers:
|
||||
- astra.netapp.io/finalizer
|
||||
generation: 1
|
||||
name: snapshot-0b1c9d28-33bd-45ce-b75b-2a45721e7218
|
||||
namespace: astra-connector
|
||||
ownerReferences:
|
||||
- apiVersion: astra.netapp.io/v1
|
||||
blockOwnerDeletion: true
|
||||
controller: true
|
||||
kind: Snapshot
|
||||
name: daily-02c95-20240418020000
|
||||
uid: 0b1c9d28-33bd-45ce-b75b-2a45721e7218
|
||||
resourceVersion: "5060306"
|
||||
uid: 28c08689-2f8d-4b1e-bfa4-ac8c8795adff
|
||||
spec:
|
||||
appArchivePath: wordpress_5ab7cd7d-7a9b-4508-9da2-c7dcb10a69b3/snapshots/20240418020000_daily-02c95-20240418020000_0b1c9d28-33bd-45ce-b75b-2a45721e7218
|
||||
appVaultRef: astra-gcp-backup-743cfd150129
|
||||
applicationRef: wordpress
|
||||
status:
|
||||
appArchivePath: wordpress_5ab7cd7d-7a9b-4508-9da2-c7dcb10a69b3/snapshots/20240418020000_daily-02c95-20240418020000_0b1c9d28-33bd-45ce-b75b-2a45721e7218
|
||||
completionTimestamp: "2024-04-18T02:00:09Z"
|
||||
conditions:
|
||||
- lastTransitionTime: "2024-04-18T02:00:00Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: AppOwnerReferenceCreated
|
||||
- lastTransitionTime: "2024-04-18T02:00:00Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: JobCreated
|
||||
- lastTransitionTime: "2024-04-18T02:00:09Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: JobCompleted
|
||||
- lastTransitionTime: "2024-04-18T02:00:10Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: JobCleanedUp
|
||||
state: Completed
|
||||
24
resource_customizations/astra.netapp.io/ResourceBackup/testdata/progressing_nostatus.yaml
vendored
Normal file
24
resource_customizations/astra.netapp.io/ResourceBackup/testdata/progressing_nostatus.yaml
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
apiVersion: astra.netapp.io/v1
|
||||
kind: ResourceBackup
|
||||
metadata:
|
||||
annotations:
|
||||
astra.netapp.io/correlationid: ee3baf3b-c470-486f-a327-47a6eada0722
|
||||
creationTimestamp: "2024-04-24T21:30:21Z"
|
||||
finalizers:
|
||||
- astra.netapp.io/finalizer
|
||||
generation: 1
|
||||
name: snapshot-0796d78d-e751-4835-a0d4-be61b9f9076a
|
||||
namespace: astra-connector
|
||||
ownerReferences:
|
||||
- apiVersion: astra.netapp.io/v1
|
||||
blockOwnerDeletion: true
|
||||
controller: true
|
||||
kind: Snapshot
|
||||
name: argo-presync-20240424213020
|
||||
uid: 0796d78d-e751-4835-a0d4-be61b9f9076a
|
||||
resourceVersion: "10661760"
|
||||
uid: 6ed660f0-95be-4369-b548-15cb094a44c2
|
||||
spec:
|
||||
appArchivePath: ghost_0af10ee8-772b-4367-8334-44f9e4ad2849/snapshots/20240424213020_argo-presync-20240424213020_0796d78d-e751-4835-a0d4-be61b9f9076a
|
||||
appVaultRef: astra-gcp-backup-743cfd150129
|
||||
applicationRef: ghost
|
||||
48
resource_customizations/astra.netapp.io/ResourceBackup/testdata/progressing_status.yaml
vendored
Normal file
48
resource_customizations/astra.netapp.io/ResourceBackup/testdata/progressing_status.yaml
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
apiVersion: astra.netapp.io/v1
|
||||
kind: ResourceBackup
|
||||
metadata:
|
||||
annotations:
|
||||
astra.netapp.io/correlationid: ee3baf3b-c470-486f-a327-47a6eada0722
|
||||
creationTimestamp: "2024-04-24T21:30:21Z"
|
||||
finalizers:
|
||||
- astra.netapp.io/finalizer
|
||||
generation: 1
|
||||
name: snapshot-0796d78d-e751-4835-a0d4-be61b9f9076a
|
||||
namespace: astra-connector
|
||||
ownerReferences:
|
||||
- apiVersion: astra.netapp.io/v1
|
||||
blockOwnerDeletion: true
|
||||
controller: true
|
||||
kind: Snapshot
|
||||
name: argo-presync-20240424213020
|
||||
uid: 0796d78d-e751-4835-a0d4-be61b9f9076a
|
||||
resourceVersion: "10661760"
|
||||
uid: 6ed660f0-95be-4369-b548-15cb094a44c2
|
||||
spec:
|
||||
appArchivePath: ghost_0af10ee8-772b-4367-8334-44f9e4ad2849/snapshots/20240424213020_argo-presync-20240424213020_0796d78d-e751-4835-a0d4-be61b9f9076a
|
||||
appVaultRef: astra-gcp-backup-743cfd150129
|
||||
applicationRef: ghost
|
||||
status:
|
||||
appArchivePath: ghost_0af10ee8-772b-4367-8334-44f9e4ad2849/snapshots/20240424213020_argo-presync-20240424213020_0796d78d-e751-4835-a0d4-be61b9f9076a
|
||||
conditions:
|
||||
- lastTransitionTime: "2024-04-24T21:30:21Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: AppOwnerReferenceCreated
|
||||
- lastTransitionTime: "2024-04-24T21:30:21Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: JobCreated
|
||||
- lastTransitionTime: "2024-04-24T21:30:21Z"
|
||||
message: waiting for resource backup job to complete
|
||||
reason: Waiting
|
||||
status: "False"
|
||||
type: JobCompleted
|
||||
- lastTransitionTime: "2024-04-24T21:30:21Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: JobCleanedUp
|
||||
state: Running
|
||||
@@ -0,0 +1,16 @@
|
||||
hs = { status = "Progressing", message = "No status available" }
|
||||
if obj.status ~= nil then
|
||||
if obj.status.state ~= nil then
|
||||
if obj.status.state == "Completed" then
|
||||
hs.status = "Healthy"
|
||||
hs.message = obj.kind .. " Completed"
|
||||
elseif obj.status.state == "Running" then
|
||||
hs.status = "Progressing"
|
||||
hs.message = obj.kind .. " Running"
|
||||
else
|
||||
hs.status = "Degraded"
|
||||
hs.message = obj.status.state
|
||||
end
|
||||
end
|
||||
end
|
||||
return hs
|
||||
@@ -0,0 +1,17 @@
|
||||
tests:
|
||||
- healthStatus:
|
||||
status: Progressing
|
||||
message: "No status available"
|
||||
inputPath: testdata/progressing_nostatus.yaml
|
||||
- healthStatus:
|
||||
status: Progressing
|
||||
message: "ResticVolumeBackup Running"
|
||||
inputPath: testdata/progressing_status.yaml
|
||||
- healthStatus:
|
||||
status: Healthy
|
||||
message: "ResticVolumeBackup Completed"
|
||||
inputPath: testdata/healthy.yaml
|
||||
- healthStatus:
|
||||
status: Degraded
|
||||
message: "Failed"
|
||||
inputPath: testdata/degraded.yaml
|
||||
99
resource_customizations/astra.netapp.io/ResticVolumeBackup/testdata/degraded.yaml
vendored
Normal file
99
resource_customizations/astra.netapp.io/ResticVolumeBackup/testdata/degraded.yaml
vendored
Normal file
@@ -0,0 +1,99 @@
|
||||
apiVersion: astra.netapp.io/v1
|
||||
kind: ResticVolumeBackup
|
||||
metadata:
|
||||
annotations:
|
||||
astra.netapp.io/correlationid: 26d34f64-38cc-4775-881d-a2fa12437f4b
|
||||
creationTimestamp: "2024-04-17T13:50:44Z"
|
||||
deletionGracePeriodSeconds: 0
|
||||
deletionTimestamp: "2024-04-17T14:51:28Z"
|
||||
finalizers:
|
||||
- astra.netapp.io/finalizer
|
||||
generation: 2
|
||||
name: backup-8f2ae7bd-82fc-4b4f-a22d-d08edc2e4e27-vs-54c8ec7f-42e8-48aa-b347-d4acab7b877b
|
||||
namespace: astra-connector
|
||||
ownerReferences:
|
||||
- apiVersion: astra.netapp.io/v1
|
||||
blockOwnerDeletion: true
|
||||
controller: true
|
||||
kind: Backup
|
||||
name: hourly-acde9-20240417135000
|
||||
uid: 8f2ae7bd-82fc-4b4f-a22d-d08edc2e4e27
|
||||
resourceVersion: "4675672"
|
||||
uid: ba90a4f7-a68f-4978-bc04-86902281adc2
|
||||
spec:
|
||||
clonePVC:
|
||||
metadata: {}
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteMany
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Gi
|
||||
storageClassName: netapp-cvs-perf-premium
|
||||
dataSourceRef:
|
||||
apiGroup: snapshot.storage.k8s.io
|
||||
kind: VolumeSnapshot
|
||||
name: backup-8f2ae7bd-82fc-4b4f-a22d-d08edc2e4e27-vs-54c8ec7f-42e8-48aa-b347-d4acab7b877b
|
||||
resticEnv:
|
||||
- name: GOOGLE_PROJECT_ID
|
||||
- name: GOOGLE_APPLICATION_CREDENTIALS
|
||||
value: /var/run/secrets/neptune/astra-gcp-backup-743cfd150129-5rdt4/credentials.json
|
||||
- name: RESTIC_PASSWORD
|
||||
value: password
|
||||
resticRepository: gs:astra-gcp-backup-743cfd150129://ghost_0af10ee8-772b-4367-8334-44f9e4ad2849/restic/ghost/ghost_b9ff9e05-5049-4862-82c6-dea080c2fe0d
|
||||
resticVolumeMounts:
|
||||
- mount:
|
||||
mountPath: /var/run/secrets/neptune/astra-gcp-backup-743cfd150129-5rdt4
|
||||
name: secret-astra-gcp-backup-743cfd150129-5rdt4
|
||||
readOnly: true
|
||||
source:
|
||||
items:
|
||||
- key: credentials.json
|
||||
path: credentials.json
|
||||
secretName: astra-gcp-backup-743cfd150129-5rdt4
|
||||
status:
|
||||
clonePVCName: restic-volume-backup-ba90a4f7-a68f-4978-bc04-86902281adc2
|
||||
clonePVName: ""
|
||||
conditions:
|
||||
- lastTransitionTime: "2024-04-17T13:50:44Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: SourcePVCExists
|
||||
- lastTransitionTime: "2024-04-17T13:50:44Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: ResticJobCreated
|
||||
- lastTransitionTime: "2024-04-17T13:50:44Z"
|
||||
message:
|
||||
"restic job restic-volume-backup-ba90a4f7-a68f-4978-bc04-86902281adc2
|
||||
failed: permanent error"
|
||||
reason: Failed
|
||||
status: "False"
|
||||
type: ResticJobCompleted
|
||||
- lastTransitionTime: "2024-04-17T13:50:44Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: ResticJobCleanedUp
|
||||
- lastTransitionTime: "2024-04-17T13:50:44Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: TemporaryPVCCloneCleanedUp
|
||||
- lastTransitionTime: "2024-04-17T13:50:44Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: TemporaryPVCloneCleanedUp
|
||||
- lastTransitionTime: "2024-04-17T13:50:44Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: Completed
|
||||
error:
|
||||
"restic job restic-volume-backup-ba90a4f7-a68f-4978-bc04-86902281adc2 failed:
|
||||
permanent error"
|
||||
resticJobName: restic-volume-backup-ba90a4f7-a68f-4978-bc04-86902281adc2
|
||||
state: Failed
|
||||
94
resource_customizations/astra.netapp.io/ResticVolumeBackup/testdata/healthy.yaml
vendored
Normal file
94
resource_customizations/astra.netapp.io/ResticVolumeBackup/testdata/healthy.yaml
vendored
Normal file
@@ -0,0 +1,94 @@
|
||||
apiVersion: astra.netapp.io/v1
|
||||
kind: ResticVolumeBackup
|
||||
metadata:
|
||||
annotations:
|
||||
astra.netapp.io/correlationid: 2d54c3e9-2b18-4ce9-958e-4c307619e4e7
|
||||
creationTimestamp: "2024-04-25T20:30:15Z"
|
||||
finalizers:
|
||||
- astra.netapp.io/finalizer
|
||||
generation: 1
|
||||
name: backup-40b1dc7d-f1c0-4c3d-b34e-d7db5cc26d14-vs-78b36b0d-52db-4b24-afe4-ceec56209bbb
|
||||
namespace: astra-connector
|
||||
ownerReferences:
|
||||
- apiVersion: astra.netapp.io/v1
|
||||
blockOwnerDeletion: true
|
||||
controller: true
|
||||
kind: Backup
|
||||
name: hourly-acde9-20240425195000
|
||||
uid: 40b1dc7d-f1c0-4c3d-b34e-d7db5cc26d14
|
||||
resourceVersion: "11460297"
|
||||
uid: f3424a57-862e-4609-88ce-e534a655a5d6
|
||||
spec:
|
||||
clonePVC:
|
||||
metadata: {}
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Gi
|
||||
storageClassName: netapp-cvs-perf-premium
|
||||
dataSourceRef:
|
||||
apiGroup: snapshot.storage.k8s.io
|
||||
kind: VolumeSnapshot
|
||||
name: backup-40b1dc7d-f1c0-4c3d-b34e-d7db5cc26d14-vs-78b36b0d-52db-4b24-afe4-ceec56209bbb
|
||||
resticEnv:
|
||||
- name: GOOGLE_PROJECT_ID
|
||||
- name: GOOGLE_APPLICATION_CREDENTIALS
|
||||
value: /var/run/secrets/neptune/astra-gcp-backup-743cfd150129-5rdt4/credentials.json
|
||||
- name: RESTIC_PASSWORD
|
||||
value: password
|
||||
resticRepository: gs:astra-gcp-backup-743cfd150129://ghost_0af10ee8-772b-4367-8334-44f9e4ad2849/restic/ghost/mysql-pv-claim_5749beb5-e09a-4286-8cb4-1af9750f6929
|
||||
resticVolumeMounts:
|
||||
- mount:
|
||||
mountPath: /var/run/secrets/neptune/astra-gcp-backup-743cfd150129-5rdt4
|
||||
name: secret-astra-gcp-backup-743cfd150129-5rdt4
|
||||
readOnly: true
|
||||
source:
|
||||
items:
|
||||
- key: credentials.json
|
||||
path: credentials.json
|
||||
secretName: astra-gcp-backup-743cfd150129-5rdt4
|
||||
status:
|
||||
clonePVCName: restic-volume-backup-f3424a57-862e-4609-88ce-e534a655a5d6
|
||||
clonePVName: pvc-90470af6-7d44-4500-80c1-99f925193654
|
||||
completionTimestamp: "2024-04-25T20:31:57Z"
|
||||
conditions:
|
||||
- lastTransitionTime: "2024-04-25T20:30:15Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: SourcePVCExists
|
||||
- lastTransitionTime: "2024-04-25T20:30:15Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: ResticJobCreated
|
||||
- lastTransitionTime: "2024-04-25T20:30:54Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: ResticJobCompleted
|
||||
- lastTransitionTime: "2024-04-25T20:30:54Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: ResticJobCleanedUp
|
||||
- lastTransitionTime: "2024-04-25T20:30:54Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: TemporaryPVCCloneCleanedUp
|
||||
- lastTransitionTime: "2024-04-25T20:31:57Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: TemporaryPVCloneCleanedUp
|
||||
- lastTransitionTime: "2024-04-25T20:31:57Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: Completed
|
||||
resticJobName: restic-volume-backup-f3424a57-862e-4609-88ce-e534a655a5d6
|
||||
resticSnapshotID: 88c5684cf3e0cd73e57d96f11d20b1c6b03c913cf574cb73cb40da95078d6694
|
||||
state: Completed
|
||||
49
resource_customizations/astra.netapp.io/ResticVolumeBackup/testdata/progressing_nostatus.yaml
vendored
Normal file
49
resource_customizations/astra.netapp.io/ResticVolumeBackup/testdata/progressing_nostatus.yaml
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
apiVersion: astra.netapp.io/v1
|
||||
kind: ResticVolumeBackup
|
||||
metadata:
|
||||
creationTimestamp: "2024-04-25T20:30:15Z"
|
||||
finalizers:
|
||||
- astra.netapp.io/finalizer
|
||||
generation: 1
|
||||
name: backup-40b1dc7d-f1c0-4c3d-b34e-d7db5cc26d14-vs-78b36b0d-52db-4b24-afe4-ceec56209bbb
|
||||
namespace: astra-connector
|
||||
ownerReferences:
|
||||
- apiVersion: astra.netapp.io/v1
|
||||
blockOwnerDeletion: true
|
||||
controller: true
|
||||
kind: Backup
|
||||
name: hourly-acde9-20240425195000
|
||||
uid: 40b1dc7d-f1c0-4c3d-b34e-d7db5cc26d14
|
||||
resourceVersion: "11459172"
|
||||
uid: f3424a57-862e-4609-88ce-e534a655a5d6
|
||||
spec:
|
||||
clonePVC:
|
||||
metadata: {}
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Gi
|
||||
storageClassName: netapp-cvs-perf-premium
|
||||
dataSourceRef:
|
||||
apiGroup: snapshot.storage.k8s.io
|
||||
kind: VolumeSnapshot
|
||||
name: backup-40b1dc7d-f1c0-4c3d-b34e-d7db5cc26d14-vs-78b36b0d-52db-4b24-afe4-ceec56209bbb
|
||||
resticEnv:
|
||||
- name: GOOGLE_PROJECT_ID
|
||||
- name: GOOGLE_APPLICATION_CREDENTIALS
|
||||
value: /var/run/secrets/neptune/astra-gcp-backup-743cfd150129-5rdt4/credentials.json
|
||||
- name: RESTIC_PASSWORD
|
||||
value: password
|
||||
resticRepository: gs:astra-gcp-backup-743cfd150129://ghost_0af10ee8-772b-4367-8334-44f9e4ad2849/restic/ghost/mysql-pv-claim_5749beb5-e09a-4286-8cb4-1af9750f6929
|
||||
resticVolumeMounts:
|
||||
- mount:
|
||||
mountPath: /var/run/secrets/neptune/astra-gcp-backup-743cfd150129-5rdt4
|
||||
name: secret-astra-gcp-backup-743cfd150129-5rdt4
|
||||
readOnly: true
|
||||
source:
|
||||
items:
|
||||
- key: credentials.json
|
||||
path: credentials.json
|
||||
secretName: astra-gcp-backup-743cfd150129-5rdt4
|
||||
92
resource_customizations/astra.netapp.io/ResticVolumeBackup/testdata/progressing_status.yaml
vendored
Normal file
92
resource_customizations/astra.netapp.io/ResticVolumeBackup/testdata/progressing_status.yaml
vendored
Normal file
@@ -0,0 +1,92 @@
|
||||
apiVersion: astra.netapp.io/v1
|
||||
kind: ResticVolumeBackup
|
||||
metadata:
|
||||
annotations:
|
||||
astra.netapp.io/correlationid: 2d54c3e9-2b18-4ce9-958e-4c307619e4e7
|
||||
creationTimestamp: "2024-04-25T20:30:15Z"
|
||||
finalizers:
|
||||
- astra.netapp.io/finalizer
|
||||
generation: 1
|
||||
name: backup-40b1dc7d-f1c0-4c3d-b34e-d7db5cc26d14-vs-78b36b0d-52db-4b24-afe4-ceec56209bbb
|
||||
namespace: astra-connector
|
||||
ownerReferences:
|
||||
- apiVersion: astra.netapp.io/v1
|
||||
blockOwnerDeletion: true
|
||||
controller: true
|
||||
kind: Backup
|
||||
name: hourly-acde9-20240425195000
|
||||
uid: 40b1dc7d-f1c0-4c3d-b34e-d7db5cc26d14
|
||||
resourceVersion: "11459181"
|
||||
uid: f3424a57-862e-4609-88ce-e534a655a5d6
|
||||
spec:
|
||||
clonePVC:
|
||||
metadata: {}
|
||||
spec:
|
||||
accessModes:
|
||||
- ReadWriteOnce
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Gi
|
||||
storageClassName: netapp-cvs-perf-premium
|
||||
dataSourceRef:
|
||||
apiGroup: snapshot.storage.k8s.io
|
||||
kind: VolumeSnapshot
|
||||
name: backup-40b1dc7d-f1c0-4c3d-b34e-d7db5cc26d14-vs-78b36b0d-52db-4b24-afe4-ceec56209bbb
|
||||
resticEnv:
|
||||
- name: GOOGLE_PROJECT_ID
|
||||
- name: GOOGLE_APPLICATION_CREDENTIALS
|
||||
value: /var/run/secrets/neptune/astra-gcp-backup-743cfd150129-5rdt4/credentials.json
|
||||
- name: RESTIC_PASSWORD
|
||||
value: password
|
||||
resticRepository: gs:astra-gcp-backup-743cfd150129://ghost_0af10ee8-772b-4367-8334-44f9e4ad2849/restic/ghost/mysql-pv-claim_5749beb5-e09a-4286-8cb4-1af9750f6929
|
||||
resticVolumeMounts:
|
||||
- mount:
|
||||
mountPath: /var/run/secrets/neptune/astra-gcp-backup-743cfd150129-5rdt4
|
||||
name: secret-astra-gcp-backup-743cfd150129-5rdt4
|
||||
readOnly: true
|
||||
source:
|
||||
items:
|
||||
- key: credentials.json
|
||||
path: credentials.json
|
||||
secretName: astra-gcp-backup-743cfd150129-5rdt4
|
||||
status:
|
||||
clonePVCName: restic-volume-backup-f3424a57-862e-4609-88ce-e534a655a5d6
|
||||
clonePVName: ""
|
||||
conditions:
|
||||
- lastTransitionTime: "2024-04-25T20:30:15Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: SourcePVCExists
|
||||
- lastTransitionTime: "2024-04-25T20:30:15Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: ResticJobCreated
|
||||
- lastTransitionTime: "2024-04-25T20:30:15Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: ResticJobCompleted
|
||||
- lastTransitionTime: "2024-04-25T20:30:15Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: ResticJobCleanedUp
|
||||
- lastTransitionTime: "2024-04-25T20:30:15Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: TemporaryPVCCloneCleanedUp
|
||||
- lastTransitionTime: "2024-04-25T20:30:15Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: TemporaryPVCloneCleanedUp
|
||||
- lastTransitionTime: "2024-04-25T20:30:15Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: Completed
|
||||
resticJobName: restic-volume-backup-f3424a57-862e-4609-88ce-e534a655a5d6
|
||||
state: Running
|
||||
@@ -0,0 +1,7 @@
|
||||
hs = { status = "Healthy", message = "Protection policy not yet executed" }
|
||||
if obj.status ~= nil then
|
||||
if obj.status.lastScheduleTime ~= nil then
|
||||
hs.message = "Protection policy lastScheduleTime: " .. obj.status.lastScheduleTime
|
||||
end
|
||||
end
|
||||
return hs
|
||||
@@ -0,0 +1,9 @@
|
||||
tests:
|
||||
- healthStatus:
|
||||
status: Healthy
|
||||
message: "Protection policy not yet executed"
|
||||
inputPath: testdata/healthy_nostatus.yaml
|
||||
- healthStatus:
|
||||
status: Healthy
|
||||
message: "Protection policy lastScheduleTime: 2024-04-24T01:00:00Z"
|
||||
inputPath: testdata/healthy_status.yaml
|
||||
28
resource_customizations/astra.netapp.io/Schedule/testdata/healthy_nostatus.yaml
vendored
Normal file
28
resource_customizations/astra.netapp.io/Schedule/testdata/healthy_nostatus.yaml
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
apiVersion: astra.netapp.io/v1
|
||||
kind: Schedule
|
||||
metadata:
|
||||
creationTimestamp: "2024-04-15T20:46:16Z"
|
||||
generation: 2
|
||||
labels:
|
||||
argocd.argoproj.io/instance: ghost-demo
|
||||
name: ghost-monthly
|
||||
namespace: astra-connector
|
||||
ownerReferences:
|
||||
- apiVersion: astra.netapp.io/v1
|
||||
kind: Application
|
||||
name: ghost
|
||||
uid: 0af10ee8-772b-4367-8334-44f9e4ad2849
|
||||
resourceVersion: "3231157"
|
||||
uid: f75ebc6f-627c-4b34-ba36-e64ddc3948e3
|
||||
spec:
|
||||
appVaultRef: astra-gcp-backup-743cfd150129
|
||||
applicationRef: ghost
|
||||
backupRetention: "1"
|
||||
dayOfMonth: "1"
|
||||
dayOfWeek: ""
|
||||
enabled: true
|
||||
granularity: monthly
|
||||
hour: "2"
|
||||
minute: "0"
|
||||
recurrenceRule: ""
|
||||
snapshotRetention: "1"
|
||||
30
resource_customizations/astra.netapp.io/Schedule/testdata/healthy_status.yaml
vendored
Normal file
30
resource_customizations/astra.netapp.io/Schedule/testdata/healthy_status.yaml
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
apiVersion: astra.netapp.io/v1
|
||||
kind: Schedule
|
||||
metadata:
|
||||
creationTimestamp: "2024-04-15T20:46:16Z"
|
||||
generation: 2
|
||||
labels:
|
||||
argocd.argoproj.io/instance: ghost-demo
|
||||
name: ghost-daily
|
||||
namespace: astra-connector
|
||||
ownerReferences:
|
||||
- apiVersion: astra.netapp.io/v1
|
||||
kind: Application
|
||||
name: ghost
|
||||
uid: 0af10ee8-772b-4367-8334-44f9e4ad2849
|
||||
resourceVersion: "9963815"
|
||||
uid: a2736922-6801-482c-a199-03ef8a3f35d7
|
||||
spec:
|
||||
appVaultRef: astra-gcp-backup-743cfd150129
|
||||
applicationRef: ghost
|
||||
backupRetention: "1"
|
||||
dayOfMonth: ""
|
||||
dayOfWeek: ""
|
||||
enabled: true
|
||||
granularity: daily
|
||||
hour: "1"
|
||||
minute: "0"
|
||||
recurrenceRule: ""
|
||||
snapshotRetention: "1"
|
||||
status:
|
||||
lastScheduleTime: "2024-04-24T01:00:00Z"
|
||||
16
resource_customizations/astra.netapp.io/Snapshot/health.lua
Normal file
16
resource_customizations/astra.netapp.io/Snapshot/health.lua
Normal file
@@ -0,0 +1,16 @@
|
||||
hs = { status = "Progressing", message = "No status available" }
|
||||
if obj.status ~= nil then
|
||||
if obj.status.state ~= nil then
|
||||
if obj.status.state == "Completed" then
|
||||
hs.status = "Healthy"
|
||||
hs.message = obj.kind .. " Completed"
|
||||
elseif obj.status.state == "Running" then
|
||||
hs.status = "Progressing"
|
||||
hs.message = obj.kind .. " Running"
|
||||
else
|
||||
hs.status = "Degraded"
|
||||
hs.message = obj.status.state
|
||||
end
|
||||
end
|
||||
end
|
||||
return hs
|
||||
@@ -0,0 +1,17 @@
|
||||
tests:
|
||||
- healthStatus:
|
||||
status: Progressing
|
||||
message: "No status available"
|
||||
inputPath: testdata/progressing_nostatus.yaml
|
||||
- healthStatus:
|
||||
status: Progressing
|
||||
message: "Snapshot Running"
|
||||
inputPath: testdata/progressing_status.yaml
|
||||
- healthStatus:
|
||||
status: Healthy
|
||||
message: "Snapshot Completed"
|
||||
inputPath: testdata/healthy.yaml
|
||||
- healthStatus:
|
||||
status: Degraded
|
||||
message: "Failed"
|
||||
inputPath: testdata/degraded.yaml
|
||||
80
resource_customizations/astra.netapp.io/Snapshot/testdata/degraded.yaml
vendored
Normal file
80
resource_customizations/astra.netapp.io/Snapshot/testdata/degraded.yaml
vendored
Normal file
@@ -0,0 +1,80 @@
|
||||
apiVersion: astra.netapp.io/v1
|
||||
kind: Snapshot
|
||||
metadata:
|
||||
annotations:
|
||||
astra.netapp.io/correlationid: 6094b54d-b02b-475a-b5db-136729841240
|
||||
creationTimestamp: "2024-04-24T19:54:18Z"
|
||||
finalizers:
|
||||
- astra.netapp.io/finalizer
|
||||
generation: 1
|
||||
name: backup-ad301b6a-6536-4313-89c1-d10ad0275430
|
||||
namespace: astra-connector
|
||||
ownerReferences:
|
||||
- apiVersion: astra.netapp.io/v1
|
||||
blockOwnerDeletion: true
|
||||
controller: true
|
||||
kind: Backup
|
||||
name: backup-20240424193746
|
||||
uid: ad301b6a-6536-4313-89c1-d10ad0275430
|
||||
- apiVersion: astra.netapp.io/v1
|
||||
kind: Application
|
||||
name: ghost
|
||||
uid: 0af10ee8-772b-4367-8334-44f9e4ad2849
|
||||
resourceVersion: "10641329"
|
||||
uid: 7b0d4f5e-53d0-4742-adec-15ef5d527865
|
||||
spec:
|
||||
appVaultRef: astra-gcp-backup-743cfd150129
|
||||
applicationRef: ghost
|
||||
completionTimeout: 0s
|
||||
volumeSnapshotsCreatedTimeout: 0s
|
||||
volumeSnapshotsReadyToUseTimeout: 0s
|
||||
status:
|
||||
appArchivePath: ghost_0af10ee8-772b-4367-8334-44f9e4ad2849/snapshots/20240424195419_backup-ad301b6a-6536-4313-89c1-d10ad0275430_7b0d4f5e-53d0-4742-adec-15ef5d527865
|
||||
conditions:
|
||||
- lastTransitionTime: "2024-04-24T19:54:19Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: AppOwnerReferenceCreated
|
||||
- lastTransitionTime: "2024-04-24T19:54:19Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: AppArchivePathNameGenerated
|
||||
- lastTransitionTime: "2024-04-24T19:54:19Z"
|
||||
message: reconcile timeout of 1h0m0s exceeded
|
||||
reason: Timeout
|
||||
status: "False"
|
||||
type: ResourceBackupCompleted
|
||||
- lastTransitionTime: "2024-04-24T19:54:19Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: PreSnapshotExecHooksRunCompleted
|
||||
- lastTransitionTime: "2024-04-24T19:54:19Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: VolumeSnapshotsCreated
|
||||
- lastTransitionTime: "2024-04-24T19:54:19Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: PostSnapshotExecHooksRunCompleted
|
||||
- lastTransitionTime: "2024-04-24T19:54:19Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: VolumeSnapshotsReady
|
||||
- lastTransitionTime: "2024-04-24T19:54:19Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: Completed
|
||||
- lastTransitionTime: "2024-04-24T19:54:19Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: OnFailurePostSnapshotExecHooksRunCompleted
|
||||
error: reconcile timeout of 1h0m0s exceeded
|
||||
state: Failed
|
||||
81
resource_customizations/astra.netapp.io/Snapshot/testdata/healthy.yaml
vendored
Normal file
81
resource_customizations/astra.netapp.io/Snapshot/testdata/healthy.yaml
vendored
Normal file
@@ -0,0 +1,81 @@
|
||||
apiVersion: astra.netapp.io/v1
|
||||
kind: Snapshot
|
||||
metadata:
|
||||
annotations:
|
||||
astra.netapp.io/correlationid: 87091676-6489-4c76-8728-6b81bf4936b0
|
||||
creationTimestamp: "2024-04-24T14:23:18Z"
|
||||
finalizers:
|
||||
- astra.netapp.io/finalizer
|
||||
generation: 2
|
||||
name: argo-presync-20240424142317
|
||||
namespace: astra-connector
|
||||
ownerReferences:
|
||||
- apiVersion: astra.netapp.io/v1
|
||||
kind: Application
|
||||
name: ghost
|
||||
uid: 0af10ee8-772b-4367-8334-44f9e4ad2849
|
||||
resourceVersion: "10421471"
|
||||
uid: 152faab3-0374-4cef-bac9-6e7940b06aa9
|
||||
spec:
|
||||
appVaultRef: astra-gcp-backup-743cfd150129
|
||||
applicationRef: ghost
|
||||
completionTimeout: 0s
|
||||
volumeSnapshotsCreatedTimeout: 0s
|
||||
volumeSnapshotsReadyToUseTimeout: 0s
|
||||
status:
|
||||
appArchivePath: ghost_0af10ee8-772b-4367-8334-44f9e4ad2849/snapshots/20240424142318_argo-presync-20240424142317_152faab3-0374-4cef-bac9-6e7940b06aa9
|
||||
completionTimestamp: "2024-04-24T14:23:43Z"
|
||||
conditions:
|
||||
- lastTransitionTime: "2024-04-24T14:23:18Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: AppOwnerReferenceCreated
|
||||
- lastTransitionTime: "2024-04-24T14:23:18Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: AppArchivePathNameGenerated
|
||||
- lastTransitionTime: "2024-04-24T14:23:30Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: ResourceBackupCompleted
|
||||
- lastTransitionTime: "2024-04-24T14:23:31Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: PreSnapshotExecHooksRunCompleted
|
||||
- lastTransitionTime: "2024-04-24T14:23:41Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: VolumeSnapshotsCreated
|
||||
- lastTransitionTime: "2024-04-24T14:23:42Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: PostSnapshotExecHooksRunCompleted
|
||||
- lastTransitionTime: "2024-04-24T14:23:43Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: VolumeSnapshotsReady
|
||||
- lastTransitionTime: "2024-04-24T14:23:43Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: Completed
|
||||
- lastTransitionTime: "2024-04-24T14:23:18Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: OnFailurePostSnapshotExecHooksRunCompleted
|
||||
postSnapshotExecHooksRunResults: []
|
||||
preSnapshotExecHooksRunResults: []
|
||||
state: Completed
|
||||
volumeSnapshots:
|
||||
- name: snapshot-152faab3-0374-4cef-bac9-6e7940b06aa9-pvc-b9ff9e05-5049-4862-82c6-dea080c2fe0d
|
||||
namespace: ghost
|
||||
- name: snapshot-152faab3-0374-4cef-bac9-6e7940b06aa9-pvc-38c468b3-eed6-48f2-b43b-15083dd1c030
|
||||
namespace: ghost
|
||||
24
resource_customizations/astra.netapp.io/Snapshot/testdata/progressing_nostatus.yaml
vendored
Normal file
24
resource_customizations/astra.netapp.io/Snapshot/testdata/progressing_nostatus.yaml
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
apiVersion: astra.netapp.io/v1
|
||||
kind: Snapshot
|
||||
metadata:
|
||||
annotations:
|
||||
astra.netapp.io/correlationid: de2315e9-4733-4733-91a0-1abec5f1e44e
|
||||
creationTimestamp: "2024-04-24T21:17:04Z"
|
||||
finalizers:
|
||||
- astra.netapp.io/finalizer
|
||||
generation: 2
|
||||
name: argo-presync-20240424211703
|
||||
namespace: astra-connector
|
||||
ownerReferences:
|
||||
- apiVersion: astra.netapp.io/v1
|
||||
kind: Application
|
||||
name: ghost
|
||||
uid: 0af10ee8-772b-4367-8334-44f9e4ad2849
|
||||
resourceVersion: "10654224"
|
||||
uid: b200db48-c186-4ae8-9748-1ba7bec23d6d
|
||||
spec:
|
||||
appVaultRef: astra-gcp-backup-743cfd150129
|
||||
applicationRef: ghost
|
||||
completionTimeout: 0s
|
||||
volumeSnapshotsCreatedTimeout: 0s
|
||||
volumeSnapshotsReadyToUseTimeout: 0s
|
||||
73
resource_customizations/astra.netapp.io/Snapshot/testdata/progressing_status.yaml
vendored
Normal file
73
resource_customizations/astra.netapp.io/Snapshot/testdata/progressing_status.yaml
vendored
Normal file
@@ -0,0 +1,73 @@
|
||||
apiVersion: astra.netapp.io/v1
|
||||
kind: Snapshot
|
||||
metadata:
|
||||
annotations:
|
||||
astra.netapp.io/correlationid: de2315e9-4733-4733-91a0-1abec5f1e44e
|
||||
creationTimestamp: "2024-04-24T21:17:04Z"
|
||||
finalizers:
|
||||
- astra.netapp.io/finalizer
|
||||
generation: 2
|
||||
name: argo-presync-20240424211703
|
||||
namespace: astra-connector
|
||||
ownerReferences:
|
||||
- apiVersion: astra.netapp.io/v1
|
||||
kind: Application
|
||||
name: ghost
|
||||
uid: 0af10ee8-772b-4367-8334-44f9e4ad2849
|
||||
resourceVersion: "10654224"
|
||||
uid: b200db48-c186-4ae8-9748-1ba7bec23d6d
|
||||
spec:
|
||||
appVaultRef: astra-gcp-backup-743cfd150129
|
||||
applicationRef: ghost
|
||||
completionTimeout: 0s
|
||||
volumeSnapshotsCreatedTimeout: 0s
|
||||
volumeSnapshotsReadyToUseTimeout: 0s
|
||||
status:
|
||||
appArchivePath: ghost_0af10ee8-772b-4367-8334-44f9e4ad2849/snapshots/20240424211704_argo-presync-20240424211703_b200db48-c186-4ae8-9748-1ba7bec23d6d
|
||||
conditions:
|
||||
- lastTransitionTime: "2024-04-24T21:17:04Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: AppOwnerReferenceCreated
|
||||
- lastTransitionTime: "2024-04-24T21:17:04Z"
|
||||
message: Successfully reconciled
|
||||
reason: Done
|
||||
status: "True"
|
||||
type: AppArchivePathNameGenerated
|
||||
- lastTransitionTime: "2024-04-24T21:17:04Z"
|
||||
message: Waiting for ResourceBackup to complete
|
||||
reason: Waiting
|
||||
status: "False"
|
||||
type: ResourceBackupCompleted
|
||||
- lastTransitionTime: "2024-04-24T21:17:04Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: PreSnapshotExecHooksRunCompleted
|
||||
- lastTransitionTime: "2024-04-24T21:17:04Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: VolumeSnapshotsCreated
|
||||
- lastTransitionTime: "2024-04-24T21:17:04Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: PostSnapshotExecHooksRunCompleted
|
||||
- lastTransitionTime: "2024-04-24T21:17:04Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: VolumeSnapshotsReady
|
||||
- lastTransitionTime: "2024-04-24T21:17:04Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: Completed
|
||||
- lastTransitionTime: "2024-04-24T21:17:04Z"
|
||||
message: Not yet reconciled
|
||||
reason: Pending
|
||||
status: Unknown
|
||||
type: OnFailurePostSnapshotExecHooksRunCompleted
|
||||
state: Running
|
||||
Reference in New Issue
Block a user