Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
grid5000
reference-repository
Commits
2597f6d9
Commit
2597f6d9
authored
May 19, 2018
by
Lucas Nussbaum
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[dev/wiki] add NIC model to site hardware page
parent
81365eee
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
22 additions
and
2 deletions
+22
-2
generators/wiki/lib/generators/site_hardware.rb
generators/wiki/lib/generators/site_hardware.rb
+22
-2
No files found.
generators/wiki/lib/generators/site_hardware.rb
View file @
2597f6d9
...
...
@@ -209,8 +209,28 @@ def get_hardware(sites)
network
=
node_hash
[
'network_adapters'
].
select
{
|
k
,
v
|
v
[
'management'
]
==
false
}.
map
{
|
k
,
v
|
{
'rate'
=>
v
[
'rate'
],
'interface'
=>
v
[
'interface'
],
'used'
=>
(
v
[
'enabled'
]
and
(
v
[
'mounted'
]
or
v
[
'mountable'
]))
}
}
hard
[
'used_networks'
]
=
network
.
select
{
|
e
|
e
[
'used'
]
==
true
}.
each_with_object
(
Hash
.
new
(
0
))
{
|
data
,
counts
|
counts
[
data
]
+=
1
}.
to_a
.
sort_by
{
|
e
|
e
[
0
][
'rate'
].
to_f
}.
map
{
|
e
|
get_network_info
(
e
,
false
)
}.
join
(
'+ '
)
hard
[
'network_throughput'
]
=
network
.
select
{
|
e
|
e
[
'used'
]
==
true
}.
inject
(
0
){
|
sum
,
v
|
sum
+
(
v
[
'rate'
].
to_f
/
10
**
6
).
floor
}.
to_s
# round to Mbps
network_description
=
node_hash
[
'network_adapters'
].
select
{
|
k
,
v
|
v
[
'management'
]
==
false
}.
map
{
|
k
,
v
|
{
'device'
=>
k
,
'name'
=>
v
[
'name'
],
'rate'
=>
v
[
'rate'
],
'interface'
=>
v
[
'interface'
],
'driver'
=>
v
[
'driver'
],
'unwired'
=>
v
[
'enabled'
]
==
false
,
'unavailable_for_experiment'
=>
v
[
'mountable'
]
==
false
,
'no_kavlan'
=>
(
v
[
'interface'
]
==
'Ethernet'
&&
v
[
'mountable'
]
==
true
&&
v
[
'kavlan'
]
==
false
),
'count'
=>
node_hash
[
'network_adapters'
].
count
}
}.
sort_by
{
|
e
|
e
[
'device'
]
}
hard
[
'network_description'
]
=
network_description
.
map
{
|
e
|
((
e
[
'count'
]
>
1
?
[
"
\n
*"
]
:
[])
+
(
e
[
'unavailable_for_experiment'
]
?
[
'<span style="color:grey">'
]
:
[])
+
(
e
[
'name'
].
nil?
?
[
e
[
'device'
]
+
','
]
:
[
e
[
'device'
]
+
"/"
+
e
[
'name'
]
+
','
])
+
[
e
[
'interface'
],
'(driver: '
+
e
[
'driver'
]
+
'),'
,
'configured rate: '
+
(
e
[
'unwired'
]
?
'n/c'
:
G5K
.
get_rate
(
e
[
'rate'
])),
(
'- unavailable for experiment'
if
e
[
'unavailable_for_experiment'
]),
(
'- no KaVLAN'
if
e
[
'no_kavlan'
]),
e
[
'unavailable_for_experiment'
]
?
'</span>'
:
''
]).
join
(
' '
)
}.
join
(
'<br />'
)
network_description
=
node_hash
[
'network_adapters'
].
select
{
|
k
,
v
|
v
[
'management'
]
==
false
}.
map
{
|
k
,
v
|
{
'device'
=>
k
,
'name'
=>
v
[
'name'
],
'rate'
=>
v
[
'rate'
],
'interface'
=>
v
[
'interface'
],
'driver'
=>
v
[
'driver'
],
'unwired'
=>
v
[
'enabled'
]
==
false
,
'unavailable_for_experiment'
=>
v
[
'mountable'
]
==
false
,
'no_kavlan'
=>
(
v
[
'interface'
]
==
'Ethernet'
&&
v
[
'mountable'
]
==
true
&&
v
[
'kavlan'
]
==
false
),
'model'
=>
(
v
[
'vendor'
]
||
'N/A'
)
+
' '
+
(
v
[
'model'
]
||
'N/A'
),
'count'
=>
node_hash
[
'network_adapters'
].
count
}
}.
sort_by
{
|
e
|
e
[
'device'
]
}
hard
[
'network_description'
]
=
network_description
.
map
do
|
e
|
s
=
e
[
'count'
]
>
1
?
"
\n
* "
:
''
s
+=
e
[
'unavailable_for_experiment'
]
?
'<span style="color:grey">'
:
''
s
+=
e
[
'name'
].
nil?
?
e
[
'device'
]
:
e
[
'device'
]
+
"/"
+
e
[
'name'
]
s
+=
', '
s
+=
e
[
'interface'
]
s
+=
', '
if
!
(
e
[
'unwired'
]
and
e
[
'unavailable_for_experiment'
])
s
+=
'configured rate: '
+
(
e
[
'unwired'
]
?
'n/c'
:
G5K
.
get_rate
(
e
[
'rate'
]))
s
+=
', '
end
if
!
(
e
[
'model'
]
==
'N/A N/A'
and
e
[
'unavailable_for_experiment'
])
# don't include interface model if not available
e
[
'model'
]
=
'N/A'
if
e
[
'model'
]
==
'N/A N/A'
s
+=
'model: '
+
e
[
'model'
]
+
', '
end
s
+=
'driver: '
+
e
[
'driver'
]
s
+=
' - unavailable for experiment'
if
e
[
'unavailable_for_experiment'
]
s
+=
' - no KaVLAN'
if
e
[
'no_kavlan'
]
s
+=
e
[
'unavailable_for_experiment'
]
?
'</span>'
:
''
s
end
.
join
(
'<br />'
)
gpu
=
node_hash
[
'gpu'
]
hard
[
'gpu_str'
]
=
if
gpu
&&
gpu
[
'gpu'
]
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment