@Test public void testNullValuesPropagation() { Config config = Config.builder() .image("zettio/weave") .build(); assertThat(config.cmd()).isNull(); assertThat(config.entrypoint()).isNull(); assertThat(config.env()).isNull(); assertThat(config.hostname()).isNull(); assertThat(config.domainname()).isNull(); assertThat(config.workingDir()).isNull(); assertThat(config.hostConfig()).isNull(); } }
public Builder fromConfig(Config in) { return hostname(in.hostname()).domainname(in.domainname()).user(in.user()).memory(in.memory()) .memorySwap(in.memorySwap()).cpuShares(in.cpuShares()).attachStdin(in.attachStdin()) .attachStdout(in.attachStdout()).attachStderr(in.attachStderr()).tty(in.tty()) .openStdin(in.openStdin()).stdinOnce(in.stdinOnce()).env(in.env()).cmd(in.cmd()) .entrypoint(in.entrypoint()).image(in.image()).volumes(in.volumes()).workingDir(in.workingDir()) .networkDisabled(in.networkDisabled()).exposedPorts(in.exposedPorts()) .securityOpts(in.securityOpts()).hostConfig(in.hostConfig()); }
public Builder fromConfig(Config in) { return hostname(in.hostname()).domainname(in.domainname()).user(in.user()).memory(in.memory()) .memorySwap(in.memorySwap()).cpuShares(in.cpuShares()).attachStdin(in.attachStdin()) .attachStdout(in.attachStdout()).attachStderr(in.attachStderr()).tty(in.tty()) .openStdin(in.openStdin()).stdinOnce(in.stdinOnce()).env(in.env()).cmd(in.cmd()) .entrypoint(in.entrypoint()).image(in.image()).volumes(in.volumes()).workingDir(in.workingDir()) .networkDisabled(in.networkDisabled()).exposedPorts(in.exposedPorts()).securityOpts(in.securityOpts()) .hostConfig(in.hostConfig()).binds(in.binds()).links(in.links()).lxcConf(in.lxcConf()) .portBindings(in.portBindings()).publishAllPorts(in.publishAllPorts()).privileged(in.privileged()) .dns(in.dns()).dnsSearch(in.dnsSearch()).volumesFrom(in.volumesFrom()).capAdd(in.capAdd()) .capDrop(in.capDrop()).restartPolicy(in.restartPolicy()); }
Config.Builder containerConfigBuilder = templateOptions.getConfigBuilder(); if (containerConfigBuilder == null) { containerConfigBuilder = Config.builder(); if (containerConfig.exposedPorts() == null) { exposedPorts.putAll(containerConfig.exposedPorts()); Map<String, List<Map<String, String>>> existingBindings = containerConfig.hostConfig().portBindings(); if (existingBindings != null) { portBindings.putAll(existingBindings); for (String exposedPort : containerConfig.exposedPorts().keySet()) { if (!portBindings.containsKey(exposedPort)) { portBindings.put(exposedPort, Lists.<Map<String, String>>newArrayList(ImmutableMap.of("HostIp", "0.0.0.0"))); HostConfig.Builder hostConfigBuilder = HostConfig.builder().fromHostConfig(containerConfig.hostConfig()); hostConfigBuilder.portBindings(portBindings); containerConfigBuilder.hostConfig(hostConfigBuilder.build()); logger.trace("<< container(%s)", container.id()); HostConfig hostConfig = containerConfig.hostConfig();
@Override public NodeMetadata apply(Container container) { String name = cleanUpName(container.name()); String group = nodeNamingConvention.extractGroup(name); NodeMetadataBuilder builder = new NodeMetadataBuilder(); builder.ids(container.id()) .name(name) .group(group) .hostname(container.config().hostname()) // TODO Set up hardware .hardware(new HardwareBuilder() .id("") .ram(container.config().memory()) .processor(new Processor(container.config().cpuShares(), container.config().cpuShares())) .build()); builder.status(toPortableStatus.apply(container.state())); builder.loginPort(loginPortForContainer.apply(container).or(NO_LOGIN_PORT)); builder.publicAddresses(getPublicIpAddresses(container)); builder.privateAddresses(getPrivateIpAddresses(container)); builder.location(Iterables.getOnlyElement(locations.get())); String imageId = container.image(); builder.imageId(imageId); if (images.get().containsKey(imageId)) { Image image = images.get().get(imageId); builder.operatingSystem(image.getOperatingSystem()); } return builder.build(); }
public Builder toBuilder() { return builder().fromConfig(this); }
@Test public void testConfigBuilder() { Builder builder = Config.builder().memory(1024) .cpuShares(100).cmd(ImmutableList.<String> of("/opt/jboss/wildfly/bin/standalone.sh", "-b", "0.0.0.0")) .env(ImmutableList.<String> of("JAVA_HOME=/opt/jdk-1.8", "MGMT_USER=admin", "MGMT_PASSWORD=Schroedinger's Cat")); TemplateOptions options = DockerTemplateOptions.Builder.configBuilder(builder); Builder builderInOpts = options.as(DockerTemplateOptions.class).getConfigBuilder(); assertNotNull(builderInOpts); Config configFromOptions = builderInOpts.build(); assertEquals(configFromOptions, builder.build()); assertEquals(configFromOptions.env(), ImmutableList.<String> of("JAVA_HOME=/opt/jdk-1.8", "MGMT_USER=admin", "MGMT_PASSWORD=Schroedinger's Cat")); }
@Override public Optional<Integer> apply(Container input) { Optional<String> portVariable = Iterables.tryFind(input.config().env(), new Predicate<String>() { @Override public boolean apply(String input) { String[] var = input.split("="); return var[0].equals("SSH_PORT"); } }); return portVariable.isPresent() ? Optional.of(Integer.valueOf(portVariable.get().split("=")[1])) : Optional .<Integer> absent(); } };
Config.Builder containerConfigBuilder = templateOptions.getConfigBuilder(); if (containerConfigBuilder == null) { containerConfigBuilder = Config.builder().image(imageId); if (containerConfig.exposedPorts() == null) { exposedPorts.putAll(containerConfig.exposedPorts()); Map<String, List<Map<String, String>>> existingBindings = containerConfig.hostConfig().portBindings(); if (existingBindings != null) { portBindings.putAll(existingBindings); for (String exposedPort : containerConfig.exposedPorts().keySet()) { if (!portBindings.containsKey(exposedPort)) { portBindings.put(exposedPort, Lists.<Map<String, String>>newArrayList(ImmutableMap.of("HostIp", "0.0.0.0"))); hostConfigBuilder = HostConfig.builder().fromHostConfig(containerConfig.hostConfig()); hostConfigBuilder.portBindings(portBindings); containerConfigBuilder.hostConfig(hostConfigBuilder.build()); HostConfig hostConfig = containerConfig.hostConfig();
@Override public NodeMetadata apply(Container container) { String name = cleanUpName(container.name()); String group = nodeNamingConvention.extractGroup(name); NodeMetadataBuilder builder = new NodeMetadataBuilder(); builder.ids(container.id()) .name(name) .group(group) .hostname(container.config().hostname()) // TODO Set up hardware .hardware(new HardwareBuilder() .id("") .ram(container.config().memory()) .processor(new Processor(container.config().cpuShares(), container.config().cpuShares())) .build()); builder.status(toPortableStatus.apply(container.state())); builder.loginPort(loginPortForContainer.apply(container).or(NO_LOGIN_PORT)); builder.publicAddresses(getPublicIpAddresses(container)); builder.privateAddresses(getPrivateIpAddresses(container)); builder.location(Iterables.getOnlyElement(locations.get())); String imageId = container.image(); builder.imageId(imageId); if (images.get().containsKey(imageId)) { Image image = images.get().get(imageId); builder.operatingSystem(image.getOperatingSystem()); } return builder.build(); }
public Builder toBuilder() { return builder().fromConfig(this); }
public Builder fromConfig(Config in) { return hostname(in.hostname()).domainname(in.domainname()).user(in.user()).memory(in.memory()) .memorySwap(in.memorySwap()).cpuShares(in.cpuShares()).attachStdin(in.attachStdin()) .attachStdout(in.attachStdout()).attachStderr(in.attachStderr()).tty(in.tty()) .openStdin(in.openStdin()).stdinOnce(in.stdinOnce()).env(in.env()).cmd(in.cmd()) .entrypoint(in.entrypoint()).image(in.image()).volumes(in.volumes()).workingDir(in.workingDir()) .networkDisabled(in.networkDisabled()).exposedPorts(in.exposedPorts()) .securityOpts(in.securityOpts()).hostConfig(in.hostConfig()); }
Config.Builder containerConfigBuilder = templateOptions.getConfigBuilder(); if (containerConfigBuilder == null) { containerConfigBuilder = Config.builder().image(imageId); if (containerConfig.exposedPorts() == null) { exposedPorts.putAll(containerConfig.exposedPorts()); Map<String, List<Map<String, String>>> existingBindings = containerConfig.hostConfig().portBindings(); if (existingBindings != null) { portBindings.putAll(existingBindings); for (String exposedPort : containerConfig.exposedPorts().keySet()) { if (!portBindings.containsKey(exposedPort)) { portBindings.put(exposedPort, Lists.<Map<String, String>>newArrayList(ImmutableMap.of("HostIp", "0.0.0.0"))); hostConfigBuilder = HostConfig.builder().fromHostConfig(containerConfig.hostConfig()); hostConfigBuilder.portBindings(portBindings); containerConfigBuilder.hostConfig(hostConfigBuilder.build()); HostConfig hostConfig = containerConfig.hostConfig();
@Override public NodeMetadata apply(Container container) { String name = cleanUpName(container.name()); String group = nodeNamingConvention.extractGroup(name); NodeMetadataBuilder builder = new NodeMetadataBuilder(); builder.ids(container.id()) .name(name) .group(group) .hostname(container.config().hostname()) // TODO Set up hardware .hardware(new HardwareBuilder() .id("") .ram(container.config().memory()) .processor(new Processor(container.config().cpuShares(), container.config().cpuShares())) .build()); builder.status(toPortableStatus.apply(container.state())); builder.loginPort(loginPortForContainer.apply(container).or(NO_LOGIN_PORT)); builder.publicAddresses(getPublicIpAddresses(container)); builder.privateAddresses(getPrivateIpAddresses(container)); builder.location(Iterables.getOnlyElement(locations.get())); String imageId = container.image(); builder.imageId(imageId); if (images.get().containsKey(imageId)) { Image image = images.get().get(imageId); builder.operatingSystem(image.getOperatingSystem()); } return builder.build(); }
public Builder toBuilder() { return builder().fromConfig(this); }
public Builder fromConfig(Config in) { return hostname(in.hostname()).domainname(in.domainname()).user(in.user()).memory(in.memory()) .memorySwap(in.memorySwap()).cpuShares(in.cpuShares()).attachStdin(in.attachStdin()) .attachStdout(in.attachStdout()).attachStderr(in.attachStderr()).tty(in.tty()) .openStdin(in.openStdin()).stdinOnce(in.stdinOnce()).env(in.env()).cmd(in.cmd()) .entrypoint(in.entrypoint()).image(in.image()).volumes(in.volumes()).workingDir(in.workingDir()) .networkDisabled(in.networkDisabled()).exposedPorts(in.exposedPorts()) .securityOpts(in.securityOpts()).hostConfig(in.hostConfig()); }
Config.Builder containerConfigBuilder = templateOptions.getConfigBuilder(); if (containerConfigBuilder == null) { containerConfigBuilder = Config.builder().image(imageId); if (containerConfig.exposedPorts() == null) { exposedPorts.putAll(containerConfig.exposedPorts()); Map<String, List<Map<String, String>>> existingBindings = containerConfig.hostConfig().portBindings(); if (existingBindings != null) { portBindings.putAll(existingBindings); for (String exposedPort : containerConfig.exposedPorts().keySet()) { if (!portBindings.containsKey(exposedPort)) { portBindings.put(exposedPort, Lists.<Map<String, String>>newArrayList(ImmutableMap.of("HostIp", "0.0.0.0"))); hostConfigBuilder = HostConfig.builder().fromHostConfig(containerConfig.hostConfig()); hostConfigBuilder.portBindings(portBindings); containerConfigBuilder.hostConfig(hostConfigBuilder.build()); HostConfig hostConfig = containerConfig.hostConfig();
@Override public NodeMetadata apply(Container container) { String name = cleanUpName(container.name()); String group = nodeNamingConvention.extractGroup(name); NodeMetadataBuilder builder = new NodeMetadataBuilder(); builder.ids(container.id()) .name(name) .group(group) .hostname(container.config().hostname()) // TODO Set up hardware .hardware(new HardwareBuilder() .id("") .ram(container.config().memory()) .processor(new Processor(container.config().cpuShares(), container.config().cpuShares())) .build()); builder.status(toPortableStatus.apply(container.state())); builder.loginPort(loginPortForContainer.apply(container).or(NO_LOGIN_PORT)); builder.publicAddresses(getPublicIpAddresses(container)); builder.privateAddresses(getPrivateIpAddresses(container)); builder.location(Iterables.getOnlyElement(locations.get())); String imageId = container.image(); builder.imageId(imageId); if (images.get().containsKey(imageId)) { Image image = images.get().get(imageId); builder.operatingSystem(image.getOperatingSystem()); } return builder.build(); }
public Builder toBuilder() { return builder().fromConfig(this); }
/** * This method sets Config.Builder configuration object, which can be used as * a replacement for all the other settings from this class. Some values in * the provided Config.Builder instance (the image name for instance) can be * ignored or their value can be changed. * * @param configBuilder * Config.Builder instance. This instance can be changed in this * method! */ public DockerTemplateOptions configBuilder(Config.Builder configBuilder) { this.configBuilder = configBuilder != null ? Config.builder().fromConfig(configBuilder.image(NO_IMAGE).build()) : null; return this; }