TaskStatus.State state = null; if (hostStatus != null && hostStatus.getStatus().equals(HostStatus.Status.UP)) { for (final Map.Entry<JobId, Deployment> entry : hostStatus.getJobs().entrySet()) { if (name.equals(entry.getValue().getDeploymentGroupName())) {
/** * 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; }
@Override public int hashCode() { int result = status != null ? status.hashCode() : 0; result = 31 * result + (hostInfo != null ? hostInfo.hashCode() : 0); result = 31 * result + (agentInfo != null ? agentInfo.hashCode() : 0); result = 31 * result + (jobs != null ? jobs.hashCode() : 0); result = 31 * result + (statuses != null ? statuses.hashCode() : 0); result = 31 * result + (environment != null ? environment.hashCode() : 0); result = 31 * result + (labels != null ? labels.hashCode() : 0); return result; }
@Override public List<RolloutTask> plan(final Map<String, HostStatus> hostsAndStatuses) { // we only care about hosts that are UP final List<String> hosts = Lists.newArrayList(); for (final Map.Entry<String, HostStatus> entry : hostsAndStatuses.entrySet()) { if (entry.getValue().getStatus().equals(HostStatus.Status.UP)) { hosts.add(entry.getKey()); } } // generate the rollout tasks final List<RolloutTask> rolloutTasks = Lists.newArrayList(); final int parallelism = deploymentGroup.getRolloutOptions() != null ? deploymentGroup.getRolloutOptions().getParallelism() : 1; for (final List<String> partition : Lists.partition(hosts, parallelism)) { for (final String host : partition) { rolloutTasks.add(RolloutTask.of(RolloutTask.Action.UNDEPLOY_OLD_JOBS, host)); rolloutTasks.add(RolloutTask.of(RolloutTask.Action.DEPLOY_NEW_JOB, host)); } for (final String host : partition) { rolloutTasks.add(RolloutTask.of(RolloutTask.Action.AWAIT_RUNNING, host)); } } return ImmutableList.copyOf(rolloutTasks); } }
if (!isNullOrEmpty(statusFilter)) { try { HostStatus.Status.valueOf(statusFilter); queryParams.put("status", statusFilter); } catch (IllegalArgumentException ignored) {
Arrays.asList(HostStatus.Status.values()), new Function<HostStatus.Status, String>() { @Override public String apply(final HostStatus.Status input) {
/** * 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; }
@Override public String apply(final HostStatus.Status input) { return input.toString(); } });