diff --git a/magnum/elements/fedora-atomic/README.rst b/magnum/elements/fedora-atomic/README.rst
new file mode 100644
index 0000000000..c2f2210620
--- /dev/null
+++ b/magnum/elements/fedora-atomic/README.rst
@@ -0,0 +1,67 @@
+=============
+fedora-atomic
+=============
+
+Generates a Fedora Atomic image based on a public deployed tree. This element has been tested under Debian, Ubuntu, CentOS and Fedora operating systems.
+
+Pre-requisites to run diskimage-builder
+---------------------------------------
+For diskimage-builder to work, following packages need to be
+present:
+
+* python-dev
+* build-essential
+* python-pip
+* kpartx
+* python-lzma
+* qemu-utils
+* yum
+* yum-utils
+* python-yaml
+
+For Debian/Ubuntu systems, use::
+
+ apt-get install python-dev build-essential python-pip kpartx python-lzma qemu-utils yum yum-utils python-yaml
+
+For CentOS and Fedora < 22, use::
+
+ yum install python-dev build-essential python-pip kpartx python-lzma qemu-utils yum yum-utils python-yaml
+
+For Fedora >= 22, use::
+
+ dnf install python-dev build-essential python-pip kpartx python-lzma qemu-utils yum yum-utils python-yaml
+
+diskimage-builder can be installed using pip::
+
+ pip install diskimage-builder
+
+How to generate Fedora Atomic image
+-----------------------------------
+To generate an atomic image for Fedora 23 these commands can be
+executed::
+
+ export ELEMENTS_PATH=/path/to/diskimage-builder/elements:/path/to/magnum/elements
+ export DIB_RELEASE=23 # this can be switched to the desired version
+ export DIB_IMAGE_SIZE=2 # we need to give a bit more space to loopback device
+ disk-image-create fedora-atomic
+
+This element can consume already published trees, but you can use it
+to consume your own generated trees. Documentation about creating own trees
+can be found at `http://developers.redhat.com/blog/2015/01/08/creating-custom-atomic-trees-images-and-installers-part-1/ `_
+
+Environment Variables
+---------------------
+
+To properly reference the tree, the following env vars can be set:
+
+FEDORA_ATOMIC_TREE_URL
+ :Required: Yes
+ :Description: Url for the public fedora-atomic tree to use. It can
+ reference to own published trees.
+ :Default: `https://dl.fedoraproject.org/pub/fedora/linux/atomic/23/ `_
+
+
+FEDORA_ATOMIC_TREE_REF
+ :Required: Yes
+ :Description: Reference of the tree to install.
+ :Default: 954bdbeebebfa87b625d9d7bd78c81400bdd6756fcc3205987970af4b64eb678
diff --git a/magnum/elements/fedora-atomic/element-deps b/magnum/elements/fedora-atomic/element-deps
new file mode 100644
index 0000000000..2e68953874
--- /dev/null
+++ b/magnum/elements/fedora-atomic/element-deps
@@ -0,0 +1,4 @@
+fedora-minimal
+growroot
+package-installs
+vm
diff --git a/magnum/elements/fedora-atomic/environment.d/50-fedora-atomic b/magnum/elements/fedora-atomic/environment.d/50-fedora-atomic
new file mode 100644
index 0000000000..5e7386cc90
--- /dev/null
+++ b/magnum/elements/fedora-atomic/environment.d/50-fedora-atomic
@@ -0,0 +1,2 @@
+export FEDORA_ATOMIC_TREE_URL=${FEDORA_ATOMIC_TREE_URL:-https://dl.fedoraproject.org/pub/fedora/linux/atomic/23/}
+export FEDORA_ATOMIC_TREE_REF=${FEDORA_ATOMIC_TREE_REF:-954bdbeebebfa87b625d9d7bd78c81400bdd6756fcc3205987970af4b64eb678}
diff --git a/magnum/elements/fedora-atomic/finalise.d/80-fedora-atomic b/magnum/elements/fedora-atomic/finalise.d/80-fedora-atomic
new file mode 100755
index 0000000000..9a2d90f2c0
--- /dev/null
+++ b/magnum/elements/fedora-atomic/finalise.d/80-fedora-atomic
@@ -0,0 +1,73 @@
+#!/bin/bash
+
+if [ ${DIB_DEBUG_TRACE:-0} -gt 0 ]; then
+ set -x
+fi
+set -eu
+set -o pipefail
+
+# generate ostree in root
+cd /
+ostree admin os-init fedora-atomic
+ostree remote add --set=gpg-verify=false fedora-atomic ${FEDORA_ATOMIC_TREE_URL}
+ostree pull fedora-atomic ${FEDORA_ATOMIC_TREE_REF}
+ostree remote delete fedora-atomic
+ostree admin deploy --os=fedora-atomic ${FEDORA_ATOMIC_TREE_REF} --karg-proc-cmdline --karg=selinux=0
+
+# copy /etc/fstab to the deployed directory
+SYSROOT=/ostree/deploy/fedora-atomic/deploy/${FEDORA_ATOMIC_TREE_REF}.0
+cp /etc/fstab $SYSROOT/etc/
+
+# need to find the generated images
+DEPLOYED_DIRECTORY=$(find /boot/ostree -name fedora-atomic-* -type d)
+DEPLOYED_ID=${DEPLOYED_DIRECTORY##*-}
+INIT_IMAGE=$(find ${DEPLOYED_DIRECTORY} -name initramfs*.img)
+
+# generate ostree boot
+cat > /etc/grub.d/15_ostree < $SYSROOT/etc/sysconfig/docker-storage <