Bug 1473880

Summary: when using livemedia-creator in mock, error is thrown
Product: [Fedora] Fedora Reporter: donatom <donatom.martino>
Component: loraxAssignee: Brian Lane <bcl>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 25CC: a.hussien, anaconda-maint-list, bcl, dennis, jdisnard, jkonecny, kevin, mebrown, mike, msimacek, msuchy, upgradeservices, williams
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-11-16 21:51:47 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 Flags
terminal readout (in mock) of livemedia-creator command with error none

Description donatom 2017-07-22 00:34:08 UTC
Created attachment 1302577 [details]
terminal readout (in mock) of livemedia-creator command with error

Description of problem: when trying to create a live fedora iso in mock, live-media stops due to losetup not finding a loop device


Version-Release number of selected component (if applicable): mock 1.4.2


How reproducible:

very
Steps to Reproduce:
1.in mock, enter command:  livemedia-creator --ks flat-fedora-live-xfce.ks --no-virt --resultdir /var/lmc --project Fedora-xfce-Live --make-iso --volid Fedora-xfce-26 --iso-only --iso-name Fedora-xfce-26-x86_64.iso --releasever 26 --title Fedora-xfce-live

2. after approximately 10 seconds, livemedia-creator halts with error
3.

Actual results: raise subprocess.CalledProcessError(proc.returncode, argv, output)
subprocess.CalledProcessError: Command '['losetup', '--find', '--show', '/var/lmc/lmc-disk-x0i95bem.img']' returned non-zero exit status 1 (livemedia-creator stops)


Expected results: livemedia-creator creates live iso according to flat-ks file


Additional info: 4 fedora users (at least), including the fedoraforum administrator have run into exact same problem

Comment 1 Kevin Fenzi 2017-07-22 01:18:25 UTC
Moving to lorax (where livemedia-creator lives).

Comment 2 Brian Lane 2017-07-24 15:16:05 UTC
You need to make sure mock is setup to have /dev/loop* included. This was added in mock 1.2.12

Comment 3 Mike Simms 2017-07-24 22:29:43 UTC
I only found this referring to /dev/loop creation in the upstream lorax guide near the end of it AFTER reading your answer Brian so thanks for the pointer.

http://lorax.readthedocs.io/en/latest/livemedia-creator.html#using-mock-to-create-images

It categorically needs to be made more evident that it is a compulsory step in the fedora wiki.

The following regarding mock clearly isn't sufficient on it's own:

"mock
you should always do all work in mock, this will allow you to ensure that the compose environment matches the target environment

to setup a Fedora 26 x86_64 environment you would run the following

$ mock -r fedora-26-x86_64 --init
$ mock -r fedora-26-x86_64 --install lorax-lmc-novirt git vim-minimal pykickstart

if you wanted a different arch or release you would use the correct mock configuration file"

Comment 4 Brian Lane 2017-07-25 00:36:57 UTC
I see what's going on, I should update the lorax docs, and the wiki should be updated as well.

loop support was added to mock, but you have to turn on internal_dev_setup OR follow the lorax directions. The right way is to just turn on the internal setup.

Comment 5 Fedora End Of Life 2017-07-26 00:26:58 UTC
This message is a reminder that Fedora 24 is nearing its end of life.
Approximately 2 (two) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 24. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '24'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not
able to fix it before Fedora 24 is end of life. If you would still like
to see this bug fixed and are able to reproduce it against a later version
of Fedora, you are encouraged  change the 'version' to a later Fedora
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

Comment 6 donatom 2017-07-26 01:51:08 UTC
I have followed Brian Lane's lorax wiki concerning mock; however, I still get the same error referring to losetup.

Here is a printout from terminal:

[donatom@unknown801f0290c59d ~]$ mock -r fedora-26-x86_64 --chroot -- livemedia-creator --no-virt --resultdir=/home/donatom/results/try-1 --logfile=/home/donatom/results/logs/try-1/try-1.log --make-iso  --ks /root/flat-fedora-live-xfce.ks
INFO: mock.py version 1.4.2 starting (python version = 3.5.3)...
Start: init plugins
INFO: selinux disabled
Finish: init plugins
Start: run
Start: chroot init
INFO: calling preinit hooks
INFO: enabled root cache
INFO: enabled dnf cache
Start: cleaning dnf metadata
Finish: cleaning dnf metadata
INFO: enabled HW Info plugin
Mock Version: 1.4.2
INFO: Mock Version: 1.4.2
Finish: chroot init
INFO: Running in chroot: ['livemedia-creator', '--no-virt', '--resultdir=/home/donatom/results/try-1', '--logfile=/home/donatom/results/logs/try-1/try-1.log', '--make-iso', '--ks', '/root/flat-fedora-live-xfce.ks']
Start: chroot ['livemedia-creator', '--no-virt', '--resultdir=/home/donatom/results/try-1', '--logfile=/home/donatom/results/logs/try-1/try-1.log', '--make-iso', '--ks', '/root/flat-fedora-live-xfce.ks']
2017-07-25 18:34:48,896: disk_img = /home/donatom/results/try-1/lmc-disk-3rw1ak_9.img
2017-07-25 18:34:48,897: Using disk size of 8196MiB
Traceback (most recent call last):
  File "/usr/sbin/livemedia-creator", line 1476, in <module>
    main()
  File "/usr/sbin/livemedia-creator", line 1393, in main
    disk_img = make_image(opts, ks)
  File "/usr/sbin/livemedia-creator", line 1080, in make_image
    novirt_install(opts, disk_img, disk_size)
  File "/usr/sbin/livemedia-creator", line 747, in novirt_install
    mkext4img(None, disk_img, label=opts.fs_label, size=disk_size * 1024**2)
  File "/usr/lib/python3.6/site-packages/pylorax/imgutils.py", line 442, in mkext4img
    mkfsargs=["-L", label, "-b", "4096", "-m", "0"], graft=graft)
  File "/usr/lib/python3.6/site-packages/pylorax/imgutils.py", line 417, in mkfsimage
    with LoopDev(outfile, size) as loopdev:
  File "/usr/lib/python3.6/site-packages/pylorax/imgutils.py", line 297, in __enter__
    self.loopdev = loop_attach(self.filename)
  File "/usr/lib/python3.6/site-packages/pylorax/imgutils.py", line 154, in loop_attach
    dev = runcmd_output(["losetup", "--find", "--show", outfile])
  File "/usr/lib/python3.6/site-packages/pylorax/executils.py", line 347, in runcmd_output
    return execWithCapture(cmd[0], cmd[1:], **kwargs)
  File "/usr/lib/python3.6/site-packages/pylorax/executils.py", line 249, in execWithCapture
    reset_handlers=reset_handlers, reset_lang=reset_lang)[1]
  File "/usr/lib/python3.6/site-packages/pylorax/executils.py", line 201, in _run_program
    raise subprocess.CalledProcessError(proc.returncode, argv, output)
subprocess.CalledProcessError: Command '['losetup', '--find', '--show', '/home/donatom/results/try-1/lmc-disk-3rw1ak_9.img']' returned non-zero exit status 1.
Finish: chroot ['livemedia-creator', '--no-virt', '--resultdir=/home/donatom/results/try-1', '--logfile=/home/donatom/results/logs/try-1/try-1.log', '--make-iso', '--ks', '/root/flat-fedora-live-xfce.ks']
ERROR: Command failed: 
 # /usr/bin/systemd-nspawn -q -M 16d7e80bc5a84c6c93121b4e384480ef -D /var/lib/mock/fedora-26-x86_64/root -a --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin --setenv=LANG=en_US.utf8 --setenv=SHELL=/bin/bash --setenv=HOSTNAME=mock --setenv=HOME=/builddir --setenv=PS1=<mock-chroot> \s-\v\$  --setenv=PROMPT_COMMAND=printf "\033]0;<mock-chroot>\007" --setenv=TERM=vt100 livemedia-creator --no-virt --resultdir=/home/donatom/results/try-1 --logfile=/home/donatom/results/logs/try-1/try-1.log --make-iso --ks /root/flat-fedora-live-xfce.ks

Comment 7 Brian Lane 2017-07-26 15:42:04 UTC
That means that, for whatever reason, loop wasn't setup in the mock. Try running it with mock -r fedora-26-x86_64 --shell and looking in /dev/ for the loop* nodes. If they aren't there then you need to adjust the config.

Comment 8 donatom 2017-07-26 21:45:59 UTC
Here is /dev/ (there are no loop nodes):

<mock-chroot> sh-4.4# ls /dev/
console  fd    net   ptmx  random  stderr  stdout  urandom
core     full  null  pts   shm     stdin   tty     zero


Here is mock.cfg which I set up following your mock wiki:

config_opts['chroot_setup_cmd'] = 'install @buildsys-build anaconda-tui lorax'

# NOTE that this actually needs to be set in site-defaults.cfg
config_opts['internal_dev_setup'] = False

# Mount the relevant host paths inside the mock /dev/
config_opts['plugin_conf']['bind_mount_enable'] = True
config_opts['plugin_conf']['bind_mount_opts']['dirs'].append(('/dev','/dev/'))
config_opts['plugin_conf']['bind_mount_opts']['dirs'].append(('/dev/pts','/dev/pts/'))
config_opts['plugin_conf']['bind_mount_opts']['dirs'].append(('/dev/shm','/dev/shm/'))

# build results go into /home/builder/results/
config_opts['plugin_conf']['bind_mount_opts']['dirs'].append(('/home/builder/results','/results/'))
config_opts['package_manager'] = 'dnf'

config_opts['yum.conf'] = """
[main]
keepcache=1
debuglevel=2
reposdir=/dev/null
logfile=/var/log/yum.log
retries=20
obsoletes=1
gpgcheck=0
assumeyes=1
syslog_ident=mock
syslog_device=
install_weak_deps=0


Here is spot in /etc/mock/site-defaults.cfg where I turned on internal_dev_settup:

# mock will normally set up a minimal chroot /dev.
# If you want to use a pre-configured /dev, disable this and use the bind-mount
# plugin to mount your special /dev
config_opts['internal_dev_setup'] = True 


I believe I followed all of your instructions for setting up mock. When you say "you need to adjust the config" (I think you are referring to mock.cfg -- but I guess you could perhaps be referring to site-defaults.cfg ), what exactly do you mean?

Comment 9 donatom 2017-07-26 22:22:29 UTC
I am no longer getting the losetup error; however, mock still halts complaining that "2017-07-26 15:16:20,217: The results_dir (/results/try-1) should not exist, please delete or move its contents" 


Here is the complete output in terminal:


[donatom@localhost Desktop]$ mock -r fedora-26-x86_64 --chroot -- livemedia-creator --no-virt --resultdir=/results/try-1 --logfile=/results/logs/try-1/try-1.log --make-iso  --ks /root/flat-fedora-live-xfce.ks
INFO: mock.py version 1.4.2 starting (python version = 3.5.3)...
Start: init plugins
INFO: selinux disabled
Finish: init plugins
Start: run
Start: chroot init
INFO: calling preinit hooks
INFO: enabled root cache
INFO: enabled dnf cache
Start: cleaning dnf metadata
Finish: cleaning dnf metadata
INFO: enabled HW Info plugin
Mock Version: 1.4.2
INFO: Mock Version: 1.4.2
Finish: chroot init
INFO: Running in chroot: ['livemedia-creator', '--no-virt', '--resultdir=/results/try-1', '--logfile=/results/logs/try-1/try-1.log', '--make-iso', '--ks', '/root/flat-fedora-live-xfce.ks']
Start: chroot ['livemedia-creator', '--no-virt', '--resultdir=/results/try-1', '--logfile=/results/logs/try-1/try-1.log', '--make-iso', '--ks', '/root/flat-fedora-live-xfce.ks']
2017-07-26 15:16:20,217: The results_dir (/results/try-1) should not exist, please delete or move its contents
Finish: chroot ['livemedia-creator', '--no-virt', '--resultdir=/results/try-1', '--logfile=/results/logs/try-1/try-1.log', '--make-iso', '--ks', '/root/flat-fedora-live-xfce.ks']
ERROR: Command failed: 
 # /usr/bin/systemd-nspawn -q -M 421ddcb0c5c249be99161a96628b2de8 -D /var/lib/mock/fedora-26-x86_64/root -a --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin --setenv=PS1=<mock-chroot> \s-\v\$  --setenv=HOME=/builddir --setenv=PROMPT_COMMAND=printf "\033]0;<mock-chroot>\007" --setenv=SHELL=/bin/bash --setenv=HOSTNAME=mock --setenv=TERM=vt100 --setenv=LANG=en_US.utf8 livemedia-creator --no-virt --resultdir=/results/try-1 --logfile=/results/logs/try-1/try-1.log --make-iso --ks /root/flat-fedora-live-xfce.ks

Comment 10 Mike Simms 2017-07-27 07:14:05 UTC
the output directory called top-1 needs to be deleted as well, not just any files it contains during attempts to build an ISO. either that or use a different name for the directory. the lorax program does that, it's nothing to do with mock this time.

Comment 11 Mike Simms 2017-07-27 07:14:36 UTC
sorry, try-1 not top-1

Comment 12 Brian Lane 2017-07-27 18:28:23 UTC
Ok, it ends up mock 1.4 switched to using systemd-nspawn by default for its chroot handling. A worthy goal, but it appears to still have some warts. It breaks both lorax and livemedia-creator.

Try passing --old-chroot to mock and see if that works any better. You should NOT need to change your mock config at all, the default is to include loop devices and you just need to make sure internal_dev_setup is True (which is the default if it is commented out in site-default.cfg

(note that I have not tried this, and that when I did this with a different lorax bug it didn't fix things, so...)

Also:

(In reply to Mike Simms from comment #3)
> I only found this referring to /dev/loop creation in the upstream lorax
> guide near the end of it AFTER reading your answer Brian so thanks for the
> pointer.
> 
> http://lorax.readthedocs.io/en/latest/livemedia-creator.html#using-mock-to-
> create-images

Sorry I didn't catch this earlier, those docs are old and unmaintained. The correct docs are the ones from github, either in the lorax repo or:

https://rhinstaller.github.io/lorax/

I need to figure out how to cancel that rtd account.

Comment 13 donatom 2017-07-29 21:52:46 UTC
Now when I try to run mock in fedora 26, the command to copy the ks file into the mock root directory (mock -r fedora-26-x86_64 --copyin flat-fedora-live-xfce.ks /root/) does not work. Instead of copying the ks file in the mock root directory, it just creates another (empty) root directory. 

I have copied  the ks file manually into mock root, but when I run the livemedia command) in mock. I get an error stating that the ks file does not exist.

Here is the command along with the error message in terminal:



[donatom@arch Desktop]$ mock -r fedora-26-x86_64 --chroot -- livemedia-creator --no-vrt --rsultdir=/results/try-1 --logfile=/results/logs/try-1/try-1.log --make-iso --ks /root/flat-fedora-live-xfce.ks
INFO: mock.py version 1.4.2 starting (python version = 3.6.2)...
Start: init plugins
INFO: selinux disabled
Finish: init plugins
Start: run
Start: chroot init
INFO: calling preinit hooks
INFO: enabled root cache
INFO: /etc/mock/site-defaults.cfg newer than root cache; cache will be rebuilt
INFO: enabled dnf cache
Start: cleaning dnf metadata
Finish: cleaning dnf metadata
INFO: enabled HW Info plugin
Mock Version: 1.4.2
INFO: Mock Version: 1.4.2
Finish: chroot init
INFO: Running in chroot: ['livemedia-creator', '--no-vrt', '--rsultdir=/results/try-1', '--logfile=/results/logs/try-1/try-1.log', '--make-iso', '--ks', '/root/flat-fedora-live-xfce.ks']
Start: chroot ['livemedia-creator', '--no-vrt', '--rsultdir=/results/try-1', '--logfile=/results/logs/try-1/try-1.log', '--make-iso', '--ks', '/root/flat-fedora-live-xfce.ks']
execv(livemedia-creator) failed: No such file or directory
Finish: chroot ['livemedia-creator', '--no-vrt', '--rsultdir=/results/try-1', '--logfile=/results/logs/try-1/try-1.log', '--make-iso', '--ks', '/root/flat-fedora-live-xfce.ks']
ERROR: Command failed: 
 # /usr/bin/systemd-nspawn -q -M 75c1897ff9ee4e4eb15f4aa90c58a097 -D /var/lib/mock/fedora-26-x86_64/root -a --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/builddir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin --setenv=PROMPT_COMMAND=printf "\033]0;<mock-chroot>\007" --setenv=PS1=<mock-chroot> \s-\v\$  --setenv=LANG=en_US.utf8 livemedia-creator --no-vrt --rsultdir=/results/try-1 --logfile=/results/logs/try-1/try-1.log --make-iso --ks /root/flat-fedora-live-xfce.ks


I have run the livemedia-creator command outside of mock and livemedia-creator successfully created a custom fedora 26 iso

Comment 14 ISO 2017-08-22 12:21:18 UTC
Trying to run a shell under mock 1.4.2 using --old-chroot fails. After 1.4.3 was released, this option works fine. I managed to create a custom distro using "mock --old-chroot" but only after a few hiccups that exposed the following issues:

* Under the host operating system, loop-control is created under "/dev/", but no loop devices are created by default.

* In the chroot directory, the same behaviour occurs, the "/dev/" has loop-control but no loop devices.

* When you try to run livemedia-creator in the chroot (or try to run losetup directly, for that matter), it complains giving the same error "losetup: /var/lmc/lmc-disk-kjuuhz4s.img: failed to set up loop device: No such file or directory".
No loop devices are created in the "/dev/" directory under the chroot, but I found out that the loop device files are created under "/dev/" in the host operating system. 

Before livemedia-creator failed, These are the outputs of "ls -l /dev/loop*" on both the chroot and the host os .

<mock-chroot> sh-4.4# ls -l /dev/loop*
crw-rw-rw-. 1 root root 10, 237 Aug 22 07:42 /dev/loop-control


[root@tiger Downloads]# ls -l /dev/loop*
crw-rw----. 1 root disk 10, 237 Aug 22 07:46 /dev/loop-control

After livemedia-creator failed, these were the outputs of "ls -l /dev/loop*" on both the chroot and the host os.

<mock-chroot> sh-4.4# ls -l /dev/loop*
crw-rw-rw-. 1 root root 10, 237 Aug 22 07:42 /dev/loop-control


[root@tiger Downloads]# ls -l /dev/loop*
brw-rw----. 1 root disk  7,   0 Aug 22 07:46 /dev/loop0
crw-rw----. 1 root disk 10, 237 Aug 22 07:46 /dev/loop-control

* If, after "livemedia-creator" fails and the "/dev/loop0" device is created, you exit the chroot shell and then start another chroot shell, the chroot's "/dev/" will mirror the loop devices previously created in the host's "/dev/". In this case, you will find only one loop device in the chroot's "/dev" as follows:

<mock-chroot> sh-4.4# ls -l /dev/loop*
brw-rw-rw-. 1 root root  7,   0 Aug 22 08:05 /dev/loop0
crw-rw-rw-. 1 root root 10, 237 Aug 22 08:05 /dev/loop-control

* If you try to run livemedia-creator once more, initially, it will not complain about the loop device and will proceed with downloading the packages from the repos. At a later stage, it will once again fail when trying to create the iso image, complaining about the loop device once more. This is mainly because it needs another loop device to create the iso image.

* To conclude, If you manually create at least two loop devices under the host's "/dev/" directory before running mock with --old-chroot option, you will be able to use livemedia-creator in this chroot without a problem.

* I believe this is a mock issue which need to be fixed, if the mock developers are planning to maintian the --old-chroot option. I will try to report it as a mock bug later.

Comment 15 ISO 2017-08-22 12:32:06 UTC
I also managed to create the same distro outside mock after running into the following issue:
* If I install more than one keyboard layout on the host on which I am trying to run livemedia-creator, livemedia-creator fails giving the following error:

'us,ara (qwerty)' is not a valid keyboard layout and variant specification.

It seems livemedia-creator cannot handle a comma separated list of keyboard layouts. The string should contain only one keyboard layout.
When I re-installed the host operating system and installed only one keyboard layout (us), livemedia-creator completed successfully.

Comment 16 Brian Lane 2017-08-22 18:32:09 UTC
Sorry, I didn't update this bug with more details. The loop problem is because mock is only creating device nodes in the chroot if they exist on the host.

With this PR - https://github.com/rpm-software-management/mock/pull/107 I am able to use mock --old-chroot without needing to create host loop devices first.

I have not figured out how (or if it can be) made to work with the new systemd-nspawn which seems to overwrite the mock /dev with its own.

Comment 17 Brian Lane 2017-10-05 23:09:52 UTC
*** Bug 1499017 has been marked as a duplicate of this bug. ***

Comment 18 Fedora End Of Life 2017-11-16 19:44:45 UTC
This message is a reminder that Fedora 25 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 25. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '25'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not
able to fix it before Fedora 25 is end of life. If you would still like
to see this bug fixed and are able to reproduce it against a later version
of Fedora, you are encouraged  change the 'version' to a later Fedora
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

Comment 19 Brian Lane 2017-11-16 21:51:47 UTC
Closing this since 'mock --old-chroot' is now unconditionally creating the /dev/loop* nodes.

Comment 20 donatom 2017-11-20 20:30:07 UTC
Brian, is the fact that "--old-chroot" must be used in the mock command in order for it to work correctly noted in the Fedora or Lorax wiki? I haven't been able to find it. Such a notation will prevent mock users from wasting their time.

Comment 21 Brian Lane 2017-11-28 17:32:13 UTC
(In reply to donatom from comment #20)
> Brian, is the fact that "--old-chroot" must be used in the mock command in
> order for it to work correctly noted in the Fedora or Lorax wiki? I haven't
> been able to find it. Such a notation will prevent mock users from wasting
> their time.

Upstream documentation has now been updated.
https://rhinstaller.github.io/lorax/livemedia-creator.html#using-mock-and-no-virt-to-create-images

Comment 22 Mike Goodwin 2018-02-02 16:22:38 UTC
https://fedoraproject.org/wiki/Livemedia-creator-_How_to_create_and_use_a_Live_CD

This is a very strange situation. I'm getting the ticket's error following the instructions on this page (my first exposure to lorax) and I am definitely using systemd-nspawn. The docs there even mention:

> By default there is no network access in mock. Set config_opts['rpmbuild_networking'] to True if you are using systemd-nspawn. 

Which leads me to believe the person writing this was using systemd-nspawn.

Yet, it still does not work and the docs are not clear on how to work around this bug. Furthermore the links on that page to the upstream documentation is the outdated link like you indicated in comment #12 

Generally speaking having to find the correct path forward in bug tickets is usually not conducive to a good user experience.

Comment 23 Brian Lane 2018-02-02 16:47:31 UTC
I've fixed their link on the wiki, and added a complaint to the discussion page. I only have time to keep upstream docs updated, not various wiki pages so someone else needs to do that, or just link to upstream.