summaryrefslogtreecommitdiff
path: root/ironicclient/common/http.py
Commit message (Collapse)AuthorAgeFilesLines
* 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
* 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
* 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
* 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 "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
* | Get rid of the oslo.serialization dependencyDmitry Tantsur2020-05-041-4/+4
|/ | | | | | | | | | | | | 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
* 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
* Bump hacking to 3.0.0Dmitry Tantsur2020-03-301-16/+17
| | | | | | | | 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-181-11/+11
| | | | | | | | | | 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 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-011-3/+8
| | | | | | | | | | | | 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-011-1/+1
| | | | | | | | | Adds OSC support for the deploy templates API. Change-Id: I0f2f37e840449ee41f747e2a43ed6f53c927094e Depends-On: https://review.openstack.org/631845 Story: 1722275 Task: 28678
* 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
* Merge "Add management of automated_clean field"Zuul2018-10-241-1/+1
|\
| * Add management of automated_clean fieldYolanda Robla2018-10-231-1/+1
| | | | | | | | | | | | | | | | | | Modify api to manage the new automated_clean field. Also bump last known version to 47 Change-Id: I790c762083c2c1b6cbdde4b21434c56bb99236dd Story: #2002161 Task: #23252
* | Fix a LOG.warning which didn't work properlyKaifeng Wang2018-10-181-1/+1
|/ | | | | | | | | | | | | | Found when checking ci logs here: http://logs.openstack.org/41/587041/3/check/ironic-inspector-tempest-dsvm-discovery/7912a3a/logs/screen-ironic-inspector.txt.gz#_Oct_17_16_44_39_477744 It's supposed to be printing missing arguments when constructing an http client. The http client is supposed to be removed ?soon?, so if the fix is not required, please let me know. Change-Id: I2bad387afa2ede56da7164a7bc9a5ac461e78d9c
* Add support for conductor groups2.5.0Dmitry Tantsur2018-07-231-1/+1
| | | | | | | | | | Implements support for conductor groups when creating, updating and listing nodes. Refactored some CLI code to avoid excessive copy-paste. Change-Id: I16559bc3bb6dcbac996c768aa4514676cf4a98a8 Depends-On: https://review.openstack.org/#/c/581391/ Story: #2001795 Task: #23117
* Add support for reset_interfaces in node's PATCHDmitry Tantsur2018-07-171-1/+1
| | | | | | | Change-Id: I52ee891d6549827d9a055f23d475fe42f422c4d2 Depends-On: https://review.openstack.org/582951 Story: #2002868 Task: #22822
* Merge "Support node's deploy_step field"Zuul2018-07-161-1/+1
|\
| * Support node's deploy_step fieldRuby Loo2018-07-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Adds support for a node's ``deploy_step`` (read-only) field. The deploy step indicates which step is being performed during the deployment/provisioning of a node. It is available starting with Bare Metal API version 1.44. Depends-On: https://review.openstack.org/#/c/579968/ Change-Id: I93ac628bca0822a9a359926389543f7db7fb3e56 Story: #1753128 Task: #22925
* | Trivial fix typo of descriptionTuan Do Anh2018-07-101-1/+1
|/ | | | | | Corrected the typo of description in http.py Change-Id: Iac0dd3fa636c82bb6522f6c8351123f0e6aff13c
* Merge "Power fault recovery: client support"Zuul2018-06-111-1/+1
|\
| * Power fault recovery: client supportKaifeng Wang2018-06-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds codes to support the fault field exposed from ironic API. Querying nodes with specified fault is also supported as well. Story: #1596107 Task: #10469 Partial-Bug: #1596107 Depends-On: https://review.openstack.org/556015/ Change-Id: I429df0ab5ea39140a2b988d5dfdacb24a67b955e
* | Merge "Wire in header microversion into negotiation"Zuul2018-06-041-18/+44
|\ \ | |/ |/|
| * Wire in header microversion into negotiationJulia Kreger2018-05-311-18/+44
| | | | | | | | | | | | | | | | | | | | | | In order to properly error and prevent a user defined override version from being saved, we need to explicitly check and fail accordingly. Related-Bug: #1739440 Story: #2001870 Task: #14324 Change-Id: I281224b3de33b7c0c00ed777870df8002e23c4ea
* | Merge "Stop double json decoding API error messages"Zuul2018-05-151-16/+16
|\ \
| * | Stop double json decoding API error messagesSam Betts2018-05-141-16/+16
| |/ | | | | | | | | | | | | | | | | This patch adds support for the fixed error messages that aren't double JSON encoded. Change-Id: Ib39f65c89e3e96efddd9fa3b648145ae3d6159d3 Story: #1662228 Task: #19644
* | Switch to none auth for standalone modeVladyslav Drok2018-05-071-12/+23
|/ | | | | | | | | | | | | | | | | | | | | | Currently, during the ironic shell client construction, if only os_auth_token and endpoint arguments are passed, custom HTTPClient class based on requests' sessions is used. This is unnecessary, as there is admin_token auth type in keystoneauth that does basically the same, eliminating the need for our custom implementation. Apart from that, there is a none auth, which requires only passing the desired endpoint to use, so we can use it too without having to specify fake token strings anymore. Let's use these auth methods instead and deprecate HTTPClient. Also this patch deprecates a bunch of arguments to client.get_client function, changing them to the standard keystoneauth naming. DocImpact Story: 1696791 Task: 11836 Depends-On: https://review.openstack.org/559116 Change-Id: Ifc7b45d047c8882a41021e1604b74d17eac2e6e8
* Merge "Minor changes to version negotiation logic"Zuul2018-03-131-10/+7
|\