diff --git a/README.md b/README.md
deleted file mode 100644
index 6f8a43c..0000000
--- a/README.md
+++ /dev/null
@@ -1,12 +0,0 @@
-Depend on following salt formula. Pls add following line to the master's `gitfs_remotes` 
-```
-gitfs_remotes:
-  - https://github.com/saltstack-formulas/mysql-formula.git
-  - https://github.com/saltstack-formulas/memcached-formula.git
-  - https://github.com/saltstack-formulas/rabbitmq-formula.git
-  - https://github.com/jeffrey4l/keystone-formula.git
-  - https://github.com/jeffrey4l/glance-formula.git
-  - https://github.com/jeffrey4l/cinder-formula.git
-  - https://github.com/jeffrey4l/nova-formula.git
-  - https://github.com/jeffrey4l/openstack-formula.git
-```
diff --git a/README.rst b/README.rst
new file mode 100644
index 0000000..9006052
--- /dev/null
+++ b/README.rst
@@ -0,0 +1,7 @@
+This project is no longer maintained.
+
+The contents of this repository are still available in the Git source code
+management system. To see the contents of this repository before it reached
+its end of life, please check out the previous commit with 
+"git checkout HEAD^1".
+
diff --git a/openstack/all-in-one.sls b/openstack/all-in-one.sls
deleted file mode 100644
index 400c0e1..0000000
--- a/openstack/all-in-one.sls
+++ /dev/null
@@ -1,12 +0,0 @@
-include:
-  - .base
-  - mysql
-  - rabbitmq
-  - memcached
-  - memcached.config
-  - memcached.python_memcached
-  - keystone
-  - glance
-  - cinder.server
-  - nova.all-in-one
-  - horizon
diff --git a/openstack/base.sls b/openstack/base.sls
deleted file mode 100644
index e69de29..0000000
diff --git a/openstack/compute.sls b/openstack/compute.sls
deleted file mode 100644
index d208bd3..0000000
--- a/openstack/compute.sls
+++ /dev/null
@@ -1,4 +0,0 @@
-include:
-  - .base
-  - memcached.python_memcached
-  - nova.compute
diff --git a/openstack/controller.sls b/openstack/controller.sls
deleted file mode 100644
index 865997b..0000000
--- a/openstack/controller.sls
+++ /dev/null
@@ -1,11 +0,0 @@
-include:
-  - .base
-  - mysql
-  - memcached
-  - memcached.config
-  - memcached.python_memcached
-  - keystone
-
-  - cinder.server
-
-  - nova.controller
diff --git a/openstack/files/sources.list b/openstack/files/sources.list
deleted file mode 100644
index 5241929..0000000
--- a/openstack/files/sources.list
+++ /dev/null
@@ -1,13 +0,0 @@
-{%- set oscodename = salt['grains.get']('oscodename') %}
-deb http://mirrors.aliyun.com/ubuntu/ {{ oscodename }} main restricted universe multiverse
-deb http://mirrors.aliyun.com/ubuntu/ {{ oscodename }}-security main restricted universe multiverse
-deb http://mirrors.aliyun.com/ubuntu/ {{ oscodename }}-updates main restricted universe multiverse
-deb http://mirrors.aliyun.com/ubuntu/ {{ oscodename }}-proposed main restricted universe multiverse
-deb http://mirrors.aliyun.com/ubuntu/ {{ oscodename }}-backports main restricted universe multiverse
-# deb-src http://mirrors.aliyun.com/ubuntu/ {{ oscodename }} main restricted universe multiverse
-# deb-src http://mirrors.aliyun.com/ubuntu/ {{ oscodename }}-security main restricted universe multiverse
-# deb-src http://mirrors.aliyun.com/ubuntu/ {{ oscodename }}-updates main restricted universe multiverse
-# deb-src http://mirrors.aliyun.com/ubuntu/ {{ oscodename }}-proposed main restricted universe multiverse
-# deb-src http://mirrors.aliyun.com/ubuntu/ {{ oscodename }}-backports main restricted universe multiverse
-{#- vim: ft=sls
--#}
diff --git a/openstack/map.jinja b/openstack/map.jinja
deleted file mode 100644
index be7ed0e..0000000
--- a/openstack/map.jinja
+++ /dev/null
@@ -1,10 +0,0 @@
-{% set openstack=salt["grains.filter_by"]({
-  "Debian":{
-  },
-  "RedHat":{
-  },
-  "default":{
-  },
-  },merge=salt["pillar.get"]("openstack:lookup")) %}
-{#- vim:ft=sls
--#}
diff --git a/openstack/repo.sls b/openstack/repo.sls
deleted file mode 100644
index b234782..0000000
--- a/openstack/repo.sls
+++ /dev/null
@@ -1,69 +0,0 @@
-/etc/apt/apt.conf.d/00aptproxy:
-  file.managed:
-    - contents: |
-        Acquire {
-          Retries "0";
-          HTTP {
-            Proxy "http://192.168.0.91:3128"; 
-          };
-        };
-
-# Setup source
-/etc/apt/sources.list:
-  file.managed:
-    - source: salt://openstack/files/sources.list
-    - template: jinja
-
-{%- set oscodename=salt['grains.get']('oscodename') %}
-{%- if oscodename == "precise" %}
-icehouse-source:
-    pkgrepo.managed:
-      - humanname: Cloudarchive Icehouse
-      - name: "deb http://ubuntu-cloud.archive.canonical.com/ubuntu precise-updates/icehouse main"
-      - dist: precise-updates/icehouse
-      - file: /etc/apt/sources.list.d/cloudarchive-icehouse.list
-      - keyid: EC4926EA
-      - keyserver: keyserver.ubuntu.com
-      - require_in:
-        - cmd: apt-get_update
-      - watch_in:
-        - cmd: apt-get_update
-{%- endif %}
-
-saltstack-salt-{{ oscodename }}:
-  pkgrepo.managed:
-    - humanname: Saltstack
-    - name: "deb http://ppa.launchpad.net/saltstack/salt/ubuntu {{ oscodename }} main"
-    - dist: {{ oscodename }}
-    - file: /etc/apt/sources.list.d/saltstack-salt-{{ oscodename }}.list
-    - keyid: 0E27C0A6
-    - keyserver: keyserver.ubuntu.com
-    - require_in:
-      - cmd: apt-get_update
-    - watch_in:
-      - cmd: apt-get_update
-
-apt-get_update:
-  cmd.wait:
-    - name: apt-get update
-    - watch:
-      - file: /etc/apt/sources.list
-
-salt-master-host:
-  host.present:
-    - ip: 192.168.1.213
-    - name: salt
-
-python-software-properties:
-  pkg.installed:
-    - refresh: False
-
-salt-minion:
-  pkg.installed:
-    - refresh: False
-  service.running:
-    - name: salt-minion
-    - restart: True
-    - require:
-      - host: salt-master-host
-
diff --git a/pillar.example b/pillar.example
deleted file mode 100644
index 630b005..0000000
--- a/pillar.example
+++ /dev/null
@@ -1,169 +0,0 @@
-{% set baseip="10.0.0.14" %}
-
-{% set base={
-  "public_interface": "eth0",
-  "private_interface": "eth1",
-  "internal_interface": "eth0",
-  "admin_interface": "eth0",
-
-  "mysql_ip": baseip,
-  "mysql_root_password": "pass",
-
-  "memcached_ip": ["10.0.0.14"],
-
-  "glance_host": baseip,
-
-  "rabbitmq_ip": baseip,
-  "rabbitmq_user": "openstack",
-  "rabbitmq_password": "pass",
-
-  "keystone_mysql_password": "pass",
-  "keystone_admin_password": "pass",
-
-  "glance_mysql_password": "pass",
-  "keystone_glance_password": "pass",
-  
-  "nova_mysql_password": "pass",
-  "keystone_nova_password": "pass",
-
-  "cinder_mysql_password": "pass",
-  "keystone_cinder_password": "pass",
-
-  "email": "zhang.lei.fly@gmail.com",
-
-  "keystone_ip" : baseip,
-
-  "admin_token": "admin_token",
-
-  "debug": False,
-  "verbose": False,
-}%} 
-
-{% do base.update({
-  "public_ip": salt["grains.get"]("ip_interfaces:" + base.public_interface)|first,
-  "internal_ip": salt["grains.get"]("ip_interfaces:" + base.internal_interface)|first,
-  "admin_ip": salt["grains.get"]("ip_interfaces:" + base.admin_interface)|first,
-}) %}
-
-mysql.pass: {{ base.mysql_root_password }}
-mysql.charset: 'utf8'
-
-keystone.token: {{ base.admin_token }}
-keystone.endpoint: http://{{ baseip }}:35357/v2.0
-
-mysql:
-  server:
-    root_password: {{ base.mysql_root_password }}
-    mysqld:
-      bind-address: '0.0.0.0'
-
-memcached:
-  listen_address: '0.0.0.0'
-
-rabbitmq:
-  policy:
-    rabbitmq_policy:
-      - name: HA
-      - pattern: '.*'
-      - definition: '{"ha-mode": "all"}'
-  user:
-    {{ base.rabbitmq_user }}:
-      - password: {{ base.rabbitmq_password }}
-      - force: True
-      - tags: administrator
-      - perms:
-        - '/':
-          - '.*'
-          - '.*'
-          - '.*'
-      - runas: root
-
-keystone:
-  public_ip: {{ base.public_ip }}
-  internal_ip: {{ base.internal_ip }}
-  admin_ip: {{ base.admin_ip }}
-  mysql:
-    ip: {{ base.mysql_ip }}
-    host: '%'
-    password: {{ base.keystone_mysql_password }}
-  memcached:
-    ip: {{ base.memcached_ip }}
-  keystone:
-    admin:
-      password: {{ base.keystone_admin_password }}
-      email: {{ base.email }}
-  config:
-    DEFAULT:
-      admin_token: {{ base.admin_token }}
-      debug: {{ base.debug }}
-      verbose: {{ base.verbose }}
-
-glance:
-  public_ip: {{ base.public_ip }}
-  internal_ip: {{ base.internal_ip }}
-  admin_ip: {{ base.admin_ip }}
-  mysql:
-    ip: {{ base.mysql_ip }}
-    password: {{ base.glance_mysql_password }}
-  keystone:
-    host: {{ base.keystone_ip }}
-    password: {{ base.keystone_glance_password }}
-    email: {{ base.email }}
-  api-config:
-    DEFAULT:
-      debug: {{ base.debug }}
-      verbose: {{ base.verbose }}
-  reg-config:
-    DEFAULT:
-      debug: {{ base.debug }}
-      verbose: {{ base.verbose }}
-
-cinder:
-  public_ip: {{ base.public_ip }}
-  internal_ip: {{ base.internal_ip }}
-  admin_ip: {{ base.admin_ip }}
-  mysql:
-    ip: {{ base.mysql_ip }}
-    password: {{ base.cinder_mysql_password }}
-    host: '%'
-  keystone:
-    password: {{ base.keystone_cinder_password }}
-    email: {{ base.email }}
-    host: {{ base.keystone_ip }}
-  rabbitmq:
-    name: {{ base.rabbitmq_user }}
-    password: {{ base.rabbitmq_password }}
-    ip: {{ base.rabbitmq_ip }}
-  config:
-    DEFAULT:
-      debug: {{ base.debug }}
-      verbose: {{ base.debug }}
-
-nova:
-  public_ip: {{ base.public_ip }}
-  internal_ip: {{ base.internal_ip }}
-  admin_ip: {{ base.admin_ip }}
-  public_interface: {{ base.public_interface }}
-  private_interface: {{ base.private_interface }}
-  keystone:
-    password: {{ base.keystone_nova_password }}
-    email: {{ base.email }}
-    host: {{ base.keystone_ip }}
-  rabbitmq:
-    name: {{ base.rabbitmq_user }}
-    password: {{ base.rabbitmq_password }}
-    ip: {{ base.rabbitmq_ip }}
-  mysql:
-    ip: {{ base.mysql_ip }}
-    host: '%'
-    password: {{ base.nova_mysql_password }}
-  glance:
-    host: {{ base.glance_host }}
-  config:
-    DEFAULT:
-      novncproxy_base_ip: 192.168.0.208
-    libvirt:
-      virt_type: qemu
-
-{#- vim:ft=sls
--#}