summaryrefslogtreecommitdiff
path: root/ironic/common/release_mappings.py
Commit message (Collapse)AuthorAgeFilesLines
* Update release mappings for 21.4 release21.4.0Julia Kreger2023-03-071-3/+65
| | | | | | | | | | | | | | | | | This mapping allows object version upgrades to be navigated and needs to be updated pre-release otherwise we break the inherent upgrade job to the latest state of the development branch. Also, had to backfill the records for the bugfix branch since, while not required for that version to run, it is required to have to upgrade from that version. Also, lists antelope and 2023.1 as "named" releases, due to the abiguity and configuration, it just seemed better to be on the safe side. Change-Id: I633275caf8c3dc750023fbb27bd8a3f4d23e9fa5
* Merge "Use association_proxy for port groups node_uuid"Zuul2023-02-191-1/+1
|\
| * Use association_proxy for port groups node_uuidHarald Jensås2022-12-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds 'node_uuid' to: ironic.objects.portgroup.Portgroup 'node_uuid' is a relationship using association_proxy in models.Portgroup. Using the association_proxy removes the need to do the node lookup to populate node uuid for portgroups in the api controller. NOTE: On portgroup create a read is added to read the port from the database, this ensures node_uuid is loaded and solves the DetachedInstanceError which is otherwise raised. The test test_list_with_deleted_port_group was deleted, if the portgroup does not exist porgroup_uuid on the port will be None, no need for extra handling of that case. Bumps Portgroup object version to 1.5 Change-Id: I4317d034b6661da4248935cb0b9cb095982cc052
* | API support for CRUD node.shardJay Faulkner2023-02-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | - 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
* | DB & Object layer for node.shardJay Faulkner2023-02-131-1/+1
| | | | | | | | | | | | | | | | DB and object implementations for new node.shard key. Story: 2010768 Task: 46624 Change-Id: Ia7ef3cffc321c93501b1cc5185972a4ac1dcb212
* | Merge "API for node inventory"Zuul2023-01-161-1/+1
|\ \ | |/ |/|
| * API for node inventoryJakub Jelinek2023-01-121-1/+1
| | | | | | | | | | | | | | | | Add api to access node inventory Story: 2010275 Task: 46204 Change-Id: If50f665da5fbb16f7646f3d6195a6e14e7325b0a
* | Use association_proxy for ports node_uuidHarald Jensås2022-12-141-1/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change adds 'node_uuid' to ironic.objects.port.Port and adds a relationship using association_proxy in models.Port. Using the association_proxy removes the need to do the node lookup to populate node uuid for ports in the api controller. NOTE: On port create a read is added to read the port from the database, this ensures node_uuid is loaded and solves the DetachedInstanceError which is otherwise raised. Bumps Port object version to 1.11 With patch: 1. Returned 20000 ports in python 2.7768702507019043 seconds from the DB. 2. Took 0.433107852935791 seconds to iterate through 20000 port objects. Ports table is roughly 12800000 bytes of JSON. 3. Took 5.662816762924194 seconds to return all 20000 ports via ports API call pattern. Without patch: 1. Returned 20000 ports in python 1.0273635387420654 seconds from the DB. 2. Took 0.4772777557373047 seconds to iterate through 20000 port objects. Ports table is roughly 12800000 bytes of JSON. 3. Took 147.8800814151764 seconds to return all 20000 ports via ports API call pattern. Conclusion: Test #1 plain dbapi.get_port_list() test is ~3 times slower, but Test #3 doing the API call pattern test is ~2500% better. Story: 2007789 Task: 40035 Change-Id: Iff204b3056f3058f795f05dc1d240f494d60672a
* Implements node inventory: databaseJakub Jelinek2022-11-151-0/+1
| | | | | | | | | Prepare the ironic database to accommodate node inventory received from the inspector once the API is implemented. Story: 2010275 Task: 46204 Change-Id: I6b830e5cc30f1fa1f1900e7c45e6f246fa1ec51c
* Set stage for Zed Release with 21.1Iury Gregory Melo Ferreira2022-09-211-2/+22
| | | | | | | | | | This is a pre-release commit for the Yoga release following our docs [1] [1] https://docs.openstack.org/ironic/latest/contributor/releasing.html We will clean-up the releasenotes and include the prelude in other patch Change-Id: I3b8df0dce64c4ee3b20b7a714b6647d6e1ec0330
* Allow project scoped admins to create/delete nodesJulia Kreger2022-08-171-1/+1
| | | | | | | | | | | | | | | | Adds capabilites for a project scoped admin to create and delete nodes in Ironic's API. These nodes are automatically associated with the project of the requestor. Effectively, this does allow anyone with sufficient privilges, i.e. admin, in an OpenStack deployment to be able to create new baremetal nodes and delete those baremetal nodes. In this case, the user has the "owner" level of rights in the RBAC model. Change-Id: I3fd9ce5de0bc600275b5c4b7a95b0f9405342688
* Ironic Release 21.0Iury Gregory Melo Ferreira2022-08-171-0/+20
| | | | | | | This commit bumps the release_mappings to 21.0 to be used in the bugfix branch Change-Id: I2bde869dfb05eb8d9baf035686833980d79e69ef
* Allocation candidates prefer matching nameSteve Baker2022-06-161-1/+1
| | | | | | | | | | | | | | | | | | This change finds a node with the same name as the allocation and moves it to the beginning of the shuffled candidate list so that node is the first allocation attempt. It is common for node naming scheme to match the node's role (such as compute-1, compute-2). Also this often matches the hostname (allocation name) scheme. Without this change, this scenario will generally result in swapped names (node compute-1 having hostname compute-2, etc). By preferring matching names this situation can be avoided in the majority of cases, while not otherwise affecting the candidiate allocation approach. Change-Id: Ie990bfc209959d58852b9080778602eab5aa30af
* Ironic Release 20.2Iury Gregory Melo Ferreira2022-05-051-0/+20
| | | | | | | This commit bumps the release_mappings to 20.2 to be used in the bugfix branch Change-Id: Iada7f443bc197112c6d8096c2eef16cae4693387
* Prepare Yoga release with 20.1Iury Gregory Melo Ferreira2022-03-221-2/+22
| | | | | | | | | | | | | This is a pre-release commit for the Yoga release following our docs [1] * No API additions during this cycle (no need to update doc/source/contributor/webapi-version-history.rst) * Add prelude releasenote * Fix highlight in one releasenote [1] https://docs.openstack.org/ironic/latest/contributor/releasing.html Change-Id: If26019c5abc0643051f4b11186d7eb819f9c407b
* Fix release mapping (19.1 -> 20.0)Iury Gregory Melo Ferreira2022-02-151-1/+1
| | | | | | | | | We have some backward incompatible changes, so we need a major bump See [1] for more details [1] https://zuul.opendev.org/t/openstack/build/e5174d1d8d68491aa01d9a2e3e020a4b/log/tox/list-changes-results.log#1932-1944 Change-Id: Ia3fb13d7f6c29904cf9e1ffe446e3473fdbeecef
* Add release mappings for 19.0 and 19.1 bugfixIury Gregory Melo Ferreira2022-02-141-1/+41
| | | | | | | | In the bugfix/19.0 we forgot to update our release_mappaings This commit adds the missing mapping for 19.0 and also adds the mapping for 19.1 (our upcoming bugifx branch) Change-Id: Iffb75a5e6e2412b6e43629ae46f9e98926236b24
* Set stage for release 18.2Julia Kreger2021-09-211-2/+22
| | | | | | | | | Pre-release changes perr our release documentation, https://docs.openstack.org/ironic/latest/contributor/releasing.html. Additionally, adds a prelude for our release notes. Change-Id: Ib55eed3df4924860a970d0a1fbd43c182119de3e
* API endpoints to get node historyJulia Kreger2021-09-151-1/+1
| | | | | | | | | | | 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
* Merge "Add support for fields in drivers API"Zuul2021-09-151-1/+1
|\
| * Add support for fields in drivers APITadeas Kot2021-08-271-1/+1
| | | | | | | | | | | | | | | | This commit add support for the fields query parameter to the GET /v1/drivers?fields=... and GET /v1/drivers/<driver_name>?fields=.... Story: 1674775 Task: 10581 Change-Id: I2ca4eb490e320e736a93851eed526ec862be901e
* | Implements node history: databaseKaifeng Wang2021-09-091-0/+1
|/ | | | | | | | | This patch provides basic data model change to support node history. Batch removal is not included in this patch. Change-Id: I5c7cebd585ee84b5b57bd4690d4074baf0d05699 Story: 2002980 Task: 22989
* Add api endpoints for changing boot_mode and secure_boot stateCenne2021-08-231-2/+2
| | | | | | | | | | | | | | | | | | | | 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
* Prepare 18.1 and clean up release notesRiccardo Pittau2021-07-211-0/+19
| | | | Change-Id: I8f33eefdce7a60fa8e48225ec20a801b3d1222f0
* Merge "Add missing BIOSSettings version mapping for older releases"Zuul2021-07-111-0/+13
|\
| * Add missing BIOSSettings version mapping for older releasesDmitry Tantsur2021-07-071-0/+13
| | | | | | | | | | | | Otherwise the upgrade fails because of old versions. Change-Id: Ibd591ab6e17e26db0b2b4dde103fe3458e1536f5
* | Add `boot_mode` and `secure_boot` to node object and expose in apiCenne2021-07-081-2/+2
|/ | | | | | | | | | | | | * 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
* Prepare 18.0 and clean up release noteIury Gregory Melo Ferreira2021-06-021-0/+19
| | | | | | | | | | | | | | | | | | | | | | | Release notes checked: * releasenotes/notes/adding-security-param-clean-step-00d5548072a397f2.yaml * releasenotes/notes/bios-interface-api-ref-ebf866cc7da2270b.yaml * releasenotes/notes/bios-interface-api-ref-validate-ddb95461adb0e478.yaml * releasenotes/notes/bios-registry-support-e7fd62908e9c222d.yaml * releasenotes/notes/boot-validate-6b4b6b40c8e27273.yaml * releasenotes/notes/bug-2007551-aliases-for-a-few-named-state-transitions-a32433ad65638706.yaml * releasenotes/notes/bye-bye-iscsi-658920cf126db0b8.yaml * releasenotes/notes/configdrive-render-8eb398d956393d60.yaml * releasenotes/notes/create_node_indexes-841b679e6cf332fd.yaml * releasenotes/notes/custom-agent-deploy-88989512c29a14c1.yaml * releasenotes/notes/decomposed-steps-9644d3b5ccbad1ea.yaml * releasenotes/notes/get-bios-registry-aadc74800e0770f7.yaml * releasenotes/notes/irmc-append-params-380a281db43e6013.yaml * releasenotes/notes/pxe-append-params-9cd5831959676371.yaml * releasenotes/notes/redfish-append-params-4d28d922484c2731.yaml * releasenotes/notes/redfish-deploy-iso-9671ae83108f6385.yaml * releasenotes/notes/secure-rbac-policy-sanitization-performance-dc7886952144bb04.yaml Change-Id: I8b27df7e9c9b7f8623aa22c82be77b74e7d183d8
* Include bios registry fields in bios APIBob Fournier2021-05-271-1/+2
| | | | | | | | | | 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
* Aliases for a few unfortunately named state transitionskafilat-adeleke2021-04-151-1/+1
| | | | | | | | | | This RFE proposes a new microversion that will provide aliases to two poorly named provisioning verbs to match the existing CLI commands Story: #2007551 Task: #39402 Change-Id: Ifd14aebbfb4b17c5108f44092dac0b89d1c2c50a
* Add agent_status and agent_status_message params to heartbeatArun S A G2021-03-311-4/+4
| | | | | | | | | | | | | | | | | | | | agent_status is used by anaconda ramdisk to inform the conductor about state of the deployment. Valid agent states are 'start', 'end' and 'error'. The agent_status_message is used to describe the why the agent_status is set to a particular state. Use of these parameters require API version 1.72 or greater. When anaconda finishes deployment the agent_status is set to 'end'. When anaconda ramdisk is unable to deploy the OS for some reason the agent_status is set to 'error'. PXEAnacondaDeploy is implemented to handle the 'anaconda' deploy interface. PXEAnacondaDeploy ties to together pieces needed to deploy a node using anaconda ramdisk. Co-Authored-By: Jay Faulkner <jay@jvf.cc> Change-Id: Ieb452149730510b001c4712bbb2e0f28acfc3c2e
* Version 17.0 mapping/doc updatesJulia Kreger2021-03-231-2/+20
| | | | Change-Id: I3a144aaaca60ce195ba22fa5af2d9c1e7b4d4bf4
* Increment API version for Secure RBACJulia Kreger2021-03-181-1/+1
| | | | | | | | | This patch increments the API version for the Secure RBAC as was covered in the specification in order to signify to API consumers that may need to be aware if the API surface can support Secure RBAC policy configuration. Change-Id: Ia659708bb89ff416b65367505d3e068c6d4a198f
* API to force manual cleaning without booting IPADmitry Tantsur2021-03-161-2/+2
| | | | | | | | | | | | | | Adds a new argument disable_ramdisk to the manual cleaning API. Only steps that are marked with requires_ramdisk=False can be run in this mode. Cleaning prepare/tear down is not done. Some steps (like redfish BIOS) currently require IPA to detect a successful reboot. They are not marked with requires_ramdisk just yet. Change-Id: Icacac871603bd48536188813647bc669c574de2a Story: #2008491 Task: #41540
* Correct release mappings for 16.2Dmitry Tantsur2021-02-181-2/+2
| | | | | | The deploy_steps change merged after they got updated for 16.2. Change-Id: Ibc9e5707518243bda31135e4012877284dad72a4
* Merge "Add 'deploy steps' parameter for provisioning API"Zuul2021-02-121-2/+2
|\
| * Add 'deploy steps' parameter for provisioning APIAija Jauntēva2021-02-031-2/+2
| | | | | | | | | | | | Story: 2008043 Task: 40705 Change-Id: I3dc2d42b3edd2a9530595e752895e9d113f76ea8
* | Prepare 16.2 and clean up release noteDmitry Tantsur2021-02-111-0/+18
|/ | | | Change-Id: I6e5f0e560f3f125a83e0514c10bee664c17663f2
* Merge "Support port name"Zuul2020-12-191-1/+1
|\
| * Support port nameKaifeng Wang2020-11-291-1/+1
| | | | | | | | | | | | | | | | | | | | MAC address is not user friendly for port management, having a name field is also a feature parity with other resources. This patch implements db related change. Change-Id: Ibad9a1b6bbfddc0af1950def4e27db3757904cb1 Story: 2003091 Task: 23180
* | Prepare release 16.1Dmitry Tantsur2020-12-141-0/+18
|/ | | | Change-Id: Ia37075d4aa2f39ca0862b03ca02c85bac17400e5
* Update release mappings and API history for 16.0Dmitry Tantsur2020-09-241-3/+21
| | | | | | Fix the incorrect Ussuri release mapping. Change-Id: I77589745a89104ddc948f084f21a60cef8265271
* Accept and use a TLS certificate from the agentDmitry Tantsur2020-09-091-2/+2
| | | | | | | | | | | | | | Accepts the certificate from a heartbeat and stores its path in driver_internal_info for further usage by the agent client (or any 3rd party deploy implementations). Similarly to agent_url, the certificate is protected from further changes (unless the local copy does not exist) and is removed on reboot or tear down (unless fast-tracking). Change-Id: I81b326116e62cd86ad22b533f55d061e5ed53e96 Story: #2007214 Task: #40603
* Merge "Add RPC objects for deployment API"Zuul2020-08-121-0/+1
|\
| * Add RPC objects for deployment APIDmitry Tantsur2020-04-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | This changes adds a virtual Deployment object that is backed by a corresponding Node. This change skips two fields: * boot_iso_ref (requires updating drivers) * owner (requires careful thoughts, may be not needed) Story: #2006910 Task: #38361 Change-Id: I0cacdfaea5d3ba58a0a97cbb5231c224a8f9428e
* | Add ironic 15.1 release mappingRiccardo Pittau2020-07-011-2/+19
| | | | | | | | Change-Id: I4a9890503cb2489755ad76b2a73b93a9541eb357
* | Allow node vif attach to specify port_uuid or portgroup_uuidTzu-Mainn Chen2020-06-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | Update the function that checks for free ports/portgroups to accept a port_like_obj_id parameter to match. This parameter comes from the vif_info dictionary. Story: 2007723 Task: 39872 Change-Id: I82efa90994325aa37cca865920d656f510a691b2
* | Add `network_data` field to ironic node objectIlya Etingof2020-05-051-2/+2
|/ | | | | | | | | | | | | | | | | | | | 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
* Add ironic 15.0 release mappingJulia Kreger2020-04-201-1/+19
| | | | Change-Id: Ia23868e3d8e8eae28081a80c45983317d799de0b
* Add node lessee fieldTzu-Mainn Chen2020-04-071-2/+2
| | | | | | | | | | | | 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