File: //lib/python3.6/site-packages/cloudinit/config/__pycache__/cc_update_hostname.cpython-36.pyc
3
\�me{ � @ s� U d Z ddlZddlZddlmZ ddlmZ ddlmZ ddl m
Z
ddlmZm
Z
ddlmZ d Zd
gZddd
eeed�ed�ed�ed�ed�geg d�Zee
e�Z eje�Zee
eedd�dd�ZdS )z)Update Hostname: Update hostname and fqdn� N)�dedent)�util)�Cloud)�Config)�
MetaSchema�get_meta_doc)�
PER_ALWAYSz�This module will update the system hostname and fqdn. If ``preserve_hostname``
is set ``true``, then the hostname will not be altered.
.. note::
for instructions on specifying hostname and fqdn, see documentation for
``cc_set_hostname``
�allZcc_update_hostnamezUpdate HostnamezUpdate hostname and fqdna� # By default: when ``preserve_hostname`` is not specified cloud-init
# updates ``/etc/hostname`` per-boot based on the cloud provided
# ``local-hostname`` setting. If you manually change ``/etc/hostname``
# after boot cloud-init will no longer modify it.
#
# This default cloud-init behavior is equivalent to this cloud-config:
preserve_hostname: false
zh # Prevent cloud-init from updating the system hostname.
preserve_hostname: true
ze # Prevent cloud-init from updating ``/etc/hostname``
preserve_hostname: true
z� # Set hostname to "external.fqdn.me" instead of "myhost"
fqdn: external.fqdn.me
hostname: myhost
prefer_fqdn_over_hostname: true
z� # Set hostname to "external" instead of "external.fqdn.me" when
# cloud metadata provides the ``local-hostname``: "external.fqdn.me".
prefer_fqdn_over_hostname: false
)�id�name�title�description�distrosZexamplesZ frequencyZactivate_by_schema_keys)r �cfg�cloud�args�returnc
C s� t j|dd�rtjd| � d S t j|dd �}|d k rB|jjd|� t j|dd �}|d k rf|jjd|� t j||�\}}}|r�|dkr�tjd� d S y6tjj |j
d�d �} tjd
||� |jj||| � W n& tk
r� t j
td||� � Y nX d S )NZpreserve_hostnameFzWConfiguration option 'preserve_hostname' is set, not updating the hostname in module %sZprefer_fqdn_over_hostname�create_hostname_fileZ localhostz6Hostname is localhost. Let other services handle this.�datazprevious-hostnamezUpdating hostname to %s (%s)z(Failed to update the hostname to %s (%s))r Zget_cfg_option_bool�LOG�debugZdistroZ
set_optionZget_hostname_fqdn�os�path�joinZ get_cpathZupdate_hostname� ExceptionZlogexc)
r r r r Z
hostname_fqdnr ZhostnameZfqdnZ
is_defaultZprev_fn� r �(/usr/lib/python3.6/cc_update_hostname.py�handleV s2
r )�__doc__Zloggingr �textwrapr Z cloudinitr Zcloudinit.cloudr Zcloudinit.configr Zcloudinit.config.schemar r Zcloudinit.settingsr ZMODULE_DESCRIPTIONr �metaZ getLogger�__name__r �str�listr r r r r �<module> s<