78 lines
3.2 KiB
Python
78 lines
3.2 KiB
Python
# 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_inspector.common.i18n import _
|
|
from ironic_inspector.common import keystone
|
|
|
|
|
|
IRONIC_GROUP = 'ironic'
|
|
SERVICE_TYPE = 'baremetal'
|
|
|
|
|
|
_OPTS = [
|
|
cfg.StrOpt('os_region',
|
|
help=_('Keystone region used to get Ironic endpoints.'),
|
|
deprecated_for_removal=True,
|
|
deprecated_reason=_("Use [ironic]/region_name option instead "
|
|
"to configure region.")),
|
|
cfg.StrOpt('auth_strategy',
|
|
default='keystone',
|
|
choices=('keystone', 'noauth'),
|
|
help=_('Method to use for authentication: noauth or '
|
|
'keystone.'),
|
|
deprecated_for_removal=True,
|
|
deprecated_reason=_("Use [ironic]/auth_type, for noauth case "
|
|
"set [ironic]/auth_type to `none` and "
|
|
"specify ironic API URL via "
|
|
"[ironic]/endpoint_override option.")),
|
|
cfg.StrOpt('ironic_url',
|
|
default='http://localhost:6385/',
|
|
help=_('Ironic API URL, used to set Ironic API URL when '
|
|
'auth_strategy option is noauth or auth_type is "none" '
|
|
'to work with standalone Ironic without keystone.'),
|
|
deprecated_for_removal=True,
|
|
deprecated_reason=_('Use [ironic]/endpoint_override option '
|
|
'to set a specific ironic API url.')),
|
|
cfg.StrOpt('os_service_type',
|
|
default='baremetal',
|
|
help=_('Ironic service type.'),
|
|
deprecated_for_removal=True,
|
|
deprecated_reason=_('Use [ironic]/service_type option '
|
|
'to set a specific type.')),
|
|
cfg.StrOpt('os_endpoint_type',
|
|
default='internalURL',
|
|
help=_('Ironic endpoint type.'),
|
|
deprecated_for_removal=True,
|
|
deprecated_reason=_('Use [ironic]/valid_interfaces option '
|
|
'to specify endpoint interfaces.')),
|
|
cfg.IntOpt('retry_interval',
|
|
default=2,
|
|
help=_('Interval between retries in case of conflict error '
|
|
'(HTTP 409).')),
|
|
cfg.IntOpt('max_retries',
|
|
default=30,
|
|
help=_('Maximum number of retries in case of conflict error '
|
|
'(HTTP 409).')),
|
|
]
|
|
|
|
|
|
def register_opts(conf):
|
|
conf.register_opts(_OPTS, IRONIC_GROUP)
|
|
keystone.register_auth_opts(IRONIC_GROUP, SERVICE_TYPE)
|
|
|
|
|
|
def list_opts():
|
|
return keystone.add_auth_options(_OPTS, SERVICE_TYPE)
|