%PDF- %PDF-
| Direktori : /proc/thread-self/root/proc/self/root/lib/python2.7/site-packages/salt/pillar/ |
| Current File : //proc/thread-self/root/proc/self/root/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"