volanja / ansible-sample-tdd

Test Driven Development for Ansible by ServerSpec. It's Sample
94 stars 14 forks source link

"NoMethodError: undefined method `map' for nil:NilClass" #8

Closed juju4 closed 8 years ago

juju4 commented 8 years ago

Hello,

With a quick test of one of my playbook, I have one working and one not. it seems ansiblespec is not covering roles of the second group inside the playbook.

$ grep -A3 roles vpn.yml 
  roles:
    - openvpn-restorekeys
    - Stouts.openvpn
  tasks:
--
  roles:
    - openvpnclient
  tasks:
    - set_fact:

$ rake -T
rake all                               # Run serverspec to all test
rake serverspec:Ansible-vpn-satellite  # Run serverspec for Ansible-vpn-satellite
rake serverspec:Ansible-vpnserver      # Run serverspec for Ansible-vpnserver

$ rake serverspec:Ansible-vpnserver --trace
** Invoke serverspec:Ansible-vpnserver (first_time)
** Execute serverspec:Ansible-vpnserver
Run serverspec for Ansible-vpnserver to {"name"=>"HOST1 ansible_ssh_host=x.y.z.202 ansible_ssh_user=root ansible_sudo=true ansible_ssh_private_key_file=/home/user/.ssh/keys/id_rsa ansible_ssh_port=22", "port"=>22, "uri"=>"x.y.z.202", "user"=>"root", "private_key"=>"/home/user/.ssh/keys/id_rsa"}
/home/user/.rvm/rubies/ruby-2.3.0/bin/ruby -I/home/user/.rvm/gems/ruby-2.3.0/gems/rspec-support-3.5.0/lib:/home/user/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.5.2/lib /home/user/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.5.2/exe/rspec --pattern roles/\{openvpn-restorekeys,Stouts.openvpn\}/spec/\*_spec.rb

Service "openvpn"
  should be enabled

File "/usr/sbin/openvpn"
  should be executable

Finished in 0.06718 seconds (files took 0.21904 seconds to load)
2 examples, 0 failures

Run serverspec for Ansible-vpnserver to {"name"=>"HOST2 ansible_ssh_host=x.y.z.242 ansible_ssh_port=22 ansible_ssh_private_key_file=/home/user/.ssh/keys/id_rsa", "port"=>22, "uri"=>"x.y.z.242", "private_key"=>"/home/user/.ssh/keys/id_rsa"}
/home/user/.rvm/rubies/ruby-2.3.0/bin/ruby -I/home/user/.rvm/gems/ruby-2.3.0/gems/rspec-support-3.5.0/lib:/home/user/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.5.2/lib /home/user/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.5.2/exe/rspec --pattern roles/\{openvpn-restorekeys,Stouts.openvpn\}/spec/\*_spec.rb

Service "openvpn"
  should be enabled

File "/usr/sbin/openvpn"
  should be executable

Finished in 0.05259 seconds (files took 0.21698 seconds to load)
2 examples, 0 failures

$ rake serverspec:Ansible-vpn-satellite --trace
** Invoke serverspec:Ansible-vpn-satellite (first_time)
** Execute serverspec:Ansible-vpn-satellite
Run serverspec for Ansible-vpn-satellite to {"name"=>"HOST3 ansible_ssh_host=x.y.z.102 ansible_user=deploy ansible_become=true ansible_ssh_private_key_file=/home/user/.ssh/keys/id_rsa", "port"=>22, "uri"=>"x.y.z.102", "private_key"=>"/home/user/.ssh/keys/id_rsa"}
rake aborted!
NoMethodError: undefined method `map' for nil:NilClass
Did you mean?  tap
/home/user/.rvm/gems/ruby-2.3.0/gems/ansible_spec-0.2.15/lib/ansible_spec/load_ansible.rb:206:in `load_dependencies'
/opt/tmp/vagrant/homelab/Rakefile:36:in `block (5 levels) in <top (required)>'
/opt/tmp/vagrant/homelab/Rakefile:35:in `each'
/opt/tmp/vagrant/homelab/Rakefile:35:in `block (4 levels) in <top (required)>'
/home/user/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.5.2/lib/rspec/core/rake_task.rb:95:in `block (2 levels) in define'
/home/user/.rvm/gems/ruby-2.3.0@global/gems/rake-10.4.2/lib/rake/file_utils_ext.rb:58:in `verbose'
/home/user/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.5.2/lib/rspec/core/rake_task.rb:94:in `block in define'
/home/user/.rvm/gems/ruby-2.3.0@global/gems/rake-10.4.2/lib/rake/task.rb:240:in `block in execute'
/home/user/.rvm/gems/ruby-2.3.0@global/gems/rake-10.4.2/lib/rake/task.rb:235:in `each'
/home/user/.rvm/gems/ruby-2.3.0@global/gems/rake-10.4.2/lib/rake/task.rb:235:in `execute'
/home/user/.rvm/gems/ruby-2.3.0@global/gems/rake-10.4.2/lib/rake/task.rb:179:in `block in invoke_with_call_chain'
/home/user/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize'
/home/user/.rvm/gems/ruby-2.3.0@global/gems/rake-10.4.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
/home/user/.rvm/gems/ruby-2.3.0@global/gems/rake-10.4.2/lib/rake/task.rb:165:in `invoke'
/home/user/.rvm/gems/ruby-2.3.0@global/gems/rake-10.4.2/lib/rake/application.rb:150:in `invoke_task'
/home/user/.rvm/gems/ruby-2.3.0@global/gems/rake-10.4.2/lib/rake/application.rb:106:in `block (2 levels) in top_level'
/home/user/.rvm/gems/ruby-2.3.0@global/gems/rake-10.4.2/lib/rake/application.rb:106:in `each'
/home/user/.rvm/gems/ruby-2.3.0@global/gems/rake-10.4.2/lib/rake/application.rb:106:in `block in top_level'
/home/user/.rvm/gems/ruby-2.3.0@global/gems/rake-10.4.2/lib/rake/application.rb:115:in `run_with_threads'
/home/user/.rvm/gems/ruby-2.3.0@global/gems/rake-10.4.2/lib/rake/application.rb:100:in `top_level'
/home/user/.rvm/gems/ruby-2.3.0@global/gems/rake-10.4.2/lib/rake/application.rb:78:in `block in run'
/home/user/.rvm/gems/ruby-2.3.0@global/gems/rake-10.4.2/lib/rake/application.rb:176:in `standard_exception_handling'
/home/user/.rvm/gems/ruby-2.3.0@global/gems/rake-10.4.2/lib/rake/application.rb:75:in `run'
/home/user/.rvm/gems/ruby-2.3.0@global/gems/rake-10.4.2/bin/rake:33:in `<top (required)>'
/home/user/.rvm/rubies/ruby-2.3.0/bin/rake:23:in `load'
/home/user/.rvm/rubies/ruby-2.3.0/bin/rake:23:in `<main>'
Tasks: TOP => serverspec:Ansible-vpn-satellite
juju4 commented 8 years ago

Sorry, issue was temporary. works now. And related to ansible_spec of course.