Skip to content

Commit a70ecc8

Browse files
committed
create singleton recipe for lsr
Signed-off-by: YuChen <[email protected]>
1 parent 6cfa446 commit a70ecc8

File tree

4 files changed

+216
-0
lines changed

4 files changed

+216
-0
lines changed
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
apiVersion: application.isf.ibm.com/v1alpha1
2+
kind: Application
3+
metadata:
4+
name: lsr-application
5+
namespace: ibm-spectrum-fusion-ns
6+
spec:
7+
enableDR: false
8+
includedNamespaces:
9+
- ibm-lsr
10+
- openshift-marketplace
11+
- openshift-config
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
apiVersion: data-protection.isf.ibm.com/v1alpha1
2+
kind: BackupPolicy
3+
metadata:
4+
name: lsr-backup-policy
5+
spec:
6+
backupStorageLocation: <storage_location>
7+
provider: isf-backup-restore
8+
retention:
9+
number: 5
10+
unit: days
11+
schedule:
12+
cron: '00 0 * * * '
13+
timezone: America/New_York
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
apiVersion: data-protection.isf.ibm.com/v1alpha1
2+
kind: PolicyAssignment
3+
metadata:
4+
name: lsr-policy-assignment
5+
namespace: ibm-spectrum-fusion-ns
6+
spec:
7+
application: lsr-application
8+
backupPolicy: lsr-backup-policy
9+
runNow: false
10+
recipe:
11+
apiVersion: spp-data-protection.isf.ibm.com/v1alpha1
12+
name: lsr-recipe
13+
namespace: ibm-spectrum-fusion-ns
Lines changed: 179 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,179 @@
1+
apiVersion: spp-data-protection.isf.ibm.com/v1alpha1
2+
kind: Recipe
3+
metadata:
4+
name: lsr-recipe
5+
namespace: ibm-spectrum-fusion-ns
6+
spec:
7+
appType: license-service-reporter
8+
groups:
9+
- includeClusterResources: true
10+
includedResourceTypes:
11+
- customresourcedefinitions.apiextensions.k8s.io
12+
- secrets
13+
- ibmlicenseservicereporters.operator.ibm.com
14+
labelSelector: foundationservices.cloudpak.ibm.com=lsr
15+
name: license-service-reporter-parent
16+
type: resource
17+
- backupRef: license-service-reporter-parent
18+
includeClusterResources: true
19+
includedResourceTypes:
20+
- customresourcedefinitions.apiextensions.k8s.io
21+
name: license-service-reporter-crd
22+
type: resource
23+
- backupRef: license-service-reporter-parent
24+
includeClusterResources: true
25+
includedResourceTypes:
26+
- secrets
27+
- ibmlicenseservicereporters.operator.ibm.com
28+
name: license-service-reporter-instances
29+
type: resource
30+
- includeClusterResources: true
31+
includedResourceTypes:
32+
- deployments
33+
- serviceaccount
34+
- role
35+
- rolebinding
36+
- configmaps
37+
labelSelector: foundationservices.cloudpak.ibm.com=lsr-data
38+
name: license-service-reporter-resources
39+
type: resource
40+
- backupRef: license-service-reporter-resources
41+
includeClusterResources: true
42+
includedResourceTypes:
43+
- serviceaccount
44+
- role
45+
- rolebinding
46+
- configmaps
47+
name: lsr-pre-deploy
48+
type: resource
49+
- backupRef: license-service-reporter-resources
50+
includeClusterResources: true
51+
includedResourceTypes:
52+
- deployments
53+
name: lsr-deployment
54+
type: resource
55+
- labelSelector: foundationservices.cloudpak.ibm.com=lsr-data
56+
name: lsr-volume
57+
type: volume
58+
- includedResourceTypes:
59+
- catalogsources.operators.coreos.com
60+
labelSelector: foundationservices.cloudpak.ibm.com=catalog
61+
name: common-services-catalogs
62+
type: resource
63+
- includedNamespaces:
64+
- openshift-config
65+
includedResourceTypes:
66+
- secrets
67+
labelSelector: foundationservices.cloudpak.ibm.com=pull-secret
68+
name: pull-secret
69+
type: resource
70+
- backupRef: pull-secret
71+
includedNamespaces:
72+
- openshift-config
73+
includedResourceTypes:
74+
- secrets
75+
labelSelector: foundationservices.cloudpak.ibm.com=pull-secret
76+
name: ow-pull-secret
77+
restoreOverwriteResources: true
78+
type: resource
79+
- includeClusterResources: true
80+
labelSelector: foundationservices.cloudpak.ibm.com=namespace
81+
name: common-services-namespace
82+
type: resource
83+
- includedResourceTypes:
84+
- operatorgroups.operators.coreos.com
85+
labelSelector: foundationservices.cloudpak.ibm.com=operatorgroup
86+
name: common-services-operatorgroups
87+
type: resource
88+
- includedResourceTypes:
89+
- subscriptions.operators.coreos.com
90+
labelSelector: foundationservices.cloudpak.ibm.com=lsr
91+
name: license-service-reporter-subscriptions
92+
type: resource
93+
hooks:
94+
- chks:
95+
- condition: '{$.status.phase} == {"Running"}'
96+
name: podReady
97+
onError: fail
98+
timeout: 600
99+
name: license-service-reporter-check
100+
labelSelector: app.kubernetes.io/name=ibm-license-service-reporter
101+
namespace: <lsr namespace>
102+
onError: fail
103+
selectResource: pod
104+
timeout: 600
105+
type: check
106+
- chks:
107+
- condition: '{$.status.phase} == {"Running"}'
108+
name: podReady
109+
onError: fail
110+
timeout: 600
111+
name: license-service-reporter-instance-check
112+
labelSelector: app.kubernetes.io/instance=ibm-license-service-reporter
113+
namespace: <lsr namespace>
114+
onError: fail
115+
selectResource: pod
116+
timeout: 600
117+
type: check
118+
- chks:
119+
- condition: '{$.spec.replicas} == {$.status.readyReplicas}'
120+
name: podReady
121+
onError: fail
122+
timeout: 600
123+
labelSelector: foundationservices.cloudpak.ibm.com=lsr-data
124+
name: lsr-deployment
125+
namespace: <lsr namespace>
126+
onError: fail
127+
selectResource: deployment
128+
timeout: 600
129+
type: check
130+
- labelSelector: foundationservices.cloudpak.ibm.com=lsr-data
131+
name: lsr-data
132+
namespace: <lsr namespace>
133+
onError: fail
134+
ops:
135+
- command: |
136+
["/bin/bash", "-c", "rm -rf /lsr/lsr-backup/database; /lsr/br_lsr.sh <lsr namespace> backup"]
137+
container: lsr-backup-job
138+
name: backup
139+
timeout: 600
140+
- command: |
141+
["/bin/bash", "-c", "/lsr/br_lsr.sh <lsr namespace> restore"]
142+
container: lsr-backup-job
143+
name: restore
144+
timeout: 2000
145+
selectResource: pod
146+
type: exec
147+
workflows:
148+
- failOn: any-error
149+
name: backup
150+
sequence:
151+
# - hook: lsr-data/backup
152+
# - group: lsr-volume
153+
# - group: license-service-reporter-resources
154+
- group: pull-secret
155+
- group: common-services-namespace
156+
- group: common-services-catalogs
157+
- group: common-services-operatorgroups
158+
- group: license-service-reporter-parent
159+
- group: license-service-reporter-subscriptions
160+
- failOn: any-error
161+
name: restore
162+
sequence:
163+
- group: common-services-namespace
164+
- group: pull-secret
165+
- group: ow-pull-secret
166+
- group: common-services-catalogs
167+
- group: common-services-operatorgroups
168+
- group: license-service-reporter-crd
169+
- group: license-service-reporter-subscriptions
170+
- hook: license-service-reporter-check/podReady
171+
- group: license-service-reporter-instances
172+
- hook: license-service-reporter-instance-check/podReady
173+
# - group: lsr-pre-deploy
174+
# - group: lsr-volume
175+
# - group: lsr-deployment
176+
# - hook: lsr-deployment/podReady
177+
#- hook: lsr-data/restore
178+
179+

0 commit comments

Comments
 (0)