zaza normally runs libjuju async functions in a background thread
to enable zaza to be blocking, but keep the libjuju async functions
'ticking over' between blocking calls.
This can break unit tests as starting the zaza background thread will
hang unless it is cleaned up. A simple solution is just to use zaza in
non-threaded mode in the unit tests, and zaza provides a mechanism for
this via zaza.RUN_LIBJUJU_IN_THREAD = False.
The Zaza MAAS code selects interfaces that are attached to the
provided CIDR, set up as unconfigured and has link.
In the event a machine has multiple unconfigured interfaces
attached to the same physical network, adding them all to the
configuration might lead to undesired side effects such as network
loops.
When on MAAS support doing charm based configuration of OVS by
retrieving MAC address of ports attached to external network
from MAAS.
Note that we should extend the MAAS support to also work with
deployments where MAAS does the OVS configuration for us.