[Pacemaker] Notification messages - 1150184
Andrew Beekhof
andrew at beekhof.net
Tue Oct 28 03:39:39 UTC 2014
> On 28 Oct 2014, at 2:31 pm, Andrew Beekhof <andrew at beekhof.net> wrote:
>
>
>> On 28 Oct 2014, at 7:36 am, Neale Ferguson <neale at sinenomine.net> wrote:
>>
>> I am getting loads of these types of messages in syslog:
>>
>> Oct 27 16:23:47 rh7cn1 systemd: pacemaker.service: Got notification
>> message from PID 43007, but reception only permitted for PID 17131
>>
>>
>> PID 43007 refers to the https resource and 17131 to pacemakerd.
>>
>> A search on this type of message shows a similar question on this list
>> from March 2014 but no resolution. The RH Bugzilla system has 1150184 in
>> the system that was last updated Oct 7 but it is restricted, so I was
>> wondering if anyone knows of the progress on this issue?
>
> httpd.service uses 'Type=notify'
>
>
> Type=
> Configures the process start-up type for this service unit. One of simple, forking, oneshot, dbus, notify or idle.
>
>
> Behavior of notify is similar to simple; however, it is expected that the daemon sends a notification message via sd_notify(3) or an equivalent call when it has finished starting up. systemd will proceed with starting follow-up units after this notification message has been sent. If this option is used, NotifyAccess= (see below) should be set to open access to the notification socket provided by systemd. If NotifyAccess= is not set, it will be implicitly set to main.
>
> If set to simple (the default value if neither Type= nor BusName= are specified), it is expected that the process configured with ExecStart= is the main process of the service. In this mode, if the process offers functionality to other processes on the system, its communication channels should be installed before the daemon is started up (e.g. sockets set up by systemd, via socket activation), as systemd will immediately proceed starting follow-up units.
>
>
> Looking at the code, the message seems to be an older version of this:
>
> ./src/core/service.c-2553- if (s->notify_access == NOTIFY_MAIN && pid != s->main_pid) {
> ./src/core/service.c-2554- if (s->main_pid != 0)
> ./src/core/service.c:2555: log_warning_unit(u->id, "%s: Got notification message from PID "PID_FMT", but reception only permitted for main PID "PID_FMT, u->id, pid, s->main_pid);
>
> So rephrasing:
>
> Got notification message from httpd, but reception only permitted for pacemakerd
>
> So it seems that systemd is calculating the wrong value for main_pid
Followup... what OS and systemd version do you have?
I just tried with systemd-208-11.el7 and it seems to be working.
More information about the Pacemaker
mailing list