From: Mike Christie <michaelc-hcNo3dDEHLuVc3sceRu5cw@public.gmane.org>
To: open-iscsi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
Cc: Chris Leech <cleech-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
systemd-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org,
initramfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
agrover-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
Subject: Re: [RFC] iscsid / systemd / dracut integration effort
Date: Fri, 14 Dec 2012 13:01:18 -0600 [thread overview]
Message-ID: <50CB777E.20402@cs.wisc.edu> (raw)
In-Reply-To: <1355177316-25803-1-git-send-email-cleech-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
On 12/10/2012 04:08 PM, Chris Leech wrote:
> Sorry about the cross-posting, but I think that in order to get this right I'm
> going to need as much feedback as I can get.
>
> I think I've got this working pretty well now (at least for my iBFT configured
> iSCSI root test case), although the dracut module still needs work. This is
> based on the iscsid socket activation patch from Tomasz Torcz and the unit
> files from Tomasz and Jóhann B. Guðmundsson.
>
> Attempting to start iscsid using systemd unit files (socket activated or not)
> was impacting my iscsi-root test setup. Rather than try to preserve the old
> logic that used the _netdev mount flag to determine when iscsid could be safely
> shutdown, I've been working on following the guidelines for root storage
> daemons http://www.freedesktop.org/wiki/Software/systemd/RootStorageDaemons.
>
> 1) I patched iscsid to set argv[0][0] = '@' if a new --initrd flag is passed on
> the command line. It's simple, it works, we don't kill iscsid before the
> root filesystem is unmounted.
>
> 2) When starting iscsid from the initrd, I then ran into issues of iscsid not
> functioning properly after the switch_root. It's not mentioned in the
> RootStorageDaemons documentation, but if a process left running from the
> initrd needs further filesystem access at runtime it will need to be able to
> chroot itself before the switch_root. I patched iscsid and iscsiadm with a
> newroot command (using plymouth as an example), and used a dracut clenaup
> hook to call "iscsiadm --newroot /sysroot".
>
> 3) Related to #2, launching iscsid as a Type=simple service from the initrd
> (I'm testing this with Fedora 18 beta, where dracut uses systemd in the
> initrd) results in STDOUT/STDERR access after the switch_root failing with
> EPIPE. It seems that the connection to the journal process is dead once the
> initrd instantiated systemd-journald is replaced with the runtime process.
>
> I can at least keep iscsid functioning if I run it as Type=forking, but I'm
> not sure if I'm losing runtime logging or not. I may be able to do
> something with the StandardOutput and StandardError options in the service
> file.
>
> 4) None of this helps if the sessions are shutdown when we still need them.
> Rather than the all-or-nothing _netdev mount option checks that have been
> used in the past, I'm attempting to use the fact that iscsiadm will skip
> over session that match a node with startup=onboot set when doing a
> logoutall. The iscsi_mark_root_nodes script is borrowed from the SUSE init
> scripts in the open-iscsi repos written by Hannes Reinecke. I've made minor
> changes to export the list of sessions activated in the initramfs, and then
> mark those as onboot when starting iscsi.service.
>
> Things that still need looking into.
>
> 1) Command line configured iSCSI parameters. If iscsistart is to be fully
> removed something needs to setup the node from the command line. Or
> iscsistart needs to be able to run alongside iscsid.
>
The iscsi tools changes look ok to me. For 1), in this type of setup we
are always only doing
iscsiadm -m fw -l
(saw that in the iscsiroot.sh part of patch).
If so, then just modify to take params. I think you could just take
parse_param/apply_params from iscsistart and use them.
prev parent reply other threads:[~2012-12-14 19:01 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-10 22:08 [RFC] iscsid / systemd / dracut integration effort Chris Leech
[not found] ` <1355177316-25803-1-git-send-email-cleech-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2012-12-10 22:08 ` [RFC] iscsid: add --initrd option to set run from initrd hint for systemd Chris Leech
2012-12-10 22:08 ` [RFC] iscsiadm, iscsid: newroot command to survive switch_root Chris Leech
2012-12-10 22:08 ` [RFC] iscsi unit files and helper script Chris Leech
[not found] ` <1355177316-25803-4-git-send-email-cleech-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2012-12-11 21:47 ` Mike Christie
[not found] ` <50C7A9D7.8080900-hcNo3dDEHLuVc3sceRu5cw@public.gmane.org>
2012-12-11 22:43 ` Chris Leech
2012-12-10 22:08 ` [RFC] dracut iscsi module: early attempt to launch iscsid from the initramfs Chris Leech
2012-12-10 23:56 ` [systemd-devel] [RFC] iscsid / systemd / dracut integration effort "Jóhann B. Guðmundsson"
[not found] ` <50C67697.7020208-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2012-12-11 23:26 ` Chris Leech
[not found] ` <20121211232646.GC5307-r8IHplWLGbA5tHQWs+pTeqPFFGjUI2lm2LY78lusg7I@public.gmane.org>
2012-12-12 0:46 ` "Jóhann B. Guðmundsson"
2012-12-12 20:45 ` Tomasz Torcz
[not found] ` <20121212204545.GA23313-bmXekecGUa3k6X4NQihNpw@public.gmane.org>
2012-12-13 0:45 ` Andy Grover
2013-09-23 17:33 ` The Lee-Man
[not found] ` <b993ef26-ea4e-4dbe-8d9a-d86ad50c9fbc-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2013-09-23 17:40 ` The Lee-Man
2013-10-01 2:24 ` Lennart Poettering
2012-12-14 19:01 ` Mike Christie [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50CB777E.20402@cs.wisc.edu \
--to=michaelc-hcno3ddehluvc3sceru5cw@public.gmane.org \
--cc=agrover-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=cleech-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=initramfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=open-iscsi-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org \
--cc=systemd-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.