Package: vagrant Version: 1.7.4+dfsg-1 Severity: normal Dear Maintainer,
Vagrant removed between 1.7.2 and 1.7.3 the support for the nodes_path
configuration of chef-{zero/solo}. The result is that existing config
sets break and did not find local nodes configuration anymore. Upstream
exists a brach where the support is readded after the 1.7.4.
e.g. a config like below:
config.vm.provision :chef_zero do |chef|
chef.cookbooks_path = "cookbooks"
chef.roles_path = "roles"
chef.nodes_path = "nodes"
chef.data_bags_path = "data_bags"
....
results in:
Bringing machine 'xxx' up with 'virtualbox' provider...
There are errors in the configuration of this machine. Please fix
the following errors and try again:
chef zero provisioner:
* The following settings shouldn't exist: nodes_path
I picked the related patches from upstream an added a debian patch which
fixes that problem. Maybe it's useful for other than me.
Regards
Sascha
-- System Information:
Debian Release: 8.2
APT prefers stable
APT policy: (500, 'stable'), (100, 'testing'), (10, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages vagrant depends on:
ii bsdtar 3.1.2-11
ii bundler 1.7.4-1
ii curl 7.38.0-4+deb8u2
ii openssh-client 1:6.7p1-5
ii ruby 1:2.1.5+deb8u1
ii ruby-childprocess 0.5.5-1
ii ruby-erubis 2.7.0-3
ii ruby-i18n 0.6.9-2
ii ruby-listen 2.4.0-4
ii ruby-log4r 1.1.10-4
ii ruby-net-scp 1.2.1-1
ii ruby-net-sftp 1:2.1.2-3
ii ruby-net-ssh 1:2.9.1-1
ii ruby-nokogiri 1.6.6.2+ds-2+b1
3 Zeilen mehr
From a158adbfe367d8201f3158990531593640cd92a7 Mon Sep 17 00:00:00 2001 From: Sascha Girrulat <[email protected]> Date: Thu, 5 Nov 2015 08:57:43 +0100 Subject: [PATCH] Bring back nodes_path support for chef e.g. a config like below: config.vm.provision :chef_zero do |chef| chef.cookbooks_path = "cookbooks" chef.roles_path = "roles" chef.nodes_path = "nodes" chef.data_bags_path = "data_bags" .... results in: Bringing machine 'xxx' up with 'virtualbox' provider... There are errors in the configuration of this machine. Please fix the following errors and try again: chef zero provisioner: * The following settings shouldn't exist: nodes_path --- ...nodes_path-support-for-the-Chef-Zero-prov.patch | 121 +++++++++++++++++++++ ...ath-support-for-the-Chef-Solo-provisioner.patch | 1 + debian/patches/series | 1 + 3 files changed, 123 insertions(+) create mode 100644 debian/patches/0013-Bring-back-nodes_path-support-for-the-Chef-Zero-prov.patch create mode 100644 debian/patches/0014-Add-nodes_path-support-for-the-Chef-Solo-provisioner.patch diff --git a/debian/patches/0013-Bring-back-nodes_path-support-for-the-Chef-Zero-prov.patch b/debian/patches/0013-Bring-back-nodes_path-support-for-the-Chef-Zero-prov.patch new file mode 100644 index 0000000..3529730 --- /dev/null +++ b/debian/patches/0013-Bring-back-nodes_path-support-for-the-Chef-Zero-prov.patch @@ -0,0 +1,121 @@ +From 7a25ad3fa8a12a4da8cbd71ec4753a74176f0144 Mon Sep 17 00:00:00 2001 +From: Brian Dwyer <[email protected]> +Date: Tue, 28 Jul 2015 12:41:51 -0400 +Subject: [PATCH 1/4] Bring back `nodes_path` support for the Chef Zero + provisioner + +--- + plugins/provisioners/chef/config/chef_zero.rb | 7 +++++++ + plugins/provisioners/chef/provisioner/chef_solo.rb | 2 ++ + plugins/provisioners/chef/provisioner/chef_zero.rb | 1 + + templates/provisioners/chef_zero/zero.erb | 4 ++-- + test/unit/plugins/provisioners/chef/config/chef_zero_test.rb | 8 ++++++++ + 5 files changed, 20 insertions(+), 2 deletions(-) + +diff --git a/plugins/provisioners/chef/config/chef_zero.rb b/plugins/provisioners/chef/config/chef_zero.rb +index d28de3d..9b1daf1 100644 +--- a/plugins/provisioners/chef/config/chef_zero.rb ++++ b/plugins/provisioners/chef/config/chef_zero.rb +@@ -17,6 +17,10 @@ module VagrantPlugins + # @return [String] + attr_accessor :environments_path + ++ # The path where nodes are stored on disk. ++ # @return [String] ++ attr_accessor :nodes_path ++ + # The path where roles are stored on disk. + # @return [String] + attr_accessor :roles_path +@@ -31,6 +35,7 @@ module VagrantPlugins + @cookbooks_path = UNSET_VALUE + @data_bags_path = UNSET_VALUE + @environments_path = UNSET_VALUE ++ @nodes_path = UNSET_VALUE + @roles_path = UNSET_VALUE + @synced_folder_type = UNSET_VALUE + end +@@ -47,6 +52,7 @@ module VagrantPlugins + end + + @data_bags_path = [] if @data_bags_path == UNSET_VALUE ++ @nodes_path = [] if @nodes_path == UNSET_VALUE + @roles_path = [] if @roles_path == UNSET_VALUE + @environments_path = [] if @environments_path == UNSET_VALUE + @environments_path = [@environments_path].flatten +@@ -54,6 +60,7 @@ module VagrantPlugins + # Make sure the path is an array. + @cookbooks_path = prepare_folders_config(@cookbooks_path) + @data_bags_path = prepare_folders_config(@data_bags_path) ++ @nodes_path = prepare_folders_config(@nodes_path) + @roles_path = prepare_folders_config(@roles_path) + @environments_path = prepare_folders_config(@environments_path) + +diff --git a/plugins/provisioners/chef/provisioner/chef_solo.rb b/plugins/provisioners/chef/provisioner/chef_solo.rb +index f3b52f1..14ee574 100644 +--- a/plugins/provisioners/chef/provisioner/chef_solo.rb ++++ b/plugins/provisioners/chef/provisioner/chef_solo.rb +@@ -33,12 +33,14 @@ module VagrantPlugins + @role_folders = expanded_folders(@config.roles_path, "roles") + @data_bags_folders = expanded_folders(@config.data_bags_path, "data_bags") + @environments_folders = expanded_folders(@config.environments_path, "environments") ++ @node_folders = expanded_folders(@config.nodes_path, "nodes") + + existing = synced_folders(@machine, cached: true) + share_folders(root_config, "csc", @cookbook_folders, existing) + share_folders(root_config, "csr", @role_folders, existing) + share_folders(root_config, "csdb", @data_bags_folders, existing) + share_folders(root_config, "cse", @environments_folders, existing) ++ share_folders(root_config, "csn", @node_folders, existing) + end + + def provision +diff --git a/plugins/provisioners/chef/provisioner/chef_zero.rb b/plugins/provisioners/chef/provisioner/chef_zero.rb +index 48078a0..70fff68 100644 +--- a/plugins/provisioners/chef/provisioner/chef_zero.rb ++++ b/plugins/provisioners/chef/provisioner/chef_zero.rb +@@ -44,6 +44,7 @@ module VagrantPlugins + local_mode: true, + enable_reporting: false, + cookbooks_path: guest_paths(@cookbook_folders), ++ nodes_path: guest_paths(@node_folders), + roles_path: guest_paths(@role_folders), + data_bags_path: guest_paths(@data_bags_folders).first, + environments_path: guest_paths(@environments_folders).first, +diff --git a/templates/provisioners/chef_zero/zero.erb b/templates/provisioners/chef_zero/zero.erb +index 29de30d..8c4b764 100644 +--- a/templates/provisioners/chef_zero/zero.erb ++++ b/templates/provisioners/chef_zero/zero.erb +@@ -31,8 +31,8 @@ environment "<%= environment %>" + chef_zero.enabled true + local_mode true + <% end -%> +-<% if node_path -%> +-node_path <%= node_path.inspect %> ++<% if nodes_path -%> ++node_path <%= nodes_path.inspect %> + <% end -%> + + <% if formatter %> +diff --git a/test/unit/plugins/provisioners/chef/config/chef_zero_test.rb b/test/unit/plugins/provisioners/chef/config/chef_zero_test.rb +index 2f9cd82..9a1f98c 100644 +--- a/test/unit/plugins/provisioners/chef/config/chef_zero_test.rb ++++ b/test/unit/plugins/provisioners/chef/config/chef_zero_test.rb +@@ -50,6 +50,14 @@ describe VagrantPlugins::Chef::Config::ChefZero do + end + end + ++ describe "#nodes_path" do ++ it "defaults to an empty array" do ++ subject.finalize! ++ expect(subject.nodes_path).to be_a(Array) ++ expect(subject.nodes_path).to be_empty ++ end ++ end ++ + describe "#synced_folder_type" do + it "defaults to nil" do + subject.finalize! +-- +2.1.4 + diff --git a/debian/patches/0014-Add-nodes_path-support-for-the-Chef-Solo-provisioner.patch b/debian/patches/0014-Add-nodes_path-support-for-the-Chef-Solo-provisioner.patch new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/debian/patches/0014-Add-nodes_path-support-for-the-Chef-Solo-provisioner.patch @@ -0,0 +1 @@ + diff --git a/debian/patches/series b/debian/patches/series index 391b4d6..7189d76 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -9,3 +9,4 @@ 0011-Support-system-installed-plugins.patch 0012-require-vagrant-version-from-system.patch 0011-Relax-dependency-resolution.patch +0013-Bring-back-nodes_path-support-for-the-Chef-Zero-prov.patch -- 2.1.4
signature.asc
Description: OpenPGP digital signature

