Hi! A somewhat unrelated question: With all these partial orderings (specified by "before" and "After" in the systemd unit files) is there a test suite that tries all allowable combinations that fulfill the partial ordering? Just in case the ordering is too weak?
Regards, Ulrich >>> The Lee-Man <[email protected]> schrieb am 10.09.2015 um 18:18 in Nachricht <[email protected]>: > A recent patch submission by Christian Hesse to supply an "iscsi login > service" > for systemd spurred me to share the systemd files currently being used by > SUSE, since these may help others (like Christian). > > In the open-iscsi repository, there are only two systemd files: > > iscsid.socket -- the socket-activiation service for iscsid > iscsid.service -- how to start/stop iscsid > > Our iscsid.service file is slightly different from what is in the > open-iscsi repository, > so here is a context diff: > > -------------------->> cut here <<------------------------------- > [Unit] > Description=Open-iSCSI > Documentation=man:iscsid(8) man:iscsiuio(8) man:iscsiadm(8) > DefaultDependencies=no > After=network.target iscsiuio.service > Before=remote-fs-pre.target > > [Service] > Type=simple > ExecStart=/sbin/iscsid -f > ExecStop=/sbin/iscsiadm -k 0 2 > > [Install] > WantedBy=multi-user.target > Also=iscsid.socket > -------------------->> cut here <<------------------------------- > > Differences from current repository file: > > - Service type changed to simple, as it's more reliable > - our daemon is in /sbin instead of /usr/sbin > - specifically mention the socket file > - several changes to support iSCSI volumes at boot time: > - no default dependencies (or it starts too late) > - don't need all of the "After*"s > - add a "Before*" > > Perhaps some of these would be generally useful? And I expect > that the RedHat version is slightly different. Anyone interested in > posting it, so we might come up with a common solution, as much > as possible? > > Note: we also enable, by default, the iscsid.socket service, so that > iscsid can be started any time after installation simply by trying > to access it. > > Next, our distro has a service file for iscsi login/logout service. We > called it "iscsi.service", and here's the whole service file: > > -------------------->> cut here <<------------------------------- > [Unit] > Description=Login and scanning of iSCSI devices > Documentation=man:iscsiadm(8) man:iscsid(8) > After=network.target network-online.target iscsid.service > ConditionPathExists=/etc/iscsi/initiatorname.iscsi > > [Service] > Type=oneshot > ExecStart=-/sbin/iscsiadm -m node --loginall=automatic > ExecStop=/sbin/iscsiadm -m node --logoutall=automatic > SuccessExitStatus=21 > RemainAfterExit=true > > [Install] > WantedBy=remote-fs.target > -------------------->> cut here <<------------------------------- > > You can see there are some differences from the patch proposed by Christian > recently: > - you do not need to say "after" iscsid.socket > - after network target, since we need it running and online > - no need to start if there is no initiator name > - make the "start" ignore errors, else the service thinks it is not running > if there are no targets at startup time, even if they've been added > - ignore a return status of 21, which just means not all target logins > worked > - remain after started, so the service thinks it is running even > after the one shot > > And, lastly, we also have two service files for iscsiuio. Here is > iscsiuio.socket: > -------------------->> cut here <<------------------------------- > [Unit] > Description=Open-iSCSI iscsiuio Socket > Documentation=man:iscsiuio(8) > > [Socket] > ListenStream=@ISCSID_UIP_ABSTRACT_NAMESPACE > > [Install] > WantedBy=sockets.target > -------------------->> cut here <<------------------------------- > > And iscsiuio.service: > -------------------->> cut here <<------------------------------- > [Unit] > Description=iSCSI UserSpace I/O driver > Documentation=man:iscsiuio(8) > DefaultDependencies=no > Conflicts=shutdown.target > Requires=iscsid.service > BindTo=iscsid.service > After=network.target > Before=remote-fs-pre.target iscsid.service > > [Service] > Type=forking > PIDFile=/var/run/iscsiuio.pid > ExecStart=/sbin/iscsiuio > > [Install] > WantedBy=multi-user.target > -------------------->> cut here <<------------------------------- > > Note that the iscsiuio service has not gotten nearly as much testing and > tweaking > as the iscsid and iscsi files have, so YMMV. But these are what we currently > have. > > I will be glad to supply some or all of these changes as patches, if there > is interest. > Of course there was a small change in the iscsiuio daemon, as well, to > support socket > activation, which is another patch I'd be glad to supply if needed. > > > -- > You received this message because you are subscribed to the Google Groups > "open-iscsi" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/open-iscsi. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "open-iscsi" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/open-iscsi. For more options, visit https://groups.google.com/d/optout.
