Don't write python bytecode while testing

This patch was based on the Nova patch:
https://review.openstack.org/#/c/121044

This should reduce the number of times you need to completely delete
your tox dir because you have stale pyc files around.

In Ironic we have hit this problem a number of times, migrating to
oslo.message was a big one that caused a lot of confusion.

Closes-Bug: #1368661
Change-Id: I7dda3ad879beff1e494a36144c941a847177c2ef
Updated from global requirements

Change-Id: I6a64142799a7ab6a1b2a46a023150abf09e37a85
Stop using intersphinx

Remove intersphinx from the docs build as it triggers network calls that
occasionally fail, and we don't really use intersphinx (links other
sphinx documents out on the internet)

This also removes the requirement for internet access during docs build.

This can cause docs jobs to fail if the project errors out on
warnings.

Change-Id: I71e941e2a639641a662a163c682eb86d51de42fb
Related-Bug: #1368910
Update ironic states and documentation

This adds doc strings for the various states, and updates the documentation
header to reflect the current state of states.

In addition, this removes the following unused states:
  - INIT
  - BUILDING
  - SUSPEND

Change-Id: Id7493e856504f5ccf67fe7a716d748ffa7248590
Closes-Bug: #1308207
Merge "Don't write python bytecode while testing"
Fix timestamp column migration

The updated_at and created_at columns from the baremetal database
table were being switched when migrated into the ironic database
table.

Change-Id: Ibc8b1d699fc302b84cf0bc2d8159a5b5510c3abb
Closes-Bug: #1369699
Fix Devstack docs for zsh users

The current docs fail with the following error:
$ image=$(nova image-list | egrep "$DEFAULT_IMAGE_NAME[^-]" | awk '{print $2 }')
zsh: bad math expression: operand expected at `^-'

With this change, these docs work as expected for zsh users.

Change-Id: I56c39718cfe40208f62ea4786d684f6b24431ed9
Merge "Stop using intersphinx"
Merge "Update ironic states and documentation"
mock.called_once_with() is not a valid method

The method called_once_with() of a mock object is non-op that tests
nothing. The real method is assert_called_once_with(), this patch is
fixing that.

Change-Id: Ie080411458d18a796e245cf9e2cfdf9a070082cb
Allow clean_up with missing image ref

This change allows clean_up to continue with missing image_source
in Node.instance_info. This previouly failed in cases where:

* A node failed to deploy and so didn't have image_source
* A node was migrated from nova-baremetal

Change-Id: I03543adc74f9da83fff58e0cffe34f36a055e19a
Closes-Bug: 1368984
Merge "Fix Devstack docs for zsh users"
Merge "Allow clean_up with missing image ref"
Import modules for fake IPMINative/iBoot drivers

The fake IPMINative and iBoot drivers are not attempting to import the
necessary Python modules for proper operation.
To fix the issue, this patch attempts to import 'pyghmi' for the fake
IPMINative driver and 'iboot' for the fake iBoot driver. If the module
that is attempted to be imported is not available, then a
DriverLoadError is raised.

Change-Id: I5085a45c867c339ef900d89b5c830467398b3db1
Closes-Bug: 1362114
Add a doc note about the vendor_passthru endpoint

Add a doc note about the vendor_passthru endpoints to
doc/source/dev/drivers.rst, and update the list of short links on that
page.

Change-Id: Ib6cc9d507dc5907e5c38d107cfea48c987793787
Sync the doc with latest code

Our agent_ipmitool, agent_ilo, iscsi_ilo, pxe_ilo and agent_pyghmi
drivers also support sending notifications to Ceilometer. However,
in our install-guide.rst, we just mentioned pxe_ipmitool and
pxe_ipminative drivers, so the documentation needs to be synced with
current code.

Change-Id: Ic6dec44ba11177d0a350c5b4e3cf1eae3658c1b7
Closes-Bug: #1369838
Check whether specified FS is supported

Added to `utils.mkfs()` checking that not supported file systems.

Change-Id: If3cff21b8b4ffb969e7bcfc0d9769a36f23061dd
Closes-Bug: #1286244
Add unit tests for SNMPClient

This adds unit tests for ironic.drivers.modules.snmp.SNMPClient class.

Change-Id: I5a545571083287a9ce0877c0d539c3cb3bb78ba0
Closes-Bug: #1370559
Fix code error in pxe_ilo driver

The following code changes needs to be done for pxe_ilo driver:
- vendor_passthru should be called with **kwargs, instead of kwargs

Closes-bug: 1369545
Change-Id: I03d4773525332be85c0ff941306fb961793748e4
Merge "Add a doc note about the vendor_passthru endpoint"