/** * Returns various status information about the host. * * @param host The host id. * @param statusFilter An optional status filter. * * @return The host status. */ @GET @Path("{id}/status") @Produces(APPLICATION_JSON) @Timed @ExceptionMetered public Optional<HostStatus> hostStatus( @PathParam("id") final String host, @QueryParam("status") @DefaultValue("") final String statusFilter) { final HostStatus status = model.getHostStatus(host); final Optional<HostStatus> response; if (status != null && (isNullOrEmpty(statusFilter) || statusFilter.equals(status.getStatus().toString()))) { response = Optional.of(status); } else { response = Optional.absent(); } log.debug("hostStatus: host={}, statusFilter={}, returning: {}", host, statusFilter, response); return response; }
/** * Returns various status information about the hosts. * * @param hosts The hosts. * @param statusFilter An optional status filter. * * @return The response. */ @POST @Path("/statuses") @Produces(APPLICATION_JSON) @Timed @ExceptionMetered public Map<String, HostStatus> hostStatuses( final List<String> hosts, @QueryParam("status") @DefaultValue("") final String statusFilter) { final Map<String, HostStatus> statuses = Maps.newHashMap(); for (final String host : hosts) { final HostStatus status = model.getHostStatus(host); if (status != null) { if (isNullOrEmpty(statusFilter) || statusFilter.equals(status.getStatus().toString())) { statuses.put(host, status); } } } return statuses; }
final HostStatus hostStatus = model.getHostStatus(host); JobId deployedJobId = null; TaskStatus.State state = null;
/** * Returns various status information about the host. * @param host The host id. * @return The host status. */ @GET @Path("{id}/status") @Produces(APPLICATION_JSON) @Timed @ExceptionMetered public Optional<HostStatus> hostStatus(@PathParam("id") final String host) { return Optional.fromNullable(model.getHostStatus(host)); }
/** * Returns various status information about the hosts. * @param hosts The hosts. * @return The response. */ @POST @Path("/statuses") @Produces(APPLICATION_JSON) @Timed @ExceptionMetered public Map<String, HostStatus> hostStatuses(final List<String> hosts) { final Map<String, HostStatus> statuses = Maps.newHashMap(); for (final String current : hosts) { final HostStatus status = model.getHostStatus(current); if (status != null) { statuses.put(current, status); } } return statuses; }
@Override public void run(final boolean timeout) throws InterruptedException { final List<String> allHosts = masterModel.listHosts(); final Map<String, Map<String, String>> hostsToLabels = Maps.newHashMap(); // determine all hosts and their labels for (final String host : allHosts) { final HostStatus hostStatus = masterModel.getHostStatus(host); if (hostStatus != null) { hostsToLabels.put(host, hostStatus.getLabels()); } } final HostMatcher hostMatcher = new HostMatcher(hostsToLabels); for (final DeploymentGroup dg : masterModel.getDeploymentGroups().values()) { final List<String> matchingHosts = hostMatcher.getMatchingHosts(dg); try { masterModel.updateDeploymentGroupHosts(dg.getName(), matchingHosts); } catch (Exception e) { log.warn("error processing hosts update for deployment group: {} - {}", dg.getName(), e); } } } }
final HostStatus hostStatus = model.getHostStatus(host); JobId deployedJobId = null; TaskStatus.State state = null;