Mentions légales du service

Skip to content
Snippets Groups Projects
Commit b65cb0f4 authored by DELABROYE Dimitri's avatar DELABROYE Dimitri
Browse files

[lib/gen/wiki/site_hardware] enhancement for bug #12343

parent 9d7f59e0
No related branches found
No related tags found
1 merge request!141[lib/gen/wiki/site_hardware] enhancement for bug #12343
Pipeline #180247 passed
...@@ -10,13 +10,22 @@ class SiteHardwareGenerator < WikiGenerator ...@@ -10,13 +10,22 @@ class SiteHardwareGenerator < WikiGenerator
end end
def generate_content def generate_content
has_reservable_disks = false
G5K::get_global_hash['sites'][@site]['clusters'].each do |_,c|
c['nodes'].each do |_,n|
n['storage_devices'].each do |d|
has_reservable_disks ||= d['reservation']
end
end
end
@generated_content = "__NOTOC__\n__NOEDITSECTION__\n" + @generated_content = "__NOTOC__\n__NOEDITSECTION__\n" +
"{{Portal|User}}\n" + "{{Portal|User}}\n" +
"<div class=\"sitelink\">[[Hardware|Global]] | " + G5K::SITES.map { |e| "[[#{e.capitalize}:Hardware|#{e.capitalize}]]" }.join(" | ") + "</div>\n" + "<div class=\"sitelink\">[[Hardware|Global]] | " + G5K::SITES.map { |e| "[[#{e.capitalize}:Hardware|#{e.capitalize}]]" }.join(" | ") + "</div>\n" +
"\n= Summary =\n" + "\n= Summary =\n" +
"'''#{generate_oneline_summary}'''\n" + "'''#{generate_oneline_summary}'''\n" +
self.class.generate_summary(@site, false) + self.class.generate_summary(@site, false) +
"''*: disk is [[Disk_reservation|reservable]]''" + (has_reservable_disks ? "''*: disk is [[Disk_reservation|reservable]]''" : '') +
self.class.generate_description(@site) + self.class.generate_description(@site) +
MW.italic(MW.small(generated_date_string)) + MW.italic(MW.small(generated_date_string)) +
MW::LINE_FEED MW::LINE_FEED
...@@ -257,7 +266,9 @@ def get_hardware(sites) ...@@ -257,7 +266,9 @@ def get_hardware(sites)
} }
end end
has_reservable_disks = false
hard['storage_description'] = storage_description.sort_by!{ |d| known_devices_name.index(d['device'])}.map { |e| hard['storage_description'] = storage_description.sort_by!{ |d| known_devices_name.index(d['device'])}.map { |e|
has_reservable_disks ||= e['reservation']
[ [
e['count'] > 1 ? "\n*" : '', e['count'] > 1 ? "\n*" : '',
G5K.get_size(e['size'],'metric'), G5K.get_size(e['size'],'metric'),
...@@ -265,11 +276,15 @@ def get_hardware(sites) ...@@ -265,11 +276,15 @@ def get_hardware(sites)
e['interface'], e['interface'],
e['vendor'], e['vendor'],
e['model'], e['model'],
' (path: ' + (e['path'] || 'MISSING') + ', disk name in std environment*: ' + e['device'] + ')', '(dev: /dev/' + e['device'] + (e['reservation'] ? '*' : '') + ', by-path: ' + (e['path'] || 'MISSING') + ')',
e['reservation'] ? '[[Disk_reservation|(reservable)]]' : '', e['reservation'] ? '[[Disk_reservation|(reservable)]]' : '',
e['device'] == 'sda' ? '(primary disk)' : '' e['device'] == 'sda' ? '(primary disk)' : ''
].join(' ') ].join(' ')
}.join('<br />') + "<br /> \n''*the name of the disk may vary depending on the disks reserved/environment''" }.join('<br />')
if has_reservable_disks
hard['storage_description'] += "<br /> \n''*: the disk block device name /dev/sd? may vary in deployed environments, prefer referring to the by-path identifier''"
end
network = node_hash['network_adapters'].select { |v| network = node_hash['network_adapters'].select { |v|
v['management'] == false && v['management'] == false &&
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment