Skip to content

Commit b7c3a5e

Browse files
committed
Merge pull request #181 from jeblair/master
Don't clone or install disabled services.
2 parents 5179a3e + c639ef0 commit b7c3a5e

File tree

2 files changed

+69
-30
lines changed

2 files changed

+69
-30
lines changed

exercise.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#!/usr/bin/env bash
22

3+
source ./stackrc
34
# Run everything in the exercises/ directory that isn't explicitly disabled
45

56
# comma separated list of script basenames to skip
@@ -44,3 +45,7 @@ done
4445
for script in $failures; do
4546
echo FAILED $script
4647
done
48+
49+
if [ -n "$failures" ] ; then
50+
exit 1
51+
fi

stack.sh

Lines changed: 64 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -407,42 +407,68 @@ function git_clone {
407407

408408
# compute service
409409
git_clone $NOVA_REPO $NOVA_DIR $NOVA_BRANCH
410-
# storage service
411-
git_clone $SWIFT_REPO $SWIFT_DIR $SWIFT_BRANCH
412-
# swift + keystone middleware
413-
git_clone $SWIFT_KEYSTONE_REPO $SWIFT_KEYSTONE_DIR $SWIFT_KEYSTONE_BRANCH
414-
# image catalog service
415-
git_clone $GLANCE_REPO $GLANCE_DIR $GLANCE_BRANCH
416-
# unified auth system (manages accounts/tokens)
417-
git_clone $KEYSTONE_REPO $KEYSTONE_DIR $KEYSTONE_BRANCH
418-
# a websockets/html5 or flash powered VNC console for vm instances
419-
git_clone $NOVNC_REPO $NOVNC_DIR $NOVNC_BRANCH
420-
# django powered web control panel for openstack
421-
git_clone $HORIZON_REPO $HORIZON_DIR $HORIZON_BRANCH $HORIZON_TAG
422410
# python client library to nova that horizon (and others) use
423411
git_clone $NOVACLIENT_REPO $NOVACLIENT_DIR $NOVACLIENT_BRANCH
424-
# openstackx is a collection of extensions to openstack.compute & nova
425-
# that is *deprecated*. The code is being moved into python-novaclient & nova.
426-
git_clone $OPENSTACKX_REPO $OPENSTACKX_DIR $OPENSTACKX_BRANCH
427-
# quantum
428-
git_clone $QUANTUM_REPO $QUANTUM_DIR $QUANTUM_BRANCH
412+
if [[ "$ENABLED_SERVICES" =~ "swift" ]]; then
413+
# storage service
414+
git_clone $SWIFT_REPO $SWIFT_DIR $SWIFT_BRANCH
415+
# swift + keystone middleware
416+
git_clone $SWIFT_KEYSTONE_REPO $SWIFT_KEYSTONE_DIR $SWIFT_KEYSTONE_BRANCH
417+
fi
418+
if [[ "$ENABLED_SERVICES" =~ "g-api" ]]; then
419+
# image catalog service
420+
git_clone $GLANCE_REPO $GLANCE_DIR $GLANCE_BRANCH
421+
fi
422+
if [[ "$ENABLED_SERVICES" =~ "key" ]]; then
423+
# unified auth system (manages accounts/tokens)
424+
git_clone $KEYSTONE_REPO $KEYSTONE_DIR $KEYSTONE_BRANCH
425+
fi
426+
if [[ "$ENABLED_SERVICES" =~ "n-vnc" ]]; then
427+
# a websockets/html5 or flash powered VNC console for vm instances
428+
git_clone $NOVNC_REPO $NOVNC_DIR $NOVNC_BRANCH
429+
fi
430+
if [[ "$ENABLED_SERVICES" =~ "horizon" ]]; then
431+
# django powered web control panel for openstack
432+
git_clone $HORIZON_REPO $HORIZON_DIR $HORIZON_BRANCH $HORIZON_TAG
433+
fi
434+
if [[ "$ENABLED_SERVICES" =~ "openstackx" ]]; then
435+
# openstackx is a collection of extensions to openstack.compute & nova
436+
# that is *deprecated*. The code is being moved into python-novaclient & nova.
437+
git_clone $OPENSTACKX_REPO $OPENSTACKX_DIR $OPENSTACKX_BRANCH
438+
fi
439+
if [[ "$ENABLED_SERVICES" =~ "quantum" ]]; then
440+
# quantum
441+
git_clone $QUANTUM_REPO $QUANTUM_DIR $QUANTUM_BRANCH
442+
fi
429443

430444
# Initialization
431445
# ==============
432446

433447

434448
# setup our checkouts so they are installed into python path
435449
# allowing ``import nova`` or ``import glance.client``
436-
cd $KEYSTONE_DIR; sudo python setup.py develop
437-
cd $SWIFT_DIR; sudo python setup.py develop
438-
cd $SWIFT_KEYSTONE_DIR; sudo python setup.py develop
439-
cd $GLANCE_DIR; sudo python setup.py develop
450+
if [[ "$ENABLED_SERVICES" =~ "key" ]]; then
451+
cd $KEYSTONE_DIR; sudo python setup.py develop
452+
fi
453+
if [[ "$ENABLED_SERVICES" =~ "swift" ]]; then
454+
cd $SWIFT_DIR; sudo python setup.py develop
455+
cd $SWIFT_KEYSTONE_DIR; sudo python setup.py develop
456+
fi
457+
if [[ "$ENABLED_SERVICES" =~ "g-api" ]]; then
458+
cd $GLANCE_DIR; sudo python setup.py develop
459+
fi
440460
cd $NOVACLIENT_DIR; sudo python setup.py develop
441461
cd $NOVA_DIR; sudo python setup.py develop
442-
cd $OPENSTACKX_DIR; sudo python setup.py develop
443-
cd $HORIZON_DIR/django-openstack; sudo python setup.py develop
444-
cd $HORIZON_DIR/openstack-dashboard; sudo python setup.py develop
445-
cd $QUANTUM_DIR; sudo python setup.py develop
462+
if [[ "$ENABLED_SERVICES" =~ "openstackx" ]]; then
463+
cd $OPENSTACKX_DIR; sudo python setup.py develop
464+
fi
465+
if [[ "$ENABLED_SERVICES" =~ "horizon" ]]; then
466+
cd $HORIZON_DIR/django-openstack; sudo python setup.py develop
467+
cd $HORIZON_DIR/openstack-dashboard; sudo python setup.py develop
468+
fi
469+
if [[ "$ENABLED_SERVICES" =~ "quantum" ]]; then
470+
cd $QUANTUM_DIR; sudo python setup.py develop
471+
fi
446472

447473
# Add a useful screenrc. This isn't required to run openstack but is we do
448474
# it since we are going to run the services in screen for simple
@@ -828,9 +854,13 @@ add_nova_flag "--public_interface=$PUBLIC_INTERFACE"
828854
add_nova_flag "--vlan_interface=$VLAN_INTERFACE"
829855
add_nova_flag "--sql_connection=$BASE_SQL_CONN/nova"
830856
add_nova_flag "--libvirt_type=$LIBVIRT_TYPE"
831-
add_nova_flag "--osapi_extensions_path=$OPENSTACKX_DIR/extensions"
832-
add_nova_flag "--vncproxy_url=http://$HOST_IP:6080"
833-
add_nova_flag "--vncproxy_wwwroot=$NOVNC_DIR/"
857+
if [[ "$ENABLED_SERVICES" =~ "openstackx" ]]; then
858+
add_nova_flag "--osapi_extensions_path=$OPENSTACKX_DIR/extensions"
859+
fi
860+
if [[ "$ENABLED_SERVICES" =~ "n-vnc" ]]; then
861+
add_nova_flag "--vncproxy_url=http://$HOST_IP:6080"
862+
add_nova_flag "--vncproxy_wwwroot=$NOVNC_DIR/"
863+
fi
834864
add_nova_flag "--api_paste_config=$NOVA_DIR/bin/nova-api-paste.ini"
835865
add_nova_flag "--image_service=nova.image.glance.GlanceImageService"
836866
add_nova_flag "--ec2_dmz_host=$EC2_DMZ_HOST"
@@ -1028,8 +1058,12 @@ screen_it n-cpu "cd $NOVA_DIR && sg libvirtd $NOVA_DIR/bin/nova-compute"
10281058
screen_it n-vol "cd $NOVA_DIR && $NOVA_DIR/bin/nova-volume"
10291059
screen_it n-net "cd $NOVA_DIR && $NOVA_DIR/bin/nova-network"
10301060
screen_it n-sch "cd $NOVA_DIR && $NOVA_DIR/bin/nova-scheduler"
1031-
screen_it n-vnc "cd $NOVNC_DIR && ./utils/nova-wsproxy.py --flagfile $NOVA_DIR/bin/nova.conf --web . 6080"
1032-
screen_it horizon "cd $HORIZON_DIR && sudo tail -f /var/log/apache2/error.log"
1061+
if [[ "$ENABLED_SERVICES" =~ "n-vnc" ]]; then
1062+
screen_it n-vnc "cd $NOVNC_DIR && ./utils/nova-wsproxy.py --flagfile $NOVA_DIR/bin/nova.conf --web . 6080"
1063+
fi
1064+
if [[ "$ENABLED_SERVICES" =~ "horizon" ]]; then
1065+
screen_it horizon "cd $HORIZON_DIR && sudo tail -f /var/log/apache2/error.log"
1066+
fi
10331067

10341068
# Install Images
10351069
# ==============

0 commit comments

Comments
 (0)