Browse code

Merge "Save stackenv values more often"

Jenkins authored on 2015/06/19 14:29:39
Showing 2 changed files
... ...
@@ -43,6 +43,25 @@ declare -A GITDIR
43 43
 
44 44
 TRACK_DEPENDS=${TRACK_DEPENDS:-False}
45 45
 
46
+# Save these variables to .stackenv
47
+STACK_ENV_VARS="BASE_SQL_CONN DATA_DIR DEST ENABLED_SERVICES HOST_IP \
48
+    KEYSTONE_AUTH_PROTOCOL KEYSTONE_AUTH_URI KEYSTONE_SERVICE_URI \
49
+    LOGFILE OS_CACERT SERVICE_HOST SERVICE_PROTOCOL STACK_USER TLS_IP"
50
+
51
+
52
+# Saves significant environment variables to .stackenv for later use
53
+# Refers to a lot of globals, only TOP_DIR and STACK_ENV_VARS are required to
54
+# function, the rest are simply saved and do not cause problems if they are undefined.
55
+# save_stackenv [tag]
56
+function save_stackenv {
57
+    local tag=${1:-""}
58
+    # Save some values we generated for later use
59
+    time_stamp=$(date "+$TIMESTAMP_FORMAT")
60
+    echo "# $time_stamp $tag" >$TOP_DIR/.stackenv
61
+    for i in $STACK_ENV_VARS; do
62
+        echo $i=${!i} >>$TOP_DIR/.stackenv
63
+    done
64
+}
46 65
 
47 66
 # Normalize config values to True or False
48 67
 # Accepts as False: 0 no No NO false False FALSE
... ...
@@ -68,6 +87,7 @@ function isset {
68 68
     [[ -v "$1" ]]
69 69
 }
70 70
 
71
+
71 72
 # Control Functions
72 73
 # =================
73 74
 
... ...
@@ -669,6 +669,9 @@ if is_service_enabled s-proxy; then
669 669
     fi
670 670
 fi
671 671
 
672
+# Save configuration values
673
+save_stackenv $LINENO
674
+
672 675
 
673 676
 # Install Packages
674 677
 # ================
... ...
@@ -950,6 +953,9 @@ fi
950 950
 # Initialize the directory for service status check
951 951
 init_service_check
952 952
 
953
+# Save configuration values
954
+save_stackenv $LINENO
955
+
953 956
 
954 957
 # Start Services
955 958
 # ==============
... ...
@@ -1287,12 +1293,7 @@ fi
1287 1287
 
1288 1288
 
1289 1289
 # Save some values we generated for later use
1290
-CURRENT_RUN_TIME=$(date "+$TIMESTAMP_FORMAT")
1291
-echo "# $CURRENT_RUN_TIME" >$TOP_DIR/.stackenv
1292
-for i in BASE_SQL_CONN ENABLED_SERVICES HOST_IP LOGFILE \
1293
-    SERVICE_HOST SERVICE_PROTOCOL STACK_USER TLS_IP KEYSTONE_AUTH_PROTOCOL OS_CACERT; do
1294
-    echo $i=${!i} >>$TOP_DIR/.stackenv
1295
-done
1290
+save_stackenv
1296 1291
 
1297 1292
 # Write out a clouds.yaml file
1298 1293
 # putting the location into a variable to allow for easier refactoring later