Images with GPT partition tables could not be deployed correctly
The if condition could never be met due to an invalid syntax, leading to
partitioning failure
Change-Id: I11202b115f9b80e8c853dca36cc66ab0eb8f7dea
Story: #2005357
Task: #30317
It should not be up to the driver to handle the error. The error should
reach the manager. Moreover, handling the error in the driver and
returning nothing caused the manager to consider the step done and go to
the next one instead of interrupting the cleaning workflow
Change-Id: I3825838b5507bc735d983466aa3cac0edd4dfaca
Story: #2005357
Task: #30315
Neutron's pre-commit processing can take some time
and even exceed 30 seconds in CI. Lets make it 45 and
have an explicit timeout passed for the request handling
to be setup with the python-neutronclient initialization.
Change-Id: I9947656c959af2128e7dbf30ba6b38cc2af35dae
Story: 2005371
Task: 30347
python-requests api misused (invalid kw).
raw images could not be streamed correctly down to the host
Change-Id: I2a2d9bd92899c4d93bf7bceefa9a01d80328b762
Story: #2005357
Task: #30316
Presently the data collection defaults to only permit
sensor data to be collected and transmitted as notifications
for instances deployed via nova, however standalone operators
or general data center operators may find the sensor data
useful to identify undeployed failing hardware and overall
check the hardware health.
Adds a boolean to control the filter being set for a deployed
node.
Change-Id: I345f6e3a9f47d8d09ea488d64927fd0c5fb7dfc7
When the conductor has debugging enabled, that command is
passed to ipmitool to enable debugging of other commands.
However, this means tons of extra data is dumped as part of
the sensor data collection for ironic, which breaks string
parsing and ultimately metrics collection.
Since we can identify these lines, lets ignore them.
Change-Id: Ife77707210f8289d8f2e0223fb9ee1909d798546
Story: 2005332
Task: 30267
Fixes an issue when the image source is a local file, the image
will be truncated to 2G and fails deployment due to image corruption.
The issue originates from pysendfile, but local testing shows this
also applies to python3.5 os.sendfile().
Co-Authored-By: Kaifeng Wang <kaifeng.w@gmail.com>
Change-Id: I6263a5221fda0509fbd0b6195c079e5e22800a1b
Story: 2004556
Task: 28316
Add file to the reno documentation build to show release notes for
stable/stein.
Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/stein.
Change-Id: I7a50d8daf818b701603759bfca5265972a8eda93
Sem-Ver: feature
The value of capabilities can be either a string or a dict.
There is a function to parse its value and provide a correct
output as expected and it should always be used when reading
node capabilities.
Change-Id: I789fffd5f67eddbe5058581f13d75320ca712897
Story: 2005280
Task: 30133
python-dracclient versions 1.5.0 and later are required for a bug fix to
the idrac hardware type which assigns ports' pxe_enabled flags during
out-of-band inspection [1].
[1] https://review.openstack.org/#/c/617951
Change-Id: Iead9f0272d5cdd57c8837826ad340e11f5bcae15
During OOB Introspection, it adds boot mode as capability
in node properties so that after preparation of overcloud
nodes it will show which node has uefi or bios boot mode
properties respectively.
Change-Id: Iad8060fa13e37a2fa78d998c56d132b11ff948cf
Story: 2005119
Metric notifications were hard coded with a value indicating
"ipmi" for all hardware types and management interfaces which
offer sensor data to be transmitted as a metric notification.
Also adds a node_name field to allow processors to leverage
the node name as opposed to needing ironic API or database access
to construct enough data to make metrics notifications usable.
Change-Id: I1116bd5812f3715bd7d6d1bf34df932f81702147
Support for the -y option of ipmitool
Quote from docs:
-y <hex key>
Use supplied Kg key for IPMIv2 authentication. The key is expected
in hexadecimal format and can be used to specify keys with non-printable
characters. E.g. '-k PASSWORD' and '-y 50415353574F5244' are equivalent.
The default is not to use any Kg key.
Change-Id: Ie6a9fc1a41d924e30eff526b3eae929ce6e085c6
Story: #2005158
Task: #29876
Provides a facility to minimize the power state changes of
a baremetal node to save critical time during deployment
operations.
Story: #2004965
Task: #29408
Depends-On: https://review.openstack.org/636778
Change-Id: I7ebbaddb33b38c87246c10165339ac4bac0ac6fc
In python-dracclient 0.1.0, the Job.state field was renamed to
Job.status. The old name was left for backwards compatibility, but was
removed in python-dracclient 2.0.0.
This change uses the new field name, to avoid an AttributeError in
python-dracclient 2.0.0 onwards.
Also modifies the drac unit tests to use the Job, RAIDController,
PhysicalDisk and VirtualDisk objects from the dracclient library when
available.
Change-Id: I074347748e1ce0f749f47ce30d4cb123a70dc2b8
Story: 2005225
Task: 30007
The `hash_distribution_replicas` was an experimental feature. It accounted for
the number of hosts to map onto each hash partition and caused a couple of bugs.
Story: #1680160
Task: #10585
Change-Id: I72c19b46f63b139a1a4b1fd0f6c41a1e62e65383
This patch proposes to adding iBMC driver for deploying the
Huawei 2288H V5, CH121 V5 series servers.
The driver aims to add management and power interfaces using
Huawei iBMC RESTful APIs for those series servers.
Change-Id: Ic5e920e4e58811c6a6dfe927732595950aea64e7
Story: 2004635
Task: 28566
This patch grants the possibility to change the ansible python
interpreter used on remote managed machines as per-node
driver_info option.
Follw-up of https://review.openstack.org/641376
Change-Id: Ic1a994970a5aef5bbbbaaa747818e7ac402912ad
Story: 2005159
Task: 29915
teach the ipmitool driver about _get_ipmitool_args and use that in all
cases that we want to build an ipmitool command line. this solves
the problem that the serial console drivers were failing to honor the
ipmi_port setting in driver_info, while it was being correctly used
for power state, etc.
Change-Id: Ifbf6a92c2305567985cfbc41dbf76a076ecb8a7b
Story: 2005138
Task: 29826
This parameter makes no sense for them and is actually ignored after
validation. This change makes it optional (still allowed for backward
compatibility). Also cleanly separate validation code for partition and
whole-disk images.
Change-Id: I98da7d54cc6dd158d415e83c61659badc83fbeda
Story: #2005165
Task: #29895
If Redfish OOB inspection returns current boot mode of the
node, add this boot mode into node properties/capabilities.
The idea behind this change is to align with the in-band
inspection behavior [1].
1. https://docs.openstack.org/ironic-inspector/ocata/usage.html#boot-mode
Story: 1668487
Task: 29855
Change-Id: I11de35fa87512d12eb6a259b26e88cd94e4a803d
This patch adds the option to configure the python interpreter
that is used when deploying machines using the ansible deploy
interface.
Also set the default interpreter for tinyipa image with
ansible deploy interface to /usr/bin/python3 on devstack
and marks ironic-standalone job as voting again.
Change-Id: I8eb58fb00980c9e8946e3b3ef77611a9f5212668
Story: #2005159
Task: #29877
Extend the API with the ability to build config drives from meta_data,
network_data and user_data, where meta_data and network_data are JSON
objects, and user_data is either a JSON object, a JSON array or
raw contents as a string.
This change uses openstacksdk (which is already an indirect dependency)
for building config drives.
Change-Id: Ie1f399a4cb6d4fe5afec79341d3bccc0f81204b2
Story: #2005083
Task: #29663
This change contains two fixes for the same issue:
* Do not pass an instance of ImageRefValidationFailed as a message
to an exception constructor.
* Make sure that IronicException.__str__ always returns an str,
even when a non-string is passed as the first argument to __init__.
Change-Id: I96edb28955e64915e9d6a481634857fd27690555
Story: #2003682
Task: #26206
Adds deploy_templates REST API endpoints for retrieving, creating,
updating and deleting deployment templates. Also adds notification
objects for deploy templates.
Bumps the minimum WSME requirement to 0.9.3, since the lower constraints
job was failing with a 500 error when sending data in an unexpected
format to the POST /deploy_templates API.
Change-Id: I0e8c97e600f9b1080c8bdec790e5710e7a92d016
Story: 1722275
Task: 28677