In change Ib22753aa6ae0fedce7fb9ecf63f135fda0185c5b the port data model
was updated to include a physical_network field, but this was not
exposed to the user by the REST API. This change exposes the
physical_network field in the REST API.
The port CRUD notification object has been updated to include the
physical_network field.
The API reference and user guide have been updated to include
information about the ports' physical network field.
The API microversion has been bumped to 1.34. During a rolling upgrade
from Ocata when the API service is pinned, the port physical network
field is hidden from API responses, and API requests including the field
are rejected.
Change-Id: I7023a1d6618608c867c31396fa677d3016ca493e
Partial-Bug: #1666009
Non-persistent boot device change is not being used in places
where it should be during cleaning and deployment phases,
due to the default behavior of PXE interface forcing a
persistent change when using legacy function
deploy_utils.try_set_boot_device.
For some drivers, e.g. OneView, a persistent change is far more
costly than a non-persistent one, so this fix can bring
performance improvements.
Change-Id: I213e9c6173ee9c7c6c31064afcfae07764af0f7b
Closes-Bug: 1701721
Co-Authored-By: Stenio Araujo <steniaraujo@lsd.ufcg.edu.br>
This is a follow-up patch to the patch so that the power status
is not retried if a power action fails:
ee5d4942a1c33736ffe05ec01619142be400c2f4
It addresses the comments as well as adds more clarification
and updates the documentation to refer to the new
[ipmi]command_retry_timeout config option.
Change-Id: Ib21544da260565ae399e2d07b32af9bd8b810280
Related-Bug: #1692895
This updates the reno for 3bda561e318e0172d6209f1580340ed9a04a161d
to clarify what was being fixed (returning HTTP 400 instead of
HTTP 500).
Change-Id: I412b650a22af3fdbaa92771c66eb37f3c07b7243
Related-Bug: #1686457
If the system is set to use MyISAM engine as default, during upgrade
a new conductor_hardware_interfaces table will be created with MyISAM
engine. This will cause a mix of InnoDB and MyISAM tables in single
database, and obsolete a foreign key to conductors table.
This bug in particular fails test_models_sync unit test, when it is
executed on a system, where MyISAM is set as default option for local
MySQL server.
Change-Id: Ic47426b1a12eda5728e9971a27ad3767c0245d50
Closes-Bug: 1702158
This patch adds storage_interface field to node-related notification
objects.
Change-Id: I1d67075a2c29d24d6321fd9989fbe4ee9f8f513c
Partial-Bug: #1559691
This patch enables cinder storage interface for generic hardware. It
also adds storage_interface field to node resource and driver resource
in API and bumps API version to 1.33 so that storage interface can be
set and shown via API.
Change-Id: I2c74f386291e588a25612f73de08e8367795acff
Partial-Bug: #1559691
Currently conductor method inspecting hardware
raises HardwareInspectionFailure with 500 Internal Error
if driver.power.validate fail (e.g. , ``driver_info`` is
not provided or some fields are missing).
Since this is an apparent client error, an HTTP error code
400-Bad request is more appropriate.
The validation method actually raises this needed error
and catching this is not needed anymore.
Change-Id: I080dedeac7ce33135fde8c53494e618ccf07c941
Closes-Bug: #1686457
When ironic supports VLAN, the management network is usually not
the same as provision network, where TFTP server resides.
This patch adds a new configuration for socat address, namely
[console]/socat_address, and defaults to $my_ip for backward
compatibility.
Change-Id: I329a1707c74dc187d890231376e8ddf9eb36390b
Closes-Bug: #1691344
If conductor is being stopped it is trying to wait of completion of
all periodical tasks which are already in the running state. If there
are many nodes assigned to the conductor this may take a long time,
and oslo service library can kill thread by timeout. This patch adds
code
that stops iterations over nodes in periodical tasks if conductor
is being stopped. These changes reduce probability to get locked
nodes after shutdown and time of shutdown.
Closes-Bug: #1701495
Change-Id: If6ea48d01132817a6f47560d3f6ee1756ebfab39
This change addresses review feedback from change
I55229f0ab37e657b7668dd4fe402fe6b5a6cda40 in the release
note, as well as the parameter text. Accordingly, the sample
configuration has been updated.
Change-Id: Ieea574f1bcc9b6c663aeb8d89475c1dd8cf6964d
This patch introduces following REST API endpoints to get/set volume
connector and volume target in Ironic.
- GET /v1/volume
- GET /v1/nodes/<node_uuid or name>/volume
- {GET, POST} /v1/volume/connectors
- {GET, PATCH, DELETE} /v1/volume/connectors/<volume_connector_uuid>
- GET /v1/nodes/<node_uuid or name>/volume/connectors
- {GET, POST} /v1/volume/targets
- {GET, PATCH, DELETE} /v1/volume/targets/<volume_target_uuid>
- GET /v1/nodes/<node_uuid or name>/volume/targets
This also adds CRUD notifications for volume connector and volume
target.
Co-Authored-By: Tomoki Sekiyama <tomoki.sekiyama.qu@hitachi.com>
Co-Authored-By: David Lenwell <dlenwell@gmail.com>
Co-Authored-By: Hironori Shiina <shiina.hironori@jp.fujitsu.com>
Change-Id: I328a698f2109841e1e122e17fea4b345c4179161
Partial-Bug: 1526231
- Adds new boot interface 'irmc-pxe'. Deprecates 'pxe' boot interface
from using with hardware type 'irmc'.
- Adds functions backup_bios_config and restore_bios_config to iRMC
management interface for implementing the BIOS BACKUP/RESTORE
mechanism supporting iRMC S4 hardware. The function backup_bios_config()
will be called automatically before deploying.
- Adds clean step restore_irmc_bios_config to restore BIOS config
for a node during automatic cleaning.
Change-Id: I04aa5bc2f5e287e048d0b52fee123e53ae2eaa99
Partial-Bug: #1639688
The old code blindly required power status even if the power action
failed. Now, it will retry the power action only when it detects a
retryable failure, and will only poll for power status if the power
action is successful. This patch also moves the logic for handling
waiting for power status into the conductor so that the logic is
standardised between drivers.
Change-Id: Ib48056e05d359848386ac057b58921f40b7bdd60
Co-Authored-By: Sam Betts <sam@code-smash.net>
Related-Bug: #1675529
Closes-Bug: #1692895
Creating a node with the noop network interface, then listing the node's
VIFs, e.g. via openstack baremetal node vif list <node>, ironic
previously returned a 500 internal server error. This change fixes the
issue by returning an empty list instead of None from the vif_list
method.
This change also adds unit tests to cover the noop network interface as
it previously had none.
Change-Id: I327c961f094528d46a78c26610d198ebc2a4f370
Closes-Bug: #1700497
This is needed to fix the CI broken by glance switching to running
under wsgi, and thus breaking our assumption that glance is accessible
by host:port only.
The options glance_host, glance_port and glance_protocol were
deprecated. Standalone deployments should use glance_api_servers
instead.
Also removes two unused utility functions.
Change-Id: I54dc04ab084aeb7208c9dd9940c6434c029bf41c
Partial-Bug: #1699542
When out-of-band cleaning is initiated, the node is PXE booted and the
ramdisk is loaded. After in-band cleaning completes, the node is
rebooted. At that point, the iDRAC automatically creates and runs an
"Export Configuration" job. Out-of-band cleaning then starts: either
RAID configuration creation or deletion. If the export job has not
finished by the time the RAID deletion or creation job is attempted to
be created, then the RAID job creation fails.
This patch causes RAID configuration creation and deletion to wait
until the iDRAC declares itself to be ready before proceeding with
out-of-band cleaning. This ensures that the export job has completed
before creating another job.
Change-Id: I79faba2206b86288ae636c46468a8b2dc321f979
Closes-Bug: 1691808
Depends-On: I929deada3dda7b09a6f29033fff89d9b0382aef8
Previously, the API service created port objects without hitting the
conductor. This change moves port creation to the conductor service,
adding a create_port method.
Currently this just performs the port object creation but in a future
change this will be used to validate the physical network assignment of
ports in a portgroup when a port is created, ensuring that all ports in
the group have the same physical network.
The conductor RPC API version has been bumped to 1.41.
Change-Id: I7501bf9fedc668629d5b627475bb54fef5c6bf20
Partial-Bug: #1666009
To create a boot ISO for netboot with virtual media boot, ldlinux.c32
is required for syslinux 5.00 or later. This patch copies ldlinux.c32
in building ISO from general paths by default. A new configuration
parameter [DEFAULT]/ldlinux_c32 is added for another distribution
or feature changes.
Change-Id: I55229f0ab37e657b7668dd4fe402fe6b5a6cda40
Closes-Bug: #1694645
remove support for specifying client auth in keystone_authtoken config section.
This was deprecated about a year ago and now can safely be removed.
Also, fill the [cinder] section with auth options in devstack.
Change-Id: I0c45d12d80eff45e643af29cded178644071c9fe
Oslo_reports enables OpenStack projects to dump
Guru Meditation Reports with useful debugging
information to files or stderr. For example,
what threads are running, what config parameters
are in effect, and more.
Change-Id: Ib435f9e933009d52841dd8876d425a093731fe7e
Closes-bug: #1526423
The elilo project has been orphaned and dropped from
the majority of linux distributions. Effectively, it has
already been deprecated by the larger ecosystem, and removal
from ironic only seems appropriate as time goes on.
Partial-Bug: #1691454
Change-Id: I725dc11978f6a641ffdbe3146527d67fe126debe
Remove the earliest-version directions and let reno determine which
notes to include.
Change-Id: Ic7f58834fb75bd930d2cff29453019438b79f5f2
Related-Bug: #1682147
Depends-On: I58326c9e30349d2d7c473558b9aa2e8f7294c652
Signed-off-by: Doug Hellmann <doug@doughellmann.com>
Currently method "_ensure_config_dirs_exist" creates tftpboot/<uuid>
dir with wrong permission. This is due to the system umask setting
which overrides the default permission of 0777 to 0755 or 0750. When
the permission is 0750, BM can't get deploy_kernel and ramdisk from
tftpserver. This may happen only when tftp process is launched from
other user than root and as result can't read files created by Ironic.
So this patch tries to fix the issue by explicitly changing the
permissions defined in the config option ``[pxe]/dir_permission``.
Change-Id: I3119ec7ae31bf82f716bf082fa4c3296d6aa3587
Closes-bug: #1655568
This checks the sort key, to make sure the specified field
is allowed/available in the specified API microversion.
If it is not allowed, a 406 HTTP status is returned.
This affects requests to get lists of nodes, port groups,
and ports.
Change-Id: Id5fb44b8b7fe989514dbae4b60cef4a34d47e52b
Closes-Bug: #1659419
This updates the release note for the new 'ilo' hardware type
to mention that it also supports 'iscsi' deploy interface.
The separate release note about ilo supporting iscsi deploy interface
is removed.
This is all going into the same release, and it is confusing to have
two separate release notes about the ilo hardware type.
Change-Id: I4087d7f805dc7710b554c102f428b92cead1ebf9
Related-Bug: #1689274