5
5
"strings"
6
6
7
7
"github.com/red-hat-storage/odf-cli/cmd/odf/root"
8
- "github.com/red-hat-storage/odf-cli/pkg/crd"
9
8
"github.com/rook/kubectl-rook-ceph/pkg/k8sutil"
10
9
"github.com/rook/kubectl-rook-ceph/pkg/logging"
10
+ pkgrestore "github.com/rook/kubectl-rook-ceph/pkg/restore"
11
11
"github.com/spf13/cobra"
12
12
)
13
13
@@ -49,6 +49,15 @@ func parseFullyQualifiedCRD(fqcrd string) (resourceName, groupName, version stri
49
49
return resourceName , groupName , ver , nil
50
50
}
51
51
52
+ func contains (slice []string , item string ) bool {
53
+ for _ , s := range slice {
54
+ if s == item {
55
+ return true
56
+ }
57
+ }
58
+ return false
59
+ }
60
+
52
61
// deletedCmd represents the deleted command
53
62
var deletedCmd = & cobra.Command {
54
63
Use : "deleted" ,
@@ -73,7 +82,40 @@ var deletedCmd = &cobra.Command{
73
82
if len (args ) > 1 {
74
83
newArgs [1 ] = args [1 ]
75
84
}
76
- crd .RestoreCrdNew (cmd .Context (), root .ClientSets , root .OperatorNamespace , root .StorageClusterNamespace , groupName , version , newArgs )
85
+ var customResources []pkgrestore.CustomResource
86
+ if contains (newArgs , "storageclusters" ) {
87
+ customResources = []pkgrestore.CustomResource {
88
+ // ceph.rook.io/v1
89
+ {Group : "ceph.rook.io" , Version : "v1" , Resource : "cephblockpoolradosnamespaces" },
90
+ {Group : "ceph.rook.io" , Version : "v1" , Resource : "cephblockpools" },
91
+ {Group : "ceph.rook.io" , Version : "v1" , Resource : "cephbucketnotifications" },
92
+ {Group : "ceph.rook.io" , Version : "v1" , Resource : "cephbuckettopics" },
93
+ {Group : "ceph.rook.io" , Version : "v1" , Resource : "cephclients" },
94
+ {Group : "ceph.rook.io" , Version : "v1" , Resource : "cephclusters" },
95
+ {Group : "ceph.rook.io" , Version : "v1" , Resource : "cephcosidrivers" },
96
+ {Group : "ceph.rook.io" , Version : "v1" , Resource : "cephfilesystemmirrors" },
97
+ {Group : "ceph.rook.io" , Version : "v1" , Resource : "cephfilesystems" },
98
+ {Group : "ceph.rook.io" , Version : "v1" , Resource : "cephfilesystemsubvolumegroups" },
99
+ {Group : "ceph.rook.io" , Version : "v1" , Resource : "cephnfses" },
100
+ {Group : "ceph.rook.io" , Version : "v1" , Resource : "cephobjectrealms" },
101
+ {Group : "ceph.rook.io" , Version : "v1" , Resource : "cephobjectstores" },
102
+ {Group : "ceph.rook.io" , Version : "v1" , Resource : "cephobjectstoreusers" },
103
+ {Group : "ceph.rook.io" , Version : "v1" , Resource : "cephobjectzonegroups" },
104
+ {Group : "ceph.rook.io" , Version : "v1" , Resource : "cephobjectzones" },
105
+ {Group : "ceph.rook.io" , Version : "v1" , Resource : "cephrbdmirrors" },
106
+
107
+ // noobaa.io/v1alpha1
108
+ {Group : "noobaa.io" , Version : "v1alpha1" , Resource : "backingstores" },
109
+ {Group : "noobaa.io" , Version : "v1alpha1" , Resource : "bucketclasses" },
110
+ {Group : "noobaa.io" , Version : "v1alpha1" , Resource : "namespacestores" },
111
+ {Group : "noobaa.io" , Version : "v1alpha1" , Resource : "noobaaaccounts" },
112
+ {Group : "noobaa.io" , Version : "v1alpha1" , Resource : "noobaas" },
113
+ }
114
+ } else {
115
+ customResources = []pkgrestore.CustomResource {}
116
+ }
117
+
118
+ pkgrestore .RestoreCrd (cmd .Context (), root .ClientSets , root .OperatorNamespace , root .StorageClusterNamespace , groupName , version , "ocs-operator" , customResources , newArgs )
77
119
k8sutil .SetDeploymentScale (cmd .Context (), root .ClientSets .Kube , root .OperatorNamespace , "ocs-operator" , 1 )
78
120
},
79
121
}
0 commit comments