Skip to content
This repository was archived by the owner on Oct 3, 2023. It is now read-only.

Commit b7f4654

Browse files
authored
Remove support for legacy GKE monitoring resource model (#289)
Details: https://cloud.google.com/stackdriver/docs/deprecations/legacy
1 parent bf9def0 commit b7f4654

File tree

4 files changed

+8
-96
lines changed

4 files changed

+8
-96
lines changed

monitoredresource/deprecated_test.go

Lines changed: 1 addition & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ const (
2929
GKEClusterNameStr = "cluster"
3030
)
3131

32-
func TestGKEContainerMonitoredResources(t *testing.T) {
32+
func TestGKEContainerMonitoredResourcesV2(t *testing.T) {
3333
os.Setenv("KUBERNETES_SERVICE_HOST", "127.0.0.1")
3434
autoDetected := GKEContainer{
3535
InstanceID: GCPInstanceIDStr,
@@ -41,32 +41,6 @@ func TestGKEContainerMonitoredResources(t *testing.T) {
4141
PodID: GKEPodIDStr,
4242
}
4343

44-
resType, labels := autoDetected.MonitoredResource()
45-
if resType != "gke_container" ||
46-
labels["instance_id"] != GCPInstanceIDStr ||
47-
labels["project_id"] != GCPProjectIDStr ||
48-
labels["cluster_name"] != GKEClusterNameStr ||
49-
labels["container_name"] != GKEContainerNameStr ||
50-
labels["zone"] != GCPZoneStr ||
51-
labels["namespace_id"] != GKENamespaceStr ||
52-
labels["pod_id"] != GKEPodIDStr {
53-
t.Errorf("GKEContainerMonitoredResource Failed: %v", autoDetected)
54-
}
55-
}
56-
57-
func TestGKEContainerMonitoredResourcesV2(t *testing.T) {
58-
os.Setenv("KUBERNETES_SERVICE_HOST", "127.0.0.1")
59-
autoDetected := GKEContainer{
60-
InstanceID: GCPInstanceIDStr,
61-
ProjectID: GCPProjectIDStr,
62-
Zone: GCPZoneStr,
63-
ClusterName: GKEClusterNameStr,
64-
ContainerName: GKEContainerNameStr,
65-
NamespaceID: GKENamespaceStr,
66-
PodID: GKEPodIDStr,
67-
LoggingMonitoringV2Enabled: true,
68-
}
69-
7044
resType, labels := autoDetected.MonitoredResource()
7145
if resType != "k8s_container" ||
7246
labels["project_id"] != GCPProjectIDStr ||

monitoredresource/gcp/gcp_metadata_config.go

Lines changed: 3 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,11 @@
1515
package gcp
1616

1717
import (
18-
"context"
19-
"fmt"
2018
"log"
2119
"os"
2220
"strings"
2321

2422
"cloud.google.com/go/compute/metadata"
25-
container "cloud.google.com/go/container/apiv1"
26-
containerpb "google.golang.org/genproto/googleapis/container/v1"
2723
)
2824

2925
// gcpMetadata represents metadata retrieved from GCP (GKE and GCE) environment.
@@ -50,6 +46,7 @@ type gcpMetadata struct {
5046
// zone is the Compute Engine zone in which the VM is running.
5147
zone string
5248

49+
// monitoringV2 is currently always set to true as v1 has been deprecated.
5350
monitoringV2 bool
5451
}
5552

@@ -76,33 +73,14 @@ func retrieveGCPMetadata() *gcpMetadata {
7673
logError(err)
7774
gcpMetadata.clusterName = strings.TrimSpace(clusterName)
7875

79-
clusterLocation, err := metadata.InstanceAttributeValue("cluster-location")
80-
logError(err)
81-
8276
// Following attributes are derived from environment variables. They are configured
8377
// via yaml file. For details refer to:
8478
// https://cloud.google.com/kubernetes-engine/docs/tutorials/custom-metrics-autoscaling#exporting_metrics_from_the_application
8579
gcpMetadata.namespaceID = os.Getenv("NAMESPACE")
8680
gcpMetadata.containerName = os.Getenv("CONTAINER_NAME")
8781
gcpMetadata.podID = os.Getenv("HOSTNAME")
88-
89-
// Monitoring API version can be obtained from cluster info.q
90-
if gcpMetadata.clusterName != "" {
91-
ctx := context.Background()
92-
c, err := container.NewClusterManagerClient(ctx)
93-
logError(err)
94-
if c != nil {
95-
req := &containerpb.GetClusterRequest{
96-
Name: fmt.Sprintf("projects/%s/locations/%s/clusters/%s", gcpMetadata.projectID, strings.TrimSpace(clusterLocation), gcpMetadata.clusterName),
97-
}
98-
resp, err := c.GetCluster(ctx, req)
99-
logError(err)
100-
if resp != nil && resp.GetMonitoringService() == "monitoring.googleapis.com/kubernetes" &&
101-
resp.GetLoggingService() == "logging.googleapis.com/kubernetes" {
102-
gcpMetadata.monitoringV2 = true
103-
}
104-
}
105-
}
82+
// Monitoring API v2 is now default.
83+
gcpMetadata.monitoringV2 = true
10684

10785
return &gcpMetadata
10886
}

monitoredresource/gcp/monitored_resources.go

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -62,21 +62,11 @@ func (gke *GKEContainer) MonitoredResource() (resType string, labels map[string]
6262
"project_id": gke.ProjectID,
6363
"cluster_name": gke.ClusterName,
6464
"container_name": gke.ContainerName,
65+
"pod_name": gke.PodID,
66+
"namespace_name": gke.NamespaceID,
67+
"location": gke.Zone,
6568
}
66-
var typ string
67-
if gke.LoggingMonitoringV2Enabled {
68-
typ = "k8s_container"
69-
labels["pod_name"] = gke.PodID
70-
labels["namespace_name"] = gke.NamespaceID
71-
labels["location"] = gke.Zone
72-
} else {
73-
typ = "gke_container"
74-
labels["pod_id"] = gke.PodID
75-
labels["namespace_id"] = gke.NamespaceID
76-
labels["zone"] = gke.Zone
77-
labels["instance_id"] = gke.InstanceID
78-
}
79-
return typ, labels
69+
return "k8s_container", labels
8070
}
8171

8272
// GCEInstance represents gce_instance type monitored resource.

monitoredresource/gcp/monitored_resources_test.go

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -42,36 +42,6 @@ func TestGKEContainerMonitoredResources(t *testing.T) {
4242
}
4343
autoDetected := detectResourceType(&gcpMetadata)
4444

45-
if autoDetected == nil {
46-
t.Fatal("GKEContainerMonitoredResource nil")
47-
}
48-
resType, labels := autoDetected.MonitoredResource()
49-
if resType != "gke_container" ||
50-
labels["instance_id"] != GCPInstanceIDStr ||
51-
labels["project_id"] != GCPProjectIDStr ||
52-
labels["cluster_name"] != GKEClusterNameStr ||
53-
labels["container_name"] != GKEContainerNameStr ||
54-
labels["zone"] != GCPZoneStr ||
55-
labels["namespace_id"] != GKENamespaceStr ||
56-
labels["pod_id"] != GKEPodIDStr {
57-
t.Errorf("GKEContainerMonitoredResource Failed: %v", autoDetected)
58-
}
59-
}
60-
61-
func TestGKEContainerMonitoredResourcesV2(t *testing.T) {
62-
os.Setenv("KUBERNETES_SERVICE_HOST", "127.0.0.1")
63-
gcpMetadata := gcpMetadata{
64-
instanceID: GCPInstanceIDStr,
65-
projectID: GCPProjectIDStr,
66-
zone: GCPZoneStr,
67-
clusterName: GKEClusterNameStr,
68-
containerName: GKEContainerNameStr,
69-
namespaceID: GKENamespaceStr,
70-
podID: GKEPodIDStr,
71-
monitoringV2: true,
72-
}
73-
autoDetected := detectResourceType(&gcpMetadata)
74-
7545
if autoDetected == nil {
7646
t.Fatal("GKEContainerMonitoredResource nil")
7747
}

0 commit comments

Comments
 (0)