namos/namos/db/openstack_drivers.py

1441 lines
46 KiB
Python

# -*- coding: utf-8 -*-
# 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.
import urlparse
__all__ = ['get_drivers_config',
'get_drivers_def']
def _get_db_name(*args, **kwargs):
result = urlparse.urlparse(args[0])
return '%s' % result.path.replace('/', '')
def _get_rpc_name(*args, **kwargs):
return '%s' % args[0]
_DRIVERS_CONFIG = {
# db
'db_backend':{
'sqlalchemy': { #driver_class
# alias should be always end with driver class name.
'alias':'database.backend:sqlalchemy',
}
},
# TODO(mrkanag) sql_connectio is used in trove for db_backends
# just check it
'database.backend': {
'sqlalchemy': { #driver_class
'endpoint': {
'name': 'database.connection',
'connection': {
# mysql://root:password@127.0.0.1/neutron?charset=utf8
'database.connection': 'database.connection'
}
},
'device': {
'name': ['DB_%s', (_get_db_name, 'database.connection')]
}
}
},
# rpc
'rpc_backend':{
'rabbit': {
'endpoint': {
'name': 'oslo_messaging_rabbit.rabbit_hosts',
'connection': {
'oslo_messaging_rabbit.rabbit_hosts': 'oslo_messaging_rabbit.rabbit_hosts',
'oslo_messaging_rabbit.rabbit_port': 'oslo_messaging_rabbit.rabbit_port',
'oslo_messaging_rabbit.rabbit_userid': 'oslo_messaging_rabbit.rabbit_userid',
'oslo_messaging_rabbit.rabbit_password': 'oslo_messaging_rabbit.rabbit_password',
}
},
'device': {
'name': ['RPC_%s', (_get_rpc_name, 'oslo_messaging_rabbit.rabbit_hosts')]
}
},
'nova.openstack.common.rpc.impl_kombu': {
'alias': 'rpc_backend:rabbit'
},
'cinder.openstack.common.rpc.impl_kombu': {
'alias': 'rpc_backend:rabbit'
},
'neutron.openstack.common.rpc.impl_kombu': {
'alias': 'rpc_backend:rabbit'
},
'glance.openstack.common.rpc.impl_kombu': {
'alias': 'rpc_backend:rabbit'
},
'heat.openstack.common.rpc.impl_kombu': {
'alias': 'rpc_backend:rabbit'
},
'namos.openstack.common.rpc.impl_kombu': {
'alias': 'rpc_backend:rabbit'
}
},
# nova
'compute_driver' : {
'libvirt.LibvirtDriver': {
'endpoint': {
'type': 'libvirt.virt_type',
'kvm': {
'name': 'host',
'connection': {
'libvirt.virt_type': 'libvirt.virt_type'
}
},
'qemu' : {
'name': 'host',
'connection': {
'libvirt.virt_type': 'libvirt.virt_type'
}
},
'xen': {
'name': 'xenapi_connection_url',
'connection': {
'xenapi_connection_url': 'xenapi_connection_url',
'xenapi_connection_username':
'xenapi_connection_username',
'xenapi_connection_password':
'xenapi_connection_password'
},
'device': {
'name': ['%s %s', 'libvirt.virt_type',
'xenapi_connection_url']
}
},
'lxc': {
'name': 'host',
'connection': {
'libvirt.virt_type': 'libvirt.virt_type'
}
},
},
'device': {
'name': ['%s host %s', 'libvirt.virt_type', 'host']
}
},
'vmwareapi.VMwareVCDriver':{
'endpoint': {
'name': 'vmware.host_ip',
'connection': {
'vmware.host_ip': 'vmware.host_ip',
'vmware.host_username': 'vmware.host_username',
'vmware.host_password': 'vmware.host_password',
'vmware.cluster_name': 'vmware.cluster_name',
'vmware.datastore_regex': 'vmware.datastore_regex'
},
# When one driver supports mutiple devices, parent-child
# relation will be formed and parent usually has the
# endpoint associated with it, which is used by children
# devices
'child_device': {
# TODO(mrkanag) key should be comma separated or list,
# just check !!
'key': 'vmware.cluster_name',
'base_name': ['VMWare Cluster %s', 'vmware.host_ip']
# This name will be postfixed with device name got from key
}
},
'device': {
'name': 'vmware.host_ip'
}
},
'nova.virt.hyperv.driver.HyperVDriver': {
'endpoint': {
'name': 'host',
'connection': {
'libvirt.type': 'libvirt.type'
}
},
'device':{
'name': ['Hyper-V host %s', 'host']
}
}
},
# cinder
'volume_driver': {
'cinder.volume.drivers.lvm.LVMISCSIDriver': {
'endpoint': {
'name': 'volume_group',
'connection': {
'volume_group': 'volume_group',
'lvm_mirrors': 'lvm_mirrors',
'lvm_type': 'lvm_type'
}
},
'device': {
'name': ['%s@%s', 'volume_group', 'host']
}
},
'cinder.volume.drivers.lvm.LVMVolumeDriver': {
'alias': 'volume_driver:cinder.volume.drivers.lvm.LVMISCSIDriver'
},
'cinder.volume.drivers.lvm.LVMISERDriver': {
'alias': 'volume_driver:cinder.volume.drivers.lvm.LVMISCSIDriver'
},
'cinder.volume.drivers.san.hp.hp_3par_iscsi.HP3PARISCSIDriver': {
'endpoint': {
'name': 'hp3par_api_url',
'connection': {
'hp3par_api_url': 'hp3par_api_url',
'hp3par_username': 'hp3par_username',
'hp3par_password' : 'hp3par_password',
'hp3par_cpg': 'hp3par_cpg',
'san_ip': 'san_ip',
'san_login':'san_login',
'san_password': 'san_password',
'hp3par_iscsi_ips': 'hp3par_iscsi_ips',
'iscsi_ip_address': 'iscsi_ip_address'
},
'device': {
'name': ['%s@%s', 'hp3par_cpg', 'san_ip']
}
}
},
'cinder.volume.drivers.san.hp.hp_3par_fc.HP3PARFCDriver': {
'alias': 'volume_driver:cinder.volume.drivers.san.hp.hp_3par_iscsi.HP3PARISCSIDriver'
},
'cinder.volume.drivers.san.hp.hp_lefthand_iscsi.HPLeftHandISCSIDriver':
{
'endpoint': {
# TODO(mrkanag) type is not config param. what to do?
'type': '#REST',
'#CLIQ': {
'name': 'san_ip',
'connection': {
'san_ip': 'san_ip',
'san_login': 'san_login',
'san_password': 'san_password',
'san_ssh_port': 'san_ssh_port',
'san_clustername': 'san_clustername'
},
'device': {
'name': ['%s@%s', 'san_clustername', 'san_ip']
}
},
'#REST': {
'name': 'hplefthand_api_url',
'connection': {
'hplefthand_api_url': 'hplefthand_api_url',
'hplefthand_username': 'hplefthand_username',
'hplefthand_password': 'hplefthand_password',
'hplefthand_clustername': 'hplefthand_clustername'
},
'device': {
'name': ['%s@%s', 'hplefthand_clustername',
'hplefthand_api_url']
}
}
}
},
'cinder.volume.drivers.coraid.CoraidDriver': {
'endpoint': {
'name': 'coraid_esm_address',
'connection': {
'coraid_esm_address': 'coraid_esm_address',
'coraid_user': 'coraid_user',
'coraid_group': 'coraid_group',
'coraid_password': 'coraid_password',
'coraid_repository_key': 'coraid_repository_key'
}
},
'device': {
'name': ['coraid %s', 'coraid_esm_address']
}
},
'cinder.volume.drivers.eqlx.DellEQLSanISCSIDriver': {
'endpoint': {
'name': 'san_ip',
'connection': {
'san_ip': 'san_ip',
'san_login': 'san_login',
'san_password': 'san_password',
'eqlx_group_name': 'eqlx_group_name',
'eqlx_pool': 'eqlx_pool'
}
},
'device': {
'name': ['%s@%s', 'eqlx_group_name', 'san_ip']
}
},
'cinder.volume.drivers.emc.emc_vmax_iscsi.EMCVMAXISCSIDriver': {
'endpoint': {
'name': 'iscsi_ip_address',
'connection': {
'iscsi_ip_address': 'iscsi_ip_address',
# TODO(mrkanag) not sure what to do with config file
'cinder_emc_config_file': 'cinder_emc_config_file'
}
},
'device': {
'name': ['EMCVMAX %s', 'iscsi_ip_address']
}
},
'cinder.volume.drivers.emc.emc_vmax_fc.EMCVMAXFCDriver': {
'endpoint': {
'name': '',
'connection': {
'cinder_emc_config_file': 'cinder_emc_config_file'
}
},
'device': {
# TODO(mrkanag) fill it
'name': ''
}
},
'cinder.volume.drivers.emc.emc_cli_iscsi.EMCCLIISCSIDriver': {
'endpoint': {
'name': 'iscsi_ip_address',
'connection': {
'iscsi_ip_address': 'iscsi_ip_address',
'san_ip': 'iscsi_ip_address',
'san_login': 'san_login',
'san_password': 'san_password',
'naviseccli_path': 'naviseccli_path',
'storage_vnx_pool_name': 'storage_vnx_pool_name',
'default_timeout': 'default_timeout',
'max_luns_per_storage_group': 'max_luns_per_storage_group'
}
},
'device': {
'name': ['EMC %s@%s', 'storage_vnx_pool_name', 'san_ip']
}
},
'cinder.volume.drivers.glusterfs.GlusterfsDriver': {
'endpoint': {
'name': 'glusterfs_mount_point_base',
'connection': {
'glusterfs_mount_point_base': 'glusterfs_mount_point_base',
'glusterfs_shares_config': 'glusterfs_shares_config'
}
},
'device': {
'name': ['Gfs %s', 'glusterfs_mount_point_base']
}
},
'cinder.volume.drivers.hds.iscsi.HDSISCSIDriver': {
'endpoint': {
'name': 'HDS',
'connection': {
'hds_hnas_iscsi_config_file': 'hds_hnas_iscsi_config_file'
}
},
'device': {
'name': 'HDS'
}
},
'cinder.volume.drivers.hds.nfs.HDSNFSDriver': {
'endpoint': {
'name': '',
'connection': {
'hds_hnas_nfs_config_file': 'hds_hnas_nfs_config_file'
}
},
'device': {
'name': 'HDS'
}
},
'cinder.volume.drivers.hds.hds.HUSDriver': {
'endpoint': {
'name': '',
'connection': {
'hds_cinder_config_file': 'hds_cinder_config_file'
}
},
'device': {
'name': 'HUS'
}
},
'cinder.volume.drivers.hitachi.hbsd_fc.HBSDFCDriver': {
'endpoint': {
'name': '',
'connection': {
}
},
'device': {
'name': ''
}
},
'cinder.volume.drivers.hitachi.hbsd_iscsi.HBSDISCSIDriver': {
'endpoint': {
'name': '',
'connection': {
}
},
'device': {
'name': ''
}
},
'cinder.volume.drivers.san.hp.hp_msa_fc.HPMSAFCDriver': {
'endpoint': {
'name': '',
'connection': {
}
},
'device': {
'name': ''
}
},
'cinder.volume.drivers.huawei.HuaweiVolumeDriver': {
'endpoint': {
'name': '',
'connection': {
}
},
'device': {
'name': ''
}
},
'cinder.volume.drivers.ibm.gpfs.GPFSDriver': {
'endpoint': {
'name': '',
'connection': {
}
},
'device': {
'name': ''
}
},
'cinder.volume.drivers.ibm.storwize_svc.StorwizeSVCDriver': {
'endpoint': {
'name': '',
'connection': {
}
},
'device': {
'name': ''
}
},
'cinder.volume.drivers.xiv_ds8k.XIVDS8KDriver': {
'endpoint': {
'name': '',
'connection': {
}
},
'device': {
'name': ''
}
},
'cinder.volume.drivers.netapp.common.NetAppDriver': {
'endpoint': {
'name': '',
'connection': {
}
},
'device': {
'name': ''
}
},
'cinder.volume.drivers.netapp.iscsi.NetAppDirectCmodeISCSIDriver': {
'endpoint': {
'name': '',
'connection': {
}
},
'device': {
'name': ''
}
},
'cinder.volume.drivers.netapp.nfs.NetAppDirectCmodeNfsDriver': {
'endpoint': {
'name': '',
'connection': {
}
},
'device': {
'name': ''
}
},
'cinder.volume.drivers.netapp.iscsi.NetAppDirect7modeISCSIDriver': {
'endpoint': {
'name': '',
'connection': {
}
},
'device': {
'name': ''
}
},
'cinder.volume.drivers.netapp.nfs.NetAppDirect7modeNfsDriver': {
'endpoint': {
'name': '',
'connection': {
}
},
'device': {
'name': ''
}
},
'cinder.volume.drivers.nexenta.iscsi.NexentaISCSIDriver': {
'endpoint': {
'name': '',
'connection': {
}
},
'device': {
'name': ''
}
},
'cinder.volume.drivers.nexenta.nfs.NexentaNfsDriver': {
'endpoint': {
'name': '',
'connection': {
}
},
'device': {
'name': ''
}
},
'cinder.volume.drivers.nfs.NfsDriver': {
'endpoint': {
'name': '',
'connection': {
}
},
'device': {
'name': ''
}
},
'cinder.volume.drivers.prophetstor.dpl_fc.DPLFCDriver': {
'endpoint': {
'name': '',
'connection': {
}
},
'device': {
'name': ''
}
},
'cinder.volume.drivers.prophetstor.dpl_iscsi.DPLISCSIDriver': {
'endpoint': {
'name': '',
'connection': {
}
},
'device': {
'name': ''
}
},
'cinder.volume.drivers.pure.PureISCSIDriver': {
'endpoint': {
'name': '',
'connection': {
}
},
'device': {
'name': ''
}
},
'cinder.volume.drivers.sheepdog.SheepdogDriver': {
'endpoint': {
'name': '',
'connection': {
}
},
'device': {
'name': ''
}
},
'cinder.volume.drivers.solidfire.SolidFireDriver': {
'endpoint': {
'name': '',
'connection': {
}
},
'device': {
'name': ''
}
},
'cinder.volume.drivers.vmware.vmdk.VMwareVcVmdkDriver': {
'endpoint': {
'name': '',
'connection': {
}
},
'device': {
'name': ''
}
},
'cinder.volume.drivers.windows.WindowsDriver': {
'endpoint': {
'name': '',
'connection': {
}
},
'device': {
'name': ''
}
},
'cinder.volume.drivers.xenapi.sm.XenAPINFSDriver': {
'endpoint': {
'name': '',
'connection': {
}
},
'device': {
'name': ''
}
},
'cinder.volume.drivers.zadara.ZadaraVPSAISCSIDriver': {
'endpoint': {
'name': '',
'connection': {
}
},
'device': {
'name': ''
}
},
'cinder.volume.drivers.zfssa.zfssaiscsi.ZFSSAISCSIDriver': {
'endpoint': {
'name': '',
'connection': {
}
},
'device': {
'name': ''
}
}
},
'backup_driver': {
'cinder.backup.drivers.ceph': {
'endpoint': {
'name': '',
'connection': {
}
},
'device': {
'name': ''
}
},
'cinder.backup.drivers.swift': {
'endpoint': {
'name': '',
'connection': {
}
},
'device': {
'name': ''
}
},
'cinder.backup.drivers.tsm': {
'endpoint': {
'name': '',
'connection': {
}
},
'device': {
'name': ''
}
}
},
'zone_driver': {
'cinder.zonemanager.drivers.brocade.brcd_fc_zone_driver.BrcdFCZoneDriver': {
'endpoint': {
'name': '',
'connection': {
}
},
'device': {
'name': ''
}
},
'cinder.zonemanager.drivers.cisco.cisco_fc_zone_driver.CiscoFCZoneDriver': {
'endpoint': {
'name': '',
'connection': {
}
},
'device': {
'name': ''
}
}
},
# neutron
# 'core_plugin': {
# 'neutron.plugins.ml2.plugin.Ml2Plugin': {
#
# }
# },
# 'service_plugins': {
# 'neutron.services.l3_router.l3_router_plugin.L3RouterPlugin': {
#
# }
# },
# 'service_providers.service_provider': {
#
# },
'dhcp_driver': {
'neutron.agent.linux.dhcp.Dnsmasq': {
'endpoint': {
'name': 'dhcp_domain',
'connection': {
'dhcp_domain': 'dhcp_domain'
}
},
'device': {
'name': ['DHCP %s', 'dhcp_domain']
}
}
},
'interface_driver': {
'neutron.agent.linux.interface.OVSInterfaceDriver': {
'endpoint': {
'name': 'ovs_integration_bridge',
'connection': {
'ovs_integration_bridge': 'ovs_integration_bridge'
}
},
'device': {
'name': ['OVS bridge %s', 'ovs_integration_bridge']
}
},
'openvswitch': {
'alias': 'interface_driver:neutron.agent.linux.interface.OVSInterfaceDriver'
},
},
# 'extension_drivers': {
#
# },
'ml2.mechanism_drivers': {
'linuxbridge' : {
'alias': 'ml2.mechanism_drivers:neutron.plugins.ml2.drivers.mech_linuxbridge.LinuxbridgeMechanismDriver'
},
'neutron.plugins.ml2.drivers.mech_linuxbridge.LinuxbridgeMechanismDriver': {
'endpoint': {
'name': '#Linux Bride',
'connection': {
}
},
'device': {
'name': '#Linux Bride'
}
},
'openvswitch': {
'alias': 'ml2.mechanism_drivers:neutron.plugins.ml2.drivers.mech_openvswitch.OpenvswitchMechanismDriver'
},
'neutron.plugins.ml2.drivers.mech_openvswitch.OpenvswitchMechanismDriver': {
'endpoint': {
'name': '#OVS',
'connection': {
}
},
'device': {
'name': '#OVS'
}
}
},
'ml2.type_drivers': {
'local': {
'alias': 'ml2.type_drivers:neutron.plugins.ml2.drivers.type_local.LocalTypeDriver'
},
'neutron.plugins.ml2.drivers.type_local.LocalTypeDriver': {
'endpoint': {
'name': '#Local Type',
'connection': {
}
},
'device': {
'name': '#Local Type'
}
},
'flat': {
'alias': 'ml2.type_drivers:neutron.plugins.ml2.drivers.type_flat.FlatTypeDriver'
},
'neutron.plugins.ml2.drivers.type_flat.FlatTypeDriver': {
'endpoint': {
'name': '#FLAT Type',
'connection': {
}
},
'device': {
'name': '#FLAT type'
}
},
'vlan': {
'alias': 'ml2.type_drivers:neutron.plugins.ml2.drivers.type_vlan.VlanTypeDriver'
},
'neutron.plugins.ml2.drivers.type_vlan.VlanTypeDriver': {
'endpoint': {
'name': '#VLAN Type',
'connection': {
}
},
'device': {
'name': '#VLAN Type'
}
},
'gre': {
'alias': 'ml2.type_drivers:neutron.plugins.ml2.drivers.type_gre.GreTypeDriver'
},
'neutron.plugins.ml2.drivers.type_gre.GreTypeDriver': {
'endpoint': {
'name': '#GRE Type',
'connection': {
}
},
'device': {
'name': '#GRE Type'
}
},
'vxlan': {
'alias': 'ml2.type_drivers:neutron.plugins.ml2.drivers.type_vxlan.VxlanTypeDriver'
},
'neutron.plugins.ml2.drivers.type_vxlan.VxlanTypeDriver': {
'endpoint': {
'name': '#VxLAN Type',
'connection': {
}
},
'device': {
'name': '#VxLAN Type'
}
},
},
'firewall_driver': {
'neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver': {
'endpoint': {
'name': '#Firewall',
'connection': {
}
},
'device': {
'name': '#Firewall'
}
},
'nova.virt.firewall.NoopFirewallDriver' : {
'endpoint': {
'name': '#NoopFirewall',
'connection': {
}
},
'device': {
'name': '#Firewall'
}
}
},
'SECURITY_GROUP.firewall_driver': {
'neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver': {
'alias': 'firewall_driver:neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver'
}
},
# 'dhcp_agent_manager': {
#
# },
# 'l3_agent_manager': {
#
# },
# Glance
'glance_store.stores': {
'file': {
'alias': 'glance_store.stores:glance_store._drivers.filesystem.Store'
},
'filesystem': {
'alias': 'glance_store.stores:glance_store._drivers.filesystem.Store'
},
'glance_store._drivers.filesystem.Store': {
'endpoint': {
'name': 'glance_store.filesystem_store_datadir',
'connection': {
'glance_store.filesystem_store_datadir': 'glance_store.filesystem_store_datadir',
'glance_store.filesystem_store_datadirs': 'glance_store.filesystem_store_datadirs',
'glance_store.filesystem_store_file_perm': 'glance_store.filesystem_store_file_perm',
'glance_store.filesystem_store_metadata_file':
'glance_store.filesystem_store_metadata_file'
}
},
'device': {
'name': ['File System Store %s', 'glance_store.filesystem_store_datadir']
}
},
'http': {
'alias': 'glance_store.stores:glance_store._drivers.http.Store'
},
'https': {
'alias': 'glance_store.stores:glance_store._drivers.http.Store'
},
'glance_store._drivers.http.Store': {
'endpoint': {
'name': '#http',
'connection': {
}
},
'device': {
'name': '#http Image beackend'
}
},
'cinder': {
'alias': 'glance_store.stores:glance_store._drivers.cinder.Store'
},
'glance_store._drivers.cinder.Store': {
'endpoint': {
'name': '#Cinder Image Backend',
'connection': {
'glance_store.cinder_endpoint_template': 'glance_store.cinder_endpoint_template',
'glance_store.cinder_api_insecure': 'glance_store.cinder_api_insecure',
'glance_store.cinder_ca_certificates_file':
'glance_store.cinder_ca_certificates_file',
'glance_store.cinder_catalog_info': 'glance_store.cinder_catalog_info',
'glance_store.cinder_http_retries': 'glance_store.cinder_http_retries'
}
},
'device': {
'name': '#Cinder Image Backend'
}
},
'swift': {
'alias': 'glance_store.stores:glance_store._drivers.swift.Store'
},
'glance_store._drivers.swift.Store': {
'endpoint': {
'name': 'glance_store.default_swift_reference',
'connection': {
'glance_store.default_swift_reference': 'glance_store.default_swift_reference',
'glance_store.swift_enable_snet': 'glance_store.swift_enable_snet',
'glance_store.swift_store_admin_tenants': 'glance_store.swift_store_admin_tenants',
'glance_store.swift_store_auth_address': 'glance_store.swift_store_auth_address',
'glance_store.swift_store_auth_insecure': 'glance_store.swift_store_auth_insecure',
'glance_store.swift_store_auth_version': 'glance_store.swift_store_auth_version',
'glance_store.swift_store_config_file': 'glance_store.swift_store_config_file',
'glance_store.swift_store_container': 'glance_store.swift_store_container',
'glance_store.swift_store_create_container_on_put': 'glance_store.swift_store_create_container_on_put',
'glance_store.swift_store_endpoint_type': 'glance_store.swift_store_endpoint_type',
'glance_store.swift_store_key': 'glance_store.swift_store_key',
'glance_store.swift_store_large_object_chunk_size': 'glance_store.swift_store_large_object_chunk_size',
'glance_store.swift_store_large_object_size': 'glance_store.swift_store_large_object_size',
'glance_store.swift_store_multi_tenant': 'glance_store.swift_store_multi_tenant',
'glance_store.swift_store_region': 'glance_store.swift_store_region',
'glance_store.swift_store_retry_get_count': 'glance_store.swift_store_retry_get_count',
'glance_store.swift_store_service_type': 'glance_store.swift_store_service_type',
'glance_store.swift_store_ssl_compression': 'glance_store.swift_store_ssl_compression',
'glance_store.swift_store_user': 'glance_store.swift_store_user'
}
},
'device': {
'name': ['Swift Image backend %s', 'glance_store.default_swift_reference']
}
},
'rbd': {
'alias': 'glance_store.stores:glance_store._drivers.rbd.Store'
},
'glance_store._drivers.rbd.Store': {
'endpoint': {
'name': 'glance_store.rbd_store_pool',
'connection': {
'glance_store.rbd_store_ceph_conf': 'glance_store.rbd_store_ceph_conf',
'glance_store.rbd_store_chunk_size': 'glance_store.rbd_store_chunk_size',
'glance_store.rbd_store_pool': 'glance_store.rbd_store_pool',
'glance_store.rbd_store_user': 'glance_store.rbd_store_user'
}
},
'device': {
'name': ['RBD Image backend %s', 'glance_store.rbd_store_pool']
}
},
'sheepdog': {
'alias': 'glance_store.stores:glance_store._drivers.sheepdog.Store'
},
'glance_store._drivers.sheepdog.Store': {
'endpoint': {
'name': 'glance_store.sheepdog_store_address',
'connection': {
'glance_store.sheepdog_store_address': 'glance_store.sheepdog_store_address',
'glance_store.sheepdog_store_chunk_size': 'glance_store.sheepdog_store_chunk_size',
'glance_store.sheepdog_store_port': 'glance_store.sheepdog_store_port'
}
},
'device': {
'name': ['Sheepdog Image backend %s', 'glance_store.sheepdog_store_address']
}
},
'gridfs': {
'alias': 'glance_store.stores:glance_store._drivers.gridfs.Store'
},
'glance_store._drivers.gridfs.Store': {
'endpoint': {
'name': 'glance_store.mongodb_store_uri',
'connection': {
'glance_store.mongodb_store_db': 'glance_store.mongodb_store_db',
'glance_store.mongodb_store_uri': 'glance_store.mongodb_store_uri'
}
},
'device': {
'name': ['Gird FS Image backend %s', 'glance_store.mongodb_store_db']
}
},
's3': {
'alias': 'glance_store.stores:glance_store._drivers.s3.Store'
},
's3+http': {
'alias': 'glance_store.stores:glance_store._drivers.s3.Store'
},
's3': {
'alias': 'glance_store.stores:glance_store._drivers.s3.Store'
},
'glance_store._drivers.s3.Store': {
'endpoint': {
'name': ['%s/%s', 'glance_store.s3_store_host', 'glance_store.s3_store_bucket'],
'connection': {
'glance_store.s3_store_host': 'glance_store.s3_store_host',
'glance_store.s3_store_bucket': 'glance_store.s3_store_bucket',
'glance_store.s3_store_object_buffer_dir': 'glance_store.s3_store_object_buffer_dir',
'glance_store.s3_store_secret_key': 'glance_store.s3_store_secret_key',
'glance_store.s3_store_create_bucket_on_put': 'glance_store.s3_store_create_bucket_on_put',
'glance_store.s3_store_bucket_url_format': 'glance_store.s3_store_bucket_url_format',
'glance_store.s3_store_access_key': 'glance_store.s3_store_access_key'
}
},
'device': {
'name': ['S3 Image Backend %s/%s',
'glance_store.s3_store_host',
'glance_store.s3_store_bucket']
}
},
'vsphere': {
'alias': 'glance_store.stores:glance_store._drivers.vmware_datastore.Store'
},
'glance_store._drivers.vmware_datastore.Store': {
'endpoint': {
'name': ['%s/%s',
'glance_store.vmware_server_host',
'glance_store.vmware_datastore_name'
],
'connection': {
'glance_store.vmware_api_insecure': 'glance_store.vmware_api_insecure',
'glance_store.vmware_api_retry_count': 'glance_store.vmware_api_retry_count',
'glance_store.vmware_datacenter_path': 'glance_store.vmware_datacenter_path',
'glance_store.vmware_datastore_name': 'glance_store.vmware_datastore_name',
'glance_store.vmware_server_host': 'glance_store.vmware_server_host',
'glance_store.vmware_server_password': 'glance_store.vmware_server_password',
'glance_store.vmware_server_username': 'glance_store.vmware_server_username',
'glance_store.vmware_store_image_dir': 'glance_store.vmware_store_image_dir',
'glance_store.vmware_task_poll_interval': 'glance_store.vmware_task_poll_interval'
}
},
'device': {
'name': ['VMWare Image backend %s/%s',
'glance_store.vmware_server_host',
'glance_store.vmware_datastore_name'
]
}
}
}
}
_DRIVERS = {
'sqlalchemy': {
'type': 'database',
'extra': {
'url': 'https://pypi.python.org/pypi/SQLAlchemy',
'python_class': 'sqlalchemy',
'version': '0.9.8',
'device_support': [
{
'vendor': 'MYSQL',
'model': 'MYSQL',
'version': ['5.6','5.7']
}
],
'configuration_guide':'',
'metadata': {
'wiki': ''
}
}
},
'rabbit': {
'type': 'message',
'extra': {
'url': 'https://github.com/openstack/oslo.messaging',
'python_class': '%{service_type}s.openstack.common.rpc.impl_kombu',
'version': '0.9.8',
'device_support': [
{
'vendor': 'RabbitMQ',
'model': 'RabbitMQ Server',
'version': ['3.4','3.5']
}
],
'configuration_guide':'',
'metadata': {
'wiki': ''
}
}
},
'vmwareapi.VMwareVCDriver': {
'type': 'nova',
'class': 'hypervisor',
'extra': {
'url': 'https://github.com/openstack/nova',
'python_class': 'nova.virt.vmwareapi.VMwareVCDriver',
'version': '2014.5',
'device_support': [
{
'vendor': 'VMWare',
'model': 'vSphere',
'version': ['5.0','5.1']
}
],
'configuration_guide':'',
'metadata': {
'wiki': ''
}
}
},
'libvirt.LibvirtDriver': {
'type': 'nova',
'class': ['hypervisor', 'container'],
'extra' : {
'url': 'https://github.com/openstack/nova',
'python_class': 'nova.virt.libvirt.LibvirtDriver',
'version': '2014.5',
'device_support': [
{
'vendor': 'KVM, LXC, QEMU, UML, and XEN',
'model': 'KVM',
'version': ['5.0','5.1']
}
],
'configuration_guide':'',
'metadata': {
'libvirt_supports': 'https://wiki.openstack.org/wiki/LibvirtDistroSupportMatrix'
}
}
},
'nova.virt.hyperv.driver.HyperVDriver': {
'type': 'nova',
'extra' : {
'url': 'https://github.com/openstack/nova',
'python_class': 'nova.virt.hyperv.driver.HyperVDriver',
'version': '2014.5',
'device_support': [
{
'vendor': 'Microsoft',
'model': 'Hyper-V',
'version': ['2014']
}
],
'configuration_guide':'',
'metadata': {
}
}
},
'cinder.volume.drivers.lvm.LVMISCSIDriver': {
'type': 'cinder',
'class': 'volume'
},
'cinder.volume.drivers.lvm.LVMISERDriver': {
'type': 'cinder',
'class': 'volume'
},
'cinder.volume.drivers.san.hp.hp_3par_iscsi.HP3PARISCSIDriver': {
'type': 'cinder',
'class': 'volume'
},
'cinder.volume.drivers.san.hp.hp_3par_fc.HP3PARFCDriver': {
'type': 'cinder',
'class': 'volume',
'requirements_txt': {
# TODO(mrkanag) Add installer reqs here, pip pkg or apt pkg or
# any other OS packages
},
'apt_get_list': {
},
'deprecation': {
'alternate': '',
'since': '2012.1'
}
},
'cinder.volume.drivers.san.hp.hp_lefthand_iscsi.HPLeftHandISCSIDriver': {
'type': 'cinder',
'class': 'volume',
'protocol': 'iSCSI'
},
'cinder.volume.drivers.coraid.CoraidDriver': {
'type': 'cinder',
'class': 'volume'
},
'cinder.volume.drivers.eqlx.DellEQLSanISCSIDriver': {
'type': 'cinder',
'class': 'volume',
'protocol': 'iSCSI'
},
'cinder.volume.drivers.emc.emc_vmax_iscsi.EMCVMAXISCSIDriver': {
'type': 'cinder',
'class': 'volume',
'protocol': 'iSCSI'
},
'cinder.volume.drivers.emc.emc_vmax_fc.EMCVMAXFCDriver': {
'type': 'cinder',
'class': 'volume'
},
'cinder.volume.drivers.emc.emc_cli_iscsi.EMCCLIISCSIDriver': {
'type': 'cinder',
'class': 'volume',
'protocol': 'iSCSI'
},
'cinder.volume.drivers.glusterfs.GlusterfsDriver': {
'type': 'cinder',
'class': 'volume'
},
'cinder.volume.drivers.hds.iscsi.HDSISCSIDriver': {
'type': 'cinder',
'class': 'volume',
'protocol': 'iSCSI'
},
'cinder.volume.drivers.hds.nfs.HDSNFSDriver': {
'type': 'cinder',
'class': 'volume'
},
'cinder.volume.drivers.hds.hds.HUSDriver': {
'type': 'cinder',
'class': 'volume'
},
'cinder.volume.drivers.hitachi.hbsd_fc.HBSDFCDriver': {
'type': 'cinder',
'class': 'volume'
},
'cinder.volume.drivers.hitachi.hbsd_iscsi.HBSDISCSIDriver': {
'type': 'cinder',
'class': 'volume',
'protocol': 'iSCSI'
},
'cinder.volume.drivers.san.hp.hp_msa_fc.HPMSAFCDriver': {
'type': 'cinder',
'class': 'volume'
},
'cinder.volume.drivers.huawei.HuaweiVolumeDriver': {
'type': 'cinder',
'class': 'volume'
},
'cinder.volume.drivers.ibm.gpfs.GPFSDriver': {
'type': 'cinder',
'class': 'volume'
},
'cinder.volume.drivers.ibm.storwize_svc.StorwizeSVCDriver': {
'type': 'cinder',
'class': 'volume'
},
'cinder.volume.drivers.xiv_ds8k.XIVDS8KDriver': {
'type': 'cinder',
'class': 'volume'
},
'cinder.volume.drivers.netapp.common.NetAppDriver': {
'type': 'cinder',
'class': 'volume'
},
'cinder.volume.drivers.netapp.iscsi.NetAppDirectCmodeISCSIDriver': {
'type': 'cinder',
'class': 'volume',
'protocol': 'iSCSI'
},
'cinder.volume.drivers.netapp.nfs.NetAppDirectCmodeNfsDriver': {
'type': 'cinder',
'class': 'volume'
},
'cinder.volume.drivers.netapp.iscsi.NetAppDirect7modeISCSIDriver': {
'type': 'cinder',
'class': 'volume',
'protocol': 'iSCSI'
},
'cinder.volume.drivers.netapp.nfs.NetAppDirect7modeNfsDriver': {
'type': 'cinder',
'class': 'volume'
},
'cinder.volume.drivers.nexenta.iscsi.NexentaISCSIDriver': {
'type': 'cinder',
'class': 'volume',
'protocol': 'iSCSI'
},
'cinder.volume.drivers.nexenta.nfs.NexentaNfsDriver': {
'type': 'cinder',
'class': 'volume'
},
'cinder.volume.drivers.nfs.NfsDriver': {
'type': 'cinder',
'class': 'volume'
},
'cinder.volume.drivers.prophetstor.dpl_fc.DPLFCDriver': {
'type': 'cinder',
'class': 'volume'
},
'cinder.volume.drivers.prophetstor.dpl_iscsi.DPLISCSIDriver': {
'type': 'cinder',
'class': 'volume',
'protocol': 'iSCSI'
},
'cinder.volume.drivers.pure.PureISCSIDriver': {
'type': 'cinder',
'class': 'volume',
'protocol': 'iSCSI'
},
'cinder.volume.drivers.sheepdog.SheepdogDriver': {
'type': 'cinder',
'class': 'volume'
},
'cinder.volume.drivers.solidfire.SolidFireDriver': {
'type': 'cinder',
'class': 'volume'
},
'cinder.volume.drivers.vmware.vmdk.VMwareVcVmdkDriver': {
'type': 'cinder',
'class': 'volume',
'compute_driver': 'vmwareapi.VMwareVCDriver'
},
'cinder.volume.drivers.windows.WindowsDriver': {
'type': 'cinder',
'class': 'volume'
},
'cinder.volume.drivers.xenapi.sm.XenAPINFSDriver': {
'type': 'cinder',
'class': 'volume'
},
'cinder.volume.drivers.zadara.ZadaraVPSAISCSIDriver': {
'type': 'cinder',
'class': 'volume',
'protocol': 'iSCSI'
},
'cinder.volume.drivers.zfssa.zfssaiscsi.ZFSSAISCSIDriver': {
'type': 'cinder',
'class': 'volume',
'protocol': 'iSCSI'
},
'cinder.backup.drivers.ceph': {
'type': 'cinder',
'class': 'backup'
},
'cinder.backup.drivers.tsm': {
'type': 'cinder',
'class': 'backup'
},
'cinder.backup.drivers.swift': {
'type': 'cinder',
'class': 'backup'
},
'cinder.zonemanager.drivers.brocade.brcd_fc_zone_driver.BrcdFCZoneDriver':
{
'type': 'cinder',
'class': 'zone_manager'
},
'cinder.zonemanager.drivers.cisco.cisco_fc_zone_driver.CiscoFCZoneDriver':
{
'type': 'cinder',
'class': 'zone_manager'
},
'glance_store._drivers.filesystem.Store': {
'type': 'glance'
},
'glance_store._drivers.http.Store': {
'type': 'glance'
},
'glance_store._drivers.cinder.Store': {
'type': 'glance'
},
'glance_store._drivers.swift.Store': {
'type': 'glance'
},
'glance_store._drivers.rbd.Store': {
'type': 'glance'
},
'glance_store._drivers.gridfs.Store': {
'type': 'glance'
},
'glance_store._drivers.vmware_datstore.Store': {
'type': 'glance'
},
'glance_store._drivers.filesystem.Store': {
'type': 'glance'
},
'neutron.agent.linux.interface.OVSInterfaceDriver': {
'type': 'neutron'
},
'neutron.agent.linux.dhcp.Dnsmasq': {
'type': 'neutron'
},
'neutron.agent.linux.interface.OVSInterfaceDriver': {
'type': 'neutron'
},
'neutron.plugins.ml2.drivers.mech_linuxbridge.LinuxbridgeMechanismDriver': {
'type': 'neutron'
},
'neutron.plugins.ml2.drivers.mech_openvswitch.OpenvswitchMechanismDriver': {
'type': 'neutron'
},
'neutron.plugins.ml2.drivers.type_local.LocalTypeDriver': {
'type': 'neutron'
},
'neutron.plugins.ml2.drivers.type_flat.FlatTypeDriver': {
'type': 'neutron'
},
'neutron.plugins.ml2.drivers.type_vlan.VlanTypeDriver': {
'type': 'neutron'
},
'neutron.plugins.ml2.drivers.type_gre.GreTypeDriver': {
'type': 'neutron'
},
'neutron.plugins.ml2.drivers.type_vxlan.VxlanTypeDriver': {
'type': 'neutron'
},
'neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver': {
'type': 'neutron'
},
'nova.virt.firewall.NoopFirewallDriver': {
'type': 'neutron'
},
'neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver': {
'type': 'neutron'
}
}
def get_drivers_config():
return _DRIVERS_CONFIG
def get_drivers_def():
return _DRIVERS