Skip to content

Commit 059b6f9

Browse files
committed
Check if password change is necessary
1 parent a0a515d commit 059b6f9

1 file changed

Lines changed: 11 additions & 5 deletions

File tree

cmd/supwd.go

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,18 @@ func (h *hammer) createBmcSuperuser() error {
2323

2424
bmcConn := h.hal.BMCConnection()
2525

26-
err = bmcConn.CreateUser(bmcConn.SuperUser(), api.AdministratorPrivilege, resp.SuperUserPassword)
26+
changeIsNeeded, err := bmcConn.NeedsPasswordChange(bmcConn.SuperUser(), len(resp.SuperUserPassword), resp.SuperUserPassword)
2727
if err != nil {
28-
// FIXME: this happens always after the first creation on X12 and newer boards
29-
// return fmt.Errorf("failed to create bmc superuser: %s %w", bmcConn.SuperUser().Name, err)
30-
h.log.Error("failed to create bmc superuser", "user", bmcConn.SuperUser().Name, "error", err)
31-
return nil
28+
if changeIsNeeded {
29+
err = bmcConn.CreateUser(bmcConn.SuperUser(), api.AdministratorPrivilege, resp.SuperUserPassword)
30+
if err != nil {
31+
// FIXME: this happens always after the first creation on X12 and newer boards
32+
// return fmt.Errorf("failed to create bmc superuser: %s %w", bmcConn.SuperUser().Name, err)
33+
h.log.Error("failed to create bmc superuser", "user", bmcConn.SuperUser().Name, "error", err)
34+
return nil
35+
}
36+
}
37+
h.log.Error("failed to verify password change for bmc superuser", "user", bmcConn.SuperUser().Name, "error", err)
3238
}
3339

3440
h.log.Info("created superuser", "user", bmcConn.SuperUser().Name)

0 commit comments

Comments
 (0)