diff --git a/manifests/site.pp b/manifests/site.pp
index 3bb54559ee..c6a3855df0 100644
--- a/manifests/site.pp
+++ b/manifests/site.pp
@@ -998,4 +998,17 @@ node 'apps.openstack.org' {
   }
 }
 
+# Node-OS: trusty
+node 'odsreg.openstack.org' {
+  class { 'openstack_project::server':
+    iptables_public_tcp_ports => [80],
+    sysadmins                 => hiera('sysadmins', []),
+  }
+  realize (
+    User::Virtual::Localuser['ttx'],
+  )
+  class { '::odsreg':
+  }
+}
+
 # vim:sw=2:ts=2:expandtab:textwidth=79
diff --git a/modules.env b/modules.env
index 9562769c61..a5ce447adf 100644
--- a/modules.env
+++ b/modules.env
@@ -101,6 +101,7 @@ INTEGRATION_MODULES["$OPENSTACK_GIT_ROOT/openstack-infra/puppet-mediawiki"]="ori
 INTEGRATION_MODULES["$OPENSTACK_GIT_ROOT/openstack-infra/puppet-meetbot"]="origin/master"
 INTEGRATION_MODULES["$OPENSTACK_GIT_ROOT/openstack-infra/puppet-mysql_backup"]="origin/master"
 INTEGRATION_MODULES["$OPENSTACK_GIT_ROOT/openstack-infra/puppet-nodepool"]="origin/master"
+INTEGRATION_MODULES["$OPENSTACK_GIT_ROOT/openstack-infra/puppet-odsreg"]="origin/master"
 INTEGRATION_MODULES["$OPENSTACK_GIT_ROOT/openstack-infra/puppet-openafs"]="origin/master"
 INTEGRATION_MODULES["$OPENSTACK_GIT_ROOT/openstack-infra/puppet-openstackci"]="origin/master"
 INTEGRATION_MODULES["$OPENSTACK_GIT_ROOT/openstack-infra/puppet-openstackid"]="origin/master"