3 #============LICENSE_START==================================================
5 #===========================================================================
6 # Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
7 #===========================================================================
8 # Licensed under the Apache License, Version 2.0 (the "License");
9 # you may not use this file except in compliance with the License.
10 # You may obtain a copy of the License at
12 # http://www.apache.org/licenses/LICENSE-2.0
14 # Unless required by applicable law or agreed to in writing, software
15 # distributed under the License is distributed on an "AS IS" BASIS,
16 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 # See the License for the specific language governing permissions and
18 # limitations under the License.
19 #============LICENSE_END==================================================
23 #########################################################################
27 #########################################################################
30 echo -n "syntax: $(basename $0) "
32 echo -n "[--install base|pap|pdp|console|mysql|elk|brmsgw|paplp|pdplp] | "
33 echo -n "[--configure base|pap|pdp|console|mysql|elk|brmsgw|paplp|pdplp] | "
36 function check_java() {
37 if [[ $DEBUG == y ]]; then
38 echo "-- ${FUNCNAME[0]} $@ --"
42 TARGET_JAVA_VERSION=$1
44 if [[ -z ${JAVA_HOME} ]]; then
45 echo "error: ${JAVA_HOME} is not set"
49 if ! check_x_file "${JAVA_HOME}/bin/java"; then
50 echo "error: ${JAVA_HOME}/bin/java is not accessible"
54 INSTALLED_JAVA_VERSION=$("${JAVA_HOME}/bin/java" -version 2>&1 | awk -F '"' '/version/ {print $2}')
55 if [[ -z $INSTALLED_JAVA_VERSION ]]; then
56 echo "error: ${JAVA_HOME}/bin/java is invalid"
60 if [[ "${INSTALLED_JAVA_VERSION}" != ${TARGET_JAVA_VERSION}* ]]; then
61 echo "error: java version (${INSTALLED_JAVA_VERSION}) does not"\
62 "march desired version ${TARGET_JAVA_VERSION}"
66 echo "OK: java ${INSTALLED_JAVA_VERSION} installed"
70 function process_configuration() {
71 if [[ $DEBUG == y ]]; then
72 echo "-- ${FUNCNAME[0]} $@ --"
77 while read line || [ -n "${line}" ]; do
78 if [[ -n ${line} ]] && [[ ${line} != \#* ]]; then
79 name=$(echo "${line%%=*}")
80 value=$(echo "${line#*=}")
81 # escape ampersand so that sed does not replace it with the search string
83 if [[ -z ${name} ]] || [[ -z $value ]]; then
84 echo "WARNING: ${line} missing name or value"
86 export ${name}="${value}"
87 eval "${name}" "${value}" 2> /dev/null
93 function component_preconfigure() {
94 if [[ $DEBUG == y ]]; then
95 echo "-- ${FUNCNAME[0]} $@ --"
99 /bin/sed -i -e 's!${{POLICY_HOME}}!'"${POLICY_HOME}!g" \
100 -e 's!${{FQDN}}!'"${FQDN}!g" \
101 *.conf > /dev/null 2>&1
104 function tomcat_component() {
105 if [[ $DEBUG == y ]]; then
106 echo "-- ${FUNCNAME[0]} $@ --"
110 TOMCAT_TARGET_INSTALL_DIR=${POLICY_HOME}/servers/${COMPONENT_TYPE}
111 if [[ -d ${TOMCAT_TARGET_INSTALL_DIR} ]]; then
112 echo "error: ${TOMCAT_TARGET_INSTALL_DIR} exists."
116 TOMCAT_INSTALL_DIR=${POLICY_HOME}/install/3rdparty/${TOMCAT_PACKAGE_NAME}/
117 if [[ -d ${TOMCAT_INSTALL_DIR} ]]; then
118 echo "error: ${TOMCAT_INSTALL_DIR} exists."
122 tar -C "${POLICY_HOME}/servers" -xf "${POLICY_HOME}/install/3rdparty/${TOMCAT_PACKAGE_NAME}.tar.gz"
124 mv "${POLICY_HOME}/servers/${TOMCAT_PACKAGE_NAME}" "${POLICY_HOME}/servers/${COMPONENT_TYPE}/"
125 /bin/cp "${POLICY_HOME}"/install/servers/common/tomcat/bin/* "${POLICY_HOME}/servers/${COMPONENT_TYPE}/bin"
126 /bin/cp "${POLICY_HOME}"/install/servers/common/tomcat/conf/* "${POLICY_HOME}/servers/${COMPONENT_TYPE}/conf"
128 /bin/cp "${POLICY_HOME}/install/servers/common/tomcat/init.d/tomcatd" "${POLICY_HOME}/etc/init.d/${COMPONENT_TYPE}"
129 /bin/sed -i -e "s!\${{COMPONENT_TYPE}}!${COMPONENT_TYPE}!g" "${POLICY_HOME}/etc/init.d/${COMPONENT_TYPE}" >/dev/null 2>&1
132 /bin/cp -fr "${POLICY_HOME}"/install/servers/${COMPONENT_TYPE}/webapps/* "${POLICY_HOME}/servers/${COMPONENT_TYPE}/webapps"
133 /bin/cp -fr "${POLICY_HOME}"/install/servers/${COMPONENT_TYPE}/bin/* "${POLICY_HOME}/servers/${COMPONENT_TYPE}/bin" >/dev/null 2>&1
134 /bin/cp -fr "${POLICY_HOME}"/install/servers/${COMPONENT_TYPE}/conf/* "${POLICY_HOME}/servers/${COMPONENT_TYPE}/conf" >/dev/null 2>&1
136 /bin/rm -fr "${POLICY_HOME}/servers/${COMPONENT_TYPE}/webapps/docs" \
137 "${POLICY_HOME}/servers/${COMPONENT_TYPE}/webapps/examples" \
138 "${POLICY_HOME}/servers/${COMPONENT_TYPE}/webapps/ROOT" \
139 "${POLICY_HOME}/servers/${COMPONENT_TYPE}/webapps/manager" \
140 "${POLICY_HOME}/servers/${COMPONENT_TYPE}/webapps/host-manager"
142 if [[ ${COMPONENT_TYPE} == console ]]; then
143 install_onap_portal_settings
149 function configure_tomcat_component() {
150 configure_component "${COMPONENT_TYPE}.conf" "${POLICY_HOME}/servers/${COMPONENT_TYPE}/"
153 function configure_component() {
154 if [[ $DEBUG == y ]]; then
155 echo "-- ${FUNCNAME[0]} $@ --"
159 if ! process_configuration "${COMPONENT_TYPE}.conf"; then
160 echo "error: aborting ${COMPONENT_TYPE} installation: cannot process configuration ${COMPONENT_TYPE}.conf"
165 COMPONENT_ROOT_DIR=$2
168 SED_LINE+=" -e 's!\${{POLICY_HOME}}!${POLICY_HOME}!g' "
169 SED_LINE+=" -e 's!\${{POLICY_USER}}!${POLICY_USER}!g' "
170 SED_LINE+=" -e 's!\${{POLICY_GROUP}}!${POLICY_GROUP}!g' "
171 SED_LINE+=" -e 's!\${{KEYSTORE_PASSWD}}!${KEYSTORE_PASSWD}!g' "
172 SED_LINE+=" -e 's!\${{TRUSTSTORE_PASSWD}}!${TRUSTSTORE_PASSWD}!g' "
173 SED_LINE+=" -e 's!\${{JAVA_HOME}}!${JAVA_HOME}!g' "
174 SED_LINE+=" -e 's!\${{COMPONENT_TYPE}}!${COMPONENT_TYPE}!g' "
175 SED_LINE+=" -e 's!\${{POLICY_LOGS}}!${POLICY_LOGS}!g' "
177 while read line || [ -n "${line}" ]; do
178 if [[ -n $line ]] && [[ $line != \#* ]]; then
179 name=$(echo "${line%%=*}")
180 value=$(echo "${line#*=}")
181 # escape ampersand so that sed does not replace it with the search string
182 value=${value//&/\\&}
183 if [[ -z ${name} ]] || [[ -z ${value} ]]; then
184 echo "WARNING: ${line} missing name or value"
186 SED_LINE+=" -e 's!\${{${name}}}!${value}!g' "
192 for sed_file in $(find "${COMPONENT_ROOT_DIR}" -name '*.xml' -o -name '*.sh' -o -name '*.properties' -o -name '*.conf' -o -name '*.cfg' -o -name '*.template' -o -name '*.conf' -o -name '*.cron' -o -name '*.json' | grep -v /backup/); do
193 if fgrep -l '${{' ${sed_file} > /dev/null 2>&1; then
194 SED_FILES+="${sed_file} "
198 if [[ -f $HOME/.m2/settings.xml ]]; then
199 SED_FILES+="$HOME/.m2/settings.xml "
203 if [[ -z ${SED_FILES} ]]; then
204 echo "WARNING: no xml, sh, properties, or conf files to perform configuration expansion"
206 SED_LINE+=${SED_FILES}
210 list_unexpanded_files ${POLICY_HOME}
213 function install_onap_portal_settings() {
214 echo "Install onap portal settings"
216 # unpack onap war file
217 mkdir -p "${POLICY_HOME}"/servers/console/webapps/onap
218 cd "${POLICY_HOME}"/servers/console/webapps/onap
222 # copy over the configured settings
223 /bin/cp -fr "${POLICY_HOME}"/install/servers/onap/* "${POLICY_HOME}/servers/console/webapps/onap"
226 function check_r_file() {
227 if [[ $DEBUG == y ]]; then
228 echo "-- ${FUNCNAME[0]} $@ --"
233 if [[ ! -f ${FILE} || ! -r ${FILE} ]]; then
240 function check_x_file() {
241 if [[ $DEBUG == y ]]; then
242 echo "-- ${FUNCNAME[0]} $@ --"
247 if [[ ! -f ${FILE} || ! -x ${FILE} ]]; then
254 function install_prereqs() {
255 if [[ $DEBUG == y ]]; then
256 echo "-- ${FUNCNAME[0]} $@ --"
262 if ! check_r_file "${CONF_FILE}"; then
263 echo "error: aborting ${COMPONENT_TYPE} installation: ${CONF_FILE} is not accessible"
267 if ! process_configuration "${CONF_FILE}"; then
268 echo "error: aborting ${COMPONENT_TYPE} installation: cannot process configuration ${CONF_FILE}"
272 # if ! check_java "1.8"; then
273 # echo "error: aborting ${COMPONENT_TYPE} installation: invalid java version"
277 if [[ -z ${POLICY_HOME} ]]; then
278 echo "error: aborting ${COMPONENT_TYPE} installation: ${POLICY_HOME} is not set"
282 HOME_OWNER=$(ls -ld "${POLICY_HOME}" | awk '{print $3}')
283 if [[ ${HOME_OWNER} != ${POLICY_USER} ]]; then
284 echo "error: aborting ${COMPONENT_TYPE} installation: ${POLICY_USER} does not own ${POLICY_HOME} directory"
288 echo -n "Starting ${OPERATION} of ${COMPONENT_TYPE} under ${POLICY_USER}:${POLICY_GROUP} "
289 echo "ownership with umask $(umask)."
292 function list_unexpanded_files() {
294 SEARCH_LIST=$(find ${ROOT_DIR} -type f -name '*.properties' -o -name '*.sh' -o -name '*.conf' -o -name '*.yml' -o -name '*.template' -o -name '*.xml' -o -name '*.cfg' -o -name '*.json' -o -path "${ROOT_DIR}/etc/init.d/*" | egrep -v '/m2/|/install/|/logs/')
295 NOT_EXPANDED_BASE_FILES=$(grep -l '${{' ${SEARCH_LIST} 2> /dev/null)
296 if [[ -n ${NOT_EXPANDED_BASE_FILES} ]]; then
297 echo "error: component installation has completed but some base files have not been expanded:"
298 echo "${NOT_EXPANDED_BASE_FILES}"
304 function install_base() {
305 if [[ $DEBUG == y ]]; then
306 echo "-- ${FUNCNAME[0]} $@ --"
310 install_prereqs "${BASE_CONF}"
312 if [[ -z ${POLICY_HOME} ]]; then
313 echo "error: ${POLICY_HOME} is not set"
317 POLICY_HOME_CONTENTS=$(ls -A "${POLICY_HOME}" 2> /dev/null)
318 if [[ -n ${POLICY_HOME_CONTENTS} ]]; then
319 echo "error: aborting base installation: ${POLICY_HOME} directory is not empty"
323 if [[ ! -d ${POLICY_HOME} ]]; then
324 echo "error: aborting base installation: ${POLICY_HOME} is not a directory."
328 if ! /bin/mkdir -p "${POLICY_HOME}/servers/" > /dev/null 2>&1; then
329 echo "error: aborting base installation: cannot create ${POLICY_HOME}/servers/"
333 if ! /bin/mkdir -p "${POLICY_LOGS}" > /dev/null 2>&1; then
334 echo "error: aborting base installation: cannot create ${POLICY_LOGS}"
338 if ! /bin/mkdir -p "${POLICY_HOME}/logs/" > /dev/null 2>&1; then
339 echo "error: aborting base installation: cannot create ${POLICY_HOME}/logs/"
343 BASE_TGZ=$(ls base-*.tar.gz)
344 if [ ! -r ${BASE_TGZ} ]; then
345 echo "error: aborting base installation: ${POLICY_USER} cannot access tar file: ${BASE_TGZ}"
349 tar -tzf ${BASE_TGZ} > /dev/null 2>&1
350 if [[ $? != 0 ]]; then
351 echo >&2 "error: aborting base installation: invalid base package tar file: ${BASE_TGZ}"
355 BASH_PROFILE_LINE=". ${POLICY_HOME}/etc/profile.d/env.sh"
356 PROFILE_LINE="ps -p \$\$ | grep -q bash || . ${POLICY_HOME}/etc/profile.d/env.sh"
358 tar -C ${POLICY_HOME} -xf ${BASE_TGZ} --no-same-owner
359 if [[ $? != 0 ]]; then
360 # this should not happened
361 echo "error: aborting base installation: base package cannot be unpacked: ${BASE_TGZ}"
365 /bin/mkdir -p ${POLICY_HOME}/etc/init.d > /dev/null 2>&1
366 /bin/mkdir -p ${POLICY_HOME}/tmp > /dev/null 2>&1
367 /bin/mkdir -p ${POLICY_HOME}/var > /dev/null 2>&1
369 #list_unexpanded_files ${POLICY_HOME}
373 function configure_base() {
374 if [[ $DEBUG == y ]]; then
375 echo "-- ${FUNCNAME[0]} $@ --"
379 # check if fqdn is set in base.conf and use that value if set
380 if [[ -z ${INSTALL_FQDN} ]]
382 echo "FQDN not set in config...using the default FQDN ${FQDN}"
384 echo "Using FQDN ${INSTALL_FQDN} from config"
388 configure_component "${BASE_CONF}" "${POLICY_HOME}"
390 BASH_PROFILE_LINE=". ${POLICY_HOME}/etc/profile.d/env.sh"
391 PROFILE_LINE="ps -p \$\$ | grep -q bash || . ${POLICY_HOME}/etc/profile.d/env.sh"
393 if ! fgrep -x "${BASH_PROFILE_LINE}" "${HOME}/.bash_profile" >/dev/null 2>&1; then
394 echo "${BASH_PROFILE_LINE}" >> "${HOME}/.bash_profile"
397 if ! fgrep -x "${PROFILE_LINE}" "${HOME}/.profile" >/dev/null 2>&1; then
398 echo "${PROFILE_LINE}" >> "${HOME}/.profile"
402 function configure_keystore() {
403 if [[ $DEBUG == y ]]; then
404 echo "-- ${FUNCNAME[0]} --"
408 local DEFAULT_KEYSTORE_PASSWORD='Pol1cy_0nap'
410 if [[ -n ${TRUSTSTORE_PASSWD} ]]; then
411 keytool -storepasswd -storepass "${DEFAULT_KEYSTORE_PASSWORD}" -keystore "${POLICY_HOME}/etc/ssl/policy-truststore" -new "${TRUSTSTORE_PASSWD}"
412 keytool -list -keystore "${POLICY_HOME}/etc/ssl/policy-truststore" -storepass "${TRUSTSTORE_PASSWD}"
415 if [[ -n ${KEYSTORE_PASSWD} ]]; then
416 keytool -storepasswd -storepass "${DEFAULT_KEYSTORE_PASSWORD}" -keystore "${POLICY_HOME}/etc/ssl/policy-keystore" -new "${KEYSTORE_PASSWD}"
417 keytool -list -keystore "${POLICY_HOME}/etc/ssl/policy-keystore" -storepass "${KEYSTORE_PASSWD}"
422 function install_tomcat_component() {
423 if [[ $DEBUG == y ]]; then
424 echo "-- ${FUNCNAME[0]} $@ --"
428 install_prereqs "${BASE_CONF}"
430 if ! process_configuration "${COMPONENT_TYPE}.conf"; then
431 echo "error: aborting ${COMPONENT_TYPE} installation: cannot process configuration ${COMPONENT_TYPE}.conf"
435 if ! tomcat_component; then
436 echo "error: aborting ${COMPONENT_TYPE} installation: tomcat installation failed."
442 # This function installs mysql related shell scripts and sql files in the proper locations
443 # under $POLICY_HOME. It also adds the MySQL client bin to the PATH based on configuration.
445 function install_mysql() {
446 if [[ $DEBUG == y ]]; then
447 echo "-- ${FUNCNAME[0]} $@ --"
451 install_prereqs "${BASE_CONF}"
453 if ! process_configuration "${COMPONENT_TYPE}.conf"; then
454 echo "error: aborting ${COMPONENT_TYPE} installation: cannot process configuration ${COMPONENT_TYPE}.conf"
458 MYSQL_DATA_PATH=${POLICY_HOME}/data/mysql
459 /bin/mkdir -p ${MYSQL_DATA_PATH} > /dev/null 2>&1
461 /bin/cp -f "${POLICY_HOME}"/install/mysql/data/* "${MYSQL_DATA_PATH}"
462 /bin/chmod 555 "${MYSQL_DATA_PATH}"/*
464 MYSQL_BIN_SOURCE=${POLICY_HOME}/install/mysql/bin
465 /bin/mkdir -p ${POLICY_HOME}/bin > /dev/null 2>&1
466 for script in $(/bin/ls "${MYSQL_BIN_SOURCE}"); do
467 /bin/cp ${MYSQL_BIN_SOURCE}/${script} ${POLICY_HOME}/bin
468 /bin/chmod 555 "${POLICY_HOME}/bin/${script}"
472 function configure_mysql() {
473 if [[ $DEBUG == y ]]; then
474 echo "-- ${FUNCNAME[0]} $@ --"
481 # This function installs elk related shell scripts and sql files in the proper locations
482 # under $POLICY_HOME. It also adds the Elk to the PATH based on configuration.
484 function configure_elk() {
485 if [[ $DEBUG == y ]]; then
486 echo "-- ${FUNCNAME[0]} $@ --"
493 function install_elk() {
494 if [[ $DEBUG == y ]]; then
495 echo "-- ${FUNCNAME[0]} $@ --"
499 if [[ -f "${HOME}/.bash_profile" ]]; then
500 source "${HOME}/.bash_profile"
503 if [[ -f "${HOME}/.profile" ]]; then
504 source "${HOME}/.profile"
507 ELK_TARGET_INSTALL_DIR="${POLICY_HOME}"/elk
509 if [[ -d ${ELK_TARGET_INSTALL_DIR} ]]; then
510 echo "WARNING: ${ELK_TARGET_INSTALL_DIR} exists."
514 /bin/mkdir -p "${ELK_TARGET_INSTALL_DIR}" > /dev/null 2>&1
516 if [[ ! -d ${ELK_TARGET_INSTALL_DIR} ]]; then
517 echo "WARNING: ${ELK_TARGET_INSTALL_DIR} doesn't exist."
521 cd ${ELK_TARGET_INSTALL_DIR}
522 curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.0.tar.gz
524 tar xvzf elasticsearch-5.4.0.tar.gz -C .
525 /bin/rm -fr elasticsearch-5.4.0.tar.gz
526 /bin/mv ${ELK_TARGET_INSTALL_DIR}/elasticsearch-5.4.0/* .
527 /bin/rm -fr ${ELK_TARGET_INSTALL_DIR}/elasticsearch-5.4.0
529 /bin/cp "${POLICY_HOME}"/install/elk/bin/* "${POLICY_HOME}/bin"
530 /bin/cp -f "${POLICY_HOME}"/install/elk/config/* "${ELK_TARGET_INSTALL_DIR}/config"
531 /bin/cp -f "${POLICY_HOME}/install/elk/init.d/elkd" "${POLICY_HOME}/etc/init.d/elk"
533 install_prereqs "${COMPONENT_TYPE}.conf"
535 /bin/sed -i -e "s!\${{POLICY_HOME}}!${POLICY_HOME}!g" \
536 -e "s!\${{FQDN}}!${FQDN}!g" \
537 -e "s!\${{ELK_JMX_PORT}}!${ELK_JMX_PORT}!g" \
538 "${ELK_TARGET_INSTALL_DIR}"/config/* "${POLICY_HOME}/etc/init.d/elk" > /dev/null 2>&1
541 list_unexpanded_files ${POLICY_HOME}
546 # This function installs brmsgw related shell scripts and config files in the proper
547 # locations under $POLICY_HOME.
550 function install_brmsgw() {
551 if [[ $DEBUG == y ]]; then
552 echo "-- ${FUNCNAME[0]} $@ --"
556 install_prereqs "${BASE_CONF}"
558 if [[ -n ${BUILD_VERSION} ]]; then
559 echo "Replacing ${BUILD_VERSION} in ${COMPONENT_TYPE}.conf"
560 sed -i -e "s/^BRMS_DEPENDENCY_VERSION=.*$/BRMS_DEPENDENCY_VERSION=${BUILD_VERSION}/g" "${COMPONENT_TYPE}.conf"
563 if ! process_configuration "${COMPONENT_TYPE}.conf"; then
564 echo "error: aborting ${COMPONENT_TYPE} installation: cannot process configuration ${COMPONENT_TYPE}.conf"
568 if [ -z "$M2_HOME" ]; then
569 echo "error: aborting ${COMPONENT_TYPE} installation: M2_HOME must be set in brmsgw.conf"
573 echo "export M2_HOME=$M2_HOME" >>$POLICY_HOME/etc/profile.d/env.sh
575 /bin/cp -f "${POLICY_HOME}/install/servers/brmsgw/init.d/brmsgw" "${POLICY_HOME}/etc/init.d/brmsgw"
577 if ! /bin/mkdir -p "${POLICY_HOME}/servers/${COMPONENT_TYPE}" > /dev/null 2>&1; then
578 echo "error: aborting base installation: cannot create ${POLICY_HOME}/servers/${COMPONENT_TYPE}"
582 /bin/cp -fr "${POLICY_HOME}"/install/servers/${COMPONENT_TYPE}/BRMSGateway.jar "${POLICY_HOME}/servers/${COMPONENT_TYPE}"
583 /bin/cp -fr "${POLICY_HOME}"/install/servers/${COMPONENT_TYPE}/*.properties "${POLICY_HOME}/servers/${COMPONENT_TYPE}"
584 /bin/cp -fr "${POLICY_HOME}"/install/servers/${COMPONENT_TYPE}/config "${POLICY_HOME}/servers/${COMPONENT_TYPE}"
585 /bin/cp -fr "${POLICY_HOME}"/install/servers/${COMPONENT_TYPE}/dependency.json "${POLICY_HOME}/servers/${COMPONENT_TYPE}"
587 /bin/mv $POLICY_HOME/m2 $HOME/.m2
593 function install_logparser() {
594 if [[ $DEBUG == y ]]; then
595 echo "-- ${FUNCNAME[0]} $@ --"
599 install_prereqs "${BASE_CONF}"
601 if ! process_configuration "${COMPONENT_TYPE}.conf"; then
602 echo "error: aborting ${COMPONENT_TYPE} installation: cannot process configuration ${COMPONENT_TYPE}.conf"
606 LP_TARGET_DIR=${POLICY_HOME}/servers/${COMPONENT_TYPE}
607 /bin/mkdir -p ${LP_TARGET_DIR}/bin > /dev/null 2>&1
608 /bin/mkdir -p ${LP_TARGET_DIR}/logs > /dev/null 2>&1
610 # copy binaries, initialization script and configuration
611 /bin/cp "${POLICY_HOME}"/install/servers/common/logparser/bin/*jar "${LP_TARGET_DIR}/bin"
612 /bin/cp "${POLICY_HOME}/install/servers/common/logparser/init.d/logparserd" "${POLICY_HOME}/etc/init.d/${COMPONENT_TYPE}"
613 /bin/cp "${POLICY_HOME}/install/servers/${COMPONENT_TYPE}/bin/parserlog.properties" "${LP_TARGET_DIR}/bin"
614 /bin/cp -fr "${POLICY_HOME}"/install/servers/${COMPONENT_TYPE}/bin/config "${POLICY_HOME}/servers/${COMPONENT_TYPE}/bin"
618 #########################################################################
620 ## script execution body
622 #########################################################################
631 TOMCAT_PACKAGE_NAME=apache-tomcat-8.5.34
635 export POLICY_USER=$(/usr/bin/id -un)
637 # command line options parsing
638 until [[ -z "$1" ]]; do
643 -i|--install) OPERATION=install
647 -c|--configure) OPERATION=configure
658 # component-type validation
659 case $COMPONENT_TYPE in
670 *) echo "invalid component type (${COMPONENT_TYPE}): must be in {base|pdp|pap|console|mysql|elk|brmsgw|paplp|pdplp}";
676 # operation validation
678 install|configure) ;;
679 *) echo "invalid operation (${OPERATION}): must be in {install|configure}";
685 if [[ -n ${POLICY_GROUP} ]]; then
687 if ! echo ${groups} | grep -qP "\b${POLICY_GROUP}"; then
688 echo "error: ${POLICY_GROUP} is not a valid group for account ${POLICY_USER}"
693 if [[ -z ${POLICY_GROUP} ]]; then
694 numGroups=$(groups | sed "s/^.*: *//g" | wc -w)
695 if [ ${numGroups} -eq 1 ]; then
696 export POLICY_GROUP=$(groups ${POLICY_USER} | sed "s/^.*: *//g")
698 echo "error: ${POLICY_USER} belongs to multiple groups, one group \
699 must be provided for the installation"
705 if [[ -z ${POLICY_GROUP} ]]; then
706 echo "error: installation of root section must not provide the \
707 installation group owner argument."
712 if [[ -z ${POLICY_LOGS} ]]; then
713 echo "POLICY_LOGS environment variable NOT set, default to /var/log/onap"
714 export POLICY_LOGS="/var/log/onap"
717 FQDN=$(hostname -f 2> /dev/null)
718 if [[ $? != 0 || -z ${FQDN} ]]; then
719 echo "error: cannot determine the FQDN for this host $(hostname)."
723 if [[ ${OPERATION} == install ]]; then
724 case $COMPONENT_TYPE in
729 install_tomcat_component
732 install_tomcat_component
735 install_tomcat_component
750 echo "invalid component type (${COMPONENT_TYPE}): must be in {base|pdp|pap|console|mysql|elk|brmsgw|paplp|pdplp}";
756 if [[ ${OPERATION} == configure ]]; then
758 install_prereqs "${BASE_CONF}"
760 case $COMPONENT_TYPE in
763 component_preconfigure
767 configure_component "${COMPONENT_TYPE}.conf" "${POLICY_HOME}/servers/${COMPONENT_TYPE}/"
770 configure_component "${COMPONENT_TYPE}.conf" "${POLICY_HOME}/servers/${COMPONENT_TYPE}/"
773 configure_component "${COMPONENT_TYPE}.conf" "${POLICY_HOME}/servers/${COMPONENT_TYPE}/"
782 configure_component "${COMPONENT_TYPE}.conf" "${POLICY_HOME}/servers/${COMPONENT_TYPE}/"
785 configure_component "${COMPONENT_TYPE}.conf" "${POLICY_HOME}/servers/${COMPONENT_TYPE}/"
788 echo "invalid component type (${COMPONENT_TYPE}): must be in {base|pdp|pap|console|mysql|elk|brmsgw|paplp|pdplp}";
796 echo -n "Successful ${OPERATION} of ${COMPONENT_TYPE} under ${POLICY_USER}:${POLICY_GROUP} "
797 echo "ownership with umask $(umask)."