Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
truenas-rk3588
webui
Commits
d30f6206
Commit
d30f6206
authored
1 year ago
by
Damian Szidiropulosz
Browse files
Options
Download
Email Patches
Plain Diff
NAS-123778: Mack utility support for mini x/x+/e+
(cherry picked from commit
a76f6ab8
)
parent
105e77c5
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
scripts/ui/models.json
+12
-0
scripts/ui/models.json
src/app/core/testing/utils/enclosure-templates/mock-mini-3.0-e+.ts
+90
-0
...ore/testing/utils/enclosure-templates/mock-mini-3.0-e+.ts
src/app/core/testing/utils/enclosure-templates/mock-mini-3.0-x+.ts
+86
-0
...ore/testing/utils/enclosure-templates/mock-mini-3.0-x+.ts
src/app/core/testing/utils/enclosure-templates/mock-mini-3.0-x.ts
+97
-0
...core/testing/utils/enclosure-templates/mock-mini-3.0-x.ts
src/app/core/testing/utils/mock-storage-generator.utils.ts
+12
-0
src/app/core/testing/utils/mock-storage-generator.utils.ts
with
297 additions
and
0 deletions
+297
-0
scripts/ui/models.json
View file @
d30f6206
...
...
@@ -24,6 +24,18 @@
"model"
:
"MINI-R"
,
"systemProduct"
:
"TRUENAS-MINI-R"
},
"MINI-X"
:
{
"model"
:
"MINI-3.0-X"
,
"systemProduct"
:
"TRUENAS-MINI-3.0-X"
},
"MINI-X+"
:
{
"model"
:
"MINI-3.0-X+"
,
"systemProduct"
:
"TRUENAS-MINI-3.0-X+"
},
"MINI-E+"
:
{
"model"
:
"MINI-3.0-E+"
,
"systemProduct"
:
"TRUENAS-MINI-3.0-E+"
},
"MINI-XL+"
:
{
"model"
:
"MINI-3.0-XL+"
,
"systemProduct"
:
"TRUENAS-MINI-3.0-XL+"
...
...
This diff is collapsed.
Click to expand it.
src/app/core/testing/utils/enclosure-templates/mock-mini-3.0-e+.ts
0 → 100644
View file @
d30f6206
import
{
Enclosure
,
EnclosureElement
,
}
from
'
app/interfaces/enclosure.interface
'
;
import
{
MockEnclosure
}
from
'
./mock-enclosure-template
'
;
export
class
MockMini30Eplus
extends
MockEnclosure
{
readonly
totalSlotsFront
:
number
=
6
;
readonly
totalSlotsRear
:
number
=
0
;
readonly
totalSlotsInternal
:
number
=
0
;
readonly
emptySlotTemplate
:
EnclosureElement
=
{
slot
:
2
,
data
:
{
Descriptor
:
''
,
Status
:
'
Not installed
'
,
Value
:
'
None
'
,
Device
:
''
,
},
name
:
'
Array Device Slot
'
,
descriptor
:
''
,
status
:
'
Not installed
'
,
value
:
'
None
'
,
value_raw
:
'
0x5000000
'
,
original
:
{
enclosure_id
:
'
3000000000000001
'
,
slot
:
1
,
},
};
readonly
slotTemplate
:
EnclosureElement
=
{
slot
:
1
,
data
:
{
Descriptor
:
'
Disk #1
'
,
Status
:
'
OK
'
,
Value
:
'
None
'
,
Device
:
'
sdg
'
,
},
name
:
'
Array Device Slot
'
,
descriptor
:
'
Disk #1
'
,
status
:
'
OK
'
,
value
:
'
None
'
,
value_raw
:
'
0x1000000
'
,
original
:
{
enclosure_id
:
'
3000000000000001
'
,
slot
:
6
,
},
};
data
=
{
id
:
'
mapped_enclosure_0
'
,
name
:
'
Drive Bays
'
,
model
:
'
FREENAS-MINI-3.0-E+
'
,
controller
:
true
,
elements
:
[
{
name
:
'
Array Device Slot
'
,
descriptor
:
'
Drive Slots
'
,
header
:
[
'
Descriptor
'
,
'
Status
'
,
'
Value
'
,
'
Device
'
,
],
elements
:
[],
has_slot_status
:
false
,
},
],
number
:
0
,
label
:
'
Drive Bays
'
,
}
as
Enclosure
;
constructor
(
number
:
number
)
{
super
(
number
);
this
.
enclosureNumber
=
number
;
this
.
enclosureInit
();
}
processSlotTemplate
(
template
:
EnclosureElement
):
EnclosureElement
{
const
updatedTemplate
=
{
...
template
};
const
original
=
{
...
template
.
original
};
if
(
template
.
slot
>
4
)
{
original
.
slot
=
template
.
slot
-
4
;
}
else
{
original
.
slot
=
template
.
slot
;
}
updatedTemplate
.
original
=
original
;
return
updatedTemplate
;
}
}
This diff is collapsed.
Click to expand it.
src/app/core/testing/utils/enclosure-templates/mock-mini-3.0-x+.ts
0 → 100644
View file @
d30f6206
import
{
Enclosure
,
EnclosureElement
,
}
from
'
app/interfaces/enclosure.interface
'
;
import
{
MockEnclosure
}
from
'
./mock-enclosure-template
'
;
export
class
MockMini30Xplus
extends
MockEnclosure
{
readonly
totalSlotsFront
:
number
=
7
;
readonly
totalSlotsRear
:
number
=
0
;
readonly
totalSlotsInternal
:
number
=
0
;
readonly
emptySlotTemplate
:
EnclosureElement
=
{
slot
:
2
,
data
:
{
Descriptor
:
''
,
Status
:
'
Not installed
'
,
Value
:
'
None
'
,
Device
:
''
,
},
name
:
'
Array Device Slot
'
,
descriptor
:
''
,
status
:
'
Not installed
'
,
value
:
'
None
'
,
value_raw
:
'
0x5000000
'
,
original
:
{
enclosure_id
:
'
3000000000000001
'
,
slot
:
1
,
},
};
readonly
slotTemplate
:
EnclosureElement
=
{
slot
:
1
,
data
:
{
Descriptor
:
'
Disk #1
'
,
Status
:
'
OK
'
,
Value
:
'
None
'
,
Device
:
'
sdg
'
,
},
name
:
'
Array Device Slot
'
,
descriptor
:
'
Disk #1
'
,
status
:
'
OK
'
,
value
:
'
None
'
,
value_raw
:
'
0x1000000
'
,
original
:
{
enclosure_id
:
'
3000000000000001
'
,
slot
:
6
,
},
};
data
=
{
id
:
'
mapped_enclosure_0
'
,
name
:
'
Drive Bays
'
,
model
:
'
FREENAS-MINI-3.0-X+
'
,
controller
:
true
,
elements
:
[
{
name
:
'
Array Device Slot
'
,
descriptor
:
'
Drive Slots
'
,
header
:
[
'
Descriptor
'
,
'
Status
'
,
'
Value
'
,
'
Device
'
,
],
elements
:
[],
has_slot_status
:
false
,
},
],
number
:
0
,
label
:
'
Drive Bays
'
,
}
as
Enclosure
;
constructor
(
number
:
number
)
{
super
(
number
);
this
.
enclosureNumber
=
number
;
this
.
enclosureInit
();
}
processSlotTemplate
(
template
:
EnclosureElement
):
EnclosureElement
{
const
updatedTemplate
=
{
...
template
};
const
original
=
{
...
template
.
original
};
original
.
slot
=
template
.
slot
;
updatedTemplate
.
original
=
original
;
return
updatedTemplate
;
}
}
This diff is collapsed.
Click to expand it.
src/app/core/testing/utils/enclosure-templates/mock-mini-3.0-x.ts
0 → 100644
View file @
d30f6206
import
{
Enclosure
,
EnclosureElement
,
}
from
'
app/interfaces/enclosure.interface
'
;
import
{
MockEnclosure
}
from
'
./mock-enclosure-template
'
;
export
class
MockMini30X
extends
MockEnclosure
{
readonly
totalSlotsFront
:
number
=
7
;
readonly
totalSlotsRear
:
number
=
0
;
readonly
totalSlotsInternal
:
number
=
0
;
readonly
emptySlotTemplate
:
EnclosureElement
=
{
slot
:
2
,
data
:
{
Descriptor
:
''
,
Status
:
'
Not installed
'
,
Value
:
'
None
'
,
Device
:
''
,
},
name
:
'
Array Device Slot
'
,
descriptor
:
''
,
status
:
'
Not installed
'
,
value
:
'
None
'
,
value_raw
:
'
0x5000000
'
,
original
:
{
enclosure_id
:
'
3000000000000001
'
,
slot
:
1
,
},
};
readonly
slotTemplate
:
EnclosureElement
=
{
slot
:
1
,
data
:
{
Descriptor
:
'
Disk #1
'
,
Status
:
'
OK
'
,
Value
:
'
None
'
,
Device
:
'
sdg
'
,
},
name
:
'
Array Device Slot
'
,
descriptor
:
'
Disk #1
'
,
status
:
'
OK
'
,
value
:
'
None
'
,
value_raw
:
'
0x1000000
'
,
original
:
{
enclosure_id
:
'
3000000000000002
'
,
slot
:
6
,
},
};
data
=
{
id
:
'
mapped_enclosure_0
'
,
bsg
:
'
bsg/4:0:0:0
'
,
name
:
'
Drive Bays
'
,
model
:
'
FREENAS-MINI-3.0-X
'
,
controller
:
true
,
elements
:
[
{
name
:
'
Array Device Slot
'
,
descriptor
:
'
Drive Slots
'
,
header
:
[
'
Descriptor
'
,
'
Status
'
,
'
Value
'
,
'
Device
'
,
],
elements
:
[],
has_slot_status
:
false
,
},
],
number
:
0
,
label
:
'
Drive Bays
'
,
}
as
Enclosure
;
constructor
(
number
:
number
)
{
super
(
number
);
this
.
enclosureNumber
=
number
;
this
.
enclosureInit
();
}
processSlotTemplate
(
template
:
EnclosureElement
):
EnclosureElement
{
const
updatedTemplate
=
{
...
template
};
const
original
=
{
...
template
.
original
};
if
(
template
.
slot
===
7
)
{
original
.
slot
=
4
;
original
.
enclosure_id
=
'
3000000000000002
'
;
}
else
if
(
template
.
slot
>
4
)
{
original
.
slot
=
template
.
slot
-
4
;
original
.
enclosure_id
=
'
3000000000000002
'
;
}
else
{
original
.
slot
=
template
.
slot
;
original
.
enclosure_id
=
'
3000000000000001
'
;
}
updatedTemplate
.
original
=
original
;
return
updatedTemplate
;
}
}
This diff is collapsed.
Click to expand it.
src/app/core/testing/utils/mock-storage-generator.utils.ts
View file @
d30f6206
...
...
@@ -32,6 +32,9 @@ import { MockF60 } from './enclosure-templates/mock-f60';
import
{
MockM40
}
from
'
./enclosure-templates/mock-m40
'
;
import
{
MockM50
}
from
'
./enclosure-templates/mock-m50
'
;
import
{
MockM50Rear
}
from
'
./enclosure-templates/mock-m50-rear
'
;
import
{
MockMini30Eplus
}
from
'
./enclosure-templates/mock-mini-3.0-e+
'
;
import
{
MockMini30X
}
from
'
./enclosure-templates/mock-mini-3.0-x
'
;
import
{
MockMini30Xplus
}
from
'
./enclosure-templates/mock-mini-3.0-x+
'
;
import
{
MockMini30Xl
}
from
'
./enclosure-templates/mock-mini-3.0-xl+
'
;
import
{
MockMiniR
}
from
'
./enclosure-templates/mock-mini-r
'
;
import
{
MockR20
}
from
'
./enclosure-templates/mock-r20
'
;
...
...
@@ -652,6 +655,15 @@ export class MockStorageGenerator {
case
'
MINI-R
'
:
chassis
=
new
MockMiniR
(
enclosureNumber
);
break
;
case
'
MINI-3.0-E+
'
:
chassis
=
new
MockMini30Eplus
(
enclosureNumber
);
break
;
case
'
MINI-3.0-X
'
:
chassis
=
new
MockMini30X
(
enclosureNumber
);
break
;
case
'
MINI-3.0-X+
'
:
chassis
=
new
MockMini30Xplus
(
enclosureNumber
);
break
;
case
'
MINI-3.0-XL+
'
:
chassis
=
new
MockMini30Xl
(
enclosureNumber
);
break
;
...
...
This diff is collapsed.
Click to expand it.
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