Merge "Centralize config options - [agent]"
This commit is contained in:
commit
c35ba34707
@ -15,6 +15,7 @@
|
||||
|
||||
from oslo_config import cfg
|
||||
|
||||
from ironic.conf import agent
|
||||
from ironic.conf import api
|
||||
from ironic.conf import cimc
|
||||
from ironic.conf import cisco_ucs
|
||||
@ -41,6 +42,7 @@ from ironic.conf import virtualbox
|
||||
|
||||
CONF = cfg.CONF
|
||||
|
||||
agent.register_opts(CONF)
|
||||
api.register_opts(CONF)
|
||||
cimc.register_opts(CONF)
|
||||
cisco_ucs.register_opts(CONF)
|
||||
|
67
ironic/conf/agent.py
Normal file
67
ironic/conf/agent.py
Normal file
@ -0,0 +1,67 @@
|
||||
# Copyright 2016 Intel Corporation
|
||||
# Copyright 2014 Rackspace, Inc.
|
||||
# Copyright 2015 Red Hat, Inc.
|
||||
#
|
||||
# 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.BoolOpt('manage_agent_boot',
|
||||
default=True,
|
||||
help=_('Whether Ironic will manage booting of the agent '
|
||||
'ramdisk. If set to False, you will need to configure '
|
||||
'your mechanism to allow booting the agent '
|
||||
'ramdisk.')),
|
||||
cfg.IntOpt('memory_consumed_by_agent',
|
||||
default=0,
|
||||
help=_('The memory size in MiB consumed by agent when it is '
|
||||
'booted on a bare metal node. This is used for '
|
||||
'checking if the image can be downloaded and deployed '
|
||||
'on the bare metal node after booting agent ramdisk. '
|
||||
'This may be set according to the memory consumed by '
|
||||
'the agent ramdisk image.')),
|
||||
cfg.BoolOpt('stream_raw_images',
|
||||
default=True,
|
||||
help=_('Whether the agent ramdisk should stream raw images '
|
||||
'directly onto the disk or not. By streaming raw '
|
||||
'images directly onto the disk the agent ramdisk will '
|
||||
'not spend time copying the image to a tmpfs partition '
|
||||
'(therefore consuming less memory) prior to writing it '
|
||||
'to the disk. Unless the disk where the image will be '
|
||||
'copied to is really slow, this option should be set '
|
||||
'to True. Defaults to True.')),
|
||||
cfg.IntOpt('heartbeat_timeout',
|
||||
default=300,
|
||||
help=_('Maximum interval (in seconds) for agent heartbeats.')),
|
||||
cfg.IntOpt('post_deploy_get_power_state_retries',
|
||||
default=6,
|
||||
help=_('Number of times to retry getting power state to check '
|
||||
'if bare metal node has been powered off after a soft '
|
||||
'power off.')),
|
||||
cfg.IntOpt('post_deploy_get_power_state_retry_interval',
|
||||
default=5,
|
||||
help=_('Amount of time (in seconds) to wait between polling '
|
||||
'power state after trigger soft poweroff.')),
|
||||
cfg.StrOpt('agent_api_version',
|
||||
default='v1',
|
||||
help=_('API version to use for communicating with the ramdisk '
|
||||
'agent.'))
|
||||
]
|
||||
|
||||
|
||||
def register_opts(conf):
|
||||
conf.register_opts(opts, group='agent')
|
@ -12,9 +12,6 @@
|
||||
|
||||
import itertools
|
||||
|
||||
import ironic.drivers.modules.agent
|
||||
import ironic.drivers.modules.agent_base_vendor
|
||||
import ironic.drivers.modules.agent_client
|
||||
import ironic.drivers.modules.amt.common
|
||||
import ironic.drivers.modules.amt.power
|
||||
import ironic.drivers.modules.iscsi_deploy
|
||||
@ -35,10 +32,7 @@ _default_opt_lists = [
|
||||
|
||||
_opts = [
|
||||
('DEFAULT', itertools.chain(*_default_opt_lists)),
|
||||
('agent', itertools.chain(
|
||||
ironic.drivers.modules.agent.agent_opts,
|
||||
ironic.drivers.modules.agent_base_vendor.agent_opts,
|
||||
ironic.drivers.modules.agent_client.agent_opts)),
|
||||
('agent', ironic.conf.agent.opts),
|
||||
('amt', itertools.chain(
|
||||
ironic.drivers.modules.amt.common.opts,
|
||||
ironic.drivers.modules.amt.power.opts)),
|
||||
|
@ -12,7 +12,6 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
from oslo_config import cfg
|
||||
from oslo_log import log
|
||||
from oslo_utils import excutils
|
||||
from oslo_utils import units
|
||||
@ -32,43 +31,12 @@ from ironic.common import states
|
||||
from ironic.common import utils
|
||||
from ironic.conductor import task_manager
|
||||
from ironic.conductor import utils as manager_utils
|
||||
from ironic.conf import CONF
|
||||
from ironic.drivers import base
|
||||
from ironic.drivers.modules import agent_base_vendor
|
||||
from ironic.drivers.modules import deploy_utils
|
||||
|
||||
|
||||
agent_opts = [
|
||||
cfg.BoolOpt('manage_agent_boot',
|
||||
default=True,
|
||||
help=_('Whether Ironic will manage booting of the agent '
|
||||
'ramdisk. If set to False, you will need to configure '
|
||||
'your mechanism to allow booting the agent '
|
||||
'ramdisk.')),
|
||||
cfg.IntOpt('memory_consumed_by_agent',
|
||||
default=0,
|
||||
help=_('The memory size in MiB consumed by agent when it is '
|
||||
'booted on a bare metal node. This is used for '
|
||||
'checking if the image can be downloaded and deployed '
|
||||
'on the bare metal node after booting agent ramdisk. '
|
||||
'This may be set according to the memory consumed by '
|
||||
'the agent ramdisk image.')),
|
||||
cfg.BoolOpt('stream_raw_images',
|
||||
default=True,
|
||||
help=_('Whether the agent ramdisk should stream raw images '
|
||||
'directly onto the disk or not. By streaming raw '
|
||||
'images directly onto the disk the agent ramdisk will '
|
||||
'not spend time copying the image to a tmpfs partition '
|
||||
'(therefore consuming less memory) prior to writing it '
|
||||
'to the disk. Unless the disk where the image will be '
|
||||
'copied to is really slow, this option should be set '
|
||||
'to True. Defaults to True.')),
|
||||
]
|
||||
|
||||
CONF = cfg.CONF
|
||||
CONF.import_opt('erase_devices_priority',
|
||||
'ironic.drivers.modules.deploy_utils', group='deploy')
|
||||
CONF.register_opts(agent_opts, group='agent')
|
||||
|
||||
LOG = log.getLogger(__name__)
|
||||
|
||||
|
||||
|
@ -20,7 +20,6 @@ import ast
|
||||
import collections
|
||||
import time
|
||||
|
||||
from oslo_config import cfg
|
||||
from oslo_log import log
|
||||
from oslo_utils import excutils
|
||||
from oslo_utils import strutils
|
||||
@ -38,29 +37,12 @@ from ironic.common import utils
|
||||
from ironic.conductor import rpcapi
|
||||
from ironic.conductor import task_manager
|
||||
from ironic.conductor import utils as manager_utils
|
||||
from ironic.conf import CONF
|
||||
from ironic.drivers import base
|
||||
from ironic.drivers.modules import agent_client
|
||||
from ironic.drivers.modules import deploy_utils
|
||||
from ironic import objects
|
||||
|
||||
agent_opts = [
|
||||
cfg.IntOpt('heartbeat_timeout',
|
||||
default=300,
|
||||
help=_('Maximum interval (in seconds) for agent heartbeats.')),
|
||||
cfg.IntOpt('post_deploy_get_power_state_retries',
|
||||
default=6,
|
||||
help=_('Number of times to retry getting power state to check '
|
||||
'if bare metal node has been powered off after a soft '
|
||||
'power off.')),
|
||||
cfg.IntOpt('post_deploy_get_power_state_retry_interval',
|
||||
default=5,
|
||||
help=_('Amount of time (in seconds) to wait between polling '
|
||||
'power state after trigger soft poweroff.')),
|
||||
]
|
||||
|
||||
CONF = cfg.CONF
|
||||
CONF.register_opts(agent_opts, group='agent')
|
||||
|
||||
LOG = log.getLogger(__name__)
|
||||
|
||||
# This contains a nested dictionary containing the post clean step
|
||||
|
@ -12,7 +12,6 @@
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
from oslo_config import cfg
|
||||
from oslo_log import log
|
||||
from oslo_serialization import jsonutils
|
||||
import requests
|
||||
@ -21,16 +20,7 @@ from ironic.common import exception
|
||||
from ironic.common.i18n import _
|
||||
from ironic.common.i18n import _LE
|
||||
from ironic.common.i18n import _LW
|
||||
|
||||
agent_opts = [
|
||||
cfg.StrOpt('agent_api_version',
|
||||
default='v1',
|
||||
help=_('API version to use for communicating with the ramdisk '
|
||||
'agent.'))
|
||||
]
|
||||
|
||||
CONF = cfg.CONF
|
||||
CONF.register_opts(agent_opts, group='agent')
|
||||
from ironic.conf import CONF
|
||||
|
||||
LOG = log.getLogger(__name__)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user