From: Hannes Reinecke <hare@suse.de>
To: Benjamin Marzinski <bmarzins@redhat.com>
Cc: Peter Volkov <peter.volkov@gmail.com>,
device-mapper development <dm-devel@redhat.com>,
Xose Vazquez Perez <xose.vazquez@gmail.com>,
Zdenek Kabelac <zkabelac@redhat.com>
Subject: Re: multipath-0.5.0 still provides broken udev rules
Date: Thu, 28 Apr 2016 08:23:44 +0200 [thread overview]
Message-ID: <5721AC70.3070606@suse.de> (raw)
In-Reply-To: <20160427224601.GG26117@octiron.msp.redhat.com>
On 04/28/2016 12:46 AM, Benjamin Marzinski wrote:
> On Tue, Apr 26, 2016 at 07:53:48AM +0200, Hannes Reinecke wrote:
>> On 04/25/2016 10:14 PM, Xose Vazquez Perez wrote:
>>> On 04/25/2016 02:56 PM, Christophe Varoqui wrote:
>>>
>>>> Those example udev rules are indeed unmaintained and should be
>>>> removed not to confuse distributors.
>>>>
>>>> Distributors can't be asked to agree on a common udev ruleset.
>>>> Ben, Hannes, Xosé, Peter are you ok with my deleting the udev rules example ?
>>>
>>> Fine with me.
>>>
>>> Btw, are these relevant ?
>
> For all that I didn't comment on, I feel the same way as Hannes.
>
>>> getuid/usb_id
>> Huh? What is that doing there?
>> It should really have been moved to the udev package ...
>>
>>> kpartx/kpartx_id
>>> kpartx/kpartx.rules
>> See above. Yes, they are relevant (at least for us)
>
> Like I said, Red Hat doesn't use them. I'll post our multipath.rules
> shortly.
>
Which would be cool.
I was actually hoping to meet you in Raleigh last week, but then it
didn't work out.
>>> multipath/01_udev
>>> multipath/02_multipath
>> Not used anymore with systemd/dracut
>>
>>> multipath/11-dm-mpath.rules
>> Yep. Absolutely required.
>>
>>> multipath.conf.annotated
>>> multipath.conf.defaults
>>> multipath.conf.synthetic
>> Actually, I never saw the need for those.
>> Can we at least have them merged?
>
> I don't think they are being kept up to date anymore. The 'defaults'
> information can be gotten from a running system, and it includes the
> changes from the config files, so it's much more useful. I have no idea
> what people would use 'synthetic' for besides an example of what a
> config would look like. And the 'annotated' information is all in the
> multipath.conf manpage. Red Hat doesn't ship these files anymore. I'd be
> happy to see them go.
>
Couldn't agree more.
Let's drop them.
>>> multipathd/multipathd.init.debian
>>> multipathd/multipathd.init.redhat
>>> multipathd/multipathd.init.suse
>> Old init scripts; doubtful value.
>>
>>> multipathd/multipathd.service
>>> multipathd/multipathd.socket
>> systemd service definitions. Yes, required.
>
> Red Hat has a slightly different multipathd.service file, and we don't
> ship the socket file. Since multipathd should always be running, I
> don't really see the need. Also, if you start multipathd manually
> (instead of through udev) this causes problems with multipathd not
> getting messages.
>
Hmm. Actually, I quite like the systemd integration; it allows me to
signal the internal multipathd state back to systemd:
# systemctl status multipathd
multipathd.service - Device-Mapper Multipath Device Controller
Loaded: loaded (/usr/lib/systemd/system/multipathd.service; enabled)
Active: active (running) since Wed 2016-04-27 12:39:59 CEST; 19h ago
Main PID: 6913 (multipathd)
Status: "idle"
CGroup: /system.slice/multipathd.service
└─6913 /sbin/multipathd -d -s
Which I find quite neat. And I guess we should be able to overcome
the manually started issue by checking if the socket is present, and
just execute a 'reconfigure' command if so.
Let me see ...
> For those interested, here's a diff of our multipath.service
>
> diff --git a/multipathd/multipathd.service
> b/multipathd/multipathd.service
> index d5f8606..1e5dfab 100644
> --- a/multipathd/multipathd.service
> +++ b/multipathd/multipathd.service
> @@ -2,9 +2,10 @@
> Description=Device-Mapper Multipath Device Controller
> Before=iscsi.service iscsid.service lvm2-activation-early.service
> Before=local-fs-pre.target
> -After=multipathd.socket
> +ConditionPathExists=/etc/multipath.conf
> +ConditionKernelCommandLine=!nompath
> DefaultDependencies=no
> -Wants=local-fs-pre.target multipathd.socket blk-availability.service
> +Wants=local-fs-pre.target blk-availability.service
> Conflicts=shutdown.target
>
> [Service]
> @@ -12,9 +13,9 @@ Type=notify
> NotifyAccess=main
> LimitCORE=infinity
> ExecStartPre=/sbin/modprobe dm-multipath
> +ExecStartPre=-/sbin/multipath -A
> ExecStart=/sbin/multipathd -d -s
> ExecReload=/sbin/multipathd reconfigure
>
> [Install]
> WantedBy=sysinit.target
> -Also=multipathd.socket
>
>
> Aside from dropping the socket, it checks that /etc/multipath.conf
> exists, and that the kernel wasn't started with "nompath". Also it runs
> "multipath -A" this reads the kernel commandline from /proc/cmdline, and
> adds any wwids listed as part of any mpath.wwid=<wwid> parameters.
> Hannes NACKed this patch, so the option isn't present upsteam.
>
>
Hmm. Actually, I do like the 'nompath' checking; we do lack the
capability of switching off multipath from the kernel commandline
ATM. So yes, we should be including that bit.
As for /etc/multipath.conf ... The original setup has been shipping
without any multipath.conf file. So I would be okay with this change
if we can guarantee that /etc/multipath.conf will always be existing.
Seeing that you're running 'multipath -A' to add any wwids, wouldn't
that be sufficient?
IE why do we need the check for /etc/multipath.conf here; couldn't
we make 'multipath -A' return non-zero to avoid multipathd to be
started?
Cheers,
Hannes
--
Dr. Hannes Reinecke Teamlead Storage & Networking
hare@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)
--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
next prev parent reply other threads:[~2016-04-28 6:23 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-25 10:52 multipath-0.5.0 still provides broken udev rules Peter Volkov
2016-04-25 10:58 ` Zdenek Kabelac
2016-04-25 12:10 ` Peter Volkov
2016-04-25 12:32 ` Zdenek Kabelac
2016-04-25 12:52 ` Peter Volkov
2016-04-25 12:56 ` Christophe Varoqui
2016-04-25 14:15 ` Peter Volkov
2016-04-25 17:38 ` Benjamin Marzinski
2016-04-26 5:43 ` Hannes Reinecke
2016-04-26 8:39 ` Zdenek Kabelac
2016-04-26 8:47 ` Hannes Reinecke
2016-04-26 9:19 ` Zdenek Kabelac
2016-04-25 20:14 ` Xose Vazquez Perez
2016-04-26 5:53 ` Hannes Reinecke
2016-04-27 22:46 ` Benjamin Marzinski
2016-04-28 6:23 ` Hannes Reinecke [this message]
2016-04-28 22:10 ` Benjamin Marzinski
2016-05-11 18:46 ` Distributions mpt code Xose Vazquez Perez
2016-04-28 22:45 ` multipath-0.5.0 still provides broken udev rules Benjamin Marzinski
2016-05-19 15:24 ` multipath-tools: irrelevant files Xose Vazquez Perez
2016-06-01 15:05 ` Christophe Varoqui
2016-06-04 0:14 ` multipath-tools: web Xose Vazquez Perez
2016-04-25 15:04 ` multipath-0.5.0 still provides broken udev rules Hannes Reinecke
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=5721AC70.3070606@suse.de \
--to=hare@suse.de \
--cc=bmarzins@redhat.com \
--cc=dm-devel@redhat.com \
--cc=peter.volkov@gmail.com \
--cc=xose.vazquez@gmail.com \
--cc=zkabelac@redhat.com \
/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.