本文整理汇总了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']