Virt driver change to use API retry config value

A hardcoded value of 10 seconds was being used for the sleep time
between looping ironic API calls. A TODO was left to use a configurable
value. This value exists in CONF.ironic.api_retry_interval so we
should use that.

Change-Id: Ieca4c987b765e226f3921efc24f0ec051f0b1094
Closes-Bug: #1314638
Implement the reboot command on the Ironic Driver

Closes-Bug: #1310137
Change-Id: I63266d73537573f132b4914d15a87a8ccfa732e6
Fix 'pxe_preserve_ephemeral' parameter leakage

Add 'pxe_preserve_ephemeral' to the list of parameters to be removed
from the node when tearing it down to prevent it from leaking from one
deploy to another.

Closes-Bug: #1317527
Change-Id: I83811126ec72ce46290fb4828a05ef0bbc2c2fd2
Remove explicit dependency on amqplib

kombu already depends on amqp or amqplib depending on its
version, and no explicit access to amqplib exists in ironic code.

Update logging config to list both amqp and amqplib, as kombu
will setup one or the other.

Change-Id: I66b81e5ef13d009d01b7656fe5e61a7cffd7dcac
Remove non-existent 'pxe_default_format' parameter from patcher

The name of the parameter is 'pxe_ephemeral_format'.

Change-Id: Ibb642399b4dcdf3919214646ac43d1e16e66e8f0
Fix bad Mock calls to assert_called_once()

To actually check if a call was made, we should use
assert_called_once_with. assert_called_once is just a auto-spec'd
method and hence does not really check anything.

Change-Id: I64f902d3165d58e13c876d0184bf1d1ae4f81bae
Renaming ironicclient exceptions in nova driver

Since ironicclient uses exceptions from common code(
0f6419015c5f03448689ffe7c75ff3bdb5f19c08), names of several exceptions
changed. New names should be used in nova driver.

Related to bp common-client-library-2

Change-Id: I717aec8667a68c173f571ecc7d992b9fca3896c3
Speed up Nova Ironic driver tests

Mock 'api_retry_interval' and 'api_max_retries' config values in
the Nova Ironic driver tests to avoid sleeps and make the tests run
quicker. Before on my machine those tests was taking ~10s to run,
mocking those values out make it run in 0.4s.

Closes-Bug: #1320907
Change-Id: I6c4fa400d0eadbcb10d1f8b937e2e707c91d6ea4
Update dev quickstart guide for ephemeral testing

Devstack now supports the IRONIC_VM_EPHEMERAL_DISK variable
which allows the user to specify the size of the ephemeral
disk partition. This change documents how to use this variable
to boot an instance with ephemeral storage.

Change-Id: Idd3bf8c4c63d32a8ed2bacd37ba642eb70f709db
Don't translate debug level logs

Our translation policy
(https://wiki.openstack.org/wiki/LoggingStandards#Log_Translation) calls
for not translating debug level logs. This is to help prioritize log
translation. Furthermore translation has a performance overhead, even if
the log isn't used.

Related-Bug: #1318333

Change-Id: I0d6425fcf2c55d3cdab1dbfaa4bf698b1a33841c
Run keepalive in a dedicated thread

Periodic tasks are not concurrent, they run one after the other in
a single greenthread so if a periodic tasks take a long time to run
(e.g syncing the power state of the devices) the conductor will miss the
keepalive and will be considered dead even tho it's not. This commit is
adding the keepalive to a dedicated greenthread to avoid such problem.

Partial-Bug: #1308680
Change-Id: Ib4159e55a42f268c75f362180e145e637735c16d
Using system call for downloading files

Using system call `sendfile` for downloading files using glance
image service. It's more efficient than passing the entire image
through Python `shutil`.

Change-Id: Ic36c593538fd97d3ac02d3ad77feebcfdb9f1868
Closes-Bug: #1199522
Fix wrong usage of mock methods

There is no assert_not_called() method in mock, as described here:
https://code.google.com/p/mock/issues/detail?id=159
Fix the call to use the mock.called attribute instead.
This patch also uses right method assert_called_once_with instead
of assertCalleOnceWith.

Change-Id: Idc0125db73cd11707ce885813174ec38535dc501
Merge "Don't translate debug level logs"
Merge "Remove explicit dependency on amqplib"
Merge "Speed up Nova Ironic driver tests"
Merge "Fix 'pxe_preserve_ephemeral' parameter leakage"
Merge "Remove non-existent 'pxe_default_format' parameter from patcher"
Merge "Virt driver change to use API retry config value"
Merge "Update dev quickstart guide for ephemeral testing"