#!/bin/bash # # lib/stx-update # Functions to control the configuration and operation of stx-update # Dependencies: # # - ``functions`` file # - ``DEST``, ``DATA_DIR``, ``STACK_USER`` must be defined # - ``SERVICE_{TENANT_NAME|PASSWORD}`` must be defined # - ``SERVICE_HOST`` # - ``KEYSTONE_TOKEN_FORMAT`` must be defined # ``stack.sh`` calls the entry points in this order: # # - install_tsconfig # - install_XX # - configure_XX # - init_XX # - start_XX # - stop_XX # - cleanup_XX _XTRACE_STX_UPDATE=$(set +o | grep xtrace) set -o xtrace # Defaults # -------- STXUPDATE_REPO=${STXUPDATE_REPO:-${GIT_BASE}/openstack/stx-update.git} STXUPDATE_DIR=$DEST/stx-update STXUPDATE_BRANCH=${STXUPDATE_BRANCH:-master} TSCONFIG_DIR=$STXUPDATE_DIR/tsconfig/ STX_PATCH_DIR=$STXUPDATE_DIR/cgcs-patch/ STX_BIN_DIR=$(get_python_exec_prefix) PYTHON_SITE_DIR=$(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())") function install_tsconfig { # no setup.cfg in tsconfig, so we can not use pip install -e # setup_dev_lib "tsconfig" pushd $TSCONFIG_DIR/tsconfig sudo python setup.py install --root=/ --install-lib=$PYTHON_SITE_DIR --prefix=/usr --install-data=/usr/share --single-version-externally-managed popd sudo install -d -m 755 $STX_BIN_DIR sudo install -p -D -m 700 $TSCONFIG_DIR/scripts/tsconfig $STX_BIN_DIR/tsconfig } function install_patch { pushd $STX_PATCH_DIR/cgcs-patch sudo python setup.py install --root=/ --install-lib=$PYTHON_SITE_DIR --prefix=/usr --install-data=/usr/share --single-version-externally-managed popd local stx_patch_sbindir=/etc/sbin/ local stx_patch_sysconfdir=/etc/ sudo install -m 755 -d ${stx_patch_sbindir} sudo install -m 755 -d ${stx_patch_sysconfdir}/bash_completion.d sudo install -m 755 -d ${stx_patch_sysconfdir}/goenabled.d sudo install -m 755 -d ${stx_patch_sysconfdir}/init.d sudo install -m 755 -d ${stx_patch_sysconfdir}/logrotate.d sudo install -m 755 -d ${stx_patch_sysconfdir}/patching sudo install -m 755 -d ${stx_patch_sysconfdir}/patching/patch-scripts sudo install -m 755 -d ${stx_patch_sysconfdir}/pmon.d sudo install -m 500 $STX_PATCH_DIR/bin/sw-patch-agent ${stx_patch_sbindir}/sw-patch-agent } $_XTRACE_STX_UPDATE