Current File : //lib/python2.7/site-packages/cloudinit/config/cc_set_hostname.pyc
�
oB�]c@sUdZddlZddlmZddlmZdefd��YZd�ZdS(s 
Set Hostname
------------
**Summary:** set hostname and fqdn

This module handles setting the system hostname and fqdn. If
``preserve_hostname`` is set, then the hostname will not be altered.

A hostname and fqdn can be provided by specifying a full domain name under the
``fqdn`` key. Alternatively, a hostname can be specified using the ``hostname``
key, and the fqdn of the cloud wil be used. If a fqdn specified with the
``hostname`` key, it will be handled properly, although it is better to use
the ``fqdn`` config key. If both ``fqdn`` and ``hostname`` are set, ``fqdn``
will be used.

**Internal name:** ``cc_set_hostname``

**Module frequency:** per instance

**Supported distros:** all

**Config keys**::

    preserve_hostname: <true/false>
    fqdn: <fqdn>
    hostname: <fqdn/hostname>
i����N(t
write_json(tutiltSetHostnameErrorcBseZdZRS(s�Raised when the distro runs into an exception when setting hostname.

    This may happen if we attempt to set the hostname early in cloud-init's
    init-local timeframe as certain services may not be running yet.
    (t__name__t
__module__t__doc__(((sD/usr/lib/python2.7/site-packages/cloudinit/config/cc_set_hostname.pyR,scCshtj|dt�r)|jd|�dStj||�\}}tjj|jd�d�}i}tjj	|�r�tj
tj|��}n||jd�kp�||jd�k}	|	s�|jd�dS|jd||�y|j
j||�WnItk
rH}
d	||f}tj||�td
||
f��nXt|i|d6|d6�dS(Ntpreserve_hostnamesVConfiguration option 'preserve_hostname' is set, not setting the hostname in module %stdatasset-hostnamethostnametfqdns*No hostname changes. Skipping set-hostnamesSetting the hostname to %s (%s)s%Failed to set the hostname to %s (%s)s%s: %s(Rtget_cfg_option_booltFalsetdebugtget_hostname_fqdntostpathtjoint	get_cpathtexistst	load_jsont	load_filetgettdistrotset_hostnamet	ExceptiontlogexcRR(tnametcfgtcloudtlogt_argsRR	tprev_fnt
prev_hostnamethostname_changedtetmsg((sD/usr/lib/python2.7/site-packages/cloudinit/config/cc_set_hostname.pythandle5s,	
(	RRtcloudinit.atomic_helperRt	cloudinitRRRR$(((sD/usr/lib/python2.7/site-packages/cloudinit/config/cc_set_hostname.pyt<module>#s