Skip to content

Commit f98f8ca

Browse files
authored
Switch grpc addon client to v1beta1 (#212)
Signed-off-by: Jian Qiu <jqiu@redhat.com>
1 parent 8db061d commit f98f8ca

2 files changed

Lines changed: 16 additions & 18 deletions

File tree

pkg/cloudevents/clients/addon/wrapper.go

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,15 @@ package addon
33
import (
44
"context"
55

6-
"open-cluster-management.io/sdk-go/pkg/cloudevents/clients/addon/v1beta1"
7-
86
"k8s.io/client-go/discovery"
97

10-
addonapiv1alpha1 "open-cluster-management.io/api/addon/v1alpha1"
8+
addonapiv1beta1 "open-cluster-management.io/api/addon/v1beta1"
119
addonclientset "open-cluster-management.io/api/client/addon/clientset/versioned"
1210
addonv1alpha1client "open-cluster-management.io/api/client/addon/clientset/versioned/typed/addon/v1alpha1"
1311
addonv1v1beta1client "open-cluster-management.io/api/client/addon/clientset/versioned/typed/addon/v1beta1"
1412

1513
"open-cluster-management.io/sdk-go/pkg/cloudevents/clients/addon/v1alpha1"
14+
"open-cluster-management.io/sdk-go/pkg/cloudevents/clients/addon/v1beta1"
1615
"open-cluster-management.io/sdk-go/pkg/cloudevents/clients/options"
1716
)
1817

@@ -33,21 +32,20 @@ func (a AddonClientSetWrapper) AddonV1alpha1() addonv1alpha1client.AddonV1alpha1
3332
}
3433

3534
func (a AddonClientSetWrapper) AddonV1beta1() addonv1v1beta1client.AddonV1beta1Interface {
36-
if a.betaClient == nil {
37-
panic("AddonV1beta1 is not initialized")
38-
}
3935
return a.betaClient
4036
}
4137

4238
// ManagedClusterAddOnInterface returns a client for ManagedClusterAddOn
43-
func ManagedClusterAddOnInterface(ctx context.Context, opt *options.GenericClientOptions[*addonapiv1alpha1.ManagedClusterAddOn]) (addonclientset.Interface, error) {
44-
cloudEventsClient, err := opt.AgentClient(ctx)
39+
func ManagedClusterAddOnInterface(
40+
ctx context.Context,
41+
v1beta1Opt *options.GenericClientOptions[*addonapiv1beta1.ManagedClusterAddOn]) (addonclientset.Interface, error) {
42+
v1beta1ceClient, err := v1beta1Opt.AgentClient(ctx)
4543
if err != nil {
4644
return nil, err
4745
}
46+
v1beta1AddonClient := v1beta1.NewManagedClusterAddOnClient(v1beta1ceClient, v1beta1Opt.WatcherStore())
4847

49-
addonClient := v1alpha1.NewManagedClusterAddOnClient(cloudEventsClient, opt.WatcherStore())
50-
51-
// TODO switch to v1beta1
52-
return &AddonClientSetWrapper{alphaClient: v1alpha1.NewAddonClientWrapper(addonClient)}, nil
48+
return &AddonClientSetWrapper{
49+
betaClient: v1beta1.NewAddonClientWrapper(v1beta1AddonClient),
50+
}, nil
5351
}

pkg/cloudevents/clients/errors/errors.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,21 @@ import (
77

88
grpcstatus "google.golang.org/grpc/status"
99

10-
"k8s.io/apimachinery/pkg/api/errors"
10+
apierros "k8s.io/apimachinery/pkg/api/errors"
1111
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1212
"k8s.io/apimachinery/pkg/runtime/schema"
1313
)
1414

1515
const StatusReasonPublishError metav1.StatusReason = "PublishError"
1616

1717
// ToStatusError converts the err to a kube status error
18-
func ToStatusError(qualifiedResource schema.GroupResource, name string, err error) *errors.StatusError {
18+
func ToStatusError(qualifiedResource schema.GroupResource, name string, err error) *apierros.StatusError {
1919
grpcErr, ok := grpcstatus.FromError(err)
2020
if !ok {
2121
return NewPublishError(qualifiedResource, name, err)
2222
}
2323

24-
var statusErr errors.StatusError
24+
var statusErr apierros.StatusError
2525
if unmarshalErr := json.Unmarshal([]byte(grpcErr.Message()), &statusErr); unmarshalErr != nil {
2626
return NewPublishError(qualifiedResource, name, err)
2727
}
@@ -30,8 +30,8 @@ func ToStatusError(qualifiedResource schema.GroupResource, name string, err erro
3030
}
3131

3232
// NewPublishError returns an error indicating a resource could not be published, and the client can try again.
33-
func NewPublishError(qualifiedResource schema.GroupResource, name string, err error) *errors.StatusError {
34-
return &errors.StatusError{
33+
func NewPublishError(qualifiedResource schema.GroupResource, name string, err error) *apierros.StatusError {
34+
return &apierros.StatusError{
3535
ErrStatus: metav1.Status{
3636
Status: metav1.StatusFailure,
3737
Code: http.StatusInternalServerError,
@@ -50,5 +50,5 @@ func NewPublishError(qualifiedResource schema.GroupResource, name string, err er
5050
// IsPublishError determines if err is a publish error which indicates that the request can be retried
5151
// by the client.
5252
func IsPublishError(err error) bool {
53-
return errors.ReasonForError(err) == StatusReasonPublishError
53+
return apierros.ReasonForError(err) == StatusReasonPublishError
5454
}

0 commit comments

Comments
 (0)