- Extend the driver-list command with --type argument, which, if supplied,
limits the driver list to only classic drivers (classic value) or
hardware types (dynamic value), and --detail to show detailed info
of drivers.
- Extend the output of the driver-show command with more info of driver.
Change-Id: I5f72c47805ae9f761250f500098bfef4d502e419
Partial-Bug: #1524745
This adds a new method base.Manager._get_as_dict() which
checks whether there is a resource first, before calling
Resource.to_dict(). Code was modified to call this new
method, instead of calling Resource.to_dict() directly.
This fixes the AttributeError that occurs if, for example, one
tries to get the list of driver passthru methods of the 'fake'
driver (via 'ironic driver-get-vendor-passthru-methods fake').
There are no methods, and without this change, an AttributeError
exception is raised. With this fix, an empty list is returned.
Change-Id: Ib6b691cd39ede9c5902b4df29023fd974b367a7d
Closes-Bug: #1626806
This commits add the following:
* Ability to set target_raid_config for a node using
node-set-target-raid-config.
* Display target_raid_config and raid_config in node-show.
* Display logical disk properties for a driver using
driver-raid-logical-disk-properties.
NOTE: Client still defaults to version 1.9, so
'--ironic-api-version 1.15' (or above) should be
added to the CLI to use the feature as RAID can be
triggered only with manual cleaning which uses the
ironic-api-version 1.15.
Co-Authored-By: Nisha Agarwal <agarwalnisha1980@gmail.com>
Closes_bug: 1526400
Change-Id: Id7bb8a242838029e4cc3715d18b27fb1d5cd4dfa
without changing the API
This commit does refactoring regarding the base.Manager and the
specific managers that inherit from it (Chassis, Node, Port and
Driver).
The specific managers had a lot of duplicate code in methods like:
get, create, delete and update, they were literally equal, what does
not make sense once we already had the base.Manager inheritance to
avoid this type of problem.
This change moves the duplicate code to the parent (base.Manager) and
make the specific managers simpler by making the base.Manager more
useful regarding code reuse for these methods.
Change-Id: Ic77a86196d5bcd956f0a3ae517200824a4d70aa8
Closes-Bug: #1517631
This reverts commit 46b279bb36b2647bf04097fe271586fca76f5ed0.
The patch being reverted has broken the API compatibility. Until a fix
for this issue has been created, the patch should be reverted.
Change-Id: I1295c3e0d5ca228253874719befd7ed842d505fa
Closes-Bug: #1521429
This commit does refactoring regarding the base.Manager and the
specific managers that inherit from it (Chassis, Node, Port and
Driver).
The specific managers had a lot of duplicate code in methods like:
get, create and vendor_passthru, they were literally equal, what does
not make sense once we already had the base.Manager inheritance to
avoid this type of problem.
This change moves the duplicate code to the parent (base.Manager) and
make the specific managers simpler by making the base.Manager more
useful regarding code reuse for these methods.
Change-Id: I9acef9ecc815df61d7ddabe3fae9eccdafe2eeed
Closes-Bug: #1517631
This is basically a revert of commit:
af741ec2236619880fa902d68aef4a6ae6cef534
It was decided that only files that need to have the line:
# -*- coding: utf-8 -*-
Should have the line[1] as a general principle
This patch removes the 'utf-8' coding line from files that consist
entirely of ASCII characters.
[1]
http://eavesdrop.openstack.org/meetings/ironic/2015/ironic.2015-04-20-17.00.html
Partial-bug: #1325193
Change-Id: I88c1c37f7b580aa805eae9d4a1e66d33302a325f
Fix PEP8 E126,E127,E128 errors, which were the only ones remaining.
Fix PEP8 errors:
E126: continuation line over-indented for hanging indent
E127: continuation line over-indented for visual indent
E128: continuation line under-indented for visual indent
Remove the ignore= entries for flake8 in tox.ini
Change-Id: I919551121d85d2aab528f4fa5ecdb3cfd940557a
Extend the vendor_passthru() library methods and clients to support
issuing different HTTP methods on the vendor endpoints.
Implements: blueprint extended-vendor-passthru
Change-Id: I32a4990ed3db0bc73ce845b9b4119d87ab2e1503
The vendor_passthru() method for the node and driver library was
expecting a **kwargs, that isn't helpful because you don't know exactly
how much parameters it expects, what are the parameters etc... This
patch is changing it since the parameters are well defined (we knew what
parameters we were expecting there).
Change-Id: Idb2002eb76e76f6e1b67a6ea1a7d31f41573abdd
Add 'driver-properties <driver_name>' command. This returns a table
listing the properties of the specified driver, including name
and description.
Eg:
$ ironic driver-properties pxe_ipmitool
+--------------------+----------------------------------------------+
| Property | Description |
+--------------------+----------------------------------------------+
| ipmi_address | IP address or hostname of the node. Required.|
| ipmi_password | password. Optional. |
| ipmi_priv_level | privilege level; default is ... Optional. |
| ipmi_terminal_port | node's UDP port ... required for console... |
| ipmi_username | username; default is NULL user. Optional. |
| pxe_deploy_kernel | UUID (from Glance) of the deployment... |
| pxe_deploy_ramdisk | UUID (from Glance) of the ramdisk... |
+--------------------+----------------------------------------------+
If this feature is not available in Ironic, it returns
"Not Found (HTTP 404)".
If driver_name doesn't exist, it returns "The driver '<driver-name>' is
unknown. (HTTP 404)".
Change-Id: Id125fe4c1771dc5bb5b57d528940f2ba1c85866a
Blueprint: get-required-driver-info
This commit adds support for calling vendor-passthru
methods for nodes and drivers.
Change-Id: I73dd6c74f4b069e297cbf2175ffbba39fc1d6df6
Closes-Bug: 1330777
While not strictly necessary for files containing only ASCII
characters, adding a line with "coding: utf-8" can guard against
future SyntaxError's in case someone inserts a Unicode literal.
This commit adds such lines to all .py files. The syntax used by this
commit works with Python (of course). It also works with Emacs, which
will recognize the special "-*-" marker and use the "coding" variable
to correctly decode the file, even in an environment where UTF-8 is
not the default file encoding.
Existing coding lines were normalized to match the new lines added.
Partial-bug: #1325193
Change-Id: I58bf93fea711fd25890356a397e594bd820c99e3
Now that the Ironic API supports getting individual drivers via
/v1/drivers/<driver_name>, a new 'driver-show' command is added
to the client.
Change-Id: Ia18ba75a9814f127b2db0ccbcb3f5b0f44045c7a