network_monitoring: make sure 'interfaces' always exist
When running rake gen:puppet:network_monitoring
on master with up to date puppet and platforms/production repos I ran into the following error:
$ rake gen:puppet:network_monitoring
rake aborted!
NoMethodError: undefined method `find' for nil:NilClass
/home/fifi/dev/reference-repository/lib/refrepo/gen/puppet/network_monitoring.rb:70:in `block (4 levels) in generate_puppet_network_monitoring'
/home/fifi/dev/reference-repository/lib/refrepo/gen/puppet/network_monitoring.rb:64:in `each'
/home/fifi/dev/reference-repository/lib/refrepo/gen/puppet/network_monitoring.rb:64:in `block (3 levels) in generate_puppet_network_monitoring'
/home/fifi/dev/reference-repository/lib/refrepo/gen/puppet/network_monitoring.rb:61:in `each'
/home/fifi/dev/reference-repository/lib/refrepo/gen/puppet/network_monitoring.rb:61:in `block (2 levels) in generate_puppet_network_monitoring'
/home/fifi/dev/reference-repository/lib/refrepo/gen/puppet/network_monitoring.rb:30:in `each'
/home/fifi/dev/reference-repository/lib/refrepo/gen/puppet/network_monitoring.rb:30:in `block in generate_puppet_network_monitoring'
/home/fifi/dev/reference-repository/lib/refrepo/gen/puppet/network_monitoring.rb:17:in `each'
/home/fifi/dev/reference-repository/lib/refrepo/gen/puppet/network_monitoring.rb:17:in `generate_puppet_network_monitoring'
/home/fifi/dev/reference-repository/Rakefile:222:in `block (4 levels) in <top (required)>'
Tasks: TOP => gen:puppet:network_monitoring
(See full trace by running task with --trace)
A quick byebug inspection gave the following net_hosts_eq
:
(byebug) net_hosts_eq
{"name"=>"sw-estats.toulouse.grid5000.fr", "address"=>"172.17.127.252", "has_ospf"=>false, "disabled_checks"=>["cpu_load", "hardware_health"]}
I'm not sure if this is the appropriate fix, but making sure interfaces
always exist (at least with an empty array) seems to make the generation succeed.
Merge request reports
Activity
Please register or sign in to reply