
Current backup driver is broken due to the upper constraints of google-api-python-client which is set to 1.6.6, but after 1.6.0 parameter http and credentials are mutually exclusive, the driver is also using the no longer preferred Google authentication library. This patch fixes this by only using the http_proxy environmental variable to set the proxying and adding support for google-auth and using it whenever possible. Closes-Bug: #1736569 Closes-Bug: #1769660 Change-Id: If1e34ea112b0cff328a58ec2fc9c3f5a5005f1c6
377 lines
20 KiB
Python
377 lines
20 KiB
Python
|
|
# 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.
|
|
|
|
|
|
###################################################################
|
|
# WARNING!
|
|
#
|
|
# Do not edit this file directly. This file should be generated by
|
|
# running the command "tox -e genopts" any time a config option
|
|
# has been added, changed, or removed.
|
|
###################################################################
|
|
|
|
import itertools
|
|
|
|
from cinder import objects
|
|
objects.register_all()
|
|
|
|
from cinder.api import common as cinder_api_common
|
|
from cinder.api.contrib import types_extra_specs as \
|
|
cinder_api_contrib_typesextraspecs
|
|
from cinder.api.middleware import auth as cinder_api_middleware_auth
|
|
from cinder.api.views import versions as cinder_api_views_versions
|
|
from cinder.backup import api as cinder_backup_api
|
|
from cinder.backup import chunkeddriver as cinder_backup_chunkeddriver
|
|
from cinder.backup import driver as cinder_backup_driver
|
|
from cinder.backup.drivers import ceph as cinder_backup_drivers_ceph
|
|
from cinder.backup.drivers import gcs as cinder_backup_drivers_gcs
|
|
from cinder.backup.drivers import glusterfs as cinder_backup_drivers_glusterfs
|
|
from cinder.backup.drivers import nfs as cinder_backup_drivers_nfs
|
|
from cinder.backup.drivers import posix as cinder_backup_drivers_posix
|
|
from cinder.backup.drivers import swift as cinder_backup_drivers_swift
|
|
from cinder.backup.drivers import tsm as cinder_backup_drivers_tsm
|
|
from cinder.backup import manager as cinder_backup_manager
|
|
from cinder.cmd import backup as cinder_cmd_backup
|
|
from cinder.cmd import volume as cinder_cmd_volume
|
|
from cinder.common import config as cinder_common_config
|
|
import cinder.compute
|
|
from cinder.compute import nova as cinder_compute_nova
|
|
from cinder import context as cinder_context
|
|
from cinder import coordination as cinder_coordination
|
|
from cinder.db import api as cinder_db_api
|
|
from cinder.db import base as cinder_db_base
|
|
from cinder.image import glance as cinder_image_glance
|
|
from cinder.image import image_utils as cinder_image_imageutils
|
|
from cinder.keymgr import conf_key_mgr as cinder_keymgr_confkeymgr
|
|
from cinder.message import api as cinder_message_api
|
|
from cinder import quota as cinder_quota
|
|
from cinder.scheduler import driver as cinder_scheduler_driver
|
|
from cinder.scheduler import host_manager as cinder_scheduler_hostmanager
|
|
from cinder.scheduler import manager as cinder_scheduler_manager
|
|
from cinder.scheduler import scheduler_options as \
|
|
cinder_scheduler_scheduleroptions
|
|
from cinder.scheduler.weights import capacity as \
|
|
cinder_scheduler_weights_capacity
|
|
from cinder.scheduler.weights import volume_number as \
|
|
cinder_scheduler_weights_volumenumber
|
|
from cinder import service as cinder_service
|
|
from cinder import service_auth as cinder_serviceauth
|
|
from cinder import ssh_utils as cinder_sshutils
|
|
from cinder.transfer import api as cinder_transfer_api
|
|
from cinder.volume import api as cinder_volume_api
|
|
from cinder.volume import driver as cinder_volume_driver
|
|
from cinder.volume.drivers.coprhd import common as \
|
|
cinder_volume_drivers_coprhd_common
|
|
from cinder.volume.drivers.coprhd import scaleio as \
|
|
cinder_volume_drivers_coprhd_scaleio
|
|
from cinder.volume.drivers.datacore import driver as \
|
|
cinder_volume_drivers_datacore_driver
|
|
from cinder.volume.drivers.datacore import iscsi as \
|
|
cinder_volume_drivers_datacore_iscsi
|
|
from cinder.volume.drivers.datera import datera_iscsi as \
|
|
cinder_volume_drivers_datera_dateraiscsi
|
|
from cinder.volume.drivers.dell_emc import ps as \
|
|
cinder_volume_drivers_dell_emc_ps
|
|
from cinder.volume.drivers.dell_emc.sc import storagecenter_common as \
|
|
cinder_volume_drivers_dell_emc_sc_storagecentercommon
|
|
from cinder.volume.drivers.dell_emc.scaleio import driver as \
|
|
cinder_volume_drivers_dell_emc_scaleio_driver
|
|
from cinder.volume.drivers.dell_emc.unity import driver as \
|
|
cinder_volume_drivers_dell_emc_unity_driver
|
|
from cinder.volume.drivers.dell_emc.vmax import common as \
|
|
cinder_volume_drivers_dell_emc_vmax_common
|
|
from cinder.volume.drivers.dell_emc.vnx import common as \
|
|
cinder_volume_drivers_dell_emc_vnx_common
|
|
from cinder.volume.drivers.dell_emc import xtremio as \
|
|
cinder_volume_drivers_dell_emc_xtremio
|
|
from cinder.volume.drivers.disco import disco as \
|
|
cinder_volume_drivers_disco_disco
|
|
from cinder.volume.drivers import drbdmanagedrv as \
|
|
cinder_volume_drivers_drbdmanagedrv
|
|
from cinder.volume.drivers.fujitsu import eternus_dx_common as \
|
|
cinder_volume_drivers_fujitsu_eternusdxcommon
|
|
from cinder.volume.drivers.fusionstorage import dsware as \
|
|
cinder_volume_drivers_fusionstorage_dsware
|
|
from cinder.volume.drivers import hgst as cinder_volume_drivers_hgst
|
|
from cinder.volume.drivers.hpe import hpe_3par_common as \
|
|
cinder_volume_drivers_hpe_hpe3parcommon
|
|
from cinder.volume.drivers.hpe import hpe_lefthand_iscsi as \
|
|
cinder_volume_drivers_hpe_hpelefthandiscsi
|
|
from cinder.volume.drivers.huawei import huawei_driver as \
|
|
cinder_volume_drivers_huawei_huaweidriver
|
|
from cinder.volume.drivers.ibm import flashsystem_common as \
|
|
cinder_volume_drivers_ibm_flashsystemcommon
|
|
from cinder.volume.drivers.ibm import flashsystem_fc as \
|
|
cinder_volume_drivers_ibm_flashsystemfc
|
|
from cinder.volume.drivers.ibm import flashsystem_iscsi as \
|
|
cinder_volume_drivers_ibm_flashsystemiscsi
|
|
from cinder.volume.drivers.ibm import gpfs as cinder_volume_drivers_ibm_gpfs
|
|
from cinder.volume.drivers.ibm.ibm_storage import ds8k_proxy as \
|
|
cinder_volume_drivers_ibm_ibm_storage_ds8kproxy
|
|
from cinder.volume.drivers.ibm.ibm_storage import ibm_storage as \
|
|
cinder_volume_drivers_ibm_ibm_storage_ibmstorage
|
|
from cinder.volume.drivers.ibm.storwize_svc import storwize_svc_common as \
|
|
cinder_volume_drivers_ibm_storwize_svc_storwizesvccommon
|
|
from cinder.volume.drivers.ibm.storwize_svc import storwize_svc_fc as \
|
|
cinder_volume_drivers_ibm_storwize_svc_storwizesvcfc
|
|
from cinder.volume.drivers.ibm.storwize_svc import storwize_svc_iscsi as \
|
|
cinder_volume_drivers_ibm_storwize_svc_storwizesvciscsi
|
|
from cinder.volume.drivers import infinidat as cinder_volume_drivers_infinidat
|
|
from cinder.volume.drivers.inspur.instorage import instorage_common as \
|
|
cinder_volume_drivers_inspur_instorage_instoragecommon
|
|
from cinder.volume.drivers.inspur.instorage import instorage_iscsi as \
|
|
cinder_volume_drivers_inspur_instorage_instorageiscsi
|
|
from cinder.volume.drivers.kaminario import kaminario_common as \
|
|
cinder_volume_drivers_kaminario_kaminariocommon
|
|
from cinder.volume.drivers.lenovo import lenovo_common as \
|
|
cinder_volume_drivers_lenovo_lenovocommon
|
|
from cinder.volume.drivers import lvm as cinder_volume_drivers_lvm
|
|
from cinder.volume.drivers.netapp import options as \
|
|
cinder_volume_drivers_netapp_options
|
|
from cinder.volume.drivers.nexenta import options as \
|
|
cinder_volume_drivers_nexenta_options
|
|
from cinder.volume.drivers import nfs as cinder_volume_drivers_nfs
|
|
from cinder.volume.drivers import nimble as cinder_volume_drivers_nimble
|
|
from cinder.volume.drivers.prophetstor import options as \
|
|
cinder_volume_drivers_prophetstor_options
|
|
from cinder.volume.drivers import pure as cinder_volume_drivers_pure
|
|
from cinder.volume.drivers import qnap as cinder_volume_drivers_qnap
|
|
from cinder.volume.drivers import quobyte as cinder_volume_drivers_quobyte
|
|
from cinder.volume.drivers import rbd as cinder_volume_drivers_rbd
|
|
from cinder.volume.drivers import remotefs as cinder_volume_drivers_remotefs
|
|
from cinder.volume.drivers.san.hp import hpmsa_common as \
|
|
cinder_volume_drivers_san_hp_hpmsacommon
|
|
from cinder.volume.drivers.san import san as cinder_volume_drivers_san_san
|
|
from cinder.volume.drivers import sheepdog as cinder_volume_drivers_sheepdog
|
|
from cinder.volume.drivers import solidfire as cinder_volume_drivers_solidfire
|
|
from cinder.volume.drivers import storpool as cinder_volume_drivers_storpool
|
|
from cinder.volume.drivers.synology import synology_common as \
|
|
cinder_volume_drivers_synology_synologycommon
|
|
from cinder.volume.drivers import tintri as cinder_volume_drivers_tintri
|
|
from cinder.volume.drivers.veritas_access import veritas_iscsi as \
|
|
cinder_volume_drivers_veritas_access_veritasiscsi
|
|
from cinder.volume.drivers.vmware import vmdk as \
|
|
cinder_volume_drivers_vmware_vmdk
|
|
from cinder.volume.drivers import vzstorage as cinder_volume_drivers_vzstorage
|
|
from cinder.volume.drivers.windows import iscsi as \
|
|
cinder_volume_drivers_windows_iscsi
|
|
from cinder.volume.drivers.windows import smbfs as \
|
|
cinder_volume_drivers_windows_smbfs
|
|
from cinder.volume.drivers import zadara as cinder_volume_drivers_zadara
|
|
from cinder.volume.drivers.zfssa import zfssaiscsi as \
|
|
cinder_volume_drivers_zfssa_zfssaiscsi
|
|
from cinder.volume.drivers.zfssa import zfssanfs as \
|
|
cinder_volume_drivers_zfssa_zfssanfs
|
|
from cinder.volume import manager as cinder_volume_manager
|
|
from cinder.wsgi import eventlet_server as cinder_wsgi_eventletserver
|
|
from cinder.zonemanager.drivers.brocade import brcd_fabric_opts as \
|
|
cinder_zonemanager_drivers_brocade_brcdfabricopts
|
|
from cinder.zonemanager.drivers.brocade import brcd_fc_zone_driver as \
|
|
cinder_zonemanager_drivers_brocade_brcdfczonedriver
|
|
from cinder.zonemanager.drivers.cisco import cisco_fabric_opts as \
|
|
cinder_zonemanager_drivers_cisco_ciscofabricopts
|
|
from cinder.zonemanager.drivers.cisco import cisco_fc_zone_driver as \
|
|
cinder_zonemanager_drivers_cisco_ciscofczonedriver
|
|
from cinder.zonemanager import fc_zone_manager as \
|
|
cinder_zonemanager_fczonemanager
|
|
|
|
|
|
def list_opts():
|
|
return [
|
|
('backend',
|
|
itertools.chain(
|
|
[cinder_cmd_volume.host_opt],
|
|
)),
|
|
('brcd_fabric_example',
|
|
itertools.chain(
|
|
cinder_zonemanager_drivers_brocade_brcdfabricopts.
|
|
brcd_zone_opts,
|
|
)),
|
|
('cisco_fabric_example',
|
|
itertools.chain(
|
|
cinder_zonemanager_drivers_cisco_ciscofabricopts.
|
|
cisco_zone_opts,
|
|
)),
|
|
('coordination',
|
|
itertools.chain(
|
|
cinder_coordination.coordination_opts,
|
|
)),
|
|
('DEFAULT',
|
|
itertools.chain(
|
|
cinder_api_common.api_common_opts,
|
|
cinder_api_contrib_typesextraspecs.extraspec_opts,
|
|
[cinder_api_middleware_auth.use_forwarded_for_opt],
|
|
cinder_api_views_versions.versions_opts,
|
|
cinder_backup_api.backup_api_opts,
|
|
cinder_backup_chunkeddriver.chunkedbackup_service_opts,
|
|
cinder_backup_driver.service_opts,
|
|
cinder_backup_drivers_ceph.service_opts,
|
|
cinder_backup_drivers_gcs.gcsbackup_service_opts,
|
|
cinder_backup_drivers_glusterfs.glusterfsbackup_service_opts,
|
|
cinder_backup_drivers_nfs.nfsbackup_service_opts,
|
|
cinder_backup_drivers_posix.posixbackup_service_opts,
|
|
cinder_backup_drivers_swift.swiftbackup_service_opts,
|
|
cinder_backup_drivers_tsm.tsm_opts,
|
|
cinder_backup_manager.backup_manager_opts,
|
|
[cinder_cmd_backup.backup_workers_opt],
|
|
[cinder_cmd_volume.cluster_opt],
|
|
cinder_common_config.core_opts,
|
|
cinder_common_config.global_opts,
|
|
cinder.compute.compute_opts,
|
|
cinder_context.context_opts,
|
|
cinder_db_api.db_opts,
|
|
[cinder_db_base.db_driver_opt],
|
|
cinder_image_glance.glance_opts,
|
|
cinder_image_glance.glance_core_properties_opts,
|
|
cinder_image_imageutils.image_helper_opts,
|
|
cinder_message_api.messages_opts,
|
|
cinder_quota.quota_opts,
|
|
cinder_scheduler_driver.scheduler_driver_opts,
|
|
cinder_scheduler_hostmanager.host_manager_opts,
|
|
[cinder_scheduler_manager.scheduler_driver_opt],
|
|
[cinder_scheduler_scheduleroptions.
|
|
scheduler_json_config_location_opt],
|
|
cinder_scheduler_weights_capacity.capacity_weight_opts,
|
|
cinder_scheduler_weights_volumenumber.
|
|
volume_number_weight_opts,
|
|
cinder_service.service_opts,
|
|
cinder_sshutils.ssh_opts,
|
|
cinder_transfer_api.volume_transfer_opts,
|
|
[cinder_volume_api.allow_force_upload_opt],
|
|
[cinder_volume_api.volume_host_opt],
|
|
[cinder_volume_api.volume_same_az_opt],
|
|
[cinder_volume_api.az_cache_time_opt],
|
|
cinder_volume_driver.volume_opts,
|
|
cinder_volume_driver.iser_opts,
|
|
cinder_volume_driver.nvmet_opts,
|
|
cinder_volume_drivers_datacore_driver.datacore_opts,
|
|
cinder_volume_drivers_datacore_iscsi.datacore_iscsi_opts,
|
|
cinder_volume_drivers_inspur_instorage_instoragecommon.
|
|
instorage_mcs_opts,
|
|
cinder_volume_drivers_inspur_instorage_instorageiscsi.
|
|
instorage_mcs_iscsi_opts,
|
|
cinder_volume_drivers_storpool.storpool_opts,
|
|
cinder_volume_drivers_veritas_access_veritasiscsi.VA_VOL_OPTS,
|
|
cinder_volume_manager.volume_manager_opts,
|
|
cinder_wsgi_eventletserver.socket_opts,
|
|
)),
|
|
('fc-zone-manager',
|
|
itertools.chain(
|
|
cinder_zonemanager_drivers_brocade_brcdfczonedriver.brcd_opts,
|
|
cinder_zonemanager_drivers_cisco_ciscofczonedriver.cisco_opts,
|
|
cinder_zonemanager_fczonemanager.zone_manager_opts,
|
|
)),
|
|
('key_manager',
|
|
itertools.chain(
|
|
cinder_keymgr_confkeymgr.key_mgr_opts,
|
|
)),
|
|
('service_user',
|
|
itertools.chain(
|
|
cinder_serviceauth.service_user_opts,
|
|
)),
|
|
('backend_defaults',
|
|
itertools.chain(
|
|
cinder_volume_driver.volume_opts,
|
|
cinder_volume_driver.iser_opts,
|
|
cinder_volume_driver.nvmet_opts,
|
|
cinder_volume_drivers_coprhd_common.volume_opts,
|
|
cinder_volume_drivers_coprhd_scaleio.scaleio_opts,
|
|
cinder_volume_drivers_datera_dateraiscsi.d_opts,
|
|
cinder_volume_drivers_dell_emc_ps.eqlx_opts,
|
|
cinder_volume_drivers_dell_emc_sc_storagecentercommon.
|
|
common_opts,
|
|
cinder_volume_drivers_dell_emc_scaleio_driver.scaleio_opts,
|
|
cinder_volume_drivers_dell_emc_unity_driver.UNITY_OPTS,
|
|
cinder_volume_drivers_dell_emc_vmax_common.vmax_opts,
|
|
cinder_volume_drivers_dell_emc_vnx_common.VNX_OPTS,
|
|
cinder_volume_drivers_dell_emc_xtremio.XTREMIO_OPTS,
|
|
cinder_volume_drivers_disco_disco.disco_opts,
|
|
cinder_volume_drivers_drbdmanagedrv.drbd_opts,
|
|
cinder_volume_drivers_fujitsu_eternusdxcommon.
|
|
FJ_ETERNUS_DX_OPT_opts,
|
|
cinder_volume_drivers_fusionstorage_dsware.volume_opts,
|
|
cinder_volume_drivers_hgst.hgst_opts,
|
|
cinder_volume_drivers_hpe_hpe3parcommon.hpe3par_opts,
|
|
cinder_volume_drivers_hpe_hpelefthandiscsi.hpelefthand_opts,
|
|
cinder_volume_drivers_huawei_huaweidriver.huawei_opts,
|
|
cinder_volume_drivers_ibm_flashsystemcommon.flashsystem_opts,
|
|
cinder_volume_drivers_ibm_flashsystemfc.flashsystem_fc_opts,
|
|
cinder_volume_drivers_ibm_flashsystemiscsi.
|
|
flashsystem_iscsi_opts,
|
|
cinder_volume_drivers_ibm_gpfs.gpfs_opts,
|
|
cinder_volume_drivers_ibm_gpfs.gpfs_remote_ssh_opts,
|
|
cinder_volume_drivers_ibm_ibm_storage_ds8kproxy.ds8k_opts,
|
|
cinder_volume_drivers_ibm_ibm_storage_ibmstorage.driver_opts,
|
|
cinder_volume_drivers_ibm_storwize_svc_storwizesvccommon.
|
|
storwize_svc_opts,
|
|
cinder_volume_drivers_ibm_storwize_svc_storwizesvcfc.
|
|
storwize_svc_fc_opts,
|
|
cinder_volume_drivers_ibm_storwize_svc_storwizesvciscsi.
|
|
storwize_svc_iscsi_opts,
|
|
cinder_volume_drivers_infinidat.infinidat_opts,
|
|
cinder_volume_drivers_kaminario_kaminariocommon.
|
|
kaminario_opts,
|
|
cinder_volume_drivers_lenovo_lenovocommon.common_opts,
|
|
cinder_volume_drivers_lenovo_lenovocommon.iscsi_opts,
|
|
cinder_volume_drivers_lvm.volume_opts,
|
|
cinder_volume_drivers_netapp_options.netapp_proxy_opts,
|
|
cinder_volume_drivers_netapp_options.netapp_connection_opts,
|
|
cinder_volume_drivers_netapp_options.netapp_transport_opts,
|
|
cinder_volume_drivers_netapp_options.netapp_basicauth_opts,
|
|
cinder_volume_drivers_netapp_options.netapp_cluster_opts,
|
|
cinder_volume_drivers_netapp_options.netapp_provisioning_opts,
|
|
cinder_volume_drivers_netapp_options.netapp_img_cache_opts,
|
|
cinder_volume_drivers_netapp_options.netapp_eseries_opts,
|
|
cinder_volume_drivers_netapp_options.netapp_nfs_extra_opts,
|
|
cinder_volume_drivers_netapp_options.netapp_san_opts,
|
|
cinder_volume_drivers_netapp_options.netapp_replication_opts,
|
|
cinder_volume_drivers_nexenta_options.NEXENTA_CONNECTION_OPTS,
|
|
cinder_volume_drivers_nexenta_options.NEXENTA_ISCSI_OPTS,
|
|
cinder_volume_drivers_nexenta_options.NEXENTA_DATASET_OPTS,
|
|
cinder_volume_drivers_nexenta_options.NEXENTA_NFS_OPTS,
|
|
cinder_volume_drivers_nexenta_options.NEXENTA_RRMGR_OPTS,
|
|
cinder_volume_drivers_nexenta_options.NEXENTA_EDGE_OPTS,
|
|
cinder_volume_drivers_nfs.nfs_opts,
|
|
cinder_volume_drivers_nimble.nimble_opts,
|
|
cinder_volume_drivers_prophetstor_options.DPL_OPTS,
|
|
cinder_volume_drivers_pure.PURE_OPTS,
|
|
cinder_volume_drivers_qnap.qnap_opts,
|
|
cinder_volume_drivers_quobyte.volume_opts,
|
|
cinder_volume_drivers_rbd.RBD_OPTS,
|
|
cinder_volume_drivers_remotefs.nas_opts,
|
|
cinder_volume_drivers_remotefs.volume_opts,
|
|
cinder_volume_drivers_san_hp_hpmsacommon.common_opts,
|
|
cinder_volume_drivers_san_hp_hpmsacommon.iscsi_opts,
|
|
cinder_volume_drivers_san_san.san_opts,
|
|
cinder_volume_drivers_sheepdog.sheepdog_opts,
|
|
cinder_volume_drivers_solidfire.sf_opts,
|
|
cinder_volume_drivers_synology_synologycommon.cinder_opts,
|
|
cinder_volume_drivers_tintri.tintri_opts,
|
|
cinder_volume_drivers_vmware_vmdk.vmdk_opts,
|
|
cinder_volume_drivers_vzstorage.vzstorage_opts,
|
|
cinder_volume_drivers_windows_iscsi.windows_opts,
|
|
cinder_volume_drivers_windows_smbfs.volume_opts,
|
|
cinder_volume_drivers_zadara.zadara_opts,
|
|
cinder_volume_drivers_zfssa_zfssaiscsi.ZFSSA_OPTS,
|
|
cinder_volume_drivers_zfssa_zfssanfs.ZFSSA_OPTS,
|
|
cinder_volume_manager.volume_backend_opts,
|
|
)),
|
|
('nova',
|
|
itertools.chain(
|
|
cinder_compute_nova.nova_opts,
|
|
cinder_compute_nova.nova_session_opts,
|
|
cinder_compute_nova.nova_auth_opts,
|
|
)),
|
|
]
|