public static void adaptLinksToParallelRun(UUID uuid, CubeContainer cubeContainer) { final Collection<Link> links = cubeContainer.getLinks(); if (links == null) { return; } for (Link link : links) { if (link.getName().endsWith("*")) { String linkTemplate = link.getName().substring(0, link.getName().lastIndexOf('*')); link.setName(generateNewName(linkTemplate, uuid)); String environmentVariable = linkTemplate.toUpperCase() + "_HOSTNAME=" + link.getName(); if (link.isAliasSet()) { link.setAlias(generateNewName(link.getAlias(), uuid)); environmentVariable = linkTemplate.toUpperCase() + "_HOSTNAME=" + link.getAlias(); } final Collection<String> env = cubeContainer.getEnv(); if (env != null) { // to avoid duplicates if (env.contains(environmentVariable)) { env.remove(environmentVariable); } } else { cubeContainer.setEnv(new ArrayList<>()); } cubeContainer.getEnv().add(environmentVariable); } } }
public static Collection<Link> valuesOf(Collection<String> links) { if (links == null) { return null; } List<Link> result = new ArrayList<Link>(); for (String link : links) { result.add(valueOf(link)); } return result; }
private Collection<Link> updateLinks(Proxy.Builder proxy, Collection<Link> links) { final Collection<Link> updatedLinks = new ArrayList<>(); if (links != null) { for (Link link : links) { proxy.containerLinks(link.getName(), link.getName() + "_toxiproxy"); updatedLinks.add(new Link(proxy.getName(), link.getAlias())); } updatedLinks.add(new Link(proxy.getName(), proxy.getName())); } return updatedLinks; }
private static final Link[] toLinks(Collection<org.arquillian.cube.docker.impl.client.config.Link> linkList) { Link[] links = new Link[linkList.size()]; int i = 0; for (org.arquillian.cube.docker.impl.client.config.Link link : linkList) { links[i] = new Link(link.getName(), link.getAlias()); i++; } return links; }
private Collection<String> getLinksName() { if (links != null && links.size() > 0) { Set<String> dependencies = new HashSet<>(); for (Link link : links) { dependencies.add(link.getName()); } return dependencies; } else { return new ArrayList<>(); } }
@Test public void shouldParallelizeStarCubesUsingRemappingAlias() { String content = "tomcat*:\n" + " image: tutum/tomcat:8.0\n" + " portBindings: [8080/tcp]\n" + " links:\n" + " - ping*:bb\n" + "ping*:\n" + " image: jonmorehouse/ping-pong\n" + " exposedPorts: [8089/tcp]\n" + "storage:\n" + " image: tutum/mongodb"; Map<String, String> parameters = new HashMap<String, String>(); parameters.put("dockerContainers", content); parameters.put("definitionFormat", DefinitionFormat.CUBE.name()); CubeDockerConfiguration cubeConfiguration = CubeDockerConfiguration.fromMap(parameters, null); CubeDockerConfigurator cubeDockerConfigurator = new CubeDockerConfigurator(); final CubeDockerConfiguration cubeDockerConfiguration = cubeDockerConfigurator.resolveDynamicNames(cubeConfiguration); final Set<String> containerIds = cubeDockerConfiguration.getDockerContainersContent().getContainerIds(); final String tomcat = findElementStartingWith(containerIds, "tomcat"); final String ping = findElementStartingWith(containerIds, "ping"); String uuid = ping.substring(ping.indexOf('_') + 1); final CubeContainer tomcatContainer = cubeDockerConfiguration.getDockerContainersContent().get(tomcat); Link link = getFirst(tomcatContainer.getLinks()); assertThat(link.getAlias(), is("bb_" + uuid)); }
public static Link valueOf(String links) { String[] link = links.split(":"); String name = link[0]; String alias = null; if (link.length == 2) { alias = link[1]; } return new Link(name, alias); }
private static final Link[] toLinks(Collection<org.arquillian.cube.docker.impl.client.config.Link> linkList) { Link[] links = new Link[linkList.size()]; int i = 0; for (org.arquillian.cube.docker.impl.client.config.Link link : linkList) { links[i] = new Link(link.getName(), link.getAlias()); i++; } return links; }
private Collection<String> getLinksName() { if (links != null && links.size() > 0) { Set<String> dependencies = new HashSet<>(); for (Link link : links) { dependencies.add(link.getName()); } return dependencies; } else { return new ArrayList<>(); } }
public static Link valueOf(String links) { String[] link = links.split(":"); String name = link[0]; String alias = null; if (link.length == 2) { alias = link[1]; } return new Link(name, alias); }
public static Collection<Link> valuesOf(Collection<String> links) { if (links == null) { return null; } List<Link> result = new ArrayList<Link>(); for (String link : links) { result.add(valueOf(link)); } return result; }
public static void adaptLinksToParallelRun(UUID uuid, CubeContainer cubeContainer) { final Collection<Link> links = cubeContainer.getLinks(); if (links == null) { return; } for (Link link : links) { if (link.getName().endsWith("*")) { String linkTemplate = link.getName().substring(0, link.getName().lastIndexOf('*')); link.setName(generateNewName(linkTemplate, uuid)); String environmentVariable = linkTemplate.toUpperCase() + "_HOSTNAME=" + link.getName(); if (link.isAliasSet()) { link.setAlias(generateNewName(link.getAlias(), uuid)); environmentVariable = linkTemplate.toUpperCase() + "_HOSTNAME=" + link.getAlias(); } final Collection<String> env = cubeContainer.getEnv(); if (env != null) { // to avoid duplicates if (env.contains(environmentVariable)) { env.remove(environmentVariable); } } else { cubeContainer.setEnv(new ArrayList<>()); } cubeContainer.getEnv().add(environmentVariable); } } }
private void createDirectLinks(mxGraph graph, Object parent, Map<String, Object> insertedVertex, CubeContainer cubeContainer, Object currentContainer) { // create relation to all direct links if (cubeContainer.getLinks() != null) { for (Link link : cubeContainer.getLinks()) { final String linkId = link.getName(); Object linkContainer = null; if (insertedVertex.containsKey(linkId)) { linkContainer = insertedVertex.get(linkId); } else { linkContainer = graph.insertVertex(parent, null, linkId, 0, 0, 80, 30); } graph.updateCellSize(currentContainer); graph.insertEdge(parent, null, link.getAlias(), currentContainer, linkContainer); insertedVertex.put(linkId, linkContainer); } } }
if (containers.containsKey(link.getName())) { final CubeContainer linkedContainer = containers.get(link.getName()); final ExposedPort exposedPort = portBinding.getExposedPort(); if (exposedPort != null) { builder.containerExpose(link.getName(), exposedPort.getExposed(), exposedPort.getType()); if (exposedPorts != null) { for (ExposedPort exposedPort : exposedPorts) { builder.containerExpose(link.getName(), exposedPort.getExposed(), exposedPort.getType());
private static Link linkFromCubeAnnotatedField(Field cubeField) { final String linkName = linkNameFromCubeAnnotatedField(cubeField); return Link.valueOf(linkName); }
@Test public void shouldChangeStarLinksInParallelizeStarCubes() { String content = "tomcat*:\n" + " image: tutum/tomcat:8.0\n" + " portBindings: [8080/tcp]\n" + " links:\n" + " - ping*\n" + "ping*:\n" + " image: jonmorehouse/ping-pong\n" + " exposedPorts: [8089/tcp]\n" + "storage:\n" + " image: tutum/mongodb"; Map<String, String> parameters = new HashMap<String, String>(); parameters.put("dockerContainers", content); parameters.put("definitionFormat", DefinitionFormat.CUBE.name()); CubeDockerConfiguration cubeConfiguration = CubeDockerConfiguration.fromMap(parameters, null); CubeDockerConfigurator cubeDockerConfigurator = new CubeDockerConfigurator(); final CubeDockerConfiguration cubeDockerConfiguration = cubeDockerConfigurator.resolveDynamicNames(cubeConfiguration); final Set<String> containerIds = cubeDockerConfiguration.getDockerContainersContent().getContainerIds(); final String tomcat = findElementStartingWith(containerIds, "tomcat"); final String ping = findElementStartingWith(containerIds, "ping"); final CubeContainer tomcatContainer = cubeDockerConfiguration.getDockerContainersContent().get(tomcat); assertThat(getFirst(tomcatContainer.getLinks()).getName(), is(ping)); }
private static Link linkFromCubeAnnotatedField(Field cubeField) { final String linkName = linkNameFromCubeAnnotatedField(cubeField); return Link.valueOf(linkName); }
public ContainerBuilder addLinks(Collection<String> links) { Collection<Link> listOfLinks = new HashSet<Link>(); for (String link : links) { listOfLinks.add(Link.valueOf(link)); } if (configuration.getLinks() != null) { Collection<Link> oldLinks = configuration.getLinks(); oldLinks.addAll(listOfLinks); } else { configuration.setLinks(listOfLinks); } return this; }