Add configuration option to support testing on cloud-instances.
This commit is contained in:
parent
2fd7594aa1
commit
d29c0e8ea8
10
config.yaml
10
config.yaml
@ -108,6 +108,16 @@ options:
|
|||||||
If True, charm will attempt to remove missing physical volumes from
|
If True, charm will attempt to remove missing physical volumes from
|
||||||
volume group, even when logical volumes are allocated on them. This
|
volume group, even when logical volumes are allocated on them. This
|
||||||
option overrides 'remove-missing' when set.
|
option overrides 'remove-missing' when set.
|
||||||
|
ephemeral-unmount:
|
||||||
|
type: string
|
||||||
|
default:
|
||||||
|
description: |
|
||||||
|
Cloud instances provide ephermeral storage which is normally mounted
|
||||||
|
on /mnt.
|
||||||
|
.
|
||||||
|
Providing this option will force an unmount of the ephemeral device
|
||||||
|
so that it can be used as a Cinder storage device. This is useful for
|
||||||
|
testing purposes (cloud deployment is not a typical use case).
|
||||||
database-user:
|
database-user:
|
||||||
default: cinder
|
default: cinder
|
||||||
type: string
|
type: string
|
||||||
|
@ -26,6 +26,7 @@ from cinder_utils import (
|
|||||||
ceph_config_file,
|
ceph_config_file,
|
||||||
setup_ipv6,
|
setup_ipv6,
|
||||||
check_db_initialised,
|
check_db_initialised,
|
||||||
|
filesystem_mounted,
|
||||||
)
|
)
|
||||||
|
|
||||||
from charmhelpers.core.hookenv import (
|
from charmhelpers.core.hookenv import (
|
||||||
@ -53,6 +54,7 @@ from charmhelpers.core.host import (
|
|||||||
lsb_release,
|
lsb_release,
|
||||||
restart_on_change,
|
restart_on_change,
|
||||||
service_reload,
|
service_reload,
|
||||||
|
umount,
|
||||||
)
|
)
|
||||||
|
|
||||||
from charmhelpers.contrib.openstack.utils import (
|
from charmhelpers.contrib.openstack.utils import (
|
||||||
@ -123,6 +125,10 @@ def config_changed():
|
|||||||
sync_db_with_multi_ipv6_addresses(config('database'),
|
sync_db_with_multi_ipv6_addresses(config('database'),
|
||||||
config('database-user'))
|
config('database-user'))
|
||||||
|
|
||||||
|
e_mountpoint = conf['ephemeral-unmount']
|
||||||
|
if e_mountpoint and filesystem_mounted(e_mountpoint):
|
||||||
|
umount(e_mountpoint)
|
||||||
|
|
||||||
if (service_enabled('volume') and
|
if (service_enabled('volume') and
|
||||||
conf['block-device'] not in [None, 'None', 'none']):
|
conf['block-device'] not in [None, 'None', 'none']):
|
||||||
block_devices = conf['block-device'].split()
|
block_devices = conf['block-device'].split()
|
||||||
|
@ -796,3 +796,7 @@ def git_post_install(projects_yaml):
|
|||||||
service_restart('tgtd')
|
service_restart('tgtd')
|
||||||
|
|
||||||
[service_restart(s) for s in services()]
|
[service_restart(s) for s in services()]
|
||||||
|
|
||||||
|
|
||||||
|
def filesystem_mounted(fs):
|
||||||
|
return subprocess.call(['grep', '-wqs', fs, '/proc/mounts']) == 0
|
||||||
|
@ -68,7 +68,8 @@ class CinderBasicDeployment(OpenStackAmuletDeployment):
|
|||||||
"""Configure all of the services."""
|
"""Configure all of the services."""
|
||||||
cinder_config = {'block-device': 'vdb',
|
cinder_config = {'block-device': 'vdb',
|
||||||
'glance-api-version': '2',
|
'glance-api-version': '2',
|
||||||
'overwrite': 'true'}
|
'overwrite': 'true',
|
||||||
|
'ephemeral-unmount': '/mnt'}
|
||||||
if self.git:
|
if self.git:
|
||||||
amulet_http_proxy = os.environ.get('AMULET_HTTP_PROXY')
|
amulet_http_proxy = os.environ.get('AMULET_HTTP_PROXY')
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user