func basicDeps(debug bool) (boshlog.Logger, boshsys.FileSystem, boshsys.CmdRunner, boshuuid.Generator) { logLevel := boshlog.LevelInfo // Debug generates a lot of log activity if debug { logLevel = boshlog.LevelDebug } logger := boshlog.NewWriterLogger(logLevel, os.Stderr, os.Stderr) fs := boshsys.NewOsFileSystem(logger) runner := boshsys.NewExecCmdRunner(logger) uuidGen := boshuuid.NewGenerator() return logger, fs, runner, uuidGen }
func NewProvider(logger boshlog.Logger, dirProvider boshdirs.DirectoriesProvider, options ProviderOptions) (p provider) { runner := boshsys.NewExecCmdRunner(logger) fs := boshsys.NewOsFileSystem(logger) linuxDiskManager := boshdisk.NewLinuxDiskManager(logger, runner, fs, options.Linux.BindMountPersistentDisk) udev := boshudev.NewConcreteUdevDevice(runner) linuxCdrom := boshcdrom.NewLinuxCdrom("/dev/sr0", udev, runner) linuxCdutil := boshcd.NewCdUtil(dirProvider.SettingsDir(), fs, linuxCdrom) compressor := boshcmd.NewTarballCompressor(runner, fs) copier := boshcmd.NewCpCopier(runner, fs, logger) sigarCollector := boshstats.NewSigarStatsCollector(&sigar.ConcreteSigar{}) // Kick of stats collection as soon as possible go sigarCollector.StartCollecting(SigarStatsCollectionInterval, nil) vitalsService := boshvitals.NewService(sigarCollector, dirProvider) routesSearcher := boshnet.NewCmdRoutesSearcher(runner) ipResolver := boship.NewIPResolver(boship.NetworkInterfaceToAddrsFunc) defaultNetworkResolver := boshnet.NewDefaultNetworkResolver(routesSearcher, ipResolver) arping := bosharp.NewArping(runner, fs, logger, ArpIterations, ArpIterationDelay, ArpInterfaceCheckDelay) centosNetManager := boshnet.NewCentosNetManager(fs, runner, defaultNetworkResolver, ipResolver, arping, logger) ubuntuNetManager := boshnet.NewUbuntuNetManager(fs, runner, defaultNetworkResolver, ipResolver, arping, logger) centos := NewLinuxPlatform( fs, runner, sigarCollector, compressor, copier, dirProvider, vitalsService, linuxCdutil, linuxDiskManager, centosNetManager, 500*time.Millisecond, options.Linux, logger, ) ubuntu := NewLinuxPlatform( fs, runner, sigarCollector, compressor, copier, dirProvider, vitalsService, linuxCdutil, linuxDiskManager, ubuntuNetManager, 500*time.Millisecond, options.Linux, logger, ) p.platforms = map[string]Platform{ "ubuntu": ubuntu, "centos": centos, "dummy": NewDummyPlatform(sigarCollector, fs, runner, dirProvider, logger), } return }
boshlog "github.com/cloudfoundry/bosh-agent/logger" . "github.com/cloudfoundry/bosh-agent/platform/commands" boshsys "github.com/cloudfoundry/bosh-agent/system" ) var _ = Describe("cpCopier", func() { var ( fs boshsys.FileSystem cmdRunner boshsys.CmdRunner cpCopier Copier ) BeforeEach(func() { logger := boshlog.NewLogger(boshlog.LevelNone) fs = boshsys.NewOsFileSystem(logger) cmdRunner = boshsys.NewExecCmdRunner(logger) cpCopier = NewCpCopier(cmdRunner, fs, logger) }) Describe("FilteredCopyToTemp", func() { copierFixtureSrcDir := func() string { pwd, err := os.Getwd() Expect(err).ToNot(HaveOccurred()) return filepath.Join(pwd, "..", "..", "Fixtures", "test_filtered_copy_to_temp") } It("filtered copy to temp", func() { srcDir := copierFixtureSrcDir() dstDir, err := cpCopier.FilteredCopyToTemp(srcDir, []string{ "**/*.stdout.log", "*.stderr.log",