64 Commits

Author SHA1 Message Date
Zuul
be242dc13b Merge "Generic API for attaching/detaching virtual media" 2023-11-30 14:02:38 +00:00
Dmitry Tantsur
0902912217 Generic API for attaching/detaching virtual media
This patch allows to attach or detach a generic image as
virtual media device after a node has been provisioned.

Closes-Bug: #2033288
Change-Id: I97b68047d769f6fb686c53e89084b5874e02b8c7
2023-11-23 09:55:09 +01:00
Steve Baker
43ccb17e15 [api-ref] Add firmware fields to driver API
Change-Id: Ic97833fc836afd643d296fd98cf204317f55dd51
2023-11-01 09:49:05 +13:00
Steve Baker
7639268e79 [api-ref] Complete port name and shard documentation
Change-Id: I92da15361f203d2f973959a06e5d92394b29c016
2023-11-01 09:44:26 +13:00
Iury Gregory Melo Ferreira
aecb581082 Firmware Interface
FirmwareInterface base
New Config options [default]
- enabled_firmware_interfaces
- default_firmware_interface

New FirmwareInterface base with update method
Implementations of FirmwareInterface
- FakeFirmware (fake)
- NoFirmware (no-firmware)

New entrypoint ironic.hardware.interfaces.firmware
* fake and no-firmware

Api Controllers
- Updated: driver/node/utils/versions
- Created: firmware

Unit tests
api-ref for Node Firmware

Fake and Noop implementation for FirmwareInterface

Change-Id: Ib3b9cb22099819f97d5eab1e3f1b670cb91cbb25
2023-07-11 07:39:15 -03:00
Harald Jensås
17d3b72b3d
Remove indicators list by component from api-ref
GET /v1/nodes/{node_ident}/management/indicators/{component}
as documented does not work. This calls ironic.api.
controllers.v1.node.IndicatorController.get_one and it will
raise InvalidParameterValue in ironic.api.controllers.v1.node.
IndicatorAtComponent unless `{indicator}@{component}` is given.

Change-Id: I5e7edb36b5f9dacf990215c05a84739d003a09b7
2023-05-09 15:29:25 +02:00
Dmitry Tantsur
3e21560bf7 Remove all references to the "cpus" property
Unused by Nova and unlike memory_mb/local_gb also by Ironic (actually,
our usage of local_gb is worth double-checking as well, but at the very
least it's referenced by inspection implementations).

Change-Id: Ie8b0d9f58f4dcd102c183c30ae7f5acf68a5e4c3
2023-03-28 11:53:26 +02:00
Jay Faulkner
8e34d622af API support for CRUD node.shard
- Basic support and testing for CRUD for node.shard.
- Policy checking for update node.shard.
- New API endpoint: GET /v1/shards
- Policy checking for GET /v1/shards
- Support for querying for nodes in a list of shards

Story: 2010378
Task: 46624
Change-Id: I385594339028c20cfc83fdcc4cbbec107efdacff
2023-02-13 11:46:21 -08:00
Jakub Jelinek
2e80ea9099 API for node inventory
Add api to access node inventory

Story: 2010275
Task: 46204
Change-Id: If50f665da5fbb16f7646f3d6195a6e14e7325b0a
2023-01-12 15:09:18 +00:00
Julia Kreger
8e8c1b087b There is no aim, we do deploy/manage baremetal.
Fix the root description header, since the Ironic project is
very far past the days of when we were aiming to provision baremetal.

Change-Id: I21f6058fe29b1495dbde63ec09a1227568dc3f08
2021-10-15 15:52:58 -07:00
Julia Kreger
fb9eae7412 API endpoints to get node history
Adds API for retrieving node history events
via a node. Includes pagination and limitation
of the response set.

Story: 2002980
Tas: 42961

Change-Id: I22a92fa6c30d721f6a5dd0670b2e0a9cf76ad7b1
2021-09-15 10:54:11 -07:00
Cenne
bc95c92f7c Add api endpoints for changing boot_mode and secure_boot state
Done:
  - Node API endpoints expose
  - RPC methods
  - Conductor Manager methods
  - Conductor utils new methods
  - RBAC new policies
  - Node API tests
  - Manager Tests (+ some testing for utils methods)
  - RBAC tests
  - Docs (api-ref)
  - REST API version history
  - Releasenotes

Story: 2008567
Task: 41709

Change-Id: I2d72389edf546b99c536c6b130ca85ababf80591
2021-08-23 19:38:58 +02:00
Cenne
46ff51487a Add boot_mode and secure_boot to node object and expose in api
* add fields to Node object
  * expose them at endpoint `/v1/nodes/{node_ident}/states`
  * update states on powersync / entering managed state.
  * tests
  * update api endpoint info in api-ref

Story: 2008567
Task: 41709

Change-Id: Iddd1421a6fa37d69da56658a2fefa5bc8cfd15e4
2021-07-08 15:04:15 +02:00
Bob Fournier
e15440370c Include bios registry fields in bios API
Provide the fields in the BIOS setting API -
``/v1/nodes/{node}/bios/{setting}``, and in the BIOS setting list API
when details are requested - ``/v1/nodes/<node>/bios?detail=True``.

Story: #2008571
Task: #42483
Change-Id: Ie86ec57e428e2bb2efd099a839105e51a94824ab
2021-05-27 12:15:20 -04:00
Dmitry Tantsur
929907d684 Bye-bye iSCSI deploy, you served us well
The iSCSI deploy was very easy to start with, but it has since become
apparently that it suffers from scalability and maintenance issues.
It was deprecated in the Victoria cycle and can now be removed.

Hide the guide to upgrade to hardware types since it's very outdated.

I had to remove the iBMC diagram since my SVG-fu is not enough to fix it.

Change-Id: I2cd6bf7b27fe0be2c08104b0cc37654b506b2e62
2021-05-04 14:28:25 +02:00
Aija Jauntēva
3138acc836 Add 'deploy steps' parameter for provisioning API
Story: 2008043
Task: 40705
Change-Id: I3dc2d42b3edd2a9530595e752895e9d113f76ea8
2021-02-03 11:47:53 -05:00
Iury Gregory Melo Ferreira
42f28a4d32 Add api-ref for indicators API
Change-Id: Ie40f585b26efdd70b88f2e642698eb9e988e3d97
Story: 2007745
Task: 39923
2020-06-19 09:05:08 +02:00
Ilya Etingof
653d4e4ef5 Add network_data field to ironic node object
A new dictionary field `network_data` is added to the node object.
This new field can be populated by the operator with node static
network configuration.

Ironic API now performs formal JSON document validation of node
`network_data` field content against user-supplied JSON schema at
driver validation step.

As of this commit, the new `network_data` field is not actually
used by ironic, otherwise it should be perfectly functional. In
the following commits, network static configuration will be taken
from this field and handed over to ironic ramdisk bootstrapping
utilities.

Change-Id: I868b3b56a17f59e5aa1494b2e0ebc9c4e34ef173
Story: 2006691
Task: 36991
2020-05-05 15:57:36 +02:00
Tzu-Mainn Chen
602a467a04 Add node lessee field
This change adds a `lessee` field to nodes, and exposes it
to policy. It also updates the non-admin node list API
to match for both owner and lessee; and updates the
allocation conductor to match owner allocations with nodes
with the appropriate lessee.

Change-Id: Ib31b49c7143ec8fd6cb486fc24038215b197c418
Story: 2006506
Task: 37930
2020-04-07 15:33:42 +00:00
Arne Wiebalck
3ecaadbb35 Support node retirement
This change adds support for node retirement: nodes can
have additional properties 'retired' and 'retired_reason'
which change the way the nodes (can) traverse the FSM
and which operations are allowed. In particular:
- retired nodes cannot move from manageable to available;
- upon instance deletion, retired nodes move to manageable
  (rather than available).

Story: #2005425
Task: #38142

Change-Id: I8113a44c28f62bf83f8e213aeb6704f96055d52b
2020-01-28 11:01:32 +01:00
Tzu-Mainn Chen
3fbb560af1 Add owner to allocations and create relevant policies
Add an owner to allocations. Depending on policy, a non-admin
can then create an allocation and have the owner set to their
project. Allocation processing then respects the owner.

Change-Id: I2965a4a601b9fa2c0212097da37b104a3e5514df
Story: #2006506
Task: #37540
2019-12-10 19:00:33 +00:00
Madhuri Kumari
2d4380e323 Add api-ref for allocation update
Change-Id: I3a8cfa3d959c6906968bca7006583f45446758e5
Story: 2005126
Task: 29796
2019-06-06 09:32:39 +05:30
Mark Goddard
9672cb73d2 Deploy Templates: API reference
Change-Id: I14716e6023dd09096e17e60c7d02230ecb3e7150
Story: 1722275
Task: 28680
2019-03-12 15:43:12 +00:00
Zuul
84f6e5fb84 Merge "Adding bios_interface reference to api docs" 2019-03-01 11:08:48 +00:00
Dmitry Tantsur
acc4c402de Allocation API: reference documentation
Change-Id: I48f20f0b96931a17c477b9687b0ee963cb7b8879
Story: #2004341
Task: #29574
2019-02-26 10:16:25 +01:00
Riccardo Pittau
e0639875f4 Adding bios_interface reference to api docs
As per title, this patch adds default_boot_interface and
enabled_boot_interfaces references, definitions and examples
to the api-ref documentation.

Change-Id: I35d4829c32cc48d5734c269c0a83ad9b4fbdd660
2019-02-25 17:09:11 +01:00
Zuul
352e37a36d Merge "Expose is_smartnic in port API" 2019-02-12 23:20:49 +00:00
Kaifeng Wang
d4233e52a9 Expose conductors: api-ref
This patch updates API reference to contain the changes made
by the feature of exposing conductors.

Story: 1724474
Task: 28064

Change-Id: I47dbea2cda1cc0ad73786fe3fe9b80850e1cf289
2019-02-12 07:02:09 -08:00
Hamdy Khader
6325b6c13c Expose is_smartnic in port API
Changes are made to support ironic handling is_smarting port attribute
that was added in this change Ic2ffbd6f1035907ea5a18bda6d2b21e617194195

This change expose is_smartnic port field in REST API, updated API
reference to include is_smartnic field and relevent documentations.

API version updated to 1.53.

Story: #2003346
Change-Id: I89ce54a0c034f2a5f82ff961ab06cfcc6d853bd4
2019-02-10 12:10:00 +02:00
Kaifeng Wang
96bc6729cf Add description field to node: api-ref
Update api-ref to include the description field.

Also updated a few missing owner field.

Change-Id: I81c5bf1be18ac4109f0e5ef66193ff66f484d107
Story: 2003089
Task: 23178
2019-02-01 10:37:04 +08:00
Zuul
87b25d5447 Merge "Add "owner" information field" 2018-12-11 18:56:47 +00:00
Julia Kreger
052d90506f Add "owner" information field
Adds "owner" field on the node object and exposes it for updates
via the API.

Additionally, fixed a couple minor items related to the prior
where we missed updating version numbers in rebases.

Change-Id: Iaaf3db97d21de9b11236cf2d18ffcc3f73f6e50c
Story: #2001814
Task: #12550
2018-12-10 14:27:31 -08:00
Kaifeng Wang
d379357cad Introduce configuration option [ipmi]ipmi_disable_timeout
Some type of BMCs don't support an IPMI option that disable the
behavior of boot device timeout, which makes them never get booted
from PXE.

This patch extends the fix [1] by adding a configuration option,
which provides the default ipmi behavior.

[1] https://review.openstack.org/#/c/616053

Additionally revising the variable/setting names based upon review
feedback and discussion that took place during the 20181210 weekly
ironic team meeting.

Change-Id: Ie049bbaf45aeab54c1272d1d561c5a6ca00dc34a
Story: 2002977
Task: 22985
2018-12-10 14:04:02 -08:00
Zuul
cb543d7705 Merge "Add ipmi_disable_timeout to avoid problematic IPMI command" 2018-12-04 08:08:36 +00:00
Tony Breeds
eb29465bd5 Add ipmi_disable_timeout to avoid problematic IPMI command
The IPMI driver unconditionally instructed the BMC not automatically
clear boot flag valid bit if Chassis Control command not received within
60-second timeout (countdown restarts when a Chassis Control command is
received).  Some BMCs do not support setting this.  Sending the command
aborts the node boot.

A new driver option ``ipmi_disable_timeout`` is added to bypass
sending this command.

Change-Id: I1dda3cf3e4b7b888ed9d8931c8ede3a918dd01f4
Story: 2004266
2018-11-28 01:29:04 +00:00
Dmitry Tantsur
68d62f2bee Support for protecting nodes from undeploying and rebuilding
When handling the "pet" case, some nodes may be critical for the deployment.
For example, in an OpenStack installer like TripleO you may want to make
sure your controllers are not removed by an incorrect operation.

This changes introduces a new field "protected" on nodes. When it is
set to True, the "deleted" and "rebuild" provisioning actions fail with
HTTP 403.  Deleting such nodes is also not possible.

Also adds "protected_reason" for the operators to specify the reason
a node is protected.

Story: #2003869
Task: #26706
Change-Id: I1950bf6dd65b6596cae69d431ef288e578a89d6e
2018-11-27 10:07:30 +01:00
Jim Rollenhagen
d269c47a87 Add api-ref for conductor group
This was missed in the original feature; add it in.

Change-Id: I7bad95be09be90a9d804cf95cde4226ffd98bb46
2018-10-23 07:34:41 -04:00
Yolanda Robla
95a449357c Add documentation for BIOS settings
Update api-ref documentation, to add the BIOS
settings.

Change-Id: Ic592b5fa39f0d19d5676906ecd5c8fcbebf8e25f
2018-07-27 13:23:37 +02:00
Mark Goddard
5a14eed467 Deploy steps - API & notifications
Adds a 'deploy_step' field to the nodes API.

Co-Authored-By: Ruby Loo <rloo@oath.com>

Change-Id: I1baeeaaa6ed521e4189958fd7624cd6c5de96707
Story: #1753128
Task: #22592
2018-07-11 16:19:31 +00:00
wangqi
c6f8d85852 fix a typo in driver-property-response.json: s/doman/domain/
Change-Id: I43fe909213c07f13b7e740c0bfa84ed5cef68cd1
2018-02-26 06:58:44 +00:00
Mario Villaplana
9a6c62dd8e Add api-ref and ironic state documentation for rescue
This patch adds following:
  - Updates ironic state documentation with rescue related states
  - Updates api-ref with rescue interface fields introduced in
    API version 1.38

Co-Authored-By: Mario Villaplana <mario.villaplana@gmail.com>
Co-Authored-By: Aparna <aparnavtce@gmail.com>
Co-Authored-By: Shivanand Tendulker <stendulker@gmail.com>

Partial-Bug: 1526449

Change-Id: Ifcfa52ede62894b1990aaa640944be3431ddfe8f
2018-01-31 04:08:07 -05:00
Mark Goddard
223e9b1faa Add node traits to API reference
The node traits API was added in API microversion 1.37.

Change-Id: I8c48f2e7662ae9641ec823dc3802d5979a7ea03e
Partial-Bug: #1722194
2018-01-25 01:36:54 +00:00
Hironori Shiina
05d85dd8bb Add storage interface to api-ref
This patch adds these storage interface fields to api-ref:
  - storage_interface of Node
  - default_storage_interface of Driver
  - enabled_storage_interfaces of Driver
These fields were introdeced with API version 1.33.

Change-Id: Iac73d7ae4976dfd437b9821a2221dd842be24b55
Partial-Bug: #1559691
2017-08-02 12:49:07 +00:00
Hironori Shiina
7317c17e4e Add API for volume resources to api-ref
This patch adds API for volume resources to api-ref.

Partial-Bug: 1526231
Change-Id: I986860cffd344f5cea9f8f5a2f845f77bf6e9e54
2017-08-02 12:46:36 +00:00
Mark Goddard
02fff930fb Expose ports' physical network attribute in API
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
2017-07-19 17:29:20 +01:00
Sam Betts
5647bfc246 Move doc/source/dev to doc/source/contributor
Change-Id: I6a3d143cff31348c62d8825f29f7484bafb9c8f0
2017-07-06 12:59:24 +01:00
Kyrylo Romanenko
ab29dccead Fix quotes in documentation and schema description
Fix example of RAID configuration by removing wrong quotes.
Add missing quote in RAID config schema description.

Closes-Bug: #1702129
Change-Id: I2012e3968a0fccec0df1f4de3f682ab97aa1b8ac
2017-07-03 19:32:26 +03:00
Ruby Loo
24006badee Remove remaining vendor passthru lookup/heartbeat
Vendor-passthru lookup and heartbeat was mostly removed (in
5eb4ba26ddbde97758511c9b61046e5a879ab66c). This removes the
remaining code and references to them.

Change-Id: I6b214503999ce1892f10f4507a6063b6e8d604bc
Related-Bug: #1640533
2017-05-17 15:03:39 -04:00
Luong Anh Tuan
51bf6b2148 Remove single quoted strings in json sample
Json standard does not allow single quoted strings. Thus I replace
" instead of '.

Change-Id: Ifbb9e1a62706dcfa539f12e38eec0f5ca8ae1422
2017-05-17 23:50:09 +07:00
Jim Rollenhagen
73328060cc Fix API doc URL in GET / response
The existing URL has a redirect to another URL[0], which has a message
that it has been moved to yet another URL[1]. Fix it so it's just one link.
Also use https while we're in here.

[0] https://docs.openstack.org/developer/ironic/webapi/v1.html
[1] https://docs.openstack.org/developer/ironic/dev/webapi.html

Change-Id: I900e0a7ad84dfcfeb551d4836bf156790706803c
2017-03-15 19:05:54 -04:00