HOME


Mini Shell 1.0
Redirecting to https://devs.lapieza.net/iniciar-sesion Redirecting to https://devs.lapieza.net/iniciar-sesion.
DIR: /proc/self/root/usr/lib/python3/dist-packages/cloudinit/config/__pycache__/
Upload File :
Current File : //proc/self/root/usr/lib/python3/dist-packages/cloudinit/config/__pycache__/cc_chef.cpython-311.pyc
�

܍~c&7�
��UdZddlZddlZddlZddlmZddlmZddlm	Z	m
Z
mZmZm
Z
ddlmZddlmZddlmZmZdd	lmZdd
lmZdZegd���Zed
g��ZdZdZdZdZ dZ!dZ"dddedde"dddddd�Z#e$dg��Z%e$gd���Z&e$ej'e#�(��e%e&gd�����Z)d Z*d!Z+egd"���Z,eZ-d#gZ.d$d%d&ed'��e.ed(��ge-d)gd*�Z/ee0d+<ee/��Zd,�Z1d-�Z2d.e3d/ed0ed1ed2e4d3dfd4�Z5d5�Z6d6ed2e4fd7�Z7	d<d6efd8�Z8d0efd9�Z9d:�Z:d;�Z;dS)=z7Chef: module that configures, starts and installs chef.�N)�Logger)�dedent)�subp�
temp_utils�	templater�
url_helper�util)�Cloud)�Config)�
MetaSchema�get_meta_doc)�Distro)�
PER_ALWAYS�1.8)�	/etc/chefz
/var/log/chefz
/var/lib/chef�/var/cache/chef�/var/backups/chefz
/var/run/chefrz#https://www.chef.io/chef/install.sh�z/etc/chef/validation.pemz#/etc/chef/encrypted_data_bag_secret�_defaultz/etc/chef/firstboot.jsonz:verify_nonez:infoz/var/log/chef/client.logz/etc/chef/client.pemrrz/var/run/chef/client.pidT)�ssl_verify_mode�	log_level�log_location�validation_key�validation_cert�
client_key�json_attribs�file_cache_path�file_backup_path�pid_file�	show_time�encrypted_data_bag_secretr )rrrrrrr!)�
server_url�	node_name�environment�validation_name�chef_licensez/etc/chef/client.rbz/usr/bin/chef-client)z-dz-i�1800z-s�20�all�cc_chef�Chefz0module that configures, starts and installs chefa        This module enables chef to be installed (from packages,
        gems, or from omnibus). Before this occurs, chef configuration is
        written to disk (validation.pem, client.pem, firstboot.json,
        client.rb), and required directories are created (/etc/chef and
        /var/log/chef and so-on). If configured, chef will be
        installed and started in either daemon or non-daemon mode.
        If run in non-daemon mode, post run actions are executed to do
        finishing activities such as removing validation.pem.a�
        chef:
          directories:
            - /etc/chef
            - /var/log/chef
          validation_cert: system
          install_type: omnibus
          initial_attributes:
            apache:
              prefork:
                maxclients: 100
              keepalive: off
          run_list:
            - recipe[apache2]
            - role[db]
          encrypted_data_bag_secret: /etc/chef/encrypted_data_bag_secret
          environment: _default
          log_level: :auto
          omnibus_url_retries: 2
          server_url: https://chef.yourorg.com:4000
          ssl_verify_mode: :verify_peer
          validation_name: yourorg-validator�chef)�id�name�title�description�distros�examples�	frequency�activate_by_schema_keys�metac��tj|dd���}|r?tj�t
��rtjt
��dSdSdS)N�delete_validation_post_execF��default)r	�get_cfg_option_bool�os�path�isfile�CHEF_VALIDATION_PEM_PATH�unlink)�chef_cfg�log�
delete_pems   �:/usr/lib/python3/dist-packages/cloudinit/config/cc_chef.py�
post_run_chefrD�sl���)��/�����J��,�b�g�n�n�%=�>�>�,�
�	�*�+�+�+�+�+�,�,�,�,�c	���t���}|���D]g\}}|tvr|�d|���%|�d||<�-|t
vrt
j||��||<�Ot
j||��||<�h|�	t
j
��t
j|d|���t
j|dd���|d|dd���|S)	Nz'Skipping unknown chef template key '%s'r#r8r$rr"r%)�generated_byr#r$r"r%)�CHEF_RB_TPL_DEFAULTS�copy�items�CHEF_RB_TPL_KEYS�debug�CHEF_RB_TPL_BOOL_KEYSr	r:�get_cfg_option_str�update�make_header)�iidr@rA�params�k�vs      rC�get_template_paramsrU�s&��
!�
&�
&�
(�
(�F��.�.�"�"�A�A���A��$�$�$��I�I�?��C�C�C���9��F�1�I�I��)�)�)� �4�X�q�A�A��q�	�	� �3�H�a�@�@��q�	�	�
�M�M� �,�.�.��0��+�s���� �2��-�����#�<�0�'�(9�:�	
�	
�
�
�
��MrEr.�cfg�cloudrA�args�returnc�b�d|vr|�d|��dS|d}tj|d��}|stt��}tj|t��D]}tj|���|�	dt��}|�	d��}	|	rQ|	dkrtj||	��n5tj
�|��s|�d|��|�d	��}
|
r�t#|j�����}t)|||��}t+��}
|���D]B\}}|t.vr4|r2|
�tj
�|�����Ctj|
��t7j|
t:|��n|�d
t:��tj|dt>���}|s|� d
��nsi}d|vr|d|d<d|vr7|d}t|�!����D]
}||||<�tj|tEj#|����tj$|dd���}tKj&tN��}|r|rtQ|||��}n|rtj$|dd���}nd}|r"tS||��tU||��dSdS)z'Handler method activated by cloud-init.r,z8Skipping module named %s, no 'chef' key in configurationN�directoriesrr�systemzWchef validation_cert provided as 'system', but validation_key path '%s' does not exist.zchef_client.rbz&No template found, not rendering to %s�firstboot_pathr8z7First boot path empty, not writing first boot json file�run_list�initial_attributes�
force_installF�exec)+rLr	�get_cfg_option_list�list�	CHEF_DIRS�	itertools�chain�REQUIRED_CHEF_DIRS�
ensure_dir�getr>�
write_filer;r<r=�warning�get_template_filename�str�
datasource�get_instance_idrU�setrJ�CHEF_RB_TPL_PATH_KEYS�add�dirname�ensure_dirsr�render_to_file�CHEF_RB_PATHrN�CHEF_FB_PATH�info�keys�json�dumpsr:r�is_exe�CHEF_EXEC_PATH�install_chef�run_chefrD)r.rVrWrArXr@�	chef_dirs�d�	vkey_path�vcert�template_fnrQrR�param_pathsrSrT�fb_filename�initial_jsonr_r`�	installed�runs                      rC�handler��so���S����	�	�F��	
�	
�	
�	���6�{�H��(��=�A�A�I��$���O�O�	�
�_�Y�(:�
;�
;��������������-�/G�H�H�I��L�L�*�+�+�E�
���H����O�I�u�-�-�-�-�����	�*�*�	��K�K�;��
�
�
��-�-�.>�?�?�K��
L��%�"�2�2�4�4�5�5��$�S�(�C�8�8���e�e���l�l�n�n�	4�	4�F�Q���)�)�)�a�)��������� 2� 2�3�3�3�����%�%�%�� ��l�F�C�C�C�C����<�l�K�K�K��)��"�L����K��
?����J�K�K�K�K�����!�!�'/�
�';�L��$��8�+�+�!)�*>�!?���,�1�1�3�3�4�4�
8�
8��"4�Q�"7��Q������T�Z��%=�%=�>�>�>��,��/�5����M���N�+�+�I���
���5�(�C�0�0���	���&�x���G�G�G�����
�%���3�����h��$�$�$�$�$�%�%rEc���|�d��tg}d|vr�|d}t|ttf��r|�|��n�t|t��r|�|��nX|�dt|����|�t��n|�t��tj|d���dS)NzRunning chef-client�exec_argumentszRUnknown type %s provided for chef 'exec_arguments' expected list, tuple, or stringF��capture)rLr}�
isinstancerc�tuple�extendrm�appendrk�type�CHEF_EXEC_DEF_ARGSr)r@rA�cmd�cmd_argss    rCrrs����I�I�#�$�$�$��
�C��8�#�#��,�-���h��u�
�.�.�	+��J�J�x� � � � �
��#�
&�
&�		+��J�J�x� � � � ��K�K���X���	
�
�
�
�J�J�)�*�*�*�*��
�
�%�&�&�&��I�c�5�!�!�!�!�!�!rE�distroc��|���}|�dd��}tj|���d���5}t
j�||��}|�d|��tj
||d���tjd
d|i|��cd	d	d	��S#1swxYwYd	S)aWrite blob to a tempfile, and call subp with args, kwargs. Then cleanup.

    'basename' as a kwarg allows providing the basename for the file.
    The 'args' argument to subp will be updated with the full path to the
    filename as the first argument.
    �basename�	subp_blobT)�dir�	needs_exeri�)�moderXN�)rI�popr�tempdir�get_tmp_exec_pathr;r<�join�insertr	rjr)�blobr�rX�kwargsr��tmpd�tmpfs       rC�subp_blob_in_tempfiler�*s���9�9�;�;�D��z�z�*�k�2�2�H�	�	��$�$�&�&�$�
�
�
�.�	
��w�|�|�D�(�+�+�����A�t�������d��/�/�/�/��y�-�-�d�-�f�-�-�
.�.�.�.�.�.�.�.�.�.�.�.����.�.�.�.�.�.s�A C�C�Cc��|�t}|�t}|�g}nd|g}tj||���j}t|||dd���S)agInstall an omnibus unified package from url.

    @param url: URL where blob of chef content may be downloaded. Defaults to
        OMNIBUS_URL.
    @param retries: Number of retries to perform when attempting to read url.
        Defaults to OMNIBUS_URL_RETRIES
    @param omnibus_version: Optional version string to require for omnibus
        install.
    Nz-v)�url�retrieszchef-omnibus-installF)r�r�rXr�r�)�OMNIBUS_URL�OMNIBUS_URL_RETRIESr�readurl�contentsr�)r�r�r��omnibus_versionrX�contents      rC�install_chef_from_omnibusr�=sm���{�����%��������o�&��� �S�'�:�:�:�C�G� ��
�
�'�����rEc�P�tj|dd��}tj|dd���}|dkr_tj|dd��}tj|dt��}t	|||j��tj|dd	���}n�|dkr|j�d
��nr|dkrTtj|d��}t|jtj|d
��tj|d��|���n|�	d|��d}|S)N�install_type�packagesraFr8�gems�version�ruby_versionT)r,�omnibusr��omnibus_url�omnibus_url_retries)r�r�r�r�zUnknown chef install type '%s')
r	rNr:�RUBY_VERSION_DEFAULT�install_chef_from_gemsr��install_packagesr��get_cfg_option_intrk)rWr@rAr�r��chef_versionr�r�s        rCr~r~\sF���*��.�*���L��
"�8�V�U�
C�
C�
C�C��v����.�x��D�I�I���.��n�&:�
�
��	�|�\�5�<�H�H�H��&�x���F�F�F���	��	#�	#�
��%�%�i�0�0�0�0�	��	"�	"��1�(�<M�N�N��!��<��'��-�@�@��+�H�6K�L�L�+�		
�	
�	
�	
�	
�	���4�l�C�C�C����JrEc�P�d|zd|zg}|dkr|�d��|S)Nzruby%sz
ruby%s-devr)zlibopenssl-ruby1.8zrubygems1.8)r�)r��pkgss  rC�get_ruby_packagesr�}s9���w���w� 6�7�D��%������9�:�:�:��KrEc��|�t|����tj�d��stjd|zd��tj�d��stjd|zd��|r$tjdddd|zdd	d
ddg	d
���dStjgd�d
���dS)N�/usr/bin/gemz/usr/bin/gem%sz
/usr/bin/rubyz/usr/bin/ruby%s�installr,z-v %s�--no-ri�	--no-rdoc�--bindir�/usr/bin�-qFr�)r�r�r,r�r�r�r�r�)r�r�r;r<�existsr	�sym_linkr)r�r�r�s   rCr�r��s��
���-�l�;�;�<�<�<�
�7�>�>�.�)�)�G��
�&��5�~�F�F�F�
�7�>�>�/�*�*�I��
�'�,�6��H�H�H��
��	�����,�&������

��
	
�
	
�
	
�
	
�
	
�
	
�	
�	�	
�	
�	
��	
�	
�	
�	
�	
�	
rE)NNN)<�__doc__rerzr;�loggingr�textwrapr�	cloudinitrrrrr	�cloudinit.cloudr
�cloudinit.configr�cloudinit.config.schemarr
�cloudinit.distrosr�cloudinit.settingsrr�r�rdrgr�r�r>�CHEF_ENCRYPTED_DATA_BAG_PATH�CHEF_ENVIRONMENTrwrH�	frozensetrMrqrfryrKrvr}r�r3r1r5�__annotations__rDrUrmrcr�rr�r�r~r�r�r�rErC�<module>r�s���>�=�=���������	�	�	�	�������������C�C�C�C�C�C�C�C�C�C�C�C�C�C�!�!�!�!�!�!�#�#�#�#�#�#�<�<�<�<�<�<�<�<�$�$�$�$�$�$�)�)�)�)�)�)����E����	
�	
�	��U������4����5��D����)��&��.�.��(� �(�+�*��!%���� "�	�;�-�0�0��!�	����
�
���9��I�O��!�!�#�#���	
�	
�	
�	��
�
��%��'���U�;�;�;�<�<��
�	��'����
?��6�	A�
�
����
0�	
�	
��4� &�x�W,�,��j�,�,�,�\�,�t�
�
��,�,�,� � � �FQ%�

�Q%��Q%�#(�Q%�/5�Q%�=A�Q%�	�Q%�Q%�Q%�Q%�h"�"�"�,.��.�d�.�.�.�.�(=A��������>������B���"
�"
�"
�"
�"
rE