
... To not try instantly, but also not to wait forever to retry. Also, the maximum delay is also now the proper setting to cause the attempt to exit, and is only set to 10 seconds, with a fairly tight interval for retries to occur within. This change also doesn't abort retries for releasing a node lock and updating a node, both actions if they halt due to the close out of a task, can be catastrophic to the underlying operation and state, because internal actions around locking can't be retried with a long interval, otherwise things break in very bad ways. Change-Id: I2041e90bb0f7f522bde4338eceda97f0ae8b2c35
40 lines
1.5 KiB
Python
40 lines
1.5 KiB
Python
# Copyright 2016 Intel Corporation
|
|
# Copyright 2013 Hewlett-Packard Development Company, L.P.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
from oslo_config import cfg
|
|
|
|
from ironic.common.i18n import _
|
|
|
|
opts = [
|
|
cfg.StrOpt('mysql_engine',
|
|
default='InnoDB',
|
|
help=_('MySQL engine to use.')),
|
|
cfg.BoolOpt('sqlite_retries',
|
|
default=True,
|
|
help=_('If SQLite database operation retry logic is enabled '
|
|
'or not. Enabled by default.')),
|
|
cfg.IntOpt('sqlite_max_wait_for_retry',
|
|
default=10,
|
|
help=_('Maximum number of seconds to retry SQLite database '
|
|
'locks, after which the original exception will be '
|
|
'returned to the caller. This does not presently apply '
|
|
'to internal node lock release actions and DB actions '
|
|
'centered around the completion of tasks.')),
|
|
]
|
|
|
|
|
|
def register_opts(conf):
|
|
conf.register_opts(opts, group='database')
|