�
܍~c� � � � d dl mZmZ d dl mZ d dl mZmZmZ d dlm Z
d dlmZ ej
e� � Z G d� dej � � ZdS ) � )�distros�helpers)�log)�net�subp�util)� rhel_util)�PER_INSTANCEc � � e Zd ZdZdZdZdZdeed�iZdZd� Z dd �Z
d
� Zdd�Zd
� Z
d� Zd� Zdd�Zd� Zd� Zdd�Zd� ZdS )�Distroz
/etc/hostnamez/etc/systemd/network/z/etc/locale.confz/etc/systemd/resolved.conf�networkd)�resolv_conf_fn�network_conf_dirTc � � t j � | |||� � t j |� � | _ d| _ dg| _ d S )N�photon� systemctl)r r �__init__r �Runners�_runner�osfamily�init_cmd)�self�name�cfg�pathss �:/usr/lib/python3/dist-packages/cloudinit/distros/photon.pyr zDistro.__init__! sE � ������d�C��7�7�7� ��u�-�-��� ��
�$�
��
�
�
� c � � t � d|� � t j ||�� � \ }}|r!t � d||� � d||fS d||fS # t j $ r t j t d|� � Y dS w xY w)NzAttempting to run: %s)�capturez(Running %s resulted in stderr output: %sTFzCommand %s failed)TNN)�LOG�debugr �warning�ProcessExecutionErrorr �logexc)r �cmdr �out�errs r �exec_cmdzDistro.exec_cmd* s� � �� � �)�3�/�/�/�
$���3��8�8�8�J�S�#��
&����>��S�� � � �S�#�~�%��#�s�?�"���)� $� $� $��K��0�#�6�6�6�#�#�#� $���s �;A �A �*B�Bc �� � d}| j � |d� � }t � d||� � |st j � � S t � d� � d S )N�disable_fallback_netcfgTz%s value is: %szJSkipping generate_fallback_config. Rely on PhotonOS default network config)�_cfg�getr r! r �generate_fallback_config�info)r �keyr* s r r- zDistro.generate_fallback_config8 sn � �'��"&�)�-�-��T�":�":��� � �#�S�*A�B�B�B�&� 2��/�1�1�1����
�
�
�
� �tr Nc �| � |s| j }d|i}t j ||� � g d�}| � |� � d S )N�LANG)r �restartzsystemd-localed)�systemd_locale_conf_fn�rhutil�update_sysconfig_filer( )r �locale�out_fn�
locale_cfgr% s r �apply_localezDistro.apply_localeF s\ � � � 1��0�F�
�F�
�
� �$�V�Z�8�8�8�
:�9�9���
�
�c�����r c �4 � | � d|�� � d S )N�install)�pkgs)�package_command)r �pkglists r �install_packageszDistro.install_packagesX s! � ����Y�W��5�5�5�5�5r c � � |r,|� d� � rt j ||� � d S | � ddt |� � g� � \ }}}|rt
� d||f� � d S d S )N�/previous-hostname�hostnamectlzset-hostnamez3Error while setting hostname: %s
Given hostname: %s)�endswithr �
write_filer( �strr r" |