mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
[enh] Add reboot/shutdown actions in tools (#190)
* [enh] Implements shutdown/reboot helpers. * [enh] Improve reboot/shutdown help.
This commit is contained in:
parent
cd9444f647
commit
02ea0c0656
3 changed files with 58 additions and 1 deletions
|
@ -1478,6 +1478,26 @@ tools:
|
||||||
extra:
|
extra:
|
||||||
pattern: *pattern_port
|
pattern: *pattern_port
|
||||||
|
|
||||||
|
### tools_shutdown()
|
||||||
|
shutdown:
|
||||||
|
action_help: Shutdown the server
|
||||||
|
api: PUT /shutdown
|
||||||
|
arguments:
|
||||||
|
-f:
|
||||||
|
help: skip the shutdown confirmation
|
||||||
|
full: --force
|
||||||
|
action: store_true
|
||||||
|
|
||||||
|
### tools_reboot()
|
||||||
|
reboot:
|
||||||
|
action_help: Reboot the server
|
||||||
|
api: PUT /reboot
|
||||||
|
arguments:
|
||||||
|
-f:
|
||||||
|
help: skip the reboot confirmation
|
||||||
|
full: --force
|
||||||
|
action: store_true
|
||||||
|
|
||||||
subcategories:
|
subcategories:
|
||||||
|
|
||||||
migrations:
|
migrations:
|
||||||
|
|
|
@ -276,6 +276,10 @@
|
||||||
"restore_running_app_script": "Running restore script of app '{app:s}'...",
|
"restore_running_app_script": "Running restore script of app '{app:s}'...",
|
||||||
"restore_running_hooks": "Running restoration hooks...",
|
"restore_running_hooks": "Running restoration hooks...",
|
||||||
"restore_system_part_failed": "Unable to restore the '{part:s}' system part",
|
"restore_system_part_failed": "Unable to restore the '{part:s}' system part",
|
||||||
|
"server_shutdown": "The server will shutdown",
|
||||||
|
"server_shutdown_confirm": "The server will shutdown immediatly, are you sure? [{answers:s}]",
|
||||||
|
"server_reboot": "The server will reboot",
|
||||||
|
"server_reboot_confirm": "The server will reboot immediatly, are you sure? [{answers:s}]",
|
||||||
"service_add_failed": "Unable to add service '{service:s}'",
|
"service_add_failed": "Unable to add service '{service:s}'",
|
||||||
"service_added": "The service '{service:s}' has been added",
|
"service_added": "The service '{service:s}' has been added",
|
||||||
"service_already_started": "Service '{service:s}' has already been started",
|
"service_already_started": "Service '{service:s}' has already been started",
|
||||||
|
|
|
@ -39,7 +39,7 @@ from importlib import import_module
|
||||||
import apt
|
import apt
|
||||||
import apt.progress
|
import apt.progress
|
||||||
|
|
||||||
from moulinette import msettings, m18n
|
from moulinette import msettings, msignals, m18n
|
||||||
from moulinette.core import MoulinetteError, init_authenticator
|
from moulinette.core import MoulinetteError, init_authenticator
|
||||||
from moulinette.utils.log import getActionLogger
|
from moulinette.utils.log import getActionLogger
|
||||||
from moulinette.utils.filesystem import read_json, write_to_json
|
from moulinette.utils.filesystem import read_json, write_to_json
|
||||||
|
@ -632,6 +632,39 @@ def tools_port_available(port):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
def tools_shutdown(force=False):
|
||||||
|
shutdown = force
|
||||||
|
if not shutdown:
|
||||||
|
try:
|
||||||
|
# Ask confirmation for server shutdown
|
||||||
|
i = msignals.prompt(m18n.n('server_shutdown_confirm', answers='y/N'))
|
||||||
|
except NotImplemented:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
if i.lower() == 'y' or i.lower() == 'yes':
|
||||||
|
shutdown = True
|
||||||
|
|
||||||
|
if shutdown:
|
||||||
|
logger.warn(m18n.n('server_shutdown'))
|
||||||
|
subprocess.check_call(['systemctl', 'poweroff'])
|
||||||
|
|
||||||
|
|
||||||
|
def tools_reboot(force=False):
|
||||||
|
reboot = force
|
||||||
|
if not reboot:
|
||||||
|
try:
|
||||||
|
# Ask confirmation for restoring
|
||||||
|
i = msignals.prompt(m18n.n('server_reboot_confirm', answers='y/N'))
|
||||||
|
except NotImplemented:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
if i.lower() == 'y' or i.lower() == 'yes':
|
||||||
|
reboot = True
|
||||||
|
if reboot:
|
||||||
|
logger.warn(m18n.n('server_reboot'))
|
||||||
|
subprocess.check_call(['systemctl', 'reboot'])
|
||||||
|
|
||||||
|
|
||||||
def tools_migrations_list():
|
def tools_migrations_list():
|
||||||
"""
|
"""
|
||||||
List existing migrations
|
List existing migrations
|
||||||
|
|
Loading…
Add table
Reference in a new issue