diff --git a/docs/admin-guide.rst b/docs/admin-guide.rst
index fc62d098e24fb10becf8f7b13ac69c2327991ec7..277edf40d1271225b10313cd7392639811515662 100644
--- a/docs/admin-guide.rst
+++ b/docs/admin-guide.rst
@@ -2655,6 +2655,7 @@ Upgrade Notes
    v0.14.7 -> v0.14.8 <upgrade/upgrade-0.14.8>
    v0.14.9 -> v0.14.10 <upgrade/upgrade-0.14.10>
    v0.14 -> v0.15 <upgrade/upgrade-0.15>
+   v0.15 -> v0.16 <upgrade/upgrade-0.16>
 
 
 Changelog, NEWS
diff --git a/docs/upgrade/upgrade-0.16.rst b/docs/upgrade/upgrade-0.16.rst
new file mode 100644
index 0000000000000000000000000000000000000000..aca08bfa78c77c2e6a4e7267101d9ea04cc7582a
--- /dev/null
+++ b/docs/upgrade/upgrade-0.16.rst
@@ -0,0 +1,126 @@
+Upgrade to Synnefo v0.16
+^^^^^^^^^^^^^^^^^^^^^^^^
+
+
+Upgrade Steps
+=============
+
+The upgrade to v0.16 consists in the following steps:
+
+1. Bring down services and backup databases.
+
+2. Upgrade packages, migrate the databases and configure settings.
+
+3. __placeholder__
+
+4. Bring up all services.
+
+.. warning::
+
+    It is strongly suggested that you keep separate database backups
+    for each service after the completion of each step.
+
+1. Bring web services down, backup databases
+============================================
+
+1. All web services must be brought down so that the database maintains a
+   predictable and consistent state during the migration process::
+
+    $ service gunicorn stop
+    $ service snf-dispatcher stop
+    $ service snf-ganeti-eventd stop
+
+2. Backup databases for recovery to a pre-migration state.
+
+3. Keep the database servers running during the migration process.
+
+
+2. Upgrade Synnefo and configure settings
+=========================================
+
+2.1 Install the new versions of packages
+----------------------------------------
+
+::
+
+    astakos.host$ apt-get install \
+                            python-objpool \
+                            snf-common \
+                            python-astakosclient \
+                            snf-django-lib \
+                            snf-webproject \
+                            snf-branding \
+                            snf-astakos-app
+
+    cyclades.host$ apt-get install \
+                            python-objpool \
+                            snf-common \
+                            python-astakosclient \
+                            snf-django-lib \
+                            snf-webproject \
+                            snf-branding \
+                            snf-pithos-backend \
+                            snf-cyclades-app
+
+    pithos.host$ apt-get install \
+                            python-objpool \
+                            snf-common \
+                            python-astakosclient \
+                            snf-django-lib \
+                            snf-webproject \
+                            snf-branding \
+                            snf-pithos-backend \
+                            snf-pithos-app \
+                            snf-pithos-webclient
+
+    ganeti.node$ apt-get install \
+                            python-objpool \
+                            snf-common \
+                            snf-cyclades-gtools \
+                            snf-pithos-backend \
+                            snf-network
+
+.. note::
+
+   Make sure `snf-webproject' has the same version with snf-common
+
+.. note::
+
+    Installing the packages will cause services to start. Make sure you bring
+    them down again (at least ``gunicorn``, ``snf-dispatcher``)
+
+2.2 Sync and migrate the database
+---------------------------------
+
+.. note::
+
+   If you are asked about stale content types during the migration process,
+   answer 'no' and let the migration finish.
+
+::
+
+    astakos-host$ snf-manage syncdb
+    astakos-host$ snf-manage migrate
+
+    cyclades-host$ snf-manage syncdb
+    cyclades-host$ snf-manage migrate
+
+    pithos-host$ pithos-migrate upgrade head
+
+
+3. __placeholder__
+==================
+
+
+4. Bring all services up
+========================
+
+After the upgrade is finished, we bring up all services:
+
+.. code-block:: console
+
+    astakos.host  # service gunicorn start
+    cyclades.host # service gunicorn start
+    pithos.host   # service gunicorn start
+
+    cyclades.host # service snf-dispatcher start