Viewing File: /usr/lib/python2.7/site-packages/cloudinit/config/cc_mcollective.pyo

ó
oBú]c@sždZddlZddlZddlmZddlmZddlmZddlm	Z	dZ
dZd	Zej
eƒZee
ed
„Zd„ZdS(s"
Mcollective
-----------
**Summary:** install, configure and start mcollective

This module installs, configures and starts mcollective. If the ``mcollective``
key is present in config, then mcollective will be installed and started.

Configuration for ``mcollective`` can be specified in the ``conf`` key under
``mcollective``. Each config value consists of a key value pair and will be
written to ``/etc/mcollective/server.cfg``. The ``public-cert`` and
``private-cert`` keys, if present in conf may be used to specify the public and
private certificates for mcollective. Their values will be written to
``/etc/mcollective/ssl/server-public.pem`` and
``/etc/mcollective/ssl/server-private.pem``.

.. note::
    The ec2 metadata service is readable by non-root users.
    If security is a concern, use include-once and ssl urls.

**Internal name:** ``cc_mcollective``

**Module frequency:** per instance

**Supported distros:** all

**Config keys**::

    mcollective:
        conf:
            <key>: <value>
            public-cert: |
                -------BEGIN CERTIFICATE--------
                <cert data>
                -------END CERTIFICATE--------
            private-cert: |
                -------BEGIN CERTIFICATE--------
                <cert data>
                -------END CERTIFICATE--------
i˙˙˙˙N(tBytesIO(t	ConfigObj(tlog(tutils&/etc/mcollective/ssl/server-public.pems'/etc/mcollective/ssl/server-private.pems/etc/mcollective/server.cfgcCsy1tj|dtdtƒ}tt|ƒƒ}WnDtk
rw}|jtjkr[‚qxtj	d|ƒtƒ}nXx|j
ƒD]\}}|dkrĘtj||ddƒ||d<d|d	<q…|d
krtj||ddƒ||d<d|d	<q…t|t
jƒr"|||<q…t|tƒr{||jkrMi||<nx;|j
ƒD]\}	}
|
|||	<qZWq…t|ƒ||<q…Wytj|d
|ƒWn+tk
rÔ}|jtjkrÎqŐ‚nXtƒ}|j|ƒtj||jƒddƒdS(Ntquiettdecodes4Did not find file %s (starting with an empty config)spublic-certtmodei¤splugin.ssl_server_publictssltsecurityprovidersprivate-certi€splugin.ssl_server_privates%s.old(Rt	load_filetFalseRRtIOErrorterrnotENOENTtLOGtdebugtitemst
write_filet
isinstancetsixtstring_typestdicttsectionststrtcopytwritetgetvalue(tconfigt
server_cfgtpubcert_filetpricert_filetold_contentstmcollective_configtetcfg_nametcfgtotvtcontents((sC/usr/lib/python2.7/site-packages/cloudinit/config/cc_mcollective.pyt	configureFsF	






	
cCszd|kr |jd|ƒdS|d}|jjdƒd|krZtd|dƒntjdddgdtƒdS(	Ntmcollectives?Skipping module named %s, no 'mcollective' key in configurationtconfRtservicetrestarttcapture(R((Rtdistrotinstall_packagesR'RtsubpR
(tnameR#tcloudRt_argstmcollective_cfg((sC/usr/lib/python2.7/site-packages/cloudinit/config/cc_mcollective.pythandles	
(t__doc__RRRt	configobjRt	cloudinitRtloggingRtPUBCERT_FILEtPRICERT_FILEt
SERVER_CFGt	getLoggert__name__RR'R4(((sC/usr/lib/python2.7/site-packages/cloudinit/config/cc_mcollective.pyt<module>1s8
Back to Directory File Manager