D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
self
/
root
/
opt
/
saltstack
/
salt
/
lib
/
python3.10
/
site-packages
/
salt
/
modules
/
Filename :
solaris_system.py
back
Copy
""" Support for reboot, shutdown, etc This module is assumes we are using solaris-like shutdown .. versionadded:: 2016.3.0 """ import salt.utils.path import salt.utils.platform # Define the module's virtual name __virtualname__ = "system" def __virtual__(): """ Only supported on Solaris-like systems """ if not salt.utils.platform.is_sunos() or not salt.utils.path.which("shutdown"): return ( False, "The system execution module failed to load: only available on " "Solaris-like ystems with shutdown command.", ) return __virtualname__ def halt(): """ Halt a running system CLI Example: .. code-block:: bash salt '*' system.halt """ return shutdown() def init(state): """ Change the system runlevel on sysV compatible systems CLI Example: state : string Init state .. code-block:: bash salt '*' system.init 3 .. note: state 0 Stop the operating system. state 1 State 1 is referred to as the administrative state. In state 1 file systems required for multi-user operations are mounted, and logins requiring access to multi-user file systems can be used. When the system comes up from firmware mode into state 1, only the console is active and other multi-user (state 2) services are unavailable. Note that not all user processes are stopped when transitioning from multi-user state to state 1. state s, S State s (or S) is referred to as the single-user state. All user processes are stopped on transitions to this state. In the single-user state, file systems required for multi-user logins are unmounted and the system can only be accessed through the console. Logins requiring access to multi-user file systems cannot be used. state 5 Shut the machine down so that it is safe to remove the power. Have the machine remove power, if possible. The rc0 procedure is called to perform this task. state 6 Stop the operating system and reboot to the state defined by the initdefault entry in /etc/inittab. The rc6 procedure is called to perform this task. """ cmd = ["shutdown", "-i", state, "-g", "0", "-y"] ret = __salt__["cmd.run"](cmd, python_shell=False) return ret def poweroff(): """ Poweroff a running system CLI Example: .. code-block:: bash salt '*' system.poweroff """ return shutdown() def reboot(delay=0, message=None): """ Reboot the system delay : int Optional wait time in seconds before the system will be rebooted. message : string Optional message to broadcast before rebooting. CLI Example: .. code-block:: bash salt '*' system.reboot salt '*' system.reboot 60 "=== system upgraded ===" """ cmd = ["shutdown", "-i", "6", "-g", delay, "-y"] if message: cmd.append(message) ret = __salt__["cmd.run"](cmd, python_shell=False) return ret def shutdown(delay=0, message=None): """ Shutdown a running system delay : int Optional wait time in seconds before the system will be shutdown. message : string Optional message to broadcast before rebooting. CLI Example: .. code-block:: bash salt '*' system.shutdown salt '*' system.shutdown 60 "=== disk replacement ===" """ cmd = ["shutdown", "-i", "5", "-g", delay, "-y"] if message: cmd.append(message) ret = __salt__["cmd.run"](cmd, python_shell=False) return ret