@Override public void onEnterBuildable(Queue.BuildableItem item) { final Jenkins jenkins = Jenkins.getInstance(); final Label label = item.getAssignedLabel(); for (Cloud cloud : Jenkins.getInstance().clouds) { if (cloud instanceof DockerCloud && cloud.canProvision(label)) { final NodeProvisioner provisioner = (label == null ? jenkins.unlabeledNodeProvisioner : label.nodeProvisioner); provisioner.suggestReviewNow(); } } } }
@Override protected void doRun() throws Exception { // Trigger reprovisioning as well Jenkins.getActiveInstance().unlabeledNodeProvisioner.suggestReviewNow(); final List<FleetStateStats> stats = new ArrayList<FleetStateStats>(); for(final Cloud cloud : Jenkins.getActiveInstance().clouds) { if (!(cloud instanceof EC2FleetCloud)) continue; // Update the cluster states final EC2FleetCloud fleetCloud =(EC2FleetCloud) cloud; LOGGER.log(Level.FINE, "Checking cloud: " + fleetCloud.getLabelString() ); stats.add(fleetCloud.updateStatus()); } for (final Widget w : Jenkins.getInstance().getWidgets()) { if (!(w instanceof FleetStatusWidget)) continue; ((FleetStatusWidget)w).setStatusList(stats); } } }