Generate hosts and resolv.conf files different depending on whether PLC_DNS_ENABLED=1.
[myplc.git] / plc.d / api
index 08d58c2..c64937d 100755 (executable)
--- a/plc.d/api
+++ b/plc.d/api
@@ -8,12 +8,13 @@
 # Mark Huang <mlhuang@cs.princeton.edu>
 # Copyright (C) 2006 The Trustees of Princeton University
 #
-# $Id: api,v 1.4 2006/06/23 21:41:31 mlhuang Exp $
+# $Id$
 #
 
 # Source function library and configuration
 . /etc/plc.d/functions
 . /etc/planetlab/plc_config
+local_config=/etc/planetlab/configs/site.xml
 
 # Be verbose
 set -x
@@ -27,29 +28,28 @@ case "$1" in
        MESSAGE=$"Configuring the API"
        dialog "$MESSAGE"
 
-       # Generate old DB configuration file
-       ln -sf plc_config /etc/planetlab/plc_db
-
        # Make sure that the API maintenance account is protected by a
        # password.
        if [ -z "$PLC_API_MAINTENANCE_PASSWORD" ] ; then
            PLC_API_MAINTENANCE_PASSWORD=$(uuidgen)
-           plc-config --category=plc_api --variable=maintenance_password --value="$PLC_API_MAINTENANCE_PASSWORD" --save
+           plc-config --category=plc_api --variable=maintenance_password --value="$PLC_API_MAINTENANCE_PASSWORD" --save=$local_config $local_config
+           service plc reload
        fi
 
        # Make sure that all PLC servers are allowed to access the API
        # through the maintenance account.
-       PLC_API_MAINTENANCE_SOURCES=$(
+       PLC_API_MAINTENANCE_SOURCES=($((
+           for ip in $PLC_API_MAINTENANCE_SOURCES ; do
+               echo $ip
+           done
            for server in API BOOT WWW ; do
                hostname=PLC_${server}_HOST
                gethostbyname ${!hostname}
-           done | sort -u
-       )
-       plc-config --category=plc_api --variable=maintenance_sources --value="$PLC_API_MAINTENANCE_SOURCES" --save
-
-       # Generate old API configuration file
-       api-config
-       check
+           done
+        ) | sort -u))
+       PLC_API_MAINTENANCE_SOURCES=${PLC_API_MAINTENANCE_SOURCES[*]}
+       plc-config --category=plc_api --variable=maintenance_sources --value="$PLC_API_MAINTENANCE_SOURCES" --save=$local_config $local_config
+       service plc reload
 
        result "$MESSAGE"
        ;;