Spiceweasel help


#1

hi chefs!

i’ve just started playing around with Spiceweasel because it sounds awesome
and we potentially have many chef environments to setup (thanks Matt!).
I’ve run into a snag though, i created a very simple yml file with just
nodes in it, but when i pass it to Spiceweasel i get:

/usr/lib64/ruby/gems/1.8/gems/spiceweasel-1.0.0/bin/spiceweasel:72:
/usr/lib64/ruby/gems/1.8/gems/spiceweasel-1.0.0/lib/spiceweasel/environment_list.rb:68:
odd number list for Hash (SyntaxError)
envfile = JSON.parse(f, {symbolize_names: ‘false’})
^
/usr/lib64/ruby/gems/1.8/gems/spiceweasel-1.0.0/lib/spiceweasel/environment_list.rb:68:
syntax error, unexpected ‘:’, expecting '}'
envfile = JSON.parse(f, {symbolize_names: ‘false’})
^
/usr/lib64/ruby/gems/1.8/gems/spiceweasel-1.0.0/lib/spiceweasel/environment_list.rb:68:
syntax error, unexpected ‘}’, expecting kEND
envfile = JSON.parse(f, {symbolize_names: ‘false’})
^
from /usr/bin/spiceweasel:19:in `load’
from /usr/bin/spiceweasel:19

my yml file looks like:
nodes:

  • node1:
  • role[base]
  • -d centos5-gem-internet -x root -E test

i have both base role and test environment json files in the correct repo
directories too, any ideas?

Thanks!


Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.


#2

Hi Chris,

It looks like you are running on ruby 1.8, but spice weasel is using ruby 1.9(only) style hashes, which sounds like a bug that needs to be reported.

Cheers,
Alan

On 21/02/2012, at 12:17 PM, Chris wrote:

hi chefs!

i’ve just started playing around with Spiceweasel because it sounds awesome and we potentially have many chef environments to setup (thanks Matt!). I’ve run into a snag though, i created a very simple yml file with just nodes in it, but when i pass it to Spiceweasel i get:

/usr/lib64/ruby/gems/1.8/gems/spiceweasel-1.0.0/bin/spiceweasel:72: /usr/lib64/ruby/gems/1.8/gems/spiceweasel-1.0.0/lib/spiceweasel/environment_list.rb:68: odd number list for Hash (SyntaxError)
envfile = JSON.parse(f, {symbolize_names: ‘false’})
^
/usr/lib64/ruby/gems/1.8/gems/spiceweasel-1.0.0/lib/spiceweasel/environment_list.rb:68: syntax error, unexpected ‘:’, expecting '}'
envfile = JSON.parse(f, {symbolize_names: ‘false’})
^
/usr/lib64/ruby/gems/1.8/gems/spiceweasel-1.0.0/lib/spiceweasel/environment_list.rb:68: syntax error, unexpected ‘}’, expecting kEND
envfile = JSON.parse(f, {symbolize_names: ‘false’})
^
from /usr/bin/spiceweasel:19:in `load’
from /usr/bin/spiceweasel:19

my yml file looks like:
nodes:

  • node1:
  • role[base]
  • -d centos5-gem-internet -x root -E test

i have both base role and test environment json files in the correct repo directories too, any ideas?

Thanks!


Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.


#3

Ah, that’ll do it. Thanks!

On Mon, Feb 20, 2012 at 5:21 PM, Alan Harper alan@aussiegeek.net wrote:

Hi Chris,

It looks like you are running on ruby 1.8, but spice weasel is using ruby
1.9(only) style hashes, which sounds like a bug that needs to be reported.

Cheers,
Alan

On 21/02/2012, at 12:17 PM, Chris wrote:

hi chefs!

i’ve just started playing around with Spiceweasel because it sounds
awesome and we potentially have many chef environments to setup (thanks
Matt!). I’ve run into a snag though, i created a very simple yml file with
just nodes in it, but when i pass it to Spiceweasel i get:

/usr/lib64/ruby/gems/1.8/gems/spiceweasel-1.0.0/bin/spiceweasel:72:
/usr/lib64/ruby/gems/1.8/gems/spiceweasel-1.0.0/lib/spiceweasel/environment_list.rb:68:
odd number list for Hash (SyntaxError)
envfile = JSON.parse(f, {symbolize_names: ‘false’})
^

/usr/lib64/ruby/gems/1.8/gems/spiceweasel-1.0.0/lib/spiceweasel/environment_list.rb:68:
syntax error, unexpected ‘:’, expecting ‘}’

  envfile = JSON.parse(f, {symbolize_names: 'false'})
                                           ^

/usr/lib64/ruby/gems/1.8/gems/spiceweasel-1.0.0/lib/spiceweasel/environment_list.rb:68:
syntax error, unexpected ‘}’, expecting kEND

  envfile = JSON.parse(f, {symbolize_names: 'false'})
                                                    ^
  from /usr/bin/spiceweasel:19:in `load'
  from /usr/bin/spiceweasel:19

my yml file looks like:
nodes:

  • node1:
  • role[base]
  • -d centos5-gem-internet -x root -E test

i have both base role and test environment json files in the correct
repo directories too, any ideas?

Thanks!


Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.


Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.