Update Webmin, lose Upstart setting

24 posts / 0 new
Last post
#1 Sun, 08/07/2011 - 13:48
Sam Moore

Update Webmin, lose Upstart setting

Hi - I've just upgraded Webmin to 1.560, and I find the startup action that's been successfully starting Webmin at boot time has gone away. What's more, I can't get it back.

When I visit "Bootup and Shutdown" I select Webmin and press the "Start on Boot" button, which takes me to a message saying "Enabling service webmin at boot time". However when I go back to the Bootup and Shutdown list, Webmin is still not enabled at startup (marked "No" in the column marked "Start at Boot?").

The same thing happens if I visit "Webmin Configuration" - select the radio button that says "Yes" next to "Start at Boot Time", click the button, and the page reloads, but it still displays "No" as being checked.

I've confirmed that in fact Webmin is NOT starting at boot, so the displayed settings are technically correct.

Any idea how I can fix this?

I'll hack the startup script into rc.local if I have to, but that seems wrong...

Sun, 08/07/2011 - 13:58
andreychek

Howdy,

Well, the startup previously worked, and isn't anymore, that may mean you've run into a bug.

My suggestion would be to file a bug report using the Support link above, and to explain there what issues you're running into.

Jamie can then work with you to figure out how to resolve that.

-Eric

Sun, 08/07/2011 - 16:39
Locutus

I can confirm this issue.

After upgrading to Webmin 1.560, the softlink in /etc/rc2.d to Webmin and Usermin disappeared. Like Sam described, the Bootup and Shutdown module consequently lists Webmin as "Start at boot: No". Trying to change that yields the following debug log:

18588 [07/Aug/2011 23:31:31.560276] - 87.79.76.199 - START "script=save_action.cgi"
18588 [07/Aug/2011 23:31:31.560518] - 87.79.76.199 - READ "/etc/webmin/miniserv.conf"
18588 [07/Aug/2011 23:31:31.561019] root 87.79.76.199 - READ "/etc/webmin/init/config"
18588 [07/Aug/2011 23:31:31.561400] root 87.79.76.199 - READ "/usr/share/webmin/virtual-server-theme/config"
18588 [07/Aug/2011 23:31:31.562778] root 87.79.76.199 - READ "/etc/webmin/custom-lang"
18588 [07/Aug/2011 23:31:31.563696] root 87.79.76.199 - READ "/etc/webmin/init/custom-lang"
18588 [07/Aug/2011 23:31:31.564531] root 87.79.76.199 - READ "/etc/webmin/module.infos.cache"
18588 [07/Aug/2011 23:31:31.591452] root 87.79.76.199 - READ "/usr/share/webmin//defaultacl"
18588 [07/Aug/2011 23:31:31.591817] root 87.79.76.199 - READ "/etc/webmin/root.acl"
18588 [07/Aug/2011 23:31:31.592086] root 87.79.76.199 - READ "/etc/webmin//root.acl"
18588 [07/Aug/2011 23:31:31.592330] root 87.79.76.199 - READ "/etc/webmin/installed.cache"
18588 [07/Aug/2011 23:31:31.593856] root 87.79.76.199 - READ "/usr/share/webmin/init/module.info"
18588 [07/Aug/2011 23:31:31.594318] root 87.79.76.199 - READ "/etc/webmin/webmin.cats"
18588 [07/Aug/2011 23:31:31.594534] root 87.79.76.199 - READ "/etc/webmin/webmin.descs"
18588 [07/Aug/2011 23:31:31.596703] root 87.79.76.199 init READ "/usr/share/webmin/init/defaultacl"
18588 [07/Aug/2011 23:31:31.597006] root 87.79.76.199 init READ "/etc/webmin/init/root.acl"
18588 [07/Aug/2011 23:31:31.601567] root 87.79.76.199 init CMD "cmd=initctl status webmin 2>&1"
18588 [07/Aug/2011 23:31:31.606561] root 87.79.76.199 init READ "/etc/webmin/inittab/config"
18588 [07/Aug/2011 23:31:31.606920] root 87.79.76.199 init CMD "cmd=runlevel"
18588 [07/Aug/2011 23:31:31.611489] root 87.79.76.199 init READ "/etc/init.d/webmin"
18588 [07/Aug/2011 23:31:31.689409] root 87.79.76.199 init WRITE "/etc/init.d/webmin"
18588 [07/Aug/2011 23:31:31.689902] root 87.79.76.199 init CLOSE "/etc/init.d/webmin"
18588 [07/Aug/2011 23:31:31.690210] root 87.79.76.199 init READ "/etc/selinux/config"
18588 [07/Aug/2011 23:31:31.690813] root 87.79.76.199 init CMD "cmd=diff \/etc\/init\.d\/webmin\.webminorig \/etc\/init\.d\/webmin 2>/dev/null"
18588 [07/Aug/2011 23:31:31.725504] root 87.79.76.199 - UNLINK "/etc/init.d/webmin.lock"
18588 [07/Aug/2011 23:31:31.726127] root 87.79.76.199 - UNLINK "/etc/init.d/webmin.webmintmp.18588"
18588 [07/Aug/2011 23:31:31.726592] root 87.79.76.199 - STOP "runtime=0"

Webmin is trying to run initctl to change its bootup mode? This results in:

root@carina ~ # initctl status webmin
initctl: Unknown job: webmin

It should be using update-rc.d to create the softlinks.

Sun, 08/07/2011 - 16:42
Locutus

Update:

Manually adding Webmin to the startup softlinks via update-rc.d webmin default worked. Link was created, and Webmin lists "At boot: yes".

Removing the link through Webmin worked too.

Re-adding it through Webmin fails, like before.

Sun, 08/07/2011 - 16:46
Locutus

Debug log for removing the softlinks through Webmin:

20794 [07/Aug/2011 23:43:42.891003] - 87.79.76.199 - START "script=save_action.cgi"
20794 [07/Aug/2011 23:43:42.891205] - 87.79.76.199 - READ "/etc/webmin/miniserv.conf"
20794 [07/Aug/2011 23:43:42.891631] root 87.79.76.199 - READ "/etc/webmin/init/config"
20794 [07/Aug/2011 23:43:42.891893] root 87.79.76.199 - READ "/usr/share/webmin/virtual-server-theme/config"
20794 [07/Aug/2011 23:43:42.893158] root 87.79.76.199 - READ "/etc/webmin/custom-lang"
20794 [07/Aug/2011 23:43:42.893893] root 87.79.76.199 - READ "/etc/webmin/init/custom-lang"
20794 [07/Aug/2011 23:43:42.894595] root 87.79.76.199 - READ "/etc/webmin/module.infos.cache"
20794 [07/Aug/2011 23:43:42.917760] root 87.79.76.199 - READ "/usr/share/webmin//defaultacl"
20794 [07/Aug/2011 23:43:42.918120] root 87.79.76.199 - READ "/etc/webmin/root.acl"
20794 [07/Aug/2011 23:43:42.918360] root 87.79.76.199 - READ "/etc/webmin//root.acl"
20794 [07/Aug/2011 23:43:42.918597] root 87.79.76.199 - READ "/etc/webmin/installed.cache"
20794 [07/Aug/2011 23:43:42.919855] root 87.79.76.199 - READ "/usr/share/webmin/init/module.info"
20794 [07/Aug/2011 23:43:42.920264] root 87.79.76.199 - READ "/etc/webmin/webmin.cats"
20794 [07/Aug/2011 23:43:42.920453] root 87.79.76.199 - READ "/etc/webmin/webmin.descs"
20794 [07/Aug/2011 23:43:42.922058] root 87.79.76.199 init READ "/usr/share/webmin/init/defaultacl"
20794 [07/Aug/2011 23:43:42.922315] root 87.79.76.199 init READ "/etc/webmin/init/root.acl"
20794 [07/Aug/2011 23:43:42.925524] root 87.79.76.199 init CMD "cmd=initctl status webmin 2>&1"
20794 [07/Aug/2011 23:43:42.929690] root 87.79.76.199 init READ "/etc/webmin/inittab/config"
20794 [07/Aug/2011 23:43:42.930001] root 87.79.76.199 init CMD "cmd=runlevel"
20794 [07/Aug/2011 23:43:42.991121] root 87.79.76.199 init READ "/etc/init.d/webmin"
20794 [07/Aug/2011 23:43:42.992585] root 87.79.76.199 init UNLINK "/etc//rc2.d/S20webmin"
20794 [07/Aug/2011 23:43:42.993019] root 87.79.76.199 init UNLINK "/etc//rc3.d/S20webmin"
20794 [07/Aug/2011 23:43:42.993454] root 87.79.76.199 init UNLINK "/etc//rc4.d/S20webmin"
20794 [07/Aug/2011 23:43:42.993866] root 87.79.76.199 init UNLINK "/etc//rc5.d/S20webmin"
20794 [07/Aug/2011 23:43:42.995068] root 87.79.76.199 init UNLINK "/etc//rc0.d/K20webmin"
20794 [07/Aug/2011 23:43:42.995587] root 87.79.76.199 init UNLINK "/etc//rc1.d/K20webmin"
20794 [07/Aug/2011 23:43:42.996069] root 87.79.76.199 init UNLINK "/etc//rc6.d/K20webmin"
20794 [07/Aug/2011 23:43:42.996545] root 87.79.76.199 init WRITE "/etc/init.d/webmin"
20794 [07/Aug/2011 23:43:42.996854] root 87.79.76.199 init CLOSE "/etc/init.d/webmin"
20794 [07/Aug/2011 23:43:42.997019] root 87.79.76.199 init READ "/etc/selinux/config"
20794 [07/Aug/2011 23:43:42.997363] root 87.79.76.199 init CMD "cmd=diff \/etc\/init\.d\/webmin\.webminorig \/etc\/init\.d\/webmin 2>/dev/null"
20794 [07/Aug/2011 23:43:43.028411] root 87.79.76.199 - UNLINK "/etc/init.d/webmin.lock"
20794 [07/Aug/2011 23:43:43.028752] root 87.79.76.199 - UNLINK "/etc//rc2.d/S20webmin.lock"
20794 [07/Aug/2011 23:43:43.029095] root 87.79.76.199 - UNLINK "/etc//rc3.d/S20webmin.lock"
20794 [07/Aug/2011 23:43:43.029461] root 87.79.76.199 - UNLINK "/etc//rc4.d/S20webmin.lock"
20794 [07/Aug/2011 23:43:43.029843] root 87.79.76.199 - UNLINK "/etc//rc5.d/S20webmin.lock"
20794 [07/Aug/2011 23:43:43.030213] root 87.79.76.199 - UNLINK "/etc//rc0.d/K20webmin.lock"
20794 [07/Aug/2011 23:43:43.030585] root 87.79.76.199 - UNLINK "/etc//rc1.d/K20webmin.lock"
20794 [07/Aug/2011 23:43:43.030969] root 87.79.76.199 - UNLINK "/etc//rc6.d/K20webmin.lock"
20794 [07/Aug/2011 23:43:43.031362] root 87.79.76.199 - UNLINK "/etc/init.d/webmin.webmintmp.20794"
20794 [07/Aug/2011 23:43:43.031835] root 87.79.76.199 - STOP "runtime=1"

Note the unlink commands for /etc//rc*.d (superfluous /? works anyway).

There are no associated link commands when trying to re-add the softlinks through Webmin.

Sun, 08/07/2011 - 16:49
Locutus

I created an issue tracker entry.

Sun, 08/07/2011 - 19:52
Tue, 08/09/2011 - 14:42
Locutus

@Sam: As concluded in the issue tracker entry, after quite some back-and-forth between Jamie and me :), it turned out to be an Upstart/insserv related problem.

Try if the following fixes the problem for you. Locate the file /lib/init/upstart-job and insert the following part before the line near the end that contains the text *)

lsb-header)
    $ECHO "### BEGIN INIT INFO"
    $ECHO "# Provides:          $JOB"
    $ECHO "# Required-Start:"
    $ECHO "# Required-Stop:"
    $ECHO "# Should-Start:"
    $ECHO "# Should-Stop:"
    $ECHO "# Default-Start:"
    $ECHO "# Default-Stop:"
    $ECHO "# Short-Description: $JOB, converted to upstart."
    $ECHO "### END INIT INFO"
    ;;

When you then run the insserv command, you should not get any errors about "lsb-header not valid for upstart jobs" or about "loops in services".

Then the Bootup and Shutdown page on Webmin should work again. For me, it does. :)

Thu, 08/11/2011 - 15:15 (Reply to #8)
Sam Moore

Perfect - thanks :-)

And PS - much kudos to locutus for excellent troubleshooting and advice.

Fri, 08/19/2011 - 12:35 (Reply to #9)
fade2gray

While I have successfully used this fix on two Virtualbox installations, one of the Vbox (after applying the fix) reports the following at every boot:-

/dev/sda1 was not cleanly unmounted, check forced.
Your disk drives are being checked for errors, this may take some time
Press C to cancel all checks currently in progress
/dev/sda1: 206/124496 files (1.9% non-contiguous, 31943/248832 blocks

mountall: fsck /boot [260] terminted with status 1
etc.
etc.

The only difference between the Vbox installations is, the one making that report had the harddrive configured with LVM during partition configuration (not encrypted).

Everything appears to be running fine on both, apart from that forced check at every boot on that one Vbox.

Anyone else come across this? Anyone know how I can 'fix' this?

Thanks for any advice.

Fri, 08/19/2011 - 17:43 (Reply to #10)
Locutus

Hmm, I don't really think that this unmount issue is related to the fix in upstart-job. I can't see how the two should have anything to do with each other.

Can you double-check this by "unfixing" the fix, and see if you still get the unmount-fsck thing then?

Sat, 08/20/2011 - 20:33 (Reply to #11)
fade2gray

Removing the fix didn't resolve the problem.

I made a clean Virtualbox install with a video of the procedure I followed:-

http://youtu.be/ve8KGM4imFA?hd=1

Tue, 08/23/2011 - 08:07 (Reply to #12)
fade2gray

After much experimentation, it appears that the unmount issue only occurs after applying the fix to '/lib/init/upstart-job' then running '/etc/init.d/webmin start' during a clean installation of Ubuntu 10.04 and Virtualmin.

Reversing the fix and disabling Webmin from running at boot does not resolve the issue.

Any further thoughts on this?

Wed, 08/10/2011 - 19:23
MDS85

I've run into this too, yesterday after a kernel update I restarted the server just to realize I could no longer connect to webmin/virtualmin after the server was online again. After a brief and minor spasm I restarted it from shell.

Should maybe release a notice since this probably effects all Ubuntu 10.04 servers.

Cheers to Locutus for all of his research!

Thu, 08/11/2011 - 02:10
Locutus

I think the reason for this hassle is a bug in Ubuntu. The insserv command does not work properly, at least at some point, due to the erroneous "upstart-job" script, and Webmin is trying to make use of it to set its startup.

But putting out a warning, combined with a hint how to fix it, would sure be a nice thing. :)

Thu, 08/11/2011 - 10:00
andreychek

Howdy.

What would be a good way to notify people of this problem? Would stickying this particular thread help? Perhaps a note in the News forum that includes the fix?

-Eric

Thu, 08/25/2011 - 18:24
silversword411

Have an Ubuntu 10.04 here, and troubleshooting the same problem so I'd say it's Ubuntu 10.04-wide. Hope a sudo apt-get update then sudo apt-get upgrade will fix things at some point in the future...manual fixing gets tedious.

Here's the summary for others coming along on how to fix the problem. I learned some more about ubuntu going thru this, hopefully the below will also help others like me :)

Verify problem
1) login via ssh and check webmin status
"sudo service webmin status" - This will report webmin not running
"sudo service webmin start" - manually starts webmin for this session
2) Open webmin and goto System | Bootup and Shutdown. Try and enable webmin to start at boot. You will see it won't update start at boot status.

Fix problem - per Locutus thanks!
1) In ssh
"sudo vim /lib/init/upstart-job"
2) and insert the following part before the line near the end that contains the text *)

lsb-header)
$ECHO "### BEGIN INIT INFO"
$ECHO "# Provides: $JOB"
$ECHO "# Required-Start:"
$ECHO "# Required-Stop:"
$ECHO "# Should-Start:"
$ECHO "# Should-Stop:"
$ECHO "# Default-Start:"
$ECHO "# Default-Stop:"
$ECHO "# Short-Description: $JOB, converted to upstart."
$ECHO "### END INIT INFO"
;;

3) run "sudo insserv"
4) Go back to your webmin | Bootup and Shutdown. Enable webmin to start at boot. Setting updates. Yay!
5) Be happy and at peace with the world :)

Thu, 08/25/2011 - 18:36 (Reply to #17)
silversword411

Trying to implement this fix on another server, and apparently it doesn't work now.

Back to the head-banging board.

Tue, 09/13/2011 - 08:53 (Reply to #18)
cyb3rc0n

I have the same issue with Webmin 1.560 Upstart... I recently have to throw this command # /etc/init.d/webmin start to access Webmin remotely.

Thanks to Locutus for this insert the following part before the line near the end that contains the text *)

lsb-header) $ECHO "### BEGIN INIT INFO" $ECHO "# Provides: $JOB" $ECHO "# Required-Start:" $ECHO "# Required-Stop:" $ECHO "# Should-Start:" $ECHO "# Should-Stop:" $ECHO "# Default-Start:" $ECHO "# Default-Stop:" $ECHO "# Short-Description: $JOB, converted to upstart." $ECHO "### END INIT INFO" ;;

Works great for me. Thanks again!

Thu, 08/25/2011 - 19:36
andreychek

Howdy,

A quick and simple way to fix this particular issue would be to run this command:

update-rc.d webmin defaults

Fri, 08/26/2011 - 05:22 (Reply to #20)
fade2gray

Thanks Eric - excellent - works for me.

What I did was:-

Edit the Virtualmin install.sh script to include "update-rc.d webmin defaults" (without the quotes and just before Exit 0 at the end of the script).

Run ./install.sh

Run sudo reboot.

Voila - everything OK.

Note: this fix makes it unnecessary to edit /lib/init/upstart job as previously mentioned in this thread.

Note: This fix also resolves the LVM/unmount issue previously mentioned by myself in this thread.

Tue, 09/13/2011 - 20:22 (Reply to #21)
fade2gray

Just discovered this command needs to be run also:-

update-rc.d usermin defaults

Fri, 08/26/2011 - 10:16
andreychek

Great, I'm glad that worked!

This will all be automatically handled in the next Webmin release.

-Eric

Thu, 11/10/2011 - 06:09
helpmin

Great, it worked. Let's hope that Webmin will also add support for systemd. (Since upstart probably won't be there forever :-)

Topic locked