Ori.livneh has submitted this change and it was merged.

Change subject: wmflib: update require_package()
......................................................................


wmflib: update require_package()

Ensure the package resource is created in the scope of its container class,
rather than local scope.

Change-Id: Iaf4438ea406c579ce0c42dd80c94b373502307c2
---
M modules/wmflib/lib/puppet/parser/functions/require_package.rb
1 file changed, 8 insertions(+), 3 deletions(-)

Approvals:
  Ori.livneh: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/modules/wmflib/lib/puppet/parser/functions/require_package.rb 
b/modules/wmflib/lib/puppet/parser/functions/require_package.rb
index 6ff2578..0d7eaaa 100644
--- a/modules/wmflib/lib/puppet/parser/functions/require_package.rb
+++ b/modules/wmflib/lib/puppet/parser/functions/require_package.rb
@@ -15,13 +15,18 @@
 #
 module Puppet::Parser::Functions
   newfunction(:require_package, :arity => -2) do |args|
-    args.each do |package_name|
+    Puppet::Parser::Functions.function :create_resources
+    args.flatten.each do |package_name|
       class_name = 'packages::' + package_name.tr('-', '_')
       unless compiler.topscope.find_hostclass(class_name)
         host = Puppet::Resource::Type.new(:hostclass, class_name)
         known_resource_types.add_hostclass(host)
-        send Puppet::Parser::Functions.function(:create_resources),
-             ['package', { package_name => { :ensure => :present } }]
+        cls = Puppet::Parser::Resource.new('class', class_name,
+                                           :scope => compiler.topscope)
+        catalog.add_resource(cls)
+        host.evaluate_code(cls)
+        compiler.topscope.class_scope(host).function_create_resources(
+             ['package', { package_name => { :ensure => :present } }])
       end
       send Puppet::Parser::Functions.function(:require), [class_name]
     end

-- 
To view, visit https://gerrit.wikimedia.org/r/172466
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Iaf4438ea406c579ce0c42dd80c94b373502307c2
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Ori.livneh <o...@wikimedia.org>
Gerrit-Reviewer: Ori.livneh <o...@wikimedia.org>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to