Skip to content

Commit 21f039e

Browse files
committed
add crd list and check storagecluster ownership
Signed-off-by: Oded Viner <[email protected]>
1 parent b6e5c06 commit 21f039e

File tree

4 files changed

+48
-325
lines changed

4 files changed

+48
-325
lines changed

cmd/odf/restore/crds.go

+44-2
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ import (
55
"strings"
66

77
"github.com/red-hat-storage/odf-cli/cmd/odf/root"
8-
"github.com/red-hat-storage/odf-cli/pkg/crd"
98
"github.com/rook/kubectl-rook-ceph/pkg/k8sutil"
109
"github.com/rook/kubectl-rook-ceph/pkg/logging"
10+
pkgrestore "github.com/rook/kubectl-rook-ceph/pkg/restore"
1111
"github.com/spf13/cobra"
1212
)
1313

@@ -49,6 +49,15 @@ func parseFullyQualifiedCRD(fqcrd string) (resourceName, groupName, version stri
4949
return resourceName, groupName, ver, nil
5050
}
5151

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+
5261
// deletedCmd represents the deleted command
5362
var deletedCmd = &cobra.Command{
5463
Use: "deleted",
@@ -73,7 +82,40 @@ var deletedCmd = &cobra.Command{
7382
if len(args) > 1 {
7483
newArgs[1] = args[1]
7584
}
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)
77119
k8sutil.SetDeploymentScale(cmd.Context(), root.ClientSets.Kube, root.OperatorNamespace, "ocs-operator", 1)
78120
},
79121
}

go.mod

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ require (
88
github.com/pkg/errors v0.9.1
99
github.com/ramendr/ramenctl v0.3.5
1010
github.com/red-hat-storage/ocs-operator/api/v4 v4.0.0-20240701091545-dfffbde82a9d
11-
github.com/rook/kubectl-rook-ceph v0.9.3
11+
github.com/rook/kubectl-rook-ceph v0.0.0-20250417143237-759d9c41d98c
1212
github.com/rook/rook v1.16.5
1313
github.com/spf13/cobra v1.9.1
1414
github.com/stretchr/testify v1.10.0
@@ -132,6 +132,7 @@ replace (
132132
github.com/googleapis/gnostic => github.com/googleapis/gnostic v0.4.1
133133
github.com/kubernetes-incubator/external-storage => github.com/libopenstorage/external-storage v0.20.4-openstorage-rc3
134134
github.com/portworx/sched-ops => github.com/portworx/sched-ops v0.20.4-openstorage-rc3
135+
github.com/rook/kubectl-rook-ceph => github.com/OdedViner/kubectl-rook-ceph v0.0.0-20250417143237-759d9c41d98c
135136
)
136137

137138
exclude (

go.sum

+2-2
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,8 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03
8989
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
9090
github.com/IBM/keyprotect-go-client v0.5.1/go.mod h1:5TwDM/4FRJq1ZOlwQL1xFahLWQ3TveR88VmL1u3njyI=
9191
github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=
92+
github.com/OdedViner/kubectl-rook-ceph v0.0.0-20250417143237-759d9c41d98c h1:Q/0JpbwiQ7jGBi1oeyk5+lQW9IDRuTmL/ntJis9h7Dc=
93+
github.com/OdedViner/kubectl-rook-ceph v0.0.0-20250417143237-759d9c41d98c/go.mod h1:aZkufX89thLbGIMcEXHILY4RE+4/nQ/2AefKwFkgDhw=
9294
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
9395
github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
9496
github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
@@ -743,8 +745,6 @@ github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTE
743745
github.com/rogpeppe/go-internal v1.8.1/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o=
744746
github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
745747
github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4=
746-
github.com/rook/kubectl-rook-ceph v0.9.3 h1:+7THA8a+S2ArJrs9jpY1eJscAjPBKjlLXSmCVPU3eoY=
747-
github.com/rook/kubectl-rook-ceph v0.9.3/go.mod h1:dOQ+Yccc41DxZqe9jpvAUHsYTquYP/SKClrPmG70SLM=
748748
github.com/rook/rook v1.16.5 h1:1jEEWprnbhS6HD5GJx9TZgYuaHI8AjLy+eqLUDQWJPE=
749749
github.com/rook/rook v1.16.5/go.mod h1:bC6Zd9PPhuNapm/TJisBpxJTv+FUA4zXnqACr4S24Cw=
750750
github.com/rook/rook/pkg/apis v0.0.0-20241216163035-3170ac6a0c58 h1:z7TkRb4D+XvXIGg4ClSjZw8gAPQcZg9zUSFfZ0pUcTY=

0 commit comments

Comments
 (0)