NCM::Component::Systemd::Service::Chkconfig is a class handling services that can be controlled via (older) chkconfig.

Public methods

  • new

    Returns a new object, accepts the following options

    • log

      A logger instance (compatible with CAF::Object).

  • current_units

    Return hash reference with current configured units determined via chkconfig --list.

    (No type to specify, sysv type is forced).

  • current_target

    Return the current target based on legacy current_runlevel.

  • default_target

    Return the default target based on legacy default_runlevel.

  • configured_units

    configured_units parses the tree hash reference and builds up the units to be configured. It returns a hash reference with key the unit name and values the details of the unit.

    (tree is typically $config-getElement('/software/components/chkconfig/service')->getTree>.)

    This method converts the legacy states as following

    • del : masked
    • add: disabled
    • off : disabled
    • on : enabled
    • reset: this state is ignored / not supported.

Private methods

  • is_possible_missing

    Determine if unit is possible_missing (see make_cache_alias). (Returns 0 or 1).

    A unit is possible_missing if

    • the unit is in state masked or disabled (i.e. unit that is not expected to be running anyway).

      Other then pure systemd, chkconfig state off always implies that a disabled service unit is not running.

  • generate_runlevel2target

    Create, set and return the runlevel2target map (will reset existing one, return is merely for testing).

  • convert_runlevels

    Convert the chkconfig levels to new systemsctl targets

    legacylevel is a string with integers e.g. "234". Retrun a array reference with the targets.

  • default_runlevel

    default_runlevel returns the default runlevel via the INITTAB file. If that fails, the default DEFAULT_RUNLEVEL is returned.

  • current_runlevel

    Return the current legacy runlevel.

    The rulevel is determined by trying (in order) /sbin/runlevel or who -r. If both fail, the default_runlevel method is called and its value is returned.