Repository URL to install this package:
|
Version:
3.4.36 ▾
|
ó
ǍEYc @ s d Z d d l Z d d l Z d d l Z d d l Z d d l Z e j e Z d Z d Z
d Z d Z d Z
e d k re e j d k r© e qe e j d
k re e j d Z e j d Z e re
e e Z e j e qqn d S( s;
Helper module for systemd service readiness notification.
iÿÿÿÿNc C s$ | j d r d | d } n | S( Nt @t %si ( t
startswith( t socket_name( ( sI /home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/systemd.pyt _abstractify s c C s¨ t j d } | r¤ t j t j t j } t j | c y7 | j t | | j | | rs t j
d =n Wn$ t k
r t j
d d t n XWd QXn d S( Nt
NOTIFY_SOCKETs Systemd notification failedt exc_info( t ost getenvt sockett AF_UNIXt
SOCK_DGRAMt
contextlibt closingt connectR t sendallt environt EnvironmentErrort LOGt debugt True( t unset_envt msgt
notify_sockett sock( ( sI /home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/systemd.pyt
_sd_notify$ s
c C s t t d d S( s Send notification to Systemd that service is ready.
For details see
http://www.freedesktop.org/software/systemd/man/sd_notify.html
s READY=1N( R t False( ( ( sI /home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/systemd.pyt notify2 s c C s t t d d S( s* Send notification once to Systemd that service is ready.
Systemd sets NOTIFY_SOCKET environment variable with the name of the
socket listening for notifications from services.
This method removes the NOTIFY_SOCKET environment variable to ensure
notification is sent only once.
s READY=1N( R R ( ( ( sI /home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/systemd.pyt notify_once; s c C s t j t j t j } | j | | j t | t j | D y | j d } Wn t j k
rr d SXd | k r d Sd SWd QXd S( sV Wait for systemd style notification on the socket.
:param notify_socket: local socket address
:type notify_socket: string
:param timeout: socket timeout
:type timeout: float
:returns: 0 service ready
1 service not ready
2 timeout occurred
i i s READY=1i i N(
R R
R t
settimeoutt bindR R R
t recvt timeout( R R R R ( ( sI /home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/systemd.pyt onreadyF s
t __main__i i R ( t __doc__R t loggingR R t syst getLoggert __name__R R R R R R! t lent argvt floatR R R t retvalt exit( ( ( sI /home/tvault/.virtenv/lib/python2.7/site-packages/oslo_service/systemd.pyt <module> s(