Add support for mitaka version.
diff --git a/horizon/files/local_settings/mitaka_settings.py b/horizon/files/local_settings/mitaka_settings.py
new file mode 100644
index 0000000..47e3587
--- /dev/null
+++ b/horizon/files/local_settings/mitaka_settings.py
@@ -0,0 +1,64 @@
+import os
+from django.utils.translation import ugettext_lazy as _
+from openstack_dashboard import exceptions
+
+{%- from "horizon/map.jinja" import server with context %}
+
+{%- if server.app is defined %}
+{%- set app = salt['pillar.get']('horizon:server:app:'+app_name) %}
+{%- else %}
+{%- set app = salt['pillar.get']('horizon:server') %}
+{%- endif %}
+
+HORIZON_CONFIG = {
+    'user_home': 'openstack_dashboard.views.get_user_home',
+    'ajax_queue_limit': 10,
+    'auto_fade_alerts': {
+        'delay': 3000,
+        'fade_duration': 1500,
+        'types': ['alert-success', 'alert-info']
+    },
+    'help_url': "http://docs.openstack.org",
+    'exceptions': {'recoverable': exceptions.RECOVERABLE,
+                   'not_found': exceptions.NOT_FOUND,
+                   'unauthorized': exceptions.UNAUTHORIZED},
+    'modal_backdrop': 'static',
+    'angular_modules': [],
+    'js_files': [],
+    'js_spec_files': [],
+    'password_autocomplete': 'on'
+}
+{%- if app.theme is defined or app.plugin.horizon_theme is defined %}
+{%- if app.theme is defined %}
+CUSTOM_THEME_PATH = 'themes/{{ app.theme }}'
+{%- elif app.plugin.horizon_theme.theme_name is defined %}
+# Enable custom theme if it is present.
+try:
+  from openstack_dashboard.enabled._99_horizon_theme import CUSTOM_THEME_PATH
+except ImportError:
+  pass
+{%- endif %}
+{%- endif %}
+
+INSTALLED_APPS = (
+    'openstack_dashboard',
+    'django.contrib.contenttypes',
+    'django.contrib.auth',
+    'django.contrib.sessions',
+    'django.contrib.messages',
+    'django.contrib.staticfiles',
+    'django.contrib.humanize',
+    'compressor',
+    'horizon',
+    'openstack_auth',
+    {%- if app.logging is defined %}
+    'raven.contrib.django.raven_compat',
+    {%- endif %}
+)
+
+{% include "horizon/files/horizon_settings/_local_settings.py" %}
+{% include "horizon/files/horizon_settings/_horizon_settings.py" %}
+{% include "horizon/files/horizon_settings/_keystone_settings.py" %}
+{% include "horizon/files/horizon_settings/_nova_settings.py" %}
+{% include "horizon/files/horizon_settings/_glance_settings.py" %}
+{% include "horizon/files/horizon_settings/_neutron_settings.py" %}
diff --git a/horizon/files/requirements/liberty_contrail.txt b/horizon/files/requirements/liberty_contrail.txt
index 56dc931..76e111d 100644
--- a/horizon/files/requirements/liberty_contrail.txt
+++ b/horizon/files/requirements/liberty_contrail.txt
@@ -84,3 +84,6 @@
 
 oslo.log>=1.8.0 # Apache-2.0
 semantic-version>=2.3.1
+
+functools32==3.2.3-2
+jsonpointer==1.10
\ No newline at end of file
diff --git a/horizon/files/requirements/mitaka_vanilla.txt b/horizon/files/requirements/mitaka_vanilla.txt
new file mode 100644
index 0000000..57e9a31
--- /dev/null
+++ b/horizon/files/requirements/mitaka_vanilla.txt
@@ -0,0 +1,76 @@
+# The order of packages is significant, because pip processes them in the order
+# of appearance. Changing the order has an impact on the overall integration
+# process, which may cause wedges in the gate later.
+# Order matters to the pip dependency resolver, so sorting this file
+# changes how packages are installed.  New dependencies should be
+# added in alphabetical order, however, some dependencies may need to
+# be installed in a specific order.
+#
+# PBR should always appear first
+pbr>=1.6
+# Horizon Core Requirements
+Babel>=1.3
+Django<1.9,>=1.8
+Pint>=0.5 # BSD
+django-babel>=0.4.0
+django-compressor>=1.4
+django-openstack-auth>=2.0.0
+django-pyscss>=2.0.2 # BSD License (2 clause)
+httplib2>=0.7.5
+iso8601>=0.1.9
+netaddr!=0.7.16,>=0.7.12
+oslo.concurrency>=2.3.0 # Apache-2.0
+oslo.config>=3.2.0 # Apache-2.0
+oslo.i18n>=1.5.0 # Apache-2.0
+oslo.policy>=0.5.0 # Apache-2.0
+oslo.serialization>=1.10.0 # Apache-2.0
+oslo.utils>=3.2.0 # Apache-2.0
+pyScss>=1.3.4 # MIT License
+python-ceilometerclient>=2.0.0
+python-cinderclient>=1.3.1
+python-glanceclient>=1.2.0
+python-heatclient>=0.6.0
+python-keystoneclient!=1.8.0,>=1.6.0
+python-neutronclient>=2.6.0
+python-novaclient!=2.33.0,>=2.29.0
+python-swiftclient>=2.2.0
+pytz>=2013.6
+PyYAML>=3.1.0
+six>=1.9.0
+XStatic>=1.0.0 # MIT License
+XStatic-Angular>=1.3.7 # MIT License
+XStatic-Angular-Bootstrap>=0.11.0.2 # MIT License
+XStatic-Angular-Gettext>=2.1.0.2 # MIT License
+XStatic-Angular-lrdragndrop>=1.0.2.2 # MIT License
+XStatic-Bootstrap-Datepicker>=1.3.1.0 # Apache 2.0 License
+XStatic-Bootstrap-SCSS>=3 # Apache 2.0 License
+XStatic-bootswatch>=3.3.5.3 # MIT License
+XStatic-D3>=3.1.6.2 # BSD License (3 clause)
+XStatic-Hogan>=2.0.0.2 # Apache 2.0 License
+XStatic-Font-Awesome>=4.3.0 # SIL OFL 1.1 License, MIT License
+XStatic-Jasmine>=2.1.2.0 # MIT License
+XStatic-jQuery>=1.7.2 # MIT License
+XStatic-JQuery-Migrate>=1.2.1.1 # MIT License
+XStatic-JQuery.quicksearch>=2.0.3.1 # MIT License
+XStatic-JQuery.TableSorter>=2.14.5.1 # MIT License
+XStatic-jquery-ui>=1.10.1 # MIT License
+XStatic-JSEncrypt>=2.0.0.2 # MIT License
+XStatic-Magic-Search>=0.2.5.1 # Apache 2.0 License
+XStatic-mdi==1.1.70.1 # SIL OPEN FONT LICENSE Version 1.1
+XStatic-Rickshaw>=1.5.0 # BSD License (prior)
+XStatic-roboto-fontface>=0.4.3.2 # Apache 2.0 License
+XStatic-smart-table>=1.4.5.3 # MIT License
+XStatic-Spin>=1.2.5.2 # MIT License
+XStatic-term.js>=0.0.4 # MIT License
+
+horizon-contrib>=2015.10.0
+
+#contrail
+argparse
+cliff>=1.6.0
+simplejson>=2.2.0
+python-memcached
+
+# metadata update needs
+functools32==3.2.3-2
+jsonpointer==1.10
\ No newline at end of file
diff --git a/horizon/server/multi/site.sls b/horizon/server/multi/site.sls
index f47d6f2..35552af 100644
--- a/horizon/server/multi/site.sls
+++ b/horizon/server/multi/site.sls
@@ -17,7 +17,7 @@
 {%- for app_name, app in server.app.iteritems() %}
 
 {%- if app.get('dashboard', 'openstack') in ['openstack', 'helpdesk'] %}
-{%- if app.get('version', 'juno') in ['juno', 'kilo', 'liberty'] %}
+{%- if app.get('version', 'juno') in ['juno', 'kilo', 'liberty', 'mitaka'] %}
 {%- set config_file = "/srv/horizon/sites/"+app_name+"/lib/python" + pillar.python.environment.get("version", "2.7") + "/site-packages/openstack_dashboard/local/local_settings.py" %}
 {%- else %}
 {%- set config_file = "/srv/horizon/sites/"+app_name+"/extra/openstack_dashboard/local/local_settings.py" %}
@@ -78,7 +78,7 @@
   - require:
     - file: horizon_{{ app_name }}_dirs
 
-{%- if app.get('version', 'juno') in ['juno', 'kilo', 'helpdesk', 'liberty'] %}
+{%- if app.get('version', 'juno') in ['juno', 'kilo', 'helpdesk', 'liberty', 'mitaka'] %}
 
 horizon_setup_{{ app_name }}_horizon:
   cmd.run:
@@ -105,7 +105,7 @@
 
 {%- endif %}
 
-{%- if app.get('version', 'juno') in ['kilo', 'helpdesk', 'liberty'] %}
+{%- if app.get('version', 'juno') in ['kilo', 'helpdesk', 'liberty', 'mitaka'] %}
 
 /srv/horizon/sites/{{ app_name }}/static:
   file.symlink:
@@ -203,7 +203,7 @@
 
 {%- for dashboard_name, dashboard in app.get('dashboards', {}).iteritems() %}
 
-{%- if app.get('version', 'juno') in ['kilo', 'helpdesk', 'liberty'] %}
+{%- if app.get('version', 'juno') in ['kilo', 'helpdesk', 'liberty', 'mitaka'] %}
 
 horizon_{{ app_name }}_{{ dashboard_name }}_config:
   file.managed:
@@ -226,7 +226,7 @@
 
 {%- for plugin_name, plugin in app.plugin.iteritems() %}
 
-{%- if app.get('version', 'juno') in ['kilo', 'helpdesk', 'liberty'] %}
+{%- if app.get('version', 'juno') in ['kilo', 'helpdesk', 'liberty', 'mitaka'] %}
 
 horizon_{{ app_name }}_{{ plugin_name }}_config:
   file.managed:
@@ -255,7 +255,7 @@
   - require_in:
     - cmd: horizon_setup_{{ app_name }}
 
-{%- if plugin_name == "contrail" and app.get("version", "juno") in ["juno", "kilo", 'helpdesk', 'liberty'] %}
+{%- if plugin_name == "contrail" and app.get("version", "juno") in ["juno", "kilo", 'helpdesk', 'liberty', 'mitaka'] %}
 
 fix_contrail_{{ app_name }}:
   cmd.run:
@@ -282,7 +282,7 @@
   - require:
     - git: {{ app_name }}_{{ app.source.address }}
 
-{%- elif plugin_name == "horizon_theme" and app.get("version", "liberty") in ['liberty'] %}
+{%- elif plugin_name == "horizon_theme" and app.get("version", "liberty") in ['liberty', 'mitaka'] %}
 
 /srv/horizon/sites/{{ app_name }}/local/lib/python2.7/site-packages/openstack_dashboard/dashboards/theme:
   file.symlink: