159 lines
8.1 KiB
Python
159 lines
8.1 KiB
Python
# Copyright 2016 Intel Corporation
|
|
# Copyright 2014 OpenStack Foundation
|
|
# 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 _
|
|
from ironic.conf import auth
|
|
|
|
opts = [
|
|
cfg.IntOpt('port_setup_delay',
|
|
default=0,
|
|
min=0,
|
|
mutable=True,
|
|
help=_('Delay value to wait for Neutron agents to setup '
|
|
'sufficient DHCP configuration for port.')),
|
|
cfg.IntOpt('retries',
|
|
default=3,
|
|
mutable=True,
|
|
deprecated_for_removal=True,
|
|
deprecated_reason=_('Replaced by status_code_retries and '
|
|
'status_code_retry_delay.'),
|
|
help=_('DEPRECATED: Client retries in the case of a failed '
|
|
'request.')),
|
|
cfg.StrOpt('cleaning_network',
|
|
mutable=True,
|
|
help=_('Neutron network UUID or name for the ramdisk to be '
|
|
'booted into for cleaning nodes. Required for "neutron" '
|
|
'network interface. It is also required if cleaning '
|
|
'nodes when using "flat" network interface or "neutron" '
|
|
'DHCP provider. If a name is provided, it must be '
|
|
'unique among all networks or cleaning will fail.'),
|
|
deprecated_name='cleaning_network_uuid'),
|
|
cfg.StrOpt('provisioning_network',
|
|
mutable=True,
|
|
help=_('Neutron network UUID or name for the ramdisk to be '
|
|
'booted into for provisioning nodes. Required for '
|
|
'"neutron" network interface. If a name is provided, '
|
|
'it must be unique among all networks or deploy will '
|
|
'fail.'),
|
|
deprecated_name='provisioning_network_uuid'),
|
|
cfg.ListOpt('provisioning_network_security_groups',
|
|
default=[],
|
|
mutable=True,
|
|
help=_('List of Neutron Security Group UUIDs to be '
|
|
'applied during provisioning of the nodes. '
|
|
'Optional for the "neutron" network interface and not '
|
|
'used for the "flat" or "noop" network interfaces. '
|
|
'If not specified, default security group '
|
|
'is used.')),
|
|
cfg.ListOpt('cleaning_network_security_groups',
|
|
default=[],
|
|
mutable=True,
|
|
help=_('List of Neutron Security Group UUIDs to be '
|
|
'applied during cleaning of the nodes. '
|
|
'Optional for the "neutron" network interface and not '
|
|
'used for the "flat" or "noop" network interfaces. '
|
|
'If not specified, default security group '
|
|
'is used.')),
|
|
cfg.StrOpt('rescuing_network',
|
|
mutable=True,
|
|
help=_('Neutron network UUID or name for booting the ramdisk '
|
|
'for rescue mode. This is not the network that the '
|
|
'rescue ramdisk will use post-boot -- the tenant '
|
|
'network is used for that. Required for "neutron" '
|
|
'network interface, if rescue mode will be used. It '
|
|
'is not used for the "flat" or "noop" network '
|
|
'interfaces. If a name is provided, it must be unique '
|
|
'among all networks or rescue will fail.')),
|
|
cfg.ListOpt('rescuing_network_security_groups',
|
|
default=[],
|
|
mutable=True,
|
|
help=_('List of Neutron Security Group UUIDs to be applied '
|
|
'during the node rescue process. Optional for the '
|
|
'"neutron" network interface and not used for the '
|
|
'"flat" or "noop" network interfaces. If not '
|
|
'specified, the default security group is used.')),
|
|
cfg.IntOpt('request_timeout',
|
|
default=45,
|
|
mutable=True,
|
|
help=_('Timeout for request processing when interacting '
|
|
'with Neutron. This value should be increased if '
|
|
'neutron port action timeouts are observed as neutron '
|
|
'performs pre-commit validation prior returning to '
|
|
'the API client which can take longer than normal '
|
|
'client/server interactions.')),
|
|
cfg.BoolOpt('add_all_ports',
|
|
default=False,
|
|
mutable=True,
|
|
help=_('Option to enable transmission of all ports '
|
|
'to neutron when creating ports for provisioning, '
|
|
'cleaning, or rescue. This is done without IP '
|
|
'addresses assigned to the port, and may be useful '
|
|
'in some bonded network configurations.')),
|
|
cfg.StrOpt('inspection_network',
|
|
mutable=True,
|
|
help=_('Neutron network UUID or name for the ramdisk to be '
|
|
'booted into for in-band inspection of nodes. '
|
|
'If a name is provided, it must be unique among all '
|
|
'networks or inspection will fail.')),
|
|
cfg.ListOpt('inspection_network_security_groups',
|
|
default=[],
|
|
mutable=True,
|
|
help=_('List of Neutron Security Group UUIDs to be applied '
|
|
'during the node inspection process. Optional for the '
|
|
'"neutron" network interface and not used for the '
|
|
'"flat" or "noop" network interfaces. If not '
|
|
'specified, the default security group is used.')),
|
|
cfg.IntOpt('dhcpv6_stateful_address_count',
|
|
default=4,
|
|
mutable=True,
|
|
help=_('Number of IPv6 addresses to allocate for ports created '
|
|
'for provisioning, cleaning, rescue or inspection on '
|
|
'DHCPv6-stateful networks. Different stages of the '
|
|
'chain-loading process will request addresses with '
|
|
'different CLID/IAID. Due to non-identical identifiers '
|
|
'multiple addresses must be reserved for the host to '
|
|
'ensure each step of the boot process can successfully '
|
|
'lease addresses.')),
|
|
cfg.StrOpt('servicing_network',
|
|
mutable=True,
|
|
help=_('Neutron network UUID or name for booting the ramdisk '
|
|
'for service mode. Required for "neutron" '
|
|
'network interface, if service mode will be used. It '
|
|
'is not used for the "flat" or "noop" network '
|
|
'interfaces. If a name is provided, it must be unique '
|
|
'among all networks or service will fail.')),
|
|
cfg.ListOpt('servicing_network_security_groups',
|
|
default=[],
|
|
mutable=True,
|
|
help=_('List of Neutron Security Group UUIDs to be applied '
|
|
'during the node service process. Optional for the '
|
|
'"neutron" network interface and not used for the '
|
|
'"flat" or "noop" network interfaces. If not '
|
|
'specified, the default security group is used.')),
|
|
|
|
]
|
|
|
|
|
|
def register_opts(conf):
|
|
conf.register_opts(opts, group='neutron')
|
|
auth.register_auth_opts(conf, 'neutron', service_type='network')
|
|
|
|
|
|
def list_opts():
|
|
return auth.add_auth_opts(opts, service_type='network')
|