@JsonProperty public String getConfig() { if (assignment == null) { return null; } return assignment.getConfig(); }
@Override public boolean apply(@Nullable SlotStatus slotStatus) { return slotStatus != null && glob.apply(slotStatus.getAssignment().getConfig()); } }
public static Map<String, Integer> readResources(Repository repository, Assignment assignment) { ImmutableMap.Builder<String, Integer> builder = ImmutableMap.builder(); InputSupplier<? extends InputStream> resourcesFile = newConfigEntrySupplier(repository, assignment.getConfig(), "galaxy-resources.properties"); if (resourcesFile != null) { try { Properties resources = new Properties(); resources.load(resourcesFile.getInput()); for (Entry<Object, Object> entry : resources.entrySet()) { builder.put((String) entry.getKey(), Integer.valueOf((String) entry.getValue())); } } catch (IOException ignored) { } } return builder.build(); } }
public static Assignment resolveAssignment(Repository repository, Assignment assignment) { // resolve assignment String resolvedBinary = repository.binaryResolve(assignment.getBinary()); Preconditions.checkArgument(resolvedBinary != null, "Unknown binary " + assignment.getBinary()); String resolvedConfig = repository.configResolve(assignment.getConfig()); Preconditions.checkArgument(resolvedConfig != null, "Unknown config " + assignment.getConfig()); assignment = new Assignment(resolvedBinary, resolvedConfig); return assignment; }
private String toBaseName(Installation installation) { String configSpec = installation.getAssignment().getConfig(); MavenCoordinates mavenCoordinates = MavenCoordinates.fromConfigGAV(configSpec); String baseName; if (mavenCoordinates != null) { baseName = mavenCoordinates.getArtifactId(); } else if (configSpec.startsWith("@")) { baseName = configSpec.substring(1); } else { baseName = configSpec; } return baseName; }
public static AssignmentRepresentation from(Assignment assignment) { return new AssignmentRepresentation(assignment.getBinary(), assignment.getConfig()); }
public Assignment upgradeAssignment(Repository repository, Assignment assignment) { Preconditions.checkNotNull(assignment, "assignment is null"); String binary = assignment.getBinary(); if (binaryVersion != null) { binary = repository.binaryUpgrade(binary, binaryVersion); Preconditions.checkArgument(binary != null, "Can not upgrade binary " + assignment.getBinary() + " to " + binaryVersion); } else{ Preconditions.checkArgument(repository.binaryToHttpUri(assignment.getBinary()) != null, "Can not locate existing binary " + assignment.getBinary() + " for upgrade"); } String config = assignment.getConfig(); if (configVersion != null) { config = repository.configUpgrade(config, configVersion); Preconditions.checkArgument(config != null, "Can not upgrade config " + assignment.getConfig() + " to " + configVersion); } else { Preconditions.checkArgument(repository.configToHttpUri(assignment.getConfig()) != null, "Can not locate existing config " + assignment.getConfig() + " for upgrade"); } return new Assignment(binary, config); }
map.put("node.data-dir", deployment.getDataDir().getAbsolutePath()); map.put("node.binary-spec", deployment.getAssignment().getBinary()); map.put("node.config-spec", deployment.getAssignment().getConfig());
public static Installation toInstallation(Repository repository, Assignment assignment) { assignment = resolveAssignment(repository, assignment); // load resources Map<String, Integer> resources = readResources(repository, assignment); // create installation URI binaryUri = repository.binaryToHttpUri(assignment.getBinary()); Preconditions.checkNotNull(binaryUri, "Unknown binary %s", binaryUri); URI configUri = repository.configToHttpUri(assignment.getConfig()); Preconditions.checkNotNull(configUri, "Unknown config %s", configUri); return new Installation( repository.configShortName(assignment.getConfig()), assignment, binaryUri, configUri, resources); }
String config = assignment.getConfig();
@Override public boolean apply(RemoteAgent agent) { for (RemoteSlot slot : agent.getSlots()) { if (repository.binaryEqualsIgnoreVersion(assignment.getBinary(), slot.status().getAssignment().getBinary()) && repository.configEqualsIgnoreVersion(assignment.getConfig(), slot.status().getAssignment().getConfig())) { return false; } } return true; } };
Assignment assignment = expectedState.getAssignment(); if (assignment != null) { messages.add("Expected assignment to be " + assignment.getBinary() + " " + assignment.getConfig());
throw new RuntimeException("Unable to extract config bundle " + assignment.getConfig() + ": " + e.getMessage());
@Override public boolean apply(@Nullable AgentStatus status) { // We can only install on online agents if (status.getState() != ONLINE) { return false; } // Constraints: normally we only allow only instance of a binary+config on each agent if (!allowDuplicateInstallationsOnAnAgent) { for (SlotStatus slot : status.getSlotStatuses()) { if (repository.binaryEqualsIgnoreVersion(assignment.getBinary(), slot.getAssignment().getBinary()) && repository.configEqualsIgnoreVersion(assignment.getConfig(), slot.getAssignment().getConfig())) { return false; } } } // agents without declared resources are considered to have unlimited resources if (!status.getResources().isEmpty()) { // verify that required resources are available Installation installation = toInstallation(repository, assignment); Map<String, Integer> availableResources = getAvailableResources(status); if (!resourcesAreAvailable(availableResources, installation.getResources())) { return false; } } return true; } }
@Override public void setExpectedState(ExpectedSlotStatus slotStatus) { Preconditions.checkNotNull(slotStatus, "slotStatus is null"); if (isDomainCreated()) { List<ReplaceableAttribute> attributes = newArrayList(); attributes.add(new ReplaceableAttribute("state", slotStatus.getStatus().toString(), true)); if (slotStatus.getAssignment() != null) { attributes.add(new ReplaceableAttribute("binary", slotStatus.getAssignment().getBinary(), true)); attributes.add(new ReplaceableAttribute("config", slotStatus.getAssignment().getConfig(), true)); } try { simpleDb.putAttributes(new PutAttributesRequest().withDomainName(domainName).withItemName(slotStatus.getId().toString()).withAttributes(attributes)); expectedStateStoreUp(); } catch (Exception e) { expectedStateStoreDown(e); } } }
Preconditions.checkState(!terminated, "Slot has been terminated"); log.info("Becoming %s with %s", installation.getAssignment().getBinary(), installation.getAssignment().getConfig());
public URI buildUri(HttpUriBuilder uriBuilder) { for (String uuidFilter : uuidFilters) { uriBuilder.addParameter("uuid", uuidFilter); } for (String hostGlob : hostGlobs) { uriBuilder.addParameter("host", hostGlob); } for (String machineGlob : machineGlobs) { uriBuilder.addParameter("machine", machineGlob); } for (AgentLifecycleState stateFilter : stateFilters) { uriBuilder.addParameter("state", stateFilter.name()); } for (String shortId : slotUuidGlobs) { uriBuilder.addParameter("slotUuid", shortId); } for (Assignment assignment : assignableFilters) { uriBuilder.addParameter("assignable", assignment.getBinary() + assignment.getConfig()); } if (selectAll) { uriBuilder.addParameter("all"); } return uriBuilder.build(); }
if (slotStatus.getAssignment() != null) { binary = slotStatus.getAssignment().getBinary(); config = slotStatus.getAssignment().getConfig(); if (repository != null) { shortBinary = Objects.firstNonNull(repository.binaryRelativize(binary), binary); if (slotStatus.getExpectedAssignment() != null) { expectedBinary = slotStatus.getExpectedAssignment().getBinary(); expectedConfig = slotStatus.getExpectedAssignment().getConfig();
if (status.getAssignment() != null) { binary = status.getAssignment().getBinary(); config = status.getAssignment().getConfig(); if (repository != null) { shortBinary = Objects.firstNonNull(repository.binaryRelativize(binary), binary); if (status.getExpectedAssignment() != null) { expectedBinary = status.getExpectedAssignment().getBinary(); expectedConfig = status.getExpectedAssignment().getConfig();