From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8897219BB8 for ; Thu, 31 Aug 2023 19:35:49 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 21324C433C8; Thu, 31 Aug 2023 19:35:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1693510549; bh=zEEzkpe6fl8DKmIT7J4DjQEM7Us95StySeiv7ZDDNfg=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=aycX32yQCT4+PGZK3HR5wUTL7V/OTK0+tyWOlW4OlYd2o/klRwFCBAgVcxfKbLA1o N3xIFJ5nXF7z5Y5LTA7J0koaGUai/dSIdDYuwc22nx23Zcr6qHvdpZByue20xWLq9w 5Fi8NxPP/HRAcHGw/zFXIYUQPwSVnZPA4pxEDpPy8GgRiqQS1E91rcbG4j5N40alDX 9qCMRlR4iIm1+mp1LNM4lwPewZdPuJ6S3FWQpsN1dXg5BPOSEqhZ4lQc6YsuEkpjRD +ahRW4h3IkFxS5m46rJ4K3iRxMaJMBmd/TCGtu+0hgEx8/IINADYK/hAdLtPmPtjkf ekxr1YvZEeUAg== Message-ID: <62020beb3761f1bdd60434940cfd0b617dbbc4a7.camel@kernel.org> Subject: Re: [RFC PATCH] fstests: Request inferred user From: Jeff Layton To: Luis Chamberlain , Frederick Lawler Cc: kdevops@lists.linux.dev, kernel-team@cloudflare.com Date: Thu, 31 Aug 2023 15:35:47 -0400 In-Reply-To: References: <20230830235333.1658555-1-fred@cloudflare.com> Content-Type: text/plain; charset="ISO-8859-15" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) Precedence: bulk X-Mailing-List: kdevops@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 On Thu, 2023-08-31 at 12:30 -0700, Luis Chamberlain wrote: > On Thu, Aug 31, 2023 at 08:51:22AM -0500, Frederick Lawler wrote: > > On Thu, Aug 31, 2023 at 06:13:23AM -0400, Jeff Layton wrote: > > > On Wed, 2023-08-30 at 18:53 -0500, Frederick Lawler wrote: > > > > Currently when running make fstests for bare-metal setups, the data= _user > > > > 'vagrant' is set for the /data partition. This is currently set as = the default > > > > data_user. We have the option to edit this in extra_vars.yml. > > > >=20 > > > > make linux checks for an inferred user prior to setting the uid/gid= for > > > > the /data partition. > > > >=20 > > > > In the situation where we don't add the 'vagrant' user to the > > > > bare-metal, we get a "user does not exist" on make fstests. > > > >=20 > > > > In both cases we do not want to switch users between the two target= s, > > > > nor do we want to necessarily ensure that the 'vagrant' user exists= on > > > > the metal. Therefore, request the inferred user on make fstests. > > > >=20 > > > > Signed-off-by: Frederick Lawler > > > > --- > > > > Since this is essentially in two places, I figure this should be mo= re > > > > generic and then included in other make targets like cxl. But this = is to > > > > get the discussion going if this or some other generic approach is > > > > preferred. > > > > --- > > > > playbooks/roles/fstests/tasks/main.yml | 37 ++++++++++++++++++++++= ++++ > > > > 1 file changed, 37 insertions(+) > > > >=20 > > > > diff --git a/playbooks/roles/fstests/tasks/main.yml b/playbooks/rol= es/fstests/tasks/main.yml > > > > index e2d7ce5295b7..2898833b0732 100644 > > > > --- a/playbooks/roles/fstests/tasks/main.yml > > > > +++ b/playbooks/roles/fstests/tasks/main.yml > > > > @@ -10,6 +10,43 @@ > > > > skip: true > > > > tags: vars > > > > =20 > > > > +- name: Get username we are using > > > > + command: > > > > + cmd: whoami > > > > + register: username_on_target > > > > + when: > > > > + - infer_uid_and_group|bool > > > > + > > > > +- name: Set target user as a fact > > > > + set_fact: > > > > + target_user: "{{ username_on_target.stdout }}" > > > > + when: > > > > + - infer_uid_and_group|bool > > > > + > > > > +- name: Run getent against the inferred target user > > > > + getent: > > > > + database: passwd > > > > + key: "{{ target_user }}" > > > > + register: getent_running_user > > > > + when: > > > > + - infer_uid_and_group|bool > > > > + > > > > +- name: Run getent against the inferred target group > > > > + getent: > > > > + database: group > > > > + key: "{{ target_user }}" > > > > + register: getent_on_group > > > > + when: > > > > + - infer_uid_and_group|bool > > > > + > > > > +- name: Override user and group with inferred settings if feature = is enabled > > > > + set_fact: > > > > + user: "hplip" > > >=20 > > > Why "hplip" here? > >=20 > > This was mostly copy/pasted from > > ./playbooks/roles/bootlinux/tasks/main.yml. I see it was introduced in = commit > > f10add06446b ("kdevops: remove ansible galaxy dependency") for that fil= e, > > but I'm unclear the use there. I'd like to know as well. >=20 > I recall fstets having odd user requirements but that was just for some > odd tests. I can't trace hplip down to anything so I say we just remove > it for both. If you have an HP printer/scanner/copier then there is an "hplip" package for Fedora with some of their drivers and such. That's why it seemed so weird here. --=20 Jeff Layton