Browse code

Don't clone or install disabled services.

James E. Blair authored on 2011/11/11 06:05:13
Showing 1 changed files
... ...
@@ -405,25 +405,39 @@ function git_clone {
405 405
 
406 406
 # compute service
407 407
 git_clone $NOVA_REPO $NOVA_DIR $NOVA_BRANCH
408
-# storage service
409
-git_clone $SWIFT_REPO $SWIFT_DIR $SWIFT_BRANCH
410
-# swift + keystone middleware
411
-git_clone $SWIFT_KEYSTONE_REPO $SWIFT_KEYSTONE_DIR $SWIFT_KEYSTONE_BRANCH
412
-# image catalog service
413
-git_clone $GLANCE_REPO $GLANCE_DIR $GLANCE_BRANCH
414
-# unified auth system (manages accounts/tokens)
415
-git_clone $KEYSTONE_REPO $KEYSTONE_DIR $KEYSTONE_BRANCH
416
-# a websockets/html5 or flash powered VNC console for vm instances
417
-git_clone $NOVNC_REPO $NOVNC_DIR $NOVNC_BRANCH
418
-# django powered web control panel for openstack
419
-git_clone $HORIZON_REPO $HORIZON_DIR $HORIZON_BRANCH $HORIZON_TAG
420 408
 # python client library to nova that horizon (and others) use
421 409
 git_clone $NOVACLIENT_REPO $NOVACLIENT_DIR $NOVACLIENT_BRANCH
422
-# openstackx is a collection of extensions to openstack.compute & nova
423
-# that is *deprecated*.  The code is being moved into python-novaclient & nova.
424
-git_clone $OPENSTACKX_REPO $OPENSTACKX_DIR $OPENSTACKX_BRANCH
425
-# quantum
426
-git_clone $QUANTUM_REPO $QUANTUM_DIR $QUANTUM_BRANCH
410
+if [[ "$ENABLED_SERVICES" =~ "swift" ]]; then
411
+    # storage service
412
+    git_clone $SWIFT_REPO $SWIFT_DIR $SWIFT_BRANCH
413
+    # swift + keystone middleware
414
+    git_clone $SWIFT_KEYSTONE_REPO $SWIFT_KEYSTONE_DIR $SWIFT_KEYSTONE_BRANCH
415
+fi
416
+if [[ "$ENABLED_SERVICES" =~ "g-api" ]]; then
417
+    # image catalog service
418
+    git_clone $GLANCE_REPO $GLANCE_DIR $GLANCE_BRANCH
419
+fi
420
+if [[ "$ENABLED_SERVICES" =~ "key" ]]; then
421
+    # unified auth system (manages accounts/tokens)
422
+    git_clone $KEYSTONE_REPO $KEYSTONE_DIR $KEYSTONE_BRANCH
423
+fi
424
+if [[ "$ENABLED_SERVICES" =~ "n-vnc" ]]; then
425
+    # a websockets/html5 or flash powered VNC console for vm instances
426
+    git_clone $NOVNC_REPO $NOVNC_DIR $NOVNC_BRANCH
427
+fi
428
+if [[ "$ENABLED_SERVICES" =~ "horizon" ]]; then
429
+    # django powered web control panel for openstack
430
+    git_clone $HORIZON_REPO $HORIZON_DIR $HORIZON_BRANCH $HORIZON_TAG
431
+fi
432
+if [[ "$ENABLED_SERVICES" =~ "openstackx" ]]; then
433
+    # openstackx is a collection of extensions to openstack.compute & nova
434
+    # that is *deprecated*.  The code is being moved into python-novaclient & nova.
435
+    git_clone $OPENSTACKX_REPO $OPENSTACKX_DIR $OPENSTACKX_BRANCH
436
+fi
437
+if [[ "$ENABLED_SERVICES" =~ "quantum" ]]; then
438
+    # quantum
439
+    git_clone $QUANTUM_REPO $QUANTUM_DIR $QUANTUM_BRANCH
440
+fi
427 441
 
428 442
 # Initialization
429 443
 # ==============
... ...
@@ -431,16 +445,28 @@ git_clone $QUANTUM_REPO $QUANTUM_DIR $QUANTUM_BRANCH
431 431
 
432 432
 # setup our checkouts so they are installed into python path
433 433
 # allowing ``import nova`` or ``import glance.client``
434
-cd $KEYSTONE_DIR; sudo python setup.py develop
435
-cd $SWIFT_DIR; sudo python setup.py develop
436
-cd $SWIFT_KEYSTONE_DIR; sudo python setup.py develop
437
-cd $GLANCE_DIR; sudo python setup.py develop
434
+if [[ "$ENABLED_SERVICES" =~ "key" ]]; then
435
+    cd $KEYSTONE_DIR; sudo python setup.py develop
436
+fi
437
+if [[ "$ENABLED_SERVICES" =~ "swift" ]]; then
438
+    cd $SWIFT_DIR; sudo python setup.py develop
439
+    cd $SWIFT_KEYSTONE_DIR; sudo python setup.py develop
440
+fi
441
+if [[ "$ENABLED_SERVICES" =~ "g-api" ]]; then
442
+    cd $GLANCE_DIR; sudo python setup.py develop
443
+fi
438 444
 cd $NOVACLIENT_DIR; sudo python setup.py develop
439 445
 cd $NOVA_DIR; sudo python setup.py develop
440
-cd $OPENSTACKX_DIR; sudo python setup.py develop
441
-cd $HORIZON_DIR/django-openstack; sudo python setup.py develop
442
-cd $HORIZON_DIR/openstack-dashboard; sudo python setup.py develop
443
-cd $QUANTUM_DIR; sudo python setup.py develop
446
+if [[ "$ENABLED_SERVICES" =~ "openstackx" ]]; then
447
+    cd $OPENSTACKX_DIR; sudo python setup.py develop
448
+fi
449
+if [[ "$ENABLED_SERVICES" =~ "horizon" ]]; then
450
+    cd $HORIZON_DIR/django-openstack; sudo python setup.py develop
451
+    cd $HORIZON_DIR/openstack-dashboard; sudo python setup.py develop
452
+fi
453
+if [[ "$ENABLED_SERVICES" =~ "quantum" ]]; then
454
+    cd $QUANTUM_DIR; sudo python setup.py develop
455
+fi
444 456
 
445 457
 # Add a useful screenrc.  This isn't required to run openstack but is we do
446 458
 # it since we are going to run the services in screen for simple
... ...
@@ -819,9 +845,13 @@ add_nova_flag "--public_interface=$PUBLIC_INTERFACE"
819 819
 add_nova_flag "--vlan_interface=$VLAN_INTERFACE"
820 820
 add_nova_flag "--sql_connection=$BASE_SQL_CONN/nova"
821 821
 add_nova_flag "--libvirt_type=$LIBVIRT_TYPE"
822
-add_nova_flag "--osapi_extensions_path=$OPENSTACKX_DIR/extensions"
823
-add_nova_flag "--vncproxy_url=http://$HOST_IP:6080"
824
-add_nova_flag "--vncproxy_wwwroot=$NOVNC_DIR/"
822
+if [[ "$ENABLED_SERVICES" =~ "openstackx" ]]; then
823
+    add_nova_flag "--osapi_extensions_path=$OPENSTACKX_DIR/extensions"
824
+fi
825
+if [[ "$ENABLED_SERVICES" =~ "n-vnc" ]]; then
826
+    add_nova_flag "--vncproxy_url=http://$HOST_IP:6080"
827
+    add_nova_flag "--vncproxy_wwwroot=$NOVNC_DIR/"
828
+fi
825 829
 add_nova_flag "--api_paste_config=$NOVA_DIR/bin/nova-api-paste.ini"
826 830
 add_nova_flag "--image_service=nova.image.glance.GlanceImageService"
827 831
 add_nova_flag "--ec2_dmz_host=$EC2_DMZ_HOST"
... ...
@@ -1014,8 +1044,12 @@ screen_it n-cpu "cd $NOVA_DIR && sg libvirtd $NOVA_DIR/bin/nova-compute"
1014 1014
 screen_it n-vol "cd $NOVA_DIR && $NOVA_DIR/bin/nova-volume"
1015 1015
 screen_it n-net "cd $NOVA_DIR && $NOVA_DIR/bin/nova-network"
1016 1016
 screen_it n-sch "cd $NOVA_DIR && $NOVA_DIR/bin/nova-scheduler"
1017
-screen_it n-vnc "cd $NOVNC_DIR && ./utils/nova-wsproxy.py --flagfile $NOVA_DIR/bin/nova.conf --web . 6080"
1018
-screen_it horizon "cd $HORIZON_DIR && sudo tail -f /var/log/apache2/error.log"
1017
+if [[ "$ENABLED_SERVICES" =~ "n-vnc" ]]; then
1018
+    screen_it n-vnc "cd $NOVNC_DIR && ./utils/nova-wsproxy.py --flagfile $NOVA_DIR/bin/nova.conf --web . 6080"
1019
+fi
1020
+if [[ "$ENABLED_SERVICES" =~ "horizon" ]]; then
1021
+    screen_it horizon "cd $HORIZON_DIR && sudo tail -f /var/log/apache2/error.log"
1022
+fi
1019 1023
 
1020 1024
 # Install Images
1021 1025
 # ==============