The IPMI commands fail for virtualbmc. This is a workaround
fix to enforce virtualbmc to be installed in python2 as
pyghmi is not ready for python3.5 yet.
Related-Bug: 1696736
Change-Id: Ie4ca923ef0b8363d2f016ebc5be4b2512d3b9a1a
With this patch ironic starts passing portgroup information to Neutron
via 'binding:profile'. This will allow to configure portgroup on the
switch by appropriate ML2 driver during deployment.
The example of binding:profile dictionary is:
{
'local_link_information':[
{
'switch_id': 'aa:bb:cc:dd:ee:ff',
'port_id': 'Gig0/1'
},
{
'switch_id': 'aa:bb:cc:dd:ee:ff',
'port_id: 'Gig0/2'
}
],
'local_group_information': {
'id': portgroup.uuid,
'name': portgroup.name,
'bond_mode': portgroup.mode,
'bond_properties': {
'bond_propertyA': 'valueA',
'bond_propertyB': 'valueB',
}
}
}
Partial-Bug: #1652630
Co-Authored-By: John L. Villalovos <john.l.villalovos@intel.com>
Change-Id: Iacda8180f644cc1a0986e8b1fc34c65263aabd59
This prepares the ground for addition of a VIF mixin without support for
interacting with neutron, by explicitly showing that the current VIF
mixin class is for neutron network interfaces.
Change-Id: Ic0707c310c736c78f6f4fa0345311e99f7203a58
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