Skip to content

Commit

Permalink
Merge pull request #4369 from hashicorp/b-ui-use-network-ip
Browse files Browse the repository at this point in the history
UI: Use the network ip for the task address instead of the node ip
  • Loading branch information
DingoEatingFuzz committed Jun 5, 2018
2 parents 25a958a + 002d2fb commit eb85ce7
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 72 deletions.
34 changes: 14 additions & 20 deletions ui/app/templates/allocations/allocation/index.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -72,26 +72,20 @@
<td data-test-time>{{moment-format row.model.events.lastObject.time "MM/DD/YY HH:mm:ss"}}</td>
<td data-test-ports>
<ul>
{{#each row.model.resources.networks.firstObject.reservedPorts as |port|}}
<li data-test-port>
<strong>{{port.Label}}:</strong>
{{#if row.model.allocation.node.address}}
<a href="http://{{row.model.allocation.node.address}}:{{port.Value}}" target="_blank">{{row.model.allocation.node.address}}:{{port.Value}}</a>
{{else}}
...
{{/if}}
</li>
{{/each}}
{{#each row.model.resources.networks.firstObject.dynamicPorts as |port|}}
<li>
<strong>{{port.Label}}:</strong>
{{#if row.model.allocation.node.address}}
<a href="http://{{row.model.allocation.node.address}}:{{port.Value}}" target="_blank">{{row.model.allocation.node.address}}:{{port.Value}}</a>
{{else}}
...
{{/if}}
</li>
{{/each}}
{{#with row.model.resources.networks.firstObject as |network|}}
{{#each network.reservedPorts as |port|}}
<li data-test-port>
<strong>{{port.Label}}:</strong>
<a href="http://{{network.ip}}:{{port.Value}}" target="_blank">{{network.ip}}:{{port.Value}}</a>
</li>
{{/each}}
{{#each network.dynamicPorts as |port|}}
<li>
<strong>{{port.Label}}:</strong>
<a href="http://{{network.ip}}:{{port.Value}}" target="_blank">{{network.ip}}:{{port.Value}}</a>
</li>
{{/each}}
{{/with}}
</ul>
</td>
</tr>
Expand Down
4 changes: 2 additions & 2 deletions ui/app/templates/allocations/allocation/task/index.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,8 @@
<td data-test-task-address-is-dynamic>{{if row.model.isDynamic "Yes" "No"}}</td>
<td data-test-task-address-name>{{row.model.name}}</td>
<td data-test-task-address-address>
<a href="http://{{model.allocation.node.address}}:{{row.model.port}}" target="_blank">
{{model.allocation.node.address}}:{{row.model.port}}
<a href="http://{{network.ip}}:{{row.model.port}}" target="_blank">
{{network.ip}}:{{row.model.port}}
</a>
</td>
</tr>
Expand Down
48 changes: 1 addition & 47 deletions ui/tests/acceptance/allocation-detail-test.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import $ from 'jquery';
import { assign } from '@ember/polyfills';
import { click, findAll, currentURL, find, visit, waitFor } from 'ember-native-dom-helpers';
import { click, findAll, currentURL, find, visit } from 'ember-native-dom-helpers';
import { test } from 'qunit';
import moduleForAcceptance from 'nomad-ui/tests/helpers/module-for-acceptance';
import moment from 'moment';
Expand Down Expand Up @@ -164,52 +164,6 @@ test('when the allocation is not found, an error message is shown, but the URL p
});
});

moduleForAcceptance('Acceptance | allocation detail (loading states)', {
beforeEach() {
server.create('agent');

node = server.create('node');
job = server.create('job', { groupCount: 0 });
allocation = server.create('allocation', 'withTaskWithPorts');
},
});

test('when the node the allocation is on has yet to load, address links are in a loading state', function(assert) {
server.get('/node/:id', { timing: true });

visit(`/allocations/${allocation.id}`);

waitFor('[data-test-port]').then(() => {
assert.ok(
find('[data-test-port]')
.textContent.trim()
.endsWith('...'),
'The address is in a loading state'
);
assert.notOk(
find('[data-test-port]').querySelector('a'),
'While in the loading state, there is no link to the address'
);

server.pretender.requestReferences.forEach(({ request }) => {
server.pretender.resolve(request);
});

andThen(() => {
const taskResources = allocation.taskResourcesIds
.map(id => server.db.taskResources.find(id))
.sortBy('name')[0];
const port = taskResources.resources.Networks[0].ReservedPorts[0];
const addressText = find('[data-test-port]').textContent.trim();

assert.ok(addressText.includes(port.Label), `Found label ${port.Label}`);
assert.ok(addressText.includes(port.Value), `Found value ${port.Value}`);
assert.ok(addressText.includes(node.httpAddr.match(/(.+):.+$/)[1]), 'Found the node address');
assert.ok(find('[data-test-port]').querySelector('a'), 'Link to address found');
});
});
});

moduleForAcceptance('Acceptance | allocation detail (rescheduled)', {
beforeEach() {
server.create('agent');
Expand Down
5 changes: 2 additions & 3 deletions ui/tests/acceptance/task-detail-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import { click, findAll, currentURL, find, visit } from 'ember-native-dom-helper
import { test } from 'qunit';
import moduleForAcceptance from 'nomad-ui/tests/helpers/module-for-acceptance';
import moment from 'moment';
import ipParts from 'nomad-ui/utils/ip-parts';

let allocation;
let task;
Expand Down Expand Up @@ -120,10 +119,10 @@ test('the addresses table lists all reserved and dynamic ports', function(assert
});

test('each address row shows the label and value of the address', function(assert) {
const node = server.db.nodes.find(allocation.nodeId);
const taskResources = allocation.taskResourcesIds
.map(id => server.db.taskResources.find(id))
.findBy('name', task.name);
const networkAddress = taskResources.resources.Networks[0].IP;
const reservedPorts = taskResources.resources.Networks[0].ReservedPorts;
const dynamicPorts = taskResources.resources.Networks[0].DynamicPorts;
const address = reservedPorts.concat(dynamicPorts).sortBy('Label')[0];
Expand All @@ -141,7 +140,7 @@ test('each address row shows the label and value of the address', function(asser
);
assert.equal(
addressRow.querySelector('[data-test-task-address-address]').textContent.trim(),
`${ipParts(node.httpAddr).address}:${address.Value}`,
`${networkAddress}:${address.Value}`,
'Value'
);
});
Expand Down

0 comments on commit eb85ce7

Please sign in to comment.