18858: Don't treat as an error empty usernames on system users.
[arvados.git] / tools / sync-users / sync-users.go
index 45b6e96b87331d0f76a6c95b36da642d0683f91a..626d9d04221721bc0f56d2a8503b29b25fc3f0b2 100644 (file)
@@ -249,8 +249,10 @@ func doMain(cfg *ConfigParams) error {
                        return err
                }
                if uID == "" {
-                       emptyUserIDs = append(emptyUserIDs, u.UUID)
-                       log.Printf("Empty %s found in user %s - ignoring", cfg.UserID, u.UUID)
+                       if u.UUID != cfg.AnonUserUUID && u.UUID != cfg.SysUserUUID {
+                               emptyUserIDs = append(emptyUserIDs, u.UUID)
+                               log.Printf("Empty %s found in user %s - ignoring", cfg.UserID, u.UUID)
+                       }
                        continue
                }
                if cfg.CaseInsensitive {
@@ -372,7 +374,7 @@ type userRecord struct {
 
 func needsUpdating(user arvados.User, record userRecord) bool {
        userData := userRecord{"", user.FirstName, user.LastName, user.IsActive, user.IsAdmin}
-       recordData := userRecord{"", record.FirstName, record.LastName, record.Active, record.Admin}
+       recordData := userRecord{"", record.FirstName, record.LastName, record.Active, record.Active && record.Admin}
        return userData != recordData
 }
 
@@ -444,7 +446,6 @@ func ProcessRecord(cfg *ConfigParams, record userRecord, userIDToUUID map[string
                        }
                }
        }
-       allUsers[record.UserID] = user
        if createRequired {
                log.Printf("Created user %q", record.UserID)
        }