@Override public String getPool() { return nodeInfo.getPool(); }
@Override public String getPool() { return nodeInfo.getPool(); }
public ServiceDescriptorBuilder setNodeInfo(NodeInfo nodeInfo) { Preconditions.checkNotNull(nodeInfo, "nodeInfo is null"); this.nodeId = nodeInfo.getNodeId(); this.pool = nodeInfo.getPool(); return this; }
public ServiceDescriptorBuilder setNodeInfo(NodeInfo nodeInfo) { Preconditions.checkNotNull(nodeInfo, "nodeInfo is null"); this.nodeId = nodeInfo.getNodeId(); this.pool = nodeInfo.getPool(); return this; }
public ServiceDescriptorBuilder setNodeInfo(NodeInfo nodeInfo) { requireNonNull(nodeInfo, "nodeInfo is null"); this.nodeId = nodeInfo.getNodeId(); this.pool = nodeInfo.getPool(); return this; }
@Override public CheckedFuture<Duration, DiscoveryException> announce(Set<ServiceAnnouncement> services) { Preconditions.checkNotNull(services, "services is null"); ImmutableSet.Builder<ServiceDescriptor> builder = ImmutableSet.builder(); for (ServiceAnnouncement service : services) { builder.add(new ServiceDescriptor(service.getId(), nodeInfo.getNodeId(), service.getType(), nodeInfo.getPool(), null, ServiceState.RUNNING, service.getProperties())); } announcements.set(builder.build()); return Futures.immediateCheckedFuture(maxAge); }
@Test public void testTestingNode() throws UnknownHostException { long testStartTime = System.currentTimeMillis(); Injector injector = Guice.createInjector(new TestingNodeModule()); NodeInfo nodeInfo = injector.getInstance(NodeInfo.class); assertNotNull(nodeInfo); assertTrue(nodeInfo.getEnvironment().matches("test\\d+")); assertEquals(nodeInfo.getPool(), "general"); assertNotNull(nodeInfo.getNodeId()); assertNotNull(nodeInfo.getLocation()); assertNull(nodeInfo.getBinarySpec()); assertNull(nodeInfo.getConfigSpec()); assertNotNull(nodeInfo.getInstanceId()); assertNotEquals(nodeInfo.getNodeId(), nodeInfo.getInstanceId()); assertEquals(nodeInfo.getInternalAddress(), "127.0.0.1"); assertEquals(nodeInfo.getBindIp(), InetAddress.getByName(nodeInfo.getInternalAddress())); assertEquals(nodeInfo.getExternalAddress(), "127.0.0.1"); assertGreaterThanOrEqual(nodeInfo.getStartTime(), testStartTime); // make sure toString doesn't throw an exception assertNotNull(nodeInfo.toString()); }
@Test public void testTestingNode() throws UnknownHostException { long testStartTime = System.currentTimeMillis(); Injector injector = Guice.createInjector(new TestingNodeModule()); NodeInfo nodeInfo = injector.getInstance(NodeInfo.class); assertNotNull(nodeInfo); assertTrue(nodeInfo.getEnvironment().matches("test\\d+")); assertEquals(nodeInfo.getPool(), "general"); assertNotNull(nodeInfo.getNodeId()); assertNotNull(nodeInfo.getLocation()); assertNull(nodeInfo.getBinarySpec()); assertNull(nodeInfo.getConfigSpec()); assertNotNull(nodeInfo.getInstanceId()); assertNotEquals(nodeInfo.getNodeId(), nodeInfo.getInstanceId()); assertEquals(nodeInfo.getInternalAddress(), "127.0.0.1"); assertEquals(nodeInfo.getBindIp(), InetAddress.getByName(nodeInfo.getInternalAddress())); assertEquals(nodeInfo.getExternalAddress(), "127.0.0.1"); assertGreaterThanOrEqual(nodeInfo.getStartTime(), testStartTime); // make sure toString doesn't throw an exception assertNotNull(nodeInfo.toString()); }
@Test public void testDefaultConfig() throws UnknownHostException { long testStartTime = System.currentTimeMillis(); ConfigurationFactory configFactory = new ConfigurationFactory(ImmutableMap.<String, String>of("node.environment", "environment")); Injector injector = Guice.createInjector(new NodeModule(), new ConfigurationModule(configFactory)); NodeInfo nodeInfo = injector.getInstance(NodeInfo.class); assertNotNull(nodeInfo); assertEquals(nodeInfo.getEnvironment(), "environment"); assertEquals(nodeInfo.getPool(), "general"); assertNotNull(nodeInfo.getNodeId()); assertNotNull(nodeInfo.getLocation()); assertNull(nodeInfo.getBinarySpec()); assertNull(nodeInfo.getConfigSpec()); assertNotNull(nodeInfo.getInstanceId()); assertNotEquals(nodeInfo.getNodeId(), nodeInfo.getInstanceId()); assertNotNull(nodeInfo.getInternalAddress()); assertFalse(InetAddress.getByName(nodeInfo.getInternalAddress()).isAnyLocalAddress()); assertNotNull(nodeInfo.getBindIp()); assertTrue(nodeInfo.getBindIp().isAnyLocalAddress()); assertGreaterThanOrEqual(nodeInfo.getStartTime(), testStartTime); // make sure toString doesn't throw an exception assertNotNull(nodeInfo.toString()); }
@Test public void testTestingNode() { long testStartTime = System.currentTimeMillis(); Injector injector = Guice.createInjector(new TestingNodeModule()); NodeInfo nodeInfo = injector.getInstance(NodeInfo.class); assertNotNull(nodeInfo); assertTrue(nodeInfo.getEnvironment().matches("test\\d+")); assertEquals(nodeInfo.getPool(), "general"); assertNotNull(nodeInfo.getNodeId()); assertNotNull(nodeInfo.getLocation()); assertNull(nodeInfo.getBinarySpec()); assertNull(nodeInfo.getConfigSpec()); assertNotNull(nodeInfo.getInstanceId()); assertNotEquals(nodeInfo.getNodeId(), nodeInfo.getInstanceId()); assertEquals(nodeInfo.getInternalIp().toString(), "localhost/127.0.0.1"); assertEquals(nodeInfo.getBindIp(), nodeInfo.getInternalIp()); assertEquals(nodeInfo.getExternalAddress(), "127.0.0.1"); assertGreaterThanOrEqual(nodeInfo.getStartTime(), testStartTime); // make sure toString doesn't throw an exception assertNotNull(nodeInfo.toString()); }
assertNotNull(nodeInfo); assertEquals(nodeInfo.getEnvironment(), environment); assertEquals(nodeInfo.getPool(), pool); assertEquals(nodeInfo.getNodeId(), nodeId); assertEquals(nodeInfo.getLocation(), location);
@Test public void testDefaultConfig() throws UnknownHostException { long testStartTime = System.currentTimeMillis(); ConfigurationFactory configFactory = new ConfigurationFactory(ImmutableMap.<String, String>of("node.environment", "environment")); Injector injector = Guice.createInjector(new NodeModule(), new ConfigurationModule(configFactory)); NodeInfo nodeInfo = injector.getInstance(NodeInfo.class); assertNotNull(nodeInfo); assertEquals(nodeInfo.getEnvironment(), "environment"); assertEquals(nodeInfo.getPool(), "general"); assertNotNull(nodeInfo.getNodeId()); assertNotNull(nodeInfo.getLocation()); assertNull(nodeInfo.getBinarySpec()); assertNull(nodeInfo.getConfigSpec()); assertNotNull(nodeInfo.getInstanceId()); assertNotEquals(nodeInfo.getNodeId(), nodeInfo.getInstanceId()); assertNotNull(nodeInfo.getInternalAddress()); assertFalse(InetAddress.getByName(nodeInfo.getInternalAddress()).isAnyLocalAddress()); assertNotNull(nodeInfo.getBindIp()); assertTrue(nodeInfo.getBindIp().isAnyLocalAddress()); assertGreaterThanOrEqual(nodeInfo.getStartTime(), testStartTime); // make sure toString doesn't throw an exception assertNotNull(nodeInfo.toString()); }
@Test public void testDefaultConfig() { long testStartTime = System.currentTimeMillis(); ConfigurationFactory configFactory = new ConfigurationFactory(ImmutableMap.<String, String>of("node.environment", "environment")); Injector injector = Guice.createInjector(new NodeModule(), new ConfigurationModule(configFactory)); NodeInfo nodeInfo = injector.getInstance(NodeInfo.class); Assert.assertNotNull(nodeInfo); Assert.assertEquals(nodeInfo.getEnvironment(), "environment"); Assert.assertEquals(nodeInfo.getPool(), "general"); Assert.assertNotNull(nodeInfo.getNodeId()); Assert.assertNotNull(nodeInfo.getLocation()); Assert.assertNull(nodeInfo.getBinarySpec()); Assert.assertNull(nodeInfo.getConfigSpec()); Assert.assertNotNull(nodeInfo.getInstanceId()); Assertions.assertNotEquals(nodeInfo.getNodeId(), nodeInfo.getInstanceId()); Assert.assertNotNull(nodeInfo.getInternalIp()); Assert.assertFalse(nodeInfo.getInternalIp().isAnyLocalAddress()); Assert.assertNotNull(nodeInfo.getBindIp()); Assert.assertTrue(nodeInfo.getBindIp().isAnyLocalAddress()); Assertions.assertGreaterThanOrEqual(nodeInfo.getStartTime(), testStartTime); // make sure toString doesn't throw an exception Assert.assertNotNull(nodeInfo.toString()); }
@Test public void testBasicNodeInfo() { long testStartTime = System.currentTimeMillis(); String nodeId = "nodeId"; String location = "location"; String binarySpec = "binary"; String configSpec = "config"; InetAddress internalIp = InetAddresses.forString("10.0.0.22"); InetAddress bindIp = InetAddresses.forString("10.0.0.33"); String externalAddress = "external"; NodeInfo nodeInfo = new NodeInfo(ENVIRONMENT, POOL, nodeId, internalIp, bindIp, externalAddress, location, binarySpec, configSpec); Assert.assertEquals(nodeInfo.getEnvironment(), ENVIRONMENT); Assert.assertEquals(nodeInfo.getPool(), POOL); Assert.assertEquals(nodeInfo.getNodeId(), nodeId); Assert.assertEquals(nodeInfo.getLocation(), location); Assert.assertEquals(nodeInfo.getBinarySpec(), binarySpec); Assert.assertEquals(nodeInfo.getConfigSpec(), configSpec); Assert.assertNotNull(nodeInfo.getInstanceId()); Assertions.assertNotEquals(nodeInfo.getNodeId(), nodeInfo.getInstanceId()); Assert.assertEquals(nodeInfo.getInternalIp(), internalIp); Assert.assertEquals(nodeInfo.getExternalAddress(), externalAddress); Assert.assertEquals(nodeInfo.getBindIp(), bindIp); Assertions.assertGreaterThanOrEqual(nodeInfo.getStartTime(), testStartTime); // make sure toString doesn't throw an exception Assert.assertNotNull(nodeInfo.toString()); }
@Test public void testBasicNodeInfo() { long testStartTime = System.currentTimeMillis(); String nodeId = "nodeId"; String location = "location"; String binarySpec = "binary"; String configSpec = "config"; String internalIp = "10.0.0.22"; InetAddress bindIp = InetAddresses.forString("10.0.0.33"); String externalAddress = "external"; NodeInfo nodeInfo = new NodeInfo(ENVIRONMENT, POOL, nodeId, internalIp, bindIp, externalAddress, location, binarySpec, configSpec, IP); assertEquals(nodeInfo.getEnvironment(), ENVIRONMENT); assertEquals(nodeInfo.getPool(), POOL); assertEquals(nodeInfo.getNodeId(), nodeId); assertEquals(nodeInfo.getLocation(), location); assertEquals(nodeInfo.getBinarySpec(), binarySpec); assertEquals(nodeInfo.getConfigSpec(), configSpec); assertNotNull(nodeInfo.getInstanceId()); assertNotEquals(nodeInfo.getNodeId(), nodeInfo.getInstanceId()); assertEquals(nodeInfo.getInternalAddress(), internalIp); assertEquals(nodeInfo.getExternalAddress(), externalAddress); assertEquals(nodeInfo.getBindIp(), bindIp); assertGreaterThanOrEqual(nodeInfo.getStartTime(), testStartTime); // make sure toString doesn't throw an exception assertNotNull(nodeInfo.toString()); }
@Test public void testBasicNodeInfo() { long testStartTime = System.currentTimeMillis(); String nodeId = "nodeId"; String location = "location"; String binarySpec = "binary"; String configSpec = "config"; String internalIp = "10.0.0.22"; InetAddress bindIp = InetAddresses.forString("10.0.0.33"); String externalAddress = "external"; NodeInfo nodeInfo = new NodeInfo(ENVIRONMENT, POOL, nodeId, internalIp, bindIp, externalAddress, location, binarySpec, configSpec, IP); assertEquals(nodeInfo.getEnvironment(), ENVIRONMENT); assertEquals(nodeInfo.getPool(), POOL); assertEquals(nodeInfo.getNodeId(), nodeId); assertEquals(nodeInfo.getLocation(), location); assertEquals(nodeInfo.getBinarySpec(), binarySpec); assertEquals(nodeInfo.getConfigSpec(), configSpec); assertNotNull(nodeInfo.getInstanceId()); assertNotEquals(nodeInfo.getNodeId(), nodeInfo.getInstanceId()); assertEquals(nodeInfo.getInternalAddress(), internalIp); assertEquals(nodeInfo.getExternalAddress(), externalAddress); assertEquals(nodeInfo.getBindIp(), bindIp); assertGreaterThanOrEqual(nodeInfo.getStartTime(), testStartTime); // make sure toString doesn't throw an exception assertNotNull(nodeInfo.toString()); }
@Override public ListenableFuture<Duration> announce(Set<ServiceAnnouncement> services) { requireNonNull(services, "services is null"); URI uri = discoveryServiceURI.get(); if (uri == null) { return immediateFailedFuture(new DiscoveryException("No discovery servers are available")); } Announcement announcement = new Announcement(nodeInfo.getEnvironment(), nodeInfo.getNodeId(), nodeInfo.getPool(), nodeInfo.getLocation(), services); Request request = preparePut() .setUri(URI.create(uri + "/v1/announcement/" + nodeInfo.getNodeId())) .setHeader("User-Agent", nodeInfo.getNodeId()) .setHeader("Content-Type", MEDIA_TYPE_JSON.toString()) .setBodyGenerator(jsonBodyGenerator(announcementCodec, announcement)) .build(); return httpClient.executeAsync(request, new DiscoveryResponseHandler<Duration>("Announcement", uri) { @Override public Duration handle(Request request, Response response) throws DiscoveryException { int statusCode = response.getStatusCode(); if (!isSuccess(statusCode)) { throw new DiscoveryException(String.format("Announcement failed with status code %s: %s", statusCode, getBodyForError(response))); } Duration maxAge = extractMaxAge(response); return maxAge; } }); }
@Override public ListenableFuture<Duration> announce(Set<ServiceAnnouncement> services) { Preconditions.checkNotNull(services, "services is null"); URI uri = discoveryServiceURI.get(); if (uri == null) { return Futures.immediateFailedCheckedFuture(new DiscoveryException("No discovery servers are available")); } Announcement announcement = new Announcement(nodeInfo.getEnvironment(), nodeInfo.getNodeId(), nodeInfo.getPool(), nodeInfo.getLocation(), services); Request request = preparePut() .setUri(URI.create(uri + "/v1/announcement/" + nodeInfo.getNodeId())) .setHeader("User-Agent", nodeInfo.getNodeId()) .setHeader("Content-Type", MEDIA_TYPE_JSON.toString()) .setBodyGenerator(jsonBodyGenerator(announcementCodec, announcement)) .build(); return httpClient.executeAsync(request, new DiscoveryResponseHandler<Duration>("Announcement", uri) { @Override public Duration handle(Request request, Response response) throws DiscoveryException { int statusCode = response.getStatusCode(); if (!isSuccess(statusCode)) { throw new DiscoveryException(String.format("Announcement failed with status code %s: %s", statusCode, getBodyForError(response))); } Duration maxAge = extractMaxAge(response); return maxAge; } }); }
@Test public void testBuilderNodeInfo() { NodeInfo nodeInfo = new NodeInfo(new NodeConfig().setEnvironment("test").setPool("pool")); ServiceDescriptor expected = new ServiceDescriptor( UUID.fromString("12345678-1234-1234-1234-123456789012"), nodeInfo.getNodeId(), "type", nodeInfo.getPool(), "location", ServiceState.STOPPED, ImmutableMap.of("a", "apple", "b", "banana")); ServiceDescriptor actual = serviceDescriptor(expected.getType()) .setId(expected.getId()) .setLocation(expected.getLocation()) .setNodeInfo(nodeInfo) .setState(expected.getState()) .addProperties(expected.getProperties()) .build(); assertDescriptorEquals(expected, actual); }
@Test public void testBuilderNodeInfo() { NodeInfo nodeInfo = new NodeInfo(new NodeConfig().setEnvironment("test").setPool("pool")); ServiceDescriptor expected = new ServiceDescriptor( UUID.fromString("12345678-1234-1234-1234-123456789012"), nodeInfo.getNodeId(), "type", nodeInfo.getPool(), "location", ServiceState.STOPPED, ImmutableMap.of("a", "apple", "b", "banana")); ServiceDescriptor actual = serviceDescriptor(expected.getType()) .setId(expected.getId()) .setLocation(expected.getLocation()) .setNodeInfo(nodeInfo) .setState(expected.getState()) .addProperties(expected.getProperties()) .build(); assertDescriptorEquals(expected, actual); }