<s> '''<STR_LIT>''' <EOL> from __future__ import absolute_import <EOL> import os <EOL> import salt . utils <EOL> def __virtual__ ( ) : <EOL> '''<STR_LIT>''' <EOL> if salt . utils . which ( '<STR_LIT>' ) : <EOL> return '<STR_LIT>' <EOL> return False <EOL> def pv_present ( name , ** kwargs ) : <EOL> '''<STR_LIT>''' <EOL> ret = { '<STR_LIT>' : { } , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:name>' : name , <EOL> '<STR_LIT:result>' : True } <EOL> if __salt__ [ '<STR_LIT>' ] ( name ) : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( name ) <EOL> elif __opts__ [ '<STR_LIT:test>' ] : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( name ) <EOL> ret [ '<STR_LIT:result>' ] = None <EOL> return ret <EOL> else : <EOL> changes = __salt__ [ '<STR_LIT>' ] ( name , ** kwargs ) <EOL> if __salt__ [ '<STR_LIT>' ] ( name ) : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( name ) <EOL> ret [ '<STR_LIT>' ] [ '<STR_LIT>' ] = changes <EOL> else : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( name ) <EOL> ret [ '<STR_LIT:result>' ] = False <EOL> return ret <EOL> def pv_absent ( name ) : <EOL> '''<STR_LIT>''' <EOL> ret = { '<STR_LIT>' : { } , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:name>' : name , <EOL> '<STR_LIT:result>' : True } <EOL> if not __salt__ [ '<STR_LIT>' ] ( name ) : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( name ) <EOL> elif __opts__ [ '<STR_LIT:test>' ] : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( name ) <EOL> ret [ '<STR_LIT:result>' ] = None <EOL> return ret <EOL> else : <EOL> changes = __salt__ [ '<STR_LIT>' ] ( name ) <EOL> if __salt__ [ '<STR_LIT>' ] ( name ) : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( name ) <EOL> ret [ '<STR_LIT:result>' ] = False <EOL> else : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( name ) <EOL> ret [ '<STR_LIT>' ] [ '<STR_LIT>' ] = changes <EOL> return ret <EOL> def vg_present ( name , devices = None , ** kwargs ) : <EOL> '''<STR_LIT>''' <EOL> ret = { '<STR_LIT>' : { } , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:name>' : name , <EOL> '<STR_LIT:result>' : True } <EOL> if __salt__ [ '<STR_LIT>' ] ( name ) : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( name ) <EOL> for device in devices . split ( '<STR_LIT:U+002C>' ) : <EOL> realdev = os . path . realpath ( device ) <EOL> pvs = __salt__ [ '<STR_LIT>' ] ( realdev , real = True ) <EOL> if pvs and pvs . get ( realdev , None ) : <EOL> if pvs [ realdev ] [ '<STR_LIT>' ] == name : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( <EOL> ret [ '<STR_LIT>' ] , <EOL> '<STR_LIT>' . format ( device ) ) <EOL> elif pvs [ realdev ] [ '<STR_LIT>' ] == '<STR_LIT>' : <EOL> __salt__ [ '<STR_LIT>' ] ( name , device ) <EOL> pvs = __salt__ [ '<STR_LIT>' ] ( realdev , real = True ) <EOL> if pvs [ realdev ] [ '<STR_LIT>' ] == name : <EOL> ret [ '<STR_LIT>' ] . update ( <EOL> { device : '<STR_LIT>' . format ( name ) } ) <EOL> else : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( <EOL> ret [ '<STR_LIT>' ] , <EOL> '<STR_LIT>' . format ( device ) ) <EOL> ret [ '<STR_LIT:result>' ] = False <EOL> else : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( <EOL> ret [ '<STR_LIT>' ] , <EOL> '<STR_LIT>' . format ( <EOL> device , pvs [ realdev ] [ '<STR_LIT>' ] ) ) <EOL> ret [ '<STR_LIT:result>' ] = False <EOL> else : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( <EOL> ret [ '<STR_LIT>' ] , <EOL> '<STR_LIT>' . format ( device ) ) <EOL> ret [ '<STR_LIT:result>' ] = False <EOL> elif __opts__ [ '<STR_LIT:test>' ] : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( name ) <EOL> ret [ '<STR_LIT:result>' ] = None <EOL> return ret <EOL> else : <EOL> changes = __salt__ [ '<STR_LIT>' ] ( name , devices , ** kwargs ) <EOL> if __salt__ [ '<STR_LIT>' ] ( name ) : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( name ) <EOL> ret [ '<STR_LIT>' ] [ '<STR_LIT>' ] = changes <EOL> else : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( name ) <EOL> ret [ '<STR_LIT:result>' ] = False <EOL> return ret <EOL> def vg_absent ( name ) : <EOL> '''<STR_LIT>''' <EOL> ret = { '<STR_LIT>' : { } , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:name>' : name , <EOL> '<STR_LIT:result>' : True } <EOL> if not __salt__ [ '<STR_LIT>' ] ( name ) : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( name ) <EOL> elif __opts__ [ '<STR_LIT:test>' ] : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( name ) <EOL> ret [ '<STR_LIT:result>' ] = None <EOL> return ret <EOL> else : <EOL> changes = __salt__ [ '<STR_LIT>' ] ( name ) <EOL> if not __salt__ [ '<STR_LIT>' ] ( name ) : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( name ) <EOL> ret [ '<STR_LIT>' ] [ '<STR_LIT>' ] = changes <EOL> else : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( name ) <EOL> ret [ '<STR_LIT:result>' ] = False <EOL> return ret <EOL> def lv_present ( name , <EOL> vgname = None , <EOL> size = None , <EOL> extents = None , <EOL> snapshot = None , <EOL> pv = '<STR_LIT>' , <EOL> ** kwargs ) : <EOL> '''<STR_LIT>''' <EOL> ret = { '<STR_LIT>' : { } , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:name>' : name , <EOL> '<STR_LIT:result>' : True } <EOL> _snapshot = None <EOL> if snapshot : <EOL> _snapshot = name <EOL> name = snapshot <EOL> lvpath = '<STR_LIT>' . format ( vgname , name ) <EOL> if __salt__ [ '<STR_LIT>' ] ( lvpath ) : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( name ) <EOL> elif __opts__ [ '<STR_LIT:test>' ] : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( name ) <EOL> ret [ '<STR_LIT:result>' ] = None <EOL> return ret <EOL> else : <EOL> changes = __salt__ [ '<STR_LIT>' ] ( name , <EOL> vgname , <EOL> size = size , <EOL> extents = extents , <EOL> snapshot = _snapshot , <EOL> pv = pv , <EOL> ** kwargs ) <EOL> if __salt__ [ '<STR_LIT>' ] ( lvpath ) : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( name ) <EOL> ret [ '<STR_LIT>' ] [ '<STR_LIT>' ] = changes <EOL> else : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( name ) <EOL> ret [ '<STR_LIT:result>' ] = False <EOL> return ret <EOL> def lv_absent ( name , vgname = None ) : <EOL> '''<STR_LIT>''' <EOL> ret = { '<STR_LIT>' : { } , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:name>' : name , <EOL> '<STR_LIT:result>' : True } <EOL> lvpath = '<STR_LIT>' . format ( vgname , name ) <EOL> if not __salt__ [ '<STR_LIT>' ] ( lvpath ) : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( name ) <EOL> elif __opts__ [ '<STR_LIT:test>' ] : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( name ) <EOL> ret [ '<STR_LIT:result>' ] = None <EOL> return ret <EOL> else : <EOL> changes = __salt__ [ '<STR_LIT>' ] ( name , vgname ) <EOL> if not __salt__ [ '<STR_LIT>' ] ( lvpath ) : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( name ) <EOL> ret [ '<STR_LIT>' ] [ '<STR_LIT>' ] = changes <EOL> else : <EOL> ret [ '<STR_LIT>' ] = '<STR_LIT>' . format ( name ) <EOL> ret [ '<STR_LIT:result>' ] = False <EOL> return ret </s>
