Page MenuHomePhabricator

Support newer puppet (3.6.x)
Closed, ResolvedPublic

Description

When trying to run "vagrant provision" against the latest puppet (3.6.2) I get the following output:

Warning: The use of 'import' is deprecated at
             /tmp/vagrant-puppet-1/manifests/site.pp:9.
             See http://links.puppetlabs.com/puppet-import-deprecation
 (at grammar.ra:610:in `_reduce_190')
Warning: Config file /etc/puppet/hiera.yaml not found, using Hiera defaults
Error: Failed to parse template mediawiki/mediawiki-apache-site.erb:
 Filepath: /usr/lib/ruby/site_ruby/1.8/puppet/util/package.rb
 Line: 4
 Detail: private method `scan' called for nil:NilClass
at /tmp/vagrant-puppet-1/modules-0/mediawiki/manifests/apache.pp:17 on node mediawiki-vagrant.dev
Error: Failed to parse template mediawiki/mediawiki-apache-site.erb:
 Filepath: /usr/lib/ruby/site_ruby/1.8/puppet/util/package.rb
 Line: 4
 Detail: private method `scan' called for nil:NilClass
at /tmp/vagrant-puppet-1/modules-0/mediawiki/manifests/apache.pp:17 on node mediawiki-vagrant.dev

Version: unspecified
Severity: enhancement
Whiteboard: aklapper-moreinfo

Details

Reference
bz67214

Event Timeline

bzimport raised the priority of this task from to Low.Nov 22 2014, 3:31 AM
bzimport set Reference to bz67214.
bzimport added a subscriber: Unknown Object (MLST).

Can you retry with the latest mw-vagrant version? We are running Ubuntu 14.04 now with Puppet 3.4.3 in the default image. Ori landed quite a few Puppet changes to make this possible since you initially reported the bug.

(In reply to Tyler Romeo from comment #2)

FYI: http://docs.puppetlabs.com/puppet/latest/reference/lang_import.html

The import statement will be removed in Puppet 4.

Acknowledged. The Ubuntu 14.04 LTS release shipped with Puppet 3.x, so I would expect we must become concerned with Puppet 4.x compatibility on or about April 2016.

Indeed, but there should probably be some sort of migration plan, considering that the plugin currently relies on the import statement in order to add roles.

(In reply to Tyler Romeo from comment #4)

Indeed, but there should probably be some sort of migration plan,
considering that the plugin currently relies on the import statement in
order to add roles.

One way forward for this would be to shift to using the hiera_include() feature which allows a hierarchy of yaml and/or json configuration files to declare a list of puppet classes which should be applied to the active node. It will take some effort, but with the combination of well constructed modules and hiera's configuration selection mechanisms we should be able to eliminate "role" classes which seek to provide customization of more general features. It could be done in the most brutish manner today by moving the current roles collection to a module and turning the other non-module configuration into modules that can be discovered by the puppet autoloading mechanism.

In my personal opinion, MediaWiki-Vagrant should seek to track the work in this direction that is currently in the planning stage for the operations/puppet.git repository with an optimistic long term goal of abandoning much of our custom puppet implementation for utilization of operations/puppet.git directly. We will probably end up with a few odds and ends which are MediaWiki-Vagrant specific, but hopefully by the time we get close to convergence we will also see a reasonable method to augment the base classes for our environment. The desire to unify production, beta and labs projects within operations/puppet.git gives me hope that we will have enough eyes and fingers dedicated to the task to make significant progress towards this ambitious goal.

Change 153420 had a related patch set uploaded by BryanDavis:
Migrate roles to hiera_include

https://gerrit.wikimedia.org/r/153420

Change 153420 merged by Dduvall:
Migrate roles to hiera_include

https://gerrit.wikimedia.org/r/153420

(In reply to Mark A. Hershberger from comment #0)

Warning: The use of 'import' is deprecated at

            /tmp/vagrant-puppet-1/manifests/site.pp:9.
            See http://links.puppetlabs.com/puppet-import-deprecation
(at grammar.ra:610:in `_reduce_190')

Fixed by https://gerrit.wikimedia.org/r/153420

We are using hiera_include() and properly pathed modules for everything now.

Warning: Config file /etc/puppet/hiera.yaml not found, using Hiera defaults

Fixed in https://gerrit.wikimedia.org/r/#/c/144071/

Error: Failed to parse template mediawiki/mediawiki-apache-site.erb:

 Filepath: /usr/lib/ruby/site_ruby/1.8/puppet/util/package.rb
 Line: 4
 Detail: private method `scan' called for nil:NilClass
at /tmp/vagrant-puppet-1/modules-0/mediawiki/manifests/apache.pp:17 on

node mediawiki-vagrant.dev

Not sure about this one, but the template that triggered this error has had fairly significant changes since the bug was reported.

Mark, I'd appreciate it if you could retest this now and see if we are good to close.

hexmode: Please answer comment 9.

hexmode: Please answer comment 9.

Bulk unassigning bugs from Ori.

Aklapper changed the task status from Open to Stalled.Nov 25 2014, 7:47 PM
bd808 claimed this task.

Three months with no feedback sounds like "works for me" to me.

Sorry about the lack of response. I just now got back into this (this bug being closed helped, too) and tested on my Debian system with Vagrant 1.6.5 + Puppet 3.7.2. Success.

Will report back in a bit with results on Windows.

Just to increase my pain on windows, I'm trying the setup.bat file. Whee!

forgot to update: worked on windows with vagrant 1.6.5 + puppet 3.6.2

Thanks for all your work!