From ebc3330cbdd0dd41264ffc17261abf491e13737e Mon Sep 17 00:00:00 2001 From: Achilleas Koutsou Date: Tue, 1 Mar 2022 00:04:34 +0100 Subject: [PATCH] distro/rhel86+90: don't create users in the payload for image-installer Users are created at install time now. --- internal/distro/rhel86/pipelines.go | 38 ++++++++++++++++------------- internal/distro/rhel90/pipelines.go | 38 ++++++++++++++++------------- 2 files changed, 42 insertions(+), 34 deletions(-) diff --git a/internal/distro/rhel86/pipelines.go b/internal/distro/rhel86/pipelines.go index 873fa2cbb..12fc3ebc7 100644 --- a/internal/distro/rhel86/pipelines.go +++ b/internal/distro/rhel86/pipelines.go @@ -419,25 +419,29 @@ func osPipeline(t *imageType, p.AddStage(osbuild.NewChronyStage(imageConfig.TimeSynchronization)) } - if groups := c.GetGroups(); len(groups) > 0 { - p.AddStage(osbuild.NewGroupsStage(osbuild.NewGroupsStageOptions(groups))) - } + if !t.bootISO { + // don't put users and groups in the payload of an installer + // add them via kickstart instead + if groups := c.GetGroups(); len(groups) > 0 { + p.AddStage(osbuild.NewGroupsStage(osbuild.NewGroupsStageOptions(groups))) + } - if userOptions, err := osbuild.NewUsersStageOptions(c.GetUsers(), false); err != nil { - return nil, err - } else if userOptions != nil { - if t.rpmOstree { - // for ostree, writing the key during user creation is redundant - // and can cause issues so create users without keys and write them - // on first boot - userOptionsSansKeys, err := osbuild.NewUsersStageOptions(c.GetUsers(), true) - if err != nil { - return nil, err + if userOptions, err := osbuild.NewUsersStageOptions(c.GetUsers(), false); err != nil { + return nil, err + } else if userOptions != nil { + if t.rpmOstree { + // for ostree, writing the key during user creation is redundant + // and can cause issues so create users without keys and write them + // on first boot + userOptionsSansKeys, err := osbuild.NewUsersStageOptions(c.GetUsers(), true) + if err != nil { + return nil, err + } + p.AddStage(osbuild.NewUsersStage(userOptionsSansKeys)) + p.AddStage(osbuild.NewFirstBootStage(usersFirstBootOptions(userOptions))) + } else { + p.AddStage(osbuild.NewUsersStage(userOptions)) } - p.AddStage(osbuild.NewUsersStage(userOptionsSansKeys)) - p.AddStage(osbuild.NewFirstBootStage(usersFirstBootOptions(userOptions))) - } else { - p.AddStage(osbuild.NewUsersStage(userOptions)) } } diff --git a/internal/distro/rhel90/pipelines.go b/internal/distro/rhel90/pipelines.go index 0a0a7d664..496eb3fd7 100644 --- a/internal/distro/rhel90/pipelines.go +++ b/internal/distro/rhel90/pipelines.go @@ -411,25 +411,29 @@ func osPipeline(t *imageType, p.AddStage(osbuild.NewChronyStage(imageConfig.TimeSynchronization)) } - if groups := c.GetGroups(); len(groups) > 0 { - p.AddStage(osbuild.NewGroupsStage(osbuild.NewGroupsStageOptions(groups))) - } + if !t.bootISO { + // don't put users and groups in the payload of an installer + // add them via kickstart instead + if groups := c.GetGroups(); len(groups) > 0 { + p.AddStage(osbuild.NewGroupsStage(osbuild.NewGroupsStageOptions(groups))) + } - if userOptions, err := osbuild.NewUsersStageOptions(c.GetUsers(), false); err != nil { - return nil, err - } else if userOptions != nil { - if t.rpmOstree { - // for ostree, writing the key during user creation is redundant - // and can cause issues so create users without keys and write them - // on first boot - userOptionsSansKeys, err := osbuild.NewUsersStageOptions(c.GetUsers(), true) - if err != nil { - return nil, err + if userOptions, err := osbuild.NewUsersStageOptions(c.GetUsers(), false); err != nil { + return nil, err + } else if userOptions != nil { + if t.rpmOstree { + // for ostree, writing the key during user creation is redundant + // and can cause issues so create users without keys and write them + // on first boot + userOptionsSansKeys, err := osbuild.NewUsersStageOptions(c.GetUsers(), true) + if err != nil { + return nil, err + } + p.AddStage(osbuild.NewUsersStage(userOptionsSansKeys)) + p.AddStage(osbuild.NewFirstBootStage(usersFirstBootOptions(userOptions))) + } else { + p.AddStage(osbuild.NewUsersStage(userOptions)) } - p.AddStage(osbuild.NewUsersStage(userOptionsSansKeys)) - p.AddStage(osbuild.NewFirstBootStage(usersFirstBootOptions(userOptions))) - } else { - p.AddStage(osbuild.NewUsersStage(userOptions)) } }