storagenode/gracefulexit: fix exit-status command output

When exit succeeded, cli should display `Y` in Successful column and `100%` in PercentComplete.

Change-Id: I6093eca207ecd618bb332af12e5e455bc8224dde
This commit is contained in:
Yingrong Zhao 2020-01-14 12:23:09 -05:00 committed by Ethan Adams
parent 6dc948da46
commit 07c2824d94
3 changed files with 8 additions and 6 deletions

View File

@ -133,13 +133,14 @@ func (e *Endpoint) GetExitProgress(ctx context.Context, req *pb.GetExitProgressR
}
var percentCompleted float32
var hasCompleted bool
var exitSucceeded bool
if progress.StartingDiskUsage != 0 {
percentCompleted = (float32(progress.BytesDeleted) / float32(progress.StartingDiskUsage)) * 100
}
if progress.CompletionReceipt != nil {
hasCompleted = true
if progress.Status == satellites.ExitSucceeded {
exitSucceeded = true
percentCompleted = float32(100)
}
resp.Progress = append(resp.Progress,
@ -147,7 +148,7 @@ func (e *Endpoint) GetExitProgress(ctx context.Context, req *pb.GetExitProgressR
DomainName: domain,
NodeId: progress.SatelliteID,
PercentComplete: percentCompleted,
Successful: hasCompleted,
Successful: exitSucceeded,
CompletionReceipt: progress.CompletionReceipt,
},
)

View File

@ -34,6 +34,7 @@ type ExitProgress struct {
StartingDiskUsage int64
BytesDeleted int64
CompletionReceipt []byte
Status int32
}
// Satellite contains the satellite and status

View File

@ -94,7 +94,7 @@ func (db *satellitesDB) CompleteGracefulExit(ctx context.Context, satelliteID st
func (db *satellitesDB) ListGracefulExits(ctx context.Context) (exitList []satellites.ExitProgress, err error) {
defer mon.Task()(&ctx)(&err)
query := `SELECT satellite_id, initiated_at, finished_at, starting_disk_usage, bytes_deleted, completion_receipt FROM satellite_exit_progress`
query := `SELECT satellite_id, initiated_at, finished_at, starting_disk_usage, bytes_deleted, completion_receipt, status FROM satellite_exit_progress INNER JOIN satellites ON satellite_exit_progress.satellite_id = satellites.node_id`
rows, err := db.QueryContext(ctx, query)
if err != nil {
return nil, ErrSatellitesDB.Wrap(err)
@ -105,7 +105,7 @@ func (db *satellitesDB) ListGracefulExits(ctx context.Context) (exitList []satel
for rows.Next() {
var exit satellites.ExitProgress
err := rows.Scan(&exit.SatelliteID, &exit.InitiatedAt, &exit.FinishedAt, &exit.StartingDiskUsage, &exit.BytesDeleted, &exit.CompletionReceipt)
err := rows.Scan(&exit.SatelliteID, &exit.InitiatedAt, &exit.FinishedAt, &exit.StartingDiskUsage, &exit.BytesDeleted, &exit.CompletionReceipt, &exit.Status)
if err != nil {
return nil, err
}