ironic/ironic/conf/snmp.py
Félix Bouliane 4acc0ed4ce Make SNMP UDP transport settings configurable
SNMP timeout and retries are now configurable through ironic.conf. This
allows to have custom configurations when certain PDUs are slower than
others.

The config defaults are the same defaults that cmdgen.UdpTransportTarget
uses (1.0 second timeout and 5 retries). The config is now reflecting
these defaults.

Closes-Bug: #1640932
Change-Id: I2490902ad2e39e8e4dc34484799a0dae96bc57f8
2017-08-18 14:42:21 +00:00

49 lines
1.8 KiB
Python

# Copyright 2016 Intel Corporation
# Copyright 2013,2014 Cray Inc
#
# All Rights Reserved.
#
# 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.IntOpt('power_timeout',
default=10,
help=_('Seconds to wait for power action to be completed')),
# NOTE(yuriyz): some of SNMP-enabled hardware have own options for pause
# between off and on. This option guarantees minimal value.
cfg.IntOpt('reboot_delay',
default=0,
min=0,
help=_('Time (in seconds) to sleep between when rebooting '
'(powering off and on again)')),
cfg.FloatOpt('udp_transport_timeout',
default=1.0,
min=0.0,
help=_('Response timeout in seconds used for UDP transport. '
'Timeout should be a multiple of 0.5 seconds and '
'is applicable to each retry.')),
cfg.IntOpt('udp_transport_retries',
default=5,
min=0,
help=_('Maximum number of UDP request retries, '
'0 means no retries.')),
]
def register_opts(conf):
conf.register_opts(opts, group='snmp')