Enable being able to set the interfaces for a node that is in the
provision state 'available'.
Change-Id: I428dd5905e6ab90c2c0b7867ba487482171b9496
Closes-Bug: #1704913
Currently, the RPCAPI update_port method is mocked, and its return
value set in the unit tests to the expected value - the modified port.
This isn't really exercising all of the port update API handler, which
should be modifying the port object appropriately and passing it to the
RPCAPI update_port method.
This change adds a side effect to the RPCAPI update_port mock which
saves the Port object that it is passed to the DB. This allows us to
avoid fudging the answer and test the code more thoroughly.
The TestPost test case already does this for port creation.
Change-Id: I77860b2a24da659418f93c380db67ff4726257ff
Related-Bug: #1666009
Currently there are a few missing fields and API microversion notes
in the ports API reference. This change resolves those issues. All
ports microversion notes have been changed to use the active voice.
Change-Id: If16c8e311e439e88fbbdd693c12e0f7992af5044
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
Renames the parameter 'remove_unavail_fields' to
'remove_unavailable_fields'.
This is a follow up to 8e7d795db5e614de6a3d8dd19ff26f869c8e9f9a.
Change-Id: I57f7bde85e959f3edeb878089057bfcd26672570
Partial-Bug: #1526283
This patch moves the boot from volume skip logic for the prepare
step of deployment into the boot interface, allowing the template
to get generated before skipping the remainder of the step.
Partial-Bug: #1559691
Change-Id: Icfea16c62a753c77942107af287880f35f28c404
API Version 1.33 introduced fields related to storage interface to
Driver API as well as Node API. This patch adds missing description
for Driver API to REST API Version History documentation.
Change-Id: I2fd0709865adc1d02cf3800aa11497d97ab0b14b
Partial-Bug: #1559691
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 contains some changes to conversions of objects during a rolling
upgrade.
This changes objects.base.IronicObject.convert_to_version() to have a new
parameter 'remove_unavail_fields': True (default) to remove fields that are
unavailable in the target version -- for serialization/deserialization
of objects. False to change unavailable fields as appropriate (for DB
interactions). The reason for doing this is to make sure that during
serialization (eg for RPC), that we don't include any object
fields that are not supported.
To make the code a bit more performant, we don't perform object
conversions when the API service is serializing the objects for RPC to
the conductor. This is because the conductor will always be running the
same or a newer release as the API service.
Change-Id: I6f77b24199412e3489dd6f3dcf0f51ed04c5c7c0
Partial-Bug: #1526283
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 nit was picked up in the review of
I3d13bfacfb5578f570791e3c06e769a9a0140a4c.
Change-Id: I8fc1b7f4c319f306bdd62c9a99497f3a014dabd7
Related-Bug: #1666009
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
The link is broken due to doc-migration, this patch fixes following
broken links:
- the link to tempest plugin
- the link to running tempest part in ironic dev-quickstart
Change-Id: I7b4287ad74795712fb81d3177d950450c0dadf65
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
Neither `ironic-api` nor `ironic-conductor` tools accept
the `-v` option. Although the developer's quickstart guide
has it in the example what makes cut&paste failing.
This quick fix removes the offending option from the doc.
Change-Id: I31e3657f12f7a9cf64697b362cc168333752184c