Skip to content

Commit 5879070

Browse files
committed
warn when creating grpc connection
1 parent b54a80e commit 5879070

File tree

9 files changed

+185
-122
lines changed

9 files changed

+185
-122
lines changed

internal/config/config.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,11 @@ func addDefaultProcessors(collector *Collector) {
272272
}
273273

274274
func addDefaultHostMetricsReceiver(collector *Collector) {
275-
if host.NewInfo().IsContainer() {
275+
isContainer, err := host.NewInfo().IsContainer()
276+
if err != nil {
277+
slog.Warn("Failed to get host info", "error", err)
278+
}
279+
if isContainer {
276280
addDefaultContainerHostMetricsReceiver(collector)
277281
} else {
278282
addDefaultVMHostMetricsReceiver(collector)

internal/grpc/grpc.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,10 +89,13 @@ func NewGrpcConnection(ctx context.Context, agentConfig *config.Config,
8989

9090
slog.InfoContext(ctx, "Dialing grpc server", "server_addr", serverAddr)
9191

92+
var err error
9293
info := host.NewInfo()
93-
resourceID := info.ResourceID(ctx)
94+
resourceID, err := info.ResourceID(ctx)
95+
if err != nil {
96+
slog.WarnContext(ctx, "Failed to get ResourceID from host info", "error", err.Error())
97+
}
9498

95-
var err error
9699
grpcConnection.mutex.Lock()
97100
grpcConnection.conn, err = grpc.NewClient(serverAddr, DialOptions(agentConfig, commandConfig, resourceID)...)
98101
grpcConnection.mutex.Unlock()

internal/resource/resource_service.go

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -383,12 +383,23 @@ func (r *ResourceService) updateResourceInfo(ctx context.Context) {
383383
r.resourceMutex.Lock()
384384
defer r.resourceMutex.Unlock()
385385

386-
if r.info.IsContainer() {
387-
r.resource.Info = r.info.ContainerInfo(ctx)
386+
isContainer, err := r.info.IsContainer()
387+
if err != nil {
388+
slog.WarnContext(ctx, "Failed to check if resource is container", "error", err)
389+
}
390+
391+
if isContainer {
392+
r.resource.Info, err = r.info.ContainerInfo(ctx)
393+
if err != nil {
394+
slog.ErrorContext(ctx, "Failed to get container info", "error", err)
395+
}
388396
r.resource.ResourceId = r.resource.GetContainerInfo().GetContainerId()
389397
r.resource.Instances = []*mpi.Instance{}
390398
} else {
391-
r.resource.Info = r.info.HostInfo(ctx)
399+
r.resource.Info, err = r.info.HostInfo(ctx)
400+
if err != nil {
401+
slog.ErrorContext(ctx, "Failed to get host info", "error", err)
402+
}
392403
r.resource.ResourceId = r.resource.GetHostInfo().GetHostId()
393404
r.resource.Instances = []*mpi.Instance{}
394405
}

internal/resource/resource_service_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -211,17 +211,17 @@ func TestResourceService_GetResource(t *testing.T) {
211211
mockInfo.ContainerInfoReturns(
212212
&v1.Resource_ContainerInfo{
213213
ContainerInfo: tc.expectedResource.GetContainerInfo(),
214-
},
214+
}, nil,
215215
)
216216
} else {
217217
mockInfo.HostInfoReturns(
218218
&v1.Resource_HostInfo{
219219
HostInfo: tc.expectedResource.GetHostInfo(),
220-
},
220+
}, nil,
221221
)
222222
}
223223

224-
mockInfo.IsContainerReturns(tc.isContainer)
224+
mockInfo.IsContainerReturns(tc.isContainer, nil)
225225

226226
resourceService := NewResourceService(ctx, types.AgentConfig())
227227
resourceService.info = mockInfo

pkg/host/exec/exec.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ package exec
88
import (
99
"bytes"
1010
"context"
11-
"log/slog"
11+
"errors"
1212
"os"
1313
"os/exec"
1414
"syscall"
@@ -27,7 +27,7 @@ type ExecInterface interface {
2727
KillProcess(pid int32) error
2828
Hostname() (string, error)
2929
HostID(ctx context.Context) (string, error)
30-
ReleaseInfo(ctx context.Context) (releaseInfo *v1.ReleaseInfo)
30+
ReleaseInfo(ctx context.Context) (releaseInfo *v1.ReleaseInfo, err error)
3131
}
3232

3333
type Exec struct{}
@@ -67,11 +67,10 @@ func (*Exec) HostID(ctx context.Context) (string, error) {
6767
return host.HostIDWithContext(ctx)
6868
}
6969

70-
func (*Exec) ReleaseInfo(ctx context.Context) (releaseInfo *v1.ReleaseInfo) {
70+
func (*Exec) ReleaseInfo(ctx context.Context) (*v1.ReleaseInfo, error) {
7171
hostInfo, err := host.InfoWithContext(ctx)
7272
if err != nil {
73-
slog.ErrorContext(ctx, "Could not read release information for host", "error", err)
74-
return &v1.ReleaseInfo{}
73+
return &v1.ReleaseInfo{}, errors.New("Could not read release information for host error=" + err.Error())
7574
}
7675

7776
return &v1.ReleaseInfo{
@@ -80,5 +79,5 @@ func (*Exec) ReleaseInfo(ctx context.Context) (releaseInfo *v1.ReleaseInfo) {
8079
Codename: hostInfo.OS,
8180
Name: hostInfo.PlatformFamily,
8281
Id: hostInfo.Platform,
83-
}
82+
}, nil
8483
}

pkg/host/exec/execfakes/fake_exec_interface.go

Lines changed: 14 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)