man shutdown:
-P Requests that the system be powered off after it has been
brought down.
...
-h Requests that the system be either halted or powered off after
it has been brought down, with the choice as to which left up to
the system.
Seeing that -P works for you. Now it's a question of why not? The usual cmd to shutdown is shutdown -h now. In old school init based systems there was a config file that tweaks shutdown when entered from this point. From my initial investigation it turns out upstart falls back to init.d scripts to handle this. With global configuration living in /etc/default/halt and the actual script is /etc/init.d/halt.
It looks like "POWEROFF" is the default action, so if you just did halt or shutdown -h or telinit 0, it should also power off.
[/etc/init.d/halt]
# If INIT_HALT=HALT don't poweroff.
poweroff="-p"
if [ "$INIT_HALT" = "HALT" ]
then
poweroff=""
fi
Since INIT_HALT=POWEROFF (defined in /etc/default/halt), that poweroff='-p' stays set. To debug this it should be as simple as adding the vars populated at the end of the script like so.
log_action_msg "Will now halt: $netdown $poweroff $hddown"
I wonder if your shutdown cmds are simply overriding the init configuration? In which case telinit 0should also shutdown the server and should become the first choice in performing this action.
sudo shutdown -P nowmake any difference? – Allu2 Nov 20 '11 at 15:27sudo shutdown -P nowis insufficient for your needs? If you have a GUI, then are you able to shut down by clicking the power/configuration icon at the upper-right corner of the screen and clicking Shut Down? – Eliah Kagan Nov 21 '11 at 3:42