diff --git a/modules/openstack_project/manifests/base.pp b/modules/openstack_project/manifests/base.pp
index a81702ea85..5db1844db3 100644
--- a/modules/openstack_project/manifests/base.pp
+++ b/modules/openstack_project/manifests/base.pp
@@ -5,6 +5,7 @@ class openstack_project::base(
   $install_users         = true,
   $pin_puppet            = '3.',
   $ca_server             = undef,
+  $puppetmaster_server   = 'puppetmaster.openstack.org',
 ) {
   if ($::osfamily == 'Debian') {
     include apt
diff --git a/modules/openstack_project/manifests/server.pp b/modules/openstack_project/manifests/server.pp
index 41891bcb2d..fd2e39c655 100644
--- a/modules/openstack_project/manifests/server.pp
+++ b/modules/openstack_project/manifests/server.pp
@@ -11,6 +11,7 @@ class openstack_project::server (
   $pin_puppet                = '3.',
   $ca_server                 = undef,
   $afs                       = false,
+  $puppetmaster_server       = 'puppetmaster.openstack.org',
 ) {
   class { 'openstack_project::template':
     iptables_public_tcp_ports => $iptables_public_tcp_ports,
@@ -20,6 +21,7 @@ class openstack_project::server (
     certname                  => $certname,
     pin_puppet                => $pin_puppet,
     ca_server                 => $ca_server,
+    puppetmaster_server       => $puppetmaster_server,
     afs                       => $afs,
   }
   class { 'exim':
diff --git a/modules/openstack_project/manifests/template.pp b/modules/openstack_project/manifests/template.pp
index b461de83db..f858fbc210 100644
--- a/modules/openstack_project/manifests/template.pp
+++ b/modules/openstack_project/manifests/template.pp
@@ -15,6 +15,7 @@ class openstack_project::template (
   $ca_server                 = undef,
   $enable_unbound            = true,
   $afs                       = false,
+  $puppetmaster_server       = 'puppetmaster.openstack.org',
 ) {
   include ntp
   include ssh
@@ -50,10 +51,11 @@ class openstack_project::template (
   }
 
   class { 'openstack_project::base':
-    install_users => $install_users,
-    certname      => $certname,
-    pin_puppet    => $pin_puppet,
-    ca_server     => $ca_server,
+    install_users       => $install_users,
+    certname            => $certname,
+    pin_puppet          => $pin_puppet,
+    ca_server           => $ca_server,
+    puppetmaster_server => $puppetmaster_server,
   }
 
   package { 'lvm2':
diff --git a/modules/openstack_project/templates/puppet.conf.erb b/modules/openstack_project/templates/puppet.conf.erb
index 6e7e19e0f5..beb02cd0f4 100644
--- a/modules/openstack_project/templates/puppet.conf.erb
+++ b/modules/openstack_project/templates/puppet.conf.erb
@@ -3,7 +3,7 @@ logdir=/var/log/puppet
 vardir=/var/lib/puppet
 ssldir=/var/lib/puppet/ssl
 rundir=/var/run/puppet
-server=puppetmaster.openstack.org
+server=<%= @puppetmaster_server %>
 certname=<%= @certname %>
 pluginsync=true