Browse code

Clean up use of global conf vars in start_nova

Make it clear which services run in the API cell and compute (child)
cells by using appropriately named local variables for the conf files.
This should help save from future bugs.

Also: When cells is enabled, there's no need to run nova-conductor in
the API cell right now. Cells bypasses any use of conductor in the API
cell.

Change-Id: I3af17d3db028f5df36814cb83c7db4de8f141f84

Chris Behrens authored on 2013/10/23 18:54:53
Showing 1 changed files
... ...
@@ -645,32 +645,32 @@ function start_nova_compute() {
645 645
 
646 646
 # start_nova() - Start running processes, including screen
647 647
 function start_nova_rest() {
648
-    NOVA_CONF_BOTTOM=$NOVA_CONF
649
-
650
-    # ``screen_it`` checks ``is_service_enabled``, it is not needed here
651
-    screen_it n-cond "cd $NOVA_DIR && $NOVA_BIN_DIR/nova-conductor"
652
-
648
+    local api_cell_conf=$NOVA_CONF
653 649
     if is_service_enabled n-cell; then
654
-        NOVA_CONF_BOTTOM=$NOVA_CELLS_CONF
655
-        screen_it n-cond "cd $NOVA_DIR && $NOVA_BIN_DIR/nova-conductor --config-file $NOVA_CELLS_CONF"
656
-        screen_it n-cell-region "cd $NOVA_DIR && $NOVA_BIN_DIR/nova-cells --config-file $NOVA_CONF"
657
-        screen_it n-cell-child "cd $NOVA_DIR && $NOVA_BIN_DIR/nova-cells --config-file $NOVA_CELLS_CONF"
650
+        local compute_cell_conf=$NOVA_CELLS_CONF
651
+    else
652
+        local compute_cell_conf=$NOVA_CONF
658 653
     fi
659 654
 
660
-    screen_it n-crt "cd $NOVA_DIR && $NOVA_BIN_DIR/nova-cert"
661
-    screen_it n-net "cd $NOVA_DIR && $NOVA_BIN_DIR/nova-network --config-file $NOVA_CONF_BOTTOM"
662
-    screen_it n-sch "cd $NOVA_DIR && $NOVA_BIN_DIR/nova-scheduler --config-file $NOVA_CONF_BOTTOM"
663
-    screen_it n-api-meta "cd $NOVA_DIR && $NOVA_BIN_DIR/nova-api-metadata --config-file $NOVA_CONF_BOTTOM"
655
+    # ``screen_it`` checks ``is_service_enabled``, it is not needed here
656
+    screen_it n-cond "cd $NOVA_DIR && $NOVA_BIN_DIR/nova-conductor --config-file $compute_cell_conf"
657
+    screen_it n-cell-region "cd $NOVA_DIR && $NOVA_BIN_DIR/nova-cells --config-file $api_cell_conf"
658
+    screen_it n-cell-child "cd $NOVA_DIR && $NOVA_BIN_DIR/nova-cells --config-file $compute_cell_conf"
659
+
660
+    screen_it n-crt "cd $NOVA_DIR && $NOVA_BIN_DIR/nova-cert --config-file $api_cell_conf"
661
+    screen_it n-net "cd $NOVA_DIR && $NOVA_BIN_DIR/nova-network --config-file $compute_cell_conf"
662
+    screen_it n-sch "cd $NOVA_DIR && $NOVA_BIN_DIR/nova-scheduler --config-file $compute_cell_conf"
663
+    screen_it n-api-meta "cd $NOVA_DIR && $NOVA_BIN_DIR/nova-api-metadata --config-file $compute_cell_conf"
664 664
 
665
-    screen_it n-novnc "cd $NOVA_DIR && $NOVA_BIN_DIR/nova-novncproxy --config-file $NOVA_CONF --web $NOVNC_DIR"
666
-    screen_it n-xvnc "cd $NOVA_DIR && $NOVA_BIN_DIR/nova-xvpvncproxy --config-file $NOVA_CONF"
667
-    screen_it n-spice "cd $NOVA_DIR && $NOVA_BIN_DIR/nova-spicehtml5proxy --config-file $NOVA_CONF --web $SPICE_DIR"
668
-    screen_it n-cauth "cd $NOVA_DIR && $NOVA_BIN_DIR/nova-consoleauth"
665
+    screen_it n-novnc "cd $NOVA_DIR && $NOVA_BIN_DIR/nova-novncproxy --config-file $api_cell_conf --web $NOVNC_DIR"
666
+    screen_it n-xvnc "cd $NOVA_DIR && $NOVA_BIN_DIR/nova-xvpvncproxy --config-file $api_cell_conf"
667
+    screen_it n-spice "cd $NOVA_DIR && $NOVA_BIN_DIR/nova-spicehtml5proxy --config-file $api_cell_conf --web $SPICE_DIR"
668
+    screen_it n-cauth "cd $NOVA_DIR && $NOVA_BIN_DIR/nova-consoleauth --config-file $api_cell_conf"
669 669
 
670 670
     # Starting the nova-objectstore only if swift3 service is not enabled.
671 671
     # Swift will act as s3 objectstore.
672 672
     is_service_enabled swift3 || \
673
-        screen_it n-obj "cd $NOVA_DIR && $NOVA_BIN_DIR/nova-objectstore"
673
+        screen_it n-obj "cd $NOVA_DIR && $NOVA_BIN_DIR/nova-objectstore --config-file $api_cell_conf"
674 674
 }
675 675
 
676 676
 function start_nova() {
... ...
@@ -683,7 +683,7 @@ function stop_nova() {
683 683
     # Kill the nova screen windows
684 684
     # Some services are listed here twice since more than one instance
685 685
     # of a service may be running in certain configs.
686
-    for serv in n-api n-cpu n-crt n-net n-sch n-novnc n-xvnc n-cauth n-spice n-cond n-cond n-cell n-cell n-api-meta; do
686
+    for serv in n-api n-cpu n-crt n-net n-sch n-novnc n-xvnc n-cauth n-spice n-cond n-cell n-cell n-api-meta; do
687 687
         screen -S $SCREEN_NAME -p $serv -X kill
688 688
     done
689 689
     if is_service_enabled n-cpu && [[ -r $NOVA_PLUGINS/hypervisor-$VIRT_DRIVER ]]; then