omni/devstack/lib/omni_gce

83 lines
3.2 KiB
Bash

#!/bin/bash
# Save trace setting
XTRACE=$(set +o | grep xtrace)
set +o xtrace
DIST_PACKAGES="/usr/local/lib/python2.7/dist-packages"
ENTRY_POINT="$DIST_PACKAGES/glance_store-*.dist-info/entry_points.txt"
NEUTRON_ENTRY_POINT="/opt/stack/neutron/neutron.egg-info/entry_points.txt"
ML2_CONF="/etc/neutron/plugins/ml2/ml2_conf.ini"
# Functions
# ------------
function set_gce_details {
local conf_file=$1
iniset $conf_file GCE zone ${ZONE}
iniset $conf_file GCE project_id ${PROJECT}
iniset $conf_file GCE service_key_path ${SERVICE_KEY_PATH}
}
function configure_glance {
set_gce_details $GLANCE_API_CONF
iniset $GLANCE_API_CONF DEFAULT show_multiple_locations True
iniset $GLANCE_API_CONF glance_store default_store gce
iniset $GLANCE_API_CONF glance_store stores gce
sudo crudini --set $ENTRY_POINT glance_store.drivers glance.store.gce.Store glance_store._drivers.gce:Store
sudo crudini --set $ENTRY_POINT glance_store.drivers gce glance_store._drivers.gce:Store
value=$(sed -n "/, 'gce'/p" $DIST_PACKAGES/glance_store/backend.py)
if [[ $value == "" ]]; then
sudo sed -i -e "s/, 'vsphere'/, 'vsphere', 'gce'/g" $DIST_PACKAGES/glance_store/backend.py
fi
}
function configure_cinder {
set_gce_details $CINDER_CONF
iniset $CINDER_CONF GCE region ${REGION}
iniset $CINDER_CONF GCE gce_pool_name gce
iniset $CINDER_CONF GCE gce_free_capacity_gb ${CAPACITY}
iniset $CINDER_CONF gce_total_capacity_gb ${CAPACITY}
iniset $CINDER_CONF GCE volume_driver ${GCE_CINDER_DRIVER}
iniset $CINDER_CONF DEFAULT enable_force_upload ${ENABLE_FORCE_UPLOAD}
iniset $CINDER_CONF DEFAULT enabled_backends GCE
iniset $CINDER_CONF DEFAULT volumes_dir ${VOLUME_DIR}
iniset $CINDER_CONF DEFAULT os_privileged_user_name ${CINDER_USER}
iniset $CINDER_CONF DEFAULT default_volume_type GCE
iniset $CINDER_CONF DEFAULT os_region_name GCE
}
function configure_nova {
set_gce_details $NOVA_CONF
iniset $NOVA_CONF DEFAULT compute_driver ${GCE_COMPUTE_DRIVER}
iniset $NOVA_CONF DEFAULT glance_api_insecure True
iniset $NOVA_CONF DEFAULT cinder_api_insecure True
iniset $NOVA_CONF DEFAULT vnc_enabled True
iniset $NOVA_CONF DEFAULT osapi_compute_extension ${COMPUTE_EXTENSION}
iniset $NOVA_CONF DEFAULT force_dhcp_release True
}
function configure_neutron {
set_gce_details $NEUTRON_CONF
iniset $NEUTRON_CONF GCE region ${REGION}
iniset $NEUTRON_CONF DEFAULT core_plugin ${CORE_PLUGIN}
iniset $NEUTRON_CONF DEFAULT service_plugins ${GCE_SERVICE_PLUGIN}
iniset $NEUTRON_CONF nova region_name GCE
iniset $ML2_CONF ml2 type_drivers ${ML2_DRIVERS}
iniset $ML2_CONF ml2 tenant_network_types ${ML2_TENANT}
iniset $ML2_CONF ml2_type_flat flat_networks "*"
iniset $ML2_CONF ml2_type_vlan network_vlan_ranges ${ML2_VLAN_TYPE}
iniset $ML2_CONF ml2 mechanism_drivers gce
sudo crudini --set $NEUTRON_ENTRY_POINT neutron.ml2.mechanism_drivers gce neutron.plugins.ml2.drivers.gce.mech_gce:GceMechanismDriver
sudo crudini --set $NEUTRON_ENTRY_POINT neutron.service_plugins gce_router neutron.services.l3_router.gce_router_plugin:GceRouterPlugin
}
# Restore xtrace
$XTRACE
## Local variables:
## mode: shell-script
## End: