diff --git a/files/tasks/7.task/kickstart.erb b/files/tasks/7.task/kickstart.erb
index 5204e6a03131e796b4a6eccd6a545f99ca29f960..923accaf93b7bc2b9437b7ff43db0f93c1d73a54 100644
--- a/files/tasks/7.task/kickstart.erb
+++ b/files/tasks/7.task/kickstart.erb
@@ -28,6 +28,7 @@ bootloader --location=mbr --append="nofb quiet splash=quiet"
 # here so unless you clear all partitions first, this is
 # not guaranteed to work
 
+<%= node.metadata['part'] %>
 zerombr
 clearpart --all
 
@@ -84,7 +85,7 @@ USERCTL="no"
 PEERDNS="no"
 PEERNTP="no"
 IPADDR="<%= node.metadata['ip_address'] || '127.0.0.1' %>"
-NETMASK="<%= node.metadata['net_mask'] || '255.255.255.255' %>"
+NETMASK="<%= node.metadata['netmask'] || '255.255.255.255' %>"
 GATEWAY="<%= node.metadata['gateway'] || '127.0.0.1' %>"
 EOF
 
diff --git a/puppet_files/common.yaml b/puppet_files/common.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..030db8402bc1f91d51706ba48acd992d3f59dc26
--- /dev/null
+++ b/puppet_files/common.yaml
@@ -0,0 +1,15 @@
+---
+java::version: latest
+
+provisioning_host::ip_address: '192.168.10.103'
+provisioning_host::netmask: '255.255.255.0'
+provisioning_host::gateway: '192.168.10.1'
+provisioning_host::mac_address: '52:54:00:89:82:1a'
+provisioning_host::common::first_part: &part_1 |
+  zerombr
+  clearpart --all
+  autopart --type=plain --fstype=ext3 
+
+provisioning_host::mac_address2: '55:55:00:55:55:55'
+provisioning_host::part: *part_1
+
diff --git a/puppet_files/site.pp b/puppet_files/site.pp
new file mode 100644
index 0000000000000000000000000000000000000000..d7c59025eadc89728e64fb2cbecdcb743b9c5d13
--- /dev/null
+++ b/puppet_files/site.pp
@@ -0,0 +1,158 @@
+# @param tmp_var              tmp param
+# @param ip_address              tmp param
+# @param netmask              tmp param
+# @param gateway              tmp param
+# @param mac_address              tmp param
+
+class provisioning_host(
+
+  Stdlib::IP::Address::V4::Nosubnet          $ip_address        = '127.0.0.1',
+  Stdlib::IP::Address::V4                    $netmask           = '255.255.255.255',
+  Stdlib::IP::Address::V4::Nosubnet          $gateway           = '127.0.0.1',
+  Stdlib::MAC                                $mac_address       = '00:00:00:00:00:00',
+  Stdlib::HTTPUrl                            $puppet_repo       = 'https://yum.puppetlabs.com/puppet5/puppet5-release-el-7.noarch.rpm',
+  String[1]                                  $part,
+
+) {
+# install packages
+package { 'ruby': ensure => 'installed' }
+package { 'ruby-devel': ensure => 'installed' }
+
+exec { 'yum Group Install':
+  unless  => '/usr/bin/yum grouplist "Development tools" | /bin/grep "^Installed Groups"',
+  command => '/usr/bin/yum -y groupinstall "Development tools"',
+}
+
+### configure DHCP
+class { 'dhcp':
+  service_ensure => running,
+  nameservers  => ['192.168.10.1'],
+  ntpservers   => ['us.pool.ntp.org'],
+  interfaces   => ['eth0'],
+  pxefilename  => 'pxelinux.0',
+  pxeserver    => '192.168.10.102',
+  ipxe_filename  => 'undionly.kpxe',
+  ipxe_bootstrap => 'bootstrap.ipxe',
+}
+
+dhcp::host { 'test':
+  comment => 'Optional descriptive comment',
+  mac     => '52:54:00:89:82:1A',
+  ip      => '192.168.10.103',
+}
+
+dhcp::pool{ 'test.local':
+  network => '192.168.10.0',
+  mask    => '255.255.255.0',
+  gateway => '192.168.10.1',
+}
+
+
+
+### configure Postgres
+
+    class { '::postgresql::server': }
+
+#    postgresql::server::role { 'razoruser':
+#    password_hash => postgresql_password('razoruser', '12345'),
+#    }
+   
+#    postgresql::server::db { 'razor_prd':
+#      owner    => 'razoruser',
+#      user     => 'razoruser',
+#      password => postgresql_password('razoruser', '12345'),
+#    }
+
+    postgresql::server::config_entry { 'listen_addresses':
+      value => '*',
+    }
+
+    postgresql::server::pg_hba_rule { 'allow application network to access app database':
+      description => 'Open up PostgreSQL for access from 192.168.10.0/24',
+      type        => 'host',
+      database    => 'all',
+      user        => 'all',
+      address     => '0.0.0.0/0',
+#      address     => '192.168.10.0/24',
+      auth_method => 'trust',
+    }
+#
+#    postgresql::server::pg_hba_rule { 'allow application network to access app database':
+#      description => 'Open up PostgreSQL for access from localhost',
+#      type        => 'host',
+#      database    => 'all',
+#      user        => 'all',
+#      address     => '127.0.0.1/32',
+#      auth_method => 'trust',
+#    }
+
+      file { '/etc/yum.repos.d/puppet5.repo':
+        content => template('razor/puppetlabs.repo.erb')
+      }
+
+### Razor
+
+# Razor Configuration - Precompiled Microkernel
+  class { 'razor':
+    database_hostname   => '127.0.0.1',
+    database_name       => 'razor_prd',
+    database_username   => 'razoruser',
+    database_password   => '12345',
+    compile_microkernel => false,
+    microkernel_url => 'http://links.puppetlabs.com/razor-microkernel-latest.tar',
+ }
+
+razor_broker { 'puppet':
+  require => Class['razor'],
+  ensure        => 'present',
+  broker_type   => 'puppet',
+  configuration => {
+    'server'      => '192.168.10.101',
+    'environment' => 'production'
+  },
+}
+
+ class{ 'razor::api': }
+
+razor_policy { 'install_centos_on_hypervisor':
+require => Class['razor'],
+  repo          => 'centos7',
+  task          => 'centos/7',
+  broker        => 'puppet',
+  hostname      => 'test.test',
+  root_password => '$6$lg.wOYebTcDaGR6K$gKDUDS1NEwiup2Xm91F35VQuMtKmaV//iec/qL3qC.oXHMHFXNvqfZkEVcVFYs46NSHT5pEBGLBzgUDUl9hq50',
+  max_count     =>  20,
+#  before_policy => 'policy0',
+  node_metadata => {
+           "ip_address"  => $ip_address,
+           "netmask"     => $netmask,
+           "gateway"     => $gateway,
+           "mac_address" => $mac_address,
+           "part"        => $part,
+           },
+  tags          => 'node01',
+  enabled       => 'true',
+  ensure        => 'present',
+}
+
+
+#create repo
+razor_repo { 'centos7':
+require => Class['razor'],
+  ensure  => 'present',
+  iso_url => 'http://ftp.fi.muni.cz/pub/linux/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso',
+  task    => 'centos/7',
+}
+
+#Create tag
+razor_tag { 'node01':
+require => Class['razor'],
+  ensure => 'present',
+  rule   => ['in', ['fact', 'macaddress'], $mac_address]
+}
+
+###Class Dependencies/Sequence
+ Class['postgresql::server'] -> Class['razor']
+
+}
+class{ 'provisioning_host': }
diff --git a/templates/puppetlabs.repo.erb b/templates/puppetlabs.repo.erb
new file mode 100644
index 0000000000000000000000000000000000000000..994f916c1c82e6054284a3001bfa135784611fae
--- /dev/null
+++ b/templates/puppetlabs.repo.erb
@@ -0,0 +1,15 @@
+[puppet5]
+name=Puppet 5 Repository el 7 - $basearch
+baseurl=http://yum.puppetlabs.com/puppet5/el/7/$basearch
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puppet5-release
+enabled=1
+gpgcheck=1
+
+[puppet5-source]
+name=Puppet 5 Repository el 7 - Source
+baseurl=http://yum.puppetlabs.com/puppet5-nightly/el/7/SRPMS
+gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puppet5-release
+failovermethod=priority
+enabled=0
+gpgcheck=1
+