|
Bugzilla – Full Text Bug Listing |
| Summary: | transactional-update fails when self-updating from old snapshot | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE Tumbleweed | Reporter: | Fabian Vogt <fvogt> |
| Component: | MicroOS | Assignee: | Ignaz Forster <iforster> |
| Status: | RESOLVED FIXED | QA Contact: | E-mail List <qa-bugs> |
| Severity: | Normal | ||
| Priority: | P5 - None | CC: | alexander.wenzel, dimstar, forgotten_u0-bnvADNc, guillaume.gardet, rbrown |
| Version: | Current | ||
| Target Milestone: | --- | ||
| Hardware: | Other | ||
| OS: | Other | ||
| URL: | https://openqa.opensuse.org/tests/1638401/modules/image_checks/steps/13 | ||
| Whiteboard: | |||
| Found By: | openQA | Services Priority: | |
| Business Priority: | Blocker: | Yes | |
| Marketing QA Status: | --- | IT Deployment: | --- |
| Attachments: | log of partial workaround for transactional-update error | ||
|
Description
Fabian Vogt
2021-02-22 08:43:15 UTC
Created attachment 846500 [details]
log of partial workaround for transactional-update error
To reproducibly workaround one part of the bug:
ERROR: filesystem error: cannot copy: File exists [/run/netconfig] [/.snapshots/2/snapshot/run/netconfig]
It is somehow sufficient, to let netconfig recreate the yp.conf like this:
echo -n > /etc/yp.conf && netconfig update -f
NETCONFIG_NIS_POLICY is still set to its default "auto".
Afterwards transactional-update works fine again. I did not dive any further so far, but I thought, this piece might help anyway. See also attached log.
NB: We're building a variant of MicroOS using kiwi/obs and installing the OS using PXE which shows the current behaviour/bug. Using the ISO or skipping the ignition/combustion part, will lead to a system without update capability... An so we're at this point here and the wheel has come full circle ;)
The problem occurs when /run/netconfig is part of the root file system - which is unexpected, as /run is a tmpfs. In any case libtukit will just overwrite any existing files now with https://github.com/openSUSE/transactional-update/commit/d0b10c0a32ab33832c53a8c9ac90bac94a0a009d *** Bug 1182772 has been marked as a duplicate of this bug. *** (In reply to Ignaz Forster from comment #2) > The problem occurs when /run/netconfig is part of the root file system This is actually not the full story! It's true that this particular error happens because there's already a different /etc/resolv.conf inside the "virgin" snapshot. I found that even the latest images also have content inside /run (reported as https://github.com/OSInside/kiwi/issues/1744) and tukit actually runs fine on old images outside of combustion. Question is: why? It clearly shouldn't work: When tukit copies /run/netconfig/, it doesn't override existing files, but in those cases it doesn't complain and abort either. Debugging actually showed that there's a bug in libstdc++'s implementation of std::filesystem::copy, which I reported as https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99290. Combustion avoids this bug with a 100% chance of "success" because when networking is enabled (the default on old images), it creates /run/netconfig/ with just resolv.conf inside, so there's no other item to copy and the error is returned properly. This is an autogenerated message for OBS integration: This bug (1182544) was mentioned in https://build.opensuse.org/request/show/876314 Factory / transactional-update This is an autogenerated message for openQA integration by the openqa_review script: This bug is still referenced in a failing openQA test: microos-old2microosnext@ https://openqa.opensuse.org/tests/1668980 To prevent further reminder comments one of the following options should be followed: 1. The test scenario is fixed by applying the bug fix to the tested product or the test is adjusted 2. The openQA job group is moved to "Released" 3. The label in the openQA scenario is removed It's been fixed SUSE-RU-2021:2192-1: An update that has 15 recommended fixes can now be installed. Category: recommended (important) Bug References: 1173842,1177149,1182525,1182544,1183442,1183521,1183539,1183856,1184529,1185224,1185226,1185625,1185766,1186775,1186842 CVE References: JIRA References: Sources used: SUSE MicroOS 5.0 (src): transactional-update-3.4.0-3.6.1 NOTE: This line indicates an update has been released for the listed product(s). At times this might be only a partial fix. If you have questions please reach out to maintenance coordination. |