diff --git a/_states/neutronv2.py b/_states/neutronv2.py
index 42e202b..0c00c22 100644
--- a/_states/neutronv2.py
+++ b/_states/neutronv2.py
@@ -147,6 +147,49 @@
         return _failed('find', name, 'agent')
 
 
+def agents_disabled(name, cloud_name, **kwargs):
+    """
+    :param name: agent host name
+    :param kwargs:
+        :param description: agent description
+        :param admin_state_up: administrative state of the agent
+    """
+    agents = _neutronv2_call(
+        'agent_list', host=name, cloud_name=cloud_name)['agents']
+
+    changes = {}
+    for agent in agents:
+      if agent['admin_state_up'] == True:
+        try:
+          changes[agent['id']] = _neutronv2_call('agent_update', agent_id=agent['id'],
+                                                 cloud_name=cloud_name, admin_state_up=False)
+        except Exception:
+          return _failed('update', name, 'agent')
+    return _succeeded('update', name, 'agent',changes)
+
+
+def agents_enabled(name, cloud_name, **kwargs):
+    """
+    :param name: agent host name
+    :param kwargs:
+        :param description: agent description
+        :param admin_state_up: administrative state of the agent
+    """
+    agents = _neutronv2_call(
+        'agent_list', host=name, cloud_name=cloud_name)['agents']
+
+    changes = {}
+    for agent in agents:
+      if agent['admin_state_up'] == False:
+        try:
+          changes[agent['id']] = _neutronv2_call('agent_update', agent_id=agent['id'],
+                                                 cloud_name=cloud_name, admin_state_up=True)
+        except Exception:
+          return _failed('update', name, 'agent')
+
+    return _succeeded('update', name, 'agent', changes)
+
+
 def _succeeded(op, name, resource, changes=None):
     msg_map = {
         'create': '{0} {1} created',
diff --git a/neutron/map.jinja b/neutron/map.jinja
index e8becfc..13b4bd6 100644
--- a/neutron/map.jinja
+++ b/neutron/map.jinja
@@ -2,7 +2,8 @@
     'cacert_file': salt['grains.filter_by']({
         'Debian': '/etc/ssl/certs/ca-certificates.crt',
         'RedHat': '/etc/pki/tls/certs/ca-bundle.crt'
-    })}
+    }),
+    'enabled': false }
 %}
 
 {% set compute = salt['grains.filter_by']({
@@ -151,10 +152,12 @@
 
 {% set client = salt['grains.filter_by']({
     'Debian': {
-        'pkgs': ['python-neutronclient']
+        'pkgs': ['python-neutronclient'],
+        'enabled': false
     },
     'RedHat': {
-        'pkgs': ['python-neutronclient']
+        'pkgs': ['python-neutronclient'],
+        'enabled': false
     },
 }, merge=pillar.neutron.get('client', {})) %}
 
diff --git a/neutron/meta/salt.yml b/neutron/meta/salt.yml
index ca0502a..a6fba47 100644
--- a/neutron/meta/salt.yml
+++ b/neutron/meta/salt.yml
@@ -1,11 +1,5 @@
-orchestrate:
-  server:
-    priority: 580
-    batch: 1
-    require:
-    - salt: keystone.server
-  compute:
-    priority: 590
-    require:
-    - salt: neutron.server
-
+orchestration:
+  upgrade:
+    applications:
+      neutron:
+        priority: 1150
diff --git a/neutron/upgrade/pkgs_latest.sls b/neutron/upgrade/pkgs_latest.sls
new file mode 100644
index 0000000..6023128
--- /dev/null
+++ b/neutron/upgrade/pkgs_latest.sls
@@ -0,0 +1,62 @@
+{%- from "neutron/map.jinja" import server,client,gateway,compute,fwaas with context %}
+
+neutron_task_pkg_latest:
+  test.show_notification:
+    - text: "Running neutron.upgrade.pkg_latest"
+
+policy-rc.d_present:
+  file.managed:
+    - name: /usr/sbin/policy-rc.d
+    - mode: 755
+    - contents: |
+        #!/bin/sh
+        exit 101
+
+{%- set npkgs = [] %}
+{%- if server.enabled %}
+  {%- do npkgs.extend(server.pkgs) %}
+  {% if server.backend.engine == "contrail" %}
+    {%- do npkgs.append('neutron-plugin-contrail') %}
+  {% elif server.backend.engine == "ml2" %}
+    {%- do npkgs.extend(server.pkgs_ml2) %}
+  {%- elif server.backend.get('opendaylight', False) %}
+    {%- do npkgs.append('python-networking-odl') %}
+  {%- elif server.backend.engine == "ovn" %}
+    {%- do npkgs.extend(server.pkgs_ovn) %}
+  {%- elif server.backend.engine == "midonet" %}
+    {%- if server.version == "kilo" %}
+      {%- do npkgs.extend(['python-neutron-plugin-midonet', 'python-neutron-lbaas']) %}
+    {%- else %}
+      {%- do npkgs.extend(['python-networking-midonet', 'python-neutron-lbaas', 'python-neutron-fwaas']) %}
+    {%- endif %}
+  {% elif server.backend.engine == "vmware" %}
+    {%- do npkgs.append('python-vmware-nsx') %}
+  {%- endif %}
+  {% if server.get('bgp_vpn', {}).get('enabled', False) %}
+    {%- do npkgs.extend(server.pkgs_bagpipe) %}
+  {%- endif %}
+  {%- if fwaas.get('enabled', False) %}
+    {%- do npkgs.extend(fwaas.pkgs) %}
+  {%- endif %}
+{%- endif %}
+{%- if gateway.enabled is defined and gateway.enabled %}
+  {%- do npkgs.extend(gateway.pkgs) %}
+{%- endif %}
+{%- if compute.enabled is defined and compute.enabled %}
+  {%- do npkgs.extend(compute.pkgs) %}
+{%- endif %}
+{%- if client.enabled is defined and client.enabled %}
+  {%- do npkgs.extend(client.pkgs) %}
+{%- endif %}
+
+neutron_pkg_latest:
+  pkg.latest:
+    - names: {{ npkgs|unique }}
+    - require:
+      - file: policy-rc.d_present
+    - require_in:
+      - file: policy-rc.d_absent
+
+policy-rc.d_absent:
+  file.absent:
+    - name: /usr/sbin/policy-rc.d
diff --git a/neutron/upgrade/post/init.sls b/neutron/upgrade/post/init.sls
new file mode 100644
index 0000000..4f06e22
--- /dev/null
+++ b/neutron/upgrade/post/init.sls
@@ -0,0 +1,11 @@
+{%- from "neutron/map.jinja" import server,gateway with context %}
+
+neutron_post:
+  test.show_notification:
+    - text: "Running neutron.upgrade.post"
+
+{%- if gateway.get('enabled') %}
+keystone_os_client_config_absent:
+  file.absent:
+    - name: /etc/openstack/clouds.yml
+{%- endif %}
diff --git a/neutron/upgrade/pre/init.sls b/neutron/upgrade/pre/init.sls
new file mode 100644
index 0000000..55e654d
--- /dev/null
+++ b/neutron/upgrade/pre/init.sls
@@ -0,0 +1,24 @@
+{%- from "neutron/map.jinja" import server,gateway with context %}
+
+include:
+ - neutron.upgrade.verify.api
+
+neutron_pre:
+  test.show_notification:
+    - text: "Running neutron.upgrade.pre"
+
+{%- if gateway.get('enabled') %}
+{# Get os client config from mine #}
+
+{%- set os_content = salt['mine.get']('I@keystone:client:os_client_config:enabled:true', 'keystone_os_client_config', 'compound').values()[0] %}
+
+keystone_os_client_config:
+  file.managed:
+    - name: /etc/openstack/clouds.yml
+    - contents: |
+        {{ os_content |yaml(False)|indent(8) }}
+    - user: 'root'
+    - group: 'root'
+    - makedirs: True
+
+{%- endif %}
diff --git a/neutron/upgrade/render_config.sls b/neutron/upgrade/render_config.sls
new file mode 100644
index 0000000..1f5acaa
--- /dev/null
+++ b/neutron/upgrade/render_config.sls
@@ -0,0 +1,61 @@
+{%- from "neutron/map.jinja" import server,gateway,compute,fwaas with context %}
+
+neutron_render_config:
+  test.show_notification:
+    - text: "Running neutron.upgrade.render_config"
+
+{%- if server.enabled %}
+  {%- set conf_mapping = [['/etc/neutron/neutron.conf', 'salt://neutron/files/' + server.version + '/neutron-server.conf'],
+                          ['/etc/neutron/api-paste.ini','salt://neutron/files/' + server.version + '/api-paste.ini']] %}
+{%- elif gateway.enabled %}
+  {%- set conf_mapping = [['/etc/neutron/neutron.conf', 'salt://neutron/files/' + gateway.version + '/neutron-generic.conf']] %}
+{%- elif compute.enabled %}
+  {%- set conf_mapping = [['/etc/neutron/neutron.conf', 'salt://neutron/files/' + compute.version + '/neutron-generic.conf']] %}
+{%- endif %}
+
+{%- if server.enabled %}
+  {% if server.backend.engine == "contrail" %}
+    {%- do conf_mapping.append(['/etc/neutron/plugins/opencontrail/ContrailPlugin.ini', "salt://neutron/files/" + server.version + "/ContrailPlugin.ini"]) %}
+  {% elif server.backend.engine == "ml2" %}
+    {%- do conf_mapping.append(['/etc/neutron/plugins/ml2/ml2_conf.ini', "salt://neutron/files/" + server.version + "/ml2_conf.ini"]) %}
+  {%- elif server.backend.engine == "midonet" %}
+    {%- do conf_mapping.append(['/etc/neutron/plugins/midonet/midonet.ini', "salt://neutron/files/" + server.version + "/midonet.ini"]) %}
+  {% elif server.backend.engine == "vmware" %}
+    {%- do conf_mapping.append(['/etc/neutron/plugins/vmware/nsx.ini', "salt://neutron/files/" + server.version + "/plugins/nsx.ini"]) %}
+  {%- endif %}
+  {%- if fwaas.get('enabled', False) %}
+    {%- do conf_mapping.append(['/etc/neutron/fwaas_driver.ini', "salt://neutron/files/" + fwaas.version + "/fwaas_driver.ini"]) %}
+  {%- endif %}
+  {%- if server.get('l2gw', {}).get('enabled', False) %}
+    {%- do conf_mapping.append(['/etc/neutron/l2gw_plugin.ini', "salt://neutron/files/" + server.version + "/l2gw/l2gw_plugin.ini"]) %}
+  {%- endif %}
+{%- elif gateway.enabled %}
+  {%- do conf_mapping.extend([['/etc/neutron/l3_agent.ini', "salt://neutron/files/" + gateway.version + "/l3_agent.ini"],
+                             ['/etc/neutron/plugins/ml2/openvswitch_agent.ini', "salt://neutron/files/" + gateway.version + "/openvswitch_agent.ini"],
+                             ['/etc/neutron/dhcp_agent.ini', "salt://neutron/files/" + gateway.version + "/dhcp_agent.ini"],
+                             ['/etc/neutron/metadata_agent.ini',"salt://neutron/files/" + gateway.version + "/metadata_agent.ini"]]) %}
+{%- elif compute.enabled %}
+  {% if compute.get('bgp_vpn', {}).get('enabled', False) and server.bgp_vpn.driver == "bagpipe" %}
+    {%- do conf_mapping.append(['/etc/bagpipe-bgp/bgp.conf', "salt://neutron/files/" + compute.version + "/bagpipe-bgp.conf"]) %}
+  {%- endif %}
+  {% if compute.backend.engine == "ml2" %}
+    {%- if compute.dvr %}
+      {%- do conf_mapping.extend([['/etc/neutron/l3_agent.ini', "salt://neutron/files/" + compute.version + "/l3_agent.ini"],
+                                 ['/etc/neutron/metadata_agent.ini',"salt://neutron/files/" + compute.version + "/metadata_agent.ini"]]) %}
+    {%- endif %}
+    {% if compute.get('dhcp_agent_enabled', False) %}
+      {%- do conf_mapping.extend([['/etc/neutron/dhcp_agent.ini', "salt://neutron/files/" + compute.version + "/dhcp_agent.ini"]]) %}
+    {%- endif %}
+    {% if compute.backend.sriov is defined %}
+      {%- do conf_mapping.extend([['/etc/neutron/plugins/ml2/sriov_agent.ini', "salt://neutron/files/" + compute.version + "/sriov_agent.ini"]]) %}
+    {%- endif %}
+  {%- endif %}
+{%- endif %}
+
+
+{%- for file, source in conf_mapping %}
+{{ file }}:
+  file.managed:
+  - source: {{ source }}
+  - template: jinja
+{%- endfor %}
diff --git a/neutron/upgrade/service_running.sls b/neutron/upgrade/service_running.sls
new file mode 100644
index 0000000..d2ac334
--- /dev/null
+++ b/neutron/upgrade/service_running.sls
@@ -0,0 +1,36 @@
+{%- from "neutron/map.jinja" import server,gateway,compute with context %}
+
+neutron_service_running:
+  test.show_notification:
+    - text: "Running neutron.upgrade.service_running"
+
+{%- set nservices = [] %}
+
+{%- if server.enabled %}
+  {%- do nservices.extend(server.services) %}
+  {% if server.backend.engine == "contrail" %}
+    {%- do nservices.append('neutron-server') %}
+  {%- endif %}
+{%- endif %}
+{%- if gateway.enabled is defined and gateway.enabled%}
+  {%- do nservices.extend(gateway.services) %}
+{%- endif %}
+{%- if compute.enabled is defined and compute.enabled%}
+  {%- do nservices.extend(compute.services) %}
+  {%- if compute.dvr %}
+    {%- do nservices.extend(['neutron-l3-agent', 'neutron-metadata-agent']) %}
+  {%- endif %}
+  {% if compute.get('dhcp_agent_enabled', False) %}
+    {%- do nservices.append('neutron-dhcp-agent') %}
+  {%- endif %}
+  {% if compute.backend.sriov is defined %}
+    {%- do nservices.append('neutron-sriov-agent') %}
+  {%- endif %}
+{%- endif %}
+
+{%- for nservice in nservices|unique %}
+neutron_service_{{ nservice }}_running:
+  service.running:
+  - enable: True
+  - name: {{ nservice }}
+{%- endfor %}
diff --git a/neutron/upgrade/service_stopped.sls b/neutron/upgrade/service_stopped.sls
new file mode 100644
index 0000000..6e33e5c
--- /dev/null
+++ b/neutron/upgrade/service_stopped.sls
@@ -0,0 +1,37 @@
+{%- from "neutron/map.jinja" import server,gateway,compute with context %}
+
+neutron_service_stopped:
+  test.show_notification:
+    - text: "Running neutron.upgrade.service_stopped"
+
+{%- set nservices = [] %}
+
+{%- if server.enabled %}
+  {%- do nservices.extend(server.services) %}
+  {% if server.backend.engine == "contrail" %}
+    {%- do nservices.append('neutron-server') %}
+  {%- endif %}
+{%- endif %}
+{%- if gateway.enabled is defined and gateway.enabled %}
+  {%- do nservices.extend(gateway.services) %}
+{%- endif %}
+{%- if compute.enabled is defined and compute.enabled %}
+  {%- do nservices.extend(compute.services) %}
+  {%- if compute.dvr %}
+    {%- do nservices.extend(['neutron-l3-agent', 'neutron-metadata-agent']) %}
+  {%- endif %}
+  {% if compute.get('dhcp_agent_enabled', False) %}
+    {%- do nservices.append('neutron-dhcp-agent') %}
+  {%- endif %}
+  {% if compute.backend.sriov is defined %}
+    {%- do nservices.append('neutron-sriov-agent') %}
+  {%- endif %}
+{%- endif %}
+
+
+{%- for nservice in nservices|unique %}
+neutron_service_{{ nservice }}_stopped:
+  service.dead:
+  - name: {{ nservice }}
+  - enable: false
+{%- endfor %}
diff --git a/neutron/upgrade/upgrade/init.sls b/neutron/upgrade/upgrade/init.sls
new file mode 100644
index 0000000..4ca8dea
--- /dev/null
+++ b/neutron/upgrade/upgrade/init.sls
@@ -0,0 +1,16 @@
+{%- from "neutron/map.jinja" import server with context %}
+
+neutron_upgrade:
+  test.show_notification:
+    - text: "Running neutron.upgrade.upgrade"
+
+include:
+ - neutron.upgrade.upgrade.pre
+ - neutron.upgrade.service_stopped
+ - neutron.upgrade.pkgs_latest
+ - neutron.upgrade.render_config
+{%- if server.get('enabled') %}
+ - neutron.db.offline_sync
+{%- endif %}
+ - neutron.upgrade.service_running
+ - neutron.upgrade.upgrade.post
diff --git a/neutron/upgrade/upgrade/post.sls b/neutron/upgrade/upgrade/post.sls
new file mode 100644
index 0000000..9c1d20f
--- /dev/null
+++ b/neutron/upgrade/upgrade/post.sls
@@ -0,0 +1,10 @@
+{%- from "neutron/map.jinja" import server,gateway with context %}
+
+{%- if gateway.get('enabled') %}
+{% set host_id = salt['network.get_hostname']() %}
+
+neutron_agent_enabled:
+  neutronv2.agents_enabled:
+    - name: {{ host_id }}
+    - cloud_name: admin_identity
+{%- endif %}
diff --git a/neutron/upgrade/upgrade/pre.sls b/neutron/upgrade/upgrade/pre.sls
new file mode 100644
index 0000000..9a4a105
--- /dev/null
+++ b/neutron/upgrade/upgrade/pre.sls
@@ -0,0 +1,11 @@
+{%- from "neutron/map.jinja" import server,gateway with context %}
+
+{%- if gateway.get('enabled') %}
+{% set host_id = salt['network.get_hostname']() %}
+
+neutron_agent_disable:
+  neutronv2.agents_disabled:
+    - name: {{ host_id }}
+    - cloud_name: admin_identity
+
+{%- endif %}
diff --git a/neutron/upgrade/verify/api.sls b/neutron/upgrade/verify/api.sls
new file mode 100644
index 0000000..e45df66
--- /dev/null
+++ b/neutron/upgrade/verify/api.sls
@@ -0,0 +1,55 @@
+{%- from "neutron/map.jinja" import server with context %}
+{%- from "keystone/map.jinja" import client as kclient with context %}
+
+neutron_upgrade_verify_api:
+  test.show_notification:
+    - text: "Running neutron.upgrade.verify.api"
+
+{%- if kclient.enabled and kclient.get('os_client_config', {}).get('enabled', False)  %}
+  {%- if server.enabled %}
+    {%- set neutron_test_network = 'Upgrade_TestNetwork' %}
+    {%- set neutron_test_subnet = 'Upgrade_TestSubnet' %}
+
+neutronv2_subnet_list:
+  module.run:
+    - name: neutronv2.subnet_list
+    - kwargs:
+        cloud_name: admin_identity
+
+neutronv2_network_list:
+  module.run:
+    - name: neutronv2.network_list
+    - kwargs:
+        cloud_name: admin_identity
+
+neutronv2_network_present:
+  neutronv2.network_present:
+  - cloud_name: admin_identity
+  - name: {{ neutron_test_network }}
+
+neutronv2_subnet_present:
+  neutronv2.subnet_present:
+  - name: {{ neutron_test_subnet }}
+  - cloud_name: admin_identity
+  - network_id: {{ neutron_test_network }}
+  - ip_version: 4
+  - cidr: 192.168.89.0/24
+  - require:
+    - neutronv2_network_present
+
+neutronv2_subnet_absent:
+  neutronv2.subnet_absent:
+  - cloud_name: admin_identity
+  - name: {{ neutron_test_subnet }}
+  - require:
+    - neutronv2_subnet_present
+
+neutronv2_network_absent:
+  neutronv2.network_absent:
+  - cloud_name: admin_identity
+  - name: {{ neutron_test_network }}
+  - require:
+    - neutronv2_subnet_absent
+
+  {%- endif %}
+{%- endif %}
