public MachineImpl(String name, Machine machine) { this(name, machine.getAttributes(), machine.getServers(), machine.getStatus()); }
/** * Checks whether provided {@link MachineConfig} contains wsagent server. * * @param machine machine to check * @return true when wsagent server is found in provided machine, false otherwise */ public static boolean containsWsAgentServer(Machine machine) { return machine.getServers().keySet().contains(SERVER_WS_AGENT_HTTP_REFERENCE); }
/** * Calculates summary RAM of given {@link Runtime}. * * @return summary RAM of all machines in runtime in megabytes */ public long calculate(Runtime runtime) { return runtime .getMachines() .values() .stream() .mapToLong( m -> parseMemoryAttributeValue(m.getAttributes().get(MEMORY_LIMIT_ATTRIBUTE))) .sum() / BYTES_TO_MEGABYTES_DIVIDER; }
/** * Get {@link WorkspaceProbes} for servers of the specified machines * * @throws InfrastructureException when the operation fails */ public WorkspaceProbes getProbes( RuntimeIdentity runtimeId, Map<String, ? extends Machine> machines) throws InfrastructureException { List<ProbeFactory> factories = new ArrayList<>(); try { for (Entry<String, ? extends Machine> entry : machines.entrySet()) { fillProbes(runtimeId, entry.getKey(), factories, entry.getValue().getServers()); } } catch (MalformedURLException e) { throw new InternalInfrastructureException( "Server liveness probes creation failed. Error: " + e.getMessage()); } return new WorkspaceProbes(runtimeId.getWorkspaceId(), factories); }
public MachineImpl(Machine machineRuntime) { this(machineRuntime.getAttributes(), machineRuntime.getServers(), machineRuntime.getStatus()); }
private boolean isSshServerIsRunning(String machineName) { Workspace workspace = appContext.getWorkspace(); Runtime runtime = workspace.getRuntime(); if (runtime == null) { return false; } Machine machine = runtime.getMachines().get(machineName); if (machine == null) { return false; } Server server = machine.getServers().get(SERVER_SSH_REFERENCE); if (server == null) { return false; } return workspace.getStatus() == WorkspaceStatus.RUNNING; }
/** * Returns map of machine name to machine instance entries. * * @throws InfrastructureException when any error occurs */ public Map<String, ? extends Machine> getMachines() throws InfrastructureException { return getInternalMachines() .entrySet() .stream() .collect( toMap( Map.Entry::getKey, e -> new MachineImpl( e.getValue().getAttributes(), rewriteExternalServers(e.getKey(), e.getValue().getServers()), e.getValue().getStatus()))); }
/** Checks whether the server is running in the machine. */ private boolean isServerRunning(String machineName, String serverName) { Workspace workspace = appContext.getWorkspace(); Runtime runtime = workspace.getRuntime(); if (runtime == null) { return false; } Machine machine = runtime.getMachines().get(machineName); if (machine == null) { return false; } Server server = machine.getServers().get(serverName); if (server == null) { return false; } return server.getStatus() == ServerStatus.RUNNING; }
/** Converts {@link Machine} to {@link MachineDto}. */ public static MachineDto asDto(Machine machine) { MachineDto machineDto = newDto(MachineDto.class) .withAttributes(machine.getAttributes()) .withStatus(machine.getStatus()); if (machine.getServers() != null) { machineDto.withServers( machine .getServers() .entrySet() .stream() .collect(toMap(Map.Entry::getKey, entry -> asDto(entry.getValue())))); } return machineDto; }
Map<String, ? extends Server> servers = machineEntry.getValue().getServers();
/** * Return server URL related with defined port * * @deprecated use {@link #getServerFromDevMachineBySymbolicName(String, String)} to retrieve * server URL from instead */ @Override @Deprecated @Nullable public String getServerAddressByPort(String workspaceId, int port) throws Exception { Workspace workspace = getById(workspaceId); ensureRunningStatus(workspace); Map<String, ? extends Machine> machines = workspace.getRuntime().getMachines(); for (Machine machine : machines.values()) { if (containsWsAgentServer(machine)) { return machine.getServers().get(valueOf(port) + "/tcp").getUrl(); } } return null; }
/** * Return ServerDto object from runtime by it's symbolic name * * @param workspaceId workspace id of current user * @param serverName server name * @return ServerDto object */ @Override @Nullable public Server getServerFromDevMachineBySymbolicName(String workspaceId, String serverName) throws Exception { Workspace workspace = requestFactory.fromUrl(getIdBasedUrl(workspaceId)).request().asDto(WorkspaceDto.class); ensureRunningStatus(workspace); Map<String, ? extends Machine> machines = workspace.getRuntime().getMachines(); for (Machine machine : machines.values()) { if (containsWsAgentServer(machine)) { return machine.getServers().get(serverName); } } return null; }