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

Commit 2c40254

Browse files
authored
fix(resources): GKE pod name label (#728)
1 parent a6381af commit 2c40254

File tree

2 files changed

+9
-22
lines changed

2 files changed

+9
-22
lines changed

packages/opencensus-resource-util/src/resource-utils.ts

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -104,18 +104,18 @@ export async function getComputerEngineResource(): Promise<Resource> {
104104
/** Returns Resource for GCP GKE container. */
105105
export async function getKubernetesEngineResource(): Promise<Resource> {
106106
if (Object.keys(gkeResourceLabels).length === 0) {
107-
const [projectId, zoneId, clusterName, hostname] = await Promise.all([
107+
const [projectId, zoneId, clusterName] = await Promise.all([
108108
getProjectId(),
109109
getZone(),
110110
getClusterName(),
111-
getHostname(),
112111
]);
113112
gkeResourceLabels[CLOUD_RESOURCE.ACCOUNT_ID_KEY] = projectId;
114113
gkeResourceLabels[CLOUD_RESOURCE.ZONE_KEY] = zoneId;
115114
gkeResourceLabels[K8S_RESOURCE.CLUSTER_NAME_KEY] = clusterName;
116115
gkeResourceLabels[K8S_RESOURCE.NAMESPACE_NAME_KEY] =
117116
process.env.NAMESPACE || '';
118-
gkeResourceLabels[K8S_RESOURCE.POD_NAME_KEY] = hostname;
117+
gkeResourceLabels[K8S_RESOURCE.POD_NAME_KEY] =
118+
process.env.HOSTNAME || os.hostname();
119119
gkeResourceLabels[CONTAINER_RESOURCE.NAME_KEY] =
120120
process.env.CONTAINER_NAME || '';
121121
}
@@ -206,15 +206,6 @@ async function getClusterName() {
206206
}
207207
}
208208

209-
/** Gets hostname from GCP instance metadata. */
210-
async function getHostname() {
211-
try {
212-
return await gcpMetadata.instance('hostname');
213-
} catch (ignore) {
214-
return os.hostname();
215-
}
216-
}
217-
218209
export function clear() {
219210
resourceType = undefined;
220211
gkeResourceLabels = {};

packages/opencensus-resource-util/test/test-detect-resource.ts

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ const INSTANCE_PATH = BASE_PATH + '/instance';
4040
const INSTANCE_ID_PATH = BASE_PATH + '/instance/id';
4141
const PROJECT_ID_PATH = BASE_PATH + '/project/project-id';
4242
const ZONE_PATH = BASE_PATH + '/instance/zone';
43-
const HOSTNAME_PATH = BASE_PATH + '/instance/hostname';
4443
const CLUSTER_NAME_PATH = BASE_PATH + '/instance/attributes/cluster-name';
4544
const mockedAwsResponse = {
4645
instanceId: 'my-instance-id',
@@ -65,20 +64,20 @@ describe('detectResource', () => {
6564
delete process.env.CONTAINER_NAME;
6665
delete process.env.OC_RESOURCE_TYPE;
6766
delete process.env.OC_RESOURCE_LABELS;
67+
delete process.env.HOSTNAME;
6868
CoreResource.setup();
6969
});
7070

7171
it('should return GCP_GKE_CONTAINER resource when KUBERNETES_SERVICE_HOST is set', async () => {
7272
process.env.KUBERNETES_SERVICE_HOST = 'my-host';
73+
process.env.HOSTNAME = 'my-hostname';
7374
const scope = nock(HOST_ADDRESS)
7475
.get(CLUSTER_NAME_PATH)
7576
.reply(200, () => 'my-cluster', HEADERS)
7677
.get(PROJECT_ID_PATH)
7778
.reply(200, () => 'my-project-id', HEADERS)
7879
.get(ZONE_PATH)
79-
.reply(200, () => 'project/zone/my-zone', HEADERS)
80-
.get(HOSTNAME_PATH)
81-
.reply(200, () => 'my-hostname', HEADERS);
80+
.reply(200, () => 'project/zone/my-zone', HEADERS);
8281
const { type, labels } = await resource.detectResource();
8382
scope.done();
8483

@@ -95,16 +94,15 @@ describe('detectResource', () => {
9594
it('should return GCP_GKE_CONTAINER resource when KUBERNETES_SERVICE_HOST, NAMESPACE and CONTAINER_NAME is set', async () => {
9695
process.env.KUBERNETES_SERVICE_HOST = 'my-host';
9796
process.env.NAMESPACE = 'my-namespace';
97+
process.env.HOSTNAME = 'my-hostname';
9898
process.env.CONTAINER_NAME = 'my-container-name';
9999
const scope = nock(HOST_ADDRESS)
100100
.get(CLUSTER_NAME_PATH)
101101
.reply(200, () => 'my-cluster', HEADERS)
102102
.get(PROJECT_ID_PATH)
103103
.reply(200, () => 'my-project-id', HEADERS)
104104
.get(ZONE_PATH)
105-
.reply(200, () => 'project/zone/my-zone', HEADERS)
106-
.get(HOSTNAME_PATH)
107-
.reply(200, () => 'my-hostname', HEADERS);
105+
.reply(200, () => 'project/zone/my-zone', HEADERS);
108106
const { type, labels } = await resource.detectResource();
109107
scope.done();
110108

@@ -139,9 +137,7 @@ describe('detectResource', () => {
139137
.get(PROJECT_ID_PATH)
140138
.reply(200, () => 'my-project-id', HEADERS)
141139
.get(ZONE_PATH)
142-
.reply(200, () => 'project/zone/my-zone', HEADERS)
143-
.get(HOSTNAME_PATH)
144-
.reply(200, () => 'my-hostname', HEADERS);
140+
.reply(200, () => 'project/zone/my-zone', HEADERS);
145141
const { type, labels } = await resource.detectResource();
146142
scope.done();
147143

0 commit comments

Comments
 (0)