Skip to content

Commit a206cf7

Browse files
authored
Fix log level value reported by Agent to Fleet (#4838)
* Fix log level value reported by Agent to Fleet * fixup! Fix log level value reported by Agent to Fleet * fixup! fixup! Fix log level value reported by Agent to Fleet * add asserts on metadata.Elastic.Agent * Fix Fleet log level integration test
1 parent fd8d1ee commit a206cf7

File tree

4 files changed

+289
-128
lines changed

4 files changed

+289
-128
lines changed

internal/pkg/agent/application/gateway/fleet/fleet_gateway.go

+4
Original file line numberDiff line numberDiff line change
@@ -329,6 +329,10 @@ func (f *FleetGateway) execute(ctx context.Context) (*fleetapi.CheckinResponse,
329329
// convert components into checkin components structure
330330
components := f.convertToCheckinComponents(state.Components)
331331

332+
f.log.Debugf("correcting agent loglevel from %s to %s using coordinator state", ecsMeta.Elastic.Agent.LogLevel, state.LogLevel.String())
333+
// Fix loglevel with the current log level used by coordinator
334+
ecsMeta.Elastic.Agent.LogLevel = state.LogLevel.String()
335+
332336
// checkin
333337
cmd := fleetapi.NewCheckinCmd(f.agentInfo, f.client)
334338
req := &fleetapi.CheckinRequest{

internal/pkg/agent/application/info/agent_metadata_test.go

+4
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@ func TestECSMetadata(t *testing.T) {
2929
metadata, err := agentInfo.ECSMetadata(l)
3030
require.NoError(t, err)
3131

32+
if assert.NotNil(t, metadata.Elastic, "metadata.Elastic must not be nil") {
33+
assert.NotNil(t, metadata.Elastic.Agent, "metadata.Elastic.Agent must not be nil")
34+
}
35+
3236
sysInfo, err := sysinfo.Host()
3337
require.NoError(t, err)
3438

pkg/testing/fixture.go

+10
Original file line numberDiff line numberDiff line change
@@ -665,6 +665,16 @@ func (f *Fixture) PrepareAgentCommand(ctx context.Context, args []string, opts .
665665
return nil, fmt.Errorf("failed to prepare before exec: %w", err)
666666
}
667667

668+
// prepare a client if it's not already set
669+
if f.c == nil {
670+
cAddr, err := control.AddressFromPath(f.operatingSystem, f.workDir)
671+
if err != nil {
672+
return nil, fmt.Errorf("failed to get control protcol address: %w", err)
673+
}
674+
agentClient := client.New(client.WithAddress(cAddr))
675+
f.setClient(agentClient)
676+
}
677+
668678
// #nosec G204 -- Not so many ways to support variadic arguments to the elastic-agent command :(
669679
cmd := exec.CommandContext(ctx, f.binaryPath(), args...)
670680
for _, o := range opts {

0 commit comments

Comments
 (0)