func wireNetworker( log lager.Logger, tag string, networkPoolCIDR *net.IPNet, externalIP net.IP, iptablesMgr kawasaki.IPTablesConfigurer, interfacePrefix string, chainPrefix string, propManager *properties.Manager, networkModulePath string) gardener.Networker { runner := &logging.Runner{CommandRunner: linux_command_runner.New(), Logger: log.Session("network-runner")} hostConfigurer := &configure.Host{ Veth: &devices.VethCreator{}, Link: &devices.Link{Name: "guardian"}, Bridge: &devices.Bridge{}, Logger: log.Session("network-host-configurer"), } containerCfgApplier := &configure.Container{ Logger: log.Session("network-container-configurer"), Link: &devices.Link{Name: "guardian"}, } idGenerator := kawasaki.NewSequentialIDGenerator(time.Now().UnixNano()) portPool, err := ports.NewPool(uint32(*portPoolStart), uint32(*portPoolSize), ports.State{}) if err != nil { log.Fatal("invalid pool range", err) } switch networkModulePath { case "": return kawasaki.New( kawasaki.NewManager(runner, "/var/run/netns"), kawasaki.SpecParserFunc(kawasaki.ParseSpec), subnets.NewPool(networkPoolCIDR), kawasaki.NewConfigCreator(idGenerator, interfacePrefix, chainPrefix, externalIP), kawasaki.NewConfigurer( hostConfigurer, containerCfgApplier, iptablesMgr, &netns.Execer{}, ), propManager, iptables.NewPortForwarder(runner), portPool, ) default: if _, err := os.Stat(networkModulePath); err != nil { log.Fatal("failed-to-stat-network-module", err) return nil } return gardener.ForeignNetworkAdaptor{ ForeignNetworker: genclient.New(networkModulePath), } } }
BeforeEach(func() { fakeNetnsMgr = new(fakes.FakeNetnsMgr) fakeSpecParser = new(fakes.FakeSpecParser) fakeSubnetPool = new(fake_subnet_pool.FakePool) fakeConfigurer = new(fakes.FakeConfigurer) fakeConfigCreator = new(fakes.FakeConfigCreator) fakeConfigStore = new(fakes.FakeConfigStore) fakePortForwarder = new(fakes.FakePortForwarder) fakePortPool = new(fakes.FakePortPool) logger = lagertest.NewTestLogger("test") networker = kawasaki.New( fakeNetnsMgr, fakeSpecParser, fakeSubnetPool, fakeConfigCreator, fakeConfigurer, fakeConfigStore, fakePortForwarder, fakePortPool, ) ip, subnet, err := net.ParseCIDR("123.123.123.12/24") Expect(err).NotTo(HaveOccurred()) networkConfig = kawasaki.NetworkConfig{ HostIntf: "banana-iface", ContainerIntf: "container-of-bananas-iface", IPTableChain: "bananas-table", BridgeName: "bananas-bridge", BridgeIP: net.ParseIP("123.123.123.1"), ContainerIP: ip, ExternalIP: net.ParseIP("128.128.90.90"),
func wireNetworker() *kawasaki.Networker { return kawasaki.New() }