--- a/components/openstack/ironic/Makefile Wed Sep 07 14:48:42 2016 -0700
+++ b/components/openstack/ironic/Makefile Wed Sep 07 14:48:42 2016 -0700
@@ -26,19 +26,20 @@
include ../../../make-rules/shared-macros.mk
COMPONENT_NAME= ironic
-COMPONENT_CODENAME= kilo
-COMPONENT_VERSION= 2015.1.2
-COMPONENT_BE_VERSION= 2015.1
+COMPONENT_CODENAME= mitaka
+COMPONENT_VERSION= 5.1.2
+COMPONENT_BE_VERSION= 2016.1
COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
COMPONENT_ARCHIVE_HASH= \
- sha256:fd85246f7c9b0976a27b863de328f1240d43d4633511cd832e8d6904f6f4b06c
-COMPONENT_ARCHIVE_URL= http://launchpad.net/$(COMPONENT_NAME)/$(COMPONENT_CODENAME)/$(COMPONENT_VERSION)/+download/$(COMPONENT_ARCHIVE)
+ sha256:d2f2dcc3ff21abc4c8d03f309dfe3f441e482c403f4991bef2f9236bf1f6188b
+COMPONENT_ARCHIVE_URL= https://tarballs.openstack.org/$(COMPONENT_NAME)/$(COMPONENT_ARCHIVE)
+COMPONENT_SIG_URL= $(COMPONENT_ARCHIVE_URL).asc
+
COMPONENT_PROJECT_URL= http://www.openstack.org/
COMPONENT_BUGDB= service/ironic
-IPS_COMPONENT_VERSION= 0.$(COMPONENT_VERSION)
-TPNO= 25789
+TPNO= 30357
PKG_VARS += COMPONENT_BE_VERSION
@@ -91,7 +92,6 @@
#
test: $(NO_TESTS)
-
REQUIRED_PACKAGES += cloud/openstack/openstack-common
REQUIRED_PACKAGES += install/installadm
REQUIRED_PACKAGES += library/python/sqlalchemy-27
--- a/components/openstack/ironic/files/drivers/modules/solaris_ipmitool.py Wed Sep 07 14:48:42 2016 -0700
+++ b/components/openstack/ironic/files/drivers/modules/solaris_ipmitool.py Wed Sep 07 14:48:42 2016 -0700
@@ -38,9 +38,12 @@
from lockfile import LockFile, LockTimeout
from oslo_concurrency import processutils
-from oslo.config import cfg
-from oslo_utils import excutils
+from oslo_config import cfg
+from oslo_log import log as logging
+from oslo_service import loopingcall
+from oslo_utils import excutils, strutils
from scp import SCPClient
+import six
from ironic.common import boot_devices, exception, images, keystone, states, \
utils
@@ -51,8 +54,7 @@
from ironic.drivers import base
from ironic.drivers.modules import ipmitool
from ironic.drivers import utils as driver_utils
-from ironic.openstack.common import log as logging
-from ironic.openstack.common import loopingcall
+from ironic import objects
PLATFORM = platform.system()
if PLATFORM != "SunOS":
@@ -90,12 +92,6 @@
help='Actual SSH Key contents to use.')
]
-AUTH_OPTS = [
- cfg.StrOpt('auth_strategy',
- default='keystone',
- help='Method to use for authentication: noauth or keystone.')
- ]
-
SOLARIS_IPMI_OPTS = [
cfg.StrOpt('imagecache_dirname',
default='/var/lib/ironic/images',
@@ -109,10 +105,9 @@
CONF = cfg.CONF
OPT_GROUP = cfg.OptGroup(name='ai',
- title='Options for the Automated Install driver')
+ title='Options for the Solaris driver')
CONF.register_group(OPT_GROUP)
CONF.register_opts(AI_OPTS, OPT_GROUP)
-CONF.register_opts(AUTH_OPTS)
SOLARIS_IPMI_GROUP = cfg.OptGroup(
name="solaris_ipmi",
title="Options defined in ironic.drivers.modules.solaris_ipmi")
@@ -144,28 +139,38 @@
'install_profiles': _("List of configuration profiles to be applied "
"to the installation environment during an install. "
"Optional."),
- 'ipmi_bridging': _("bridging_type; default is \"no\". One of \"single\", "
- "\"dual\", \"no\". Optional."),
- 'ipmi_local_address': _("local IPMB address for bridged requests. "
- "Used only if ipmi_bridging is set "
- "to \"single\" or \"dual\". Optional."),
+ 'publishers': _("List of IPS publishers to install from, in the format "
+ "name@origin. Required if fmri property is set."),
+ 'sc_profiles': _("List of system configuration profiles to be applied "
+ "to an installed system. Optional."),
+
+ 'ipmi_port': _("remote IPMI RMCP port. Optional."),
'ipmi_priv_level':
_("privilege level; default is ADMINISTRATOR. "
"One of %s. Optional.") % '. '.join(ipmitool.VALID_PRIV_LEVELS),
+ 'ipmi_bridging': _("bridging_type; default is \"no\". One of \"single\", "
+ "\"dual\", \"no\". Optional."),
+ 'ipmi_transit_channel': _("transit channel for bridged request. Required "
+ "only if ipmi_bridging is set to \"dual\"."),
+ 'ipmi_transit_address': _("transit address for bridged request. Required "
+ "only if ipmi_bridging is set to \"dual\"."),
+ 'ipmi_target_channel': _("destination channel for bridged request. "
+ "Required only if ipmi_bridging is set to "
+ "\"single\" or \"dual\"."),
'ipmi_target_address': _("destination address for bridged request. "
"Required only if ipmi_bridging is set "
"to \"single\" or \"dual\"."),
- 'ipmi_target_channel': _("destination channel for bridged request. "
- "Required only if ipmi_bridging is set to "
- "\"single\" or \"dual\"."),
- 'ipmi_transit_address': _("transit address for bridged request. Required "
- "only if ipmi_bridging is set to \"dual\"."),
- 'ipmi_transit_channel': _("transit channel for bridged request. Required "
- "only if ipmi_bridging is set to \"dual\"."),
- 'publishers': _("List of IPS publishers to install from, in the format "
- "name@origin. Required if fmri property is set."),
- 'sc_profiles': _("List of system configuration profiles to be applied "
- "to an installed system. Optional.")
+ 'ipmi_local_address': _("local IPMB address for bridged requests. "
+ "Used only if ipmi_bridging is set "
+ "to \"single\" or \"dual\". Optional."),
+ 'ipmi_protocol_version': _('the version of the IPMI protocol; default '
+ 'is "2.0". One of "1.5", "2.0". Optional.'),
+ 'ipmi_force_boot_device': _("Whether Ironic should specify the boot "
+ "device to the BMC each time the server "
+ "is turned on, eg. because the BMC is not "
+ "capable of remembering the selected boot "
+ "device across power cycles; default value "
+ "is False. Optional.")
}
COMMON_PROPERTIES = REQUIRED_PROPERTIES.copy()
@@ -186,9 +191,6 @@
CPU_LOCATION = '/System/Processors/CPUs/CPU_%d/total_cores'
LAST_CMD_TIME = {}
-TIMING_SUPPORT = None
-SINGLE_BRIDGE_SUPPORT = None
-DUAL_BRIDGE_SUPPORT = None
def _ssh_execute(ssh_obj, ssh_cmd, raise_exception=True, err_msg=None):
@@ -208,7 +210,7 @@
try:
stdout = processutils.ssh_execute(ssh_obj, ssh_cmd)[0]
except Exception as err:
- LOG.debug(_("Cannot execute SSH cmd %(cmd)s. Reason: %(err)s.") %
+ LOG.error(_LE("Cannot execute SSH cmd %(cmd)s. Reason: %(err)s.") %
{'cmd': ssh_cmd, 'err': err})
returncode = 1
if raise_exception:
@@ -237,13 +239,14 @@
bridging_types = ['single', 'dual']
missing_info = [key for key in REQUIRED_PROPERTIES if not info.get(key)]
if missing_info:
- raise exception.MissingParameterValue(
- _("The following IPMI credentials are not supplied"
- " to IPMI driver: %s.") % missing_info)
+ raise exception.MissingParameterValue(_(
+ "Missing the following IPMI credentials in node's"
+ " driver_info: %s.") % missing_info)
address = info.get('ipmi_address')
username = info.get('ipmi_username')
- password = info.get('ipmi_password')
+ password = six.text_type(info.get('ipmi_password', ''))
+ dest_port = info.get('ipmi_port')
port = info.get('ipmi_terminal_port')
priv_level = info.get('ipmi_priv_level', 'ADMINISTRATOR')
bridging_type = info.get('ipmi_bridging', 'no')
@@ -252,19 +255,34 @@
transit_address = info.get('ipmi_transit_address')
target_channel = info.get('ipmi_target_channel')
target_address = info.get('ipmi_target_address')
-
- if port:
- try:
- port = int(port)
- except ValueError:
- raise exception.InvalidParameterValue(_(
- "IPMI terminal port is not an integer."))
+ protocol_version = str(info.get('ipmi_protocol_version', '2.0'))
+ force_boot_device = info.get('ipmi_force_boot_device', False)
+
+ if not username:
+ LOG.warning(_LW('ipmi_username is not defined or empty for node %s: '
+ 'NULL user will be utilized.') % node.uuid)
+ if not password:
+ LOG.warning(_LW('ipmi_password is not defined or empty for node %s: '
+ 'NULL password will be utilized.') % node.uuid)
+
+ if protocol_version not in ipmitool.VALID_PROTO_VERSIONS:
+ valid_versions = ', '.join(ipmitool.VALID_PROTO_VERSIONS)
+ raise exception.InvalidParameterValue(_(
+ "Invalid IPMI protocol version value %(version)s, the valid "
+ "value can be one of %(valid_versions)s") %
+ {'version': protocol_version, 'valid_versions': valid_versions})
+
+ if port is not None:
+ port = utils.validate_network_port(port, 'ipmi_terminal_port')
+
+ if dest_port is not None:
+ dest_port = utils.validate_network_port(dest_port, 'ipmi_port')
# check if ipmi_bridging has proper value
if bridging_type == 'no':
# if bridging is not selected, then set all bridging params to None
- local_address = transit_channel = transit_address = \
- target_channel = target_address = None
+ (local_address, transit_channel, transit_address, target_channel,
+ target_address) = (None,) * 5
elif bridging_type in bridging_types:
# check if the particular bridging option is supported on host
if not ipmitool._is_option_supported('%s_bridge' % bridging_type):
@@ -309,6 +327,7 @@
return {
'address': address,
+ 'dest_port': dest_port,
'username': username,
'password': password,
'port': port,
@@ -318,8 +337,10 @@
'transit_channel': transit_channel,
'transit_address': transit_address,
'target_channel': target_channel,
- 'target_address': target_address
- }
+ 'target_address': target_address,
+ 'protocol_version': protocol_version,
+ 'force_boot_device': force_boot_device
+ }
def _exec_ipmitool(driver_info, command):
@@ -344,13 +365,21 @@
"""
LOG.debug("SolarisDeploy._exec_ipmitool:driver_info: '%s', "
"command: '%s'" % (driver_info, command))
+ ipmi_version = ('lanplus'
+ if driver_info['protocol_version'] == '2.0'
+ else 'lan')
args = ['/usr/sbin/ipmitool',
'-I',
- 'lanplus',
+ ipmi_version,
'-H',
driver_info['address'],
'-L', driver_info['priv_level']
]
+
+ if driver_info['dest_port']:
+ args.append('-p')
+ args.append(driver_info['dest_port'])
+
if driver_info['username']:
args.append('-U')
args.append(driver_info['username'])
@@ -378,7 +407,7 @@
# NOTE(deva): ensure that no communications are sent to a BMC more
# often than once every min_command_interval seconds.
time_till_next_poll = CONF.ipmi.min_command_interval - (
- time.time() - LAST_CMD_TIME.get(driver_info['address'], 0))
+ time.time() - LAST_CMD_TIME.get(driver_info['address'], 0))
if time_till_next_poll > 0:
time.sleep(time_till_next_poll)
# Resetting the list that will be utilized so the password arguments
@@ -399,7 +428,7 @@
except processutils.ProcessExecutionError as e:
with excutils.save_and_reraise_exception() as ctxt:
err_list = [x for x in ipmitool.IPMITOOL_RETRYABLE_FAILURES
- if x in e.message]
+ if x in six.text_type(e)]
if ((time.time() > end_time) or
(num_tries == 0) or
not err_list):
@@ -443,7 +472,7 @@
cpu_arch, _err = _exec_ipmitool(driver_info, ipmi_cmd_args)
except Exception as err:
LOG.error(_LE("Failed to get node architecture from IPMI : %s" %
- (err)))
+ (err)))
raise exception.IPMIFailure(cmd=err)
propdict = {'cpu_arch': cpu_arch}
@@ -484,14 +513,12 @@
LOG.debug("_check_deploy_state() deploy_thread_state: %s" %
(deploy_thread.state))
- # Get DB instance
- mydbapi = dbapi.get_instance()
try:
# Get current DB copy of node
- cur_node = mydbapi.get_node_by_uuid(node_uuid)
+ cur_node = objects.Node.get_by_uuid(task.context, node_uuid)
except exception.NodeNotFound:
- LOG.info(_("During check_deploy_state, node %(node)s was not "
- "found and presumed deleted by another process.") %
+ LOG.info(_LI("During check_deploy_state, node %(node)s was not "
+ "found and presumed deleted by another process.") %
{'node': node_uuid})
# Thread should have stopped already, but let's make sure.
deploy_thread.stop()
@@ -506,8 +533,8 @@
task.node.save()
raise loopingcall.LoopingCallDone()
except Exception as err:
- LOG.info(_("During check_deploy_state, node %(node)s could "
- "not be retrieved: %(err)s") %
+ LOG.info(_LI("During check_deploy_state, node %(node)s could "
+ "not be retrieved: %(err)s") %
{'node': node_uuid, 'err': err})
# Thread should have stopped already, but lets make sure.
deploy_thread.stop()
@@ -538,8 +565,11 @@
if deploy_thread.state == states.DEPLOYDONE:
cur_node.provision_state = states.ACTIVE
elif deploy_thread.state == states.DEPLOYFAIL:
- cur_node.last_error = "Install failed; check install.log for " + \
- "more details."
+ if deploy_thread.error is not None:
+ cur_node.last_error = deploy_thread.error
+ else:
+ cur_node.last_error = "Install failed; check install.log " + \
+ "for more details."
cur_node.provision_state = deploy_thread.state
else:
cur_node.provision_state = deploy_thread.state
@@ -566,7 +596,7 @@
raise loopingcall.LoopingCallDone()
elif cur_node.provision_state == states.DEPLOYFAIL:
- # Node deployment as for some reason failed already, exist thread
+ # Node deployment has for some reason failed already, exit thread
LOG.debug("_check_deploy_state().deploy_failed: %s" %
(cur_node.provision_state))
deploy_thread.stop()
@@ -637,8 +667,8 @@
if count == 0:
# Adjusting by zero makes no sense just return
- err_msg = _("Zero reference count adjustment attempted "
- "on file: %s") % (image_path)
+ err_msg = _LE("Zero reference count adjustment attempted "
+ "on file: %s") % (image_path)
LOG.error(err_msg)
raise SolarisIPMIError(msg=err_msg)
@@ -647,8 +677,8 @@
if not os.path.exists(ref_filename):
if count < 0:
# Cannot decrement reference on non-existent file
- err_msg = _("Negative reference count adjustment attempted on "
- "non-existent file: %s") % (image_path)
+ err_msg = _LE("Negative reference count adjustment attempted on "
+ "non-existent file: %s") % (image_path)
LOG.error(err_msg)
raise SolarisIPMIError(msg=err_msg)
@@ -659,7 +689,7 @@
# Acquire lock on refcount file
lock = _image_refcount_acquire_lock(image_path)
if lock is None:
- err_msg = _("Failed to acquire lock on image: %s") % (image_path)
+ err_msg = _LE("Failed to acquire lock on image: %s") % (image_path)
LOG.error(err_msg)
raise SolarisIPMIError(msg=err_msg)
@@ -723,7 +753,7 @@
lock.release()
except Exception as err:
- LOG.error(_("Unable to fetch Glance image: id %s: %s")
+ LOG.error(_LE("Unable to fetch Glance image: id %s: %s")
% (url.netloc, err))
raise
else:
@@ -763,7 +793,7 @@
lock.release()
except Exception as err:
- LOG.error(_("Unable to fetch image: id %s: %s")
+ LOG.error(_LE("Unable to fetch image: id %s: %s")
% (url.netloc, err))
raise
else:
@@ -772,7 +802,7 @@
except Exception as err:
# Only remove the temporary file if exception occurs
# as noted above Caller is responsible for its removal
- LOG.error(_("Unable to fetch image: uri %s: %s") % (uri, err))
+ LOG.error(_LE("Unable to fetch image: uri %s: %s") % (uri, err))
if url.scheme == "glance":
_image_refcount_adjust(temp_uri, -1)
else:
@@ -1241,7 +1271,7 @@
remote_file = os.path.join("/tmp", obj_name) + ".xml"
aiservice.copy_remote_file(temp_file, remote_file)
except Exception as err:
- LOG.error(_("Fetch and create failed for %s: name: %s: %s") %
+ LOG.error(_LE("Fetch and create failed for %s: name: %s: %s") %
(obj_type, obj_uri, err))
if url.scheme == "glance":
_image_refcount_adjust(temp_file, -1)
@@ -1284,6 +1314,7 @@
self.task = task
self.node = task.node
self._state = states.DEPLOYWAIT
+ self._error = None
self.ssh_connection = None
self.running = True
@@ -1292,10 +1323,36 @@
"""Deployment state property"""
return self._state
+ @property
+ def error(self):
+ """Deployment error property"""
+ return self._error
+
def run(self):
"""Start the thread """
LOG.debug("DeployStateChecker.run(): Connecting...")
- client = utils.ssh_connect(self._get_ssh_dict())
+ # Occasionally SSH connection fails, make three attempts
+ # before returning failure.
+ connection_attempt = 0
+ while (connection_attempt < 3):
+ try:
+ connection_attempt += 1
+ client = utils.ssh_connect(self._get_ssh_dict())
+ break
+ except SSHException as err:
+ if connection_attempt < 3:
+ continue
+ else:
+ self._state = states.DEPLOYFAIL
+ self._error = str(err)
+ self.stop()
+ return
+ else:
+ self._state = states.DEPLOYFAIL
+ self._error = "Failed to establish SSH Connection with node."
+ self.stop()
+ return
+
channel = client.invoke_shell()
channel.settimeout(0.0)
channel.set_combine_stderr(True)
@@ -1825,7 +1882,7 @@
# Check if AI Service exists, log message if already removed
if not aiservice.exists:
# There is nothing to clean up as service removed
- LOG.info(_("AI Service %s already removed.") % (aiservice.name))
+ LOG.info(_LI("AI Service %s already removed.") % (aiservice.name))
else:
for mac in driver_utils.get_node_mac_addresses(task):
# 1. Delete AI Client for this MAC Address
@@ -1879,6 +1936,7 @@
driver=self.__class__.__name__,
reason=_("Unable to locate usable ipmitool command in "
"the system path when checking ipmitool version"))
+ ipmitool._check_temp_dir()
def validate(self, task):
"""Check that 'driver_info' contains IPMI credentials.
@@ -1913,7 +1971,7 @@
boot_devices.CDROM, boot_devices.BIOS,
boot_devices.SAFE]
elif cpu_arch == 'SPARC':
- return [boot_devices.DISK, 'wanboot']
+ return [boot_devices.DISK, boot_devices.WANBOOT]
else:
raise exception.InvalidParameterValue(
_("Invalid node architecture of '%s'.") % (cpu_arch))
@@ -1942,6 +2000,14 @@
publishers = task.node.driver_info.get('publishers')
fmri = task.node.driver_info.get('fmri')
+ if task.node.driver_info.get('ipmi_force_boot_device', False):
+ driver_utils.force_persistent_boot(task,
+ device,
+ persistent)
+ # Reset persistent to False, in case of BMC does not support
+ # persistent or we do not have admin rights.
+ persistent = False
+
if cpu_arch == 'x86':
if device not in self.get_supported_boot_devices(task=task):
raise exception.InvalidParameterValue(_(
@@ -1951,7 +2017,7 @@
cmd.append("options=persistent")
elif cpu_arch == 'SPARC':
# Set bootmode script to network DHCP or disk
- if device == 'wanboot':
+ if device == boot_devices.WANBOOT:
boot_cmd = 'set /HOST/bootmode script="'
script_str = 'boot net:dhcp - install'
if archive_uri:
@@ -2025,6 +2091,17 @@
"""
LOG.debug("SolarisManagement.get_boot_device")
+ driver_info = task.node.driver_info
+ driver_internal_info = task.node.driver_internal_info
+
+ if (driver_info.get('ipmi_force_boot_device', False) and
+ driver_internal_info.get('persistent_boot_device') and
+ driver_internal_info.get('is_next_boot_persistent', True)):
+ return {
+ 'boot_device': driver_internal_info['persistent_boot_device'],
+ 'persistent': True
+ }
+
cpu_arch = _get_node_architecture(task.node)
driver_info = _parse_driver_info(task.node)
response = {'boot_device': None, 'persistent': None}
@@ -2067,7 +2144,7 @@
response['persistent'] = 'Options apply to all future boots' in out
elif cpu_arch == 'SPARC':
if "net:dhcp" in out:
- response['boot_device'] = 'wanboot'
+ response['boot_device'] = boot_devices.WANBOOT
else:
response['boot_device'] = boot_devices.DISK
LOG.debug(response)
@@ -2141,11 +2218,26 @@
# Installed memory size is returned in GB, Nova assumes this is MB
# so convert if returned in GB
- memsize, memtype = propdict['memory_mb'].split(' ')
- if memtype == 'GB':
- propdict['memory_mb'] = int(memsize) * 1024
+ try:
+ size_bytes = strutils.string_to_bytes(
+ propdict['memory_mb'].replace(' ', ''))
+ propdict['memory_mb'] = int(size_bytes / float(1 << 20))
+ except ValueError:
+ # Size conversion failed, just ensure value is an int
+ propdict['memory_mb'] = int(propdict['memory_mb'])
+
+ if propdict['local_gb'] == 'Not Available':
+ del propdict['local_gb']
else:
- propdict['memory_mb'] = int(memsize)
+ # Local disk size can be returned with size type identifier
+ # remove identifier as this needs to be an int value
+ try:
+ size_bytes = strutils.string_to_bytes(
+ propdict['local_gb'].replace(' ', ''))
+ propdict['local_gb'] = int(size_bytes / float(1 << 30))
+ except ValueError:
+ # Size conversion failed, just ensure value is an int
+ propdict['local_gb'] = int(propdict['local_gb'])
cpu_props = self._get_cpu_cores(task, propdict['cpus'])
--- a/components/openstack/ironic/files/drivers/solaris.py Wed Sep 07 14:48:42 2016 -0700
+++ b/components/openstack/ironic/files/drivers/solaris.py Wed Sep 07 14:48:42 2016 -0700
@@ -16,11 +16,11 @@
"""
Solaris Driver and supporting meta-classes.
"""
+from oslo_log import log as logging
from ironic.drivers import base
from ironic.drivers.modules import ipmitool
from ironic.drivers.modules import solaris_ipmitool
-from ironic.openstack.common import log as logging
LOG = logging.getLogger(__name__)
--- a/components/openstack/ironic/files/ironic-upgrade Wed Sep 07 14:48:42 2016 -0700
+++ b/components/openstack/ironic/files/ironic-upgrade Wed Sep 07 14:48:42 2016 -0700
@@ -26,84 +26,39 @@
from openstack_common import alter_mysql_tables, create_backups, modify_conf
IRONIC_CONF_MAPPINGS = {
- # Deprecated group/name
- ('DEFAULT', 'amqp_durable_queues'):
- ('oslo_messaging_qpid', 'amqp_durable_queues'),
- ('DEFAULT', 'amqp_auto_delete'):
- ('oslo_messaging_qpid', 'amqp_auto_delete'),
- ('DEFAULT', 'rpc_conn_pool_size'):
- ('oslo_messaging_qpid', 'rpc_conn_pool_size'),
- ('DEFAULT', 'qpid_hostname'):
- ('oslo_messaging_qpid', 'qpid_hostname'),
- ('DEFAULT', 'qpid_port'):
- ('oslo_messaging_qpid', 'qpid_port'),
- ('DEFAULT', 'qpid_hosts'):
- ('oslo_messaging_qpid', 'qpid_hosts'),
- ('DEFAULT', 'qpid_username'):
- ('oslo_messaging_qpid', 'qpid_username'),
- ('DEFAULT', 'qpid_password'):
- ('oslo_messaging_qpid', 'qpid_password'),
- ('DEFAULT', 'qpid_sasl_mechanisms'):
- ('oslo_messaging_qpid', 'qpid_sasl_mechanisms'),
- ('DEFAULT', 'qpid_tcp_nodelay'):
- ('oslo_messaging_qpid', 'qpid_tcp_nodelay'),
- ('DEFAULT', 'qpid_heartbeat'):
- ('oslo_messaging_qpid', 'qpid_heartbeat'),
- ('DEFAULT', 'qpid_protocol'):
- ('oslo_messaging_qpid', 'qpid_protocol'),
- ('DEFAULT', 'qpid_receiver_capacity'):
- ('oslo_messaging_qpid', 'qpid_receiver_capacity'),
- ('DEFAULT', 'qpid_topology_version'):
- ('oslo_messaging_qpid', 'qpid_topology_version'),
- ('DEFAULT', 'kombu_ssl_version'):
- ('oslo_messaging_rabbit', 'kombu_ssl_version'),
- ('DEFAULT', 'kombu_ssl_keyfile'):
- ('oslo_messaging_rabbit', 'kombu_ssl_keyfile'),
- ('DEFAULT', 'kombu_ssl_certfile'):
- ('oslo_messaging_rabbit', 'kombu_ssl_certfile'),
- ('DEFAULT', 'kombu_ssl_ca_certs'):
- ('oslo_messaging_rabbit', 'kombu_ssl_ca_certs'),
- ('DEFAULT', 'kombu_reconnect_delay'):
- ('oslo_messaging_rabbit', 'kombu_reconnect_delay'),
- ('DEFAULT', 'rabbit_host'):
- ('oslo_messaging_rabbit', 'rabbit_host'),
- ('DEFAULT', 'rabbit_port'):
- ('oslo_messaging_rabbit', 'rabbit_port'),
- ('DEFAULT', 'rabbit_hosts'):
- ('oslo_messaging_rabbit', 'rabbit_hosts'),
- ('DEFAULT', 'rabbit_use_ssl'):
- ('oslo_messaging_rabbit', 'rabbit_use_ssl'),
- ('DEFAULT', 'rabbit_userid'):
- ('oslo_messaging_rabbit', 'rabbit_userid'),
- ('DEFAULT', 'rabbit_password'):
- ('oslo_messaging_rabbit', 'rabbit_password'),
- ('DEFAULT', 'rabbit_login_method'):
- ('oslo_messaging_rabbit', 'rabbit_login_method'),
- ('DEFAULT', 'rabbit_virtual_host'):
- ('oslo_messaging_rabbit', 'rabbit_virtual_host'),
- ('DEFAULT', 'rabbit_retry_interval'):
- ('oslo_messaging_rabbit', 'rabbit_retry_interval'),
- ('DEFAULT', 'rabbit_retry_backoff'):
- ('oslo_messaging_rabbit', 'rabbit_retry_backoff'),
- ('DEFAULT', 'rabbit_max_retries'):
- ('oslo_messaging_rabbit', 'rabbit_max_retries'),
- ('DEFAULT', 'rabbit_ha_queues'):
- ('oslo_messaging_rabbit', 'rabbit_ha_queues'),
- ('DEFAULT', 'fake_rabbit'):
- ('oslo_messaging_rabbit', 'fake_rabbit'),
- ('keystone_authtoken', 'admin_token'): (None, None),
- ('keystone_authtoken', 'auth_admin_prefix'): (None, None),
+ # Deprecated group/name LIBERTY
+ ('DEFAULT', 'rpc_thread_pool_size'):
+ ('DEFAULT', 'executor_thread_pool_size'),
('DEFAULT', 'log_format'): (None, None),
- ('DEFAULT', 'fake_rabbit'): (None, None),
+ ('DEFAULT', 'use_syslog'): (None, None),
+ ('agent', 'agent_pxe_append_params'): (None, None),
+ ('agent', 'agent_erase_devices_priority'):
+ ('deploy', 'erase_devices_priority'),
+ ('agent', 'agent_pxe_config_template'): (None, None),
+ ('agent', 'manage_tftp'): ('agent', 'manage_agent_boot'),
+ # Deprecated group/name MITAKA
+ ('profiler', 'profiler_enabled'): ('profiler', 'enabled'),
}
IRONIC_CONF_EXCEPTIONS = [
+ ('DEFAULT', 'auth_strategy'),
+ ('DEFAULT', 'enabled_drivers'),
+ ('DEFAULT', 'pybasedir'),
+ ('DEFAULT', 'bindir'),
+ ('DEFAULT', 'state_path'),
+ ('ai', 'server'),
+ ('ai', 'username'),
+ ('api', 'api_workers'),
+ ('database', 'connection'),
('keystone_authtoken', 'admin_tenant_name'),
('keystone_authtoken', 'admin_user'),
('keystone_authtoken', 'admin_password'),
+ ('keystone_authtoken', 'auth_host'),
+ ('keystone_authtoken', 'auth_uri'),
+ ('keystone_authtoken', 'identity_uri'),
('keystone_authtoken', 'signing_dir'),
- ('ai', 'server'),
- ('ai', 'username'),
+ ('solaris_ipmi', 'imagecache_dirname'),
+ ('solaris_ipmi', 'imagecache_lock_timeout'),
]
--- a/components/openstack/ironic/files/ironic.conf Wed Sep 07 14:48:42 2016 -0700
+++ b/components/openstack/ironic/files/ironic.conf Wed Sep 07 14:48:42 2016 -0700
@@ -1,92 +1,23 @@
[DEFAULT]
#
-# Options defined in oslo.messaging
-#
-
-# ZeroMQ bind address. Should be a wildcard (*), an ethernet
-# interface, or IP. The "host" option should point or resolve
-# to this address. (string value)
-#rpc_zmq_bind_address=*
-
-# MatchMaker driver. (string value)
-#rpc_zmq_matchmaker=local
-
-# ZeroMQ receiver listening port. (integer value)
-#rpc_zmq_port=9501
-
-# Number of ZeroMQ contexts, defaults to 1. (integer value)
-#rpc_zmq_contexts=1
-
-# Maximum number of ingress messages to locally buffer per
-# topic. Default is unlimited. (integer value)
-#rpc_zmq_topic_backlog=<None>
-
-# Directory for holding IPC sockets. (string value)
-#rpc_zmq_ipc_dir=/var/run/openstack
-
-# Name of this node. Must be a valid hostname, FQDN, or IP
-# address. Must match "host" option, if running Nova. (string
-# value)
-#rpc_zmq_host=ironic
-
-# Seconds to wait before a cast expires (TTL). Only supported
-# by impl_zmq. (integer value)
-#rpc_cast_timeout=30
-
-# Heartbeat frequency. (integer value)
-#matchmaker_heartbeat_freq=300
-
-# Heartbeat time-to-live. (integer value)
-#matchmaker_heartbeat_ttl=600
-
-# Size of RPC thread pool. (integer value)
-#rpc_thread_pool_size=64
-
-# Driver or drivers to handle sending notifications. (multi
-# valued)
-#notification_driver=
-
-# AMQP topic used for OpenStack notifications. (list value)
-# Deprecated group/name - [rpc_notifier2]/topics
-#notification_topics=notifications
-
-# Seconds to wait for a response from a call. (integer value)
-#rpc_response_timeout=60
-
-# A URL representing the messaging driver to use and its full
-# configuration. If not set, we fall back to the rpc_backend
-# option and driver specific configuration. (string value)
-#transport_url=<None>
-
-# The messaging driver to use, defaults to rabbit. Other
-# drivers include qpid and zmq. (string value)
-#rpc_backend=rabbit
-
-# The default exchange under which topics are scoped. May be
-# overridden by an exchange name specified in the
-# transport_url option. (string value)
-#control_exchange=openstack
-
-
-#
-# Options defined in ironic.netconf
-#
-
-# IP address of this host. (string value)
-#my_ip=10.0.0.1
-
-
-#
# Options defined in ironic.api.app
#
-# Method to use for authentication: noauth or keystone.
-# (string value)
+# Authentication strategy used by ironic-api. "noauth" should
+# not be used in a production environment because all
+# authentication will be disabled. (string value)
+# Possible values: noauth, keystone
#auth_strategy=keystone
+# Return server tracebacks in the API response for any error
+# responses. WARNING: this is insecure and should not be used
+# in a production environment. (boolean value)
+#debug_tracebacks_in_api=false
+
# Enable pecan debug mode. WARNING: this is insecure and
-# should not be used in production. (boolean value)
+# should not be used in a production environment. (boolean
+# value)
#pecan_debug=false
@@ -109,7 +40,10 @@
# Options defined in ironic.common.exception
#
-# Make exception message format errors fatal. (boolean value)
+# Used if there is a formatting error when generating an
+# exception message (a programming error). If True, raise an
+# exception; if False, use the unformatted message. (boolean
+# value)
#fatal_exception_format_errors=false
@@ -138,12 +72,17 @@
# (integer value)
#hash_distribution_replicas=1
+# Interval (in seconds) between hash ring resets. (integer
+# value)
+#hash_ring_reset_interval=180
+
#
# Options defined in ironic.common.images
#
-# Force backing images to raw format. (boolean value)
+# If True, convert backing images to "raw" disk image format.
+# (boolean value)
#force_raw_images=true
# Path to isolinux binary file. (string value)
@@ -178,15 +117,17 @@
# Options defined in ironic.common.service
#
-# Seconds between running periodic tasks. (integer value)
+# Default interval (in seconds) for running driver periodic
+# tasks. (integer value)
+# This option is deprecated and planned for removal in a future release.
#periodic_interval=60
-# Name of this node. This can be an opaque identifier. It is
+# Name of this node. This can be an opaque identifier. It is
# not necessarily a hostname, FQDN, or IP address. However,
# the node name must be valid within an AMQP key, and if using
# ZeroMQ, a valid hostname, FQDN, or IP address. (string
# value)
-#host=ironic
+#host=localhost
#
@@ -197,9 +138,9 @@
# commands as root. (string value)
#rootwrap_config=/etc/ironic/rootwrap.conf
-# Explicitly specify the temporary working directory. (string
-# value)
-#tempdir=<None>
+# Temporary working directory, default is Python temp dir.
+# (string value)
+#tempdir=/tmp
#
@@ -212,16 +153,220 @@
#
-# Options defined in ironic.drivers.modules.solaris_ipmitool
+# Options defined in ironic.netconf
#
-# Method to use for authentication: noauth or keystone.
+# IP address of this host. If unset, will determine the IP
+# programmatically. If unable to do so, will use "127.0.0.1".
# (string value)
-#auth_strategy=keystone
+#my_ip=10.0.0.1
#
-# Options defined in ironic.openstack.common.eventlet_backdoor
+# Options defined in oslo.log
+#
+
+# If set to true, the logging level will be set to DEBUG
+# instead of the default INFO level. (boolean value)
+#debug=false
+
+# If set to false, the logging level will be set to WARNING
+# instead of the default INFO level. (boolean value)
+# This option is deprecated and planned for removal in a future release.
+#verbose=true
+
+# The name of a logging configuration file. This file is
+# appended to any existing logging configuration files. For
+# details about logging configuration files, see the Python
+# logging module documentation. Note that when logging
+# configuration files are used then all logging configuration
+# is set in the configuration file and other logging
+# configuration options are ignored (for example,
+# logging_context_format_string). (string value)
+# Deprecated group/name - [DEFAULT]/log_config
+#log_config_append=<None>
+
+# Defines the format string for %%(asctime)s in log records.
+# Default: %(default)s . This option is ignored if
+# log_config_append is set. (string value)
+#log_date_format=%Y-%m-%d %H:%M:%S
+
+# (Optional) Name of log file to send logging output to. If no
+# default is set, logging will go to stderr as defined by
+# use_stderr. This option is ignored if log_config_append is
+# set. (string value)
+# Deprecated group/name - [DEFAULT]/logfile
+#log_file=<None>
+
+# (Optional) The base directory used for relative log_file
+# paths. This option is ignored if log_config_append is set.
+# (string value)
+# Deprecated group/name - [DEFAULT]/logdir
+#log_dir=<None>
+
+# Uses logging handler designed to watch file system. When log
+# file is moved or removed this handler will open a new log
+# file with specified path instantaneously. It makes sense
+# only if log_file option is specified and Linux platform is
+# used. This option is ignored if log_config_append is set.
+# (boolean value)
+#watch_log_file=false
+
+# Use syslog for logging. Existing syslog format is DEPRECATED
+# and will be changed later to honor RFC5424. This option is
+# ignored if log_config_append is set. (boolean value)
+#use_syslog=false
+
+# Syslog facility to receive log lines. This option is ignored
+# if log_config_append is set. (string value)
+#syslog_log_facility=LOG_USER
+
+# Log output to standard error. This option is ignored if
+# log_config_append is set. (boolean value)
+#use_stderr=true
+
+# Format string to use for log messages with context. (string
+# value)
+#logging_context_format_string=%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s
+
+# Format string to use for log messages when context is
+# undefined. (string value)
+#logging_default_format_string=%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s
+
+# Additional data to append to log message when logging level
+# for the message is DEBUG. (string value)
+#logging_debug_format_suffix=%(funcName)s %(pathname)s:%(lineno)d
+
+# Prefix each line of exception output with this format.
+# (string value)
+#logging_exception_prefix=%(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s
+
+# Defines the format string for %(user_identity)s that is used
+# in logging_context_format_string. (string value)
+#logging_user_identity_format=%(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s
+
+# List of package logging levels in logger=LEVEL pairs. This
+# option is ignored if log_config_append is set. (list value)
+#default_log_levels=amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,dogpile.core.dogpile=INFO
+
+# Enables or disables publication of error events. (boolean
+# value)
+#publish_errors=false
+
+# The format for an instance that is passed with the log
+# message. (string value)
+#instance_format="[instance: %(uuid)s] "
+
+# The format for an instance UUID that is passed with the log
+# message. (string value)
+#instance_uuid_format="[instance: %(uuid)s] "
+
+# Enables or disables fatal status of deprecations. (boolean
+# value)
+#fatal_deprecations=false
+
+
+#
+# Options defined in oslo.messaging
+#
+
+# Size of RPC connection pool. (integer value)
+# Deprecated group/name - [DEFAULT]/rpc_conn_pool_size
+#rpc_conn_pool_size=30
+
+# ZeroMQ bind address. Should be a wildcard (*), an ethernet
+# interface, or IP. The "host" option should point or resolve
+# to this address. (string value)
+#rpc_zmq_bind_address=*
+
+# MatchMaker driver. (string value)
+# Possible values: redis, dummy
+#rpc_zmq_matchmaker=redis
+
+# Type of concurrency used. Either "native" or "eventlet"
+# (string value)
+#rpc_zmq_concurrency=eventlet
+
+# Number of ZeroMQ contexts, defaults to 1. (integer value)
+#rpc_zmq_contexts=1
+
+# Maximum number of ingress messages to locally buffer per
+# topic. Default is unlimited. (integer value)
+#rpc_zmq_topic_backlog=<None>
+
+# Directory for holding IPC sockets. (string value)
+#rpc_zmq_ipc_dir=/var/run/openstack
+
+# Name of this node. Must be a valid hostname, FQDN, or IP
+# address. Must match "host" option, if running Nova. (string
+# value)
+#rpc_zmq_host=localhost
+
+# Seconds to wait before a cast expires (TTL). The default
+# value of -1 specifies an infinite linger period. The value
+# of 0 specifies no linger period. Pending messages shall be
+# discarded immediately when the socket is closed. Only
+# supported by impl_zmq. (integer value)
+#rpc_cast_timeout=-1
+
+# The default number of seconds that poll should wait. Poll
+# raises timeout exception when timeout expired. (integer
+# value)
+#rpc_poll_timeout=1
+
+# Expiration timeout in seconds of a name service record about
+# existing target ( < 0 means no timeout). (integer value)
+#zmq_target_expire=120
+
+# Use PUB/SUB pattern for fanout methods. PUB/SUB always uses
+# proxy. (boolean value)
+#use_pub_sub=true
+
+# Minimal port number for random ports range. (port value)
+# Possible values: 0-65535
+#rpc_zmq_min_port=49152
+
+# Maximal port number for random ports range. (integer value)
+# Possible values: 1-65536
+#rpc_zmq_max_port=65536
+
+# Number of retries to find free port number before fail with
+# ZMQBindError. (integer value)
+#rpc_zmq_bind_port_retries=100
+
+# Size of executor thread pool. (integer value)
+# Deprecated group/name - [DEFAULT]/rpc_thread_pool_size
+#executor_thread_pool_size=64
+
+# Seconds to wait for a response from a call. (integer value)
+#rpc_response_timeout=60
+
+# A URL representing the messaging driver to use and its full
+# configuration. If not set, we fall back to the rpc_backend
+# option and driver specific configuration. (string value)
+#transport_url=<None>
+
+# The messaging driver to use, defaults to rabbit. Other
+# drivers include amqp and zmq. (string value)
+#rpc_backend=rabbit
+
+# The default exchange under which topics are scoped. May be
+# overridden by an exchange name specified in the
+# transport_url option. (string value)
+#control_exchange=openstack
+
+
+#
+# Options defined in oslo.service.periodic_task
+#
+
+# Some periodic tasks can be run in a separate process. Should
+# we run them here? (boolean value)
+#run_external_periodic_tasks=true
+
+
+#
+# Options defined in oslo.service.service
#
# Enable eventlet backdoor. Acceptable values are 0, <port>,
@@ -234,117 +379,60 @@
# service's log file. (string value)
#backdoor_port=<None>
-
-#
-# Options defined in ironic.openstack.common.log
-#
-
-# Print debugging output (set logging level to DEBUG instead
-# of default WARNING level). (boolean value)
-#debug=false
-
-# Print more verbose output (set logging level to INFO instead
-# of default WARNING level). (boolean value)
-#verbose=false
-
-# Log output to standard error. (boolean value)
-#use_stderr=true
-
-# Format string to use for log messages with context. (string
-# value)
-#logging_context_format_string=%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s
-
-# Format string to use for log messages without context.
-# (string value)
-#logging_default_format_string=%(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s
-
-# Data to append to log format when level is DEBUG. (string
-# value)
-#logging_debug_format_suffix=%(funcName)s %(pathname)s:%(lineno)d
-
-# Prefix each line of exception output with this format.
-# (string value)
-#logging_exception_prefix=%(asctime)s.%(msecs)03d %(process)d TRACE %(name)s %(instance)s
-
-# List of logger=LEVEL pairs. (list value)
-#default_log_levels=amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN
-
-# Enables or disables publication of error events. (boolean
-# value)
-#publish_errors=false
-
-# Enables or disables fatal status of deprecations. (boolean
-# value)
-#fatal_deprecations=false
-
-# The format for an instance that is passed with the log
-# message. (string value)
-#instance_format="[instance: %(uuid)s] "
-
-# The format for an instance UUID that is passed with the log
-# message. (string value)
-#instance_uuid_format="[instance: %(uuid)s] "
-
-# The name of a logging configuration file. This file is
-# appended to any existing logging configuration files. For
-# details about logging configuration files, see the Python
-# logging module documentation. (string value)
-# Deprecated group/name - [DEFAULT]/log_config
-#log_config_append=<None>
-
-# DEPRECATED. A logging.Formatter log message format string
-# which may use any of the available logging.LogRecord
-# attributes. This option is deprecated. Please use
-# logging_context_format_string and
-# logging_default_format_string instead. (string value)
-#log_format=<None>
-
-# Format string for %%(asctime)s in log records. Default:
-# %(default)s . (string value)
-#log_date_format=%Y-%m-%d %H:%M:%S
-
-# (Optional) Name of log file to output to. If no default is
-# set, logging will go to stdout. (string value)
-# Deprecated group/name - [DEFAULT]/logfile
-#log_file=<None>
-
-# (Optional) The base directory used for relative --log-file
-# paths. (string value)
-# Deprecated group/name - [DEFAULT]/logdir
-#log_dir=<None>
-
-# Use syslog for logging. Existing syslog format is DEPRECATED
-# during I, and will change in J to honor RFC5424. (boolean
-# value)
-#use_syslog=false
-
-# (Optional) Enables or disables syslog rfc5424 format for
-# logging. If enabled, prefixes the MSG part of the syslog
-# message with APP-NAME (RFC5424). The format without the APP-
-# NAME is deprecated in I, and will be removed in J. (boolean
-# value)
-#use_syslog_rfc_format=false
-
-# Syslog facility to receive log lines. (string value)
-#syslog_log_facility=LOG_USER
+# Enable eventlet backdoor, using the provided path as a unix
+# socket that can receive connections. This option is mutually
+# exclusive with 'backdoor_port' in that only one should be
+# provided. If both are provided then the existence of this
+# option overrides the usage of that option. (string value)
+#backdoor_socket=<None>
+
+# Enables or disables logging values of all registered options
+# when starting a service (at DEBUG level). (boolean value)
+#log_options=true
+
+# Specify a timeout after which a gracefully shutdown server
+# will exit. Zero value means endless wait. (integer value)
+#graceful_shutdown_timeout=60
#
-# Options defined in ironic.openstack.common.periodic_task
+# Options defined in oslo.service.wsgi
#
-# Some periodic tasks can be run in a separate process. Should
-# we run them here? (boolean value)
-#run_external_periodic_tasks=true
-
-
-#
-# Options defined in ironic.openstack.common.versionutils
-#
-
-# Enables or disables fatal status of deprecations. (boolean
+# File name for the paste.deploy config for api service
+# (string value)
+#api_paste_config=api-paste.ini
+
+# A python format string that is used as the template to
+# generate log lines. The following values can beformatted
+# into it: client_ip, date_time, request_line, status_code,
+# body_length, wall_seconds. (string value)
+#wsgi_log_format=%(client_ip)s "%(request_line)s" status: %(status_code)s len: %(body_length)s time: %(wall_seconds).7f
+
+# Sets the value of TCP_KEEPIDLE in seconds for each server
+# socket. Not supported on OS X. (integer value)
+#tcp_keepidle=600
+
+# Size of the pool of greenthreads used by wsgi (integer
# value)
-#fatal_deprecations=false
+#wsgi_default_pool_size=100
+
+# Maximum line size of message headers to be accepted.
+# max_header_line may need to be increased when using large
+# tokens (typically those generated when keystone is
+# configured to use PKI tokens with big service catalogs).
+# (integer value)
+#max_header_line=16384
+
+# If False, closes the client socket connection explicitly.
+# (boolean value)
+#wsgi_keep_alive=true
+
+# Timeout for client connections' socket operations. If an
+# incoming connection is idle for this number of seconds it
+# will be closed. A value of '0' means wait forever. (integer
+# value)
+#client_socket_timeout=900
[agent]
@@ -353,27 +441,38 @@
# Options defined in ironic.drivers.modules.agent
#
-# Additional append parameters for baremetal PXE boot. (string
-# value)
+# DEPRECATED. Additional append parameters for baremetal PXE
+# boot. This option is deprecated and will be removed in
+# Mitaka release. Please use [pxe]pxe_append_params instead.
+# (string value)
#agent_pxe_append_params=nofb nomodeset vga=normal
-# Template file for PXE configuration. (string value)
+# DEPRECATED. Template file for PXE configuration. This option
+# is deprecated and will be removed in Mitaka release. Please
+# use [pxe]pxe_config_template instead. (string value)
#agent_pxe_config_template=$pybasedir/drivers/modules/agent_config.template
-# Neutron bootfile DHCP parameter. (string value)
-#agent_pxe_bootfile_name=pxelinux.0
-
-# Priority to run in-band erase devices via the Ironic Python
-# Agent ramdisk. If unset, will use the priority set in the
-# ramdisk (defaults to 10 for the GenericHardwareManager). If
-# set to 0, will not run during cleaning. (integer value)
-#agent_erase_devices_priority=<None>
-
-# Whether Ironic will manage TFTP files for the deploy
-# ramdisks. If set to False, you will need to configure your
-# own TFTP server that allows booting the deploy ramdisks.
-# (boolean value)
-#manage_tftp=true
+# 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. (boolean value)
+# Deprecated group/name - [agent]/manage_tftp
+#manage_agent_boot=true
+
+# 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. (integer value)
+#memory_consumed_by_agent=0
+
+# 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. (boolean value)
+#stream_raw_images=true
#
@@ -384,6 +483,15 @@
# value)
#heartbeat_timeout=300
+# Number of times to retry getting power state to check if
+# bare metal node has been powered off after a soft power off.
+# (integer value)
+#post_deploy_get_power_state_retries=6
+
+# Amount of time (in seconds) to wait between polling power
+# state after trigger soft poweroff. (integer value)
+#post_deploy_get_power_state_retry_interval=5
+
#
# Options defined in ironic.drivers.modules.agent_client
@@ -438,10 +546,19 @@
# Options defined in ironic.drivers.modules.amt.common
#
-# Protocol used for AMT endpoint, support http/https (string
-# value)
+# Protocol used for AMT endpoint (string value)
+# Possible values: http, https
#protocol=http
+# Time interval (in seconds) for successive awake call to AMT
+# interface, this depends on the IdleTimeout setting on AMT
+# interface. AMT Interface will go to sleep after 60 seconds
+# of inactivity by default. IdleTimeout=0 means AMT will not
+# go to sleep at all. Setting awake_interval=0 will disable
+# awake call. (integer value)
+# Minimum value: 0
+#awake_interval=60
+
#
# Options defined in ironic.drivers.modules.amt.power
@@ -462,20 +579,87 @@
# Options defined in ironic.api
#
-# The listen IP for the Ironic API server. (string value)
+# The IP address on which ironic-api listens. (string value)
#host_ip=0.0.0.0
-# The port for the Ironic API server. (integer value)
+# The TCP port on which ironic-api listens. (port value)
+# Possible values: 0-65535
#port=6385
# The maximum number of items returned in a single response
# from a collection resource. (integer value)
#max_limit=1000
+# Public URL to use when building the links to the API
+# resources (for example, "https://ironic.rocks:6384"). If
+# None the links will be built using the request's host URL.
+# If the API is operating behind a proxy, you will want to
+# change this to represent the proxy's URL. Defaults to None.
+# (string value)
+#public_endpoint=<None>
+
+# Number of workers for OpenStack Ironic API service. The
+# default is equal to the number of CPUs available if that can
+# be determined, else a default worker count of 1 is returned.
+# (integer value)
+api_workers=1
+
+# Enable the integrated stand-alone API to service requests
+# via HTTPS instead of HTTP. If there is a front-end service
+# performing HTTPS offloading from the service, this option
+# should be False; note, you will want to change public API
+# endpoint to represent SSL termination URL with
+# 'public_endpoint' option. (boolean value)
+#enable_ssl_api=false
+
+
+[cimc]
+
+#
+# Options defined in ironic.drivers.modules.cimc.power
+#
+
+# Number of times a power operation needs to be retried
+# (integer value)
+#max_retry=6
+
+# Amount of time in seconds to wait in between power
+# operations (integer value)
+#action_interval=10
+
+
+[cisco_ucs]
+
+#
+# Options defined in ironic.drivers.modules.ucs.power
+#
+
+# Number of times a power operation needs to be retried
+# (integer value)
+#max_retry=6
+
+# Amount of time in seconds to wait in between power
+# operations (integer value)
+#action_interval=5
+
[conductor]
#
+# Options defined in ironic.conductor.base_manager
+#
+
+# The size of the workers greenthread pool. Note that 2
+# threads will be reserved by the conductor itself for
+# handling heart beats and periodic tasks. (integer value)
+# Minimum value: 3
+#workers_pool_size=100
+
+# Seconds between conductor heart beats. (integer value)
+#heartbeat_interval=10
+
+
+#
# Options defined in ironic.conductor.manager
#
@@ -484,11 +668,9 @@
# value)
#api_url=<None>
-# Seconds between conductor heart beats. (integer value)
-#heartbeat_interval=10
-
# Maximum time (in seconds) since the last check-in of a
-# conductor. (integer value)
+# conductor. A conductor is considered inactive when this time
+# has been exceeded. (integer value)
#heartbeat_timeout=60
# Interval between syncing the node power state to the
@@ -499,8 +681,8 @@
# (integer value)
#check_provision_state_interval=60
-# Timeout (seconds) for waiting callback from deploy ramdisk.
-# 0 - unlimited. (integer value)
+# Timeout (seconds) to wait for a callback from a deploy
+# ramdisk. Set to 0 to disable timeout. (integer value)
#deploy_callback_timeout=1800
# During sync_power_state, should the hardware power state be
@@ -519,9 +701,6 @@
# thread pool size. (integer value)
#periodic_max_workers=8
-# The size of the workers greenthread pool. (integer value)
-#workers_pool_size=100
-
# Number of attempts to grab a node lock. (integer value)
#node_locked_retry_attempts=3
@@ -536,8 +715,8 @@
# ceilometer via the notification bus. (integer value)
#send_sensor_data_interval=600
-# List of comma separated metric types which need to be sent
-# to Ceilometer. The default value, "ALL", is a special value
+# List of comma separated meter types which need to be sent to
+# Ceilometer. The default value, "ALL", is a special value
# meaning send all the sensor data. (list value)
#send_sensor_data_types=ALL
@@ -560,11 +739,12 @@
# unlimited. (integer value)
#inspect_timeout=1800
-# Cleaning is a configurable set of steps, such as erasing
-# disk drives, that are performed on the node to ensure it is
-# in a baseline state and ready to be deployed to. This is
-# done after instance deletion, and during the transition from
-# a "managed" to "available" state. When enabled, the
+# Enables or disables automated cleaning. Automated cleaning
+# is a configurable set of steps, such as erasing disk drives,
+# that are performed on the node to ensure it is in a baseline
+# state and ready to be deployed to. This is done after
+# instance deletion as well as during the transition from a
+# "manageable" to "available" state. When enabled, the
# particular steps performed to clean a node depend on which
# driver that node is managed by; see the individual driver's
# documentation for details. NOTE: The introduction of the
@@ -572,7 +752,14 @@
# significantly longer. In an environment where all tenants
# are trusted (eg, because there is only one tenant), this
# option could be safely disabled. (boolean value)
-#clean_nodes=true
+# Deprecated group/name - [conductor]/clean_nodes
+#automated_clean=true
+
+# Timeout (seconds) to wait for a callback from the ramdisk
+# doing the cleaning. If the timeout is reached the node will
+# be put in the "clean failed" provision state. Set to 0 to
+# disable timeout. (integer value)
+#clean_callback_timeout=1800
[console]
@@ -601,16 +788,88 @@
#subprocess_timeout=10
+[cors]
+
+#
+# Options defined in oslo.middleware
+#
+
+# Indicate whether this resource may be shared with the domain
+# received in the requests "origin" header. (list value)
+#allowed_origin=<None>
+
+# Indicate that the actual request can include user
+# credentials (boolean value)
+#allow_credentials=true
+
+# Indicate which headers are safe to expose to the API.
+# Defaults to HTTP Simple Headers. (list value)
+#expose_headers=Content-Type,Cache-Control,Content-Language,Expires,Last-Modified,Pragma
+
+# Maximum cache age of CORS preflight requests. (integer
+# value)
+#max_age=3600
+
+# Indicate which methods can be used during the actual
+# request. (list value)
+#allow_methods=GET,POST,PUT,DELETE,OPTIONS
+
+# Indicate which header field names may be used during the
+# actual request. (list value)
+#allow_headers=Content-Type,Cache-Control,Content-Language,Expires,Last-Modified,Pragma
+
+
+[cors.subdomain]
+
+#
+# Options defined in oslo.middleware
+#
+
+# Indicate whether this resource may be shared with the domain
+# received in the requests "origin" header. (list value)
+#allowed_origin=<None>
+
+# Indicate that the actual request can include user
+# credentials (boolean value)
+#allow_credentials=true
+
+# Indicate which headers are safe to expose to the API.
+# Defaults to HTTP Simple Headers. (list value)
+#expose_headers=Content-Type,Cache-Control,Content-Language,Expires,Last-Modified,Pragma
+
+# Maximum cache age of CORS preflight requests. (integer
+# value)
+#max_age=3600
+
+# Indicate which methods can be used during the actual
+# request. (list value)
+#allow_methods=GET,POST,PUT,DELETE,OPTIONS
+
+# Indicate which header field names may be used during the
+# actual request. (list value)
+#allow_headers=Content-Type,Cache-Control,Content-Language,Expires,Last-Modified,Pragma
+
+
[database]
#
+# Options defined in ironic.db.sqlalchemy.models
+#
+
+# MySQL engine to use. (string value)
+#mysql_engine=InnoDB
+
+
+#
# Options defined in oslo.db
#
# The file name to use with SQLite. (string value)
+# Deprecated group/name - [DEFAULT]/sqlite_db
#sqlite_db=oslo.sqlite
# If True, SQLite uses synchronous mode. (boolean value)
+# Deprecated group/name - [DEFAULT]/sqlite_synchronous
#sqlite_synchronous=true
# The back end to use for the database. (string value)
@@ -622,7 +881,7 @@
# Deprecated group/name - [DEFAULT]/sql_connection
# Deprecated group/name - [DATABASE]/sql_connection
# Deprecated group/name - [sql]/connection
-#connection=<None>
+connection=mysql://%SERVICE_USER%:%SERVICE_PASSWORD%@localhost/ironic
# The SQLAlchemy connection string to use to connect to the
# slave database. (string value)
@@ -635,12 +894,6 @@
# value)
#mysql_sql_mode=TRADITIONAL
-# This configures the MySQL storage engine. This allows for OpenStack to
-# support different storage engines such as InnoDB, NDB, etc. By Default,
-# this value will be set to InnoDB. For MySQL Cluster, set to NDBCLUSTER.
-# Example: mysql_storage_engine=(string value)
-#mysql_storage_engine = InnoDB
-
# Timeout before idle SQL connections are reaped. (integer
# value)
# Deprecated group/name - [DEFAULT]/sql_idle_timeout
@@ -677,7 +930,7 @@
# (integer value)
# Deprecated group/name - [DEFAULT]/sql_max_overflow
# Deprecated group/name - [DATABASE]/sqlalchemy_max_overflow
-#max_overflow=<None>
+#max_overflow=50
# Verbosity of SQL debugging information: 0=None,
# 100=Everything. (integer value)
@@ -717,31 +970,32 @@
#db_max_retries=20
-#
-# Options defined in ironic.db.sqlalchemy.models
-#
-
-# MySQL engine to use. (string value)
-#mysql_engine=InnoDB
-
-
[deploy]
#
# Options defined in ironic.drivers.modules.deploy_utils
#
-# Size of EFI system partition in MiB when configuring UEFI
-# systems for local boot. (integer value)
-#efi_system_partition_size=200
-
-# Block size to use when writing to the nodes disk. (string
+# ironic-conductor node's HTTP server URL. Example:
+# http://192.1.2.3:8080 (string value)
+# Deprecated group/name - [pxe]/http_url
+#http_url=<None>
+
+# ironic-conductor node's HTTP root path. (string value)
+# Deprecated group/name - [pxe]/http_root
+#http_root=/httpboot
+
+# Priority to run in-band erase devices via the Ironic Python
+# Agent ramdisk. If unset, will use the priority set in the
+# ramdisk (defaults to 10 for the GenericHardwareManager). If
+# set to 0, will not run during cleaning. (integer value)
+# Deprecated group/name - [agent]/agent_erase_devices_priority
+#erase_devices_priority=<None>
+
+# Number of iterations to be run for erasing devices. (integer
# value)
-#dd_block_size=1M
-
-# Maximum attempts to verify an iSCSI connection is active,
-# sleeping 1 second between attempts. (integer value)
-#iscsi_verify_attempts=3
+# Deprecated group/name - [agent]/agent_erase_devices_iterations
+#erase_devices_iterations=1
[dhcp]
@@ -755,30 +1009,10 @@
#dhcp_provider=neutron
-[discoverd]
-
-#
-# Options defined in ironic.drivers.modules.discoverd
-#
-
-# whether to enable inspection using ironic-discoverd (boolean
-# value)
-#enabled=false
-
-# ironic-discoverd HTTP endpoint. If this is not set, the
-# ironic-discoverd client default (http://127.0.0.1:5050) will
-# be used. (string value)
-#service_url=<None>
-
-# period (in seconds) to check status of nodes on inspection
-# (integer value)
-#status_check_period=60
-
-
[disk_partitioner]
#
-# Options defined in ironic.common.disk_partitioner
+# Options defined in ironic_lib.disk_partitioner
#
# After Ironic has completed creating the partition table, it
@@ -794,6 +1028,28 @@
#check_device_max_retries=20
+[disk_utils]
+
+#
+# Options defined in ironic_lib.disk_utils
+#
+
+# Size of EFI system partition in MiB when configuring UEFI
+# systems for local boot. (integer value)
+# Deprecated group/name - [deploy]/efi_system_partition_size
+#efi_system_partition_size=200
+
+# Block size to use when writing to the nodes disk. (string
+# value)
+# Deprecated group/name - [deploy]/dd_block_size
+#dd_block_size=1M
+
+# Maximum attempts to verify an iSCSI connection is active,
+# sleeping 1 second between attempts. (integer value)
+# Deprecated group/name - [deploy]/iscsi_verify_attempts
+#iscsi_verify_attempts=3
+
+
[glance]
#
@@ -812,37 +1068,59 @@
# The length of time in seconds that the temporary URL will be
# valid for. Defaults to 20 minutes. If some deploys get a 401
# response code when trying to download from the temporary
-# URL, try raising this duration. (integer value)
+# URL, try raising this duration. This value must be greater
+# than or equal to the value for
+# swift_temp_url_expected_download_start_delay (integer value)
#swift_temp_url_duration=1200
+# Whether to cache generated Swift temporary URLs. Setting it
+# to true is only useful when an image caching proxy is used.
+# Defaults to False. (boolean value)
+#swift_temp_url_cache_enabled=false
+
+# This is the delay (in seconds) from the time of the deploy
+# request (when the Swift temporary URL is generated) to when
+# the IPA ramdisk starts up and URL is used for the image
+# download. This value is used to check if the Swift temporary
+# URL duration is large enough to let the image download
+# begin. Also if temporary URL caching is enabled this will
+# determine if a cached entry will still be valid when the
+# download starts. swift_temp_url_duration value must be
+# greater than or equal to this option's value. Defaults to 0.
+# (integer value)
+# Minimum value: 0
+#swift_temp_url_expected_download_start_delay=0
+
# The "endpoint" (scheme, hostname, optional port) for the
# Swift URL of the form
-# "endpoint_url/api_version/account/container/object_id". Do
+# "endpoint_url/api_version/[account/]container/object_id". Do
# not include trailing "/". For example, use
-# "https://swift.example.com". Required for temporary URLs.
-# (string value)
+# "https://swift.example.com". If using RADOS Gateway,
+# endpoint may also contain /swift path; if it does not, it
+# will be appended. Required for temporary URLs. (string
+# value)
#swift_endpoint_url=<None>
# The Swift API version to create a temporary URL for.
# Defaults to "v1". Swift temporary URL format:
-# "endpoint_url/api_version/account/container/object_id"
+# "endpoint_url/api_version/[account/]container/object_id"
# (string value)
#swift_api_version=v1
# The account that Glance uses to communicate with Swift. The
# format is "AUTH_uuid". "uuid" is the UUID for the account
# configured in the glance-api.conf. Required for temporary
-# URLs. For example:
+# URLs when Glance backend is Swift. For example:
# "AUTH_a422b2-91f3-2f46-74b7-d7c9e8958f5d30". Swift temporary
# URL format:
-# "endpoint_url/api_version/account/container/object_id"
+# "endpoint_url/api_version/[account/]container/object_id"
# (string value)
#swift_account=<None>
# The Swift container Glance is configured to store its images
# in. Defaults to "glance", which is the default in glance-
# api.conf. Swift temporary URL format:
-# "endpoint_url/api_version/account/container/object_id"
+# "endpoint_url/api_version/[account/]container/object_id"
# (string value)
#swift_container=glance
@@ -855,6 +1133,12 @@
# value)
#swift_store_multiple_containers_seed=0
+# Type of endpoint to use for temporary URLs. If the Glance
+# backend is Swift, use "swift"; if it is CEPH with RADOS
+# gateway, use "radosgw". (string value)
+# Possible values: swift, radosgw
+#temp_url_endpoint_type=swift
+
#
# Options defined in ironic.common.image_service
@@ -863,11 +1147,13 @@
# Default glance hostname or IP address. (string value)
#glance_host=$my_ip
-# Default glance port. (integer value)
+# Default glance port. (port value)
+# Possible values: 0-65535
#glance_port=9292
# Default protocol to use when connecting to glance. Set to
# https for SSL. (string value)
+# Possible values: http, https
#glance_protocol=http
# A list of the glance api servers available to ironic. Prefix
@@ -884,10 +1170,34 @@
#glance_num_retries=0
# Authentication strategy to use when connecting to glance.
-# Only "keystone" and "noauth" are currently supported by
-# ironic. (string value)
+# (string value)
+# Possible values: keystone, noauth
#auth_strategy=keystone
+# Optional path to a CA certificate bundle to be used to
+# validate the SSL certificate served by glance. It is used
+# when glance_api_insecure is set to False. (string value)
+#glance_cafile=<None>
+
+
+[iboot]
+
+#
+# Options defined in ironic.drivers.modules.iboot
+#
+
+# Maximum retries for iBoot operations (integer value)
+#max_retry=3
+
+# Time (in seconds) between retry attempts for iBoot
+# operations (integer value)
+#retry_interval=1
+
+# Time (in seconds) to sleep between when rebooting (powering
+# off and on again). (integer value)
+# Minimum value: 0
+#reboot_delay=5
+
[ilo]
@@ -898,7 +1208,8 @@
# Timeout (in seconds) for iLO operations (integer value)
#client_timeout=60
-# Port to be used for iLO operations (integer value)
+# Port to be used for iLO operations (port value)
+# Possible values: 0-65535
#client_port=443
# The Swift iLO container to store data. (string value)
@@ -908,6 +1219,14 @@
# (integer value)
#swift_object_expiry_timeout=900
+# Set this to True to use http web server to host floppy
+# images and generated boot ISO. This requires http_root and
+# http_url to be configured in the [deploy] section of the
+# config file. If this is set to False, then Ironic will use
+# Swift to host the floppy images and generated boot_iso.
+# (boolean value)
+#use_web_server_for_images=false
+
#
# Options defined in ironic.drivers.modules.ilo.deploy
@@ -924,19 +1243,19 @@
#
# Priority for reset_ilo clean step. (integer value)
-#clean_priority_reset_ilo=1
+#clean_priority_reset_ilo=0
# Priority for reset_bios_to_default clean step. (integer
# value)
#clean_priority_reset_bios_to_default=10
# Priority for reset_secure_boot_keys clean step. This step
-# will reset the secure boot keys to manufacturing defaults.
+# will reset the secure boot keys to manufacturing defaults.
# (integer value)
#clean_priority_reset_secure_boot_keys_to_default=20
# Priority for clear_secure_boot_keys clean step. This step is
-# not enabled by default. It can be enabled to to clear all
+# not enabled by default. It can be enabled to clear all
# secure boot keys enrolled with iLO. (integer value)
#clean_priority_clear_secure_boot_keys=0
@@ -959,6 +1278,29 @@
#power_wait=2
+[inspector]
+
+#
+# Options defined in ironic.drivers.modules.inspector
+#
+
+# whether to enable inspection using ironic-inspector (boolean
+# value)
+# Deprecated group/name - [discoverd]/enabled
+#enabled=false
+
+# ironic-inspector HTTP endpoint. If this is not set, the
+# ironic-inspector client default (http://127.0.0.1:5050) will
+# be used. (string value)
+# Deprecated group/name - [discoverd]/service_url
+#service_url=<None>
+
+# period (in seconds) to check status of nodes on inspection
+# (integer value)
+# Deprecated group/name - [discoverd]/status_check_period
+#status_check_period=60
+
+
[ipmi]
#
@@ -983,24 +1325,80 @@
[irmc]
#
+# Options defined in ironic.drivers.modules.irmc.boot
+#
+
+# Ironic conductor node's "NFS" or "CIFS" root path (string
+# value)
+#remote_image_share_root=/remote_image_share_root
+
+# IP of remote image server (string value)
+#remote_image_server=<None>
+
+# Share type of virtual media (string value)
+# Possible values: CIFS, NFS
+#remote_image_share_type=CIFS
+
+# share name of remote_image_server (string value)
+#remote_image_share_name=share
+
+# User name of remote_image_server (string value)
+#remote_image_user_name=<None>
+
+# Password of remote_image_user_name (string value)
+#remote_image_user_password=<None>
+
+# Domain name of remote_image_user_name (string value)
+#remote_image_user_domain=
+
+
+#
# Options defined in ironic.drivers.modules.irmc.common
#
-# Port to be used for iRMC operations, either 80 or 443
-# (integer value)
+# Port to be used for iRMC operations (port value)
+# Possible values: 443, 80
#port=443
-# Authentication method to be used for iRMC operations, either
-# "basic" or "digest" (string value)
+# Authentication method to be used for iRMC operations (string
+# value)
+# Possible values: basic, digest
#auth_method=basic
# Timeout (in seconds) for iRMC operations (integer value)
#client_timeout=60
-# Sensor data retrieval method, either "ipmitool" or "scci"
-# (string value)
+# Sensor data retrieval method. (string value)
+# Possible values: ipmitool, scci
#sensor_method=ipmitool
+# SNMP protocol version (string value)
+# Possible values: v1, v2c, v3
+#snmp_version=v2c
+
+# SNMP port (port value)
+# Possible values: 0-65535
+#snmp_port=161
+
+# SNMP community. Required for versions "v1" and "v2c" (string
+# value)
+#snmp_community=public
+
+# SNMP security name. Required for version "v3" (string value)
+#snmp_security=<None>
+
+
+[ironic_lib]
+
+#
+# Options defined in ironic_lib.utils
+#
+
+# Command that is prefixed to commands that are run as root.
+# If not specified, no commands are run as root. (string
+# value)
+#root_helper=sudo ironic-rootwrap /etc/ironic/rootwrap.conf
+
[keystone]
@@ -1008,7 +1406,7 @@
# Options defined in ironic.common.keystone
#
-# The region used for getting endpoints of OpenStackservices.
+# The region used for getting endpoints of OpenStack services.
# (string value)
#region_name=<None>
@@ -1020,7 +1418,7 @@
#
# Complete public Identity API endpoint. (string value)
-#auth_uri=<None>
+auth_uri=http://127.0.0.1:5000/v2.0/
# API version of the admin Identity API endpoint. (string
# value)
@@ -1057,6 +1455,10 @@
# Verify HTTPS connections. (boolean value)
#insecure=false
+# The region in which the identity server can be found.
+# (string value)
+#region_name=<None>
+
# Directory used to cache files related to PKI tokens. (string
# value)
signing_dir=$state_path/keystone-signing
@@ -1064,7 +1466,7 @@
# Optionally specify a list of memcached server(s) to use for
# caching. If left undefined, tokens will instead be cached
# in-process. (list value)
-# Deprecated group/name - [DEFAULT]/memcache_servers
+# Deprecated group/name - [keystone_authtoken]/memcache_servers
#memcached_servers=<None>
# In order to prevent excessive effort spent validating
@@ -1081,13 +1483,13 @@
#revocation_cache_time=10
# (Optional) If defined, indicate whether token data should be
-# authenticated or authenticated and encrypted. Acceptable
-# values are MAC or ENCRYPT. If MAC, token data is
-# authenticated (with HMAC) in the cache. If ENCRYPT, token
-# data is encrypted and authenticated in the cache. If the
-# value is not one of these options or empty, auth_token will
-# raise an exception on initialization. (string value)
-#memcache_security_strategy=<None>
+# authenticated or authenticated and encrypted. If MAC, token
+# data is authenticated (with HMAC) in the cache. If ENCRYPT,
+# token data is encrypted and authenticated in the cache. If
+# the value is not one of these options or empty, auth_token
+# will raise an exception on initialization. (string value)
+# Possible values: None, MAC, ENCRYPT
+#memcache_security_strategy=None
# (Optional, mandatory if memcache_security_strategy is
# defined) This string is used for key derivation. (string
@@ -1103,7 +1505,7 @@
#memcache_pool_maxsize=10
# (Optional) Socket timeout in seconds for communicating with
-# a memcache server. (integer value)
+# a memcached server. (integer value)
#memcache_pool_socket_timeout=3
# (Optional) Number of seconds a connection to memcached is
@@ -1111,11 +1513,11 @@
#memcache_pool_unused_timeout=60
# (Optional) Number of seconds that an operation will wait to
-# get a memcache client connection from the pool. (integer
+# get a memcached client connection from the pool. (integer
# value)
#memcache_pool_conn_get_timeout=10
-# (Optional) Use the advanced (eventlet safe) memcache client
+# (Optional) Use the advanced (eventlet safe) memcached client
# pool. The advanced pool will only work under python 2.x.
# (boolean value)
#memcache_use_advanced_pool=false
@@ -1154,50 +1556,26 @@
# (list value)
#hash_algorithms=md5
-# Prefix to prepend at the beginning of the path. Deprecated,
-# use identity_uri. (string value)
-#auth_admin_prefix=
-
-# Host providing the admin Identity API endpoint. Deprecated,
-# use identity_uri. (string value)
-#auth_host=127.0.0.1
-
-# Port of the admin Identity API endpoint. Deprecated, use
-# identity_uri. (integer value)
-#auth_port=35357
-
-# Protocol of the admin Identity API endpoint (http or https).
-# Deprecated, use identity_uri. (string value)
-#auth_protocol=https
-
-# Complete admin Identity API endpoint. This should specify
-# the unversioned root endpoint e.g. https://localhost:35357/
-# (string value)
-#identity_uri=<None>
-
-# This option is deprecated and may be removed in a future
-# release. Single shared secret with the Keystone
-# configuration used for bootstrapping a Keystone
-# installation, or otherwise bypassing the normal
-# authentication process. This option should not be used, use
-# `admin_user` and `admin_password` instead. (string value)
-#admin_token=<None>
+# Authentication type to load (type of value is unknown)
+# Deprecated group/name - [keystone_authtoken]/auth_plugin
+#auth_type=<None>
+
+# Config Section from which to load plugin specific options
+# (type of value is unknown)
+#auth_section=<None>
+
+# Complete admin Identity API endpoint. This should specify the unversioned
+# root endpoint e.g. https://localhost:35357/ (string value)
+identity_uri = http://127.0.0.1:35357/
# Service username. (string value)
-admin_user=%SERVICE_USER%
+admin_user = %SERVICE_USER%
# Service user password. (string value)
-admin_password=%SERVICE_PASSWORD%
+admin_password = %SERVICE_PASSWORD%
# Service tenant name. (string value)
-admin_tenant_name=%SERVICE_TENANT_NAME%
-
-# Name of the plugin to load (string value)
-#auth_plugin=<None>
-
-# Config Section from which to load plugin specific options
-# (string value)
-#auth_section=<None>
+admin_tenant_name = %SERVICE_TENANT_NAME%
[matchmaker_redis]
@@ -1209,22 +1587,30 @@
# Host to locate redis. (string value)
#host=127.0.0.1
-# Use this port to connect to redis host. (integer value)
+# Use this port to connect to redis host. (port value)
+# Possible values: 0-65535
#port=6379
# Password for Redis server (optional). (string value)
-#password=<None>
-
-
-[matchmaker_ring]
-
-#
-# Options defined in oslo.messaging
-#
-
-# Matchmaker ring file (JSON). (string value)
-# Deprecated group/name - [DEFAULT]/matchmaker_ringfile
-#ringfile=/etc/oslo/matchmaker_ring.json
+#password=
+
+# List of Redis Sentinel hosts (fault tolerance mode) e.g.
+# [host:port, host1:port ... ] (list value)
+#sentinel_hosts=
+
+# Redis replica set name. (string value)
+#sentinel_group_name=oslo-messaging-zeromq
+
+# Time in ms to wait between connection attempts. (integer
+# value)
+#wait_timeout=500
+
+# Time in ms to wait before the transaction is killed.
+# (integer value)
+#check_timeout=20000
+
+# Timeout in ms on blocking socket operations (integer value)
+#socket_timeout=1000
[neutron]
@@ -1245,16 +1631,42 @@
#retries=3
# Default authentication strategy to use when connecting to
-# neutron. Can be either "keystone" or "noauth". Running
-# neutron in noauth mode (related to but not affected by this
-# setting) is insecure and should only be used for testing.
-# (string value)
+# neutron. Running neutron in noauth mode (related to but not
+# affected by this setting) is insecure and should only be
+# used for testing. (string value)
+# Possible values: keystone, noauth
#auth_strategy=keystone
-# UUID of the network to create Neutron ports on when booting
-# to a ramdisk for cleaning/zapping using Neutron DHCP (string
+# UUID of the network to create Neutron ports on, when booting
+# to a ramdisk for cleaning using Neutron DHCP. (string value)
+#cleaning_network_uuid=<None>
+
+
+[oneview]
+
+#
+# Options defined in ironic.drivers.modules.oneview.common
+#
+
+# URL where OneView is available (string value)
+#manager_url=<None>
+
+# OneView username to be used (string value)
+#username=<None>
+
+# OneView password to be used (string value)
+#password=<None>
+
+# Option to allow insecure connection with OneView (boolean
# value)
-#cleaning_network_uuid=<None>
+#allow_insecure_connections=false
+
+# Path to CA certificate (string value)
+#tls_cacert_file=<None>
+
+# Max connection retries to check changes on OneView (integer
+# value)
+#max_polling_attempts=12
[oslo_concurrency]
@@ -1264,6 +1676,7 @@
#
# Enables or disables inter-process locks. (boolean value)
+# Deprecated group/name - [DEFAULT]/disable_process_locking
#disable_process_locking=false
# Directory to use for lock files. For security, the
@@ -1271,7 +1684,8 @@
# running the processes that need locking. Defaults to
# environment variable OSLO_LOCK_PATH. If external locks are
# used, a lock path must be set. (string value)
-#lock_path=<None>
+# Deprecated group/name - [DEFAULT]/lock_path
+lock_path=$state_path/lock
[oslo_messaging_amqp]
@@ -1282,102 +1696,102 @@
# address prefix used when sending to a specific server
# (string value)
+# Deprecated group/name - [amqp1]/server_request_prefix
#server_request_prefix=exclusive
# address prefix used when broadcasting to all servers (string
# value)
+# Deprecated group/name - [amqp1]/broadcast_prefix
#broadcast_prefix=broadcast
# address prefix when sending to any server in group (string
# value)
+# Deprecated group/name - [amqp1]/group_request_prefix
#group_request_prefix=unicast
# Name for the AMQP container (string value)
+# Deprecated group/name - [amqp1]/container_name
#container_name=<None>
# Timeout for inactive connections (in seconds) (integer
# value)
+# Deprecated group/name - [amqp1]/idle_timeout
#idle_timeout=0
# Debug: dump AMQP frames to stdout (boolean value)
+# Deprecated group/name - [amqp1]/trace
#trace=false
-# CA certificate PEM file for verifing server certificate
-# (string value)
+# CA certificate PEM file to verify server certificate (string
+# value)
+# Deprecated group/name - [amqp1]/ssl_ca_file
#ssl_ca_file=
# Identifying certificate PEM file to present to clients
# (string value)
+# Deprecated group/name - [amqp1]/ssl_cert_file
#ssl_cert_file=
# Private key PEM file used to sign cert_file certificate
# (string value)
+# Deprecated group/name - [amqp1]/ssl_key_file
#ssl_key_file=
# Password for decrypting ssl_key_file (if encrypted) (string
# value)
+# Deprecated group/name - [amqp1]/ssl_key_password
#ssl_key_password=<None>
# Accept clients using either SSL or plain TCP (boolean value)
+# Deprecated group/name - [amqp1]/allow_insecure_clients
#allow_insecure_clients=false
-
-[oslo_messaging_qpid]
+# Space separated list of acceptable SASL mechanisms (string
+# value)
+# Deprecated group/name - [amqp1]/sasl_mechanisms
+#sasl_mechanisms=
+
+# Path to directory that contains the SASL configuration
+# (string value)
+# Deprecated group/name - [amqp1]/sasl_config_dir
+#sasl_config_dir=
+
+# Name of configuration file (without .conf suffix) (string
+# value)
+# Deprecated group/name - [amqp1]/sasl_config_name
+#sasl_config_name=
+
+# User name for message broker authentication (string value)
+# Deprecated group/name - [amqp1]/username
+#username=
+
+# Password for message broker authentication (string value)
+# Deprecated group/name - [amqp1]/password
+#password=
+
+
+[oslo_messaging_notifications]
#
# Options defined in oslo.messaging
#
-# Use durable queues in AMQP. (boolean value)
-# Deprecated group/name - [DEFAULT]/rabbit_durable_queues
-#amqp_durable_queues=false
-
-# Auto-delete queues in AMQP. (boolean value)
-#amqp_auto_delete=false
-
-# Size of RPC connection pool. (integer value)
-#rpc_conn_pool_size=30
-
-# Qpid broker hostname. (string value)
-#qpid_hostname=localhost
-
-# Qpid broker port. (integer value)
-#qpid_port=5672
-
-# Qpid HA cluster host:port pairs. (list value)
-#qpid_hosts=$qpid_hostname:$qpid_port
-
-# Username for Qpid connection. (string value)
-#qpid_username=
-
-# Password for Qpid connection. (string value)
-#qpid_password=
-
-# Space separated list of SASL mechanisms to use for auth.
-# (string value)
-#qpid_sasl_mechanisms=
-
-# Seconds between connection keepalive heartbeats. (integer
-# value)
-#qpid_heartbeat=60
-
-# Transport to use, either 'tcp' or 'ssl'. (string value)
-#qpid_protocol=tcp
-
-# Whether to disable the Nagle algorithm. (boolean value)
-#qpid_tcp_nodelay=true
-
-# The number of prefetched messages held by receiver. (integer
-# value)
-#qpid_receiver_capacity=1
-
-# The qpid topology version to use. Version 1 is what was
-# originally used by impl_qpid. Version 2 includes some
-# backwards-incompatible changes that allow broker federation
-# to work. Users should update to version 2 when they are
-# able to take everything down, as it requires a clean break.
-# (integer value)
-#qpid_topology_version=1
+# The Drivers(s) to handle sending notifications. Possible
+# values are messaging, messagingv2, routing, log, test, noop
+# (multi valued)
+# Deprecated group/name - [DEFAULT]/notification_driver
+#driver=
+
+# A URL representing the messaging driver to use for
+# notifications. If not set, we fall back to the same
+# configuration used for RPC. (string value)
+# Deprecated group/name - [DEFAULT]/notification_transport_url
+#transport_url=<None>
+
+# AMQP topic used for OpenStack notifications. (list value)
+# Deprecated group/name - [rpc_notifier2]/topics
+# Deprecated group/name - [DEFAULT]/notification_topics
+#topics=notifications
[oslo_messaging_rabbit]
@@ -1387,58 +1801,89 @@
#
# Use durable queues in AMQP. (boolean value)
+# Deprecated group/name - [DEFAULT]/amqp_durable_queues
# Deprecated group/name - [DEFAULT]/rabbit_durable_queues
#amqp_durable_queues=false
# Auto-delete queues in AMQP. (boolean value)
+# Deprecated group/name - [DEFAULT]/amqp_auto_delete
#amqp_auto_delete=false
-# Size of RPC connection pool. (integer value)
-#rpc_conn_pool_size=30
-
# SSL version to use (valid only if SSL enabled). Valid values
# are TLSv1 and SSLv23. SSLv2, SSLv3, TLSv1_1, and TLSv1_2 may
# be available on some distributions. (string value)
+# Deprecated group/name - [DEFAULT]/kombu_ssl_version
#kombu_ssl_version=
# SSL key file (valid only if SSL enabled). (string value)
+# Deprecated group/name - [DEFAULT]/kombu_ssl_keyfile
#kombu_ssl_keyfile=
# SSL cert file (valid only if SSL enabled). (string value)
+# Deprecated group/name - [DEFAULT]/kombu_ssl_certfile
#kombu_ssl_certfile=
# SSL certification authority file (valid only if SSL
# enabled). (string value)
+# Deprecated group/name - [DEFAULT]/kombu_ssl_ca_certs
#kombu_ssl_ca_certs=
# How long to wait before reconnecting in response to an AMQP
# consumer cancel notification. (floating point value)
+# Deprecated group/name - [DEFAULT]/kombu_reconnect_delay
#kombu_reconnect_delay=1.0
+# EXPERIMENTAL: Possible values are: gzip, bz2. If not set
+# compression will not be used. This option may notbe
+# available in future versions. (string value)
+#kombu_compression=<None>
+
+# How long to wait a missing client beforce abandoning to send
+# it its replies. This value should not be longer than
+# rpc_response_timeout. (integer value)
+# Deprecated group/name - [oslo_messaging_rabbit]/kombu_reconnect_timeout
+#kombu_missing_consumer_retry_timeout=60
+
+# Determines how the next RabbitMQ node is chosen in case the
+# one we are currently connected to becomes unavailable. Takes
+# effect only if more than one RabbitMQ node is provided in
+# config. (string value)
+# Possible values: round-robin, shuffle
+#kombu_failover_strategy=round-robin
+
# The RabbitMQ broker address where a single node is used.
# (string value)
+# Deprecated group/name - [DEFAULT]/rabbit_host
#rabbit_host=localhost
-# The RabbitMQ broker port where a single node is used.
-# (integer value)
+# The RabbitMQ broker port where a single node is used. (port
+# value)
+# Possible values: 0-65535
+# Deprecated group/name - [DEFAULT]/rabbit_port
#rabbit_port=5672
# RabbitMQ HA cluster host:port pairs. (list value)
+# Deprecated group/name - [DEFAULT]/rabbit_hosts
#rabbit_hosts=$rabbit_host:$rabbit_port
# Connect over SSL for RabbitMQ. (boolean value)
+# Deprecated group/name - [DEFAULT]/rabbit_use_ssl
#rabbit_use_ssl=false
# The RabbitMQ userid. (string value)
+# Deprecated group/name - [DEFAULT]/rabbit_userid
#rabbit_userid=guest
# The RabbitMQ password. (string value)
+# Deprecated group/name - [DEFAULT]/rabbit_password
#rabbit_password=guest
# The RabbitMQ login method. (string value)
+# Deprecated group/name - [DEFAULT]/rabbit_login_method
#rabbit_login_method=AMQPLAIN
# The RabbitMQ virtual host. (string value)
+# Deprecated group/name - [DEFAULT]/rabbit_virtual_host
#rabbit_virtual_host=/
# How frequently to retry connecting with RabbitMQ. (integer
@@ -1447,22 +1892,44 @@
# How long to backoff for between retries when connecting to
# RabbitMQ. (integer value)
+# Deprecated group/name - [DEFAULT]/rabbit_retry_backoff
#rabbit_retry_backoff=2
+# Maximum interval of RabbitMQ connection retries. Default is
+# 30 seconds. (integer value)
+#rabbit_interval_max=30
+
# Maximum number of RabbitMQ connection retries. Default is 0
# (infinite retry count). (integer value)
+# Deprecated group/name - [DEFAULT]/rabbit_max_retries
#rabbit_max_retries=0
-# Use HA queues in RabbitMQ (x-ha-policy: all). If you change
-# this option, you must wipe the RabbitMQ database. (boolean
-# value)
+# Try to use HA queues in RabbitMQ (x-ha-policy: all). If you
+# change this option, you must wipe the RabbitMQ database. In
+# RabbitMQ 3.0, queue mirroring is no longer controlled by the
+# x-ha-policy argument when declaring a queue. If you just
+# want to make sure that all queues (except those with auto-
+# generated names) are mirrored across all nodes, run:
+# "rabbitmqctl set_policy HA '^(?!amq\.).*' '{"ha-mode":
+# "all"}' " (boolean value)
+# Deprecated group/name - [DEFAULT]/rabbit_ha_queues
#rabbit_ha_queues=false
+# Positive integer representing duration in seconds for queue
+# TTL (x-expires). Queues which are unused for the duration of
+# the TTL are automatically deleted. The parameter affects
+# only reply and fanout queues. (integer value)
+# Minimum value: 1
+#rabbit_transient_queues_ttl=1800
+
+# Specifies the number of messages to prefetch. Setting to
+# zero allows unlimited messages. (integer value)
+#rabbit_qos_prefetch_count=0
+
# Number of seconds after which the Rabbit broker is
-# considered down if heartbeat's keep-alive fails (0 disables
-# the heartbeat, >0 enables it. Enabling heartbeats requires
-# kombu>=3.0.7 and amqp>=1.4.0). EXPERIMENTAL (integer value)
-#heartbeat_timeout_threshold=0
+# considered down if heartbeat's keep-alive fails (0 disable
+# the heartbeat). EXPERIMENTAL (integer value)
+#heartbeat_timeout_threshold=60
# How often times during the heartbeat_timeout_threshold we
# check the heartbeat. (integer value)
@@ -1470,8 +1937,139 @@
# Deprecated, use rpc_backend=kombu+memory or rpc_backend=fake
# (boolean value)
+# Deprecated group/name - [DEFAULT]/fake_rabbit
#fake_rabbit=false
+# Maximum number of channels to allow (integer value)
+#channel_max=<None>
+
+# The maximum byte size for an AMQP frame (integer value)
+#frame_max=<None>
+
+# How often to send heartbeats for consumer's connections
+# (integer value)
+#heartbeat_interval=1
+
+# Enable SSL (boolean value)
+#ssl=<None>
+
+# Arguments passed to ssl.wrap_socket (dict value)
+#ssl_options=<None>
+
+# Set socket timeout in seconds for connection's socket
+# (floating point value)
+#socket_timeout=0.25
+
+# Set TCP_USER_TIMEOUT in seconds for connection's socket
+# (floating point value)
+#tcp_user_timeout=0.25
+
+# Set delay for reconnection to some host which has connection
+# error (floating point value)
+#host_connection_reconnect_delay=0.25
+
+# Maximum number of connections to keep queued. (integer
+# value)
+#pool_max_size=10
+
+# Maximum number of connections to create above
+# `pool_max_size`. (integer value)
+#pool_max_overflow=0
+
+# Default number of seconds to wait for a connections to
+# available (integer value)
+#pool_timeout=30
+
+# Lifetime of a connection (since creation) in seconds or None
+# for no recycling. Expired connections are closed on acquire.
+# (integer value)
+#pool_recycle=600
+
+# Threshold at which inactive (since release) connections are
+# considered stale in seconds or None for no staleness. Stale
+# connections are closed on acquire. (integer value)
+#pool_stale=60
+
+# Persist notification messages. (boolean value)
+#notification_persistence=false
+
+# Exchange name for for sending notifications (string value)
+#default_notification_exchange=${control_exchange}_notification
+
+# Max number of not acknowledged message which RabbitMQ can
+# send to notification listener. (integer value)
+#notification_listener_prefetch_count=100
+
+# Reconnecting retry count in case of connectivity problem
+# during sending notification, -1 means infinite retry.
+# (integer value)
+#default_notification_retry_attempts=-1
+
+# Reconnecting retry delay in case of connectivity problem
+# during sending notification message (floating point value)
+#notification_retry_delay=0.25
+
+# Time to live for rpc queues without consumers in seconds.
+# (integer value)
+#rpc_queue_expiration=60
+
+# Exchange name for sending RPC messages (string value)
+#default_rpc_exchange=${control_exchange}_rpc
+
+# Exchange name for receiving RPC replies (string value)
+#rpc_reply_exchange=${control_exchange}_rpc_reply
+
+# Max number of not acknowledged message which RabbitMQ can
+# send to rpc listener. (integer value)
+#rpc_listener_prefetch_count=100
+
+# Max number of not acknowledged message which RabbitMQ can
+# send to rpc reply listener. (integer value)
+#rpc_reply_listener_prefetch_count=100
+
+# Reconnecting retry count in case of connectivity problem
+# during sending reply. -1 means infinite retry during
+# rpc_timeout (integer value)
+#rpc_reply_retry_attempts=-1
+
+# Reconnecting retry delay in case of connectivity problem
+# during sending reply. (floating point value)
+#rpc_reply_retry_delay=0.25
+
+# Reconnecting retry count in case of connectivity problem
+# during sending RPC message, -1 means infinite retry. If
+# actual retry attempts in not 0 the rpc request could be
+# processed more then one time (integer value)
+#default_rpc_retry_attempts=-1
+
+# Reconnecting retry delay in case of connectivity problem
+# during sending RPC message (floating point value)
+#rpc_retry_delay=0.25
+
+
+[oslo_middleware]
+
+#
+# Options defined in oslo.middleware
+#
+
+# The maximum body size for each request, in bytes. (integer
+# value)
+# Deprecated group/name - [DEFAULT]/osapi_max_request_body_size
+# Deprecated group/name - [DEFAULT]/max_request_body_size
+#max_request_body_size=114688
+
+
+#
+# Options defined in oslo.middleware
+#
+
+# The HTTP Header that will be used to determine what the
+# original request protocol scheme was, even if it was hidden
+# by an SSL termination proxy. (string value)
+# This option is deprecated and planned for removal in a future release.
+#secure_proxy_ssl_header=X-Forwarded-Proto
+
[oslo_policy]
@@ -1480,10 +2078,12 @@
#
# The JSON file that defines policies. (string value)
+# Deprecated group/name - [DEFAULT]/policy_file
#policy_file=policy.json
# Default rule. Enforced when a requested rule is not found.
# (string value)
+# Deprecated group/name - [DEFAULT]/policy_default_rule
#policy_default_rule=default
# Directories where policy configuration files are stored.
@@ -1492,9 +2092,20 @@
# file defined by policy_file must exist for these directories
# to be searched. Missing or empty directories are ignored.
# (multi valued)
+# Deprecated group/name - [DEFAULT]/policy_dirs
#policy_dirs=policy.d
+[oslo_versionedobjects]
+
+#
+# Options defined in oslo.versionedobjects
+#
+
+# Make exception message format errors fatal (boolean value)
+#fatal_exception_format_errors=false
+
+
[pxe]
#
@@ -1509,11 +2120,13 @@
# is created. (string value)
#default_ephemeral_format=ext4
-# Directory where images are stored on disk. (string value)
+# On the ironic-conductor node, directory where images are
+# stored on disk. (string value)
#images_path=/var/lib/ironic/images/
-# Directory where master instance images are stored on disk.
-# (string value)
+# On the ironic-conductor node, directory where master
+# instance images are stored on disk. Setting to <None>
+# disables image caching. (string value)
#instance_master_path=/var/lib/ironic/master_images
# Maximum size (in MiB) of cache for master images, including
@@ -1533,22 +2146,25 @@
# Options defined in ironic.drivers.modules.pxe
#
-# Template file for PXE configuration. (string value)
+# On ironic-conductor node, template file for PXE
+# configuration. (string value)
#pxe_config_template=$pybasedir/drivers/modules/pxe_config.template
-# Template file for PXE configuration for UEFI boot loader.
-# (string value)
+# On ironic-conductor node, template file for PXE
+# configuration for UEFI boot loader. (string value)
#uefi_pxe_config_template=$pybasedir/drivers/modules/elilo_efi_pxe_config.template
-# IP address of Ironic compute node's tftp server. (string
+# IP address of ironic-conductor node's TFTP server. (string
# value)
#tftp_server=$my_ip
-# Ironic compute node's tftp root path. (string value)
+# ironic-conductor node's TFTP root path. The ironic-conductor
+# must have read/write access to this path. (string value)
#tftp_root=/tftpboot
-# Directory where master tftp images are stored on disk.
-# (string value)
+# On ironic-conductor node, directory where master TFTP images
+# are stored on disk. Setting to <None> disables image
+# caching. (string value)
#tftp_master_path=/tftpboot/master_images
# Bootfile DHCP parameter. (string value)
@@ -1557,19 +2173,22 @@
# Bootfile DHCP parameter for UEFI boot mode. (string value)
#uefi_pxe_bootfile_name=elilo.efi
-# Ironic compute node's HTTP server URL. Example:
-# http://192.1.2.3:8080 (string value)
-#http_url=<None>
-
-# Ironic compute node's HTTP root path. (string value)
-#http_root=/httpboot
-
# Enable iPXE boot. (boolean value)
#ipxe_enabled=false
-# The path to the main iPXE script file. (string value)
+# On ironic-conductor node, the path to the main iPXE script
+# file. (string value)
#ipxe_boot_script=$pybasedir/drivers/modules/boot.ipxe
+# Timeout value (in seconds) for downloading an image via
+# iPXE. Defaults to 0 (no timeout) (integer value)
+#ipxe_timeout=0
+
+# The IP version that will be used for PXE booting. Defaults
+# to 4. EXPERIMENTAL (string value)
+# Possible values: 4, 6
+#ip_version=4
+
[seamicro]
@@ -1595,6 +2214,11 @@
# value)
#power_timeout=10
+# Time (in seconds) to sleep between when rebooting (powering
+# off and on again) (integer value)
+# Minimum value: 0
+#reboot_delay=0
+
[solaris_ipmi]
@@ -1616,9 +2240,49 @@
# Options defined in ironic.drivers.modules.ssh
#
-# libvirt uri (string value)
+# libvirt URI. (string value)
#libvirt_uri=qemu:///system
+# Number of attempts to try to get VM name used by the host
+# that corresponds to a node's MAC address. (integer value)
+#get_vm_name_attempts=3
+
+# Number of seconds to wait between attempts to get VM name
+# used by the host that corresponds to a node's MAC address.
+# (integer value)
+#get_vm_name_retry_interval=3
+
+
+[ssl]
+
+#
+# Options defined in oslo.service.sslutils
+#
+
+# CA certificate file to use to verify connecting clients.
+# (string value)
+# Deprecated group/name - [DEFAULT]/ssl_ca_file
+#ca_file=<None>
+
+# Certificate file to use when starting the server securely.
+# (string value)
+# Deprecated group/name - [DEFAULT]/ssl_cert_file
+#cert_file=<None>
+
+# Private key file to use when starting the server securely.
+# (string value)
+# Deprecated group/name - [DEFAULT]/ssl_key_file
+#key_file=<None>
+
+# SSL version to use (valid only if SSL enabled). Valid values
+# are TLSv1 and SSLv23. SSLv2, SSLv3, TLSv1_1, and TLSv1_2 may
+# be available on some distributions. (string value)
+#version=<None>
+
+# Sets the list of available ciphers. value should be a string
+# in the OpenSSL cipher list format. (string value)
+#ciphers=<None>
+
[swift]
@@ -1637,8 +2301,9 @@
# Options defined in ironic.drivers.modules.virtualbox
#
-# Port on which VirtualBox web service is listening. (integer
+# Port on which VirtualBox web service is listening. (port
# value)
+# Possible values: 0-65535
#port=18083
--- a/components/openstack/ironic/ironic.license Wed Sep 07 14:48:42 2016 -0700
+++ b/components/openstack/ironic/ironic.license Wed Sep 07 14:48:42 2016 -0700
@@ -1,5 +1,4 @@
-The following applies to all products licensed under the Apache 2.0 License:
-LICENSE:
+The following attribution text was taken from Component ironic Version 5.1.2
Apache License
Version 2.0, January 2004
@@ -175,1080 +174,3 @@
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
-============================================================
-ironic/conductor/utils.py
-ironic/objects/node.py
-ironic/objects/port.py
-ironic/objects/chassis.py
-ironic/api/controllers/v1/__init__.py
-ironic/api/controllers/base.py
-ironic/api/config.py
-ironic/api/middleware/auth_token.py
-ironic/api/middleware/__init__.py
-ironic/api/app.wsgi
-ironic/db/sqlalchemy/alembic/env.py
-ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py
-ironic/db/sqlalchemy/alembic/versions/31baaf680d2b_add_node_instance_info.py
-ironic/db/sqlalchemy/alembic/versions/3cb628139ea4_nodes_add_console_enabled.py
-ironic/db/sqlalchemy/alembic/versions/487deb87cc9d_add_conductor_affinity_and_online.py
-ironic/db/sqlalchemy/alembic/versions/21b331f883ef_add_provision_updated_at.py
-ironic/drivers/drac.py
-ironic/drivers/modules/drac/resource_uris.py
-ironic/drivers/modules/drac/power.py
-ironic/drivers/modules/drac/common.py
-ironic/drivers/modules/drac/client.py
-ironic/drivers/modules/seamicro.py
-ironic/tests/test_driver_factory.py
-ironic/tests/objects/test_chassis.py
-ironic/tests/objects/test_node.py
-ironic/tests/objects/test_port.py
-ironic/tests/db/sqlalchemy/test_types.py
-ironic/tests/test_keystone.py
-ironic/tests/drivers/test_seamicro.py
-ironic/tests/drivers/drac/test_client.py
-ironic/tests/drivers/drac/test_common.py
-ironic/tests/drivers/drac/test_power.py
-ironic/tests/conductor/test_conductor_utils.py
-ironic/tests/api/v1/test_ports.py
-ironic/tests/api/v1/test_chassis.py
-ironic/tests/api/v1/test_nodes.py
-ironic/tests/api/test_acl.py
-ironic/tests/api/test_hooks.py
-ironic/tests/api/utils.py
-ironic/common/keystone.py
-ironic/migrate_nova/migrate_db.py
-ironic/common/context.py
-ironic/openstack/common/periodic_task.py
-etc/apache2/ironic
-
-# 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.
-
-============================================================
-ironic/common/exception.py
-ironic/db/sqlalchemy/migration.py
-ironic/db/migration.py
-ironic/tests/base.py
-ironic/tests/__init__.py
-ironic/tests/conf_fixture.py
-
-# Copyright 2010 United States Government as represented by the
-# Administrator of the National Aeronautics and Space Administration.
-# 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.
-
-============================================================
-ironic/common/images.py
-ironic/openstack/common/imageutils.py
-
-# Copyright 2010 United States Government as represented by the
-# Administrator of the National Aeronautics and Space Administration.
-# All Rights Reserved.
-# Copyright (c) 2010 Citrix Systems, 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.
-
-============================================================
-ironic/common/safe_utils.py
-ironic/openstack/common/loopingcall.py
-ironic/openstack/common/service.py
-ironic/openstack/common/jsonutils.py
-
-# Copyright 2010 United States Government as represented by the
-# Administrator of the National Aeronautics and Space Administration.
-# Copyright 2011 Justin Santa Barbara
-# 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.
-
-============================================================
-ironic/common/utils.py
-# Copyright 2010 United States Government as represented by the
-# Administrator of the National Aeronautics and Space Administration.
-# Copyright 2011 Justin Santa Barbara
-# Copyright (c) 2012 NTT DOCOMO, 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.
-
-============================================================
-ironic/common/config.py
-ironic/common/paths.py
-ironic/netconf.py
-
-# Copyright 2010 United States Government as represented by the
-# Administrator of the National Aeronautics and Space Administration.
-# All Rights Reserved.
-# Copyright 2012 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.
-
-============================================================
-ironic/tests/matchers.py
-
-# Copyright 2010 United States Government as represented by the
-# Administrator of the National Aeronautics and Space Administration.
-# Copyright 2012 Hewlett-Packard Development Company, L.P.
-#
-# 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.
-============================================================
-ironic/common/glance_service/base_image_service.py
-ironic/common/image_service.py
-
-# Copyright 2010 OpenStack Foundation
-# Copyright 2013 Hewlett-Packard Development Company, L.P.
-# 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.
-
-============================================================
-ironic/openstack/common/apiclient/base.py
-
-# Copyright 2010 Jacob Kaplan-Moss
-# Copyright 2011 OpenStack Foundation
-# Copyright 2012 Grid Dynamics
-# Copyright 2013 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.
-
-============================================================
-ironic/openstack/common/apiclient/exceptions.py
-
-# Copyright 2010 Jacob Kaplan-Moss
-# Copyright 2011 Nebula, Inc.
-# Copyright 2013 Alessio Ababilov
-# Copyright 2013 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.
-
-============================================================
-ironic/tests/db/sqlalchemy/test_migrations.py
-
-# Copyright 2010-2011 OpenStack Foundation
-# Copyright 2012-2013 IBM Corp.
-# 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.
-
-============================================================
-ironic/version.py
-ironic/common/policy.py
-ironic/openstack/common/fileutils.py
-ironic/openstack/common/lockutils.py
-ironic/openstack/common/strutils.py
-ironic/openstack/common/context.py
-ironic/openstack/common/local.py
-ironic/openstack/common/importutils.py
-ironic/openstack/common/processutils.py
-ironic/openstack/common/timeutils.py
-
-# Copyright 2011 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.
-
-============================================================
-ironic/tests/stubs.py
-
-# Copyright (c) 2011 Citrix Systems, 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.
-
-============================================================
-ironic/openstack/common/excutils.py
-
-# Copyright 2011 OpenStack Foundation.
-# Copyright 2012, 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.
-
-============================================================
-ironic/openstack/common/log.py
-# Copyright 2011 OpenStack Foundation.
-# Copyright 2010 United States Government as represented by the
-# Administrator of the National Aeronautics and Space Administration.
-# 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.
-
-============================================================
-ironic/tests/test_utils.py
-
-# Copyright 2011 Justin Santa Barbara
-# Copyright 2012 Hewlett-Packard Development Company, L.P.
-#
-# 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.
-
-============================================================
-ironic/openstack/common/network_utils.py
-ironic/openstack/common/policy.py
-ironic/tests/fake_policy.py
-
-# Copyright (c) 2012 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.
-
-============================================================
-ironic/tests/policy_fixture.py
-
-# Copyright 2012 Hewlett-Packard Development Company, L.P.
-#
-# 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.
-
-============================================================
-ironic/openstack/common/threadgroup.py
-ironic/openstack/common/cliutils.py
-
-# Copyright 2012 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.
-
-============================================================
-ironic/openstack/common/uuidutils.py
-
-# Copyright (c) 2012 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.
-
-============================================================
-ironic/common/service.py
-
-# Copyright © 2012 eNovance <[email protected]>
-#
-# Author: Julien Danjou <[email protected]>
-#
-# 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.
-
-============================================================
-ironic/api/controllers/root.py
-ironic/api/acl.py
-ironic/api/hooks.py
-ironic/api/middleware/parsable_error.py
-ironic/api/app.py
-
-# Copyright © 2012 New Dream Network, LLC (DreamHost)
-# 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.
-============================================================
-ironic/tests/db/base.py
-ironic/tests/db/__init__.py
-ironic/migrate_nova/nova_models.py
-ironic/drivers/modules/deploy_utils.py
-
-# Copyright (c) 2012 NTT DOCOMO, INC.
-# All Rights Reserved.
-# flake8: noqa
-#
-# 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.
-
-============================================================
-ironic/openstack/common/eventlet_backdoor.py
-
-# Copyright (c) 2012 OpenStack Foundation.
-# Administrator of the National Aeronautics and Space Administration.
-# 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.
-
-============================================================
-ironic/openstack/common/config/generator.py
-
-# Copyright 2012 SINA Corporation
-# Copyright 2014 Cisco Systems, 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.
-
-============================================================
-ironic/common/states.py
-ironic/migrate_nova/nova_baremetal_states.py
-
-# Copyright (c) 2012 NTT DOCOMO, INC.
-# Copyright 2010 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.
-
-============================================================
-ironic/nova/scheduler/ironic_host_manager.py
-
-# Copyright (c) 2012 NTT DOCOMO, INC.
-# Copyright (c) 2011-2014 OpenStack Foundation
-# Copyright 2014 Red Hat, 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.
-
-============================================================
-ironic/tests/drivers/test_deploy_utils.py
-
-# Copyright (c) 2012 NTT DOCOMO, INC.
-# Copyright 2011 OpenStack Foundation
-# Copyright 2011 Ilya Alekseyev
-#
-# 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.
-
-============================================================
-ironic/common/glance_service/service_utils.py
-
-# Copyright 2012 OpenStack Foundation
-# Copyright 2013 Hewlett-Packard Development Company, L.P.
-# 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.
-
-============================================================
-ironic/drivers/modules/ipmitool.py
-ironic/tests/drivers/test_ipmitool.py
-
-# Copyright 2012 Hewlett-Packard Development Company, L.P.
-# Copyright (c) 2012 NTT DOCOMO, INC.
-# Copyright 2014 International Business Machines 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.
-
-============================================================
-ironic/openstack/common/gettextutils.py
-
-# Copyright 2012 Red Hat, Inc.
-# Copyright 2013 IBM Corp.
-# 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.
-
-============================================================
-ironic/openstack/common/systemd.py
-
-# Copyright 2012-2014 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.
-
-============================================================
-ironic/conductor/task_manager.py
-ironic/conductor/rpcapi.py
-ironic/cmd/api.py
-ironic/cmd/conductor.py
-ironic/cmd/dbsync.py
-ironic/cmd/__init__.py
-ironic/objects/conductor.py
-ironic/common/glance_service/service.py
-ironic/common/glance_service/v2/image_service.py
-ironic/common/glance_service/v1/image_service.py
-ironic/common/hash_ring.py
-ironic/drivers/fake.py
-ironic/drivers/pxe.py
-ironic/drivers/base.py
-ironic/drivers/modules/iscsi_deploy.py
-ironic/drivers/modules/pxe.py
-ironic/drivers/modules/fake.py
-ironic/drivers/modules/ssh.py
-ironic/api/__init__.py
-ironic/api/controllers/v1/node.py
-ironic/db/api.py
-ironic/db/sqlalchemy/models.py
-ironic/db/sqlalchemy/api.py
-ironic/nova/virt/ironic/__init__.py
-ironic/tests/test_images.py
-ironic/tests/objects/test_conductor.py
-ironic/tests/db/utils.py
-ironic/tests/db/test_chassis.py
-ironic/tests/db/test_conductor.py
-ironic/tests/db/test_nodes.py
-ironic/tests/db/test_ports.py
-ironic/tests/test_glance_service.py
-ironic/tests/test_swift.py
-ironic/tests/test_hash_ring.py
-ironic/tests/drivers/test_iscsi_deploy.py
-ironic/tests/drivers/test_pxe.py
-ironic/tests/drivers/test_fake.py
-ironic/tests/drivers/test_utils.py
-ironic/tests/drivers/test_ssh.py
-ironic/tests/conductor/test_utils.py
-ironic/tests/conductor/test_task_manager.py
-ironic/tests/conductor/utils.py
-ironic/tests/conductor/test_rpcapi.py
-ironic/tests/api/base.py
-ironic/tests/api/test_base.py
-ironic/tests/test_dbsync.py
-ironic/openstack/common/__init__.py
-setup.py
-
-# Copyright 2013 Hewlett-Packard Development Company, L.P.
-# 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.
-
-============================================================
-ironic/objects/__init__.py
-ironic/objects/base.py
-ironic/objects/utils.py
-ironic/drivers/modules/ipminative.py
-ironic/tests/objects/test_objects.py
-ironic/tests/drivers/test_ipminative.py
-
-# Copyright 2013 IBM Corp.
-#
-# 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.
-
-============================================================
-ironic/common/driver_factory.py
-ironic/api/controllers/v1/collection.py
-ironic/api/controllers/v1/state.py
-ironic/api/controllers/v1/types.py
-ironic/api/controllers/v1/utils.py
-ironic/api/controllers/v1/chassis.py
-ironic/api/controllers/v1/driver.py
-ironic/api/controllers/link.py
-ironic/tests/test_policy.py
-ironic/tests/api/v1/test_types.py
-ironic/tests/api/v1/test_drivers.py
-ironic/tests/api/v1/test_utils.py
-ironic/tests/api/test_root.py
-
-# Copyright 2013 Red Hat, 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.
-
-============================================================
-ironic/openstack/common/versionutils.py
-ironic/openstack/common/apiclient/fake_client.py
-
-# Copyright (c) 2013 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.
-
-============================================================
-ironic/api/controllers/v1/port.py
-
-# Copyright 2013 UnitedStack 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.
-
-============================================================
-ironic/drivers/modules/snmp.py
-ironic/tests/drivers/test_snmp.py
-
-# Copyright 2013,2014 Cray Inc
-#
-# Authors: David Hewson <[email protected]>
-# Stig Telfer <[email protected]>
-# Mark Goddard <[email protected]>
-#
-# 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.
-
-============================================================
-ironic/conductor/manager.py
-ironic/tests/conductor/test_manager.py
-
-# Copyright 2013 Hewlett-Packard Development Company, L.P.
-# Copyright 2013 International Business Machines 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.
-
-============================================================
-ironic/openstack/common/apiclient/auth.py
-
-# Copyright 2013 OpenStack Foundation
-# Copyright 2013 Spanish National Research Council.
-# 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.
-
-============================================================
-tools/install_venv_common.py
-
-# Copyright 2013 OpenStack Foundation
-# Copyright 2013 IBM Corp.
-#
-# 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.
-
-============================================================
-ironic/common/swift.py
-ironic/tests/dhcp/test_neutron.py
-ironic/dhcp/neutron.py
-
-# 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.
-
-============================================================
-ironic/common/network.py
-ironic/common/pxe_utils.py
-ironic/common/dhcp_factory.py
-ironic/drivers/modules/agent_client.py
-ironic/drivers/modules/agent.py
-ironic/drivers/agent.py
-ironic/tests/dhcp/test_factory.py
-ironic/tests/objects/utils.py
-ironic/tests/test_network.py
-ironic/tests/test_pxe_utils.py
-ironic/tests/drivers/test_agent_client.py
-ironic/tests/drivers/test_agent.py
-ironic/dhcp/base.py
-ironic/dhcp/none.py
-
-# Copyright 2014 Rackspace, 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.
-
-============================================================
-ironic/__init__.py
-ironic/common/i18n.py
-ironic/drivers/utils.py
-ironic/drivers/modules/ilo/power.py
-ironic/drivers/modules/ilo/deploy.py
-ironic/drivers/modules/ilo/common.py
-ironic/drivers/ilo.py
-ironic/tests/drivers/third_party_driver_mocks.py
-ironic/tests/drivers/__init__.py
-ironic/tests/drivers/ilo/test_common.py
-ironic/tests/drivers/ilo/test_deploy.py
-ironic/tests/drivers/ilo/test_power.py
-
-# Copyright (c) 2014 Hewlett-Packard Development Company, L.P.
-# 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.
-
-============================================================
-ironic/common/disk_partitioner.py
-ironic/common/boot_devices.py
-ironic/common/rpc.py
-ironic/drivers/modules/iboot.py
-ironic/drivers/modules/drac/management.py
-ironic/db/sqlalchemy/alembic/versions/3bea56f25597_add_unique_constraint_to_instance_uuid.py
-ironic/tests/test_disk_partitioner.py
-ironic/tests/drivers/test_image_cache.py
-ironic/tests/drivers/test_iboot.py
-ironic/tests/drivers/drac/utils.py
-ironic/tests/drivers/drac/test_management.py
-
-# Copyright 2014 Red Hat, 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.
-
-============================================================
-ironic/tests/drivers/test_console_utils.py
-ironic/drivers/modules/console_utils.py
-
-# Copyright 2014 International Business Machines 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.
-
-============================================================
-ironic/drivers/modules/image_cache.py
-ironic/nova/virt/ironic/driver.py
-ironic/nova/compute/manager.py
-
-# Copyright 2014 Red Hat, Inc.
-# Copyright 2013 Hewlett-Packard Development Company, L.P.
-# 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.
-
-============================================================
-ironic/locale/ironic-log-error.pot
-ironic/locale/ironic-log-critical.pot
-ironic/locale/ironic-log-info.pot
-ironic/locale/ironic-log-warning.pot
-
-# Copyright (C) 2014 ORGANIZATION
-# This file is distributed under the same license as the ironic project.
-# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
-
-============================================================
-ironic/locale/fr/LC_MESSAGES/ironic-log-critical.po
-
-# Copyright (C) 2014 ORGANIZATION
-# This file is distributed under the same license as the ironic project.
-#
-# Translators:
-# Maxime COQUEREL <[email protected]>, 2014
-# Andrew_Melim <[email protected]>, 2014
-
-============================================================
--- a/components/openstack/ironic/ironic.p5m Wed Sep 07 14:48:42 2016 -0700
+++ b/components/openstack/ironic/ironic.p5m Wed Sep 07 14:48:42 2016 -0700
@@ -28,7 +28,7 @@
set name=pkg.summary value="OpenStack Ironic (Bare Metal Service)"
set name=pkg.description \
value="OpenStack Ironic provides a service to provision bare metal machines instead of virtual machines. By default, it will use PXE and IPMI in concert to provision and turn on/off machines, but also supports vendor-specific plugins which may implement additional functionality."
-set name=pkg.human-version value="Kilo $(COMPONENT_VERSION)"
+set name=pkg.human-version value="Mitaka $(COMPONENT_VERSION)"
set name=com.oracle.info.description \
value="Ironic, the OpenStack bare metal provisioning service"
set name=com.oracle.info.tpno value=$(TPNO)
@@ -42,7 +42,7 @@
set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
set name=openstack.upgrade-id reboot-needed=true value=$(COMPONENT_BE_VERSION)
set name=org.opensolaris.arc-caseid value=PSARC/2013/350 value=PSARC/2015/172 \
- value=PSARC/2015/535
+ value=PSARC/2015/535 value=PSARC/2016/455
set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
#
dir path=etc/ironic owner=ironic group=ironic mode=0700
@@ -97,6 +97,7 @@
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/api/controllers/v1/state.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/api/controllers/v1/types.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/api/controllers/v1/utils.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/api/controllers/v1/versions.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/api/expose.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/api/hooks.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/api/middleware/__init__.py
@@ -109,9 +110,10 @@
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/common/__init__.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/common/boot_devices.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/common/config.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/common/config_generator/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/common/config_generator/generator.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/common/context.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/common/dhcp_factory.py
-file path=usr/lib/python$(PYVER)/vendor-packages/ironic/common/disk_partitioner.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/common/driver_factory.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/common/exception.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/common/fsm.py
@@ -134,6 +136,7 @@
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/common/paths.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/common/policy.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/common/pxe_utils.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/common/raid.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/common/rpc.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/common/safe_utils.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/common/service.py
@@ -141,6 +144,7 @@
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/common/swift.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/common/utils.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/conductor/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/conductor/base_manager.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/conductor/manager.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/conductor/rpcapi.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/conductor/task_manager.py
@@ -163,9 +167,14 @@
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/db/sqlalchemy/alembic/versions/3bea56f25597_add_unique_constraint_to_instance_uuid.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/db/sqlalchemy/alembic/versions/3cb628139ea4_nodes_add_console_enabled.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/db/sqlalchemy/alembic/versions/487deb87cc9d_add_conductor_affinity_and_online.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/db/sqlalchemy/alembic/versions/48d6c242bb9b_add_node_tags.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/db/sqlalchemy/alembic/versions/4f399b21ae71_add_node_clean_step.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/db/sqlalchemy/alembic/versions/516faf1bb9b1_resizing_column_nodes_driver.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/db/sqlalchemy/alembic/versions/5674c57409b9_replace_nostate_with_available.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/db/sqlalchemy/alembic/versions/5ea1b0d310e_added_port_group_table_and_altered_ports.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/db/sqlalchemy/alembic/versions/789acc877671_add_raid_config.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/db/sqlalchemy/alembic/versions/bb59b63f55a_add_node_driver_internal_info.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/db/sqlalchemy/alembic/versions/f6fdb920c182_set_pxe_enabled_true.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/db/sqlalchemy/api.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/db/sqlalchemy/migration.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/db/sqlalchemy/models.py
@@ -179,6 +188,7 @@
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/drac.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/fake.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/ilo.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/irmc.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/__init__.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/agent.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/agent_base_vendor.py
@@ -191,78 +201,99 @@
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/amt/resource_uris.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/amt/vendor.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/boot.ipxe
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/cimc/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/cimc/common.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/cimc/management.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/cimc/power.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/console_utils.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/deploy_utils.py
-file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/discoverd.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/drac/__init__.py
-file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/drac/client.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/drac/bios.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/drac/common.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/drac/job.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/drac/management.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/drac/power.py
-file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/drac/resource_uris.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/drac/vendor_passthru.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/elilo_efi_pxe_config.template
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/fake.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/iboot.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/ilo/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/ilo/boot.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/ilo/common.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/ilo/console.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/ilo/deploy.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/ilo/firmware_processor.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/ilo/inspect.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/ilo/management.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/ilo/power.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/ilo/vendor.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/image_cache.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/inspector.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/ipminative.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/ipmitool.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/ipxe_config.template
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/irmc/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/irmc/boot.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/irmc/common.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/irmc/inspect.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/irmc/management.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/irmc/power.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/iscsi_deploy.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/master_grub_cfg.txt
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/msftocs/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/msftocs/common.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/msftocs/management.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/msftocs/msftocsclient.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/msftocs/power.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/oneview/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/oneview/common.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/oneview/management.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/oneview/power.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/oneview/vendor.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/pxe.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/pxe_config.template
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/pxe_grub_config.template
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/seamicro.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/snmp.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/solaris_ipmitool.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/ssh.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/ucs/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/ucs/helper.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/ucs/management.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/ucs/power.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/virtualbox.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/modules/wol.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/oneview.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/pxe.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/raid_config_schema.json
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/solaris.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/drivers/utils.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/netconf.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/nova/__init__.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/nova/compute/__init__.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/nova/compute/manager.py
-file path=usr/lib/python$(PYVER)/vendor-packages/ironic/nova/scheduler/__init__.py
-file path=usr/lib/python$(PYVER)/vendor-packages/ironic/nova/scheduler/ironic_host_manager.py
-file path=usr/lib/python$(PYVER)/vendor-packages/ironic/nova/virt/__init__.py
-file path=usr/lib/python$(PYVER)/vendor-packages/ironic/nova/virt/ironic/__init__.py
-file path=usr/lib/python$(PYVER)/vendor-packages/ironic/nova/virt/ironic/driver.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/objects/__init__.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/objects/base.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/objects/chassis.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/objects/conductor.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/objects/fields.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/objects/node.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/objects/port.py
-file path=usr/lib/python$(PYVER)/vendor-packages/ironic/objects/utils.py
-file path=usr/lib/python$(PYVER)/vendor-packages/ironic/openstack/__init__.py
-file path=usr/lib/python$(PYVER)/vendor-packages/ironic/openstack/common/__init__.py
-file path=usr/lib/python$(PYVER)/vendor-packages/ironic/openstack/common/_i18n.py
-file path=usr/lib/python$(PYVER)/vendor-packages/ironic/openstack/common/config/__init__.py
-file path=usr/lib/python$(PYVER)/vendor-packages/ironic/openstack/common/config/generator.py
-file path=usr/lib/python$(PYVER)/vendor-packages/ironic/openstack/common/eventlet_backdoor.py
-file path=usr/lib/python$(PYVER)/vendor-packages/ironic/openstack/common/fileutils.py
-file path=usr/lib/python$(PYVER)/vendor-packages/ironic/openstack/common/gettextutils.py
-file path=usr/lib/python$(PYVER)/vendor-packages/ironic/openstack/common/imageutils.py
-file path=usr/lib/python$(PYVER)/vendor-packages/ironic/openstack/common/importutils.py
-file path=usr/lib/python$(PYVER)/vendor-packages/ironic/openstack/common/local.py
-file path=usr/lib/python$(PYVER)/vendor-packages/ironic/openstack/common/log.py
-file path=usr/lib/python$(PYVER)/vendor-packages/ironic/openstack/common/loopingcall.py
-file path=usr/lib/python$(PYVER)/vendor-packages/ironic/openstack/common/periodic_task.py
-file path=usr/lib/python$(PYVER)/vendor-packages/ironic/openstack/common/service.py
-file path=usr/lib/python$(PYVER)/vendor-packages/ironic/openstack/common/systemd.py
-file path=usr/lib/python$(PYVER)/vendor-packages/ironic/openstack/common/threadgroup.py
-file path=usr/lib/python$(PYVER)/vendor-packages/ironic/openstack/common/versionutils.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic/objects/portgroup.py
file path=usr/lib/python$(PYVER)/vendor-packages/ironic/version.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic_tempest_plugin/README.rst
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic_tempest_plugin/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic_tempest_plugin/clients.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic_tempest_plugin/common/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic_tempest_plugin/common/waiters.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic_tempest_plugin/config.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic_tempest_plugin/plugin.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic_tempest_plugin/services/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic_tempest_plugin/services/baremetal/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic_tempest_plugin/services/baremetal/base.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic_tempest_plugin/services/baremetal/v1/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic_tempest_plugin/services/baremetal/v1/json/__init__.py
+file path=usr/lib/python$(PYVER)/vendor-packages/ironic_tempest_plugin/services/baremetal/v1/json/baremetal_client.py
dir path=var/lib/ironic owner=ironic group=ironic mode=0700
#
group groupname=ironic gid=91
@@ -271,6 +302,10 @@
#
license ironic.license license="Apache 2.0"
+# To upgrade to the Mitaka version, the Kilo version of the package
+# must be on the system
+depend type=origin fmri=cloud/openstack/[email protected] root-image=true
+
# force a dependency on package delivering aimanifest(1M)
depend type=require fmri=__TBD pkg.debug.depend.file=usr/bin/aimanifest
@@ -295,21 +330,21 @@
# force a dependency on alembic; pkgdepend work is needed to flush this out.
depend type=require fmri=library/python/alembic-$(PYV)
-# force a dependency on babel; pkgdepend work is needed to flush this out.
-depend type=require fmri=library/python/babel-$(PYV)
+# force a dependency on automaton; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/automaton-$(PYV)
# force a dependency on eventlet; pkgdepend work is needed to flush this out.
depend type=require fmri=library/python/eventlet-$(PYV)
+# force a dependency on futurist; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/futurist-$(PYV)
+
# force a dependency on glanceclient; pkgdepend work is needed to flush this
# out.
depend type=require fmri=library/python/glanceclient-$(PYV)
-# force a dependency on greenlet; pkgdepend work is needed to flush this out.
-depend type=require fmri=library/python/greenlet-$(PYV)
-
-# force a dependency on iso8601; pkgdepend work is needed to flush this out.
-depend type=require fmri=library/python/iso8601-$(PYV)
+# force a dependency on ironic-lib; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/ironic-lib-$(PYV)
# force a dependency on jinja2; pkgdepend work is needed to flush this out.
depend type=require fmri=library/python/jinja2-$(PYV)
@@ -317,6 +352,9 @@
# force a dependency on jsonpatch; pkgdepend work is needed to flush this out.
depend type=require fmri=library/python/jsonpatch-$(PYV)
+# force a dependency on jsonschema; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/jsonschema-$(PYV)
+
# force a dependency on keystoneclient; pkgdepend work is needed to flush this
# out.
depend type=require fmri=library/python/keystoneclient-$(PYV)
@@ -352,10 +390,17 @@
# force a dependency on oslo.i18n; pkgdepend work is needed to flush this out.
depend type=require fmri=library/python/oslo.i18n-$(PYV)
+# force a dependency on oslo.log; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/oslo.log-$(PYV)
+
# force a dependency on oslo.messaging; pkgdepend work is needed to flush this
# out.
depend type=require fmri=library/python/oslo.messaging-$(PYV)
+# force a dependency on oslo.middleware; pkgdepend work is needed to flush this
+# out.
+depend type=require fmri=library/python/oslo.middleware-$(PYV)
+
# force a dependency on oslo.policy; pkgdepend work is needed to flush this
# out.
depend type=require fmri=library/python/oslo.policy-$(PYV)
@@ -364,9 +409,17 @@
# this out.
depend type=require fmri=library/python/oslo.serialization-$(PYV)
+# force a dependency on oslo.service; pkgdepend work is needed to flush this
+# out.
+depend type=require fmri=library/python/oslo.service-$(PYV)
+
# force a dependency on oslo.utils; pkgdepend work is needed to flush this out.
depend type=require fmri=library/python/oslo.utils-$(PYV)
+# force a dependency on oslo.versionedobjects; pkgdepend work is needed to flush
+# this out.
+depend type=require fmri=library/python/oslo.versionedobjects-$(PYV)
+
# force a dependency on paramiko; pkgdepend work is needed to flush this out.
depend type=require fmri=library/python/paramiko-$(PYV)
@@ -376,9 +429,15 @@
# force a dependency on pecan; pkgdepend work is needed to flush this out.
depend type=require fmri=library/python/pecan-$(PYV)
+# force a dependency on psutil; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/psutil-$(PYV)
+
# force a dependency on pysendfile; pkgdepend work is needed to flush this out.
depend type=require fmri=library/python/pysendfile-$(PYV)
+# force a dependency on pytz; pkgdepend work is needed to flush this out.
+depend type=require fmri=library/python/pytz-$(PYV)
+
# force a dependency on requests; pkgdepend work is needed to flush this out.
depend type=require fmri=library/python/requests-$(PYV)
@@ -388,9 +447,6 @@
# force a dependency on scp; pkgdepend work is needed to flush this out.
depend type=require fmri=library/python/scp-$(PYV)
-# force a dependency on setuptools; pkgdepend work is needed to flush this out.
-depend type=require fmri=library/python/setuptools-$(PYV)
-
# force a dependency on six; pkgdepend work is needed to flush this out.
depend type=require fmri=library/python/six-$(PYV)
--- a/components/openstack/ironic/patches/01-requirements.patch Wed Sep 07 14:48:42 2016 -0700
+++ b/components/openstack/ironic/patches/01-requirements.patch Wed Sep 07 14:48:42 2016 -0700
@@ -1,75 +1,22 @@
In-house patch to remove unnecessary dependencies from Ironic's
requirements files. The specific reasons are as follows:
-lxml Not applicable
-
-oslo.rootwrap Not applicable to Solaris
+websockify Not applicable
-posix-ipc Not applicable
-
-sqlalchemy-migrate Not applicable
-
-websockify Not applicable
+oslo.rootwrap Not applicable to Solaris
---- ironic-2015.1.2/ironic.egg-info/requires.txt.~1~ 2015-10-13 10:59:16.000000000 -0700
-+++ ironic-2015.1.2/ironic.egg-info/requires.txt 2016-02-01 20:03:06.190153642 -0800
-@@ -2,10 +2,8 @@ pbr!=0.7,<1.0,>=0.6
- SQLAlchemy<=0.9.99,>=0.9.7
- alembic<0.8.1,>=0.7.2
- eventlet!=0.17.0,>=0.16.1
--lxml>=2.3
- WebOb>=1.2.3
- greenlet>=0.3.2
--sqlalchemy-migrate!=0.9.8,<0.10.0,>=0.9.5
- netaddr>=0.7.12
- paramiko>=1.13.0
- iso8601>=0.1.9
-@@ -15,12 +13,10 @@ python-keystoneclient<1.4.0,>=1.2.0
- python-swiftclient<2.5.0,>=2.2.0
- stevedore<1.4.0,>=1.3.0 # Apache-2.0
- pysendfile==2.0.0
--websockify<0.7,>=0.6.0
- oslo.concurrency<1.9.0,>=1.8.2 # Apache-2.0
- oslo.config<1.10.0,>=1.9.3 # Apache-2.0
- oslo.context<0.3.0,>=0.2.0 # Apache-2.0
- oslo.db<1.8.0,>=1.7.0 # Apache-2.0
--oslo.rootwrap<1.7.0,>=1.6.0 # Apache-2.0
- oslo.i18n<1.6.0,>=1.5.0 # Apache-2.0
- oslo.policy<0.4.0,>=0.3.1 # Apache-2.0
- oslo.serialization<1.5.0,>=1.4.0 # Apache-2.0
-@@ -34,4 +30,3 @@ Jinja2>=2.6 # BSD License3 clause
- keystonemiddleware<1.6.0,>=1.5.0
- oslo.messaging<1.9.0,>=1.8.0 # Apache-2.0
- retrying!=1.3.0,>=1.2.3 # Apache-2.0
--posix-ipc
---- ironic-2015.1.2/requirements.txt.~1~ 2015-10-13 10:53:40.000000000 -0700
-+++ ironic-2015.1.2/requirements.txt 2016-02-01 20:03:53.251275842 -0800
-@@ -5,10 +5,8 @@ pbr!=0.7,<1.0,>=0.6
- SQLAlchemy<=0.9.99,>=0.9.7
- alembic<0.8.1,>=0.7.2
- eventlet!=0.17.0,>=0.16.1
--lxml>=2.3
- WebOb>=1.2.3
- greenlet>=0.3.2
--sqlalchemy-migrate!=0.9.8,<0.10.0,>=0.9.5
- netaddr>=0.7.12
- paramiko>=1.13.0
- iso8601>=0.1.9
-@@ -18,12 +16,10 @@ python-keystoneclient<1.4.0,>=1.2.0
- python-swiftclient<2.5.0,>=2.2.0
- stevedore<1.4.0,>=1.3.0 # Apache-2.0
- pysendfile==2.0.0
--websockify<0.7,>=0.6.0
- oslo.concurrency<1.9.0,>=1.8.2 # Apache-2.0
- oslo.config<1.10.0,>=1.9.3 # Apache-2.0
- oslo.context<0.3.0,>=0.2.0 # Apache-2.0
- oslo.db<1.8.0,>=1.7.0 # Apache-2.0
--oslo.rootwrap<1.7.0,>=1.6.0 # Apache-2.0
- oslo.i18n<1.6.0,>=1.5.0 # Apache-2.0
- oslo.policy<0.4.0,>=0.3.1 # Apache-2.0
- oslo.serialization<1.5.0,>=1.4.0 # Apache-2.0
-@@ -37,4 +33,3 @@ Jinja2>=2.6 # BSD License (3 clause)
- keystonemiddleware<1.6.0,>=1.5.0
- oslo.messaging<1.9.0,>=1.8.0 # Apache-2.0
- retrying!=1.3.0,>=1.2.3 # Apache-2.0
--posix-ipc
+--- ironic-5.1.0/requirements.txt.~1~ 2016-03-31 01:16:58.699655912 -0800
++++ ironic-5.1.0/requirements.txt 2016-03-31 01:17:28.642059472 -0800
+@@ -18,12 +18,10 @@ python-swiftclient>=2.2.0 # Apache-2.0
+ pytz>=2013.6 # MIT
+ stevedore>=1.5.0 # Apache-2.0
+ pysendfile>=2.0.0 # MIT
+-websockify>=0.6.1 # LGPLv3
+ oslo.concurrency>=3.5.0 # Apache-2.0
+ oslo.config>=3.7.0 # Apache-2.0
+ oslo.context>=0.2.0 # Apache-2.0
+ oslo.db>=4.1.0 # Apache-2.0
+-oslo.rootwrap>=2.0.0 # Apache-2.0
+ oslo.i18n>=2.1.0 # Apache-2.0
+ oslo.log>=1.14.0 # Apache-2.0
+ oslo.middleware>=3.0.0 # Apache-2.0
--- a/components/openstack/ironic/patches/02-driver-entry.patch Wed Sep 07 14:48:42 2016 -0700
+++ b/components/openstack/ironic/patches/02-driver-entry.patch Wed Sep 07 14:48:42 2016 -0700
@@ -1,12 +1,12 @@
Add solaris driver to list of available drivers
---- ORIGINAL/setup.cfg 2015-06-02 17:45:44.579172327 +0100
-+++ ironic-2015.1.0/setup.cfg 2015-06-02 17:48:37.552116117 +0100
-@@ -63,6 +63,7 @@
- pxe_snmp = ironic.drivers.pxe:PXEAndSNMPDriver
- pxe_irmc = ironic.drivers.pxe:PXEAndIRMCDriver
- pxe_amt = ironic.drivers.pxe:PXEAndAMTDriver
+--- ironic-5.1.0/setup.cfg.~2~ 2016-03-31 01:17:58.933550758 -0800
++++ ironic-5.1.0/setup.cfg 2016-03-31 01:19:08.019805547 -0800
+@@ -81,6 +81,7 @@ ironic.drivers =
+ pxe_wol = ironic.drivers.pxe:PXEAndWakeOnLanDriver
+ pxe_iscsi_cimc = ironic.drivers.pxe:PXEAndCIMCDriver
+ pxe_agent_cimc = ironic.drivers.agent:AgentAndCIMCDriver
+ solaris = ironic.drivers.solaris:SolarisAndIPMIToolDriver
ironic.database.migration_backend =
sqlalchemy = ironic.db.sqlalchemy.migration
-
+ tempest.test_plugins =
--- a/components/openstack/ironic/patches/03-boot-device.patch Wed Sep 07 14:48:42 2016 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-Ironic is very "Linux" centric, so for all nodes regardless of architecture it
-reports the same list of supported boot devices.
-
-This is not correct for SPARC, e.g. PXE is not supported.
-
-This patch simply passes the task into the driver implemented method for
-getting the boot device so that architecture specific information can be
-returned.
-
-Upstream bug logged against trunk:
- https://bugs.launchpad.net/ironic/+bug/1391598
-
---- ORIGINAL/ironic/conductor/manager.py 2015-05-05 22:41:35.764613395 +0100
-+++ ironic-2015.1.0/ironic/conductor/manager.py 2015-05-05 22:47:23.046291559 +0100
-@@ -1615,7 +1615,7 @@
- if not getattr(task.driver, 'management', None):
- raise exception.UnsupportedDriverExtension(
- driver=task.node.driver, extension='management')
-- return task.driver.management.get_supported_boot_devices()
-+ return task.driver.management.get_supported_boot_devices(task)
-
- @messaging.expected_exceptions(exception.NoFreeConductorWorker,
- exception.NodeLocked,
---- ORIGINAL/ironic/drivers/base.py 2015-05-05 22:41:35.780975517 +0100
-+++ ironic-2015.1.0/ironic/drivers/base.py 2015-05-05 22:48:01.342155003 +0100
-@@ -629,9 +629,10 @@
- """
-
- @abc.abstractmethod
-- def get_supported_boot_devices(self):
-+ def get_supported_boot_devices(self, task=None):
- """Get a list of the supported boot devices.
-
-+ :param task: a task from TaskManager.
- :returns: A list with the supported boot devices defined
- in :mod:`ironic.common.boot_devices`.
- """
--- a/components/openstack/ironic/patches/04-generate_sample.patch Wed Sep 07 14:48:42 2016 -0700
+++ b/components/openstack/ironic/patches/04-generate_sample.patch Wed Sep 07 14:48:42 2016 -0700
@@ -1,8 +1,8 @@
In-house patch to update the generate_sample script and related data
files for use with Solaris.
---- ironic-2015.1.2/tools/config/generate_sample.sh.orig 2015-10-13 10:53:40.000000000 -0700
-+++ ironic-2015.1.2/tools/config/generate_sample.sh 2016-02-01 21:01:28.356560160 -0800
+--- ironic-5.1.2/tools/config/generate_sample.sh.~1~ 2016-06-21 12:57:28.000000000 -0700
++++ ironic-5.1.2/tools/config/generate_sample.sh 2016-07-19 14:17:02.813964380 -0700
@@ -1,5 +1,7 @@
#!/usr/bin/env bash
@@ -11,3 +11,22 @@
# Generate sample configuration for your project.
#
# Aside from the command line flags, it also respects a config file which
+--- ironic-5.1.2/tools/config/oslo.config.generator.rc.~1~ 2016-06-21 12:57:28.000000000 -0700
++++ ironic-5.1.2/tools/config/oslo.config.generator.rc 2016-07-19 14:27:38.284860215 -0700
+@@ -1,2 +1,15 @@
+-export IRONIC_CONFIG_GENERATOR_EXTRA_LIBRARIES='oslo.db oslo.messaging oslo.middleware.cors keystonemiddleware.auth_token oslo.concurrency oslo.policy oslo.log oslo.service.service oslo.service.periodic_task oslo.service.sslutils'
++export IRONIC_CONFIG_GENERATOR_EXTRA_LIBRARIES='
++ oslo.db
++ oslo.messaging
++ oslo.middleware
++ keystonemiddleware.auth_token
++ oslo.concurrency
++ oslo.policy
++ oslo.log
++ oslo.service.service
++ oslo.service.periodic_task
++ oslo.service.sslutils
++ oslo.service.wsgi
++ oslo.versionedobjects
++'
+ export IRONIC_CONFIG_GENERATOR_EXTRA_MODULES='ironic_lib.disk_utils ironic_lib.disk_partitioner ironic_lib.utils'
--- a/components/openstack/ironic/patches/05-mysql_cluster_support.patch Wed Sep 07 14:48:42 2016 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-This patchset is for bug:
-
-22726240 - Ironic needs to support MySQL Cluster
-
-This fixes the following aspects of Ironic:
-1. Implementation of an oslo.db configuration parameter to specify the MySQL
- storage engine (mysql_storage_engine).
-2. Replacement of hardcoded SQL statements that set the engine to "InnoDB"
- to the above configuration value.
-3. Logic to handle SQL differences between MySQL InnoDB and MySQL Cluster (NDB).
- This includes column lengths, constraints, foreign keys, and indexes.
-4. Changes the conductor table column "online" to "online_status" to make it
- more portable. "online" is a reserved word in MySQL and other databases.
-
-This has not been committed upstream, but has been filed in launchpad:
-
-https://bugs.launchpad.net/ironic/+bug/1564110
-
-
---- ironic-2015.1.2/ironic/db/sqlalchemy/models.py.orig 2016-07-29 12:25:49.797916170 -0600
-+++ ironic-2015.1.2/ironic/db/sqlalchemy/models.py 2016-07-28 14:06:28.682668208 -0600
-@@ -49,8 +49,12 @@ db_options.set_defaults(cfg.CONF, _DEFAU
- def table_args():
- engine_name = urlparse.urlparse(cfg.CONF.database.connection).scheme
- if engine_name == 'mysql':
-- return {'mysql_engine': cfg.CONF.database.mysql_engine,
-- 'mysql_charset': "utf8"}
-+ if cfg.CONF.database.mysql_storage_engine == "NDBCLUSTER":
-+ return {'mysql_engine': cfg.CONF.database.mysql_storage_engine,
-+ 'mysql_charset': "utf8"}
-+ else:
-+ return {'mysql_engine': cfg.CONF.database.mysql_engine,
-+ 'mysql_charset': "utf8"}
- return None
-
-
-@@ -135,7 +139,7 @@ class Conductor(Base):
- id = Column(Integer, primary_key=True)
- hostname = Column(String(255), nullable=False)
- drivers = Column(JSONEncodedList)
-- online = Column(Boolean, default=True)
-+ online = Column('online', Boolean, default=True, quote=True)
-
-
- class Node(Base):
---- ironic-2015.1.2/ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py.orig 2016-07-29 12:25:57.319572657 -0600
-+++ ironic-2015.1.2/ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py 2016-07-29 12:27:49.354646151 -0600
-@@ -24,8 +24,10 @@ revision = '2581ebaf0cb2'
- down_revision = None
-
- from alembic import op
-+from oslo_config import cfg
- import sqlalchemy as sa
-
-+CONF = cfg.CONF
-
- def upgrade():
- # commands auto generated by Alembic - please adjust!
-@@ -38,7 +40,7 @@ def upgrade():
- sa.Column('drivers', sa.Text(), nullable=True),
- sa.PrimaryKeyConstraint('id'),
- sa.UniqueConstraint('hostname', name='uniq_conductors0hostname'),
-- mysql_ENGINE='InnoDB',
-+ mysql_ENGINE=CONF.database.mysql_storage_engine,
- mysql_DEFAULT_CHARSET='UTF8'
- )
- op.create_table(
-@@ -51,7 +53,7 @@ def upgrade():
- sa.Column('description', sa.String(length=255), nullable=True),
- sa.PrimaryKeyConstraint('id'),
- sa.UniqueConstraint('uuid', name='uniq_chassis0uuid'),
-- mysql_ENGINE='InnoDB',
-+ mysql_ENGINE=CONF.database.mysql_storage_engine,
- mysql_DEFAULT_CHARSET='UTF8'
- )
- op.create_table(
-@@ -77,7 +79,7 @@ def upgrade():
- sa.ForeignKeyConstraint(['chassis_id'], ['chassis.id'], ),
- sa.PrimaryKeyConstraint('id'),
- sa.UniqueConstraint('uuid', name='uniq_nodes0uuid'),
-- mysql_ENGINE='InnoDB',
-+ mysql_ENGINE=CONF.database.mysql_storage_engine,
- mysql_DEFAULT_CHARSET='UTF8'
- )
- op.create_index('node_instance_uuid', 'nodes', ['instance_uuid'],
-@@ -95,7 +97,7 @@ def upgrade():
- sa.PrimaryKeyConstraint('id'),
- sa.UniqueConstraint('address', name='uniq_ports0address'),
- sa.UniqueConstraint('uuid', name='uniq_ports0uuid'),
-- mysql_ENGINE='InnoDB',
-+ mysql_ENGINE=CONF.database.mysql_storage_engine,
- mysql_DEFAULT_CHARSET='UTF8'
- )
- # end Alembic commands
---- ironic-2015.1.2/ironic/db/sqlalchemy/alembic/versions/487deb87cc9d_add_conductor_affinity_and_online.py.orig 2016-07-29 12:26:04.346647881 -0600
-+++ ironic-2015.1.2/ironic/db/sqlalchemy/alembic/versions/487deb87cc9d_add_conductor_affinity_and_online.py 2016-07-28 14:06:28.683182607 -0600
-@@ -29,7 +29,7 @@ import sqlalchemy as sa
- def upgrade():
- op.add_column(
- 'conductors',
-- sa.Column('online', sa.Boolean(), default=True))
-+ sa.Column('online', sa.Boolean(), default=True, quote=True))
- op.add_column(
- 'nodes',
- sa.Column('conductor_affinity', sa.Integer(),
-@@ -42,4 +42,4 @@ def downgrade():
- op.drop_constraint('nodes_conductor_affinity_fk', 'nodes',
- type_='foreignkey')
- op.drop_column('nodes', 'conductor_affinity')
-- op.drop_column('conductors', 'online')
-+ op.drop_column('conductors', 'online', quote=True)