Bug 2203409
| Summary: | [Image Builder] org.osbuild.lvm2.lv raises a "Could not find parent device" | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 9 | Reporter: | Christophe Besson <cbesson> |
| Component: | osbuild | Assignee: | Achilleas Koutsou <akoutsou> |
| Status: | CLOSED DUPLICATE | QA Contact: | Release Test Team <release-test-team-automation> |
| Severity: | urgent | Docs Contact: | |
| Priority: | urgent | ||
| Version: | 9.0 | CC: | akoutsou, sbarcomb |
| Target Milestone: | rc | Flags: | pm-rhel:
mirror+
|
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2023-05-23 14:00:36 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
This is a duplicate of https://bugzilla.redhat.com/show_bug.cgi?id=2079883, which was fixed in osbuild v53.1 and osbuild-composer v46.3 in zstream for RHEL 9.0. I suspect the customer is using the versions on the RHEL 9.0 DVD. Updating the packages should resolve the issue. Some more info for reproducing reliably:
1. Set up a RHEL 9.0 machine with the content from the DVD, or at least make sure that you're running osbuild v53 and osbuild-composer v46.2.
2. Mount the RHEL 9.0 DVD ISO to /mnt.
3. Configure osbuild-composer to use the DVD for sources by creating the file '/etc/osbuild-composer/repositories/rhel-90.json' with the following content:
{
"x86_64": [
{
"name": "baseos",
"baseurl": "file:///mnt/BaseOS",
"gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBErgSTsBEACh2A4b0O9t+vzC9VrVtL1AKvUWi9OPCjkvR7Xd8DtJxeeMZ5eF\n0HtzIG58qDRybwUe89FZprB1ffuUKzdE+HcL3FbNWSSOXVjZIersdXyH3NvnLLLF\n0DNRB2ix3bXG9Rh/RXpFsNxDp2CEMdUvbYCzE79K1EnUTVh1L0Of023FtPSZXX0c\nu7Pb5DI5lX5YeoXO6RoodrIGYJsVBQWnrWw4xNTconUfNPk0EGZtEnzvH2zyPoJh\nXGF+Ncu9XwbalnYde10OCvSWAZ5zTCpoLMTvQjWpbCdWXJzCm6G+/hx9upke546H\n5IjtYm4dTIVTnc3wvDiODgBKRzOl9rEOCIgOuGtDxRxcQkjrC+xvg5Vkqn7vBUyW\n9pHedOU+PoF3DGOM+dqv+eNKBvh9YF9ugFAQBkcG7viZgvGEMGGUpzNgN7XnS1gj\n/DPo9mZESOYnKceve2tIC87p2hqjrxOHuI7fkZYeNIcAoa83rBltFXaBDYhWAKS1\nPcXS1/7JzP0ky7d0L6Xbu/If5kqWQpKwUInXtySRkuraVfuK3Bpa+X1XecWi24JY\nHVtlNX025xx1ewVzGNCTlWn1skQN2OOoQTV4C8/qFpTW6DTWYurd4+fE0OJFJZQF\nbuhfXYwmRlVOgN5i77NTIJZJQfYFj38c/Iv5vZBPokO6mffrOTv3MHWVgQARAQAB\ntDNSZWQgSGF0LCBJbmMuIChyZWxlYXNlIGtleSAyKSA8c2VjdXJpdHlAcmVkaGF0\nLmNvbT6JAjYEEwECACAFAkrgSTsCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAK\nCRAZni+R/UMdUWzpD/9s5SFR/ZF3yjY5VLUFLMXIKUztNN3oc45fyLdTI3+UClKC\n2tEruzYjqNHhqAEXa2sN1fMrsuKec61Ll2NfvJjkLKDvgVIh7kM7aslNYVOP6BTf\nC/JJ7/ufz3UZmyViH/WDl+AYdgk3JqCIO5w5ryrC9IyBzYv2m0HqYbWfphY3uHw5\nun3ndLJcu8+BGP5F+ONQEGl+DRH58Il9Jp3HwbRa7dvkPgEhfFR+1hI+Btta2C7E\n0/2NKzCxZw7Lx3PBRcU92YKyaEihfy/aQKZCAuyfKiMvsmzs+4poIX7I9NQCJpyE\nIGfINoZ7VxqHwRn/d5mw2MZTJjbzSf+Um9YJyA0iEEyD6qjriWQRbuxpQXmlAJbh\n8okZ4gbVFv1F8MzK+4R8VvWJ0XxgtikSo72fHjwha7MAjqFnOq6eo6fEC/75g3NL\nGht5VdpGuHk0vbdENHMC8wS99e5qXGNDued3hlTavDMlEAHl34q2H9nakTGRF5Ki\nJUfNh3DVRGhg8cMIti21njiRh7gyFI2OccATY7bBSr79JhuNwelHuxLrCFpY7V25\nOFktl15jZJaMxuQBqYdBgSay2G0U6D1+7VsWufpzd/Abx1/c3oi9ZaJvW22kAggq\ndzdA27UUYjWvx42w9menJwh/0jeQcTecIUd0d0rFcw/c1pvgMMl/Q73yzKgKYw==\n=zbHE\n-----END PGP PUBLIC KEY BLOCK-----\n-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGIpIp4BEAC/o5e1WzLIsS6/JOQCs4XYATYTcf6B6ALzcP05G0W3uRpUQSrL\nFRKNrU8ZCelm/B+XSh2ljJNeklp2WLxYENDOsftDXGoyLr2hEkI5OyK267IHhFNJ\ng+BN+T5Cjh4ZiiWij6o9F7x2ZpxISE9M4iI80rwSv1KOnGSw5j2zD2EwoMjTVyVE\n/t3s5XJxnDclB7ZqL+cgjv0mWUY/4+b/OoRTkhq7b8QILuZp75Y64pkrndgakm1T\n8mAGXV02mEzpNj9DyAJdUqa11PIhMJMxxHOGHJ8CcHZ2NJL2e7yJf4orTj+cMhP5\nLzJcVlaXnQYu8Zkqa0V6J1Qdj8ZXL72QsmyicRYXAtK9Jm5pvBHuYU2m6Ja7dBEB\nVkhe7lTKhAjkZC5ErPmANNS9kPdtXCOpwN1lOnmD2m04hks3kpH9OTX7RkTFUSws\neARAfRID6RLfi59B9lmAbekecnsMIFMx7qR7ZKyQb3GOuZwNYOaYFevuxusSwCHv\n4FtLDIhk+Fge+EbPdEva+VLJeMOb02gC4V/cX/oFoPkxM1A5LHjkuAM+aFLAiIRd\nNp/tAPWk1k6yc+FqkcDqOttbP4ciiXb9JPtmzTCbJD8lgH0rGp8ufyMXC9x7/dqX\nTjsiGzyvlMnrkKB4GL4DqRFl8LAR02A3846DD8CAcaxoXggL2bJCU2rgUQARAQAB\ntDVSZWQgSGF0LCBJbmMuIChhdXhpbGlhcnkga2V5IDMpIDxzZWN1cml0eUByZWRo\nYXQuY29tPokCUgQTAQgAPBYhBH5GJCWMQGU11W1vE1BU5KRaY0CzBQJiKSKeAhsD\nBQsJCAcCAyICAQYVCgkICwIEFgIDAQIeBwIXgAAKCRBQVOSkWmNAsyBfEACuTN/X\nYR+QyzeRw0pXcTvMqzNE4DKKr97hSQEwZH1/v1PEPs5O3psuVUm2iam7bqYwG+ry\nEskAgMHi8AJmY0lioQD5/LTSLTrM8UyQnU3g17DHau1NHIFTGyaW4a7xviU4C2+k\nc6X0u1CPHI1U4Q8prpNcfLsldaNYlsVZtUtYSHKPAUcswXWliW7QYjZ5tMSbu8jR\nOMOc3mZuf0fcVFNu8+XSpN7qLhRNcPv+FCNmk/wkaQfH4Pv+jVsOgHqkV3aLqJeN\nkNUnpyEKYkNqo7mNfNVWOcl+Z1KKKwSkIi3vg8maC7rODsy6IX+Y96M93sqYDQom\naaWue2gvw6thEoH4SaCrCL78mj2YFpeg1Oew4QwVcBnt68KOPfL9YyoOicNs4Vuu\nfb/vjU2ONPZAeepIKA8QxCETiryCcP43daqThvIgdbUIiWne3gae6eSj0EuUPoYe\nH5g2Lw0qdwbHIOxqp2kvN96Ii7s1DK3VyhMt/GSPCxRnDRJ8oQKJ2W/I1IT5VtiU\nzMjjq5JcYzRPzHDxfVzT9CLeU/0XQ+2OOUAiZKZ0dzSyyVn8xbpviT7iadvjlQX3\nCINaPB+d2Kxa6uFWh+ZYOLLAgZ9B8NKutUHpXN66YSfe79xFBSFWKkJ8cSIMk13/\nIfs7ApKlKCCRDpwoDqx/sjIaj1cpOfLHYjnefg==\n=UZd/\n-----END PGP PUBLIC KEY BLOCK-----\n",
"check_gpg": true
},
{
"name": "appstream",
"baseurl": "file:///mnt/AppStream",
"gpgkey": "-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBErgSTsBEACh2A4b0O9t+vzC9VrVtL1AKvUWi9OPCjkvR7Xd8DtJxeeMZ5eF\n0HtzIG58qDRybwUe89FZprB1ffuUKzdE+HcL3FbNWSSOXVjZIersdXyH3NvnLLLF\n0DNRB2ix3bXG9Rh/RXpFsNxDp2CEMdUvbYCzE79K1EnUTVh1L0Of023FtPSZXX0c\nu7Pb5DI5lX5YeoXO6RoodrIGYJsVBQWnrWw4xNTconUfNPk0EGZtEnzvH2zyPoJh\nXGF+Ncu9XwbalnYde10OCvSWAZ5zTCpoLMTvQjWpbCdWXJzCm6G+/hx9upke546H\n5IjtYm4dTIVTnc3wvDiODgBKRzOl9rEOCIgOuGtDxRxcQkjrC+xvg5Vkqn7vBUyW\n9pHedOU+PoF3DGOM+dqv+eNKBvh9YF9ugFAQBkcG7viZgvGEMGGUpzNgN7XnS1gj\n/DPo9mZESOYnKceve2tIC87p2hqjrxOHuI7fkZYeNIcAoa83rBltFXaBDYhWAKS1\nPcXS1/7JzP0ky7d0L6Xbu/If5kqWQpKwUInXtySRkuraVfuK3Bpa+X1XecWi24JY\nHVtlNX025xx1ewVzGNCTlWn1skQN2OOoQTV4C8/qFpTW6DTWYurd4+fE0OJFJZQF\nbuhfXYwmRlVOgN5i77NTIJZJQfYFj38c/Iv5vZBPokO6mffrOTv3MHWVgQARAQAB\ntDNSZWQgSGF0LCBJbmMuIChyZWxlYXNlIGtleSAyKSA8c2VjdXJpdHlAcmVkaGF0\nLmNvbT6JAjYEEwECACAFAkrgSTsCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAK\nCRAZni+R/UMdUWzpD/9s5SFR/ZF3yjY5VLUFLMXIKUztNN3oc45fyLdTI3+UClKC\n2tEruzYjqNHhqAEXa2sN1fMrsuKec61Ll2NfvJjkLKDvgVIh7kM7aslNYVOP6BTf\nC/JJ7/ufz3UZmyViH/WDl+AYdgk3JqCIO5w5ryrC9IyBzYv2m0HqYbWfphY3uHw5\nun3ndLJcu8+BGP5F+ONQEGl+DRH58Il9Jp3HwbRa7dvkPgEhfFR+1hI+Btta2C7E\n0/2NKzCxZw7Lx3PBRcU92YKyaEihfy/aQKZCAuyfKiMvsmzs+4poIX7I9NQCJpyE\nIGfINoZ7VxqHwRn/d5mw2MZTJjbzSf+Um9YJyA0iEEyD6qjriWQRbuxpQXmlAJbh\n8okZ4gbVFv1F8MzK+4R8VvWJ0XxgtikSo72fHjwha7MAjqFnOq6eo6fEC/75g3NL\nGht5VdpGuHk0vbdENHMC8wS99e5qXGNDued3hlTavDMlEAHl34q2H9nakTGRF5Ki\nJUfNh3DVRGhg8cMIti21njiRh7gyFI2OccATY7bBSr79JhuNwelHuxLrCFpY7V25\nOFktl15jZJaMxuQBqYdBgSay2G0U6D1+7VsWufpzd/Abx1/c3oi9ZaJvW22kAggq\ndzdA27UUYjWvx42w9menJwh/0jeQcTecIUd0d0rFcw/c1pvgMMl/Q73yzKgKYw==\n=zbHE\n-----END PGP PUBLIC KEY BLOCK-----\n-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGIpIp4BEAC/o5e1WzLIsS6/JOQCs4XYATYTcf6B6ALzcP05G0W3uRpUQSrL\nFRKNrU8ZCelm/B+XSh2ljJNeklp2WLxYENDOsftDXGoyLr2hEkI5OyK267IHhFNJ\ng+BN+T5Cjh4ZiiWij6o9F7x2ZpxISE9M4iI80rwSv1KOnGSw5j2zD2EwoMjTVyVE\n/t3s5XJxnDclB7ZqL+cgjv0mWUY/4+b/OoRTkhq7b8QILuZp75Y64pkrndgakm1T\n8mAGXV02mEzpNj9DyAJdUqa11PIhMJMxxHOGHJ8CcHZ2NJL2e7yJf4orTj+cMhP5\nLzJcVlaXnQYu8Zkqa0V6J1Qdj8ZXL72QsmyicRYXAtK9Jm5pvBHuYU2m6Ja7dBEB\nVkhe7lTKhAjkZC5ErPmANNS9kPdtXCOpwN1lOnmD2m04hks3kpH9OTX7RkTFUSws\neARAfRID6RLfi59B9lmAbekecnsMIFMx7qR7ZKyQb3GOuZwNYOaYFevuxusSwCHv\n4FtLDIhk+Fge+EbPdEva+VLJeMOb02gC4V/cX/oFoPkxM1A5LHjkuAM+aFLAiIRd\nNp/tAPWk1k6yc+FqkcDqOttbP4ciiXb9JPtmzTCbJD8lgH0rGp8ufyMXC9x7/dqX\nTjsiGzyvlMnrkKB4GL4DqRFl8LAR02A3846DD8CAcaxoXggL2bJCU2rgUQARAQAB\ntDVSZWQgSGF0LCBJbmMuIChhdXhpbGlhcnkga2V5IDMpIDxzZWN1cml0eUByZWRo\nYXQuY29tPokCUgQTAQgAPBYhBH5GJCWMQGU11W1vE1BU5KRaY0CzBQJiKSKeAhsD\nBQsJCAcCAyICAQYVCgkICwIEFgIDAQIeBwIXgAAKCRBQVOSkWmNAsyBfEACuTN/X\nYR+QyzeRw0pXcTvMqzNE4DKKr97hSQEwZH1/v1PEPs5O3psuVUm2iam7bqYwG+ry\nEskAgMHi8AJmY0lioQD5/LTSLTrM8UyQnU3g17DHau1NHIFTGyaW4a7xviU4C2+k\nc6X0u1CPHI1U4Q8prpNcfLsldaNYlsVZtUtYSHKPAUcswXWliW7QYjZ5tMSbu8jR\nOMOc3mZuf0fcVFNu8+XSpN7qLhRNcPv+FCNmk/wkaQfH4Pv+jVsOgHqkV3aLqJeN\nkNUnpyEKYkNqo7mNfNVWOcl+Z1KKKwSkIi3vg8maC7rODsy6IX+Y96M93sqYDQom\naaWue2gvw6thEoH4SaCrCL78mj2YFpeg1Oew4QwVcBnt68KOPfL9YyoOicNs4Vuu\nfb/vjU2ONPZAeepIKA8QxCETiryCcP43daqThvIgdbUIiWne3gae6eSj0EuUPoYe\nH5g2Lw0qdwbHIOxqp2kvN96Ii7s1DK3VyhMt/GSPCxRnDRJ8oQKJ2W/I1IT5VtiU\nzMjjq5JcYzRPzHDxfVzT9CLeU/0XQ+2OOUAiZKZ0dzSyyVn8xbpviT7iadvjlQX3\nCINaPB+d2Kxa6uFWh+ZYOLLAgZ9B8NKutUHpXN66YSfe79xFBSFWKkJ8cSIMk13/\nIfs7ApKlKCCRDpwoDqx/sjIaj1cpOfLHYjnefg==\n=UZd/\n-----END PGP PUBLIC KEY BLOCK-----\n",
"check_gpg": true
}
]
}
4. Enable the composer socket
sudo systemctl enable --now osbuild-composer.socket
5. Create a minimal blueprint with a mountpoint (call it bp.toml)
name = "lvmtmp"
[[customizations.filesystem]]
mountpoint = "/tmp"
size = 2147483648
and push it to composer
composer-cli blueprints push bp.toml
6. *IMPORTANT*: If the host machine does not use LVM, run:
touch /etc/lvm/devices/system.devices
If the host machine uses LVM, this file will already exist and is what's causing the issue. Creating it makes the bug occur.
7. Start a build
composer-cli compose start lvmtmp qcow2
Using the DVD for build sources is probably not necessary for reproducing the bug. @cbesson Can you confirm that updating the packages to their next version fixes the issue? Is the customer able to update their packages with zstream/0-day releases? thanks for your investigation, we missed it somehow. yes the customer confirmed using the latest version fixed their issue *** This bug has been marked as a duplicate of bug 2079883 *** Thanks for confirming. I've closed this as a duplicate of the original. |
Description of problem: A customer is unable to generate an image as long as they add a 2nd partition (/tmp here). File "/usr/lib/osbuild/devices/org.osbuild.lvm2.lv", line 98, in volume_group_for_device raise RuntimeError("Could not find parent device") Without adding this, LVM is not used and the image is created successfully. As per their sosreport, they mounted a RHEL-9.0 ISO into /mnt (using a loop device) and they defined a repository to use it. I tried the same (on RHEL 9.1 / osbuild-65) without being able to reproduce. A colleague also tried to reproduce on a RHEL 9.0 without success. This is blocker for the customer and we have no workaround to share, hence setting the severity as Urgent for now. Version-Release number of selected component (if applicable): osbuild-53-1.el9_0.noarch Mon Apr 3 03:48:08 2023 osbuild-composer-46.2-1.el9_0.x86_64 Mon Apr 3 03:48:08 2023 osbuild-lvm2-53-1.el9_0.noarch Mon Apr 3 03:48:08 2023 How reproducible: Always for the customer. Unable to reproduce internally. Actual results: May 11 10:36:55 localhost osbuild-worker[6456]: time="2023-05-11T10:36:55-04:00" level=info msg="Running job 'bc1cea6c-977c-4a82-b5d9-a1706c859c84' (osbuild)\n" May 11 10:46:25 localhost osbuild-worker[728934]: Traceback (most recent call last): May 11 10:46:25 localhost osbuild-worker[728934]: File "/usr/bin/osbuild", line 33, in <module> May 11 10:46:25 localhost osbuild-worker[728934]: sys.exit(load_entry_point('osbuild==53', 'console_scripts', 'osbuild')()) May 11 10:46:25 localhost osbuild-worker[728934]: File "/usr/lib/python3.9/site-packages/osbuild/main_cli.py", line 160, in osbuild_cli May 11 10:46:25 localhost osbuild-worker[728934]: r = manifest.build( May 11 10:46:25 localhost osbuild-worker[728934]: File "/usr/lib/python3.9/site-packages/osbuild/pipeline.py", line 426, in build May 11 10:46:25 localhost osbuild-worker[728934]: res = pl.run(store, monitor, libdir, stage_timeout) May 11 10:46:25 localhost osbuild-worker[728934]: File "/usr/lib/python3.9/site-packages/osbuild/pipeline.py", line 339, in run May 11 10:46:25 localhost osbuild-worker[728934]: results, _, obj = self.build_stages(store, monitor, libdir, stage_timeout) May 11 10:46:25 localhost osbuild-worker[728934]: File "/usr/lib/python3.9/site-packages/osbuild/pipeline.py", line 301, in build_stages May 11 10:46:25 localhost osbuild-worker[728934]: r = stage.run(path, May 11 10:46:25 localhost osbuild-worker[728934]: File "/usr/lib/python3.9/site-packages/osbuild/pipeline.py", line 187, in run May 11 10:46:25 localhost osbuild-worker[728934]: devices[name] = devmgr.open(dev) May 11 10:46:25 localhost osbuild-worker[728934]: File "/usr/lib/python3.9/site-packages/osbuild/devices.py", line 90, in open May 11 10:46:25 localhost osbuild-worker[728934]: res = client.call("open", args) May 11 10:46:25 localhost osbuild-worker[728934]: File "/usr/lib/python3.9/site-packages/osbuild/host.py", line 348, in call May 11 10:46:25 localhost osbuild-worker[728934]: ret, _ = self.call_with_fds(method, args) May 11 10:46:25 localhost osbuild-worker[728934]: File "/usr/lib/python3.9/site-packages/osbuild/host.py", line 375, in call_with_fds May 11 10:46:25 localhost osbuild-worker[728934]: raise error May 11 10:46:25 localhost osbuild-worker[728934]: osbuild.host.RemoteError: RuntimeError: Could not find parent device May 11 10:46:25 localhost osbuild-worker[728934]: File "/usr/lib/python3.9/site-packages/osbuild/host.py", line 268, in serve May 11 10:46:25 localhost osbuild-worker[728934]: reply, reply_fds = self._handle_message(msg, fds) May 11 10:46:25 localhost osbuild-worker[728934]: File "/usr/lib/python3.9/site-packages/osbuild/host.py", line 301, in _handle_message May 11 10:46:25 localhost osbuild-worker[728934]: ret, fds = self.dispatch(name, args, fds) May 11 10:46:25 localhost osbuild-worker[728934]: File "/usr/lib/python3.9/site-packages/osbuild/devices.py", line 118, in dispatch May 11 10:46:25 localhost osbuild-worker[728934]: r = self.open(args["dev"], May 11 10:46:25 localhost osbuild-worker[728934]: File "/usr/lib/osbuild/devices/org.osbuild.lvm2.lv", line 149, in open May 11 10:46:25 localhost osbuild-worker[728934]: vg = self.volume_group_for_device(parent_path) May 11 10:46:25 localhost osbuild-worker[728934]: File "/usr/lib/osbuild/devices/org.osbuild.lvm2.lv", line 98, in volume_group_for_device May 11 10:46:25 localhost osbuild-worker[728934]: raise RuntimeError("Could not find parent device") May 11 10:46:25 localhost osbuild-worker[6456]: time="2023-05-11T10:46:25-04:00" level=error msg="osbuild job failed: osbuild build failed" jobId=bc1cea6c-977c-4a82-b5d9-a1706c859c84 May 11 10:46:25 localhost osbuild-worker[6456]: time="2023-05-11T10:46:25-04:00" level=warning msg="Job 'bc1cea6c-977c-4a82-b5d9-a1706c859c84' (osbuild) failed: error decoding osbuild output: unexpected end of JSON input\nthe raw output:\n" Additional info: The argument "--devicesfile osbuild-222140.devices" has not been passed in the customer's strace, because the file has not been created. => we can confirm the device file has not been created because the "lvmdevices" tool has not been called by org.osbuild.lvm2.lv's manage_devices_file(). 55 class LVService(devices.DeviceService): 56 57 def __init__(self, args): 58 super().__init__(args) 59 self.fullname = None 60 self.target = None 61 self.devices_file = None 62 63 def manage_devices_file(self, device: str): 64 # if LVM2 uses system.devices file, the LVM2 physical device we created 65 # inside the stage won't be seen since it wont be added to `system.devices` 66 # so we need to manage our own devices file 67 68 if not os.path.exists("/etc/lvm/devices/system.devices"): 69 return 70 71 self.devices_file = f"osbuild-{os.getpid()}.devices" 72 print(f"adding device to '{self.devices_file}'") 73 74 cmd = [ 75 "lvmdevices", 76 "--adddev", device, 77 "--devicesfile", self.devices_file 78 ] 79 80 res = subprocess.run(cmd, 81 check=False, 82 stdout=subprocess.DEVNULL, 83 stderr=subprocess.PIPE, 84 encoding="UTF-8") 85 86 if res.returncode != 0: 87 data = res.stderr.strip() 88 msg = f"Failed to add '{device}' to '{self.devices_file}': {data}" 89 raise RuntimeError(msg) : : 177 def open(self, devpath: str, parent: str, tree: str, options: Dict): 178 lv = options["volume"] 179 180 assert not parent.startswith("/") 181 parent_path = os.path.join("/dev", parent) 182 183 # Add the device to a lvm devices file on supported systems 184 self.manage_devices_file(parent_path) 185 186 # Find the volume group that belongs to the device specified 187 # via `parent` 188 vg = self.volume_group_for_device(parent_path) since the --devicefiles arg is never passed to lvm commands, this is always the host file that is read: 743789 10:46:12.348347 read(5</etc/lvm/devices/system.devices>, "# LVM uses devices listed in this file.\n# Created by LVM command vgextend pid 2315 at Fri Apr 14 01:47:57 2023\nVERSION=1.1.4\nIDT"..., 4096) = 450 <0.000019> the LVService's open() function is called by inheritance (DeviceServices -> Services -> dispatch(method=open)). Hence manage_devices_file() is called and then volume_group_for_device() fails with this RuntimeError("Could not find parent device") after 10 tries. the print(f"adding device to '{self.devices_file}'") is never done from the customer strace whereas it is done in mine. Also I cannot see any RuntimeError raised from this function. Hence for sure lvmdevices is never executed and the only reason I can see from the code is this check of the presence of /etc/lvm/devices/system.devices (line 68 and 69). => they do have such a file on the host system => removing the host file on my test system does not change the behavior (and does not allow to reproduce) => it seems created by the pvcreate/vgcreate command called by osbuild inside the container, hence it exists too from my understanding, the check of os.path.exists("/etc/lvm/devices/system.devices") is supposedly done between the execve() of org.osbuild.lvm2.lv and pvdisplay. But we see nothing on this file in between, the file is read later, only by pvdisplay. 743694 10:45:25.423147 execve("/usr/lib/osbuild/devices/org.osbuild.lvm2.lv", ["/usr/lib/osbuild/devices/org.osbuild.lvm2.lv", "--service-id", "device/device", "--service-fd", "13"], ["LANG=en_US.UTF-8", "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin", "INVOCATION_ID=e4365fc9a299494cbde556d34245fabe", "JOURNAL_STREAM=8:95590", "CACHE_DIRECTORY=/var/cache/osbuild-worker", "SYSTEMD_EXEC_PID=6456", "PYTHONPATH=/usr/lib/python3.9/site-packages", "PYTHONUNBUFFERED=1"]) = 0 <0.001545> : ## <NO CHECK HERE> : 743694 10:45:25.692960 clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f6b1cf53a10) = 743695 <0.000470> : 743695 10:45:25.695701 execve("/usr/sbin/pvdisplay", ["pvdisplay", "-C", "--noheadings", "-o", "vg_name", "/dev/loop1"], ["LANG=en_US.UTF-8", "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/ usr/bin", "INVOCATION_ID=e4365fc9a299494cbde556d34245fabe", "JOURNAL_STREAM=8:95590", "CACHE_DIRECTORY=/var/cache/osbuild-worker", "SYSTEMD_EXEC_PID=6456", "PYTHONPATH=/usr/lib/python3.9/sit e-packages", "PYTHONUNBUFFERED=1"] <unfinished ...> : 743695 10:45:25.734717 read(5</etc/lvm/devices/system.devices>, "# LVM uses devices listed in this file.\n# Created by LVM command vgextend pid 2315 at Fri Apr 14 01:47:57 2023\nVERSION=1.1.4\nIDT"..., 4096) = 450 <0.000027> : 743695 10:45:25.856308 +++ exited with 5 +++