Raise timeout for instance resizing checking job

Recently the trove-functional-mysql usually failed by timeout at
the test_instance_returns_to_active_after_resize case, and the cause is
creating and resizing instances could be quit slow(e.g. 1200+ seconds).
This may be caused by the pressure of the CI system and should be
further investigated. The patch is a quick fix for the problem by
raising the timeout to 30 minutes(it's now 900 seconds by default, but
instead it's 32 minutes for instance creating, so raising the value to
30 minutes should be reasonable).

Partial-Bug: #1778837

Change-Id: Ib903a72b098499553978ec881843a7bbee25b45f
Signed-off-by: Zhao Chao <zhaochao1984@gmail.com>
This commit is contained in:
Zhao Chao 2018-06-27 12:10:42 +08:00
parent dc8824966c
commit ceaaf161e3
2 changed files with 15 additions and 1 deletions

View File

@ -30,6 +30,7 @@
cat << 'EOF' >>"/tmp/dg-local.conf" cat << 'EOF' >>"/tmp/dg-local.conf"
[[local|localrc]] [[local|localrc]]
enable_plugin trove git://git.openstack.org/openstack/trove enable_plugin trove git://git.openstack.org/openstack/trove
TROVE_RESIZE_TIME_OUT=1800
EOF EOF
executable: /bin/bash executable: /bin/bash
@ -56,6 +57,7 @@
export DEST=$BASE/new export DEST=$BASE/new
export PATH_DEVSTACK_SRC=$DEST/devstack export PATH_DEVSTACK_SRC=$DEST/devstack
cd /opt/stack/new/trove/integration/scripts cd /opt/stack/new/trove/integration/scripts
export TROVE_RESIZE_TIME_OUT=1800
./trovestack dsvm-gate-tests mysql ./trovestack dsvm-gate-tests mysql
} }
export -f post_test_hook export -f post_test_hook

View File

@ -13,6 +13,7 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
import os
import time import time
from proboscis import after_class from proboscis import after_class
@ -26,6 +27,7 @@ from sqlalchemy.sql.expression import text
from troveclient.compat.exceptions import BadRequest from troveclient.compat.exceptions import BadRequest
from troveclient.compat.exceptions import HTTPNotImplemented from troveclient.compat.exceptions import HTTPNotImplemented
from trove.common import cfg
from trove.common.utils import poll_until from trove.common.utils import poll_until
from trove import tests from trove import tests
from trove.tests.api.instances import assert_unprocessable from trove.tests.api.instances import assert_unprocessable
@ -86,7 +88,17 @@ class MySqlConnection(object):
raise ex raise ex
TIME_OUT_TIME = 15 * 60 # Use default value from trove.common.cfg, and it could be overridden by
# a environment variable when the tests run.
def get_resize_timeout():
value_from_env = os.environ.get("TROVE_RESIZE_TIME_OUT", None)
if value_from_env:
return int(value_from_env)
return cfg.CONF.resize_time_out
TIME_OUT_TIME = get_resize_timeout()
USER_WAS_DELETED = False USER_WAS_DELETED = False