Example #1
0
func Setup(configuration *scanner.Configuration, fsh *scanner.FileSystemHistory,
	objectsDirname string, rootDirname string,
	netReaderContext *rateio.ReaderContext,
	netbenchFname string, oldTriggersFname string,
	disableScannerFunction func(disableScanner bool),
	rescanObjectCacheFunction func(), logger *log.Logger) *HtmlWriter {
	rpcObj := &rpcType{
		scannerConfiguration:      configuration,
		fileSystemHistory:         fsh,
		objectsDir:                objectsDirname,
		rootDir:                   rootDirname,
		networkReaderContext:      netReaderContext,
		netbenchFilename:          netbenchFname,
		oldTriggersFilename:       oldTriggersFname,
		rescanObjectCacheFunction: rescanObjectCacheFunction,
		disableScannerFunc:        disableScannerFunction,
		logger:                    logger}
	srpc.RegisterName("Subd", rpcObj)
	addObjectsHandler := &addObjectsHandlerType{
		objectsDir: objectsDirname,
		logger:     logger}
	srpc.RegisterName("ObjectServer", addObjectsHandler)
	tricorder.RegisterMetric("/image-name", &rpcObj.lastSuccessfulImageName,
		units.None, "name of the image for the last successful update")
	return &HtmlWriter{&rpcObj.lastSuccessfulImageName}
}
Example #2
0
func Setup(imdb *scanner.ImageDataBase, lg *log.Logger) {
	rpcObj := rpcType{
		imageDataBase: imdb,
		logger:        lg}
	rpc.RegisterName("ImageServer", &rpcObj)
	srpcObj := srpcType(rpcObj)
	srpc.RegisterName("ImageServer", &srpcObj)
}
Example #3
0
func Setup(imdb *scanner.ImageDataBase, replicationMaster string,
	lg *log.Logger) *htmlWriter {
	srpcObj := srpcType{
		imageDataBase:     imdb,
		replicationMaster: replicationMaster,
		logger:            lg}
	srpc.RegisterName("ImageServer", &srpcObj)
	return (*htmlWriter)(&srpcObj)
}
Example #4
0
func startRpcd(logger *log.Logger) func(old, new *mdb.Mdb) {
	rpcObj := &rpcType{
		currentMdb:     &mdb.Mdb{},
		logger:         logger,
		updateChannels: make(map[*srpc.Conn]chan<- mdbserver.MdbUpdate),
	}
	srpc.RegisterName("MdbServer", rpcObj)
	return rpcObj.pushUpdateToAll
}
Example #5
0
func Setup(objSrv objectserver.ObjectServer, logger *log.Logger) *htmlWriter {
	getSemaphore := make(chan bool, 100)
	rpcObj := &objectServer{objSrv}
	srpcObj := &srpcType{objSrv, getSemaphore, logger}
	rpc.RegisterName("ObjectServer", rpcObj)
	srpc.RegisterName("ObjectServer", srpcObj)
	tricorder.RegisterMetric("/get-requests",
		func() uint { return uint(len(getSemaphore)) },
		units.None, "number of GetObjects() requests in progress")
	return &htmlWriter{getSemaphore}
}
Example #6
0
func newManager(logger *log.Logger) *Manager {
	m := new(Manager)
	m.pathManagers = make(map[string]*pathManager)
	m.machineData = make(map[string]mdb.Machine)
	m.clients = make(
		map[<-chan *proto.ServerMessage]chan<- *proto.ServerMessage)
	m.objectServer = memory.NewObjectServer()
	m.logger = logger
	m.registerMdbGeneratorForPath("/etc/mdb.json")
	srpc.RegisterName("FileGenerator", &rpcType{m})
	return m
}
Example #7
0
func Setup(configuration *scanner.Configuration, fsh *scanner.FileSystemHistory,
	objectsDirname string, netReaderContext *rateio.ReaderContext,
	netbenchFname string, oldTriggersFname string,
	disableScannerFunction func(disableScanner bool),
	logger *log.Logger) <-chan bool {
	rescanObjectCacheChannel := make(chan bool)
	rpcObj := &rpcType{
		scannerConfiguration:     configuration,
		fileSystemHistory:        fsh,
		objectsDir:               objectsDirname,
		networkReaderContext:     netReaderContext,
		netbenchFilename:         netbenchFname,
		oldTriggersFilename:      oldTriggersFname,
		rescanObjectCacheChannel: rescanObjectCacheChannel,
		disableScannerFunc:       disableScannerFunction,
		logger:                   logger}
	srpc.RegisterName("Subd", rpcObj)
	return rescanObjectCacheChannel
}
Example #8
0
func Setup(herd *herd.Herd, logger *log.Logger) {
	rpcObj := &rpcType{
		herd:   herd,
		logger: logger}
	srpc.RegisterName("Dominator", rpcObj)
}