#
# AUTHORS : Shu-Ting.Liao@cern.ch
#
-# NOTES : The config_gip_<node_type> functions are part of the glite 3.1
-# information system configuration
+# NOTES : The config_gip_<node_type> function creates the ldif file.
+# This is currently done by the function config_info_service_<node_type>.
+# This function is still included in the function list for cleaning tasks.
+#
#
# YAIM MODULE: glite-yaim-myproxy
#
##############################################################################
config_gip_px_check () {
- requires $1 GRID_TRUSTED_BROKERS SITE_EMAIL SITE_NAME INSTALL_ROOT
+ yaimlog DEBUG "This function currently doesn't set any environment variables."
}
config_gip_px_setenv () {
- yaimlog DEBUG "This function currently doesn't set any environment variables."
+ yaimlog DEBUG "This function currently doesn't set any environment variables."
}
config_gip_px () {
- ### Auxiliary parameters
- STATIC_CREATE="${INSTALL_ROOT}/glite/sbin/glite-info-static-create"
- TEMPLATE_DIR="${INSTALL_ROOT}/glite/etc"
- CONF_DIR="$INSTALL_ROOT/glite/var/tmp/gip"
- LDIF_DIR="${INSTALL_ROOT}/glite/etc/gip/ldif"
-
-until [ "$GIP_RESPONSE" -ge 0 ]; do
- echo "ERROR: bad GIP_RESPONSE: $GIP_RESPONSE"
- exit 1
-done
-
-
-#### Define output file
-
-if ( echo "${NODE_TYPE_LIST}" | grep -w PX > /dev/null ); then
-
-outfile=${CONF_DIR}/glite-info-static-px.conf
-
- cat << EOF > $outfile
-
-dn: GlueServiceUniqueID=${PX_HOST}:7512
-GlueServiceName: ${SITE_NAME}-myproxy
-GlueServiceType: MyProxy
-GlueServiceVersion: 1.1.0
-GlueServiceEndpoint: ${PX_HOST}:7512
-GlueServiceURI: unset
-GlueServiceAccessPointURL: myproxy://${PX_HOST}
-GlueServiceStatus: OK
-GlueServiceStatusInfo: No Problems
-GlueServiceWSDL: unset
-GlueServiceSemantics: unset
-GlueServiceStartTime: 1970-01-01T00:00:00Z
-GlueServiceOwner: LCG
-GlueForeignKey: GlueSiteUniqueID=${SITE_NAME}
-EOF
-
- split_quoted_variable $GRID_TRUSTED_BROKERS | while read x; do
- echo "GlueServiceAccessControlRule: $x" >> $outfile
- done
-
- ### Create static information file
- ldif_file="${LDIF_DIR}/static-file-PX.ldif"
- ${STATIC_CREATE} -c $outfile -t ${TEMPLATE_DIR}/GlueService.template > ${ldif_file}
-
-fi
-
- if [ $? -ne 0 ] ; then
- yaimlog WARNING "${STATIC_CREATE} returned an error code!"
- fi
-######
-
- ### Exit with success
+CONF_DIR="$INSTALL_ROOT/glite/var/tmp/gip"
+LDIF_DIR="${INSTALL_ROOT}/glite/etc/gip/ldif"
+rm -rf ${CONF_DIR}/glite-info-static-px.conf
+rm -rf ${LDIF_DIR}/static-file-PX.ldif
return 0
+
}
--- /dev/null
+##############################################################################
+# Copyright (c) Members of the EGEE Collaboration. 2004.
+# See http://www.eu-egee.org/partners/ for details on the copyright
+# holders.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+##############################################################################
+#
+# NAME : config_info_service_px
+#
+# DESCRIPTION : This function configures the dynamic service publisher
+# for MyProxy (PX) node.
+#
+# AUTHORS : Maria.Alandes.Pradillo@cern.ch
+#
+# NOTES :
+#
+# YAIM MODULE: glite-yaim-myproxy
+#
+##############################################################################
+
+config_info_service_px_check () {
+ requires $1 GRID_TRUSTED_BROKERS SITE_NAME INSTALL_ROOT
+}
+
+config_info_service_px_setenv () {
+ yaimlog DEBUG "This function currently doesn't set any environment variables."
+}
+
+config_info_service_px () {
+
+INFO_SERVICE_SCRIPT=${INFO_SERVICE_SCRIPT:-${INSTALL_ROOT}/glite/libexec}
+INFO_SERVICE_CONFIG=${INFO_SERVICE_CONFIG:-${INSTALL_ROOT}/glite/etc}
+INFO_PROVIDER_PATH=${INFO_PROVIDER_PATH:-${INSTALL_ROOT}/glite/etc/gip/provider}
+SERVICE=myproxy
+
+if [ ! -f ${INFO_SERVICE_CONFIG}/glite-info-service-${SERVICE}.conf.template ]; then
+ yaimlog ERROR "The template file for glite-info-service-${SERVICE}.conf.template was not found in ${INFO_SERVICE_CONFIG}."
+ exit 1
+fi
+
+if [ ! -f ${INFO_SERVICE_SCRIPT}/glite-info-service ]; then
+ yaimlog ERROR "The script file for glite-info-service was not found in ${INFO_SERVICE_SCRIPT}."
+ exit 1
+fi
+
+rm -rf ${INFO_SERVICE_CONFIG}/glite-info-service-${SERVICE}.conf
+
+grid_trusted_brokers=""
+while read x; do
+ grid_trusted_brokers="${x}\\\n${grid_trusted_brokers}"
+done < <(split_quoted_variable $GRID_TRUSTED_BROKERS)
+
+cat ${INFO_SERVICE_CONFIG}/glite-info-service-${SERVICE}.conf.template | sed \
+ -e "s#^get_acbr =.*#get_acbr = echo -e \"${grid_trusted_brokers}\"#" \
+> ${INFO_SERVICE_CONFIG}/glite-info-service-${SERVICE}.conf
+
+grep -q glite-info-service-${SERVICE}.conf ${INFO_PROVIDER_PATH}/glite-info-provider-service-wrapper >> /dev/null
+res=$?
+if [ -f ${INFO_PROVIDER_PATH}/glite-info-provider-service-wrapper ]; then
+ if [ $res -eq 1 ]; then
+ cat << EOF > ${INFO_PROVIDER_PATH}/glite-info-provider-service-wrapper
+#!/bin/sh
+export PATH=$PATH:${INFO_SERVICE_SCRIPT}
+${INFO_SERVICE_SCRIPT}/glite-info-service ${INFO_SERVICE_CONFIG}/glite-info-service-${SERVICE}.conf $SITE_NAME
+EOF
+ chmod +x ${INFO_PROVIDER_PATH}/glite-info-provider-service-wrapper
+ fi
+else
+ cat << EOF > ${INFO_PROVIDER_PATH}/glite-info-provider-service-wrapper
+#!/bin/sh
+export PATH=$PATH:${INFO_SERVICE_SCRIPT}
+${INFO_SERVICE_SCRIPT}/glite-info-service ${INFO_SERVICE_CONFIG}/glite-info-service-${SERVICE}.conf $SITE_NAME
+EOF
+ chmod +x ${INFO_PROVIDER_PATH}/glite-info-provider-service-wrapper
+fi
+
+
+# Exit with success
+return 0
+
+}