d71cb7b50c
Change-Id: Ic34268df71625b39e588179e6586ca02466b5c6e
104 lines
2.9 KiB
Python
104 lines
2.9 KiB
Python
# Copyright 2015 Intel Corporation
|
|
# 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
|
|
|
|
opt_group = cfg.OptGroup(
|
|
'ironic',
|
|
title='Ironic Options',
|
|
help="""
|
|
Configuration options for Ironic driver (Bare Metal).
|
|
If using the Ironic driver following options must be set:
|
|
* admin_url
|
|
* admin_tenant_name
|
|
* admin_username
|
|
* admin_password
|
|
* api_endpoint
|
|
""")
|
|
|
|
opts = [
|
|
cfg.StrOpt(
|
|
# TODO(raj_singh): Get this value from keystone service catalog
|
|
'api_endpoint',
|
|
sample_default='http://ironic.example.org:6385/',
|
|
help='URL for the Ironic API endpoint'),
|
|
cfg.StrOpt(
|
|
'admin_username',
|
|
help='Ironic keystone admin username'),
|
|
cfg.StrOpt(
|
|
'admin_password',
|
|
secret=True,
|
|
help='Ironic keystone admin password'),
|
|
cfg.StrOpt(
|
|
'admin_auth_token',
|
|
secret=True,
|
|
deprecated_for_removal=True,
|
|
help="""
|
|
Ironic keystone auth token. This option is deprecated and
|
|
admin_username, admin_password and admin_tenant_name options
|
|
are used for authorization.
|
|
"""),
|
|
cfg.StrOpt(
|
|
# TODO(raj_singh): Change this option admin_url->auth_url to make it
|
|
# consistent with other clients (Neutron, Cinder). It requires lot
|
|
# of work in Ironic client to make this happen.
|
|
'admin_url',
|
|
help='Keystone public API endpoint'),
|
|
cfg.StrOpt(
|
|
'cafile',
|
|
default=None,
|
|
help="""
|
|
Path to the PEM encoded Certificate Authority file to be used when verifying
|
|
HTTPs connections with the Ironic driver. By default this option is not used.
|
|
|
|
Possible values:
|
|
|
|
* None - Default
|
|
* Path to the CA file
|
|
"""),
|
|
cfg.StrOpt(
|
|
'admin_tenant_name',
|
|
help='Ironic keystone tenant name'),
|
|
cfg.IntOpt(
|
|
'api_max_retries',
|
|
# TODO(raj_singh): Change this default to some sensible number
|
|
default=60,
|
|
min=0,
|
|
help="""
|
|
The number of times to retry when a request conflicts.
|
|
If set to 0, only try once, no retries.
|
|
|
|
Related options:
|
|
|
|
* api_retry_interval
|
|
"""),
|
|
cfg.IntOpt(
|
|
'api_retry_interval',
|
|
default=2,
|
|
min=0,
|
|
help="""
|
|
The number of seconds to wait before retrying the request.
|
|
|
|
Related options:
|
|
|
|
* api_max_retries
|
|
"""),
|
|
]
|
|
|
|
|
|
def register_opts(conf):
|
|
conf.register_group(opt_group)
|
|
conf.register_opts(opts, group=opt_group)
|