@Override protected void beforeIteration() { jobsInDeploymentGroups = masterModel.getDeploymentGroups() .values() .stream() .map(DeploymentGroup::getJobId) .collect(Collectors.toSet()); }
@GET @Produces(APPLICATION_JSON) @Timed @ExceptionMetered public List<String> getDeploymentGroup() { final List<String> deploymentGroups = Lists.newArrayList(model.getDeploymentGroups().keySet()); Collections.sort(deploymentGroups); return deploymentGroups; }
@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) { hostsToLabels.put(host, masterModel.getHostLabels(host)); } 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); } } } }
@GET @Produces(APPLICATION_JSON) @Timed @ExceptionMetered public List<String> getDeploymentGroup() { final List<String> deploymentGroups = Lists.newArrayList(model.getDeploymentGroups().keySet()); Collections.sort(deploymentGroups); return deploymentGroups; }
@Override public void run(final boolean timeout) throws InterruptedException { for (final DeploymentGroup dg : masterModel.getDeploymentGroups().values()) { try { masterModel.rollingUpdateStep(dg, DefaultRolloutPlanner.of(dg)); } catch (Exception e) { log.warn("error processing rolling update step for deployment group: {} - {}", dg.getName(), e); } } } }
@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); } } } }