Refactor mechanism driver metadata

Using a quite heavy nested dict structure for defining a list of
mechanism driver to load is an overkill. This change simplifies
the structure by turning it into a list.
The mechanism driver meta for gateway and compute nodes is now moved
to the system level (like it is already done for control nodes).
The l2population mechanism driver is still enabled by default,
however its enablement is no longer unconditional.

Change-Id: I4ae9c9c0562ef2271bf627d53d62aca60c101dab
diff --git a/README.rst b/README.rst
index 4a5787a..9fddb61 100644
--- a/README.rst
+++ b/README.rst
@@ -190,8 +190,8 @@
           tenant_network_types: "flat,vxlan"
           external_mtu: 9000
           mechanism:
-            ovs:
-              driver: openvswitch
+            - openvswitch
+            - l2population
 
 Network Node
 
@@ -218,8 +218,8 @@
           engine: ml2
           tenant_network_types: "flat,vxlan"
           mechanism:
-            ovs:
-              driver: openvswitch
+            - openvswitch
+            - l2population
 
 Compute Node
 
@@ -247,8 +247,8 @@
           engine: ml2
           tenant_network_types: "flat,vxlan"
           mechanism:
-            ovs:
-              driver: openvswitch
+            - openvswitch
+            - l2population
         audit:
           enabled: false
 
@@ -299,8 +299,8 @@
           tenant_network_types= "flat,vxlan"
           external_mtu: 9000
           mechanism:
-            ovs:
-              driver: openvswitch
+            - openvswitch
+            - l2population
 
 Network Node
 
@@ -328,8 +328,8 @@
           engine: ml2
           tenant_network_types: "flat,vxlan"
           mechanism:
-            ovs:
-              driver: openvswitch
+            - openvswitch
+            - l2population
 
 Compute Node
 
@@ -353,8 +353,8 @@
           engine: ml2
           tenant_network_types: "flat,vxlan"
           mechanism:
-            ovs:
-              driver: openvswitch
+            - openvswitch
+            - l2population
 
 Neutron VXLAN tenant networks with Network Nodes with DVR
 ---------------------------------------------------------
@@ -405,8 +405,8 @@
           tenant_network_types= "flat,vxlan"
           external_mtu: 9000
           mechanism:
-            ovs:
-              driver: openvswitch
+            - openvswitch
+            - l2population
 
 Network Node
 
@@ -434,8 +434,8 @@
           engine: ml2
           tenant_network_types: "flat,vxlan"
           mechanism:
-            ovs:
-              driver: openvswitch
+            - openvswitch
+            - l2population
 
 Compute Node
 
@@ -464,8 +464,8 @@
           engine: ml2
           tenant_network_types: "flat,vxlan"
           mechanism:
-            ovs:
-              driver: openvswitch
+            - openvswitch
+            - l2population
 
 Sample Linux network configuration for DVR
 
@@ -569,8 +569,8 @@
           external_vlan_range: "100:200" # Does not have to be defined.
           external_mtu: 9000
           mechanism:
-            ovs:
-              driver: openvswitch
+            - openvswitch
+            - l2population
 
 Compute node
 
@@ -587,8 +587,8 @@
           engine: ml2
           tenant_network_types: "flat,vlan" # Can be mixed flat,vlan,vxlan
           mechanism:
-            ovs:
-              driver: openvswitch
+            - openvswitch
+            - l2population
 
 Advanced Neutron Features (DPDK, SR-IOV)
 
@@ -613,8 +613,8 @@
           engine: ml2
           ...
           mechanism:
-            ovs:
-              driver: openvswitch
+            - openvswitch
+            - l2population
 
 Neutron OVS SR-IOV
 
@@ -627,10 +627,9 @@
           engine: ml2
           ...
           mechanism:
-            ovs:
-              driver: openvswitch
-            sriov:
-              driver: sriovnicswitch
+            - openvswitch
+            - sriovnicswitch
+            - l2population
 
     neutron:
       compute:
@@ -644,8 +643,8 @@
               devname: eth1
               physical_network: physnet3
           mechanism:
-            ovs:
-              driver: openvswitch
+            - openvswitch
+            - l2population
 
 Neutron with VLAN-aware-VMs