diff --git a/lib/cinder_backends/xiv b/lib/cinder_backends/xiv new file mode 100644 index 0000000000..dbdb96c5a1 --- /dev/null +++ b/lib/cinder_backends/xiv @@ -0,0 +1,84 @@ +# Copyright 2014 IBM Corp. +# Copyright (c) 2014 OpenStack Foundation +# All Rights Reserved. +# +# 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. +# +# Authors: +# Alon Marx + +# lib/cinder_plugins/xiv +# Configure the xiv_ds8k driver for xiv testing + +# Enable xiv_ds8k driver for xiv with: +# +# CINDER_ENABLED_BACKENDS+=,xiv: +# XIV_DRIVER_VERSION= +# SAN_IP= +# SAN_LOGIN= +# SAN_PASSWORD= +# SAN_CLUSTERNAME= +# CONNECTION_TYPE= iscsi|fc +# XIV_CHAP= disabled|enabled + +# Dependencies: +# +# - ``functions`` file +# - ``cinder`` configurations + +# configure_cinder_backend_xiv - Configure Cinder for xiv backends + +# Save trace setting +XIV_XTRACE=$(set +o | grep xtrace) +set +o xtrace + +# Defaults +# -------- +# Set up default directories + + +# Entry Points +# ------------ + +# configure_cinder_backend_xiv - Set config files, create data dirs, etc +function configure_cinder_backend_xiv { + + local be_name=$1 + + python -c 'from xiv_ds8k_openstack.xiv_nova_proxy import XIVNovaProxy' + if [ $? -ne 0 ]; then + die $LINENO "XIV_DS8K driver is missing. Please install first" + fi + + # For reference: + # XIV_DS8K_BACKEND='IBM-XIV_'${SAN_IP}'_'${SAN_CLUSTERNAME}'_'${CONNECTION_TYPE} + iniset $CINDER_CONF DEFAULT xiv_ds8k_driver_version $XIV_DRIVER_VERSION + + iniset $CINDER_CONF $be_name san_ip $SAN_IP + iniset $CINDER_CONF $be_name san_login $SAN_LOGIN + iniset $CINDER_CONF $be_name san_password $SAN_PASSWORD + iniset $CINDER_CONF $be_name san_clustername $SAN_CLUSTERNAME + iniset $CINDER_CONF $be_name xiv_ds8k_connection_type $CONNECTION_TYPE + iniset $CINDER_CONF $be_name volume_backend_name $be_name + iniset $CINDER_CONF $be_name volume_driver 'cinder.volume.drivers.ibm.xiv_ds8k.XIVDS8KDriver' + iniset $CINDER_CONF $be_name xiv_ds8k_proxy 'xiv_ds8k_openstack.xiv_nova_proxy.XIVNovaProxy' + iniset $CINDER_CONF $be_name xiv_chap $XIV_CHAP +} + +# Restore xtrace +$XIV_XTRACE + +# Local variables: +# mode: shell-script +# End: +