Mentions légales du service
Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
R
reference-repository
Manage
Activity
Members
Labels
Plan
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
grid5000
reference-repository
Merge requests
!1164
[lib] add valid:duplicate-values: check for duplicate MAC, IP, IPv6 in generated data
Code
Review changes
Check out branch
Download
Patches
Plain diff
Open
[lib] add valid:duplicate-values: check for duplicate MAC, IP, IPv6 in generated data
dupval
into
master
Overview
0
Commits
1
Pipelines
2
Changes
3
Open
Lucas Nussbaum
requested to merge
dupval
into
master
3 weeks ago
Overview
0
Commits
1
Pipelines
2
Changes
3
Expand
0
0
Merge request reports
Compare
master
version 1
097d3d17
3 weeks ago
master (HEAD)
and
latest version
latest version
0477bdb8
1 commit,
3 weeks ago
version 1
097d3d17
1 commit,
3 weeks ago
3 files
+
68
−
1
Inline
Compare changes
Side-by-side
Inline
Show whitespace changes
Show one file at a time
Files
3
Search (e.g. *.vue) (Ctrl+P)
lib/refrepo/valid/duplicate_values.rb
0 → 100644
+
55
−
0
Options
require
'refrepo/data_loader'
def
check_duplicate_values
(
_options
)
netifs
=
[]
refapi
=
load_data_hierarchy
refapi
[
'sites'
].
each_pair
do
|
site_uid
,
site
|
site
[
'clusters'
].
each_pair
do
|
cluster_uid
,
cluster
|
cluster
[
'nodes'
].
to_h
.
each
do
|
node_uid
,
node
|
node
[
'network_adapters'
].
each
do
|
na
|
netifs
<<
{
:site
=>
site_uid
,
:cluster
=>
cluster_uid
,
:node
=>
node_uid
,
:iface
=>
na
[
'name'
],
:ip
=>
na
[
'ip'
],
:ip6
=>
na
[
'ip6'
],
:mac
=>
na
[
'mac'
].
downcase
,
:mounted
=>
na
[
'mounted'
],
:mountable
=>
na
[
'mountable'
]
}
end
end
end
end
ret
=
true
dupe_macs
=
netifs
.
group_by
{
|
e
|
e
[
:mac
]
}.
to_a
.
select
{
|
e
|
e
[
1
].
length
>
1
}
if
not
dupe_macs
.
empty?
ret
=
false
dupe_macs
.
each
do
|
e
|
puts
"ERROR: MAC
#{
e
[
0
]
}
is used by several nodes:"
puts
e
[
1
].
map
{
|
n
|
n
.
to_s
}.
join
(
"
\n
"
)
end
end
dupe_ips
=
netifs
.
select
{
|
e
|
e
[
:ip
]
}.
group_by
{
|
e
|
e
[
:ip
]
}.
to_a
.
select
{
|
e
|
e
[
1
].
length
>
1
}
if
not
dupe_ips
.
empty?
ret
=
false
dupe_ips
.
each
do
|
e
|
puts
"ERROR: IP
#{
e
[
0
]
}
is used by several nodes:"
puts
e
[
1
].
map
{
|
n
|
n
.
to_s
}.
join
(
"
\n
"
)
end
end
dupe_ip6s
=
netifs
.
select
{
|
e
|
e
[
:ip6
]
}.
group_by
{
|
e
|
e
[
:ip6
]
}.
to_a
.
select
{
|
e
|
e
[
1
].
length
>
1
}
if
not
dupe_ips
.
empty?
ret
=
false
dupe_ip6s
.
each
do
|
e
|
puts
"ERROR: IPv6
#{
e
[
0
]
}
is used by several nodes:"
puts
e
[
1
].
map
{
|
n
|
n
.
to_s
}.
join
(
"
\n
"
)
end
end
return
ret
end
Loading