Add SERVICE_REPORT_INTERVAL knob
Heavily-loaded workers in CI consistently fail to complete the service checkin task, which is configured for every ten seconds in nova and cinder. This generates additional load on the database server as well as consumes a threadpool worker. If we're not making the deadline, there's really no point in having it be so high. Further, since the workers must remain up for all the tempest tests we're running against them, there's really no benefit to a fast-fail detection. This sets the report_interval to 120s for nova and cinder, and sets service_down_time to 6x that value, which is consistent with the default scale. Depends-On: https://review.opendev.org/c/openstack/tempest/+/890448 Change-Id: Idd7aa1daf354256b143a3778f161cfc72b318ea5
This commit is contained in:
parent
7a2021dfa0
commit
3832ff52b4
@ -76,6 +76,11 @@ CINDER_SERVICE_PORT_INT=${CINDER_SERVICE_PORT_INT:-18776}
|
||||
CINDER_SERVICE_PROTOCOL=${CINDER_SERVICE_PROTOCOL:-$SERVICE_PROTOCOL}
|
||||
CINDER_SERVICE_LISTEN_ADDRESS=${CINDER_SERVICE_LISTEN_ADDRESS:-$(ipv6_unquote $SERVICE_LISTEN_ADDRESS)}
|
||||
|
||||
# We do not need to report service status every 10s for devstack-like
|
||||
# deployments. In the gate this generates extra work for the services and the
|
||||
# database which are already taxed.
|
||||
CINDER_SERVICE_REPORT_INTERVAL=120
|
||||
|
||||
# What type of LVM device should Cinder use for LVM backend
|
||||
# Defaults to auto, which will do thin provisioning if it's a fresh
|
||||
# volume group, otherwise it will do thick. The other valid choices are
|
||||
@ -325,6 +330,9 @@ function configure_cinder {
|
||||
# details and example failures.
|
||||
iniset $CINDER_CONF DEFAULT rpc_response_timeout 120
|
||||
|
||||
iniset $CINDER_CONF DEFAULT report_interval $CINDER_SERVICE_REPORT_INTERVAL
|
||||
iniset $CINDER_CONF DEFAULT service_down_time $(($CINDER_SERVICE_REPORT_INTERVAL * 6))
|
||||
|
||||
if is_service_enabled c-vol && [[ -n "$CINDER_ENABLED_BACKENDS" ]]; then
|
||||
local enabled_backends=""
|
||||
local default_name=""
|
||||
|
8
lib/nova
8
lib/nova
@ -75,6 +75,11 @@ NOVA_API_PASTE_INI=${NOVA_API_PASTE_INI:-$NOVA_CONF_DIR/api-paste.ini}
|
||||
# mean "use uwsgi" because we'll be always using uwsgi.
|
||||
NOVA_USE_MOD_WSGI=${NOVA_USE_MOD_WSGI:-True}
|
||||
|
||||
# We do not need to report service status every 10s for devstack-like
|
||||
# deployments. In the gate this generates extra work for the services and the
|
||||
# database which are already taxed.
|
||||
NOVA_SERVICE_REPORT_INTERVAL=120
|
||||
|
||||
if is_service_enabled tls-proxy; then
|
||||
NOVA_SERVICE_PROTOCOL="https"
|
||||
fi
|
||||
@ -448,6 +453,9 @@ function create_nova_conf {
|
||||
|
||||
iniset $NOVA_CONF key_manager backend nova.keymgr.conf_key_mgr.ConfKeyManager
|
||||
|
||||
iniset $NOVA_CONF DEFAULT report_interval $NOVA_SERVICE_REPORT_INTERVAL
|
||||
iniset $NOVA_CONF DEFAULT service_down_time $(($NOVA_SERVICE_REPORT_INTERVAL * 6))
|
||||
|
||||
if is_fedora; then
|
||||
# nova defaults to /usr/local/bin, but fedora pip like to
|
||||
# install things in /usr/bin
|
||||
|
Loading…
Reference in New Issue
Block a user