1fd7e88191
Share drivers to support NexentaStor4 and NexentaStor5 via NFS protocol. Supports all minimal required features. Implements: blueprint nexenta-manila-driver DocImpact Change-Id: Ib8b8525397626162968458ec837f9239ff5dbb2b
188 lines
7.6 KiB
Python
188 lines
7.6 KiB
Python
# Copyright (c) 2014 SUSE Linux Products GmbH.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
__all__ = [
|
|
'list_opts'
|
|
]
|
|
|
|
import copy
|
|
import itertools
|
|
|
|
import oslo_concurrency.opts
|
|
import oslo_log._options
|
|
import oslo_middleware.opts
|
|
import oslo_policy.opts
|
|
|
|
import manila.api.common
|
|
import manila.api.middleware.auth
|
|
import manila.common.config
|
|
import manila.compute
|
|
import manila.compute.nova
|
|
import manila.db.api
|
|
import manila.db.base
|
|
import manila.exception
|
|
import manila.network
|
|
import manila.network.linux.interface
|
|
import manila.network.neutron.api
|
|
import manila.network.neutron.neutron_network_plugin
|
|
import manila.network.nova_network_plugin
|
|
import manila.network.standalone_network_plugin
|
|
import manila.quota
|
|
import manila.scheduler.drivers.base
|
|
import manila.scheduler.drivers.simple
|
|
import manila.scheduler.host_manager
|
|
import manila.scheduler.manager
|
|
import manila.scheduler.scheduler_options
|
|
import manila.scheduler.weighers
|
|
import manila.scheduler.weighers.capacity
|
|
import manila.scheduler.weighers.pool
|
|
import manila.service
|
|
import manila.share.api
|
|
import manila.share.driver
|
|
import manila.share.drivers.cephfs.cephfs_native
|
|
import manila.share.drivers.container.driver
|
|
import manila.share.drivers.container.storage_helper
|
|
import manila.share.drivers.emc.driver
|
|
import manila.share.drivers.emc.plugins.isilon.isilon
|
|
import manila.share.drivers.generic
|
|
import manila.share.drivers.glusterfs
|
|
import manila.share.drivers.glusterfs.common
|
|
import manila.share.drivers.glusterfs.layout
|
|
import manila.share.drivers.glusterfs.layout_directory
|
|
import manila.share.drivers.glusterfs.layout_volume
|
|
import manila.share.drivers.hdfs.hdfs_native
|
|
import manila.share.drivers.hitachi.hnas.driver
|
|
import manila.share.drivers.hitachi.hsp.driver
|
|
import manila.share.drivers.hpe.hpe_3par_driver
|
|
import manila.share.drivers.huawei.huawei_nas
|
|
import manila.share.drivers.ibm.gpfs
|
|
import manila.share.drivers.lvm
|
|
import manila.share.drivers.netapp.options
|
|
import manila.share.drivers.nexenta.options
|
|
import manila.share.drivers.quobyte.quobyte
|
|
import manila.share.drivers.service_instance
|
|
import manila.share.drivers.tegile.tegile
|
|
import manila.share.drivers.windows.service_instance
|
|
import manila.share.drivers.windows.winrm_helper
|
|
import manila.share.drivers.zfsonlinux.driver
|
|
import manila.share.drivers.zfssa.zfssashare
|
|
import manila.share.drivers_private_data
|
|
import manila.share.hook
|
|
import manila.share.manager
|
|
import manila.volume
|
|
import manila.volume.cinder
|
|
import manila.wsgi
|
|
|
|
|
|
# List of *all* options in [DEFAULT] namespace of manila.
|
|
# Any new option list or option needs to be registered here.
|
|
_global_opt_lists = [
|
|
# Keep list alphabetically sorted
|
|
manila.api.common.api_common_opts,
|
|
[manila.api.middleware.auth.use_forwarded_for_opt],
|
|
manila.common.config.core_opts,
|
|
manila.common.config.debug_opts,
|
|
manila.common.config.global_opts,
|
|
manila.compute._compute_opts,
|
|
manila.db.api.db_opts,
|
|
[manila.db.base.db_driver_opt],
|
|
manila.exception.exc_log_opts,
|
|
manila.network.linux.interface.OPTS,
|
|
manila.network.network_opts,
|
|
manila.network.neutron.neutron_network_plugin.
|
|
neutron_bind_network_plugin_opts,
|
|
manila.network.neutron.neutron_network_plugin.
|
|
neutron_single_network_plugin_opts,
|
|
manila.network.nova_network_plugin.nova_single_network_plugin_opts,
|
|
manila.network.standalone_network_plugin.standalone_network_plugin_opts,
|
|
manila.quota.quota_opts,
|
|
manila.scheduler.drivers.base.scheduler_driver_opts,
|
|
manila.scheduler.host_manager.host_manager_opts,
|
|
[manila.scheduler.manager.scheduler_driver_opt],
|
|
[manila.scheduler.scheduler_options.scheduler_json_config_location_opt],
|
|
manila.scheduler.drivers.simple.simple_scheduler_opts,
|
|
manila.scheduler.weighers.capacity.capacity_weight_opts,
|
|
manila.scheduler.weighers.pool.pool_weight_opts,
|
|
manila.service.service_opts,
|
|
manila.share.api.share_api_opts,
|
|
manila.share.driver.ganesha_opts,
|
|
manila.share.driver.share_opts,
|
|
manila.share.driver.ssh_opts,
|
|
manila.share.drivers_private_data.private_data_opts,
|
|
manila.share.drivers.cephfs.cephfs_native.cephfs_native_opts,
|
|
manila.share.drivers.container.driver.container_opts,
|
|
manila.share.drivers.container.storage_helper.lv_opts,
|
|
manila.share.drivers.emc.driver.EMC_NAS_OPTS,
|
|
manila.share.drivers.generic.share_opts,
|
|
manila.share.drivers.glusterfs.common.glusterfs_common_opts,
|
|
manila.share.drivers.glusterfs.GlusterfsManilaShare_opts,
|
|
manila.share.drivers.glusterfs.layout.glusterfs_share_layout_opts,
|
|
manila.share.drivers.glusterfs.layout_directory.
|
|
glusterfs_directory_mapped_opts,
|
|
manila.share.drivers.glusterfs.layout_volume.glusterfs_volume_mapped_opts,
|
|
manila.share.drivers.hdfs.hdfs_native.hdfs_native_share_opts,
|
|
manila.share.drivers.hitachi.hnas.driver.hitachi_hnas_opts,
|
|
manila.share.drivers.hitachi.hsp.driver.hitachi_hsp_opts,
|
|
manila.share.drivers.hpe.hpe_3par_driver.HPE3PAR_OPTS,
|
|
manila.share.drivers.huawei.huawei_nas.huawei_opts,
|
|
manila.share.drivers.ibm.gpfs.gpfs_share_opts,
|
|
manila.share.drivers.lvm.share_opts,
|
|
manila.share.drivers.netapp.options.netapp_proxy_opts,
|
|
manila.share.drivers.netapp.options.netapp_connection_opts,
|
|
manila.share.drivers.netapp.options.netapp_transport_opts,
|
|
manila.share.drivers.netapp.options.netapp_basicauth_opts,
|
|
manila.share.drivers.netapp.options.netapp_provisioning_opts,
|
|
manila.share.drivers.netapp.options.netapp_replication_opts,
|
|
manila.share.drivers.nexenta.options.nexenta_connection_opts,
|
|
manila.share.drivers.nexenta.options.nexenta_dataset_opts,
|
|
manila.share.drivers.nexenta.options.nexenta_nfs_opts,
|
|
manila.share.drivers.quobyte.quobyte.quobyte_manila_share_opts,
|
|
manila.share.drivers.service_instance.common_opts,
|
|
manila.share.drivers.service_instance.no_share_servers_handling_mode_opts,
|
|
manila.share.drivers.service_instance.share_servers_handling_mode_opts,
|
|
manila.share.drivers.tegile.tegile.tegile_opts,
|
|
manila.share.drivers.windows.service_instance.windows_share_server_opts,
|
|
manila.share.drivers.windows.winrm_helper.winrm_opts,
|
|
manila.share.drivers.zfsonlinux.driver.zfsonlinux_opts,
|
|
manila.share.drivers.zfssa.zfssashare.ZFSSA_OPTS,
|
|
manila.share.hook.hook_options,
|
|
manila.share.manager.share_manager_opts,
|
|
manila.volume._volume_opts,
|
|
manila.wsgi.eventlet_opts,
|
|
manila.wsgi.socket_opts,
|
|
]
|
|
|
|
_opts = [
|
|
(None, list(itertools.chain(*_global_opt_lists))),
|
|
(manila.volume.cinder.CINDER_GROUP,
|
|
list(itertools.chain(manila.volume.cinder.cinder_opts))),
|
|
(manila.compute.nova.NOVA_GROUP,
|
|
list(itertools.chain(manila.compute.nova.nova_opts))),
|
|
(manila.network.neutron.api.NEUTRON_GROUP,
|
|
list(itertools.chain(manila.network.neutron.api.neutron_opts))),
|
|
]
|
|
|
|
_opts.extend(oslo_concurrency.opts.list_opts())
|
|
_opts.extend(oslo_log._options.list_opts())
|
|
_opts.extend(oslo_middleware.opts.list_opts())
|
|
_opts.extend(oslo_policy.opts.list_opts())
|
|
_opts.extend(manila.network.neutron.api.list_opts())
|
|
_opts.extend(manila.compute.nova.list_opts())
|
|
_opts.extend(manila.volume.cinder.list_opts())
|
|
|
|
|
|
def list_opts():
|
|
"""Return a list of oslo.config options available in Manila."""
|
|
return [(m, copy.deepcopy(o)) for m, o in _opts]
|