Skip to content

Commit e1ea06c

Browse files
jvallexmGitHub Enterprise
authored andcommitted
Shared pools & placement groups (#1946)
* feat: json to iac processor pools * feat: json to iac processor pools * state * kebab name * feat: schema * schema * feat: page working * feat: page working * feat: front-end * fix: input change * feat: placement json-to-iac * feat: placement group begin * remove incompatable processor pools * feat: placement group schema * escape sequence to the end * snake case * snake case & no - * snake case & no - * snake case & no - * fix: braces version * lazy-z cidr fix * lazy-z cidr fix * feat: state methods * update docs * feat: placement group page * sp * fix: outputs * fix: sp * fix: save * merge
1 parent b0cc61c commit e1ea06c

34 files changed

+1806
-68
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,14 @@ All notable changes to this project will be documented in this file.
66

77
### Features
88

9+
- Users can now create Power VS Shared Processor Pools from the `/form/powerSharedPools` page
10+
- Users can now create Power VS Placement Groups from the `/form/powerPlacemetGroups` page
911
- FalconStor VTL now dynamically retrieves available machine types based on the zone selected
1012

13+
### Fixes
14+
15+
- Fixed an issue causing CIDR blocks and IP addressess ending in a number 200 or greater to be incorrectly flagged as invalid
16+
1117
## 1.15.6
1218

1319
### Upgrade Notes

client/package-lock.json

Lines changed: 13 additions & 13 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

client/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
"html-to-image": "^1.11.11",
2727
"json-to-tf": "^0.3.1",
2828
"jszip": "^3.10.1",
29-
"lazy-z": "1.12.0",
29+
"lazy-z": "1.12.1",
3030
"react": "^18.0.0",
3131
"react-chartjs-2": "^5.2.0",
3232
"react-dom": "^18.0.0",

client/src/components/page-template/PageTemplate.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ import {
4747
SecurityServices,
4848
InstanceClassic,
4949
IbmCloudBareMetalServer,
50+
GroupObjects,
51+
ScreenMapSet,
5052
} from "@carbon/icons-react";
5153
import f5 from "../../images/f5.png";
5254
import {
@@ -71,6 +73,8 @@ function F5Icon() {
7173
const releaseNotes = require("../../lib/docs/release-notes.json");
7274
const navCategories = require("../../lib/nav-catagories");
7375
const navIcons = {
76+
ScreenMapSet: ScreenMapSet,
77+
GroupObjects: GroupObjects,
7478
IbmCloudKeyProtect: IbmCloudKeyProtect,
7579
ObjectStorage: ObjectStorage,
7680
VirtualPrivateCloud: VirtualPrivateCloud,

client/src/components/pages/CraigForms.js

Lines changed: 34 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1122,6 +1122,8 @@ function craigForms(craig) {
11221122
{
11231123
sap: craig.power_instances.sap,
11241124
sap_profile: craig.power_instances.sap_profile,
1125+
pi_shared_processor_pool:
1126+
craig.power_instances.pi_shared_processor_pool,
11251127
},
11261128
{
11271129
name: craig.power_instances.name,
@@ -1144,14 +1146,15 @@ function craigForms(craig) {
11441146
pi_processors: craig.power_instances.pi_processors,
11451147
pi_memory: craig.power_instances.pi_memory,
11461148
},
1149+
{
1150+
pi_health_status: craig.power_instances.pi_health_status,
1151+
pi_placement_group_id: craig.power_instances.pi_placement_group_id,
1152+
},
11471153
{
11481154
pi_ibmi_css: craig.power_instances.pi_ibmi_css,
11491155
pi_ibmi_pha: craig.power_instances.pi_ibmi_pha,
11501156
pi_ibmi_rds_users: craig.power_instances.pi_ibmi_rds_users,
11511157
},
1152-
{
1153-
pi_health_status: craig.power_instances.pi_health_status,
1154-
},
11551158
{
11561159
heading: {
11571160
name: "Boot Volume",
@@ -1190,6 +1193,34 @@ function craigForms(craig) {
11901193
},
11911194
],
11921195
},
1196+
power_placement_groups: {
1197+
groups: [
1198+
{
1199+
name: craig.power_placement_groups.name,
1200+
workspace: craig.power_placement_groups.workspace,
1201+
},
1202+
{
1203+
pi_placement_group_policy:
1204+
craig.power_placement_groups.pi_placement_group_policy,
1205+
},
1206+
],
1207+
},
1208+
power_shared_processor_pools: {
1209+
groups: [
1210+
{
1211+
name: craig.power_shared_processor_pools.name,
1212+
workspace: craig.power_shared_processor_pools.workspace,
1213+
},
1214+
{
1215+
pi_shared_processor_pool_reserved_cores:
1216+
craig.power_shared_processor_pools
1217+
.pi_shared_processor_pool_reserved_cores,
1218+
pi_shared_processor_pool_host_group:
1219+
craig.power_shared_processor_pools
1220+
.pi_shared_processor_pool_host_group,
1221+
},
1222+
],
1223+
},
11931224
power_volumes: {
11941225
groups: [
11951226
{

client/src/components/pages/FormPages.js

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -830,6 +830,43 @@ const PowerVsInstances = (craig) => {
830830
});
831831
};
832832

833+
const PowerVsPlacementGroups = (craig) => {
834+
return formPageTemplate(craig, {
835+
name: "Power VS Placement Groups",
836+
addText: "Create a Group",
837+
jsonField: "power_placement_groups",
838+
overrideTile: !craig.store.json._options.enable_power_vs ? (
839+
<NoPowerNetworkTile />
840+
) : craig.store.json.power.length === 0 ? (
841+
<NoPowerWorkspaceTile />
842+
) : undefined,
843+
hideFormTitleButton:
844+
!craig.store.json._options.enable_power_vs ||
845+
craig.store.json.power.length === 0,
846+
formName: "Power VS PlacementGroups",
847+
});
848+
};
849+
850+
const PowerVsSharedPools = (craig) => {
851+
return formPageTemplate(craig, {
852+
name: "Power VS Shared Processor Pools",
853+
addText: "Create a Pool",
854+
jsonField: "power_shared_processor_pools",
855+
overrideTile: !craig.store.json._options.enable_power_vs ? (
856+
<NoPowerNetworkTile />
857+
) : craig.store.json.power.length === 0 ? (
858+
<NoPowerWorkspaceTile />
859+
) : undefined,
860+
hideFormTitleButton:
861+
!craig.store.json._options.enable_power_vs ||
862+
craig.store.json.power.length === 0,
863+
formName: "Power VS Shared Processor Pools",
864+
innerFormProps: {
865+
powerStoragePoolMap: powerStoragePoolRegionMap,
866+
},
867+
});
868+
};
869+
833870
const PowerVsVolumes = (craig) => {
834871
return formPageTemplate(craig, {
835872
name: "Power VS Storage Volumes",
@@ -1399,6 +1436,10 @@ export const NewFormPage = (props) => {
13991436
return PowerInfraPage(craig);
14001437
} else if (form === "powerInstances") {
14011438
return PowerVsInstances(craig);
1439+
} else if (form === "powerPlacementGroups") {
1440+
return PowerVsPlacementGroups(craig);
1441+
} else if (form === "powerSharedPools") {
1442+
return PowerVsSharedPools(craig);
14021443
} else if (form === "powerVolumes") {
14031444
return PowerVsVolumes(craig);
14041445
} else if (form === "resourceGroups") {

client/src/lib/constants.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,10 @@ module.exports = {
5151
exp
5252
.group((exp) => exp.set("a-z0-9-").or().literal("\\").any())
5353
.anyNumber()
54-
.set("a-z0-9");
54+
.set("a-z0-9")
55+
.or()
56+
.literal("\\")
57+
.any();
5558
})
5659
.anyNumber();
5760
})

client/src/lib/docs/docs.json

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2536,5 +2536,21 @@
25362536
]
25372537
],
25382538
"last_updated": "3/20/2024"
2539+
},
2540+
"power_shared_processor_pools": {
2541+
"content": [
2542+
{
2543+
"text": "NYI"
2544+
}
2545+
],
2546+
"relatedLinks": []
2547+
},
2548+
"power_placement_groups": {
2549+
"content": [
2550+
{
2551+
"text": "NYI"
2552+
}
2553+
],
2554+
"relatedLinks": []
25392555
}
25402556
}

client/src/lib/docs/release-notes.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,13 @@
22
{
33
"version": "1.16.0",
44
"features": [
5+
"Users can now create Power VS Shared Processor Pools from the `/form/powerSharedPools` page",
6+
"Users can now create Power VS Placement Groups from the `/form/powerPlacemetGroups` page",
57
"FalconStor VTL now dynamically retrieves available machine types based on the zone selected"
68
],
7-
"fixes": [],
9+
"fixes": [
10+
"Fixed an issue causing CIDR blocks and IP addressess ending in a number 200 or greater to be incorrectly flagged as invalid"
11+
],
812
"upgrade_notes": []
913
},
1014
{

client/src/lib/docs/templates/oracle-rac.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -315,7 +315,9 @@
315315
"pi_user_data": null,
316316
"pi_pin_policy": "none",
317317
"pi_license_repository_capacity": null,
318-
"index": 0
318+
"index": 0,
319+
"pi_shared_processor_pool": "None",
320+
"pi_placement_group_id": "None"
319321
},
320322
{
321323
"name": "oracle-2",
@@ -361,7 +363,9 @@
361363
"pi_user_data": null,
362364
"pi_pin_policy": "none",
363365
"pi_license_repository_capacity": null,
364-
"index": 1
366+
"index": 1,
367+
"pi_shared_processor_pool": "None",
368+
"pi_placement_group_id": "None"
365369
}
366370
],
367371
"power_volumes": [

0 commit comments

Comments
 (0)