Skip to content

Commit

Permalink
Always include the region param in server monitor requests
Browse files Browse the repository at this point in the history
The region will naturally be appended to URLs via
token.authorizedRequest but agent members includes all servers across
all regions so relying on the application-level region isn't good
enough.
  • Loading branch information
DingoEatingFuzz committed Feb 1, 2021
1 parent c5ba52d commit fcf31ff
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 7 deletions.
8 changes: 7 additions & 1 deletion ui/app/components/agent-monitor.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,16 @@ export default class AgentMonitor extends Component {
const type = this.server ? 'server_id' : 'client_id';
const id = this.server ? this.server.id : this.client && this.client.id;

return {
const params = {
log_level: this.level,
[type]: id,
};

if (this.server) {
params.region = this.server.region;
}

return params;
}

didInsertElement() {
Expand Down
14 changes: 8 additions & 6 deletions ui/tests/integration/components/agent-monitor-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,10 +34,10 @@ module('Integration | Component | agent-monitor', function(hooks) {

const commonTemplate = hbs`
<AgentMonitor
@level={{level}}
@client={{client}}
@server={{server}}
@onLevelChange={{onLevelChange}} />
@level={{this.level}}
@client={{this.client}}
@server={{this.server}}
@onLevelChange={{this.onLevelChange}} />
`;

test('basic appearance', async function(assert) {
Expand All @@ -61,7 +61,7 @@ module('Integration | Component | agent-monitor', function(hooks) {
test('when provided with a client, AgentMonitor streams logs for the client', async function(assert) {
this.setProperties({
level: 'info',
client: { id: 'client1' },
client: { id: 'client1', region: 'us-west-1' },
});

run.later(run, run.cancelTimers, INTERVAL);
Expand All @@ -73,12 +73,13 @@ module('Integration | Component | agent-monitor', function(hooks) {
assert.ok(logRequest.url.includes('client_id=client1'));
assert.ok(logRequest.url.includes('log_level=info'));
assert.notOk(logRequest.url.includes('server_id'));
assert.notOk(logRequest.url.includes('region='));
});

test('when provided with a server, AgentMonitor streams logs for the server', async function(assert) {
this.setProperties({
level: 'warn',
server: { id: 'server1' },
server: { id: 'server1', region: 'us-west-1' },
});

run.later(run, run.cancelTimers, INTERVAL);
Expand All @@ -89,6 +90,7 @@ module('Integration | Component | agent-monitor', function(hooks) {
assert.ok(logRequest.url.startsWith('/v1/agent/monitor'));
assert.ok(logRequest.url.includes('server_id=server1'));
assert.ok(logRequest.url.includes('log_level=warn'));
assert.ok(logRequest.url.includes('region=us-west-1'));
assert.notOk(logRequest.url.includes('client_id'));
});

Expand Down

0 comments on commit fcf31ff

Please sign in to comment.