]> review.fuel-infra Code Review - openstack-build/cinder-build.git/commitdiff
Use oslo_config choices support
authorEric Brown <browne@vmware.com>
Tue, 24 Feb 2015 07:02:50 +0000 (23:02 -0800)
committerEric Brown <browne@vmware.com>
Tue, 24 Feb 2015 22:36:34 +0000 (22:36 +0000)
The oslo_config library added support for a choices keyword argument in
version 1.2.0a3.  This commit leverages the use of choices for StrOpts in
Cinder's configuration.

References:
http://docs.openstack.org/developer/oslo.config/#a3
https://bugs.launchpad.net/oslo-incubator/+bug/1123043

Change-Id: Id94904d9b15bc1c52f47aafe7e59ec738d93f966

cinder/common/config.py
cinder/volume/driver.py
cinder/volume/drivers/ibm/gpfs.py
cinder/volume/drivers/ibm/ibmnas.py
cinder/volume/drivers/ibm/xiv_ds8k.py
cinder/volume/drivers/lvm.py
cinder/volume/drivers/netapp/options.py
cinder/volume/drivers/nexenta/options.py
cinder/volume/drivers/smbfs.py
cinder/volume/drivers/zfssa/zfssaiscsi.py
cinder/volume/drivers/zfssa/zfssanfs.py

index 5631a37266c9b469b86d17b7d03c282be3d6baf8..e5cd3157892e17a5b1d2c6b7bff0fae39f0b45fc 100644 (file)
@@ -166,6 +166,7 @@ global_opts = [
                help='The full class name of the volume backup API class'),
     cfg.StrOpt('auth_strategy',
                default='noauth',
+               choices=['noauth', 'keystone', 'deprecated'],
                help='The strategy to use for auth. Supports noauth, keystone, '
                     'and deprecated.'),
     cfg.ListOpt('enabled_backends',
index cea0eea8340ed74c0985fa27bd1b203a15f537a6..a46a95a83e69b78423e9a0d58fad550997bba324 100644 (file)
@@ -77,8 +77,8 @@ volume_opts = [
                      'running. Otherwise, it will fallback to single path.'),
     cfg.StrOpt('volume_clear',
                default='zero',
-               help='Method used to wipe old volumes (valid options are: '
-                    'none, zero, shred)'),
+               choices=['none', 'zero', 'shred'],
+               help='Method used to wipe old volumes'),
     cfg.IntOpt('volume_clear_size',
                default=0,
                help='Size in MiB to wipe at start of old volumes. 0 => all'),
@@ -89,6 +89,7 @@ volume_opts = [
                     'for example "-c3" for idle only priority.'),
     cfg.StrOpt('iscsi_helper',
                default='tgtadm',
+               choices=['tgtadm', 'lioadm', 'iseradm', 'iscsictl', 'fake'],
                help='iSCSI target user-land tool to use. tgtadm is default, '
                     'use lioadm for LIO iSCSI support, iseradm for the ISER '
                     'protocol, iscsictl for Chelsio iSCSI Target or fake for '
@@ -109,6 +110,7 @@ volume_opts = [
                     'It will be removed in the next release.'),
     cfg.StrOpt('iscsi_iotype',
                default='fileio',
+               choices=['blockio', 'fileio', 'auto'],
                help=('Sets the behavior of the iSCSI target '
                      'to either perform blockio or fileio '
                      'optionally, auto can be set and Cinder '
@@ -127,12 +129,14 @@ volume_opts = [
                     '0 => unlimited'),
     cfg.StrOpt('iscsi_write_cache',
                default='on',
+               choices=['on', 'off'],
                help='Sets the behavior of the iSCSI target to either '
                     'perform write-back(on) or write-through(off). '
                     'This parameter is valid if iscsi_helper is set '
                     'to tgtadm or iseradm.'),
     cfg.StrOpt('iscsi_protocol',
                default='iscsi',
+               choices=['iscsi', 'iser'],
                help='Determines the iSCSI protocol for new iSCSI volumes, '
                     'created with tgtadm or lioadm target helpers. In '
                     'order to enable RDMA, this parameter should be set '
index b4e6941dfe4c81e1cc6a8ce73583d9a98c71d6f9..f52d55b58f01cde6a0e3b5b6870ccd142ef7725f 100644 (file)
@@ -50,7 +50,8 @@ gpfs_opts = [
                help='Specifies the path of the Image service repository in '
                     'GPFS.  Leave undefined if not storing images in GPFS.'),
     cfg.StrOpt('gpfs_images_share_mode',
-               default=None,
+               default='copy_on_write',
+               choices=['copy', 'copy_on_write'],
                help='Specifies the type of image copy to be used.  Set this '
                     'when the Image service repository also uses GPFS so '
                     'that image files can be transferred efficiently from '
index fdd93e8b3908368ad4f831266ddd2a811a261518..9eb3269b9987738a60d95fb550c684e3a2160683 100644 (file)
@@ -52,6 +52,7 @@ LOG = logging.getLogger(__name__)
 platform_opts = [
     cfg.StrOpt('ibmnas_platform_type',
                default='v7ku',
+               choices=['v7ku', 'sonas', 'gpfs-nas'],
                help=('IBMNAS platform type to be used as backend storage; '
                      'valid values are - '
                      'v7ku : for using IBM Storwize V7000 Unified, '
index 9f697773236950a566c9a8b3d1c66380770f95b4..56747d324ece59bd7869baa190d00f46eb34241c 100644 (file)
@@ -37,11 +37,12 @@ xiv_ds8k_opts = [
     cfg.StrOpt(
         'xiv_ds8k_connection_type',
         default='iscsi',
-        help='Connection type to the IBM Storage Array'
-        ' (fibre_channel|iscsi)'),
+        choices=['fibre_channel', 'iscsi'],
+        help='Connection type to the IBM Storage Array'),
     cfg.StrOpt(
         'xiv_chap',
         default='disabled',
+        choices=['disabled', 'enabled'],
         help='CHAP authentication mode, effective only for iscsi'
         ' (disabled|enabled)'),
 ]
index e7098916eb0093f7350ac44616200d28b58f3a70..8a5d8b2709dff53f4d78c4c24a8ea7585fb38d45 100644 (file)
@@ -51,7 +51,8 @@ volume_opts = [
                     'this requires lvm_mirrors + 2 PVs with available space'),
     cfg.StrOpt('lvm_type',
                default='default',
-               help='Type of LVM volumes to deploy; (default or thin)'),
+               choices=['default', 'thin'],
+               help='Type of LVM volumes to deploy'),
     cfg.StrOpt('lvm_conf_file',
                default='/etc/cinder/lvm.conf',
                help='LVM conf file to use for the LVM driver in Cinder; '
index d8343849bd7a11cccde2e7343e50f937abe78108..2da37dafbde1a9456cbce7447926046b29f7dce1 100644 (file)
@@ -29,15 +29,16 @@ from oslo_config import cfg
 netapp_proxy_opts = [
     cfg.StrOpt('netapp_storage_family',
                default='ontap_cluster',
+               choices=['ontap_7mode', 'ontap_cluster', 'eseries'],
                help=('The storage family type used on the storage system; '
                      'valid values are ontap_7mode for using Data ONTAP '
                      'operating in 7-Mode, ontap_cluster for using '
                      'clustered Data ONTAP, or eseries for using E-Series.')),
     cfg.StrOpt('netapp_storage_protocol',
-               default=None,
+               default='iscsi',
+               choices=['iscsi', 'fc', 'nfs'],
                help=('The storage protocol to be used on the data path with '
-                     'the storage system; valid values are iscsi, fc, or '
-                     'nfs.')), ]
+                     'the storage system.')), ]
 
 netapp_connection_opts = [
     cfg.StrOpt('netapp_server_hostname',
@@ -54,9 +55,9 @@ netapp_connection_opts = [
 netapp_transport_opts = [
     cfg.StrOpt('netapp_transport_type',
                default='http',
+               choices=['http', 'https'],
                help=('The transport protocol used when communicating with '
-                     'the storage system or proxy server. Valid values are '
-                     'http or https.')), ]
+                     'the storage system or proxy server.')), ]
 
 netapp_basicauth_opts = [
     cfg.StrOpt('netapp_login',
index 34ab993e1cef86fa9600767ea489a5f538a9d6aa..9f72bb04185c7719791348d8e7013f06c3eb0216 100644 (file)
@@ -33,6 +33,7 @@ NEXENTA_CONNECTION_OPTIONS = [
                help='HTTP port to connect to Nexenta REST API server'),
     cfg.StrOpt('nexenta_rest_protocol',
                default='auto',
+               choices=['http', 'https', 'auto'],
                help='Use http or https for REST connection (default auto)'),
     cfg.StrOpt('nexenta_user',
                default='admin',
@@ -73,6 +74,7 @@ NEXENTA_NFS_OPTIONS = [
                      'which takes a long time.'),
     cfg.StrOpt('nexenta_volume_compression',
                default='on',
+               choices=['on', 'off'],
                help='Default compression value for new ZFS folders.'),
     cfg.BoolOpt('nexenta_nms_cache_volroot',
                 default=True,
index 4509fb541d5ee33a9e1949e3190663840626f52e..4c4a3ea2a40a2559747ae83b6af5dc1cad081040 100644 (file)
@@ -39,9 +39,9 @@ volume_opts = [
                help='File with the list of available smbfs shares.'),
     cfg.StrOpt('smbfs_default_volume_format',
                default='qcow2',
+               choices=['raw', 'qcow2', 'vhd', 'vhdx'],
                help=('Default format that will be used when creating volumes '
-                     'if no volume format is specified. Can be set to: '
-                     'raw, qcow2, vhd or vhdx.')),
+                     'if no volume format is specified.')),
     cfg.BoolOpt('smbfs_sparsed_volumes',
                 default=True,
                 help=('Create volumes as sparsed files which take no space '
index 92a6913dedc230abe890c2f9f8411b77ba695fed..34c073e6ac61f430e80db916567e289bd2a7499e 100644 (file)
@@ -37,13 +37,17 @@ ZFSSA_OPTS = [
     cfg.StrOpt('zfssa_project',
                help='Project name.'),
     cfg.StrOpt('zfssa_lun_volblocksize', default='8k',
-               help='Block size: 512, 1k, 2k, 4k, 8k, 16k, 32k, 64k, 128k.'),
+               choices=['512', '1k', '2k', '4k', '8k', '16k', '32k', '64k',
+                        '128k'],
+               help='Block size.'),
     cfg.BoolOpt('zfssa_lun_sparse', default=False,
                 help='Flag to enable sparse (thin-provisioned): True, False.'),
-    cfg.StrOpt('zfssa_lun_compression', default='',
-               help='Data compression-off, lzjb, gzip-2, gzip, gzip-9.'),
-    cfg.StrOpt('zfssa_lun_logbias', default='',
-               help='Synchronous write bias-latency, throughput.'),
+    cfg.StrOpt('zfssa_lun_compression', default='off',
+               choices=['off', 'lzjb', 'gzip-2', 'gzip', 'gzip-9'],
+               help='Data compression.'),
+    cfg.StrOpt('zfssa_lun_logbias', default='latency',
+               choices=['latency', 'throughput'],
+               help='Synchronous write bias.'),
     cfg.StrOpt('zfssa_initiator_group', default='',
                help='iSCSI initiator group.'),
     cfg.StrOpt('zfssa_initiator', default='',
index 7dba434015633e43d7c440621b33bc5ce335a7ba..c9a39325826414b286b3d0de3966e1b6b72d659c 100644 (file)
@@ -44,8 +44,10 @@ ZFSSA_OPTS = [
     cfg.StrOpt('zfssa_nfs_share', default='nfs_share',
                help='Share name.'),
     cfg.StrOpt('zfssa_nfs_share_compression', default='off',
-               help='Data compression-off, lzjb, gzip-2, gzip, gzip-9.'),
+               choices=['off', 'lzjb', 'gzip-2', 'gzip', 'gzip-9'],
+               help='Data compression.'),
     cfg.StrOpt('zfssa_nfs_share_logbias', default='latency',
+               choices=['latency', 'throughput'],
                help='Synchronous write bias-latency, throughput.'),
     cfg.IntOpt('zfssa_rest_timeout',
                help='REST connection timeout. (seconds)')