Remove flavor-disabled related policy rules for v3 api

flavor-disabled extension have already merged into flavors core.
This patch removes those useless policy rules.

Change-Id: Ief2a96710cdfaee89c1864a8474b9db6d4b02cd5
XenAPI: Wait for VDI on introduce

Some SRs, particularly iSCSI connections, are slow to see the VDIs.

Introduce a sleep when a VDI that we're definitely expecting is not
present on the SR.

Change-Id: I7c71f1c7b811603aeacbb34c913dc236bba2132a
Closes-bug: 1274088
Fix english grammar in the quota error messages.

The first one was already correct, but the verb was
missing from the minimum- and maximum-related errors.

Change-Id: I41a80db5d405e9882e356be4bb75ef26724f9824
Add a instance lookup helper to v3 plugins.

There was a lot of duplicated error checking code in the v3 plugins
around instance lookup via the compute API. I've created a generic
helper to do this, and then moved all the existing plugins across to
using that helper. This reduces the amount of duplicated code in
these plugins.

Change-Id: I52c15da0499eda676225603d5a0b2739875d1fca
Remove quota classes extension from the V3 API

As per discussion at the Nova mid cycle meetup the
quota classes extension is being removed from the
V3 API. The extension was apparently part of a larger
body of work the rest of which never managed to merge.
So its not really useful by itself.

Partially implements bp v3-api-remove-extensions

Change-Id: Id1f288baa723df825151bd84aa27089271c2b8e4
Using six.add_metaclass

Using six.add_metaclass instead of '__metaclass__' for Python 3.x
compatibility.

Change-Id: I04848196c8bc553fec19dd447a8fdd6dacdf64b8
Removes console output plugin from the core list

As per the discussion at the Nova mid cycle meetup
the console_output plugin is removed from the core plugin list.
console_output is not supported well by the hypervisors and has
known security issues. Note that there are no changes to API samples
as even though the extension name has changed the api samples were
mislabelled anyway.

Partially implements bp v3-api-core

Change-Id: I56a55f245fff8217452acb0a754ac98a342fca88
Fix incorrect check in aggregate/az test

This test currently does:

  try:
      self.api.update_aggregate(...)
  except exception.InvalidAggregateAction as e:
      msg = "host1 in avail_zone1,host2 in avail_zone1"
      self.assertTrue(e.format_message().find(msg))

There are two issues with this: 1) if update_aggregate() doesn't raise
an exception, the test will pass and 2) if exception doesn't contain
the message (which it doesn't, it's not the correct message) then
find() will return -1 and the assertion passes.

Fix both of these simply by using assertRaises()

Change-Id: I31edef2cfdd9ce748f19b09e93ae00a7437a52f5
Remove @author from copyright statements.

We have git to track authorship, so let's not pad source files
with it as well.

Co-authored-by: Joe Gordon <joe.gordon0@gmail.com>

Change-Id: Ic2d62d6743f7716c086749cd99922b6c496771d4
Refactor stats to avoid bad join

Refactor compute node methods to remove slow join with compute node
stats.  Stats are encoded instead in a single json/text column.

Implements: blueprint compute-node-stats-as-resource-tracker-extension

Change-Id: I1651d758dd21c87ccd768fdd86c910ec5080c71c
Merge "XenAPI: Wait for VDI on introduce"
Merge "Remove @author from copyright statements."
Merge "Add a instance lookup helper to v3 plugins."
Merge "Refactor stats to avoid bad join"
Merge "Remove quota classes extension from the V3 API"
Merge "Fix incorrect check in aggregate/az test"
Merge "Removes console output plugin from the core list"
Merge "Remove flavor-disabled related policy rules for v3 api"
Merge "Fix english grammar in the quota error messages."
Merge "Using six.add_metaclass"