Add fm-rest-api and fm-client to DevStack
At the moment it just installs and partially configures it. Depends-On: https://review.openstack.org/610756 Change-Id: If74b81841f583ad6d3850cd12ee337c1b4a1a177 Signed-off-by: Dean Troyer <dtroyer@gmail.com>
This commit is contained in:
parent
105a2ea2c5
commit
95edd7af14
12
devstack/files/api-paste.ini
Normal file
12
devstack/files/api-paste.ini
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
[app:api_v1]
|
||||||
|
paste.app_factory=fm.api.app:app_factory
|
||||||
|
|
||||||
|
[filter:authtoken]
|
||||||
|
acl_public_routes=/, /v1
|
||||||
|
paste.filter_factory=fm.api.middleware.auth_token:AuthTokenMiddleware.factory
|
||||||
|
|
||||||
|
[filter:request_id]
|
||||||
|
paste.filter_factory=oslo_middleware:RequestId.factory
|
||||||
|
|
||||||
|
[pipeline:fm-api]
|
||||||
|
pipeline=request_id authtoken api_v1
|
@ -27,6 +27,23 @@ set -o xtrace
|
|||||||
# Defaults
|
# Defaults
|
||||||
# --------
|
# --------
|
||||||
|
|
||||||
|
FAULT_DIR=${GITDIR[$STX_FAULT_NAME]}
|
||||||
|
FAULT_CONF_DIR=/etc/fm
|
||||||
|
FM_RESTAPI_CONF=$FAULT_CONF_DIR/fm.conf
|
||||||
|
FM_RESTAPI_PASTE_INI=$FAULT_CONF_DIR/api-paste.ini
|
||||||
|
FM_RESTAPI_AUTH_CACHE_DIR=${FM_RESTAPI_AUTH_CACHE_DIR:-/var/cache/fault}
|
||||||
|
|
||||||
|
FM_RESTAPI_DIR=${GITDIR[$STX_FAULT_NAME]}/fm-rest-api/fm
|
||||||
|
|
||||||
|
|
||||||
|
if is_service_enabled tls-proxy; then
|
||||||
|
FM_RESTAPI_SERVICE_PROTOCOL="https"
|
||||||
|
fi
|
||||||
|
FM_RESTAPI_SERVICE_PROTOCOL=${FM_RESTAPI_SERVICE_PROTOCOL:-$SERVICE_PROTOCOL}
|
||||||
|
FM_RESTAPI_SERVICE_HOST=${FM_RESTAPI_SERVICE_HOST:-$SERVICE_HOST}
|
||||||
|
FM_RESTAPI_SERVICE_PORT=${FM_RESTAPI_SERVICE_PORT:-18002}
|
||||||
|
FM_RESTAPI_WORKERS=${FM_RESTAPI_WORKERS:-4}
|
||||||
|
|
||||||
PYTHON_BIN_DIR=$(get_python_exec_prefix)
|
PYTHON_BIN_DIR=$(get_python_exec_prefix)
|
||||||
PYTHON_SITE_DIR=$(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")
|
PYTHON_SITE_DIR=$(python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")
|
||||||
|
|
||||||
@ -42,6 +59,9 @@ function cleanup_fault {
|
|||||||
if is_service_enabled fm-common; then
|
if is_service_enabled fm-common; then
|
||||||
cleanup_fm_common
|
cleanup_fm_common
|
||||||
fi
|
fi
|
||||||
|
if is_service_enabled fm-restapi; then
|
||||||
|
cleanup_fm_restapi
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function cleanup_fm_common {
|
function cleanup_fm_common {
|
||||||
@ -94,16 +114,66 @@ function cleanup_fm_mgr {
|
|||||||
popd
|
popd
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function cleanup_fm_rest_api {
|
||||||
|
sudo rm -rf $FM_RESTAPI_AUTH_CACHE_DIR $FM_RESTAPI_CONF
|
||||||
|
}
|
||||||
|
|
||||||
function configure_fault {
|
function configure_fault {
|
||||||
:
|
if is_service_enabled fm-rest-api; then
|
||||||
|
configure_fm_rest_api
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function configure_fm_rest_api {
|
||||||
|
sudo install -d -o $STACK_USER -m 755 $FAULT_CONF_DIR
|
||||||
|
|
||||||
|
cp -p $FAULT_DIR/devstack/files/api-paste.ini $FM_RESTAPI_PASTE_INI
|
||||||
|
|
||||||
|
configure_auth_token_middleware $FM_RESTAPI_CONF fm $FM_RESTAPI_AUTH_CACHE_DIR
|
||||||
|
|
||||||
|
iniset $FM_RESTAPI_CONF database connection $(database_connection_url fm)
|
||||||
|
iniset $FM_RESTAPI_CONF api api_paste_config $FM_RESTAPI_PASTE_INI
|
||||||
|
iniset $FM_RESTAPI_CONF api api_workers $FM_RESTAPI_WORKERS
|
||||||
|
iniset $FM_RESTAPI_CONF api bind_host $FM_RESTAPI_SERVICE_HOST
|
||||||
|
iniset $FM_RESTAPI_CONF api bind_port $FM_RESTAPI_SERVICE_PORT
|
||||||
|
|
||||||
|
iniset $FM_RESTAPI_CONF oslo_middleware enable_proxy_headers_parsing True
|
||||||
|
|
||||||
|
if [ "$SYSLOG" != "False" ]; then
|
||||||
|
iniset $FM_RESTAPI_CONF DEFAULT use_syslog True
|
||||||
|
# stx specific?
|
||||||
|
iniset $FM_RESTAPI_CONF DEFAULT syslog_log_facility local2
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Additional things set in stx config
|
||||||
|
iniset $FM_RESTAPI_CONF DEFAULT region_name RegionOne
|
||||||
|
iniset $FM_RESTAPI_CONF DEFAULT event_log_max_size 4000
|
||||||
|
iniset $FM_RESTAPI_CONF DEFAULT system_name $(hostname)
|
||||||
|
iniset $FM_RESTAPI_CONF database idle_timeout 60
|
||||||
|
iniset $FM_RESTAPI_CONF database max_pool_size 1
|
||||||
|
iniset $FM_RESTAPI_CONF database max_overflow 20
|
||||||
|
iniset $FM_RESTAPI_CONF keystone_authtoken region_name RegionOne
|
||||||
|
|
||||||
|
# sysinv settings to move there...
|
||||||
|
iniset $FM_RESTAPI_CONF sysinv catalog_info platform:sysinv:internalURL
|
||||||
|
iniset $FM_RESTAPI_CONF sysinv os_region_name RegionOne
|
||||||
}
|
}
|
||||||
|
|
||||||
function create_fault_accounts {
|
function create_fault_accounts {
|
||||||
:
|
if [[ "$ENABLED_SERVICES" =~ "fm-rest-api" ]]; then
|
||||||
|
create_service_user "fm"
|
||||||
|
get_or_create_service "fm" "faultmanagement" "Fault Management Service"
|
||||||
|
get_or_create_endpoint \
|
||||||
|
"faultmanagement" \
|
||||||
|
"$REGION_NAME" \
|
||||||
|
"$FM_RESTAPI_SERVICE_PROTOCOL://$FM_RESTAPI_SERVICE_HOST:$FM_RESTAPI_SERVICE_PORT/v1"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function create_fault_cache_dir {
|
function create_fault_cache_dir {
|
||||||
:
|
# Create cache dir
|
||||||
|
sudo install -d -o $STACK_USER $FM_RESTAPI_AUTH_CACHE_DIR
|
||||||
|
rm -f $FM_RESTAPI_AUTH_CACHE_DIR/*
|
||||||
}
|
}
|
||||||
|
|
||||||
function create_fault_user_group {
|
function create_fault_user_group {
|
||||||
@ -111,22 +181,26 @@ function create_fault_user_group {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function init_fault {
|
function init_fault {
|
||||||
:
|
create_fault_cache_dir
|
||||||
}
|
}
|
||||||
|
|
||||||
function install_fault {
|
function install_fault {
|
||||||
if is_service_enabled fm-common; then
|
if is_service_enabled fm-common; then
|
||||||
install_fm_common
|
install_fm_common
|
||||||
|
install_fm_client
|
||||||
fi
|
fi
|
||||||
if is_service_enabled fm-api; then
|
if is_service_enabled fm-api; then
|
||||||
install_fm_api
|
install_fm_api
|
||||||
fi
|
fi
|
||||||
if is_service_enabled fm-rest-api; then
|
if is_service_enabled fm-api; then
|
||||||
install_fm_api
|
install_fm_api
|
||||||
fi
|
fi
|
||||||
if is_service_enabled fm-mgr; then
|
if is_service_enabled fm-mgr; then
|
||||||
install_fm_mgr
|
install_fm_mgr
|
||||||
fi
|
fi
|
||||||
|
if is_service_enabled fm-rest-api; then
|
||||||
|
install_fm_rest_api
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function install_fm_api {
|
function install_fm_api {
|
||||||
@ -140,6 +214,17 @@ function install_fm_api {
|
|||||||
popd
|
popd
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function install_fm_client {
|
||||||
|
pushd ${GITDIR[$STX_FAULT_NAME]}/python-fmclient/fmclient
|
||||||
|
sudo python setup.py install \
|
||||||
|
--root=/ \
|
||||||
|
--install-lib=$PYTHON_SITE_DIR \
|
||||||
|
--prefix=/usr \
|
||||||
|
--install-data=/usr/share \
|
||||||
|
--single-version-externally-managed
|
||||||
|
popd
|
||||||
|
}
|
||||||
|
|
||||||
function install_fm_common {
|
function install_fm_common {
|
||||||
local x version
|
local x version
|
||||||
|
|
||||||
@ -213,19 +298,19 @@ function install_fm_mgr {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function install_fm_rest_api {
|
function install_fm_rest_api {
|
||||||
:
|
setup_develop $FM_RESTAPI_DIR
|
||||||
}
|
}
|
||||||
|
|
||||||
function start_fault {
|
function start_fault {
|
||||||
:
|
if is_service_enabled fm-api; then
|
||||||
|
run_process fm-api "$PYTHON_BIN_DIR/fm-api --config-file $FM_RESTAPI_CONF"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function stop_fault {
|
function stop_fault {
|
||||||
:
|
if is_service_enabled fm-api; then
|
||||||
}
|
stop_process fm_api
|
||||||
|
fi
|
||||||
function stop_fault_api {
|
|
||||||
:
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$_XTRACE_STX_FAULT
|
$_XTRACE_STX_FAULT
|
||||||
|
8
tox.ini
8
tox.ini
@ -22,7 +22,8 @@ commands =
|
|||||||
-not -name \*.md \
|
-not -name \*.md \
|
||||||
\( \
|
\( \
|
||||||
-name \*.sh \
|
-name \*.sh \
|
||||||
-or -wholename \*/devstack/\* \
|
-or -not -wholename \*/devstack/files/\* \
|
||||||
|
-wholename \*/devstack/\* \
|
||||||
\) \
|
\) \
|
||||||
-print0 | xargs -0 bashate -v -iE006"
|
-print0 | xargs -0 bashate -v -iE006"
|
||||||
bash -c "find {toxinidir} \
|
bash -c "find {toxinidir} \
|
||||||
@ -84,3 +85,8 @@ commands =
|
|||||||
rm -rf api-ref/build
|
rm -rf api-ref/build
|
||||||
sphinx-build -W -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html
|
sphinx-build -W -b html -d api-ref/build/doctrees api-ref/source api-ref/build/html
|
||||||
whitelist_externals = rm
|
whitelist_externals = rm
|
||||||
|
|
||||||
|
[testenv:functional]
|
||||||
|
basepython = python3
|
||||||
|
whitelist_externals = cat
|
||||||
|
commands = cat /etc/fm/fm.conf
|
||||||
|
Loading…
x
Reference in New Issue
Block a user