File: //lib/python2.7/site-packages/azurelinuxagent/daemon/resourcedisk/default.pyo
�
d�bc @ s d d l Z d d l Z d d l Z d d l Z d d l Z d d l m Z d d l j j Z d d l
m Z d d l j j
Z
d d l m Z m Z d d l j j j Z d d l j j j Z d d l m Z d d l m Z d d l m Z d Z d Z d
e f d � � YZ d S( i����N( t sleep( t ustr( t add_eventt WALAEventOperation( t ResourceDiskError( t
get_osutil( t
AGENT_NAMEs DATALOSS_WARNING_README.txtsM WARNING: THIS IS A TEMPORARY DISK.
Any data stored on this drive is SUBJECT TO LOSS and THERE IS NO WAY TO RECOVER IT.
Please do not use this disk for storing any personal or application data.
For additional details to please refer to the MSDN documentation at :
http://msdn.microsoft.com/en-us/library/windowsazure/jj672979.aspx
t ResourceDiskHandlerc B sz e Z d � Z d � Z d � Z d � Z d � Z d � Z d � Z d � Z d � Z
e d � � Z d
� Z
d � Z RS( c C s t � | _ t j � | _ d S( N( R t osutilt conft get_resourcedisk_filesystemt fs( t self( ( sO /usr/lib/python2.7/site-packages/azurelinuxagent/daemon/resourcedisk/default.pyt __init__1 s c C s# t j d | j � } | j � d S( Nt target( t threadingt Threadt runt start( R t disk_thread( ( sO /usr/lib/python2.7/site-packages/azurelinuxagent/daemon/resourcedisk/default.pyt start_activate_resource_disk5 s c C sM d } t j � r! | j � } n | d k rI t j � rI | j | � n d S( N( t NoneR t get_resourcedisk_formatt activate_resource_diskt get_resourcedisk_enable_swapt enable_swap( R t mount_point( ( sO /usr/lib/python2.7/site-packages/azurelinuxagent/daemon/resourcedisk/default.pyR 9 s c C s� t j d � yr t j � } | j | � } t j j | t � } y t j
| t � Wn# t k
ry } t j
d | � n X| SWnK t k
r� } t j d | � t d t d t d t | � d t j � n Xd S( Ns Activate resource disks% Failed to write data loss warning:{0}s! Failed to mount resource disk {0}t namet
is_successt messaget op( t loggert infoR t get_resourcedisk_mountpointt mount_resource_diskt ost patht joint DATALOSS_WARNING_FILE_NAMEt fileutilt
write_filet DATA_LOSS_WARNINGt IOErrort warnR t errorR R t FalseR R t ActivateResourceDiskR ( R R t warning_filet e( ( sO /usr/lib/python2.7/site-packages/azurelinuxagent/daemon/resourcedisk/default.pyR A s
c C sW t j d � y t j � } | j | | � Wn# t k
rR } t j d | � n Xd S( Ns Enable swaps Failed to enable swap {0}( R R R t get_resourcedisk_swap_size_mbt create_swap_spaceR R, ( R R t size_mbR0 ( ( sO /usr/lib/python2.7/site-packages/azurelinuxagent/daemon/resourcedisk/default.pyR S s
c C sA t j d j | � d t �r= t j d j | � d t �n d S( Ns
sfdisk -R {0}t chk_errs blockdev --rereadpt {0}( t shellutilR t formatR- ( R t device( ( sO /usr/lib/python2.7/site-packages/azurelinuxagent/daemon/resourcedisk/default.pyt reread_partition_table[ s c C s | j j d � } | d k r- t d � � n d j | � } | d } t j d � d } | j j | | � } | r� t j d | | � | Sy t
j | d d �WnG t k
r� } d j | | � } t j
| � t d
| d | � � n Xt j d � t j d
j | � � } | d r:t d j | | d � � � n d } | j d k rXd } n d j | j | | � }
d | d k r�t j d � g | d j d � D] } t j d | � r�| ^ q�} t j d t | � � t | � d k rOt j d � xJ t d t | � d � D]/ }
t j d |
� t j d j | |
� � qWt j d � t j d j | � � t j d |
� t j |
� qOn� t j d � | j d t d! d"