Enable VM DHCP request to reach DHCP agent

When using the firewall driver IptablesFirewallDriver and the
default INPUT and FORWARD rules are DISCARD then the DHCP
request from the VM is discarded prior to getting to the dnsmasq.

A new rule will be added that enables DHCP requests to pass.

This fixes bug 1131223

Change-Id: I50fad5b63c3c4b22a5d828e3e89353c1ed723332
Change nova-dhcpbridge FLAGFILE to a list of files

This patch adds support to linux_net and nova-dhcpbridge for
specifying and conveying multiple dhcpbridge_flagfile values.
The support is implemented as follows:

dhcpbridge_flagfile is now a "MultiStr" configuration file option
allowing the flag files to be defined over multiple configuration files.
The configured files are concatenated into a comma separated string and
assigned to the FLAGFILE environment variable when invoking
nova-dhcpbridge. nova-dhcpbridge splits the value of the environment
variable on the comma an initializes its configuration with the provided
files (the configuration system already supports loading configuration
from multiple files)

Fixes bug 1131932

Change-Id: Ic9cc57b8f7d9356606b9134ef5b63ab07b6099d9
if reset fails, display the command that failed

we get failures in _reset_databases from time to time, and it's
hard to debug without understanding what command failed. Make
this show up in the assert message.

Now with even more output!

Change-Id: Ie82109cfb1745e7218e0906764db1fad0c8fc5f5
Fix incorrect zookeeper group name

The zookeeper driver group name is 'zookeeper' not 'zk'.

Change-Id: I346cb2740ea835d17918f46be7ca142957537626
Minor code optimization in _compute_topic

In cases where a valid host is passed, the if
statement is always executed twice, not once like it should

Change-Id: I6a24bb4f85bfb94d2fdc5d1652ee371f296a10ef
Merge "Change nova-dhcpbridge FLAGFILE to a list of files"
Merge "Enable VM DHCP request to reach DHCP agent"
Fix hacking.py to handle 'cannot import x'

Fix missingImport logic to handle a module that cannot be imported, due
to a missing dependant module.

Due to the nature of this bug doctests cannot cover it.

Fix bug 1133103

Change-Id: Ia067bacc125b67e2d9e0cfc72495e4f13a8648ad
Merge "Fix hacking.py to handle 'cannot import x'"
Allow zk driver be imported without zookeeper

The zookeeper python module isn't widely available (e.g. not available
on Fedora), so allow the zk servicegroup driver be imported even if the
module isn't found.

This helps allow the generate_sample.sh script generate a sample config
file even without zookeeper installed.

Change-Id: Ic3b3bb75bcd2003150909ebd2c5724fa5093c346
Merge "if reset fails, display the command that failed"
Merge "Minor code optimization in _compute_topic"
Merge "Allow zk driver be imported without zookeeper"
Additional tests for safe parsing with minidom

For nova, forbid_dtd is going to be true always, however
if someone picks up this code and tries forbid_dtd = False
then the existing code is not good enough. we need to protect
against external entities/dtd and not allow notations as well.
Added a few more handlers and test cases to cover that use
case.

Change-Id: If50f690e015f2bf837b403edf552e35d7af8c907