xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Juergen Gross <jgross@suse.com>
To: Ross Lagerwall <ross.lagerwall@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Cc: wei.liu2@citrix.com, dave@recoil.org, ian.jackson@eu.citrix.com,
	xen-devel@lists.xen.org
Subject: Re: [PATCH 1/2] tools: remove systemd xenstore socket definitions
Date: Wed, 29 Jun 2016 15:44:17 +0200	[thread overview]
Message-ID: <5773D0B1.40709@suse.com> (raw)
In-Reply-To: <95c66843-0d8c-3a2f-5b9a-35af6c33fe87@citrix.com>

On 29/06/16 15:31, Ross Lagerwall wrote:
> On 06/29/2016 02:00 PM, Juergen Gross wrote:
>> On 29/06/16 14:52, Andrew Cooper wrote:
>>> On 29/06/16 13:44, Juergen Gross wrote:
>>>> @@ -2068,13 +1964,6 @@ int main(int argc, char *argv[])
>>>>      /* Tell the kernel we're up and running. */
>>>>      xenbus_notify_running();
>>>>
>>>> -#if defined(XEN_SYSTEMD_ENABLED)
>>>> -    if (systemd) {
>>>> -        sd_notify(1, "READY=1");
>>>> -        fprintf(stderr, SD_NOTICE "xenstored is ready\n");
>>>> -    }
>>>> -#endif
>>>
>>> Getting rid of the socket configuration for systemd is ok, but we should
>>> keep the sd_notify() calls for when the daemon is started by systemd.
>>>
>>> Socket activiation and sd_notify() are orthogonal, and sd_notify() is
>>> still required if we don't want systemd to treat xenstored as a legacy
>>> unix daemon.
>>
>> So what is the downside of xenstored being treated as a legacy daemon?
>> This question is especially interesting for the case of patch 2 being
>> considered: xenstored is no longer started by systemd, but by a wrapper
>> script which might decide to start the xenstore domain instead.
>>
>> Another problem: today xenstored decides whether to call sd_notify()
>> by testing the xenstore sockets being specified via systemd. This will
>> no longer work. So how to do it now?
>>
>>
> 
> One problem with the patch as it currently is implemented is that the
> service type is not correct for when xenstored is a daemon. This makes
> it difficult to manage with systemd and difficult for other services to
> depend on it in a sensible fashion. The end result is subtle races and
> occasional failures.

Could you please educate me what's wrong? I'm no systemd expert.

> How about:
> * Maintain the existing service for xenstored
> * Have a separate service (with different a service type) for starting
> the xenstore domain
> * Switch between the two services

How could I specify e.g. in xendomains.service the dependency to
xenstore?

> Personally I think it is better and more uniform for the administrator
> to enable and disable services in the normal fashion, but if you want to

The two services would be mutually exclusive. Can I tell systemd this
is the case?

> make it configurable with /etc/sysconfig/xencommons, then you can add
> something like this to xenstored.service:
> 
> ExecStartPre=/bin/grep -q XENSTORETYPE=daemon /etc/sysconfig/xencommons
> 
> and to xenstore-domain.service:
> 
> ExecStartPre=/bin/grep -q XENSTORETYPE=domain /etc/sysconfig/xencommons

That's no good idea. Someone commenting out the old line and adding the
other option would end in both variants to be tried. This would have to
be a little bit more sophisticated. :-)


Juergen

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

  reply	other threads:[~2016-06-29 13:44 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-29 12:44 [PATCH 0/2] tools: make xenstore domain/daemon configurable Juergen Gross
2016-06-29 12:44 ` [PATCH 1/2] tools: remove systemd xenstore socket definitions Juergen Gross
2016-06-29 12:52   ` Andrew Cooper
2016-06-29 13:00     ` Juergen Gross
2016-06-29 13:31       ` Ross Lagerwall
2016-06-29 13:44         ` Juergen Gross [this message]
2016-07-13  7:05           ` Juergen Gross
2016-07-20  9:02           ` Ross Lagerwall
2016-07-20  9:58             ` Juergen Gross
2016-07-20 10:52               ` George Dunlap
2016-07-20 11:12                 ` Juergen Gross
2016-07-20 11:21                   ` Andrew Cooper
2016-07-20 11:59                     ` Juergen Gross
2016-07-20 12:08                     ` Ian Jackson
2016-07-20 12:21                       ` Juergen Gross
2016-07-20 12:32                       ` Andrew Cooper
2016-07-20 13:02                         ` Juergen Gross
2016-07-20 13:23                         ` Ian Jackson
2016-07-20 13:29                           ` George Dunlap
2016-07-20 14:09                             ` Andrew Cooper
2016-07-20 12:11             ` Ian Jackson
2016-07-20 12:42               ` Juergen Gross
2016-07-08 12:15       ` Wei Liu
2016-07-08 12:32         ` Juergen Gross
2016-07-08 13:02           ` Wei Liu
2016-06-29 12:44 ` [PATCH 2/2] tools: make xenstore domain easy configurable Juergen Gross

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=5773D0B1.40709@suse.com \
    --to=jgross@suse.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=dave@recoil.org \
    --cc=ian.jackson@eu.citrix.com \
    --cc=ross.lagerwall@citrix.com \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xen.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).