I'm working on a DHCP module, modeled after this https://github.com/camptocamp/puppet-dhcp . Mine is just a much simpler version as I don't manage multiple OSes in my environment. However I cannot get my subnet file to create, this is the error from debug I get
"err: /Stage[main]/Fog_server/Dhcp::Subnet[10.1.0.1]/File[/etc/subnets/10.1.0.1.conf]/ensure: change from absent to present failed: Could not set 'present on ensure: No such file or directory - /etc/subnets/10.1.0.1.conf.puppettmp_5637 at /etc/puppet/modules/dhcp/manifests/definitions/subnet.pp:18" See below for the full output and my modules. Been pulling my hair out for past day over this so any help is greatly appreciated. Thanks - Trey == modules/dhcp/manifests/init.pp == import "classes/*.pp" import "definitions/*.pp" class dhcp { $dhcp_config_dir = "/etc/dhcp" include dhcp::server } == modules/dhcp/manifests/classes/server.pp == class dhcp::server { package {"dhcp": ensure => present, } service {"dhcpd": ensure => running, enable => true, require => Package["dhcp"], } file {"$dhcp_config_dir": ensure => directory, source => 'puppet:///dhcp/empty', recurse => true, purge => true, owner => 'root', group => 'root', mode => '755', require => Package['dhcp'], } file {"$dhcp_config_dir/subnets": ensure => directory, source => 'puppet:///dhcp/empty', recurse => true, purge => true, owner => 'root', group => 'root', mode => '755', notify => Service['dhcpd'], require => File["$dhcp_config_dir"], } file {"/etc/dhcpd.conf": content => template("dhcp/dhcpd_conf.erb"), ensure => present, require => Package["dhcp"], notify => Service["dhcpd"], } } == modules/dhcp/manifests/definitions/subnets.pp == define dhcp::subnet ( $name=false, $netmask=false, $range_start=false, $range_end=false, $router=false, $domain_name=false, $dns_servers=false, $pxe_opts=false) { file {"/etc/subnets/$name.conf": ensure => present, owner => 'root', group => 'root', content => template("dhcp/subnet_conf.erb"), notify => Service["dhcpd"], require => File['/etc/dhcp/subnets'], } } == manifests/roles.pp == class role_dhcp_server { $my_role = "dhcp_server" $dhcpd_domain_name = "tamu.edu" $dhcpd_dns_servers = "0.0.0.0, 0.0.0.0" $dhcpd_authoritative = true $dhcpd_ddns_update = "interim" $dhcpd_opts = [ 'allow booting', 'allow bootp', 'use-host-decl-names on', 'ignore client-updates' ] include dhcp dhcp::subnet { "10.1.0.1": name => '10.1.0.1', netmask => '255.255.255.0', range_start => '10.1.0.10', range_end => '10.1.0.254', router => '10.1.0.1', domain_name => 'tamu.edu', dns_servers => "0.0.0.0, 0.0.0.0", pxe_opts => [ 'filename "pxelinux.0";' ], } } == The error == # puppetd --test --debug -vvv debug: Failed to load library 'ldap' for feature 'ldap' debug: Puppet::Type::User::ProviderLdap: feature ldap is missing debug: Puppet::Type::User::ProviderUser_role_add: file rolemod does not exist debug: Puppet::Type::User::ProviderDirectoryservice: file /usr/bin/dscl does not exist debug: Puppet::Type::User::ProviderPw: file pw does not exist debug: Failed to load library 'rubygems' for feature 'rubygems' debug: Failed to load library 'selinux' for feature 'selinux' debug: Puppet::Type::File::ProviderMicrosoft_windows: feature microsoft_windows is missing debug: /File[/var/lib/puppet/clientbucket]: Autorequiring File[/var/lib/puppet] debug: /File[/var/lib/puppet/ssl/certs/ca.pem]: Autorequiring File[/var/lib/puppet/ssl/certs] debug: /File[/var/lib/puppet/ssl]: Autorequiring File[/var/lib/puppet] debug: /File[/etc/puppet/namespaceauth.conf]: Autorequiring File[/etc/puppet] debug: /File[/etc/puppet/puppet.conf]: Autorequiring File[/etc/puppet] debug: /File[/var/lib/puppet/state/last_run_summary.yaml]: Autorequiring File[/var/lib/puppet/state] debug: /File[/var/lib/puppet/state/last_run_report.yaml]: Autorequiring File[/var/lib/puppet/state] debug: /File[/var/log/puppet/http.log]: Autorequiring File[/var/log/puppet] debug: /File[/var/lib/puppet/client_yaml]: Autorequiring File[/var/lib/puppet] debug: /File[/var/lib/puppet/ssl/certs]: Autorequiring File[/var/lib/puppet/ssl] debug: /File[/var/lib/puppet/ssl/crl.pem]: Autorequiring File[/var/lib/puppet/ssl] debug: /File[/var/lib/puppet/ssl/certificate_requests]: Autorequiring File[/var/lib/puppet/ssl] debug: /File[/var/lib/puppet/ssl/public_keys/itscfognode.tamu.edu.pem]: Autorequiring File[/var/lib/puppet/ssl/public_keys] debug: /File[/var/lib/puppet/client_data]: Autorequiring File[/var/lib/puppet] debug: /File[/var/lib/puppet/lib]: Autorequiring File[/var/lib/puppet] debug: /File[/var/lib/puppet/ssl/private_keys]: Autorequiring File[/var/lib/puppet/ssl] debug: /File[/var/lib/puppet/state]: Autorequiring File[/var/lib/puppet] debug: /File[/var/lib/puppet/ssl/private]: Autorequiring File[/var/lib/puppet/ssl] debug: /File[/var/lib/puppet/state/graphs]: Autorequiring File[/var/lib/puppet/state] debug: /File[/var/lib/puppet/classes.txt]: Autorequiring File[/var/lib/puppet] debug: /File[/var/lib/puppet/ssl/public_keys]: Autorequiring File[/var/lib/puppet/ssl] debug: /File[/var/lib/puppet/state/state.yaml]: Autorequiring File[/var/lib/puppet/state] debug: /File[/var/lib/puppet/ssl/private_keys/itscfognode.tamu.edu.pem]: Autorequiring File[/var/lib/puppet/ssl/private_keys] debug: /File[/var/lib/puppet/ssl/certs/itscfognode.tamu.edu.pem]: Autorequiring File[/var/lib/puppet/ssl/certs] debug: /File[/var/lib/puppet/facts]: Autorequiring File[/var/lib/puppet] debug: Finishing transaction 23631659864180 debug: /File[/etc/puppet/namespaceauth.conf]: Autorequiring File[/etc/puppet] debug: /File[/var/lib/puppet/ssl/crl.pem]: Autorequiring File[/var/lib/puppet/ssl] debug: /File[/var/lib/puppet/ssl/public_keys/itscfognode.tamu.edu.pem]: Autorequiring File[/var/lib/puppet/ssl/public_keys] debug: /File[/var/lib/puppet/ssl/certs]: Autorequiring File[/var/lib/puppet/ssl] debug: /File[/var/lib/puppet/lib]: Autorequiring File[/var/lib/puppet] debug: /File[/var/lib/puppet/ssl/certs/itscfognode.tamu.edu.pem]: Autorequiring File[/var/lib/puppet/ssl/certs] debug: /File[/var/lib/puppet/ssl/private]: Autorequiring File[/var/lib/puppet/ssl] debug: /File[/var/lib/puppet/facts]: Autorequiring File[/var/lib/puppet] debug: /File[/var/lib/puppet/ssl/certs/ca.pem]: Autorequiring File[/var/lib/puppet/ssl/certs] debug: /File[/var/lib/puppet/state]: Autorequiring File[/var/lib/puppet] debug: /File[/var/log/puppet/http.log]: Autorequiring File[/var/log/puppet] debug: /File[/var/lib/puppet/ssl/certificate_requests]: Autorequiring File[/var/lib/puppet/ssl] debug: /File[/var/lib/puppet/ssl/private_keys]: Autorequiring File[/var/lib/puppet/ssl] debug: /File[/var/lib/puppet/ssl/public_keys]: Autorequiring File[/var/lib/puppet/ssl] debug: /File[/var/lib/puppet/ssl/private_keys/itscfognode.tamu.edu.pem]: Autorequiring File[/var/lib/puppet/ssl/private_keys] debug: /File[/var/lib/puppet/ssl]: Autorequiring File[/var/lib/puppet] debug: Finishing transaction 23631658931580 debug: Using cached certificate for ca debug: Using cached certificate for itscfognode.tamu.edu notice: Ignoring --listen on onetime run debug: Finishing transaction 23631660726540 debug: Loaded state in 0.00 seconds debug: Using cached certificate for ca debug: Using cached certificate for itscfognode.tamu.edu debug: Using cached certificate_revocation_list for ca debug: catalog supports formats: b64_zlib_yaml dot marshal pson raw yaml; using pson debug: Puppet::Type::Package::ProviderRpm: Executing '/bin/rpm --version' debug: Puppet::Type::Package::ProviderYum: Executing '/bin/rpm --version' debug: Puppet::Type::Package::ProviderUrpmi: Executing '/bin/rpm -ql rpm' debug: Puppet::Type::Package::ProviderAptrpm: Executing '/bin/rpm -ql rpm' info: Caching catalog for itscfognode.tamu.edu debug: Puppet::Type::Service::ProviderRunit: file /usr/bin/sv does not exist debug: Puppet::Type::Service::ProviderGentoo: file /sbin/rc-update does not exist debug: Puppet::Type::Service::ProviderDebian: file /usr/sbin/update-rc.d does not exist debug: Puppet::Type::Service::ProviderDaemontools: file /usr/bin/svstat does not exist debug: Puppet::Type::Service::ProviderLaunchd: file /bin/launchctl does not exist debug: Puppet::Type::Package::ProviderAptrpm: file apt-get does not exist debug: Puppet::Type::Package::ProviderSunfreeware: file pkg-get does not exist debug: Puppet::Type::Package::ProviderPortupgrade: file /usr/local/sbin/portinstall does not exist debug: Puppet::Type::Package::ProviderOpenbsd: file pkg_info does not exist debug: Puppet::Type::Package::ProviderAptitude: file /usr/bin/aptitude does not exist debug: Puppet::Type::Package::ProviderGem: file gem does not exist debug: Puppet::Type::Package::ProviderUrpmi: file urpmi does not exist debug: Puppet::Type::Package::ProviderPkg: file /usr/bin/pkg does not exist debug: Puppet::Type::Package::ProviderApt: file /usr/bin/apt-get does not exist debug: Puppet::Type::Package::ProviderSun: file /usr/bin/pkginfo does not exist debug: Puppet::Type::Package::ProviderNim: file /usr/sbin/nimclient does not exist debug: Puppet::Type::Package::ProviderRug: file /usr/bin/rug does not exist debug: Puppet::Type::Package::ProviderPortage: file /usr/bin/eix does not exist debug: Puppet::Type::Package::ProviderFink: file /sw/bin/fink does not exist debug: Puppet::Type::Package::ProviderHpux: file /usr/sbin/swlist does not exist debug: Puppet::Type::Package::ProviderFreebsd: file /usr/sbin/pkg_info does not exist debug: Puppet::Type::Package::ProviderZypper: file /usr/bin/zypper does not exist debug: Puppet::Type::Package::ProviderDpkg: file /usr/bin/dpkg does not exist debug: Puppet::Type::Package::ProviderAix: file /usr/sbin/installp does not exist debug: Puppet::Type::Package::ProviderUp2date: file /usr/sbin/up2date-nox does not exist debug: Puppet::Type::Package::ProviderPorts: file /usr/local/sbin/portupgrade does not exist debug: Creating default schedules debug: Loaded state in 0.00 seconds debug: Prefetching yum resources for package debug: Puppet::Type::Package::ProviderYum: Executing '/bin/rpm --version' debug: Puppet::Type::Package::ProviderYum: Executing '/bin/rpm -qa --nosignature --nodigest --qf '%{NAME} %|EPOCH?{%{EPOCH}}:{0}| %{VERSION} %{RELEASE} %{ARCH} '' debug: /Stage[main]/Timezone::Central/File[/etc/localtime]/require: requires Package[tzdata] debug: /Stage[main]/Dhcp::Server/File[/etc/dhcp/subnets]/require: requires File[/etc/dhcp] debug: /Stage[main]/Dhcp::Server/File[/etc/dhcp/subnets]/notify: subscribes to Service[dhcpd] debug: /Stage[main]/Dhcp::Server/File[/etc/dhcpd.conf]/require: requires Package[dhcp] debug: /Stage[main]/Dhcp::Server/File[/etc/dhcpd.conf]/notify: subscribes to Service[dhcpd] debug: /Stage[main]/Ntp::Base/File[/etc/ntp.conf]/require: requires Package[ntp] debug: /Stage[main]/Ntp::Base/File[/etc/ntp.conf]/notify: subscribes to Service[ntpd] debug: /Stage[main]/Dhcp::Server/File[/etc/dhcp]/require: requires Package[dhcp] debug: /Stage[main]/Fog_server/Dhcp::Subnet[10.1.0.1]/File[/etc/subnets/10.1.0.1.conf]/require: requires File[/etc/dhcp/subnets] debug: /Stage[main]/Fog_server/Dhcp::Subnet[10.1.0.1]/File[/etc/subnets/10.1.0.1.conf]/notify: subscribes to Service[dhcpd] debug: /Stage[main]/Dhcp::Server/Service[dhcpd]/require: requires Package[dhcp] debug: /Stage[main]/Repos::Epel/Yumrepo[epel]/require: requires File[/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL] debug: /Stage[main]/Ntp::Base/Service[ntpd]/require: requires Package[ntp] info: Applying configuration version '1307452961' debug: file_metadata supports formats: b64_zlib_yaml marshal pson raw yaml; using pson debug: file_metadata supports formats: b64_zlib_yaml marshal pson raw yaml; using pson err: /Stage[main]/Fog_server/Dhcp::Subnet[10.1.0.1]/File[/etc/subnets/10.1.0.1.conf]/ensure: change from absent to present failed: Could not set 'present on ensure: No such file or directory - /etc/subnets/10.1.0.1.conf.puppettmp_9864 at /etc/puppet/modules/dhcp/manifests/definitions/subnet.pp:18 notice: /Stage[main]/Dhcp::Server/Service[dhcpd]: Dependency File[/etc/subnets/10.1.0.1.conf] has failures: true warning: /Stage[main]/Dhcp::Server/Service[dhcpd]: Skipping because of failed dependencies debug: file_metadata supports formats: b64_zlib_yaml marshal pson raw yaml; using pson debug: Service[ntpd](provider=redhat): Executing 'ps -ef' debug: Service[ntpd](provider=redhat): PID is 2874 debug: Puppet::Type::Service::ProviderRedhat: Executing '/sbin/chkconfig ntpd' debug: file_metadata supports formats: b64_zlib_yaml marshal pson raw yaml; using pson debug: Finishing transaction 23631658503540 debug: Storing state debug: Stored state in 0.01 seconds notice: Finished catalog run in 0.52 seconds debug: Using cached certificate for ca debug: Using cached certificate for itscfognode.tamu.edu debug: Using cached certificate_revocation_list for ca debug: Value of 'preferred_serialization_format' (pson) is invalid for report, using default (b64_zlib_yaml) debug: report supports formats: b64_zlib_yaml marshal raw yaml; using b64_zlib_yaml -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.