diff --git a/horizon/files/local_settings/liberty_settings.py b/horizon/files/local_settings/liberty_settings.py
new file mode 100644
index 0000000..1bf3167
--- /dev/null
+++ b/horizon/files/local_settings/liberty_settings.py
@@ -0,0 +1,59 @@
+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': [],
+}
+{%- if app.theme is defined or app.plugin.horizon_theme is defined %}
+{%- if app.theme is defined %}
+CUSTOM_THEME_PATH = 'static/themes/{{ app.theme }}'
+{%- elif app.plugin.horizon_theme.theme_name is defined %}
+CUSTOM_THEME_PATH = 'static/themes/{{ app.plugin.horizon_theme.theme_name }}'
+{%- 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
new file mode 100644
index 0000000..b35b7b3
--- /dev/null
+++ b/horizon/files/requirements/liberty_contrail.txt
@@ -0,0 +1,85 @@
+# 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.7
+Pint>=0.5 # BSD
+django-babel>=0.3.4
+django-compressor>=1.4
+django-openstack-auth>=2.0.0
+django-pyscss>=2.0.2 # BSD License (2 clause)
+eventlet>=0.17.4
+httplib2>=0.7.5
+iso8601>=0.1.9
+kombu>=3.0.7
+netaddr!=0.7.16,>=0.7.12
+oslo.concurrency>=2.3.0 # Apache-2.0
+oslo.config>=2.3.0 # Apache-2.0
+oslo.i18n>=1.5.0 # Apache-2.0
+oslo.policy>=0.5.0 # Apache-2.0
+oslo.serialization>=1.4.0 # Apache-2.0
+oslo.utils>=2.0.0 # Apache-2.0
+pyScss>=1.3.4 # MIT License
+python-ceilometerclient>=1.5.0
+python-cinderclient>=1.3.1
+python-glanceclient>=0.18.0
+python-heatclient>=0.3.0
+python-keystoneclient>=1.6.0
+python-neutronclient>=2.6.0
+python-novaclient>=2.28.1
+python-saharaclient>=0.10.0
+python-swiftclient>=2.2.0
+python-troveclient>=1.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
+
+# murano
+beautifulsoup4
+django-formtools
+python-muranoclient>=0.7.1
+yaql>=1.0.0 # Apache 2.0 License
+
+oslo.log>=1.8.0 # Apache-2.0
+semantic-version>=2.3.1
\ No newline at end of file
diff --git a/horizon/files/requirements/liberty_vanilla.txt b/horizon/files/requirements/liberty_vanilla.txt
new file mode 100644
index 0000000..4b5a5af
--- /dev/null
+++ b/horizon/files/requirements/liberty_vanilla.txt
@@ -0,0 +1,71 @@
+# 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.7
+Pint>=0.5 # BSD
+django-babel>=0.3.4
+django-compressor>=1.4
+django-openstack-auth>=2.0.0
+django-pyscss>=2.0.2 # BSD License (2 clause)
+eventlet>=0.17.4
+httplib2>=0.7.5
+iso8601>=0.1.9
+kombu>=3.0.7
+netaddr!=0.7.16,>=0.7.12
+oslo.concurrency>=2.3.0 # Apache-2.0
+oslo.config>=2.3.0 # Apache-2.0
+oslo.i18n>=1.5.0 # Apache-2.0
+oslo.policy>=0.5.0 # Apache-2.0
+oslo.serialization>=1.4.0 # Apache-2.0
+oslo.utils>=2.0.0 # Apache-2.0
+pyScss>=1.3.4 # MIT License
+python-ceilometerclient>=1.5.0
+python-cinderclient>=1.3.1
+python-glanceclient>=0.18.0
+python-heatclient>=0.3.0
+python-keystoneclient>=1.6.0
+python-neutronclient>=2.6.0
+python-novaclient>=2.28.1
+python-saharaclient>=0.10.0
+python-swiftclient>=2.2.0
+python-troveclient>=1.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.7.6
+python-memcached
\ No newline at end of file
diff --git a/horizon/server/multi/site.sls b/horizon/server/multi/site.sls
index 7208318..f4463be 100644
--- a/horizon/server/multi/site.sls
+++ b/horizon/server/multi/site.sls
@@ -78,7 +78,7 @@
   - require:
     - file: horizon_{{ app_name }}_dirs
 
-{%- if app.get('version', 'juno') in ['juno', 'kilo', 'helpdesk'] %}
+{%- if app.get('version', 'juno') in ['juno', 'kilo', 'helpdesk', 'liberty'] %}
 
 horizon_setup_{{ app_name }}_horizon:
   cmd.run:
@@ -105,7 +105,7 @@
 
 {%- endif %}
 
-{%- if app.get('version', 'juno') in ['kilo', 'helpdesk'] %}
+{%- if app.get('version', 'juno') in ['kilo', 'helpdesk', 'liberty'] %}
 
 /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'] %}
+{%- if app.get('version', 'juno') in ['kilo', 'helpdesk', 'liberty'] %}
 
 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'] %}
+{%- if app.get('version', 'juno') in ['kilo', 'helpdesk', 'liberty'] %}
 
 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'] %}
+{%- if plugin_name == "contrail" and app.get("version", "juno") in ["juno", "kilo", 'helpdesk', 'liberty'] %}
 
 fix_contrail_{{ app_name }}:
   cmd.run:
@@ -264,7 +264,7 @@
 
 {%- endif %}
 
-{%- if plugin_name == "horizon_theme" and app.get("version", "juno") in ["kilo", 'helpdesk'] %}
+{%- if plugin_name == "horizon_theme" and app.get("version", "juno") in ["kilo", 'helpdesk', 'liberty'] %}
 
 /srv/horizon/sites/{{ app_name }}/local/lib/python2.7/site-packages/openstack_dashboard/dashboards/theme:
   file.symlink:
