kubernetes/kops · error

error looking up user %q: %v

Error message

error looking up user %q: %v

What it means

Thrown by EnsureFileOwner when LookupUser fails to resolve the configured owner name to a system user. The named user does not exist in /etc/passwd (or the equivalent lookup source) on the machine performing the write — a typo in the owner name, or the user is created later by another task.

Source

Thrown at upup/pkg/fi/files_owner.go:43

	"k8s.io/klog/v2"
)

// EnsureFileOwner will set the owner & group for a file.
// Empty values for owner/group will leave the owner/group unchanged.
func EnsureFileOwner(destPath string, owner string, groupName string) (bool, error) {
	changed := false
	stat, err := os.Lstat(destPath)
	if err != nil {
		return changed, fmt.Errorf("error getting file stat for %q: %v", destPath, err)
	}

	actualUserID := int(stat.Sys().(*syscall.Stat_t).Uid)
	userID := actualUserID
	if owner != "" {
		user, err := LookupUser(owner) // user.Lookup(owner)
		if err != nil {
			return changed, fmt.Errorf("error looking up user %q: %v", owner, err)
		}
		if user == nil {
			return changed, fmt.Errorf("user %q not found", owner)
		}
		userID = user.Uid
	}

	actualGroupID := int(stat.Sys().(*syscall.Stat_t).Gid)
	groupID := actualGroupID
	if groupName != "" {
		group, err := LookupGroup(groupName)
		if err != nil {
			return changed, fmt.Errorf("error looking up group %q: %v", groupName, err)
		}
		if group == nil {
			return changed, fmt.Errorf("group %q not found", groupName)
		}
		groupID = group.Gid

View on GitHub (pinned to 4c8573c808)

Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at upup/pkg/fi/files_owner.go:43 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of kubernetes/kops@4c8573c808 (2026-09-05). Data as JSON: /api/errors/d63588d5d5d5f662. Report an issue: GitHub.