public static void adaptNetworksToParalledRun(Map<String,String> networkResolutions, CubeContainer cubeContainer) { String networkMode = cubeContainer.getNetworkMode(); if (networkMode != null && networkResolutions.containsKey(networkMode)) { cubeContainer.setNetworkMode(networkResolutions.get(networkMode)); } if (cubeContainer.getNetworks() != null) { ArrayList<String> networks = new ArrayList<>(); for (String network : cubeContainer.getNetworks()) { networks.add(networkResolutions.getOrDefault(network, network)); } cubeContainer.setNetworks(networks); } }
@Override public Map<String, Node> parse() { Map<String, Node> nodes = new HashMap<>(); Set<String> networksIds = this.containerDefinition.getNetworkIds(); for (Map.Entry<String, CubeContainer> container : this.containerDefinition.getNoneManualContainers().entrySet()) { // If cube is not named as the deployable container (this is done in this way because containers that are named as the deployable container are started by another process). if (!this.deployableContainers.contains(container.getKey())) { final String networkMode = container.getValue().getNetworkMode(); if (networkMode != null) { // if the network that this cube must connect is registered in current cube definition if (networksIds.contains(networkMode)) { String name = container.getKey(); Node child = Node.from(name); nodes.put(name, child); } } } } return nodes; } }
public static void adaptNetworksToParalledRun(Map<String,String> networkResolutions, CubeContainer cubeContainer) { String networkMode = cubeContainer.getNetworkMode(); if (networkMode != null && networkResolutions.containsKey(networkMode)) { cubeContainer.setNetworkMode(networkResolutions.get(networkMode)); } if (cubeContainer.getNetworks() != null) { ArrayList<String> networks = new ArrayList<>(); for (String network : cubeContainer.getNetworks()) { networks.add(networkResolutions.getOrDefault(network, network)); } cubeContainer.setNetworks(networks); } }
@Override public Map<String, Node> parse() { Map<String, Node> nodes = new HashMap<>(); Set<String> networksIds = this.containerDefinition.getNetworkIds(); for (Map.Entry<String, CubeContainer> container : this.containerDefinition.getNoneManualContainers().entrySet()) { // If cube is not named as the deployable container (this is done in this way because containers that are named as the deployable container are started by another process). if (!this.deployableContainers.contains(container.getKey())) { final String networkMode = container.getValue().getNetworkMode(); if (networkMode != null) { // if the network that this cube must connect is registered in current cube definition if (networksIds.contains(networkMode)) { String name = container.getKey(); Node child = Node.from(name); nodes.put(name, child); } } } } return nodes; } }
@Test public void shouldTransformSimpleDockerComposeV2FormatNetworkByDefault() throws URISyntaxException { URI simpleDockerCompose = DockerComposeConverterTest.class.getResource("/myapp/simple-docker-compose-v2.yml").toURI(); DockerComposeConverter dockerComposeConverter = DockerComposeConverter.create(Paths.get(simpleDockerCompose)); DockerCompositions convert = dockerComposeConverter.convert(); CubeContainer webapp = convert.getContainers().get("webapp"); assertThat(webapp, is(notNullValue())); assertThat(webapp.getNetworkMode()).endsWith("_default"); Map<String, Network> networks = convert.getNetworks(); assertThat(networks).hasSize(1); assertThat(networks.keySet().iterator().next()).endsWith("_default"); }
public void connectToNetworks(@Observes AfterCreate event, CubeDockerConfiguration dockerConfiguration) { final DockerCompositions dockerContainersContent = dockerConfiguration.getDockerContainersContent(); final DockerClientExecutor dockerClientExecutor = dockerClientExecutorInstance.get(); String cubeId = event.getCubeId(); CubeContainer container = dockerContainersContent.get(cubeId); if (container != null && container.getNetworks() != null) { for (String network : container.getNetworks()) { if (!network.equals(container.getNetworkMode())) { dockerClientExecutor.connectToNetwork(network, cubeId); } } } } }
@Test public void shouldTransformSimpleDockerComposeV2FormatMultipleNetworks() throws URISyntaxException { URI simpleDockerCompose = DockerComposeConverterTest.class.getResource("/myapp/docker-compose-multiple-networks.yml").toURI(); DockerComposeConverter dockerComposeConverter = DockerComposeConverter.create(Paths.get(simpleDockerCompose)); DockerCompositions convert = dockerComposeConverter.convert(); CubeContainer webapp = convert.getContainers().get("pingpong"); assertThat(webapp, is(notNullValue())); assertThat(webapp.getNetworkMode()).isEqualTo("front"); assertThat(webapp.getNetworks()).contains("front", "back"); Map<String, Network> networks = convert.getNetworks(); assertThat(networks).hasSize(2); assertThat(networks).containsOnlyKeys("front", "back"); }
public void connectToNetworks(@Observes AfterCreate event, CubeDockerConfiguration dockerConfiguration) { final DockerCompositions dockerContainersContent = dockerConfiguration.getDockerContainersContent(); final DockerClientExecutor dockerClientExecutor = dockerClientExecutorInstance.get(); String cubeId = event.getCubeId(); CubeContainer container = dockerContainersContent.get(cubeId); if (container != null && container.getNetworks() != null) { for (String network : container.getNetworks()) { if (!network.equals(container.getNetworkMode())) { dockerClientExecutor.connectToNetwork(network, cubeId); } } } } }
if (!cubeContainer.isManual()) { Set<String> nwList = new HashSet<>(); if (cubeContainer.getNetworkMode() != null) { nwList.add(cubeContainer.getNetworkMode()); } else { InspectContainerResponse inspect = executor.inspectContainer(containerId);
if (configuration.getNetworkMode() != null) { reportBuilder.addKeyValueEntry(NETWORK_MODE, configuration.getNetworkMode());
if (configuration.getNetworkMode() != null) { reportBuilder.addKeyValueEntry(NETWORK_MODE, configuration.getNetworkMode());
assertThat(tomcat.getNetworkMode(), is(network3));
if (containerConfiguration.getNetworkMode() != null) { createContainerCmd.withNetworkMode(containerConfiguration.getNetworkMode());
if (containerConfiguration.getNetworkMode() != null) { createContainerCmd.withNetworkMode(containerConfiguration.getNetworkMode());