Skip to content

Commit ac4748a

Browse files
authored
Merge pull request #5320 from serngawy/agentConfig
🌱 ROSA: Add capa agent and version to ocm client config
2 parents 5abe953 + f10d8ea commit ac4748a

File tree

2 files changed

+22
-5
lines changed

2 files changed

+22
-5
lines changed

pkg/rosa/client.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,15 @@ import (
1717

1818
"sigs.k8s.io/cluster-api-provider-aws/v2/pkg/cloud/scope"
1919
"sigs.k8s.io/cluster-api-provider-aws/v2/util/system"
20+
"sigs.k8s.io/cluster-api-provider-aws/v2/version"
2021
)
2122

2223
const (
2324
ocmTokenKey = "ocmToken"
2425
ocmAPIURLKey = "ocmApiUrl"
2526
ocmClientIDKey = "ocmClientID"
2627
ocmClientSecretKey = "ocmClientSecret"
28+
capaAgentName = "CAPA"
2729
)
2830

2931
// NewOCMClient creates a new OCM client.
@@ -34,7 +36,9 @@ func NewOCMClient(ctx context.Context, rosaScope *scope.ROSAControlPlaneScope) (
3436
}
3537

3638
ocmConfig := ocmcfg.Config{
37-
URL: url,
39+
URL: url,
40+
UserAgent: capaAgentName,
41+
Version: version.Get().GitVersion,
3842
}
3943

4044
if clientID != "" && clientSecret != "" {
@@ -62,7 +66,8 @@ func newOCMRawConnection(ctx context.Context, rosaScope *scope.ROSAControlPlaneS
6266

6367
connBuilder := sdk.NewConnectionBuilder().
6468
Logger(ocmSdkLogger).
65-
URL(url)
69+
URL(url).
70+
Agent(capaAgentName + "/" + version.Get().GitVersion + " " + sdk.DefaultAgent)
6671

6772
if clientID != "" && clientSecret != "" {
6873
connBuilder.Client(clientID, clientSecret)

pkg/rosa/client_test.go

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"testing"
77

88
. "github.com/onsi/gomega"
9+
sdk "github.com/openshift-online/ocm-sdk-go"
910
corev1 "k8s.io/api/core/v1"
1011
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1112
"k8s.io/klog/v2"
@@ -15,6 +16,7 @@ import (
1516
"sigs.k8s.io/cluster-api-provider-aws/v2/pkg/cloud/scope"
1617
"sigs.k8s.io/cluster-api-provider-aws/v2/pkg/logger"
1718
"sigs.k8s.io/cluster-api-provider-aws/v2/util/system"
19+
"sigs.k8s.io/cluster-api-provider-aws/v2/version"
1820
)
1921

2022
func createROSAControlPlaneScopeWithSecrets(cp *rosacontrolplanev1.ROSAControlPlane, secrets ...*corev1.Secret) *scope.ROSAControlPlaneScope {
@@ -51,26 +53,36 @@ func createSecret(name, namespace, token, url, clientID, clientSecret string) *c
5153
}
5254
}
5355

54-
func createCP(namespace string) *rosacontrolplanev1.ROSAControlPlane {
56+
func createCP(name string, namespace string, credSecretName string) *rosacontrolplanev1.ROSAControlPlane {
5557
return &rosacontrolplanev1.ROSAControlPlane{
5658
Spec: rosacontrolplanev1.RosaControlPlaneSpec{
5759
CredentialsSecretRef: &corev1.LocalObjectReference{
58-
Name: "rosa-creds-secret",
60+
Name: credSecretName,
5961
},
6062
},
6163
ObjectMeta: metav1.ObjectMeta{
6264
Namespace: namespace,
65+
Name: name,
6366
},
6467
}
6568
}
6669

70+
func TestNewOCMRawConnection(t *testing.T) {
71+
g := NewWithT(t)
72+
wlSecret := createSecret("rosa-hcp-creds-secret", "default", "fake-token", "https://api.stage.openshift.com", "", "")
73+
cp := createCP("rosa-hcp-cp", "default", "rosa-hcp-creds-secret")
74+
rcpScope := createROSAControlPlaneScopeWithSecrets(cp, wlSecret)
75+
76+
conn, _ := newOCMRawConnection(context.Background(), rcpScope)
77+
g.Expect(conn.Agent()).To(Equal(capaAgentName + "/" + version.Get().GitVersion + " " + sdk.DefaultAgent))
78+
}
6779
func TestOcmCredentials(t *testing.T) {
6880
g := NewWithT(t)
6981

7082
wlSecret := createSecret("rosa-creds-secret", "default", "", "url", "client-id", "client-secret")
7183
mgrSecret := createSecret("rosa-creds-secret", system.GetManagerNamespace(), "", "url", "global-client-id", "global-client-secret")
7284

73-
cp := createCP("default")
85+
cp := createCP("rosa-cp", "default", "rosa-creds-secret")
7486

7587
// Test that ocmCredentials() prefers workload secret to global and environment secrets
7688
os.Setenv("OCM_API_URL", "env-url")

0 commit comments

Comments
 (0)