MCPcopy Create free account
hub / github.com/postgres-ai/database-lab-engine / buildPoolEntry

Function buildPoolEntry

engine/internal/provision/mode_local.go:384–415  ·  view source on GitHub ↗
(fsm pool.FSManager)

Source from the content-addressed store, hash-verified

382}
383
384func buildPoolEntry(fsm pool.FSManager) (models.PoolEntry, error) {
385 fsmPool := fsm.Pool()
386 if fsmPool == nil {
387 return models.PoolEntry{}, errors.New("empty pool")
388 }
389
390 listClones, err := fsm.ListClonesNames()
391 if err != nil {
392 log.Err(fmt.Sprintf("failed to get clone list related to the pool %s", fsmPool.Name))
393 }
394
395 fileSystem, err := fsm.GetFilesystemState()
396 if err != nil {
397 log.Err(fmt.Sprintf("failed to get disk stats for the pool %s", fsmPool.Name))
398 }
399
400 var dataStateAt time.Time
401 if !fsmPool.DSA.IsZero() {
402 dataStateAt = fsmPool.DSA
403 }
404
405 poolEntry := models.PoolEntry{
406 Name: fsmPool.Name,
407 Mode: fsmPool.Mode,
408 DataStateAt: models.NewLocalTime(dataStateAt),
409 CloneList: listClones,
410 FileSystem: fileSystem,
411 Status: fsm.Pool().Status(),
412 }
413
414 return poolEntry, nil
415}
416
417// Other methods.
418func (p *Provisioner) revertSession(fsm pool.FSManager, branch, name, port string, revision int) {

Callers 2

GetPoolEntryListMethod · 0.85
TestBuildPoolEntryFunction · 0.85

Calls 5

ErrMethod · 0.80
PoolMethod · 0.65
ListClonesNamesMethod · 0.65
GetFilesystemStateMethod · 0.65
StatusMethod · 0.45

Tested by 1

TestBuildPoolEntryFunction · 0.68