diff --git a/modules/openstack_project/manifests/base.pp b/modules/openstack_project/manifests/base.pp
index 31b86b0058..fb9f30c350 100644
--- a/modules/openstack_project/manifests/base.pp
+++ b/modules/openstack_project/manifests/base.pp
@@ -28,4 +28,15 @@ class openstack_project::base {
     User::Virtual::Localuser["devananda"],
     User::Virtual::Localuser["clarkb"],
   )
+
+  # Download and set up puppet apt repo
+  exec { "download:puppetlabs-release-${lsbdistcodename}.deb":
+    command => "/usr/bin/wget http://apt.puppetlabs.com/puppetlabs-release-${lsbdistcodename}.deb -O /root/puppetlabs-release-${lsbdistcodename}.deb",
+    creates => "/root/puppetlabs-release-${lsbdistcodename}.deb",
+  }
+  exec { "dpkg:puppetlabs-release-${lsbdistcodename}.deb":
+    command => "/usr/bin/dpkg -i /root/puppetlabs-release-${lsbdistcodename}.deb",
+    onlyif => "test ! -f /etc/apt/sources.list.d/puppetlabs.list",
+    require => Exec["download:puppetlabs-release-${lsbdistcodename}.deb"],
+  }
 }