diff --git a/README.rst b/README.rst
index 00a74c4..1d03977 100644
--- a/README.rst
+++ b/README.rst
@@ -743,7 +743,7 @@
                 - flat # possible values - 'flat' or 'vlan'
             sriov_net:
               mtu: 9000 # Optional, defaults to 1500
-              vlan_range: '100:200' # Optional
+              vlan_range: '100:200,300:400' # Optional
               types:
                 - vlan
             ext_net2:
diff --git a/neutron/client/resources/init.sls b/neutron/client/resources/init.sls
index 8920064..090ebb7 100644
--- a/neutron/client/resources/init.sls
+++ b/neutron/client/resources/init.sls
@@ -11,7 +11,7 @@
 
 {%- for identity_name, identity in client.get('server', {}).iteritems() %}
 
-wait_for_neutron_agents_legacy:
+wait_for_neutron_agents_legacy_{{ identity_name }}:
   module.run:
     - name: neutronng.wait_for_api_ready
     - retries: 90
@@ -33,7 +33,7 @@
     {%- if identity.endpoint_type is defined %}
     - endpoint_type: {{ identity.endpoint_type }}
     - require:
-      - neutronng: wait_for_neutron_agents_legacy
+      - wait_for_neutron_agents_legacy_{{ identity_name }}
     {%- endif %}
 {%- endfor %}
 
diff --git a/neutron/client/resources/v2.sls b/neutron/client/resources/v2.sls
index b5798cd..3bd57b9 100644
--- a/neutron/client/resources/v2.sls
+++ b/neutron/client/resources/v2.sls
@@ -3,7 +3,7 @@
 
 {%- for identity_name, identity in client.get('resources', {}).get('v2', {}).iteritems() %}
 
-wait_for_neutron_agents_v2:
+wait_for_neutron_agents_v2_{{ identity_name }}:
   module.run:
     - name: neutronv2.wait_for_api_ready
     - retries: 90
@@ -42,7 +42,7 @@
     - is_default: {{ network.is_default }}
     {%- endif %}
     - require:
-      - wait_for_neutron_agents_v2
+      - wait_for_neutron_agents_v2_{{ identity_name }}
 
     {%- if network.subnet is defined %}
     {%- for subnet_name, subnet in network.subnet.iteritems() %}
@@ -105,6 +105,9 @@
     {%- if pool.is_default is defined %}
     - is_default: {{ pool.is_default }}
     {%- endif %}
+    {%- if pool.shared is defined %}
+    - shared: {{ pool.shared }}
+    {%- endif %}
     {%- if pool.prefixes is defined %}
     - prefixes:
       {%- for prefix in pool.prefixes %}
diff --git a/neutron/files/ocata/ml2_conf.ini b/neutron/files/ocata/ml2_conf.ini
index 561f518..3f070d9 100644
--- a/neutron/files/ocata/ml2_conf.ini
+++ b/neutron/files/ocata/ml2_conf.ini
@@ -281,7 +281,15 @@
 {%- set network_vlan_ranges = [] %}
 
 {%- for physnet, params in server.backend.get('physnets', {}).iteritems() %}
-{%- do network_vlan_ranges.append([physnet, params.get('vlan_range')]|join(":") if params.get('vlan_range', False) else physnet) if 'vlan' in params.get('types', ['vlan']) %}
+{%-   if 'vlan' in params.get('types', ['vlan']) %}
+{%-     if params.get('vlan_range', False) %}
+{%-       for vlan_range in params.get('vlan_range').split(',') %}
+{%-         do network_vlan_ranges.append([physnet, vlan_range]|join(":")) %}
+{%-       endfor %}
+{%-     else %}
+{%-       do network_vlan_ranges.append(physnet) %}
+{%-     endif %}
+{%-   endif %}
 {%- endfor %}
 
 {%- if not network_vlan_ranges %}
diff --git a/neutron/files/pike/ml2_conf.ini b/neutron/files/pike/ml2_conf.ini
index a953f0a..17818ee 100644
--- a/neutron/files/pike/ml2_conf.ini
+++ b/neutron/files/pike/ml2_conf.ini
@@ -284,7 +284,15 @@
 {%- set network_vlan_ranges = [] %}
 
 {%- for physnet, params in server.backend.get('physnets', {}).iteritems() %}
-{%- do network_vlan_ranges.append([physnet, params.get('vlan_range')]|join(":") if params.get('vlan_range', False) else physnet) if 'vlan' in params.get('types', ['vlan']) %}
+{%-   if 'vlan' in params.get('types', ['vlan']) %}
+{%-     if params.get('vlan_range', False) %}
+{%-       for vlan_range in params.get('vlan_range').split(',') %}
+{%-         do network_vlan_ranges.append([physnet, vlan_range]|join(":")) %}
+{%-       endfor %}
+{%-     else %}
+{%-       do network_vlan_ranges.append(physnet) %}
+{%-     endif %}
+{%-   endif %}
 {%- endfor %}
 
 {%- if not network_vlan_ranges %}
diff --git a/neutron/files/queens/ml2_conf.ini b/neutron/files/queens/ml2_conf.ini
index 6f0ee0d..bb2f126 100644
--- a/neutron/files/queens/ml2_conf.ini
+++ b/neutron/files/queens/ml2_conf.ini
@@ -181,7 +181,15 @@
 {%- set network_vlan_ranges = [] %}
 
 {%- for physnet, params in server.backend.get('physnets', {}).iteritems() %}
-{%- do network_vlan_ranges.append([physnet, params.get('vlan_range')]|join(":") if params.get('vlan_range', False) else physnet) if 'vlan' in params.get('types', ['vlan']) %}
+{%-   if 'vlan' in params.get('types', ['vlan']) %}
+{%-     if params.get('vlan_range', False) %}
+{%-       for vlan_range in params.get('vlan_range').split(',') %}
+{%-         do network_vlan_ranges.append([physnet, vlan_range]|join(":")) %}
+{%-       endfor %}
+{%-     else %}
+{%-       do network_vlan_ranges.append(physnet) %}
+{%-     endif %}
+{%-   endif %}
 {%- endfor %}
 
 {%- if not network_vlan_ranges %}
diff --git a/tests/pillar/control_single.sls b/tests/pillar/control_single.sls
index f6fb4e2..75113f5 100644
--- a/tests/pillar/control_single.sls
+++ b/tests/pillar/control_single.sls
@@ -25,7 +25,7 @@
             - flat
         sriov_net:
           mtu: 9000 # Optional, defaults to 1500
-          vlan_range: '100:200' # Optional
+          vlan_range: '100:200,300:400' # Optional
           types:
             - vlan
         ext_net2:
