Updated from global requirements

Change-Id: I0b2e1189b55de541d2b6ed743269cff48c59e9f1
Make vendor methods discoverable via the Ironic API

The @passthru and @driver_passthru decorators were extended to support
adding a description about the method being decorated which will also be
returned by the API. That said two new endpoints to the API that returns
the available methods for the given driver or node.

* GET /v1/drivers/<driver name>/vendor_passthru/methods

* GET /v1/nodes/<node uuid>/vendor_passthru/methods

Implements: blueprint extended-vendor-passthru
Change-Id: Idac6a433da1a9ae170dbe3d8ceb9e4c76fcdb1be
Add documentation about Vendor Methods

This patch adds a quick tutorial on writing vendor specific methods to
a driver.

Implements: blueprint extended-vendor-passthru
Change-Id: Id23e73715e0058ce162a5dde8eeb3ad61d9e7131
Merge "Updated from global requirements"
Update drivers VendorInterface validate() method

Update drivers VendorInterface validate() methods to remove the
verification of whether a method called exist or not. This verification
is now done by the conductor, validate() will always be called with a
valid method for drivers that are decorating their vendor methods with
the @passthru decorator.

Change-Id: Ia542df8283007ea2a2a049311a6418313a5859b4
Merge "Make vendor methods discoverable via the Ironic API"
Merge "Add documentation about Vendor Methods"
Merge "Update drivers VendorInterface validate() method"
Add driver_validate()

vendor.driver_vendor_passthru() should be validated before called
on Ironic conductor, like vendor_passthru(). Add a new method
driver_validate() to support this.

Change-Id: Idff802cece01940b8ade34fa343f1bc8e76f1630
Closes-Bug: #1391580
Support configdrive in agent driver

This passes the configdrive URL to the agent, to be downloaded
and written to a partition during deployment.

Implements: blueprint expose-configdrive

Change-Id: I3d142acb76a87d92a3f7b0be039c157cda4a7aa8
Add serial console feature to seamicro driver

Implements a console driver -- "ShellinaboxConsole" -- that uses
telnet+shellinabox to connect to serial console of physical servers
configured within the Seamicro Fabric Compute system.

SeaMicro System provides telnet facility to connect to any of
it's physical server's serial console. Port to which we telnet
depends on server-id.

Change-Id: I2e60f6402a984dbbb6e0f749729c5a7006310076
Implements: blueprint seamicro-serial-console
Merge "Add driver_validate()"
Minor fix to install guide for associating k&r to nodes

Improve the install guide's instructions for associating a deploy kernel
& ramdisk to a node, rather than creating a new node.

Change-Id: Ibfbe805e5b762e6d146ffc50514fa7d6f3ebebe4
Correct link in user guide

The user guide was referencing the old Baremetal wiki page.
This has been corrected to reference Ironic's wiki instead.

Change-Id: I1a725e0f8ebafc1ac3c80b0976ccc3c3312416f6
Merge "Support configdrive in agent driver"
Merge "Add serial console feature to seamicro driver"
Merge "Minor fix to install guide for associating k&r to nodes"
Merge "Correct link in user guide"
Updated from global requirements

Change-Id: Ie7334333d010975ead3db78506daaa8c300e6bb3
Avoid calling _parse_driver_info in every test

In test_seamicro.py file almost all the testcases are calling
_parse_driver_info. Ideally it should be set in setup only once.

Change-Id: Ic7daa4e8daec891380b1ead6824214abff28fbb6
Closes-Bug: #1394910