diff --git a/neutron/compute.sls b/neutron/compute.sls
index af5637f..5e61e6e 100644
--- a/neutron/compute.sls
+++ b/neutron/compute.sls
@@ -1,9 +1,9 @@
 {% from "neutron/map.jinja" import compute, fwaas with context %}
 {%- if compute.enabled %}
 
-{% if compute.backend.engine == "ml2" %}
+  {% if compute.backend.engine == "ml2" %}
 
-{% if compute.get('dhcp_agent_enabled', False) %}
+    {% if compute.get('dhcp_agent_enabled', False) %}
 neutron_dhcp_agent_packages:
   pkg.installed:
   - names:
@@ -27,248 +27,21 @@
   - require:
     - pkg: neutron_dhcp_agent_packages
 
-{% endif %}
+    {% endif %}
 
-{%- if compute.opendaylight is defined %}
-{%- include "neutron/opendaylight/client.sls" %}
-{%- else %}
-neutron_compute_packages:
-  pkg.installed:
-  - names: {{ compute.pkgs }}
-
-{% if compute.get('bgp_vpn', {}).get('enabled', False) and compute.bgp_vpn.driver == "bagpipe" %}
-{%- include "neutron/services/_bagpipe.sls" %}
-{% endif %}
-
-/etc/neutron/neutron.conf:
-  file.managed:
-  - source: salt://neutron/files/{{ compute.version }}/neutron-generic.conf.{{ grains.os_family }}
-  - template: jinja
-  - require:
-    - pkg: neutron_compute_packages
-
-{% if compute.backend.sriov is defined %}
-
-neutron_sriov_package:
-  pkg.installed:
-  - name: neutron-sriov-agent
-
-/etc/neutron/plugins/ml2/sriov_agent.ini:
-  file.managed:
-  - source: salt://neutron/files/{{ compute.version }}/sriov_agent.ini
-  - template: jinja
-  - watch_in:
-    - service: neutron_compute_services
-  - require:
-    - pkg: neutron_compute_packages
-    - pkg: neutron_sriov_package
-
-neutron_sriov_service:
-  service.running:
-  - name: neutron-sriov-agent
-  - enable: true
-  {%- if grains.get('noservices') %}
-  - onlyif: /bin/false
-  {%- endif %}
-  - watch_in:
-    - service: neutron_compute_services
-  - watch:
-    - file: /etc/neutron/neutron.conf
-    - file: /etc/neutron/plugins/ml2/openvswitch_agent.ini
-    - file: /etc/neutron/plugins/ml2/sriov_agent.ini
-    {%- if compute.message_queue.get('ssl',{}).get('enabled', False) %}
-    - file: rabbitmq_ca_neutron_compute
+    {%- if compute.opendaylight is defined %}
+      {%- include "neutron/opendaylight/client.sls" %}
+    {%- else %}
+      {%- include "neutron/ml2_ovs/init.sls" %}
     {%- endif %}
 
-{% endif %}
-
-{% if compute.dvr %}
-
-{%- if fwaas.get('enabled', False) %}
-include:
-- neutron.fwaas
-{%- endif %}
-
-{%- if not grains.get('noservices', False) and pillar.haproxy is not defined %}
-# NOTE(mpolenchuk): haproxy is used as a replacement for
-# neutron-ns-metadata-proxy Python implementation starting from Pike
-haproxy:
-  service.dead:
-  - enable: False
-  - require:
-    - pkg: neutron_dvr_packages
-{%- if compute.get('dhcp_agent_enabled', False) %}
-    - pkg: neutron_dhcp_agent_packages
-{%- endif %}
-{%- endif %}
-
-neutron_dvr_packages:
-  pkg.installed:
-  - names:
-    - neutron-l3-agent
-    - neutron-metadata-agent
-
-neutron_dvr_agents:
-  service.running:
-    - enable: true
-    - names:
-      - neutron-l3-agent
-      - neutron-metadata-agent
-    - watch:
-      - file: /etc/neutron/neutron.conf
-      - file: /etc/neutron/l3_agent.ini
-      - file: /etc/neutron/metadata_agent.ini
-      {%- if fwaas.get('enabled', False) %}
-      - file: /etc/neutron/fwaas_driver.ini
-      {% endif %}
-      {%- if compute.message_queue.get('ssl',{}).get('enabled', False) %}
-      - file: rabbitmq_ca_neutron_compute
-      {%- endif %}
-    - require:
-      - pkg: neutron_dvr_packages
-
-/etc/neutron/l3_agent.ini:
-  file.managed:
-  - source: salt://neutron/files/{{ compute.version }}/l3_agent.ini
-  - template: jinja
-  - watch_in:
-    - service: neutron_compute_services
-  - require:
-    - pkg: neutron_dvr_packages
-
-/etc/neutron/metadata_agent.ini:
-  file.managed:
-  - source: salt://neutron/files/{{ compute.version }}/metadata_agent.ini
-  - template: jinja
-  - watch_in:
-    - service: neutron_compute_services
-  - require:
-    - pkg: neutron_dvr_packages
-
-{% endif %}
-
-/etc/neutron/plugins/ml2/openvswitch_agent.ini:
-  file.managed:
-  - source: salt://neutron/files/{{ compute.version }}/openvswitch_agent.ini
-  - template: jinja
-  - require:
-    - pkg: neutron_compute_packages
-
-neutron_compute_services:
-  service.running:
-  - names: {{ compute.services }}
-  - enable: true
-  - watch:
-    - file: /etc/neutron/neutron.conf
-    - file: /etc/neutron/plugins/ml2/openvswitch_agent.ini
-    {%- if compute.message_queue.get('ssl',{}).get('enabled', False) %}
-    - file: rabbitmq_ca_neutron_compute
-    {%- endif %}
-
-{%- set neutron_compute_services_list = compute.services %}
-{%- if compute.backend.sriov is defined %}
-  {%- do neutron_compute_services_list.append('neutron-sriov-agent') %}
-{%- endif %}
-{%- if compute.dvr %}
-  {%- do neutron_compute_services_list.extend(['neutron-l3-agent', 'neutron-metadata-agent']) %}
-{%- endif %}
-{%- if compute.get('dhcp_agent_enabled', False) %}
-  {%- do neutron_compute_services_list.append('neutron-dhcp-agent') %}
-{%- endif %}
-
-{%- for service_name in neutron_compute_services_list %}
-{{ service_name }}_default:
-  file.managed:
-    - name: /etc/default/{{ service_name }}
-    - source: salt://neutron/files/default
-    - template: jinja
-    - defaults:
-        service_name: {{ service_name }}
-        values: {{ compute }}
-    - require:
-      - pkg: neutron_compute_packages
-{% if compute.backend.sriov is defined %}
-      - pkg: neutron_sriov_package
-{% endif %}
-{% if compute.dvr %}
-      - pkg: neutron_dvr_packages
-{% endif %}
-    - watch_in:
-      - service: neutron_compute_services
-{% if compute.backend.sriov is defined %}
-      - service: neutron_sriov_service
-{% endif %}
-{% if compute.dvr %}
-      - service: neutron_dvr_agents
-{% endif %}
-{% endfor %}
-
-{%- if compute.logging.log_appender %}
-
-{%- if compute.logging.log_handlers.get('fluentd', {}).get('enabled', False) %}
-neutron_compute_fluentd_logger_package:
-  pkg.installed:
-    - name: python-fluent-logger
-{%- endif %}
-
-{% for service_name in neutron_compute_services_list %}
-{{ service_name }}_logging_conf:
-  file.managed:
-    - name: /etc/neutron/logging/logging-{{ service_name }}.conf
-    - source: salt://oslo_templates/files/logging/_logging.conf
-    - template: jinja
-    - makedirs: True
-    - user: neutron
-    - group: neutron
-    - defaults:
-        service_name: {{ service_name }}
-        _data: {{ compute.logging }}
-    - require:
-      - pkg: neutron_compute_packages
-{% if compute.backend.sriov is defined %}
-      - pkg: neutron_sriov_package
-{% endif %}
-{% if compute.dvr %}
-      - pkg: neutron_dvr_packages
-{% endif %}
-{%- if compute.logging.log_handlers.get('fluentd', {}).get('enabled', False) %}
-      - pkg: neutron_compute_fluentd_logger_package
-{%- endif %}
-    - watch_in:
-      - service: neutron_compute_services
-{% if compute.backend.sriov is defined %}
-      - service: neutron_sriov_service
-{% endif %}
-{% if compute.dvr %}
-      - service: neutron_dvr_agents
-{% endif %}
-{% endfor %}
-
-{% endif %}
-
-{%- if compute.message_queue.get('ssl',{}).get('enabled', False) %}
-rabbitmq_ca_neutron_compute:
-{%- if compute.message_queue.ssl.cacert is defined %}
-  file.managed:
-    - name: {{ compute.message_queue.ssl.cacert_file }}
-    - contents_pillar: neutron:compute:message_queue:ssl:cacert
-    - mode: 0444
-    - makedirs: true
-{%- else %}
-  file.exists:
-   - name: {{ compute.message_queue.ssl.get('cacert_file', compute.cacert_file) }}
-{%- endif %}
-{%- endif %}
-
-{%- endif %}{# !OpenDaylight #}
-
-{%- elif compute.backend.engine == "ovn" %}
+  {%- elif compute.backend.engine == "ovn" %}
 
 ovn_packages:
   pkg.installed:
   - names: {{ compute.pkgs_ovn }}
 
-{%- if not grains.get('noservices', False) %}
+    {%- if not grains.get('noservices', False) %}
 
 remote_ovsdb_access:
   cmd.run:
@@ -284,7 +57,7 @@
   - name: "ovs-vsctl set open .
   external-ids:ovn-encap-ip={{ compute.local_ip }}"
 
-{%- if compute.get('external_access', True) %}
+      {%- if compute.get('external_access', True) %}
 
 set_bridge_external_id:
   cmd.run:
@@ -296,18 +69,20 @@
   - name: "ovs-vsctl set open .
    external-ids:ovn-bridge-mappings=physnet1:{{ compute.external_bridge }}"
 
-{%- endif %}
+      {%- endif %}
 
 ovn_services:
   service.running:
   - names: {{ compute.services_ovn }}
   - enable: true
-  {%- if grains.get('noservices') %}
+      {%- if grains.get('noservices') %}
   - onlyif: /bin/false
-  {%- endif %}
+      {%- endif %}
   - require:
     - pkg: ovn_packages
 
-{%- endif %}
-{%- endif %}
+    {%- endif %}
+
+  {%- endif %}
+
 {%- endif %}
diff --git a/neutron/map.jinja b/neutron/map.jinja
index 9b6b38a..e8becfc 100644
--- a/neutron/map.jinja
+++ b/neutron/map.jinja
@@ -105,7 +105,7 @@
         'pkgs_bgpvpn': ['python-networking-bgpvpn'],
         'pkgs_bagpipe': ['python-networking-bagpipe'],
         'services': ['neutron-server'],
-        'services_ovn': ['ovn-central'],
+        'services_ovn': ['openvswitch-switch', 'ovn-central'],
         'notification': {},
         'dpdk': false,
         'cors': {},
@@ -130,7 +130,7 @@
         'pkgs_bgpvpn': ['python-networking-bgpvpn'],
         'pkgs_bagpipe': ['python-networking-bagpipe'],
         'services': ['neutron-server'],
-        'services_ovn': ['ovn-central'],
+        'services_ovn': ['openvswitch', 'ovn-central'],
         'notification': {},
         'dpdk': false,
         'cors': {},
diff --git a/neutron/ml2_ovs/init.sls b/neutron/ml2_ovs/init.sls
new file mode 100644
index 0000000..f1fcdda
--- /dev/null
+++ b/neutron/ml2_ovs/init.sls
@@ -0,0 +1,236 @@
+{% from "neutron/map.jinja" import compute, fwaas with context %}
+{%- if compute.enabled %}
+
+  {% if compute.backend.engine == "ml2" %}
+
+neutron_compute_packages:
+  pkg.installed:
+  - names: {{ compute.pkgs }}
+
+    {% if compute.get('bgp_vpn', {}).get('enabled', False) and compute.bgp_vpn.driver == "bagpipe" %}
+      {%- include "neutron/services/_bagpipe.sls" %}
+    {% endif %}
+
+/etc/neutron/neutron.conf:
+  file.managed:
+  - source: salt://neutron/files/{{ compute.version }}/neutron-generic.conf.{{ grains.os_family }}
+  - template: jinja
+  - require:
+    - pkg: neutron_compute_packages
+
+    {% if compute.backend.sriov is defined %}
+
+neutron_sriov_package:
+  pkg.installed:
+  - name: neutron-sriov-agent
+
+/etc/neutron/plugins/ml2/sriov_agent.ini:
+  file.managed:
+  - source: salt://neutron/files/{{ compute.version }}/sriov_agent.ini
+  - template: jinja
+  - watch_in:
+    - service: neutron_compute_services
+  - require:
+    - pkg: neutron_compute_packages
+    - pkg: neutron_sriov_package
+
+neutron_sriov_service:
+  service.running:
+  - name: neutron-sriov-agent
+  - enable: true
+      {%- if grains.get('noservices') %}
+  - onlyif: /bin/false
+      {%- endif %}
+  - watch_in:
+    - service: neutron_compute_services
+  - watch:
+    - file: /etc/neutron/neutron.conf
+    - file: /etc/neutron/plugins/ml2/openvswitch_agent.ini
+    - file: /etc/neutron/plugins/ml2/sriov_agent.ini
+      {%- if compute.message_queue.get('ssl',{}).get('enabled', False) %}
+    - file: rabbitmq_ca_neutron_compute
+      {%- endif %}
+
+    {% endif %}
+
+    {% if compute.dvr %}
+
+      {%- if fwaas.get('enabled', False) %}
+include:
+- neutron.fwaas
+      {%- endif %}
+
+      {%- if not grains.get('noservices', False) and pillar.haproxy is not defined %}
+# NOTE(mpolenchuk): haproxy is used as a replacement for
+# neutron-ns-metadata-proxy Python implementation starting from Pike
+haproxy:
+  service.dead:
+  - enable: False
+  - require:
+    - pkg: neutron_dvr_packages
+        {%- if compute.get('dhcp_agent_enabled', False) %}
+    - pkg: neutron_dhcp_agent_packages
+        {%- endif %}
+      {%- endif %}
+
+neutron_dvr_packages:
+  pkg.installed:
+  - names:
+    - neutron-l3-agent
+    - neutron-metadata-agent
+
+neutron_dvr_agents:
+  service.running:
+    - enable: true
+    - names:
+      - neutron-l3-agent
+      - neutron-metadata-agent
+    - watch:
+      - file: /etc/neutron/neutron.conf
+      - file: /etc/neutron/l3_agent.ini
+      - file: /etc/neutron/metadata_agent.ini
+      {%- if fwaas.get('enabled', False) %}
+      - file: /etc/neutron/fwaas_driver.ini
+      {% endif %}
+      {%- if compute.message_queue.get('ssl',{}).get('enabled', False) %}
+      - file: rabbitmq_ca_neutron_compute
+      {%- endif %}
+    - require:
+      - pkg: neutron_dvr_packages
+
+/etc/neutron/l3_agent.ini:
+  file.managed:
+  - source: salt://neutron/files/{{ compute.version }}/l3_agent.ini
+  - template: jinja
+  - watch_in:
+    - service: neutron_compute_services
+  - require:
+    - pkg: neutron_dvr_packages
+
+/etc/neutron/metadata_agent.ini:
+  file.managed:
+  - source: salt://neutron/files/{{ compute.version }}/metadata_agent.ini
+  - template: jinja
+  - watch_in:
+    - service: neutron_compute_services
+  - require:
+    - pkg: neutron_dvr_packages
+
+    {% endif %}
+
+/etc/neutron/plugins/ml2/openvswitch_agent.ini:
+  file.managed:
+  - source: salt://neutron/files/{{ compute.version }}/openvswitch_agent.ini
+  - template: jinja
+  - require:
+    - pkg: neutron_compute_packages
+
+neutron_compute_services:
+  service.running:
+  - names: {{ compute.services }}
+  - enable: true
+  - watch:
+    - file: /etc/neutron/neutron.conf
+    - file: /etc/neutron/plugins/ml2/openvswitch_agent.ini
+    {%- if compute.message_queue.get('ssl',{}).get('enabled', False) %}
+    - file: rabbitmq_ca_neutron_compute
+    {%- endif %}
+
+    {%- set neutron_compute_services_list = compute.services %}
+    {%- if compute.backend.sriov is defined %}
+      {%- do neutron_compute_services_list.append('neutron-sriov-agent') %}
+    {%- endif %}
+    {%- if compute.dvr %}
+      {%- do neutron_compute_services_list.extend(['neutron-l3-agent', 'neutron-metadata-agent']) %}
+    {%- endif %}
+    {%- if compute.get('dhcp_agent_enabled', False) %}
+      {%- do neutron_compute_services_list.append('neutron-dhcp-agent') %}
+    {%- endif %}
+
+    {%- for service_name in neutron_compute_services_list %}
+{{ service_name }}_default:
+  file.managed:
+    - name: /etc/default/{{ service_name }}
+    - source: salt://neutron/files/default
+    - template: jinja
+    - defaults:
+        service_name: {{ service_name }}
+        values: {{ compute }}
+    - require:
+      - pkg: neutron_compute_packages
+      {% if compute.backend.sriov is defined %}
+      - pkg: neutron_sriov_package
+      {% endif %}
+      {% if compute.dvr %}
+      - pkg: neutron_dvr_packages
+      {% endif %}
+    - watch_in:
+      - service: neutron_compute_services
+      {% if compute.backend.sriov is defined %}
+      - service: neutron_sriov_service
+      {% endif %}
+      {% if compute.dvr %}
+      - service: neutron_dvr_agents
+      {% endif %}
+    {% endfor %}
+
+    {%- if compute.logging.log_appender %}
+
+      {%- if compute.logging.log_handlers.get('fluentd', {}).get('enabled', False) %}
+neutron_compute_fluentd_logger_package:
+  pkg.installed:
+    - name: python-fluent-logger
+      {%- endif %}
+
+      {% for service_name in neutron_compute_services_list %}
+{{ service_name }}_logging_conf:
+  file.managed:
+    - name: /etc/neutron/logging/logging-{{ service_name }}.conf
+    - source: salt://oslo_templates/files/logging/_logging.conf
+    - template: jinja
+    - makedirs: True
+    - user: neutron
+    - group: neutron
+    - defaults:
+        service_name: {{ service_name }}
+        _data: {{ compute.logging }}
+    - require:
+      - pkg: neutron_compute_packages
+        {% if compute.backend.sriov is defined %}
+      - pkg: neutron_sriov_package
+        {% endif %}
+        {% if compute.dvr %}
+      - pkg: neutron_dvr_packages
+        {% endif %}
+        {%- if compute.logging.log_handlers.get('fluentd', {}).get('enabled', False) %}
+      - pkg: neutron_compute_fluentd_logger_package
+        {%- endif %}
+    - watch_in:
+      - service: neutron_compute_services
+        {% if compute.backend.sriov is defined %}
+      - service: neutron_sriov_service
+        {% endif %}
+        {% if compute.dvr %}
+      - service: neutron_dvr_agents
+        {% endif %}
+      {% endfor %}
+
+    {% endif %}
+
+    {%- if compute.message_queue.get('ssl',{}).get('enabled', False) %}
+rabbitmq_ca_neutron_compute:
+      {%- if compute.message_queue.ssl.cacert is defined %}
+  file.managed:
+    - name: {{ compute.message_queue.ssl.cacert_file }}
+    - contents_pillar: neutron:compute:message_queue:ssl:cacert
+    - mode: 0444
+    - makedirs: true
+      {%- else %}
+  file.exists:
+   - name: {{ compute.message_queue.ssl.get('cacert_file', compute.cacert_file) }}
+      {%- endif %}
+    {%- endif %}
+
+  {%- endif %}
+
+{%- endif %}
diff --git a/neutron/server.sls b/neutron/server.sls
index fa115d2..13f8e3e 100644
--- a/neutron/server.sls
+++ b/neutron/server.sls
@@ -227,11 +227,6 @@
 
 {%- if not grains.get('noservices', False) %}
 
-remote_ovsdb_access:
-  cmd.run:
-  - name: "ovs-appctl -t ovsdb-server ovsdb-server/add-remote
-  ptcp:6640:{{ server.controller_vip }}"
-
 open_ovs_port:
   iptables.append:
     - table: filter
@@ -251,6 +246,11 @@
   - require:
     - pkg: ovn_packages
 
+remote_ovsdb_access:
+  cmd.run:
+  - name: "ovs-appctl -t ovsdb-server ovsdb-server/add-remote
+  ptcp:6640:{{ server.controller_vip }}"
+
 {%- if grains.os_family == 'Debian' %}
 /etc/default/ovn-central:
   file.managed:
