summaryrefslogtreecommitdiff
path: root/ironicclient/common
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Allow several nodes for most node actions"HEAD5.2.0masterZuul2023-05-081-0/+2
|\
| * Allow several nodes for most node actionsDmitry Tantsur2023-02-281-0/+2
| | | | | | | | | | | | | | | | This saves the users from writing scripts with "-f value -c uuid" or similar. It is also faster since OSC initialisation takes significant time (up to several seconds). Change-Id: I8ec6da97dc30d97764655b52b712c95f6c22c76a
* | Accept configdrive as a JSON fileDmitry Tantsur2023-03-021-0/+21
|/ | | | Change-Id: I32171ce0d61af00b7d242d455221a903692976f0
* Add node history supportJulia Kreger2021-12-011-1/+1
| | | | | | | | | Adds support for rest API version 1.78, which covers the node history feature. Story: 2002980 Task: 43319 Change-Id: I6edbc38353a4b2f7b0a758108bc91cc9fb72a29d
* Merge "Add support for fields in drivers CLI"4.9.0Zuul2021-09-231-1/+1
|\
| * Add support for fields in drivers CLITadeas Kot2021-08-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This commit add support for fields selector to the driver CLI. * ``openstack baremetal driver list --fields <field> [<field> ...]`` * ``openstack baremetal driver show <driver_name> --fields <field> [<field> ...]`` Depends-On: https://review.opendev.org/c/openstack/ironic/+/804416 Story: 1674775 Task: 43043 Change-Id: I2d691feec876f6978d5075e779ea465ed660f09e
* | Fix distribution compatability for configdrive buildJulia Kreger2021-09-151-12/+22
|/ | | | | | | | | | | | | | | | | | | | Previously, the configuration drive generation code made use of ``genisoimage``, however ``genisoimage`` is not shipped universally on all linux distributions, and largely has been replaced in distributions with other forks, as the tooling has evolved, forked, and changed over the past quarter century. We now attempt to utilize multiple different commands, including the original ``mkisofs`` command and the newer ``xorrisofs`` command when attempting to generate the ISO image, falling back until one works. Credit goes to I720f25921f8e52f20a631f238a528dedf65a91c6 for the base pattern in OpenstackSDK. Story: 2009230 Task: 43328 Change-Id: Ic732c2e6c77474e0d5b701c47758959c3511743b
* Add support for changing 'boot_mode' and 'secure_boot' statesCenne2021-08-131-1/+1
| | | | | | | Story: 2008567 Task: 41709 depends-on: https://review.opendev.org/c/openstack/ironic/+/800084 Change-Id: I2937ea924ccc4ca6e9ab5599aa02e3c078c166b3
* Add support for 'boot_mode' and 'secure_boot' node resource fieldsCenne2021-07-261-1/+1
| | | | | | Story: 2008567 Task: 41709 Change-Id: Idde66fc37d5395e02ad95e6bf5342b555b479b8e
* Merge "Support YAML files wherever JSON files are accepted"4.6.0Zuul2021-02-171-3/+4
|\
| * Support YAML files wherever JSON files are acceptedDmitry Tantsur2021-02-161-3/+4
| | | | | | | | Change-Id: I98ca7ee19399dfa0499c5db71257dddb64a3cf61
* | Clearer error message when unable to parse JSONDmitry Tantsur2021-02-161-2/+2
|/ | | | | | Using a non-existing file currently results in a cryptic message. Change-Id: I0489380d3a3ac1c9286e754c488df68f2b85c22f
* Add 'deploy steps' for provisioning APIAija Jauntēva2021-01-131-1/+1
| | | | | | | Story: 2008043 Task: 41409 Depends-On: https://review.opendev.org/c/openstack/ironic/+/768353 Change-Id: I6adffcf304ca090ff551280f3ec4c9d09a5537d8
* Merge "Add port-uuid parameter to node vif attach"Zuul2020-06-291-1/+1
|\
| * Add port-uuid parameter to node vif attachTzu-Mainn Chen2020-06-261-1/+1
| | | | | | | | | | | | | | | | vif_attach has the capability to attach to a specific baremetal port. This change provides an explicit (and optional) parameter for the baremetal port UUID. Change-Id: Ie2bedda11ccf479db0cbc3dc51f100ae49f81bc2
* | Merge "Add global_request_id into the base client methods"Zuul2020-06-241-24/+69
|\ \
| * | Add global_request_id into the base client methodsVladyslav Drok2020-05-151-24/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | This change also allows passing os_ironic_api_version into create and delete methods, which was not possible previously. Story: 2007611 Task: 39602 Change-Id: I28e094df8ca0b1921fb8b6d503e8d09dfff064d7
* | | Merge "Allow to pass additional arguments into adapter"Zuul2020-06-241-0/+7
|\ \ \ | |/ / | | / | |/ |/|
| * Allow to pass additional arguments into adapterVladyslav Drok2020-05-151-0/+7
| | | | | | | | | | | | | | | | | | | | | | This change allows to pass additional_headers and global_request_id to keystoneauth's Adapter constructor. Also SessionClient now makes use of them while doing HTTP requests (apart from version negotitaion requests). Story: 2007611 Task: 39602 Change-Id: I75cb9311bf44cbf7f6f8737d1d37b2be503be3f9
* | Merge "Add `network_data` ironic node attribute support"Zuul2020-06-021-1/+1
|\ \ | |/ |/|
| * Add `network_data` ironic node attribute supportIlya Etingof2020-04-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | Adds support for adding static network configuration to ironic node object by adding ``network-data`` attribute to "node" osc command. Depends-On: https://review.opendev.org/#/c/687910/ Change-Id: I771911cbc2cfaef2cbac841fc76971e042c010c1 Story: 2006691 Task: 37072
* | Merge "Get rid of the oslo.serialization dependency"Zuul2020-05-122-6/+6
|\ \
| * | Get rid of the oslo.serialization dependencyDmitry Tantsur2020-05-042-6/+6
| |/ | | | | | | | | | | | | | | | | | | | | | | | | It was used to smoothen out the difference in handling bytes in Python 2 and 3. Now that we only support Python 3, it can be replaced. A side effect of this change is that we no longer accept bytes in JSON. JSON does not support bytes, but this problem has been hidden due to oslo.serialization until now. The configdrive handling has been updated to account for that. Change-Id: I230b55db55bce08d46f5023ad7a3f6501c96d100
* | Remove future dependencyRiccardo Pittau2020-05-041-2/+0
|/ | | | | | Stop importing print function from future. Change-Id: I5c40446e14ccd9a2fe3b673c8bc8581c64012899
* Merge "Add node lessee"Zuul2020-04-081-1/+1
|\
| * Add node lesseeTzu-Mainn Chen2020-04-031-1/+1
| | | | | | | | | | | | | | | | | | Add support to display and update the lessee field of a node. Change-Id: I4d163a6c4514810526cc24a83cb8414640be956e Story: 2006506 Task: 37930 Depends-On: https://review.opendev.org/706864
* | Make oslo.i18n an optional dependencyDmitry Tantsur2020-04-061-5/+9
|/ | | | | | | | | | In an ideal world we would have all messages translated to at least major languages. In reality, ironic has never boasted a great set of translation, and according to Zanata only 2.94% of messages are translated for ironic in Train (1.33% for ironic-inspector). Given that ironic-python-agent is not translated at all, using i18n by default seems an overkill. Change-Id: I30d0f5ae6c7428ebbf018e14a3b78c430681c6a6
* Bump hacking to 3.0.0Dmitry Tantsur2020-03-302-22/+23
| | | | | | | | The new version enables a lot of standard flake8 checks, so a few fixes are required. W503 is disabled as it conflicts with W504 and the latter seems to be preferred nowadays. Change-Id: I7c66f18be46af73a47919deef1f38c1f1d3cc741
* Merge "Add support for retired{_reason} fields."Zuul2020-02-071-1/+1
|\
| * Add support for retired{_reason} fields.Arne Wiebalck2020-02-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This change adds support to set and unset the 'retired' and 'retired_reason' fields. It also extends the 'list' command with an additional '--retired' parameter to list only nodes which have the retired property. Story: #2005425 Task: #38143 Depends-On: https://review.opendev.org/703981 Change-Id: I5fe379c4ff439b3a083ae819ce5b4bdbddd22b3a
* | Remove VerifiedHTTPSConnection classVladyslav Drok2020-01-281-67/+0
|/ | | | | | | | It was needed for now EOL python versions, was unused for quite a while and is insecure (does not allow customising TLS version for example). Change-Id: Ia382d3fc155196e7cf916f57ee0ac6be7dde07af
* Add allocation ownerTzu-Mainn Chen2020-01-201-1/+1
| | | | | | | | | Add support to create an allocation with an owner, and to display an allocation owner. Change-Id: I85d5c324b177a1e016e93e011f9ad22144ca9340 Story: #2006506 Task: #37540
* Stop using six libraryRiccardo Pittau2019-12-185-35/+28
| | | | | | | | | | Since we've dropped support for Python 2.7, it's time to look at the bright future that Python 3.x will bring and stop forcing compatibility with older versions. This patch removes the six library from requirements, not looking back. Change-Id: I4b60638bb0268e5d1cf54fdf7d61964082536f4f
* Fix AttributeError in negotiate_versionMark Goddard2019-11-221-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Seen in kolla-ansible CI, if ironic inspector starts up before ironic API is properly up, we see the following error: The PXE filter DnsmasqFilter, state=initialized encountered an exception: StrictVersion instance has no attribute 'version'; resetting the filter: AttributeError: StrictVersion instance has no attribute 'version' Example: http://paste.openstack.org/show/756342/ The usual cause of this error is when StrictVersion is initialised with a version of None. This suggests to me that max_ver is None. This leads to an exception being raised that circumvents the client's retry mechanisms. In the particular case of kolla-ansible CI, Ironic API is behind a load balancer, and all backends are down resulting in a 503. The lack of a retry caused ironic inspector to fail on startup. This patch catches the case where we get a 4xx or 5xx return code when checking the version, and raises an error that works with the client's retry mechanisms. Change-Id: Ib62ca3ee4626084e5e9b90e93e4fa97938023457 Story: 2006393 Task: 36266
* Make it clear that a Session is required for v1.client.ClientDmitry Tantsur2019-09-241-1/+1
| | | | Change-Id: Icfb5f11a59a6b7cc65dcda0b87240c57c120e228
* Fix TypeError when using endpoint_override with SessionClientDmitry Tantsur2019-09-231-1/+5
| | | | | | | | | | | | First, when endpoint cannot be detected from a session None is returned from get_endpoint, causing subsequent code to fail. This changes fixes it. Second, endpoint_override is not passed to a Session (it's an Adapter) property, doing it has no effect. Use get_endpoint from Adapter instead. Change-Id: Ia942858abe980abf95c1ca136767983e7a0a285e Story: #2006600 Task: #36763
* Remove deprecated endpoint argumentRiccardo Pittau2019-08-211-11/+1
| | | | | | | | | | | Removing the endpoint argument to the v1.client.Client constructor. Please use the standard keystoneauth argument name endpoint_override instead. Change-Id: Ie2b26a667485223029fde05b20c39c5687f9e776 Story: 2006422 Task: 36319
* Remove the ironic commandJulia Kreger2019-08-201-296/+0
| | | | | | | | | | | | | | | | | The ironic command is dead, long live the OSC baremetal command. Also removed the json_respose tests, which seemed ot be geared to checking json returned data on the command line. For ironic these tests seemed to be very explicit for our CLI where as OSC should be covering the return data handling, the only real end effect is field level expectation enforcement in the functional test... which seems excessive and un-needed. Story: 1726605 Task: 11974 Depends-on: https://review.opendev.org/677183 Change-Id: I3e3ae416a65d8e01956434ba51bd3187ab001f80
* Remove deprecated common.http.HTTPClient classRiccardo Pittau2019-08-201-268/+27
| | | | | | | | | | | The class common.http.HTTPClient is deprecated and merked for removal in Stein. This patch removes it entirely, the class common.http.SessionClient should be used instead. Change-Id: I527d39d64c3ded9f61babcdf07d0492799b76fb9 Story: 2006422 Task: 36314
* Strip prefix when paginatingJim Rollenhagen2019-08-012-3/+25
| | | | | | | | | | | | The way the next URL is parsed and rebuilt in the pagination code doesn't take a prefixed path into account like devstack uses, e.g. /baremetal/v1/nodes. It ends up prepending the base URL and we get /baremetal/baremetal/v1/nodes. Drop the extra prefix when building this URL. Change-Id: I7e46068521c40f19c1e48eedc69b4ecd862e88fc Story: 2006216 Task: 35809
* Allocation API: support allocation backfillingDmitry Tantsur2019-05-211-1/+1
| | | | | | | Change-Id: I61242f05b151630a75bfb25badf2b5c635946170 Depends-On: https://review.openstack.org/648178 Story: #2005014 Task: #30212
* Do not try to use /v1/v1 when endpoint_override is usedDmitry Tantsur2019-05-161-6/+10
| | | | | | | | | | | | | | | In one of the places where endpoint_override is used we did not strip the /v1 suffix, resulting in doube /v1/v1 sometimes. This patch also corrects the way we strip this suffix (str.rstrip accepts a set of symbols, not a substring; use regex instead). It remains unclear why the breakage passed the gate initially. I assume it was not on the active code path until some Nova change. Story: #2005723 Task: #31051 Change-Id: I3b25f4fb170aa93159ffa8074dc74fa6f50671b7
* Use endpoint_override in version negotiationJason2019-03-151-1/+2
| | | | | | | | | | | | | | | | | | | | | | Change [1] introduced the usage of endpoint_filter when deciding which endpoint to use during version negotiation. This requires properly setting interface/region/service_type in order to properly pick the endpoint. But, sometimes (for example in Kolla-ansible), the endpoint url is explicitly defined. In the event of the endpoint being explicitly defined, it should take priority here. It should be noted that even though SessionClient extends from keystoneauth1's adapter.LegacyJsonAdapter, the `request` function within _make_simple_request is being called on the nested Session object, not the Adapter itself. If it was called on the Adapter this problem wouldn't exist, as the `endpoint_override` (or `endpoint`) kwarg passed in to the constructor of the SessionClient would already take precedence. [1]: I42b66daea1f4397273a3f4eb1638abafb3bb28ce Change-Id: I69dc2c88648ba1d09a9ad3ab3435662e8d1ea6ff Related-Bug: #1818295
* Support passing a dictionary for configdriveDmitry Tantsur2019-03-051-1/+1
| | | | | | | | | | | API version 1.56 introduces support for building configdrive on the server side. In this case configdrive is a dictionary, this changes adds support for it. Change-Id: I2b870fc89aa31c13b33f76b14acd6ee959800554 Depends-On: https://review.openstack.org/639050 Story: #2005083 Task: #29841
* Deploy templates: client supportMark Goddard2019-03-012-1/+17
| | | | | | | | | Adds OSC support for the deploy templates API. Change-Id: I0f2f37e840449ee41f747e2a43ed6f53c927094e Depends-On: https://review.openstack.org/631845 Story: 1722275 Task: 28678
* Allocation API: client API and CLIDmitry Tantsur2019-02-161-0/+21
| | | | | | | | | Adds the Python API to create/list/view/delete allocations, as well as the OpenStackClient commands. Change-Id: Ib97ee888c4a7b6dfa38934f02372284aa4c781a0 Story: #2004341 Task: #28028
* Add Events supportVasyl Saienko2019-02-131-1/+1
| | | | | | | | | | | | | Adds support to POST events to the /v1/events API endpoint. Updates LAST_KNOWN_API_VERSION to 51. Co-Authored-By: Harald Jensås <hjensas@redhat.com> Story: 1304673 Task: 22149 Depends-On: https://review.openstack.org/631946 Change-Id: I6bc2d711687350ee3000b6898b68c3d05db62260
* Add node ownerdnuka2019-02-051-1/+1
| | | | | | | | | Adds support to display and update the owner field of a node. Story: 2004916 Task: 29276 Change-Id: If79fea2a33b83ba0930f5df52eaf1e2b41f70eb7
* Support for conductors exposed from APIKaifeng Wang2018-12-121-1/+1
| | | | | | | | | | Adds conductor resource to the CLI, the support to list and show conductor resource, and filter nodes by conductor field. Story: 1724474 Task: 28066 Change-Id: I9644b9b1bbe2f4f5aa6e80a6bb7ab9b0a4663a6f
* Support for protected and protected_reason fieldsDmitry Tantsur2018-11-271-1/+1
| | | | | | | Story: #2003869 Task: #27624 Depends-On: https://review.openstack.org/611662 Change-Id: Ib575ace38d1bedce54d0d21517d745ed3204d6f2