Make availability_zone optional in create for aggregates

As the novaclient's help message, we can create aggregate without
availability_zone. But the api didn't allow it, so this patch make
it optional.

Closes-bug: 1252177

DocImpact

Change-Id: I64629d71648900bf5be554d9afa4ae47d6b651d0
Fix rbd backend not working for none admin ceph user

The 'rbd_user' option allows nova administrators to override the default user
account used for RBD operations, with one that has potentially lower
privileges.  Not all parts of the Nova code honoured the 'rbd_user' option,
which resulted in failures when attempting to use a lesser privileged user for
RBD. This fix ensures the '--id' and '--config' parameters are passed to the
RBD command line tools in all cases.

Change-Id: Id99aa303791143360ad78074184583048e4878f0
Close-bug: 1255536
Ensure MTU is set when the OVS vif driver is used

Set the MTU on the relevant devices when the OVS vif driver
is used:
    - veth devices
    - ovs vif device

Change-Id: I217f43227c099f17ab9a225b1ef7377d3de28114
Closes-bug: 1260697
Join pci_devices for servers API

A previous change, 119e2a690a64fdfd541010590285f754b3393653, joined
pci_devices in the v3 servers API when getting a full list of instances.
This was to work around a race condition with the PCI API extension.
When the PCI extension runs later, it lazy-loads pci_devices.  This may
raise InstanceNotFound if the instance was deleted in the meantime.

The last patch did not fully resolve this race condition, as we are also
seeing it rather regularly in API calls for a single server.  This patch
updates the compute_api.get() calls to join pci_devices, as well.

Change-Id: Id3e60c3c56c2eb4209e8aca8a2c26881ca86b435
Closes-bug: #1270680
Merge "Make availability_zone optional in create for aggregates"
Merge "Ensure MTU is set when the OVS vif driver is used"
Merge "Fix rbd backend not working for none admin ceph user"