diff --git a/deploy/ccm/ccm.properties b/deploy/ccm/ccm.properties index bacb1b850..3d23fc9bd 100644 --- a/deploy/ccm/ccm.properties +++ b/deploy/ccm/ccm.properties @@ -28,7 +28,7 @@ "/var/cores/px_info.log", "/var/cores/px_patch_fs.log" ], - "phonehome_hour_range": 8760, + "phonehome_hour_range": 744, "phonehome_sent": "/var/logs/phonehome.sent", "always_scan_range_days": 7, "max_retry_per_hour": 5, diff --git a/drivers/storage/portworx/component/telemetry.go b/drivers/storage/portworx/component/telemetry.go index c3b9b7285..5e6d5a4e2 100644 --- a/drivers/storage/portworx/component/telemetry.go +++ b/drivers/storage/portworx/component/telemetry.go @@ -88,6 +88,7 @@ const ( daemonsetFileNameTelemetryPhonehome = "phonehome-cluster.yaml" configParameterApplianceID = "APPLIANCE_ID" + configParameterApplianceName = "APPLIANCE_NAME" configParameterComponentSN = "COMPONENT_SN" configParameterProductVersion = "PRODUCT_VERSION" configParameterRegisterProxyURL = "REGISTER_PROXY_URL" @@ -588,6 +589,7 @@ func (t *telemetry) createCCMGoConfigMapRegisterProxy( cloudSupportPort, tcpProxyPort, envoyRedirectPort := getCCMCloudSupportPorts(cluster, defaultRegisterPort) replaceMap := map[string]string{ configParameterApplianceID: cluster.Status.ClusterUID, + configParameterApplianceName: cluster.Status.ClusterName, configParameterComponentSN: cluster.Name, configParameterProductVersion: pxutil.GetPortworxVersion(cluster).String(), configParameterRegisterProxyURL: getArcusRegisterProxyURL(cluster), @@ -644,6 +646,7 @@ func (t *telemetry) createCCMGoConfigMapTelemetryPhonehomeProxy( cloudSupportPort, tcpProxyPort, envoyRedirectPort := getCCMCloudSupportPorts(cluster, defaultPhonehomePort) replaceMap := map[string]string{ configParameterApplianceID: cluster.Status.ClusterUID, + configParameterApplianceName: cluster.Status.ClusterName, configParameterProductVersion: pxutil.GetPortworxVersion(cluster).String(), configParameterRestProxyURL: getArcusRestProxyURL(cluster), configParameterRestCloudSupportPort: fmt.Sprint(cloudSupportPort), @@ -701,6 +704,7 @@ func (t *telemetry) createCCMGoConfigMapCollectorProxyV2( cloudSupportPort, tcpProxyPort, envoyRedirectPort := getCCMCloudSupportPorts(cluster, defaultCollectorPort) replaceMap := map[string]string{ configParameterApplianceID: cluster.Status.ClusterUID, + configParameterApplianceName: cluster.Status.ClusterName, configParameterProductVersion: pxutil.GetPortworxVersion(cluster).String(), configParameterRestProxyURL: getArcusRestProxyURL(cluster), configParameterRestCloudSupportPort: fmt.Sprint(cloudSupportPort), @@ -830,6 +834,10 @@ func (t *telemetry) createDeploymentTelemetryRegistration( Name: configParameterApplianceID, Value: cluster.Status.ClusterUID, }) + container.Env = append(container.Env, v1.EnvVar{ + Name: configParameterApplianceName, + Value: cluster.Status.ClusterName, + }) } else if container.Name == containerNameTelemetryProxy { container.Image = proxyImage } @@ -893,6 +901,15 @@ func (t *telemetry) createDaemonSetTelemetryPhonehome( container := &daemonset.Spec.Template.Spec.Containers[i] if container.Name == containerNameLogUploader { container.Image = logUploaderImage + // add APPLIANCE_ID env var + container.Env = append(container.Env, v1.EnvVar{ + Name: configParameterApplianceID, + Value: cluster.Status.ClusterUID, + }) + container.Env = append(container.Env, v1.EnvVar{ + Name: configParameterApplianceName, + Value: cluster.Status.ClusterName, + }) for j := 0; j < len(container.Ports); j++ { port := &container.Ports[j] if port.Name == portNameLogUploaderContainer { diff --git a/drivers/storage/portworx/components_test.go b/drivers/storage/portworx/components_test.go index 9dd0f345f..7fa1c0d20 100644 --- a/drivers/storage/portworx/components_test.go +++ b/drivers/storage/portworx/components_test.go @@ -15189,7 +15189,8 @@ func TestTelemetryCCMGoEnableAndDisable(t *testing.T) { }, }, Status: corev1.StorageClusterStatus{ - ClusterUID: "test-clusteruid", + ClusterUID: "test-clusteruid", + ClusterName: "test-clustername", }, } @@ -15447,7 +15448,8 @@ func TestTelemetryContainerOrchestratorEnable(t *testing.T) { }, }, Status: corev1.StorageClusterStatus{ - ClusterUID: "test-clusteruid", + ClusterName: "test-clustername", + ClusterUID: "test-clusteruid", }, } @@ -15466,7 +15468,7 @@ func TestTelemetryContainerOrchestratorEnable(t *testing.T) { deployment := &appsv1.Deployment{} err = testutil.Get(k8sClient, deployment, component.DeploymentNameTelemetryRegistration, cluster.Namespace) require.NoError(t, err) - require.Len(t, deployment.Spec.Template.Spec.Containers[0].Env, 2) + require.Len(t, deployment.Spec.Template.Spec.Containers[0].Env, 3) // Compatible PX & Incompatible Telemetry Images cluster.Spec.Image = "portworx/image:3.2.0" @@ -15483,7 +15485,7 @@ func TestTelemetryContainerOrchestratorEnable(t *testing.T) { // Validate deployments err = testutil.Get(k8sClient, deployment, component.DeploymentNameTelemetryRegistration, cluster.Namespace) require.NoError(t, err) - require.Len(t, deployment.Spec.Template.Spec.Containers[0].Env, 2) + require.Len(t, deployment.Spec.Template.Spec.Containers[0].Env, 3) // Incompatible PX & compatible Telemetry Images cluster.Spec.Image = "portworx/image:3.0.0" @@ -15500,7 +15502,7 @@ func TestTelemetryContainerOrchestratorEnable(t *testing.T) { // Validate deployments err = testutil.Get(k8sClient, deployment, component.DeploymentNameTelemetryRegistration, cluster.Namespace) require.NoError(t, err) - require.Len(t, deployment.Spec.Template.Spec.Containers[0].Env, 2) + require.Len(t, deployment.Spec.Template.Spec.Containers[0].Env, 3) // Compatible PX & Telemetry Images cluster.Spec.Image = "portworx/image:3.2.0" @@ -15518,13 +15520,15 @@ func TestTelemetryContainerOrchestratorEnable(t *testing.T) { // Validate deployments err = testutil.Get(k8sClient, deployment, component.DeploymentNameTelemetryRegistration, cluster.Namespace) require.NoError(t, err) - require.Len(t, deployment.Spec.Template.Spec.Containers[0].Env, 3) + require.Len(t, deployment.Spec.Template.Spec.Containers[0].Env, 4) require.Equal(t, deployment.Spec.Template.Spec.Containers[0].Env[0].Name, "CONFIG") require.Equal(t, deployment.Spec.Template.Spec.Containers[0].Env[0].Value, "config/config_properties_px.yaml") require.Equal(t, deployment.Spec.Template.Spec.Containers[0].Env[1].Name, "APPLIANCE_ID") require.Equal(t, deployment.Spec.Template.Spec.Containers[0].Env[1].Value, "test-clusteruid") - require.Equal(t, deployment.Spec.Template.Spec.Containers[0].Env[2].Name, "REFRESH_TOKEN") - require.Equal(t, deployment.Spec.Template.Spec.Containers[0].Env[2].Value, "") + require.Equal(t, deployment.Spec.Template.Spec.Containers[0].Env[2].Name, "APPLIANCE_NAME") + require.Equal(t, deployment.Spec.Template.Spec.Containers[0].Env[2].Value, "test-clustername") + require.Equal(t, deployment.Spec.Template.Spec.Containers[0].Env[3].Name, "REFRESH_TOKEN") + require.Equal(t, deployment.Spec.Template.Spec.Containers[0].Env[3].Value, "") // Port shift on OCP cluster.Annotations[pxutil.AnnotationIsOpenshift] = "true" @@ -16636,7 +16640,8 @@ func TestTelemetryCCMGoRestartPhonehome(t *testing.T) { StartPort: &startPort, }, Status: corev1.StorageClusterStatus{ - ClusterUID: "test-clusteruid", + ClusterUID: "test-clusteruid", + ClusterName: "test-clustername", }, } diff --git a/drivers/storage/portworx/testspec/ccmGoPhonehomeConfigMap.yaml b/drivers/storage/portworx/testspec/ccmGoPhonehomeConfigMap.yaml index ae57f1f17..1c1c4ea4b 100644 --- a/drivers/storage/portworx/testspec/ccmGoPhonehomeConfigMap.yaml +++ b/drivers/storage/portworx/testspec/ccmGoPhonehomeConfigMap.yaml @@ -40,7 +40,7 @@ data: "/var/cores/px_info.log", "/var/cores/px_patch_fs.log" ], - "phonehome_hour_range": 8760, + "phonehome_hour_range": 744, "phonehome_sent": "/var/logs/phonehome.sent", "always_scan_range_days": 7, "max_retry_per_hour": 5, diff --git a/drivers/storage/portworx/testspec/ccmGoPhonehomeDaemonSet.yaml b/drivers/storage/portworx/testspec/ccmGoPhonehomeDaemonSet.yaml index 7edad07ed..3f70f671e 100644 --- a/drivers/storage/portworx/testspec/ccmGoPhonehomeDaemonSet.yaml +++ b/drivers/storage/portworx/testspec/ccmGoPhonehomeDaemonSet.yaml @@ -49,6 +49,10 @@ spec: valueFrom: fieldRef: fieldPath: spec.nodeName + - name: APPLIANCE_ID + value: test-clusteruid + - name: APPLIANCE_NAME + value: test-clustername image: docker.io/purestorage/log-upload:1.2.3 imagePullPolicy: Always name: log-upload-service diff --git a/drivers/storage/portworx/testspec/ccmGoPhonehomeDaemonSetDefaultPort.yaml b/drivers/storage/portworx/testspec/ccmGoPhonehomeDaemonSetDefaultPort.yaml index d4583146e..25cde4f08 100644 --- a/drivers/storage/portworx/testspec/ccmGoPhonehomeDaemonSetDefaultPort.yaml +++ b/drivers/storage/portworx/testspec/ccmGoPhonehomeDaemonSetDefaultPort.yaml @@ -49,6 +49,10 @@ spec: valueFrom: fieldRef: fieldPath: spec.nodeName + - name: APPLIANCE_ID + value: test-clusteruid + - name: APPLIANCE_NAME + value: test-clustername image: docker.io/purestorage/log-upload:1.2.3 imagePullPolicy: Always name: log-upload-service diff --git a/drivers/storage/portworx/testspec/ccmGoRegisterDeployment.yaml b/drivers/storage/portworx/testspec/ccmGoRegisterDeployment.yaml index 3ef27c8f3..d9317d09a 100644 --- a/drivers/storage/portworx/testspec/ccmGoRegisterDeployment.yaml +++ b/drivers/storage/portworx/testspec/ccmGoRegisterDeployment.yaml @@ -50,6 +50,8 @@ spec: value: config/config_properties_px.yaml - name: APPLIANCE_ID value: test-clusteruid + - name: APPLIANCE_NAME + value: test-clustername image: docker.io/portworx/px-telemetry:4.3.2 imagePullPolicy: Always name: registration