From 996a1b7620bd83e423e10105a0efb29d9c1bc10f Mon Sep 17 00:00:00 2001 From: ezhang-px <87828888+ezhang-px@users.noreply.github.com> Date: Mon, 14 Aug 2023 10:31:25 -0700 Subject: [PATCH 1/2] PWX-32976: Backport for 2.13.8 (#1204) * modified px version check --- drivers/storage/portworx/component/telemetry.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/storage/portworx/component/telemetry.go b/drivers/storage/portworx/component/telemetry.go index 5706df725..ba7dcff8f 100644 --- a/drivers/storage/portworx/component/telemetry.go +++ b/drivers/storage/portworx/component/telemetry.go @@ -112,11 +112,11 @@ const ( stagingArcusRegisterProxyURL = "register.staging-cloud-support.purestorage.com" // Ports for telemetry components - defaultCCMListeningPort = 9024 - defaultCCMListeningPortForPXge30 = 9029 - defaultCollectorPort = 10000 - defaultRegisterPort = 12001 - defaultPhonehomePort = 12002 + defaultCCMListeningPort = 9024 + defaultCCMListeningPortForPXge2138 = 9029 + defaultCollectorPort = 10000 + defaultRegisterPort = 12001 + defaultPhonehomePort = 12002 arcusPingInterval = 6 * time.Second arcusPingRetry = 5 @@ -1210,9 +1210,9 @@ func readConfigMapDataFromFile( func GetCCMListeningPort(cluster *corev1.StorageCluster) int { defCCMPort := defaultCCMListeningPort - pxVer30, _ := version.NewVersion("3.0") - if pxutil.GetPortworxVersion(cluster).GreaterThanOrEqual(pxVer30) { - defCCMPort = defaultCCMListeningPortForPXge30 + pxVer2138, _ := version.NewVersion("2.13.8") + if pxutil.GetPortworxVersion(cluster).GreaterThanOrEqual(pxVer2138) { + defCCMPort = defaultCCMListeningPortForPXge2138 } startPort := pxutil.StartPort(cluster) From a7d4abde2a6903dfefb8fb6540d9da0f2edf5f55 Mon Sep 17 00:00:00 2001 From: ezhang-px Date: Tue, 15 Aug 2023 18:24:05 -0700 Subject: [PATCH 2/2] added UT --- .../portworx/component/telemetry_test.go | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 drivers/storage/portworx/component/telemetry_test.go diff --git a/drivers/storage/portworx/component/telemetry_test.go b/drivers/storage/portworx/component/telemetry_test.go new file mode 100644 index 000000000..e1ebda943 --- /dev/null +++ b/drivers/storage/portworx/component/telemetry_test.go @@ -0,0 +1,49 @@ +package component + +import ( + "testing" + + "github.com/hashicorp/go-version" + pxutil "github.com/libopenstorage/operator/drivers/storage/portworx/util" + corev1 "github.com/libopenstorage/operator/pkg/apis/core/v1" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/mock" +) + +type MockPxUtil struct { + mock.Mock +} + +func (m *MockPxUtil) GetPortworxVersion(cluster *corev1.StorageCluster) *version.Version { + args := m.Called(cluster) + return args.Get(0).(*version.Version) +} + +func (m *MockPxUtil) StartPort(cluster *corev1.StorageCluster) int { + args := m.Called(cluster) + return args.Int(0) +} + +func TestGetCCMListeningPort(t *testing.T) { + // Create a mock pxutil instance + mockPxUtil := new(MockPxUtil) + + // Set up expectations for GetPortworxVersion method + ver2138, _ := version.NewVersion("2.13.8") + mockPxUtil.On("GetPortworxVersion", mock.AnythingOfType("*v1.StorageCluster")).Return(ver2138) + + // Set up expectations for StartPort method + mockPxUtil.On("StartPort", mock.AnythingOfType("*v1.StorageCluster")).Return(pxutil.DefaultStartPort) + + // Create a sample StorageCluster instance + cluster := &corev1.StorageCluster{} + + // Call the function being tested + listeningPort := GetCCMListeningPort(cluster) + + // Define expected result + expectedPort := defaultCCMListeningPortForPXge2138 + + // Assert that the function returns the expected result + assert.Equal(t, expectedPort, listeningPort) +}