Chen Zhiwei 76c1fe6371 Change the default shell to bash
Unify the shell to bash in all Kolla scripts.

Change-Id: Ib9591b2f8f344eb88455c5e9b7ecf2164fb5960a
Implements: blueprint use-bash-shell
2015-04-27 13:26:37 +08:00

211 lines
5.4 KiB
Bash

#!/bin/bash
set -e
. /opt/kolla/kolla-common.sh
# Database
: ${NEUTRON_DB_NAME:=neutron}
: ${NEUTRON_DB_USER:=neutron}
: ${NEUTRON_DB_PASSWORD:=password}
# Keystone
: ${ADMIN_TENANT_NAME:=admin}
: ${NEUTRON_KEYSTONE_USER:=neutron}
: ${NEUTRON_KEYSTONE_PASSWORD:=password}
: ${KEYSTONE_AUTH_PROTOCOL:=http}
: ${KEYSTONE_ADMIN_SERVICE_HOST:=127.0.0.1}
: ${KEYSTONE_PUBLIC_SERVICE_HOST:=127.0.0.1}
: ${KEYSTONE_ADMIN_SERVICE_PORT:=35357}
: ${KEYSTONE_PUBLIC_SERVICE_PORT:=5000}
: ${KEYSTONE_REGION:=RegionOne}
# RabbitMQ
: ${RABBIT_HOST:=$RABBITMQ_SERVICE_HOST}
: ${RABBIT_USER:=guest}
: ${RABBIT_PASSWORD:=guest}
# Logging
: ${VERBOSE_LOGGING:=true}
: ${DEBUG_LOGGING:=false}
# Networking
: ${NEUTRON_FLAT_NETWORK_NAME:=physnet1}
# Paste configuration file
: ${API_PASTE_CONFIG:=/usr/share/neutron/api-paste.ini}
check_required_vars NEUTRON_KEYSTONE_PASSWORD NEUTRON_API_PASTE_CONFIG \
KEYSTONE_PUBLIC_SERVICE_HOST RABBITMQ_SERVICE_HOST
core_cfg=/etc/neutron/neutron.conf
ml2_cfg=/etc/neutron/plugins/ml2/ml2_conf.ini
# Logging
crudini --set $core_cfg \
DEFAULT \
log_dir \
"${NEUTRON_LOG_DIR}"
crudini --set $core_cfg \
DEFAULT \
verbose \
"${VERBOSE_LOGGING}"
crudini --set $core_cfg \
DEFAULT \
debug \
"${DEBUG_LOGGING}"
# Paste config
crudini --set $core_cfg \
DEFAULT \
api_paste_config \
"${NEUTRON_API_PASTE_CONFIG}"
# Rabbit
crudini --set $core_cfg \
DEFAULT \
rabbit_host \
"${RABBIT_HOST}"
crudini --set $core_cfg \
DEFAULT \
rabbit_userid \
"${RABBIT_USER}"
crudini --set $core_cfg \
DEFAULT \
rabbit_password \
"${RABBIT_PASSWORD}"
# Locking
crudini --set $core_cfg \
DEFAULT \
lock_path \
"/var/lock/neutron"
# Keystone
crudini --set $core_cfg \
DEFAULT \
auth_strategy \
"keystone"
crudini --set $core_cfg \
keystone_authtoken \
auth_uri \
"${KEYSTONE_AUTH_PROTOCOL}://${KEYSTONE_PUBLIC_SERVICE_HOST}:${KEYSTONE_PUBLIC_SERVICE_PORT}/v2.0"
crudini --set $core_cfg \
keystone_authtoken \
identity_uri \
"${KEYSTONE_AUTH_PROTOCOL}://${KEYSTONE_ADMIN_SERVICE_HOST}:${KEYSTONE_ADMIN_SERVICE_PORT}"
crudini --set $core_cfg \
keystone_authtoken \
admin_tenant_name \
"${ADMIN_TENANT_NAME}"
crudini --set $core_cfg \
keystone_authtoken \
admin_user \
"${NEUTRON_KEYSTONE_USER}"
crudini --set $core_cfg \
keystone_authtoken \
admin_password \
"${NEUTRON_KEYSTONE_PASSWORD}"
# Rootwrap
crudini --set $core_cfg \
agent \
root_helper \
"sudo neutron-rootwrap /etc/neutron/rootwrap.conf"
# neutron.conf ml2 configuration
crudini --set $core_cfg \
DEFAULT \
core_plugin \
"neutron.plugins.ml2.plugin.Ml2Plugin"
crudini --set $core_cfg \
DEFAULT \
service_plugins \
"neutron.services.l3_router.l3_router_plugin.L3RouterPlugin,neutron.services.loadbalancer.plugin.LoadBalancerPlugin,neutron.services.vpn.plugin.VPNDriverPlugin,neutron.services.metering.metering_plugin.MeteringPlugin"
crudini --set $core_cfg \
DEFAULT \
allow_overlapping_ips \
"True"
# Configure ml2_conf.ini
crudini --set $ml2_cfg \
ml2 \
type_drivers \
"${TYPE_DRIVERS}"
crudini --set $ml2_cfg \
ml2 \
tenant_network_types \
"${TENANT_NETWORK_TYPES}"
crudini --set $ml2_cfg \
ml2 \
mechanism_drivers \
"${MECHANISM_DRIVERS}"
if [[ ${TYPE_DRIVERS} =~ .*flat.* ]]; then
crudini --set $ml2_cfg \
ml2_type_flat \
flat_networks \
${NEUTRON_FLAT_NETWORK_NAME}
fi
if [[ ${TYPE_DRIVERS} =~ .*vxlan.* ]]; then
crudini --set $ml2_cfg \
ml2_type_vxlan \
vxlan_group \
""
crudini --set $ml2_cfg \
ml2_type_vxlan \
vni_ranges \
"1:1000"
crudini --set $ml2_cfg \
vxlan \
enable_vxlan \
"True"
crudini --set $ml2_cfg \
vxlan \
vxlan_group \
""
crudini --set $ml2_cfg \
vxlan \
l2_population \
"True"
crudini --set $ml2_cfg \
agent \
tunnel_types \
"vxlan"
crudini --set $ml2_cfg \
agent \
vxlan_udp_port \
"4789"
crudini --set $core_cfg \
DEFAULT \
network_device_mtu \
"1450"
fi
crudini --set $ml2_cfg \
l2pop \
agent_boot_time \
"180"
crudini --set $ml2_cfg \
securitygroup \
enable_security_group \
"True"
crudini --set $ml2_cfg \
securitygroup \
enable_ipset \
"True"
if [[ ${MECHANISM_DRIVERS} =~ linuxbridge ]]; then
firewall_driver="neutron.agent.linux.iptables_firewall.IptablesFirewallDriver"
elif [[ ${MECHANISM_DRIVERS} == "openvswitch" ]]; then
firewall_driver="neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver"
fi
crudini --set $ml2_cfg \
securitygroup \
firewall_driver \
"$firewall_driver"
cat > /openrc <<EOF
export OS_AUTH_URL="http://${KEYSTONE_PUBLIC_SERVICE_HOST}:${KEYSTONE_PUBLIC_SERVICE_PORT}/v2.0"
export OS_USERNAME="${NEUTRON_KEYSTONE_USER}"
export OS_PASSWORD="${NEUTRON_KEYSTONE_PASSWORD}"
export OS_TENANT_NAME="${ADMIN_TENANT_NAME}"
EOF