salt.modules.system

Support for reboot, shutdown, etc on POSIX-like systems.

Note

If a wrapper such as molly-guard to intercept interactive shutdown commands is configured, calling system.halt, system.poweroff, system.reboot, and system.shutdown with salt-call will hang indefinitely while the wrapper script waits for user input. Calling them with salt will work as expected.

salt.modules.system.get_computer_desc()

Get PRETTY_HOSTNAME value stored in /etc/machine-info If this file doesn't exist or the variable doesn't exist return False.

Returns:

Value of PRETTY_HOSTNAME in /etc/machine-info. If file/variable does not exist False.

Return type:

str

CLI Example:

salt '*' system.get_computer_desc
salt.modules.system.get_computer_name()

Get hostname.

CLI Example:

salt '*' network.get_hostname
salt.modules.system.get_reboot_required_witnessed()

Note

This only applies to Minions running on NI Linux RT

Determine if at any time during the current boot session the salt minion witnessed an event indicating that a reboot is required.

Returns:

True if the a reboot request was witnessed, False otherwise

Return type:

bool

CLI Example:

salt '*' system.get_reboot_required_witnessed
salt.modules.system.get_system_date(utc_offset=None)

Get the system date

Parameters:

utc_offset (str) -- The UTC offset in 4 digit (+0600) format with an optional sign (+/-). Will default to None which will use the local timezone. To set the time based off of UTC use +0000. Note: If being passed through the command line will need to be quoted twice to allow negative offsets (e.g. "'+0000'").

Returns:

Returns the system date.

Return type:

str

CLI Example:

salt '*' system.get_system_date
salt.modules.system.get_system_date_time(utc_offset=None)

Get the system date/time.

Parameters:

utc_offset (str) -- The UTC offset in 4 digit (+0600) format with an optional sign (+/-). Will default to None which will use the local timezone. To set the time based off of UTC use +0000. Note: If being passed through the command line will need to be quoted twice to allow negative offsets (e.g. "'+0000'").

Returns:

Returns the system time in YYYY-MM-DD hh:mm:ss format.

Return type:

str

CLI Example:

salt '*' system.get_system_date_time "'-0500'"
salt.modules.system.get_system_time(utc_offset=None)

Get the system time.

Parameters:

utc_offset (str) -- The UTC offset in 4 digit (e.g. +0600) format with an optional sign (+/-). Will default to None which will use the local timezone. To set the time based off of UTC use +0000. Note: If being passed through the command line will need to be quoted twice to allow negative offsets (e.g. "'+0000'").

Returns:

Returns the system time in HH:MM:SS AM/PM format.

Return type:

str

CLI Example:

salt '*' system.get_system_time
salt.modules.system.halt()

Halt a running system

CLI Example:

salt '*' system.halt
salt.modules.system.has_settable_hwclock()

Returns True if the system has a hardware clock capable of being set from software.

CLI Example:

salt '*' system.has_settable_hwclock
salt.modules.system.init(runlevel)

Change the system runlevel on sysV compatible systems

CLI Example:

salt '*' system.init 3
salt.modules.system.poweroff()

Poweroff a running system

CLI Example:

salt '*' system.poweroff
salt.modules.system.reboot(at_time=None)

Reboot the system

at_time

The wait time in minutes before the system will be rebooted.

CLI Example:

salt '*' system.reboot
salt.modules.system.set_computer_desc(desc)

Set PRETTY_HOSTNAME value stored in /etc/machine-info This will create the file if it does not exist. If it is unable to create or modify this file, False is returned.

Parameters:

desc (str) -- The computer description

Returns:

False on failure. True if successful.

CLI Example:

salt '*' system.set_computer_desc "Michael's laptop"
salt.modules.system.set_computer_name(hostname)

Modify hostname.

CLI Example:

salt '*' system.set_computer_name master.saltstack.com
salt.modules.system.set_reboot_required_witnessed()

Note

This only applies to Minions running on NI Linux RT

This function is used to remember that an event indicating that a reboot is required was witnessed. This function writes to a temporary filesystem so the event gets cleared upon reboot.

Returns:

True if successful, otherwise False

Return type:

bool

CLI Example:

salt '*' system.set_reboot_required_witnessed
salt.modules.system.set_system_date(newdate, utc_offset=None)

Set the system date. Use <mm-dd-yy> format for the date.

Parameters:

newdate (str) --

The date to set. Can be any of the following formats:

  • YYYY-MM-DD

  • MM-DD-YYYY

  • MM-DD-YY

  • MM/DD/YYYY

  • MM/DD/YY

  • YYYY/MM/DD

CLI Example:

salt '*' system.set_system_date '03-28-13'
salt.modules.system.set_system_date_time(years=None, months=None, days=None, hours=None, minutes=None, seconds=None, utc_offset=None)

Set the system date and time. Each argument is an element of the date, but not required. If an element is not passed, the current system value for that element will be used. For example, if the year is not passed, the current system year will be used. (Used by system.set_system_date and system.set_system_time)

Updates hardware clock, if present, in addition to software (kernel) clock.

Parameters:
  • years (int) -- Years digit, e.g.: 2015

  • months (int) -- Months digit: 1-12

  • days (int) -- Days digit: 1-31

  • hours (int) -- Hours digit: 0-23

  • minutes (int) -- Minutes digit: 0-59

  • seconds (int) -- Seconds digit: 0-59

  • utc_offset (str) -- The UTC offset in 4 digit (+0600) format with an optional sign (+/-). Will default to None which will use the local timezone. To set the time based off of UTC use +0000. Note: If being passed through the command line will need to be quoted twice to allow negative offsets (e.g. "'+0000'").

Returns:

True if successful. Otherwise False.

Return type:

bool

CLI Example:

salt '*' system.set_system_date_time 2015 5 12 11 37 53 "'-0500'"
salt.modules.system.set_system_time(newtime, utc_offset=None)

Set the system time.

Parameters:
  • newtime (str) --

    The time to set. Can be any of the following formats.

    • HH:MM:SS AM/PM

    • HH:MM AM/PM

    • HH:MM:SS (24 hour)

    • HH:MM (24 hour)

    Note that the Salt command line parser parses the date/time before we obtain the argument (preventing us from doing UTC) Therefore the argument must be passed in as a string. Meaning the text might have to be quoted twice on the command line.

  • utc_offset (str) -- The UTC offset in 4 digit (+0600) format with an optional sign (+/-). Will default to None which will use the local timezone. To set the time based off of UTC use +0000. Note: If being passed through the command line will need to be quoted twice to allow negative offsets (e.g. "'+0000'")

Returns:

Returns True if successful. Otherwise False.

Return type:

bool

CLI Example:

salt '*' system.set_system_time "'11:20'"
salt.modules.system.shutdown(at_time=None)

Shutdown a running system

at_time

The wait time in minutes before the system will be shutdown.

CLI Example:

salt '*' system.shutdown 5