From: Chuck Lever <chuck.lever@oracle.com>
To: Daniel Gomez <da.gomez@kernel.org>,
Daniel Gomez <da.gomez@samsung.com>,
Luis Chamberlain <mcgrof@kernel.org>
Cc: kdevops@lists.linux.dev
Subject: Re: [PATCH 0/2] Locales fixes
Date: Wed, 15 Oct 2025 17:17:32 -0400 [thread overview]
Message-ID: <38357052-2ee3-4940-a747-76ec3266dbf5@oracle.com> (raw)
In-Reply-To: <ecbf752e-9e0f-49ec-9c30-e26c0c6fa606@kernel.org>
On 10/15/25 2:21 PM, Daniel Gomez wrote:
>
>
> On 14/10/2025 23.35, Chuck Lever wrote:
>> On 10/14/25 2:02 PM, Daniel Gomez wrote:
>>>
>>> On Mon, 29 Sep 2025 21:04:11 +0200, Daniel Gomez wrote:
>>>> This drops locales-all from devconfig playbook and make en-US.UTF tasks
>>>> distro agnostic. While at it, also fix guest image permissions when the
>>>> base image is not copied and ensure idempotency with permissions.
>>>>
>>>> Note, the locales-all was in the wrong location (before removing
>>>> unattended-install Debian package) provoking the apt concurrency issue
>>>> (logs below) and not needed for en_US-UTF locale configuration added in
>>>> commit 2514a694 ("guestfs: fix locale warnings in VM deployment").
>>>>
>>>> [...]
>>>
>>> Applied, thanks!
>>>
>>> [1/2] devconfig: drop locales-all leftovers
>>> (no commit info)
>>> [2/2] base_image: ensure base image permissions are set
>>> (no commit info)
>>>
>>> Best regards,
>>
>>
>> Hi Daniel!
>>
>> I'm seeing this on Fedora 41 with guestfs:
>>
>> TASK [devconfig : Configure en_US.UTF-8 locale files]
>> ******************************************************************************************
>> changed: [kdevops-nfsd] => (item={'path': '/etc/default/locale', 'line':
>> 'LANG=en_US.UTF-8'})
>> changed: [kdevops-nfsd] => (item={'path': '/etc/default/locale', 'line':
>> 'LANGUAGE=en_US:en'})
>> changed: [kdevops-nfsd] => (item={'path': '/etc/locale.gen', 'line':
>> 'en_US.UTF-8 UTF-8'})
>> [started TASK: devconfig : Generate and update locales on kdevops-nfsd]
>>
>> TASK [devconfig : Generate and update locales]
>> *************************************************************************************************
>> task path:
>> /home/cel/src/kdevops/buildbot-configs/playbooks/roles/devconfig/tasks/main.yml:93
>> fatal: [kdevops-nfsd]: FAILED! => {
>> "changed": true,
>> "cmd": "locale-gen en_US.UTF-8\nupdate-locale LANG=en_US.UTF-8\n",
>> "delta": "0:00:00.003794",
>> "end": "2025-10-14 17:30:14.766094",
>> "rc": 127,
>> "start": "2025-10-14 17:30:14.762300"
>> }
>>
>> STDERR:
>>
>> /bin/sh: line 1: locale-gen: command not found
>> /bin/sh: line 2: update-locale: command not found
>>
>>
>> MSG:
>>
>> non-zero return code
>>
>>
>> Neither of those commands appears in the Fedora 41 package inventory.
>>
>>
>
> Sorry for the trouble.
>
> I guess restoring this hunk fixes the issue, can you give it a try and confirm?
>
> diff --git a/playbooks/roles/devconfig/tasks/main.yml b/playbooks/roles/devconfig/tasks/main.yml
> index 39d883b7..ba55928e 100644
> --- a/playbooks/roles/devconfig/tasks/main.yml
> +++ b/playbooks/roles/devconfig/tasks/main.yml
> @@ -88,6 +88,8 @@
> - { path: "/etc/default/locale", line: "LANG=en_US.UTF-8" }
> - { path: "/etc/default/locale", line: "LANGUAGE=en_US:en" }
> - { path: "/etc/locale.gen", line: "en_US.UTF-8 UTF-8" }
> + when:
> + - ansible_facts['os_family']|lower == 'debian'
> tags: firstconfig
>
> - name: Generate and update locales
> @@ -98,6 +100,8 @@
> locale-gen en_US.UTF-8
> update-locale LANG=en_US.UTF-8
> changed_when: true
> + when:
> + - ansible_facts['os_family']|lower == 'debian'
> tags: firstconfig
>
> - name: Check if /mirror directory exists on localhost
Tested-by: Chuck Lever <chuck.lever@oracle.com>
> Note, I can't fully test this or the patch, as it appears to be broken (at least
> for me) when using a Debian host and a Fedora guest with kdevops/libguestfs:
>
> virt-builder fedora-41 --arch x86_64 -o /xfs1/libvirt/images/kdevops/guestfs/base_images/fedora-41.raw --size 20G --format raw --commands-from-file /tmp/ansible.8r5zc3so
> [ 3.7] Downloading: http://builder.libguestfs.org/fedora-41.xz
> ###################################################################################################################################################################################################### 100.0%
> [ 140.6] Planning how to build this image
> [ 140.6] Uncompressing
> [ 141.7] Resizing (using virt-resize) to expand the disk to 20.0G
> [ 171.5] Opening the new disk
> [ 181.7] Setting a random seed
> [ 181.7] Installing packages: sudo qemu-guest-agent python3 bash policycoreutils-python-utils
> [ 194.7] Uninstalling packages: dracut-config-rescue
> [ 195.0] Deleting: /boot/*rescue*
> [ 195.0] Deleting: /boot/loader/entries/*rescue*
> [ 195.0] Running: useradd -u 1012 -s /bin/bash -m kdevops
> [ 195.1] Appending line to /etc/sudoers.d/kdevops
> [ 195.1] Editing: /etc/default/grub
> [ 195.2] Running: /usr/sbin/grub2-mkconfig -o /boot/grub2/grub.cfg
> [ 195.9] Installing packages: isc-dhcp-client ifupdown
> Updating and loading repositories:
> Fedora 41 - x86_64 100% | 221.4 KiB/s | 30.3 KiB | 00m00s
> Fedora 41 - x86_64 - Updates 100% | 289.6 KiB/s | 29.0 KiB | 00m00s
> Fedora 41 openh264 (From Cisco) - x86_ 100% | 3.2 KiB/s | 986.0 B | 00m00s
> Fedora 41 - x86_64 100% | 241.7 KiB/s | 480.5 KiB | 00m02s
> Fedora 41 - x86_64 - Updates 100% | 4.4 MiB/s | 11.5 MiB | 00m03s
> Fedora 41 openh264 (From Cisco) - x86_ 100% | 7.3 KiB/s | 5.8 KiB | 00m01s
> Repositories loaded.
> Package "sudo-1.9.15-5.p5.fc41.x86_64" is already installed.
> ...
> Complete!
> Generating grub configuration file ...
> Adding boot menu entry for UEFI Firmware Settings ...
> done
> Updating and loading repositories:
> Repositories loaded.
> Failed to resolve the transaction:
> No match for argument: isc-dhcp-client
> No match for argument: ifupdown
> You can try to add to command line:
> --skip-unavailable to skip unavailable packages
> virt-builder: error: dnf -y install 'isc-dhcp-client' 'ifupdown': command
> exited with an error
>
> If reporting bugs, run virt-builder with debugging enabled and include the
> complete output:
>
> virt-builder -v -x [...]
This appears to come from the new base_image virt_builder template,
where we have:
{% if distro_debian_based is defined and distro_debian_based %}
{# Ugh, debian has to be told to bring up the network and regenerate ssh
keys #}
{# Hope we get that interface name right! #}
install isc-dhcp-client,ifupdown
mkdir /etc/network/interfaces.d/
Which I would expect to apply only when the /guest/ is Debian, not
the host. It could be that the distro detection logic works only when
both the host and guest are the same?
--
Chuck Lever
next prev parent reply other threads:[~2025-10-15 21:17 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-29 19:04 [PATCH 0/2] Locales fixes Daniel Gomez
2025-09-29 19:04 ` [PATCH 1/2] devconfig: drop locales-all leftovers Daniel Gomez
2025-10-09 21:33 ` Daniel Gomez
2025-09-29 19:04 ` [PATCH 2/2] base_image: ensure base image permissions are set Daniel Gomez
2025-10-14 18:02 ` [PATCH 0/2] Locales fixes Daniel Gomez
2025-10-14 21:35 ` Chuck Lever
2025-10-15 18:21 ` Daniel Gomez
2025-10-15 21:17 ` Chuck Lever [this message]
2025-10-16 18:56 ` Chuck Lever
2025-10-17 21:59 ` Chuck Lever
2025-10-17 22:21 ` Daniel Gomez
2025-10-17 22:53 ` Daniel Gomez
2025-10-17 23:06 ` Daniel Gomez
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=38357052-2ee3-4940-a747-76ec3266dbf5@oracle.com \
--to=chuck.lever@oracle.com \
--cc=da.gomez@kernel.org \
--cc=da.gomez@samsung.com \
--cc=kdevops@lists.linux.dev \
--cc=mcgrof@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox