@@ -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