18
18
DEBIAN_FRONTEND=noninteractive apt-get -y \
19
19
install --no-install-recommends $PACKAGES || exit 1
21
configure_network_manager $(config-get network-manager)
21
configure_network_manager $NET_MANAGER
23
23
# Configure any flags specified in deployment config
38
# Helpers for creating external and tenant networks
39
cp files/create_ext_net.py /usr/bin/quantum-ext-net
40
cp files/create_tenant_net.py /usr/bin/quantum-tenant-net
38
42
service_ctl all stop
45
function upgrade_charm {
41
50
function config_changed {
43
52
# Determine whether or not we should do an upgrade, based on whether or not
232
249
set_or_update "admin_user" "$service_username" "$API_CONF"
233
250
set_or_update "admin_password" "$service_password" "$API_CONF"
235
if [ "$(config-get network-manager)" == "Quantum" ]; then
252
if [ "$NET_MANAGER" == "Quantum" ]; then
236
253
# Configure Nova for quantum
254
keystone_url="http://${keystone_host}:${auth_port}/v2.0"
255
set_or_update "quantum_url" "http://$(unit-get private-address):9696"
237
256
set_or_update "quantum_admin_tenant_name" "${service_tenant}"
238
257
set_or_update "quantum_admin_username" "${service_username}"
239
258
set_or_update "quantum_admin_password" "${service_password}"
240
set_or_update "quantum_admin_auth_url" "http://${keystone_host}:${auth_port}/v2.0"
259
set_or_update "quantum_admin_auth_url" "${keystone_url}"
241
260
# Configure API server for quantum
242
261
set_or_update "admin_tenant_name" "$service_tenant" "$QUANTUM_API_CONF" "filter:authtoken"
243
262
set_or_update "admin_user" "$service_username" "$QUANTUM_API_CONF" "filter:authtoken"
244
263
set_or_update "admin_password" "$service_password" "$QUANTUM_API_CONF" "filter:authtoken"
245
264
set_or_update "auth_host" "$keystone_host" "$QUANTUM_API_CONF" "filter:authtoken"
246
265
set_or_update "auth_port" "$auth_port" "$QUANTUM_API_CONF" "filter:authtoken"
266
# Save a local copy of the credentials for later use
267
cat > /etc/quantum/novarc << EOF
268
export OS_USERNAME=${service_username}
269
export OS_PASSWORD=${service_password}
270
export OS_TENANT_NAME=${service_tenant}
271
export OS_AUTH_URL=${keystone_url}
249
275
service_ctl all restart
277
if [ "$NET_MANAGER" == "Quantum" ]; then
278
configure_quantum_networking
252
282
volume_joined() {
287
317
rids=$(relation-ids identity-service)
288
318
for rid in $rids; do
289
319
for unit in $(relation-list -r $rid); do
290
keystone_host=$(relation-get -r $rid keystone_host $unit)
320
keystone_host=$(relation-get -r $rid auth_host $unit)
291
321
if [ -n "$keystone_host" ]; then
293
323
keystone_host=$keystone_host \
308
337
rids=$(relation-ids identity-service)
309
338
for rid in $rids; do
310
339
for unit in $(relation-list -r $rid); do
311
keystone_host=$(relation-get -r $rid keystone_host $unit)
340
keystone_host=$(relation-get -r $rid auth_host $unit)
312
341
if [ -n "$keystone_host" ]; then
314
343
keystone_host=$keystone_host \
327
357
"start"|"stop") service_ctl all $arg0 ;;
328
358
"install") install_hook ;;
329
359
"config-changed") config_changed ;;
360
"upgrade-charm") upgrade_charm ;;
330
361
"amqp-relation-joined") amqp_joined ;;
331
362
"amqp-relation-changed") amqp_changed ;;
332
363
"shared-db-relation-joined") db_joined ;;