Bug 1153550
| Summary: | `liveinst --updates=URL` is the only working syntax, but help page mentions `liveinst --updates URL` | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Kamil Páral <kparal> | ||||||||||||||||||||||
| Component: | anaconda | Assignee: | Brian Lane <bcl> | ||||||||||||||||||||||
| Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||||||||||||||||||
| Severity: | unspecified | Docs Contact: | |||||||||||||||||||||||
| Priority: | unspecified | ||||||||||||||||||||||||
| Version: | 21 | CC: | anaconda-maint-list, g.kaviyarasu, jonathan, robatino, vanmeeuwen+fedora | ||||||||||||||||||||||
| Target Milestone: | --- | Keywords: | Patch, Reopened | ||||||||||||||||||||||
| Target Release: | --- | ||||||||||||||||||||||||
| Hardware: | Unspecified | ||||||||||||||||||||||||
| OS: | Unspecified | ||||||||||||||||||||||||
| Whiteboard: | |||||||||||||||||||||||||
| Fixed In Version: | anaconda-21.48.14-1.fc21 | Doc Type: | Bug Fix | ||||||||||||||||||||||
| Doc Text: | Story Points: | --- | |||||||||||||||||||||||
| Clone Of: | Environment: | ||||||||||||||||||||||||
| Last Closed: | 2014-11-15 09:16:00 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: | |||||||||||||||||||||||||
| Attachments: |
|
||||||||||||||||||||||||
|
Description
Kamil Páral
2014-10-16 08:03:44 UTC
Created attachment 947485 [details]
updates.img
Created attachment 947486 [details]
anaconda.log
Created attachment 947487 [details]
ifcfg.log
Created attachment 947488 [details]
journal
Created attachment 947489 [details]
packaging.log
Created attachment 947490 [details]
program.log
Created attachment 947491 [details]
rpm-qa
Created attachment 947492 [details]
sensitive-info.log
Created attachment 947493 [details]
storage.log
This is in fact Alpha functionality, but the criterion just says: "The installer must be able to download and use an installer update image from an HTTP server. " https://fedoraproject.org/wiki/Fedora_21_Alpha_Release_Criteria#Update_image which is actually satisfied, you just need to use a different method than documented in `liveinst --help` (and probably also elsewhere). So proposing as Final blocker, either the functionality or the docs should be adjusted to match. You need to use liveinst --updates=http... The liveinst cmdline parser isn't very flexible and expects the = to be there. Oh, damn. That didn't really occur to me. On the other hand, to me defense, `liveinst --help` doesn't mention any equal sign:
--updates UPDATES_URL
Path to an updates image that is on local filesystem or
available over FTP or HTTP. UPDATES_URL must be either a local
filesystem path, a network URL or <disk>:<path> where <disk> can
be one of sdX, /dev/sdX, LABEL=xxx, UUID=xxx and <path> defaults
to /updates.img if missing. See the Anaconda docs for more
details about the path specification. Please note that the
updates image only updates the installation environment and is
completely unrelated to package updates.
(the same syntax is shown also in the usage section)
So, can we please at least fix the documentation if not the code (ideally for all cases where equal sign is needed)? Of course using argparse or optparse would also count :-)
Removing blocker nomination, this is a tiny documentation bug.
It ends up that fixing this is more pain that it is worth. liveinst is passing through all of its args to anaconda so what you are seeing is actually the anaconda help, not liveinst. liveinst is bash, so to be able to handle --updates=foo and --updates foo would mean a rewrite of the argument handling loop and that's just not worth it for a single option that's only used for testing. I understand the cost/benefit ratio, but still I think it's a valid bug, and maybe WONTFIX is too harsh? Could you perhaps adjust argparse to print "--option=VALUE" instead of "--option VALUE" in the help text? That is the lowest common denominator, that would work everywhere. Or at least adding a short note to the beginning of "liveinst --help" output would help a bit. That's the easiest thing that can be done here. Btw, I'm not sure why you say `liveinst --updates` is used only for testing. It's often used by users when there is a bug in anaconda in an already released stable version of Fedora, and they need to work around it. Which has happened quite a few times in the past: https://fedoraproject.org/wiki/Common_F20_bugs#dvd-repo-crash https://fedoraproject.org/wiki/Common_F20_bugs#noefi-doesnt-work https://fedoraproject.org/wiki/Common_F20_bugs#uefi-msdos-label Most of them were not specific to Live image, so we recommended `inst.updates=URL`, but that's not a rule. If `liveinst --help` claims the same functionality, I'd expect quite a few people to actually try to use it. Also, when estimating the cost/benefit ratio, please take into account all those users and QA people, who need to debug why it doesn't work as documented. Most of them are probably smarter than I am, that's why they haven't reported a bug, as I did ;-) I have looked at argparse, and there doesn't seem to be any sane way how to make it format the help page with "option=VALUE" syntax. So probably the easiest way is to include a note in `liveinst --help` output. Not everybody will notice that, but once things don't work for them, there's a high chance they'll look into documentation a few more times and see the warning. It's definitely better than nothing. Here's a patch: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/data/liveinst/liveinst b/data/liveinst/liveinst index 7f67e38..db4bb44 100755 --- a/data/liveinst/liveinst +++ b/data/liveinst/liveinst @@ -18,6 +18,13 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. # +if [[ "$*" =~ "--help" ]]; then + echo 'PLEASE NOTE: When executed through the `liveinst` wrapper, all long option names' + echo 'have to be separated from their values with an `=` sign, not a space, despite of' + echo 'what the documentation claims. I.e. `--option=VALUE`, not `--option VALUE`.' + echo '********************************************************************************' +fi + LIVE_INSTALL=0 IMAGE_INSTALL=0 RESCUE=0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In case bugzilla wrapped the lines improperly, it's also here: http://paste.fedoraproject.org/144894/ Thanks. It is better to just catch this in liveinst and tell the user the right format. Created attachment 951197 [details]
patch to tell user about --updates=<url>
liveinst --update <url> will now complain to the user and exit the script. We can backport this for f21 after beta if we want to. Thanks a lot. anaconda-21.48.14-1.fc21 has been submitted as an update for Fedora 21. https://admin.fedoraproject.org/updates/anaconda-21.48.14-1.fc21 Package anaconda-21.48.14-1.fc21, python-blivet-0.61.9-1.fc21: * should fix your issue, * was pushed to the Fedora 21 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing anaconda-21.48.14-1.fc21 python-blivet-0.61.9-1.fc21' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2014-14928/python-blivet-0.61.9-1.fc21,anaconda-21.48.14-1.fc21 then log in and leave karma (feedback). anaconda-21.48.14-1.fc21, python-blivet-0.61.9-1.fc21 has been pushed to the Fedora 21 stable repository. If problems still persist, please make note of it in this bug report. |