# Mark Huang <mlhuang@cs.princeton.edu>
# Copyright (C) 2006 The Trustees of Princeton University
#
-# $Id: api,v 1.6 2007/01/18 18:44:18 mlhuang Exp $
+# $Id$
#
# Source function library and configuration
# Make sure that all PLC servers are allowed to access the API
# through the maintenance account.
- for server in API BOOT WWW ; do
- hostname=PLC_${server}_HOST
- ip=$(gethostbyname ${!hostname})
- if [ -n "$ip" ] ; then
- if [ -z "$PLC_API_MAINTENANCE_SOURCES" ] ; then
- PLC_API_MAINTENANCE_SOURCES=$ip
- else
- PLC_API_MAINTENANCE_SOURCES="$PLC_API_MAINTENANCE_SOURCES $ip"
- fi
- fi
- done
+ 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_API_MAINTENANCE_SOURCES=${PLC_API_MAINTENANCE_SOURCES[*]}
plc-config --category=plc_api --variable=maintenance_sources --value="$PLC_API_MAINTENANCE_SOURCES" --save
# Bootstrap the DB