private async Task UpdateContainerRoutes() { if (HostingConfig.Config.LocalNatIpProviderEnabled) { return; } // If container is using open network only on windows, we need additional set up before and after // starting the container. This is a mitigation for no support for outbound connectivity from // open network based containers. if (((this.activationArgs.ContainerDescription.ContainerNetworkConfig.NetworkType & ContainerNetworkType.Open) == ContainerNetworkType.Open && !string.IsNullOrEmpty(this.activationArgs.ContainerDescription.ContainerNetworkConfig.OpenNetworkAssignedIp))) { var updateRoutesOperation = new UpdateRoutesContainerOperation( TraceType, this.containerId, this.activationArgs.ContainerDescription.ContainerName, this.activationArgs.ContainerDescription.ApplicationId, this.activationArgs.ContainerDescription.ApplicationName, this.activationArgs.ProcessDescription.CgroupName, this.activationArgs.GatewayIpAddresses, this.activationArgs.ContainerDescription.AutoRemove, this.activationArgs.ContainerDescription.IsContainerRoot, this.activationArgs.ContainerDescription.ContainerNetworkConfig.NetworkType, this.activator, this.timeoutHelper); await updateRoutesOperation.ExecuteUpdateRouteCommandAsync(); } }
public ExecuteContainerUpdateRoutesOperation( ContainerActivatorService activator, ContainerUpdateRouteArgs updateRouteArgs, TimeSpan timeout) { this.updateRouteArgs = updateRouteArgs; this.timeoutHelper = new TimeoutHelper(timeout); updateRoutesOperation = new UpdateRoutesContainerOperation( TraceType, updateRouteArgs.ContainerId, updateRouteArgs.ContainerName, updateRouteArgs.ApplicationId, updateRouteArgs.ApplicationName, updateRouteArgs.CgroupName, updateRouteArgs.GatewayIpAddresses, updateRouteArgs.AutoRemove, updateRouteArgs.IsContainerRoot, updateRouteArgs.NetworkType, activator, timeoutHelper); }