Reduce plugin accesses from policy engine

Bug 1179745

This patch introduces a new type of check whose aim is to fetch
the parent resource's owner only when a rule that explicitly needs
it needs to be checked.

Change-Id: I1ff429eb3f92b35bcb9b4c4e01b65f8c0a595f48
xenapi: fix rootwrap

The xenapi root wrapper did not parse the "exec_dirs" parameter, so it
failed to execute the commands. This patch works around this problem by
parsing the "exec_dirs".

Fixes bug 1185872

Change-Id: I10175c7df5d34e47eb6044711ffbe4fe4cee3ce2
Expose most common QueuePoll parameters from SQLAlchemy

Fixes bug 1160442

The defualt parameters are used unless otherwise configured. This
is applicable for:
 - pool_size
 - max_overflow
 - pool_timeout

By increasing the pool_size and the max_overflow and lowering the timeout
the issue reported in the bug is resolved.

NOTE: the configuration values enable the user to make use of the default
QueuePool tuning values.

Change-Id: Ic258442531a2caf2db4f05c4ddd6fbfb0c180f17
Add support for protocol numbers

This patch adds support for passing in protocol numbers into the API.
For example, 1 instead of ICMP. This allows all protocols besides
just TCP/UDP/ICMP to be used. This patch includes changes to support
this for the NVP Plugin. Existing plugins using securitygroups_rpc_base
and OVSHybridIptablesFirewallDriver require no change to leverage this.

Implements blueprint security-group-rules-protocol-numbers

Change-Id: I7d3b6986d9d0dadbefac0ea7798475a573dac046
Sync Qpid RPC fix from Oslo

Qpid cannot serialize dicts containing strings longer than 65535
characters.  This change syncs the fix from Oslo to Quantum.

Fixes bug 1175808

Change-Id: I48071abffa86e71727deed05aca08ac475cbaf05
Remove generic Exception when using assertRaises

This change fixes errors associated with H202 checks and enables H202
checks.

Change-Id: I28a48d1b58f2f1f6824ee4b45782a0c961fe9fb5
Use Python 3.x compatible octal literals

Python 3.x deprecated octal literals in the form 0755.
Use the Python 2.x compatible version 0o755 instead.

Change-Id: I90ea601847752ae04d4e403ffa16a537efe442e2
Change lazy='dynamic' to 'joined' in models_v2

Previously several models were defined with lazy='dynamic'. This would
then cause Ports.fixed_ips (or w/e was specified as dynamic) to be defined
as a AppenderQuery object and when accessed would query for the result.
Therefore in get_ports() for example, when fixed_ips was accessed
in _make_port_dict() we would be issuing an addition query to the database
to lookup the fixed_ips information.

This patch changes update_port/subnet() so that it keeps track of what
changed so it does not have to query the db for values it should already
know about.

This patch also adds a unit test for update_subnet() adding host routes
where there was missing code coverage.

Implements blueprint improve-db-performance

Change-Id: I0b2214604042a1fd362cbbf3fd70e31adf0ce279
Merge "Remove generic Exception when using assertRaises"
Merge "Sync Qpid RPC fix from Oslo"
Merge "Change lazy='dynamic' to 'joined' in models_v2"
Fix and enable H90x tests

Only triggering in few places that are easy
to fix. Start gating on those checks.

Change-Id: Ib4ff23159bd83fd3455b5357d5338fe37ca23fa2
Imported Translations from Transifex

Change-Id: Ied5f298513ecf312e0cb6dcd5bc0740e869f44d9
Merge "Add support for protocol numbers"
Hide lock_prefix argument using synchronized_with_prefix()

The lockfile module has a new convenience API which sets the lockfile prefix.
Using this API, the prefix is not required everytime synchronized is used.
This enables for projects to have consistant prefixes on their lockfiles

Change-Id: I4bc3f28a9ed2a6e2438a90f163bbde081211062c
Add support for VXLAN to the Open vSwitch plugin.

This commit adds support for utilizing the VXLAN tunneling protocol in versions
of Open vSwitch >= 1.10. This is configurable and will default to GRE if not
configured. As part of this commit, it is possible to configure the UDP port
VXLAN will utilize as well. VXLAN and GRE cannot be configured at the same
time with this patch. 2 new configuration file options are added to the AGENT
section of the config to support this: 'tunnel_type' and 'vxlan_udp_port'.
In addition, the agent no longer makes use of enable_tunneling, as this can
be determined if tunnel_type is set.

Note: The VXLAN functionality utilized here is what is implemented in Open
vSwitch itself, and is different than the VXLAN functionality in the
upstream Linux kernel. The code validates both the userspace and kernel
pieces of OVS to verify if VXLAN functionality can be supported on the
running system

Implements blueprint ovs-vxlan-lisp-tunnel

Change-Id: I45d49d5d6463e574922c7f50d6499c6bdb6c862c
Imported Translations from Transifex

Change-Id: I076ac10aa31a43369a100acfe72b6737a53c26ee
Merge "Fix and enable H90x tests"
Merge "Hide lock_prefix argument using synchronized_with_prefix()"
Merge "Expose most common QueuePoll parameters from SQLAlchemy"