Browse code

Merge pull request #181 from jeblair/master

Don't clone or install disabled services.

Jesse Andrews authored on 2011/11/16 01:54:37
Showing 2 changed files
... ...
@@ -1,5 +1,6 @@
1 1
 #!/usr/bin/env bash
2 2
 
3
+source ./stackrc
3 4
 # Run everything in the exercises/ directory that isn't explicitly disabled
4 5
 
5 6
 # comma separated list of script basenames to skip
... ...
@@ -44,3 +45,7 @@ done
44 44
 for script in $failures; do
45 45
     echo FAILED $script
46 46
 done
47
+
48
+if [ -n "$failures" ] ; then
49
+    exit 1
50
+fi
... ...
@@ -407,25 +407,39 @@ function git_clone {
407 407
 
408 408
 # compute service
409 409
 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
422 410
 # python client library to nova that horizon (and others) use
423 411
 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
429 443
 
430 444
 # Initialization
431 445
 # ==============
... ...
@@ -433,16 +447,28 @@ git_clone $QUANTUM_REPO $QUANTUM_DIR $QUANTUM_BRANCH
433 433
 
434 434
 # setup our checkouts so they are installed into python path
435 435
 # 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
436
+if [[ "$ENABLED_SERVICES" =~ "key" ]]; then
437
+    cd $KEYSTONE_DIR; sudo python setup.py develop
438
+fi
439
+if [[ "$ENABLED_SERVICES" =~ "swift" ]]; then
440
+    cd $SWIFT_DIR; sudo python setup.py develop
441
+    cd $SWIFT_KEYSTONE_DIR; sudo python setup.py develop
442
+fi
443
+if [[ "$ENABLED_SERVICES" =~ "g-api" ]]; then
444
+    cd $GLANCE_DIR; sudo python setup.py develop
445
+fi
440 446
 cd $NOVACLIENT_DIR; sudo python setup.py develop
441 447
 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
448
+if [[ "$ENABLED_SERVICES" =~ "openstackx" ]]; then
449
+    cd $OPENSTACKX_DIR; sudo python setup.py develop
450
+fi
451
+if [[ "$ENABLED_SERVICES" =~ "horizon" ]]; then
452
+    cd $HORIZON_DIR/django-openstack; sudo python setup.py develop
453
+    cd $HORIZON_DIR/openstack-dashboard; sudo python setup.py develop
454
+fi
455
+if [[ "$ENABLED_SERVICES" =~ "quantum" ]]; then
456
+    cd $QUANTUM_DIR; sudo python setup.py develop
457
+fi
446 458
 
447 459
 # Add a useful screenrc.  This isn't required to run openstack but is we do
448 460
 # it since we are going to run the services in screen for simple
... ...
@@ -828,9 +854,13 @@ add_nova_flag "--public_interface=$PUBLIC_INTERFACE"
828 828
 add_nova_flag "--vlan_interface=$VLAN_INTERFACE"
829 829
 add_nova_flag "--sql_connection=$BASE_SQL_CONN/nova"
830 830
 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/"
831
+if [[ "$ENABLED_SERVICES" =~ "openstackx" ]]; then
832
+    add_nova_flag "--osapi_extensions_path=$OPENSTACKX_DIR/extensions"
833
+fi
834
+if [[ "$ENABLED_SERVICES" =~ "n-vnc" ]]; then
835
+    add_nova_flag "--vncproxy_url=http://$HOST_IP:6080"
836
+    add_nova_flag "--vncproxy_wwwroot=$NOVNC_DIR/"
837
+fi
834 838
 add_nova_flag "--api_paste_config=$NOVA_DIR/bin/nova-api-paste.ini"
835 839
 add_nova_flag "--image_service=nova.image.glance.GlanceImageService"
836 840
 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"
1028 1028
 screen_it n-vol "cd $NOVA_DIR && $NOVA_DIR/bin/nova-volume"
1029 1029
 screen_it n-net "cd $NOVA_DIR && $NOVA_DIR/bin/nova-network"
1030 1030
 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"
1031
+if [[ "$ENABLED_SERVICES" =~ "n-vnc" ]]; then
1032
+    screen_it n-vnc "cd $NOVNC_DIR && ./utils/nova-wsproxy.py --flagfile $NOVA_DIR/bin/nova.conf --web . 6080"
1033
+fi
1034
+if [[ "$ENABLED_SERVICES" =~ "horizon" ]]; then
1035
+    screen_it horizon "cd $HORIZON_DIR && sudo tail -f /var/log/apache2/error.log"
1036
+fi
1033 1037
 
1034 1038
 # Install Images
1035 1039
 # ==============