chiark / gitweb /
core: introduce the concept of AssertXYZ= similar to ConditionXYZ=, but fatal for...
[elogind.git] / man / systemd.unit.xml
index 88c9d7f8e893e88ac83113c01c9217786f5b847f..5d6f6eb1416ecbf2b8c619d29ff9975090e6691e 100644 (file)
 
                         <varlistentry>
                                 <term><varname>JobTimeoutSec=</varname></term>
-
-                                <listitem><para>When clients are
-                                waiting for a job of this unit to
-                                complete, time out after the specified
-                                time. If this time limit is reached,
-                                the job will be cancelled, the unit
-                                however will not change state or even
-                                enter the <literal>failed</literal>
-                                mode. This value defaults to 0 (job
-                                timeouts disabled), except for device
+                                <term><varname>JobTimeoutAction=</varname></term>
+                                <term><varname>JobTimeoutRebootArgument=</varname></term>
+
+                                <listitem><para>When a job for this
+                                unit is queued a time-out may be
+                                configured. If this time limit is
+                                reached, the job will be cancelled,
+                                the unit however will not change state
+                                or even enter the
+                                <literal>failed</literal> mode. This
+                                value defaults to 0 (job timeouts
+                                disabled), except for device
                                 units. NB: this timeout is independent
                                 from any unit-specific timeout (for
                                 example, the timeout set with
-                                <varname>Timeout=</varname> in service
+                                <varname>StartTimeoutSec=</varname> in service
                                 units) as the job timeout has no
                                 effect on the unit itself, only on the
                                 job that might be pending for it. Or
                                 timeout set with this option however
                                 is useful to abort only the job
                                 waiting for the unit state to
-                                change.</para></listitem>
+                                change.</para>
+
+                                <para><varname>JobTimeoutAction=</varname>
+                                optionally configures an additional
+                                action to take when the time-out is
+                                hit. It takes the same values as the
+                                per-service
+                                <varname>StartLimitAction=</varname>
+                                setting, see
+                                <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>
+                                for details. Defaults to
+                                <option>none</option>. <varname>JobTimeoutRebootArgument=</varname>
+                                configures an optional reboot string
+                                to pass to the
+                                <citerefentry><refentrytitle>reboot</refentrytitle><manvolnum>2</manvolnum></citerefentry>
+                                system call.</para></listitem>
                         </varlistentry>
 
                         <varlistentry>
                                 <para><varname>ConditionSecurity=</varname>
                                 may be used to check whether the given
                                 security module is enabled on the
-                                system. Currently the recognized values
-                                values are <varname>selinux</varname>,
+                                system. Currently the recognized
+                                values values are
+                                <varname>selinux</varname>,
                                 <varname>apparmor</varname>,
-                                <varname>ima</varname> and
-                                <varname>smack</varname>.
-                                The test may be negated by prepending
-                                an exclamation
-                                mark.</para>
+                                <varname>ima</varname>,
+                                <varname>smack</varname> and
+                                <varname>audit</varname>. The test may
+                                be negated by prepending an
+                                exclamation mark.</para>
 
                                 <para><varname>ConditionCapability=</varname>
                                 may be used to check whether the given
                                 have no effect.</para></listitem>
                         </varlistentry>
 
+                        <varlistentry>
+                                <term><varname>AssertArchitecture=</varname></term>
+                                <term><varname>AssertVirtualization=</varname></term>
+                                <term><varname>AssertHost=</varname></term>
+                                <term><varname>AssertKernelCommandLine=</varname></term>
+                                <term><varname>AssertSecurity=</varname></term>
+                                <term><varname>AssertCapability=</varname></term>
+                                <term><varname>AssertACPower=</varname></term>
+                                <term><varname>AssertNeedsUpdate=</varname></term>
+                                <term><varname>AssertFirstBoot=</varname></term>
+                                <term><varname>AssertPathExists=</varname></term>
+                                <term><varname>AssertPathExistsGlob=</varname></term>
+                                <term><varname>AssertPathIsDirectory=</varname></term>
+                                <term><varname>AssertPathIsSymbolicLink=</varname></term>
+                                <term><varname>AssertPathIsMountPoint=</varname></term>
+                                <term><varname>AssertPathIsReadWrite=</varname></term>
+                                <term><varname>AssertDirectoryNotEmpty=</varname></term>
+                                <term><varname>AssertFileNotEmpty=</varname></term>
+                                <term><varname>AssertFileIsExecutable=</varname></term>
+                                <term><varname>AssertNull=</varname></term>
+
+                                <listitem><para>Similar to the
+                                <varname>ConditionArchitecture=</varname>,
+                                <varname>ConditionVirtualization=</varname>,
+                                ... condition settings described above
+                                these settings add assertion checks to
+                                the start-up of the unit. However,
+                                unlike the conditions settings any
+                                assertion setting that is not met
+                                results in failure of the start
+                                job it was triggered by.</para></listitem>
+                        </varlistentry>
+
                         <varlistentry>
                                 <term><varname>SourcePath=</varname></term>
                                 <listitem><para>A path to a