private void populateNetworkForService(
     Service service, String launchConfigName, Map<String, Object> composeServiceData) {
   Object networkMode =
       composeServiceData.get(ServiceDiscoveryConfigItem.NETWORKMODE.getDockerName());
   if (networkMode != null) {
     if (networkMode.equals(DockerNetworkConstants.NETWORK_MODE_CONTAINER)) {
       Map<String, Object> serviceData =
           ServiceDiscoveryUtil.getLaunchConfigDataAsMap(service, launchConfigName);
       // network mode can be passed by container, or by service name, so check both
       // networkFromContainerId wins
       Integer targetContainerId =
           DataAccessor.fieldInteger(service, DockerInstanceConstants.DOCKER_CONTAINER);
       if (targetContainerId != null) {
         Instance instance =
             objectManager.loadResource(Instance.class, targetContainerId.longValue());
         String instanceName = ServiceDiscoveryUtil.getInstanceName(instance);
         composeServiceData.put(
             ServiceDiscoveryConfigItem.NETWORKMODE.getDockerName(),
             DockerNetworkConstants.NETWORK_MODE_CONTAINER + ":" + instanceName);
       } else {
         Object networkLaunchConfig =
             serviceData.get(ServiceDiscoveryConstants.FIELD_NETWORK_LAUNCH_CONFIG);
         if (networkLaunchConfig != null) {
           composeServiceData.put(
               ServiceDiscoveryConfigItem.NETWORKMODE.getDockerName(),
               DockerNetworkConstants.NETWORK_MODE_CONTAINER + ":" + networkLaunchConfig);
         }
       }
     } else if (networkMode.equals(DockerNetworkConstants.NETWORK_MODE_MANAGED)) {
       composeServiceData.remove(ServiceDiscoveryConfigItem.NETWORKMODE.getDockerName());
     }
   }
 }
 public DefaultServiceDeploymentPlanner(
     List<Service> services, List<DeploymentUnit> units, DeploymentServiceContext context) {
   super(services, units, context);
   for (Service service : services) {
     int scale = DataAccessor.fieldInteger(service, ServiceDiscoveryConstants.FIELD_SCALE);
     if (scale > this.requestedScale) {
       this.requestedScale = scale;
     }
   }
 }
Ejemplo n.º 3
0
 protected int getScale(Service service) {
   Integer i = DataAccessor.fieldInteger(service, ServiceDiscoveryConstants.FIELD_SCALE);
   return i == null ? 0 : i;
 }