lib/kitchen/provisioner/nodes.rb in kitchen-nodes-0.5.0 vs lib/kitchen/provisioner/nodes.rb in kitchen-nodes-0.6.0

- old
+ new

@@ -17,11 +17,13 @@ # limitations under the License. require 'kitchen' require 'kitchen/provisioner/chef_zero' require 'kitchen/provisioner/finder' +require 'kitchen/provisioner/run_list_expansion_from_kitchen' require 'net/ping' +require 'chef/run_list' module Kitchen module Provisioner # Nodes provisioner for Kitchen. # @@ -67,30 +69,46 @@ rescue nil end end + def recipes + rl = config[:run_list].map do |item| + ::Chef::RunList::RunListItem.new item + end + rle = RunListExpansionFromKitchen.new( + chef_environment, + rl, + config[:roles_path] + ) + rle.expand + rle.recipes + end + def chef_environment env = '_default' if config[:client_rb] && config[:client_rb][:environment] env = config[:client_rb][:environment] end env end + # rubocop:disable Metrics/AbcSize def node_template { id: instance.name, chef_environment: chef_environment, automatic: { ipaddress: ipaddress, platform: instance.platform.name.split('-')[0].downcase, - fqdn: fqdn + fqdn: fqdn, + recipes: recipes }, normal: config[:attributes], run_list: config[:run_list] } end + # rubocop:enable Metrics/AbcSize def node_dir File.join(config[:test_base_path], 'nodes') end