Mentions légales du service

Skip to content
Snippets Groups Projects
Commit 3a2c8c08 authored by Pierre Neyron's avatar Pierre Neyron :bicyclist:
Browse files

[gen:puppet:bindg5k] Fix the CNAME generation (sort error)

The fix does not change anything for the generation before adding
estats-N-bmc, but fixes the following error for the generation with it.

$ bundle exec rake gen:puppet:bindg5k SITE=toulouse --trace
** Invoke gen:puppet:bindg5k (first_time)
** Execute gen:puppet:bindg5k
Writing DNS configuration files to: /home/neyron/.gpuppet/repo
For site(s): toulouse
Note: if you modify *-manual.db files you will have to manually update
the serial in managed db file for changes to be applied
rake aborted!
ArgumentError: comparison of String with Array failed
/home/neyron/scm/g5k/reference-repository/lib/refrepo/gen/puppet/bindg5k.rb:408:in
`sort_by'
/home/neyron/scm/g5k/reference-repository/lib/refrepo/gen/puppet/bindg5k.rb:408:in
`sort_by!'
/home/neyron/scm/g5k/reference-repository/lib/refrepo/gen/puppet/bindg5k.rb:408:in
`sort_records'
/home/neyron/scm/g5k/reference-repository/lib/refrepo/gen/puppet/bindg5k.rb:691:in
`block in compute_reverse_records'
/home/neyron/scm/g5k/reference-repository/lib/refrepo/gen/puppet/bindg5k.rb:689:in
`each'
/home/neyron/scm/g5k/reference-repository/lib/refrepo/gen/puppet/bindg5k.rb:689:in
`compute_reverse_records'
/home/neyron/scm/g5k/reference-repository/lib/refrepo/gen/puppet/bindg5k.rb:726:in
`generate_internal_site_data'
/home/neyron/scm/g5k/reference-repository/lib/refrepo/gen/puppet/bindg5k.rb:878:in
`block in generate_puppet_bindg5k'
/home/neyron/scm/g5k/reference-repository/lib/refrepo/gen/puppet/bindg5k.rb:873:in
`each'
/home/neyron/scm/g5k/reference-repository/lib/refrepo/gen/puppet/bindg5k.rb:873:in
`generate_puppet_bindg5k'
/home/neyron/scm/g5k/reference-repository/Rakefile:222:in `block (4
levels) in <top (required)>'
/home/neyron/scm/g5k/reference-repository/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:281:in
`block in execute'
/home/neyron/scm/g5k/reference-repository/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:281:in
`each'
/home/neyron/scm/g5k/reference-repository/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:281:in
`execute'
/home/neyron/scm/g5k/reference-repository/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:219:in
`block in invoke_with_call_chain'
/home/neyron/scm/g5k/reference-repository/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:199:in
`synchronize'
/home/neyron/scm/g5k/reference-repository/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:199:in
`invoke_with_call_chain'
/home/neyron/scm/g5k/reference-repository/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/task.rb:188:in
`invoke'
/home/neyron/scm/g5k/reference-repository/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:160:in
`invoke_task'
/home/neyron/scm/g5k/reference-repository/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:116:in
`block (2 levels) in top_level'
/home/neyron/scm/g5k/reference-repository/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:116:in
`each'
/home/neyron/scm/g5k/reference-repository/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:116:in
`block in top_level'
/home/neyron/scm/g5k/reference-repository/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:125:in
`run_with_threads'
/home/neyron/scm/g5k/reference-repository/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:110:in
`top_level'
/home/neyron/scm/g5k/reference-repository/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:83:in
`block in run'
/home/neyron/scm/g5k/reference-repository/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:186:in
`standard_exception_handling'
/home/neyron/scm/g5k/reference-repository/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/lib/rake/application.rb:80:in
`run'
/home/neyron/scm/g5k/reference-repository/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/exe/rake:27:in
`<top (required)>'
/home/neyron/scm/g5k/reference-repository/vendor/bundle/ruby/2.7.0/bin/rake:23:in
`load'
/home/neyron/scm/g5k/reference-repository/vendor/bundle/ruby/2.7.0/bin/rake:23:in
`<main>'
Tasks: TOP => gen:puppet:bindg5k
parent abe53c72
No related branches found
No related tags found
1 merge request!517Fix CNAME generation issue + create CNAME for estats-N-bmc -> oobm
Pipeline #854784 passed
......@@ -406,18 +406,18 @@ def sort_records(records)
sorted_records += ptr
#Sort CNAMES by node_id for node, node_id then kavlan number for node kavlan entry or finally by label
cnames.sort_by!{ |record|
sort_by = record.label
sort_by = [ record.label ]
label_array = record.label.split("-")
if label_array.length > 1 and label_array[1] !~ /\D/
sort_by = (record.label.match(/ipv6/).nil? ? [0] : [1]) # -ipv6 at end
if label_array.length > 1 and label_array[1] !~ /\D/ #only digit: must be something related to a node!
sort_by = [ label_array[0] ]
sort_by << (record.label.match(/ipv6/).nil? ? 0 : 1) # -ipv6 at end
sort_by << label_array.length # sort by record 'type'
sort_by << record.label.scan(/-(\d+)-?/).flatten.map{ |i| i.to_i} # sort by node then kavlan number
intf = record.label.scan(/((eth|en)\w+)-?/).flatten.first # detect intf
unless intf.nil?
sort_by << (record.label.match(/eth/).nil? ? [1] : [0]) # ethX first
sort_by << (record.label.match(/eth/).nil? ? 1 : 0) # ethX first
sort_by << intf.scan(/\d+/).reverse.map{ |i| i.to_i } # sort intf
end
sort_by.flatten!
end
sort_by
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment