%PDF- %PDF-
Direktori : /lib/python2.7/site-packages/salt/pillar/ |
Current File : //lib/python2.7/site-packages/salt/pillar/etcd_pillar.pyo |
� ���^c @@ s� d Z d d l m Z m Z m Z d d l Z y d d l Z e Z Wn e k r] e Z n Xd Z e j e � Z d � Z d � Z d S( u� Use etcd data as a Pillar source .. versionadded:: 2014.7.0 :depends: - python-etcd In order to use an etcd server, a profile must be created in the master configuration file: .. code-block:: yaml my_etcd_config: etcd.host: 127.0.0.1 etcd.port: 4001 After the profile is created, configure the external pillar system to use it. Optionally, a root may be specified. .. code-block:: yaml ext_pillar: - etcd: my_etcd_config ext_pillar: - etcd: my_etcd_config root=/salt Using these configuration profiles, multiple etcd sources may also be used: .. code-block:: yaml ext_pillar: - etcd: my_etcd_config - etcd: my_other_etcd_config The ``minion_id`` may be used in the ``root`` path to expose minion-specific information stored in etcd. .. code-block:: yaml ext_pillar: - etcd: my_etcd_config root=/salt/%(minion_id)s Minion-specific values may override shared values when the minion-specific root appears after the shared root: .. code-block:: yaml ext_pillar: - etcd: my_etcd_config root=/salt-shared - etcd: my_other_etcd_config root=/salt-private/%(minion_id)s Using the configuration above, the following commands could be used to share a key with all minions but override its value for a specific minion:: etcdctl set /salt-shared/mykey my_value etcdctl set /salt-private/special_minion_id/mykey my_other_value i ( t absolute_importt print_functiont unicode_literalsNu etcdc C@ s t r t St S( u1 Only return if python-etcd is installed ( t HAS_LIBSt __virtualname__t False( ( ( s; /usr/lib/python2.7/site-packages/salt/pillar/etcd_pillar.pyt __virtual__O s c C@ s� | j � } d } | d r) | d } n t j j j t | � } d } t | � d k r� | d j d � r� | d j d d � } n | i | d 6;} y t j j j | | � } Wn* t k r� t j d | | � i } n X| S( u! Check etcd for all data i u /i u root=u u minion_idu"