inkblot / puppet-bind

18 stars 82 forks source link

Running on Puppet 4.x? #73

Closed ITler closed 8 years ago

ITler commented 8 years ago

Hello,

from forge I loaded your module and ripienaar/module_data via Puppetfile (librarian). I already use hiera (3.0.5) data within my environment. My tests and manual puppet runs have failed since installing your module with Platform not supported. It seems, your module's hiera data are not loaded. How could I get this to work?

Kind regards ITler

inkblot commented 8 years ago

Can you please capture the debug log messages related to the bind::defaults::supported hiera key? In master mode these will be in the puppet master's logs after setting log_level to debug or lower level logging. In masterless mode, they will appear in the standard output of the puppet apply command.

inkblot commented 8 years ago

This issue probably has the same root cause as #72.

inkblot commented 8 years ago

I have pushed a branch that adds 4.0.0 to the PUPPET_VERSION list in .travis.yml and the tests succeed. The test suite does not provide much coverage, but it should at least get past the point where you're experiencing difficulty.

The module currently only support Debian and Red Hat derived distributions of Linux. Is your target system running something else?

ITler commented 8 years ago

Thanks for replying. I'm using Ubuntu 14.04. I've seen #72, but thought, as I use puppet 4.x, I open a dedicated issue. If you wish, we can close this issue and use #72... I try to provide debug logs as soon as possible, but I've to admit, I'm working in a project and we are about to reach a milestone, therefore I had to use an alternative library... I've to focus on other things, first, but I try to use your library and provide the logs as soon as I can.

claflico commented 8 years ago

Not sure if this is along the same lines but I can't get any version from 4.3.0-5.1.0 to work out of the box on CentOS Linux release 7.2.1511 (Core).

Here is what I get when I try 5.1.0: Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Evaluation Error: Error while evaluating a Function Call, Please ensure that the dependencies of the bind module are installed and working correctly at /etc/puppetlabs/code/environments/development/modules/bind/manifests/defaults.pp:18:9 on node ssi1-dev-ns01.XXXXXX.dev Warning: Not using cache on failed catalog Error: Could not retrieve catalog; skipping run

Here's my logs from my puppetserver after changing log_level=debug: 2016-01-26 23:12:45,541 INFO [puppet-server] Puppet Caching node for ssi1-dev-ns01.XXXXXX.dev 2016-01-26 23:12:58,205 INFO [puppet-server] Puppet 'replace facts' command for ssi1-dev-ns01.XXXXXX.dev submitted to PuppetDB with UUID 3b7a9685-2a9c-45fd-8e6a-dd57ecef9b9f 2016-01-26 23:12:58,683 INFO [puppet-server] Puppet Caching node for ssi1-dev-ns01.XXXXXX.dev 2016-01-26 23:12:59,545 INFO [puppet-server] Puppet hiera(): Cannot load backend puppetdb: no such file to load -- hiera/backend/puppetdb_backend 2016-01-26 23:13:02,279 INFO [puppet-server] Puppet hiera(): Cannot load backend puppetdb: no such file to load -- hiera/backend/puppetdb_backend 2016-01-26 23:13:07,858 ERROR [puppet-server] Puppet Evaluation Error: Error while evaluating a Function Call, Please ensure that the dependencies of the bind module are installed and working correctly 2016-01-26 23:13:07,859 ERROR [puppet-server] Puppet Evaluation Error: Error while evaluating a Function Call, Please ensure that the dependencies of the bind module are installed and working correctly at /etc/puppetlabs/code/environments/development/modules/bind/manifests/defaults.pp:18:9 on node ssi1-dev-ns01.XXXXXX.dev 2016-01-26 23:13:07,861 ERROR [puppet-server] Puppet Evaluation Error: Error while evaluating a Function Call, Please ensure that the dependencies of the bind module are installed and working correctly 2016-01-26 23:13:12,407 INFO [puppet-server] Puppet 'store report' command for ssi1-dev-ns01.XXXXXX.dev submitted to PuppetDB with UUID fdf7d488-0484-47cc-b532-7e8b86a8c8d4 ^C

Here are my versions: [root@ssi1-dev-puppet puppetserver]# rpm -qa |grep puppet puppetserver-2.2.1-1.el7.noarch puppetexplorer-2.0.0-1.noarch puppetdb-3.2.2-1.el7.noarch puppet-agent-1.3.4-1.el7.x86_64 puppetlabs-release-pc1-1.0.0-1.el7.noarch puppetdb-termini-3.2.3-1.el7.noarch [root@ssi1-dev-puppet puppetserver]# puppet --version 4.3.2 [root@ssi1-dev-puppet puppetserver]# hiera --version 3.0.6

I have found that I can get version 4.3.0 to work if I specify the following in my hiera common: bind::params::supported: true bind::params::bind_user: 'named' bind::params::bind_group: 'named' bind::params::bind_package: 'bind' bind::params::bind_service: 'named' bind::params::nsupdate_package: 'bind-utils' bind::namedconf: '/etc/named.conf' bind::confdir: '/etc/named' bind::cachedir: '/var/named'

inkblot commented 8 years ago

@claflico Do you have the DEBUG level output specifically related to fetching the value of the bind::params::supported key? Also, after installing the module_data module, the puppet master needs a restart in order for it to load the new hiera backend from the module.

claflico commented 8 years ago

@inkblot Can you tell me how to set the puppetserver debug level to target a specific key?

I use r10k to manage modules but I know that I've restarted the puppetserver service since the module was installed.

inkblot commented 8 years ago

To my knowledge, log levels can't be targeted. I've always just searched through the hiera debug logs for the ones about the key I'm looking for.

claflico commented 8 years ago

Just tried 1.5.2 but still no go. Here are the specific sections from my puppetserver.log file. I have restarted my puppetserver service after installing the module.

2016-02-05 01:52:30,676 INFO [puppet-server] Puppet Caching node for ssi1-dev-ns01.domain.dev 2016-02-05 01:52:35,506 ERROR [puppet-server] Puppet Evaluation Error: Error while evaluating a Function Call, Please ensure that the dependencies of the bind module are installed and working correctly 2016-02-05 01:52:35,507 ERROR [puppet-server] Puppet Evaluation Error: Error while evaluating a Function Call, Please ensure that the dependencies of the bind module are installed and working correctly at /etc/puppetlabs/code/environments/development/modules/bind/manifests/defaults.pp:18:9 on node ssi1-dev-ns01.domain.dev 2016-02-05 01:52:35,508 ERROR [puppet-server] Puppet Evaluation Error: Error while evaluating a Function Call, Please ensure that the dependencies of the bind module are installed and working correctly 2016-02-05 01:52:38,493 INFO [puppet-server] Puppet 'store report' command for ssi1-dev-ns01.domain.dev submitted to PuppetDB with UUID f313d167-92f3-4cb5-ba93-07284a8dec37

hdeadman commented 8 years ago

I am getting this same error on a fork that was modified to not use module_data (b/c I mistakenly thought that was causing my problem with the module). I can run the module from vagrant (puppet apply) but this error (about not being able to load "hiera/backend/puppetdb_backend") occurs when the module is run from the puppetserver (latest version of server 2.x and puppet 4.3.2). The bind module was installed via r10k and all those lib folders are present in the module. I don't know much about ruby but could the functions in the bind module be relying on puppet gems that aren't installed? Below is the list of puppet gems on the puppet server.

* LOCAL GEMS *

bigdecimal (1.2.7, 1.2.4) colored (1.2) cri (2.7.0, 2.6.1) deep_merge (1.0.1) facter (3.1.4) faraday (0.9.2, 0.9.1) faraday_middleware (0.10.0, 0.9.2) faraday_middleware-multi_json (0.0.6) hiera (3.0.6) hocon (0.9.3) io-console (0.4.5, 0.4.3) json (1.8.3, 1.8.1) log4r (1.1.10) minitar (0.5.4) minitest (5.8.4, 4.7.5) multi_json (1.11.2) multipart-post (2.0.0) net-ssh (3.0.2, 2.9.2) power_assert (0.2.7) psych (2.0.17, 2.0.5) puppet (4.3.2) puppet_forge (2.1.3, 2.1.1) r10k (2.1.1, 2.1.0, 2.0.3) rake (10.5.0, 10.1.0) rdoc (4.2.1, 4.1.0) semantic_puppet (0.1.1) stomp (1.3.4, 1.3.3) test-unit (3.1.7, 2.1.8.0)

inkblot commented 8 years ago

@claflico, those log messages indicate that module_data isn't working. There are two circumstances that I know of that cause this and probably many that I haven't seen before. Clearly this is one of the latter, but the log messages that you have posted are not the ones I'm interested in. Please enable DEBUG logging in your puppet master and send the hiera debug log messages related to the bind::defaults::supported key.

@hdeadman, the parser function and resource types in the bind module use core ruby libraries only. The error messages that you are seeing are not related to this module.

inkblot commented 8 years ago

I'm closing this issue. Puppet 4.0 is not the problem, and @ITler, @claflico, and @hdeadman have three different problems. Please open separate issues for each of these problems.

hdeadman commented 8 years ago

Sorry i saw a message in the log above that looked familiar and that wasn't the message that I meant to include. I am actually getting the following error but I will look into it some more before I open a new issue.

2016-02-07 22:35:13,075 ERROR [puppet-server] Puppet Could not autoload puppet/provider/resource_record/nsupdate: no such file to load -- puppet_bind/provider/nsupdate
org/jruby/RubyKernel.java:1072:in `require'
/opt/puppetlabs/server/apps/puppetserver/puppet-server-release.jar!/META-INF/jruby.home/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:54:in `require'
/etc/puppetlabs/code/3rdparty/modules/bind/lib/puppet/provider/resource_record/nsupdate.rb:1:in `(root)'
org/jruby/RubyKernel.java:1091:in `load'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:1:in `(root)'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:59:in `load_file'
org/jruby/RubyArray.java:1613:in `each'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:74:in `loadall'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:72:in `loadall'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:203:in `loadall'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/metatype/manager.rb:116:in `newtype'
org/jruby/RubyKernel.java:1091:in `load'
/etc/puppetlabs/code/3rdparty/modules/bind/lib/puppet/type/resource_record.rb:4:in `(root)'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:1:in `(root)'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:59:in `load_file'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:189:in `load'
inkblot commented 8 years ago

@hdeadman There are at least three different problems that have been discussed in this issue's thread and I will not waste my time sorting out which comments are related to which problem. Open another issue.