本文整理匯總了Python中charmsupport.volumes.VolumeConfigurationError方法的典型用法代碼示例。如果您正苦於以下問題:Python volumes.VolumeConfigurationError方法的具體用法?Python volumes.VolumeConfigurationError怎麽用?Python volumes.VolumeConfigurationError使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類charmsupport.volumes
的用法示例。
在下文中一共展示了volumes.VolumeConfigurationError方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: mount_volume
# 需要導入模塊: from charmsupport import volumes [as 別名]
# 或者: from charmsupport.volumes import VolumeConfigurationError [as 別名]
def mount_volume(config):
if os.path.exists(config['mountpoint']):
if not os.path.isdir(config['mountpoint']):
hookenv.log('Not a directory: {}'.format(config['mountpoint']))
raise VolumeConfigurationError()
else:
host.mkdir(config['mountpoint'])
if os.path.ismount(config['mountpoint']):
unmount_volume(config)
if not host.mount(config['device'], config['mountpoint'], persist=True):
raise VolumeConfigurationError()
示例2: unmount_volume
# 需要導入模塊: from charmsupport import volumes [as 別名]
# 或者: from charmsupport.volumes import VolumeConfigurationError [as 別名]
def unmount_volume(config):
if os.path.ismount(config['mountpoint']):
if not host.umount(config['mountpoint'], persist=True):
raise VolumeConfigurationError()
示例3: configure_volume
# 需要導入模塊: from charmsupport import volumes [as 別名]
# 或者: from charmsupport.volumes import VolumeConfigurationError [as 別名]
def configure_volume(before_change=lambda: None, after_change=lambda: None):
'''Set up storage (or don't) according to the charm's volume configuration.
Returns the mount point or "ephemeral". before_change and after_change
are optional functions to be called if the volume configuration changes.
'''
config = get_config()
if not config:
hookenv.log('Failed to read volume configuration', hookenv.CRITICAL)
raise VolumeConfigurationError()
if config['ephemeral']:
if os.path.ismount(config['mountpoint']):
before_change()
unmount_volume(config)
after_change()
return 'ephemeral'
else:
# persistent storage
if os.path.ismount(config['mountpoint']):
mounts = dict(managed_mounts())
if mounts.get(config['mountpoint']) != config['device']:
before_change()
unmount_volume(config)
mount_volume(config)
after_change()
else:
before_change()
mount_volume(config)
after_change()
return config['mountpoint']