Extend Vendor Passthru
The VendorPassthru and DriverVendorPas
methods are asynchronous and DriverVendorPas
In addition, right now each driver is responsible for implementing
their own method that will invoke their vendor methods and they ended up
duplicating a lot of code and also doing things like raising different
exceptions for the same type of error. Also, some of them are logging the
errors raised by the vendor methods or converting non-Ironic exceptions
to Ironic exceptions and others are not.
Apart from that both endpoints only support one HTTP method: POST. It
would be good to extend it to support other HTTP method because some
drivers may want to use them. One example would be the iPXE driver where
supporting GET would be beneficial because the iPXE script could request
a GET in the Ironic API which would return what kernel and ramdisk should
be booted and the script can chainload it from there.
Another problem is that currently the vendor methods are not discoverable
via out API, there's no way to know what are the methods being currently
exposed by the drivers.
Blueprint information
- Status:
- Complete
- Approver:
- aeva black
- Priority:
- Medium
- Drafter:
- Lucas Alvares Gomes
- Direction:
- Approved
- Assignee:
- Lucas Alvares Gomes
- Definition:
- Approved
- Series goal:
- Accepted for kilo
- Implementation:
- Implemented
- Milestone target:
- 2015.1.0
- Started by
- aeva black
- Completed by
- aeva black
Related branches
Related bugs
Sprints
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
Add a mechanism to route vendor methods
Gerrit topic: https:/
Addressed by: https:/
Add logging to driver vendor_passthru functions
Addressed by: https:/
Add sync and async support for passthru methods
Addressed by: https:/
Vendor endpoints to support different HTTP methods
Addressed by: https:/
Make vendor methods discoverable via the Ironic API
Addressed by: https:/
Add documentation about Vendor Methods