@openshift-assisted/ui-lib 2.54.1 → 2.55.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/@types/cim/components/modals/CimConfiguration/CimStorageMissingAlert.d.ts.map +1 -1
- package/build/@types/cim/components/modals/CimConfiguration/constants.d.ts +1 -1
- package/build/@types/common/components/clusterConfiguration/DiscoveryImageConfigForm.d.ts.map +1 -1
- package/build/@types/common/components/clusterConfiguration/utils.d.ts +9 -1
- package/build/@types/common/components/clusterConfiguration/utils.d.ts.map +1 -1
- package/build/@types/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.d.ts.map +1 -1
- package/build/@types/common/components/clusterWizard/networkingSteps/StackTypeControlGroup.d.ts.map +1 -1
- package/build/@types/common/components/operators/operatorSpecs.d.ts.map +1 -1
- package/build/@types/common/config/docs_links.d.ts.map +1 -1
- package/build/@types/common/utils.d.ts.map +1 -1
- package/build/@types/ocm/components/Routes.d.ts +1 -1
- package/build/@types/ocm/components/Routes.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.d.ts +10 -2
- package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/review/ReviewNetworkingTable.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/review/utils.d.ts +1 -1
- package/build/@types/ocm/components/clusterConfiguration/review/utils.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterDetail/AssistedInstallerDetailCard.d.ts +1 -1
- package/build/@types/ocm/components/clusterDetail/AssistedInstallerDetailCard.d.ts.map +1 -1
- package/build/@types/ocm/components/ui/Buttons/BackButton.d.ts +1 -1
- package/build/@types/ocm/components/ui/Buttons/BackButton.d.ts.map +1 -1
- package/build/@types/ocm/store/hooks.d.ts +1 -1
- package/build/@types/ocm/store/slices/clusters/selectors.d.ts +5 -61
- package/build/@types/ocm/store/slices/clusters/selectors.d.ts.map +1 -1
- package/build/@types/ocm/store/slices/feature-flags/selectors.d.ts +2 -20
- package/build/@types/ocm/store/slices/feature-flags/selectors.d.ts.map +1 -1
- package/build/@types/ocm/store/slices/infra-envs/selectors.d.ts +4 -21
- package/build/@types/ocm/store/slices/infra-envs/selectors.d.ts.map +1 -1
- package/build/cjs/cim/components/Agent/NoAgentsAlert.js +2 -2
- package/build/cjs/cim/components/Agent/NoAgentsAlert.js.map +1 -1
- package/build/cjs/cim/components/Agent/tableColumns.js +3 -3
- package/build/cjs/cim/components/Agent/tableColumns.js.map +1 -1
- package/build/cjs/cim/components/ClusterDeployment/ClusterInstallationError.js +1 -1
- package/build/cjs/cim/components/ClusterDeployment/ClusterInstallationError.js.map +1 -1
- package/build/cjs/cim/components/Hypershift/DetailsPage/NodePoolsTable.js +2 -2
- package/build/cjs/cim/components/Hypershift/DetailsPage/NodePoolsTable.js.map +1 -1
- package/build/cjs/cim/components/InfraEnv/AddHostDropdown.js +2 -2
- package/build/cjs/cim/components/InfraEnv/AddHostDropdown.js.map +1 -1
- package/build/cjs/cim/components/InfraEnv/InfraEnvFormPage.js +1 -1
- package/build/cjs/cim/components/InfraEnv/InfraEnvFormPage.js.map +1 -1
- package/build/cjs/cim/components/modals/CimConfiguration/CimConfigProgressAlert.js +3 -3
- package/build/cjs/cim/components/modals/CimConfiguration/CimConfigProgressAlert.js.map +1 -1
- package/build/cjs/cim/components/modals/CimConfiguration/CimConfigurationFormFields.js +1 -1
- package/build/cjs/cim/components/modals/CimConfiguration/CimConfigurationFormFields.js.map +1 -1
- package/build/cjs/cim/components/modals/CimConfiguration/CimConfigurationModal.js +2 -2
- package/build/cjs/cim/components/modals/CimConfiguration/CimConfigurationModal.js.map +1 -1
- package/build/cjs/cim/components/modals/CimConfiguration/CimStorageMissingAlert.js +4 -4
- package/build/cjs/cim/components/modals/CimConfiguration/CimStorageMissingAlert.js.map +1 -1
- package/build/cjs/cim/components/modals/CimConfiguration/constants.js +1 -1
- package/build/cjs/cim/components/modals/MassDeleteAgentModal.js +2 -2
- package/build/cjs/cim/components/modals/MassDeleteAgentModal.js.map +1 -1
- package/build/cjs/common/components/clusterConfiguration/DiscoveryImageConfigForm.js +1 -1
- package/build/cjs/common/components/clusterConfiguration/DiscoveryImageConfigForm.js.map +1 -1
- package/build/cjs/common/components/clusterConfiguration/DownloadIso.js +1 -1
- package/build/cjs/common/components/clusterConfiguration/DownloadIso.js.map +1 -1
- package/build/cjs/common/components/clusterConfiguration/utils.js +13 -1
- package/build/cjs/common/components/clusterConfiguration/utils.js.map +1 -1
- package/build/cjs/common/components/clusterConfiguration/utils.test.js +36 -0
- package/build/cjs/common/components/clusterConfiguration/utils.test.js.map +1 -1
- package/build/cjs/common/components/clusterDetail/ConsoleModal.js +1 -1
- package/build/cjs/common/components/clusterDetail/ConsoleModal.js.map +1 -1
- package/build/cjs/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.js +29 -31
- package/build/cjs/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.js.map +1 -1
- package/build/cjs/common/components/clusterWizard/networkingSteps/StackTypeControlGroup.js +19 -30
- package/build/cjs/common/components/clusterWizard/networkingSteps/StackTypeControlGroup.js.map +1 -1
- package/build/cjs/common/components/operators/operatorSpecs.js +0 -3
- package/build/cjs/common/components/operators/operatorSpecs.js.map +1 -1
- package/build/cjs/common/config/docs_links.js +5 -4
- package/build/cjs/common/config/docs_links.js.map +1 -1
- package/build/cjs/common/utils.js +3 -0
- package/build/cjs/common/utils.js.map +1 -1
- package/build/cjs/common/validationSchemas/addressValidation.js +1 -1
- package/build/cjs/common/validationSchemas/addressValidation.js.map +1 -1
- package/build/cjs/ocm/components/Routes.js +8 -8
- package/build/cjs/ocm/components/Routes.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/OcmClusterProgressItems.js +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/OcmClusterProgressItems.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.js +68 -17
- package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.js +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.js +50 -13
- package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.js +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/review/ReviewNetworkingTable.js +4 -2
- package/build/cjs/ocm/components/clusterConfiguration/review/ReviewNetworkingTable.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/review/utils.js +7 -1
- package/build/cjs/ocm/components/clusterConfiguration/review/utils.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/review/utils.test.js +35 -0
- package/build/cjs/ocm/components/clusterConfiguration/review/utils.test.js.map +1 -1
- package/build/cjs/ocm/components/clusterDetail/AssistedInstallerDetailCard.js +4 -4
- package/build/cjs/ocm/components/clusterDetail/AssistedInstallerDetailCard.js.map +1 -1
- package/build/cjs/ocm/components/clusterDetail/ClusterDetail.js +4 -4
- package/build/cjs/ocm/components/clusterDetail/ClusterDetail.js.map +1 -1
- package/build/cjs/ocm/components/clusterDetail/ClusterInstallationError.js +1 -1
- package/build/cjs/ocm/components/clusterDetail/ClusterInstallationError.js.map +1 -1
- package/build/cjs/ocm/components/clusterDetail/ProgressBarAlerts.js +1 -1
- package/build/cjs/ocm/components/clusterDetail/ProgressBarAlerts.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/ClusterDetails.js +4 -4
- package/build/cjs/ocm/components/clusterWizard/ClusterDetails.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/ClusterDetailsForm.js +2 -2
- package/build/cjs/ocm/components/clusterWizard/ClusterDetailsForm.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/ClusterWizardContextProvider.js +2 -2
- package/build/cjs/ocm/components/clusterWizard/ClusterWizardContextProvider.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/ClusterWizardFooter.js +2 -2
- package/build/cjs/ocm/components/clusterWizard/ClusterWizardFooter.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/Operators.js +4 -4
- package/build/cjs/ocm/components/clusterWizard/Operators.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/disconnected/ReviewStep.js +3 -3
- package/build/cjs/ocm/components/clusterWizard/disconnected/ReviewStep.js.map +1 -1
- package/build/cjs/ocm/components/clusters/ClusterBreadcrumbs.js +2 -2
- package/build/cjs/ocm/components/clusters/ClusterBreadcrumbs.js.map +1 -1
- package/build/cjs/ocm/components/clusters/ClusterPage.js +4 -4
- package/build/cjs/ocm/components/clusters/ClusterPage.js.map +1 -1
- package/build/cjs/ocm/components/clusters/Clusters.js +3 -3
- package/build/cjs/ocm/components/clusters/Clusters.js.map +1 -1
- package/build/cjs/ocm/components/clusters/ClustersListToolbar.js +3 -3
- package/build/cjs/ocm/components/clusters/ClustersListToolbar.js.map +1 -1
- package/build/cjs/ocm/components/ui/Buttons/BackButton.js +2 -2
- package/build/cjs/ocm/components/ui/Buttons/BackButton.js.map +1 -1
- package/build/cjs/ocm/store/slices/clusters/selectors.js +2 -2
- package/build/cjs/ocm/store/slices/clusters/selectors.js.map +1 -1
- package/build/cjs/ocm/store/slices/feature-flags/selectors.js.map +1 -1
- package/build/cjs/ocm/store/slices/infra-envs/selectors.js.map +1 -1
- package/lib/cim/components/Agent/NoAgentsAlert.tsx +1 -1
- package/lib/cim/components/Agent/tableColumns.tsx +1 -1
- package/lib/cim/components/ClusterDeployment/ClusterInstallationError.tsx +1 -1
- package/lib/cim/components/Hypershift/DetailsPage/NodePoolsTable.tsx +1 -1
- package/lib/cim/components/InfraEnv/AddHostDropdown.tsx +1 -1
- package/lib/cim/components/InfraEnv/InfraEnvFormPage.tsx +1 -1
- package/lib/cim/components/modals/CimConfiguration/CimConfigProgressAlert.tsx +2 -2
- package/lib/cim/components/modals/CimConfiguration/CimConfigurationFormFields.tsx +1 -1
- package/lib/cim/components/modals/CimConfiguration/CimConfigurationModal.tsx +2 -2
- package/lib/cim/components/modals/CimConfiguration/CimStorageMissingAlert.tsx +9 -3
- package/lib/cim/components/modals/CimConfiguration/constants.ts +1 -1
- package/lib/cim/components/modals/MassDeleteAgentModal.tsx +1 -1
- package/lib/common/components/clusterConfiguration/DiscoveryImageConfigForm.tsx +3 -1
- package/lib/common/components/clusterConfiguration/DownloadIso.tsx +1 -1
- package/lib/common/components/clusterConfiguration/utils.test.ts +43 -1
- package/lib/common/components/clusterConfiguration/utils.ts +13 -0
- package/lib/common/components/clusterDetail/ConsoleModal.tsx +1 -1
- package/lib/common/components/clusterWizard/networkingSteps/AvailableSubnetsControl.tsx +31 -57
- package/lib/common/components/clusterWizard/networkingSteps/StackTypeControlGroup.tsx +33 -38
- package/lib/common/components/operators/operatorSpecs.tsx +0 -16
- package/lib/common/config/docs_links.ts +5 -4
- package/lib/common/utils.ts +3 -0
- package/lib/common/validationSchemas/addressValidation.tsx +2 -2
- package/lib/ocm/components/Routes.tsx +2 -2
- package/lib/ocm/components/clusterConfiguration/OcmClusterProgressItems.tsx +2 -2
- package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.tsx +2 -2
- package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.tsx +86 -22
- package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.tsx +2 -2
- package/lib/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.ts +57 -20
- package/lib/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.tsx +1 -1
- package/lib/ocm/components/clusterConfiguration/review/ReviewNetworkingTable.tsx +4 -2
- package/lib/ocm/components/clusterConfiguration/review/utils.test.ts +41 -0
- package/lib/ocm/components/clusterConfiguration/review/utils.tsx +5 -2
- package/lib/ocm/components/clusterDetail/AssistedInstallerDetailCard.tsx +1 -1
- package/lib/ocm/components/clusterDetail/ClusterDetail.tsx +3 -3
- package/lib/ocm/components/clusterDetail/ClusterInstallationError.tsx +1 -1
- package/lib/ocm/components/clusterDetail/ProgressBarAlerts.tsx +1 -1
- package/lib/ocm/components/clusterWizard/ClusterDetails.tsx +2 -2
- package/lib/ocm/components/clusterWizard/ClusterDetailsForm.tsx +1 -1
- package/lib/ocm/components/clusterWizard/ClusterWizardContextProvider.tsx +1 -1
- package/lib/ocm/components/clusterWizard/ClusterWizardFooter.tsx +1 -1
- package/lib/ocm/components/clusterWizard/Operators.tsx +2 -2
- package/lib/ocm/components/clusterWizard/disconnected/ReviewStep.tsx +2 -2
- package/lib/ocm/components/clusters/ClusterBreadcrumbs.tsx +1 -1
- package/lib/ocm/components/clusters/ClusterPage.tsx +1 -1
- package/lib/ocm/components/clusters/Clusters.tsx +2 -2
- package/lib/ocm/components/clusters/ClustersListToolbar.tsx +2 -2
- package/lib/ocm/components/ui/Buttons/BackButton.tsx +1 -1
- package/lib/ocm/store/slices/clusters/selectors.tsx +7 -5
- package/lib/ocm/store/slices/feature-flags/selectors.ts +5 -2
- package/lib/ocm/store/slices/infra-envs/selectors.ts +4 -2
- package/package.json +8 -8
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ClusterPage = exports.SingleClusterPage = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const react_1 = tslib_1.__importDefault(require("react"));
|
|
6
|
-
const
|
|
6
|
+
const react_router_1 = require("react-router");
|
|
7
7
|
const react_redux_1 = require("react-redux");
|
|
8
8
|
const react_core_1 = require("@patternfly/react-core");
|
|
9
9
|
const common_1 = require("../../../common");
|
|
@@ -81,7 +81,7 @@ const ClusterPageGeneric = ({ clusterId, showBreadcrumbs = false, resetModal, })
|
|
|
81
81
|
}
|
|
82
82
|
if (uiState === common_1.ResourceUIState.POLLING_ERROR && !cluster) {
|
|
83
83
|
if (Number(errorDetail === null || errorDetail === void 0 ? void 0 : errorDetail.code) === 404) {
|
|
84
|
-
return react_1.default.createElement(
|
|
84
|
+
return react_1.default.createElement(react_router_1.Navigate, { to: `${config_1.routeBasePath}/clusters` });
|
|
85
85
|
}
|
|
86
86
|
return (react_1.default.createElement(react_core_1.PageSection, { hasBodyWrapper: false, isFilled: true },
|
|
87
87
|
react_1.default.createElement(common_1.ErrorState, { title: "Failed to fetch the cluster", fetchData: Number(errorDetail === null || errorDetail === void 0 ? void 0 : errorDetail.code) === 401 ? () => window.location.reload() : fetchCluster, actions: [react_1.default.createElement(BackButton_1.BackButton, { key: 'cancel', to: '..' })] })));
|
|
@@ -106,7 +106,7 @@ const ClusterPageGeneric = ({ clusterId, showBreadcrumbs = false, resetModal, })
|
|
|
106
106
|
resetModal,
|
|
107
107
|
react_1.default.createElement(DiscoveryImageModal_1.DiscoveryImageModal, null)))))))));
|
|
108
108
|
}
|
|
109
|
-
return react_1.default.createElement(
|
|
109
|
+
return react_1.default.createElement(react_router_1.Navigate, { to: "/clusters" });
|
|
110
110
|
};
|
|
111
111
|
const SingleClusterPage = ({ clusterId, resetModal, }) => (react_1.default.createElement(common_1.AlertsContextProvider, null,
|
|
112
112
|
react_1.default.createElement(react_core_1.PageSection, { hasBodyWrapper: false, isFilled: true },
|
|
@@ -114,7 +114,7 @@ const SingleClusterPage = ({ clusterId, resetModal, }) => (react_1.default.creat
|
|
|
114
114
|
react_1.default.createElement(ClusterPageGeneric, { clusterId: clusterId, resetModal: resetModal })));
|
|
115
115
|
exports.SingleClusterPage = SingleClusterPage;
|
|
116
116
|
const ClusterPage = () => {
|
|
117
|
-
const { clusterId } = (0,
|
|
117
|
+
const { clusterId } = (0, react_router_1.useParams)();
|
|
118
118
|
return (react_1.default.createElement(common_1.AlertsContextProvider, null,
|
|
119
119
|
react_1.default.createElement(ClusterPageGeneric, { clusterId: clusterId || '', showBreadcrumbs: true })));
|
|
120
120
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClusterPage.js","sourceRoot":"","sources":["../../../../../lib/ocm/components/clusters/ClusterPage.tsx"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B
|
|
1
|
+
{"version":3,"file":"ClusterPage.js","sourceRoot":"","sources":["../../../../../lib/ocm/components/clusters/ClusterPage.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const react_1 = tslib_1.__importDefault(require("react"));
|
|
5
|
-
const
|
|
5
|
+
const react_router_1 = require("react-router");
|
|
6
6
|
const react_core_1 = require("@patternfly/react-core");
|
|
7
7
|
const add_circle_o_icon_1 = require("@patternfly/react-icons/dist/js/icons/add-circle-o-icon");
|
|
8
8
|
const common_1 = require("../../../common");
|
|
@@ -15,7 +15,7 @@ const ClusterPollingErrorModal_1 = tslib_1.__importDefault(require("../clusterDe
|
|
|
15
15
|
const store_1 = require("../../store");
|
|
16
16
|
const selectors_1 = require("../../store/slices/clusters/selectors");
|
|
17
17
|
const Clusters = () => {
|
|
18
|
-
const navigate = (0,
|
|
18
|
+
const navigate = (0, react_router_1.useNavigate)();
|
|
19
19
|
const { LOADING, EMPTY, POLLING_ERROR, RELOADING } = common_1.ResourceUIState;
|
|
20
20
|
const { addAlert } = (0, common_1.useAlerts)();
|
|
21
21
|
const { t } = (0, use_translation_wrapper_1.useTranslation)();
|
|
@@ -54,7 +54,7 @@ const Clusters = () => {
|
|
|
54
54
|
react_1.default.createElement(common_1.LoadingState, null)));
|
|
55
55
|
case EMPTY:
|
|
56
56
|
return (react_1.default.createElement(react_core_1.PageSection, { hasBodyWrapper: false, isFilled: true },
|
|
57
|
-
react_1.default.createElement(common_1.EmptyState, { icon: add_circle_o_icon_1.AddCircleOIcon, title: "Create new assisted cluster", content: "There are no clusters yet. This wizard is going to guide you through the OpenShift cluster deployment.", primaryAction: react_1.default.createElement(react_core_1.Button, { variant: react_core_1.ButtonVariant.primary, onClick: () => navigate(`~new`), id: "empty-state-new-cluster-button", "data-ouia-id": "button-create-new-cluster" }, "Create New Cluster") })));
|
|
57
|
+
react_1.default.createElement(common_1.EmptyState, { icon: add_circle_o_icon_1.AddCircleOIcon, title: "Create new assisted cluster", content: "There are no clusters yet. This wizard is going to guide you through the OpenShift cluster deployment.", primaryAction: react_1.default.createElement(react_core_1.Button, { variant: react_core_1.ButtonVariant.primary, onClick: () => void navigate(`~new`), id: "empty-state-new-cluster-button", "data-ouia-id": "button-create-new-cluster" }, "Create New Cluster") })));
|
|
58
58
|
default:
|
|
59
59
|
if (clusterRows.length === 0 && uiState.current === POLLING_ERROR) {
|
|
60
60
|
return (react_1.default.createElement(react_core_1.PageSection, { hasBodyWrapper: false, isFilled: true },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Clusters.js","sourceRoot":"","sources":["../../../../../lib/ocm/components/clusters/Clusters.tsx"],"names":[],"mappings":";;;AAAA,0DAA0B;AAC1B
|
|
1
|
+
{"version":3,"file":"Clusters.js","sourceRoot":"","sources":["../../../../../lib/ocm/components/clusters/Clusters.tsx"],"names":[],"mappings":";;;AAAA,0DAA0B;AAC1B,+CAA2C;AAC3C,uDAAqF;AACrF,+FAAyF;AACzF,4CASyB;AACzB,4EAA4C;AAC5C,6DAAsF;AACtF,6CAAyE;AACzE,6CAAiD;AACjD,2FAA+E;AAC/E,iHAAiF;AAEjF,uCAA+D;AAC/D,qEAG+C;AAE/C,MAAM,QAAQ,GAAG,GAAG,EAAE;IACpB,MAAM,QAAQ,GAAG,IAAA,0BAAW,GAAE,CAAC;IAC/B,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,wBAAe,CAAC;IACrE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,kBAAS,GAAE,CAAC;IACjC,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,wCAAc,GAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,IAAA,uBAAe,EAAC,IAAA,kCAAsB,EAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,MAAM,eAAe,GAAG,IAAA,uBAAe,EAAC,iCAAqB,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,eAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAC9C,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,CAAC,OAAO,GAAG,eAAe,CAAC;IACpC,CAAC;IACD,MAAM,QAAQ,GAAG,IAAA,uBAAe,GAAE,CAAC;IACnC,MAAM,kBAAkB,GAAG,eAAK,CAAC,WAAW,CAC1C,CAAO,SAAwB,EAAE,EAAE;QACjC,IAAI,CAAC;YACH,MAAM,0BAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACxC,QAAQ,CAAC,IAAA,qBAAa,EAAC,SAAS,CAAC,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAA,oBAAc,EAAC,CAAC,EAAE,GAAG,EAAE,CACrB,QAAQ,CAAC;gBACP,KAAK,EAAE,8BAA8B;gBACrC,OAAO,EAAE,IAAA,wBAAkB,EAAC,CAAC,CAAC;aAC/B,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC,CAAA,EACD,CAAC,QAAQ,EAAE,QAAQ,CAAC,CACrB,CAAC;IAEF,MAAM,aAAa,GAAG,eAAK,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,IAAA,0BAAkB,GAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE/F,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,6BAA6B;QAC7B,aAAa,EAAE,CAAC;QAEhB,wCAAwC;QACxC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC7B,aAAa,EAAE,CAAC;QAClB,CAAC,EAAE,iCAAwB,CAAC,CAAC;QAE7B,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,QAAQ,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,KAAK,OAAO;YACV,OAAO,CACL,8BAAC,wBAAW,IAAC,cAAc,EAAE,KAAK,EAAE,QAAQ;gBAC1C,8BAAC,qBAAY,OAAG,CACJ,CACf,CAAC;QACJ,KAAK,KAAK;YACR,OAAO,CACL,8BAAC,wBAAW,IAAC,cAAc,EAAE,KAAK,EAAE,QAAQ;gBAC1C,8BAAC,mBAAU,IACT,IAAI,EAAE,kCAAc,EACpB,KAAK,EAAC,6BAA6B,EACnC,OAAO,EAAC,wGAAwG,EAChH,aAAa,EACX,8BAAC,mBAAM,IACL,OAAO,EAAE,0BAAa,CAAC,OAAO,EAC9B,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,MAAM,CAAC,EACpC,EAAE,EAAC,gCAAgC,kBACtB,2BAA2B,yBAGjC,GAEX,CACU,CACf,CAAC;QACJ;YACE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;gBAClE,OAAO,CACL,8BAAC,wBAAW,IAAC,cAAc,EAAE,KAAK,EAAE,QAAQ;oBAC1C,8BAAC,mBAAU,IAAC,KAAK,EAAC,2BAA2B,EAAC,SAAS,EAAE,aAAa,GAAI,CAC9D,CACf,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CACL;oBACE,8BAAC,wBAAW,IAAC,cAAc,EAAE,KAAK;wBAChC,8BAAC,oBAAO,IAAC,SAAS,EAAC,IAAI,wBAA4B,CACvC;oBACd,8BAAC,wBAAW,IAAC,cAAc,EAAE,KAAK,EAAE,QAAQ;wBAC1C,8BAAC,eAAM,OAAG;wBACV,8BAAC,uBAAa,IAAC,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,kBAAkB,GAAI,CAC3D;oBACb,OAAO,CAAC,OAAO,KAAK,aAAa,IAAI,CACpC,8BAAC,kCAAwB,IACvB,KAAK,EAAE,0BAA0B,EACjC,OAAO,EACL,wFAAwF,GAE1F,CACH,CACA,CACJ,CAAC;YACJ,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,CACzB,8BAAC,8BAAqB;IACpB,8BAAC,QAAQ,OAAG,CACU,CACzB,CAAC;AAEF,kBAAe,YAAY,CAAC"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const react_1 = tslib_1.__importDefault(require("react"));
|
|
5
|
-
const
|
|
5
|
+
const react_router_1 = require("react-router");
|
|
6
6
|
const react_core_1 = require("@patternfly/react-core");
|
|
7
7
|
const filter_icon_1 = require("@patternfly/react-icons/dist/js/icons/filter-icon");
|
|
8
8
|
const sync_icon_1 = require("@patternfly/react-icons/dist/js/icons/sync-icon");
|
|
@@ -17,7 +17,7 @@ const CustomToolbarFilter_1 = require("../../../common/components/ui/CustomToolb
|
|
|
17
17
|
const clusterStatusFilterLabels = (t) => Array.from(new Set(Object.values((0, omit_js_1.default)((0, common_1.clusterStatusLabels)(t), 'adding-hosts'))));
|
|
18
18
|
const ClustersListToolbar = ({ searchString, setSearchString, filters, setFilters, }) => {
|
|
19
19
|
const [isStatusExpanded, setStatusExpanded] = react_1.default.useState(false);
|
|
20
|
-
const navigate = (0,
|
|
20
|
+
const navigate = (0, react_router_1.useNavigate)();
|
|
21
21
|
const clustersUIState = (0, store_1.useSelectorDay1)(selectors_1.selectClustersUIState);
|
|
22
22
|
const dispatch = (0, store_1.useDispatchDay1)();
|
|
23
23
|
const fetchClusters = react_1.default.useCallback(() => void dispatch((0, slice_1.fetchClustersAsync)()), [dispatch]);
|
|
@@ -61,7 +61,7 @@ const ClustersListToolbar = ({ searchString, setSearchString, filters, setFilter
|
|
|
61
61
|
react_1.default.createElement(CustomToolbarFilter_1.CustomToolbarFilter, { labels: filters.status, deleteLabel: onDeleteLabel, deleteLabelGroup: onDeleteLabelGroup, categoryName: "status" },
|
|
62
62
|
react_1.default.createElement(react_core_1.Dropdown, { isOpen: isStatusExpanded, onSelect: (event, value) => onStatusSelect(value, event), onOpenChange: onStatusToggle, toggle: (toggleRef) => (react_1.default.createElement(react_core_1.MenuToggle, { id: "cluster-list-filter-status", ref: toggleRef, isFullWidth: true, onClick: onStatusToggle, isExpanded: isStatusExpanded }, statusPlaceholder)), shouldFocusToggleOnSelect: true },
|
|
63
63
|
react_1.default.createElement(react_core_1.DropdownList, null, clusterStatusFilterLabels(t).map((label) => (react_1.default.createElement(react_core_1.DropdownItem, { id: `cluster-list-filter-status-${label}`, hasCheckbox: true, isSelected: filters.status.includes(label), key: label, value: label }, label)))))),
|
|
64
|
-
react_1.default.createElement(common_1.ToolbarButton, { variant: react_core_1.ButtonVariant.primary, onClick: () => navigate(`~new`), id: "button-create-new-cluster", "data-ouia-id": "button-create-new-cluster" }, "Create Cluster"),
|
|
64
|
+
react_1.default.createElement(common_1.ToolbarButton, { variant: react_core_1.ButtonVariant.primary, onClick: () => void navigate(`~new`), id: "button-create-new-cluster", "data-ouia-id": "button-create-new-cluster" }, "Create Cluster"),
|
|
65
65
|
clustersUIState === common_2.ResourceUIState.RELOADING && (react_1.default.createElement(react_core_1.Spinner, { size: "lg", "data-testid": "clusters-list-toolbar-spinner" })),
|
|
66
66
|
react_1.default.createElement(react_core_1.ToolbarGroup, { align: { lg: 'alignEnd' } },
|
|
67
67
|
react_1.default.createElement(common_1.ToolbarButton, { variant: react_core_1.ButtonVariant.plain, onClick: () => fetchClusters(), isDisabled: clustersUIState === common_2.ResourceUIState.RELOADING },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClustersListToolbar.js","sourceRoot":"","sources":["../../../../../lib/ocm/components/clusters/ClustersListToolbar.tsx"],"names":[],"mappings":";;;AAAA,0DAA0B;AAC1B
|
|
1
|
+
{"version":3,"file":"ClustersListToolbar.js","sourceRoot":"","sources":["../../../../../lib/ocm/components/clusters/ClustersListToolbar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BackButton = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const
|
|
5
|
+
const react_router_1 = require("react-router");
|
|
6
6
|
const react_core_1 = require("@patternfly/react-core");
|
|
7
7
|
const react_1 = tslib_1.__importDefault(require("react"));
|
|
8
|
-
const BackButton = ({ to, variant = 'secondary' }) => (react_1.default.createElement(
|
|
8
|
+
const BackButton = ({ to, variant = 'secondary' }) => (react_1.default.createElement(react_router_1.Link, { to: to },
|
|
9
9
|
react_1.default.createElement(react_core_1.Button, { variant: variant }, "Back")));
|
|
10
10
|
exports.BackButton = BackButton;
|
|
11
11
|
//# sourceMappingURL=BackButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackButton.js","sourceRoot":"","sources":["../../../../../../lib/ocm/components/ui/Buttons/BackButton.tsx"],"names":[],"mappings":";;;;AAAA
|
|
1
|
+
{"version":3,"file":"BackButton.js","sourceRoot":"","sources":["../../../../../../lib/ocm/components/ui/Buttons/BackButton.tsx"],"names":[],"mappings":";;;;AAAA,+CAA+C;AAE/C,uDAAgD;AAChD,0DAA0B;AAMnB,MAAM,UAAU,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,GAAG,WAAW,EAAmB,EAAE,EAAE,CAAC,CAC5E,8BAAC,mBAAI,IAAC,EAAE,EAAE,EAAE;IACV,8BAAC,mBAAM,IAAC,OAAO,EAAE,OAAO,WAAe,CAClC,CACR,CAAC;AAJW,QAAA,UAAU,cAIrB"}
|
|
@@ -4,7 +4,7 @@ exports.selectClusterNames = exports.selectClusterTableRows = exports.getCluster
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const react_1 = tslib_1.__importDefault(require("react"));
|
|
6
6
|
const toolkit_1 = require("@reduxjs/toolkit");
|
|
7
|
-
const
|
|
7
|
+
const react_router_1 = require("react-router");
|
|
8
8
|
const common_1 = require("../../../../common");
|
|
9
9
|
const ClusterStatus_1 = tslib_1.__importStar(require("../../../components/clusters/ClusterStatus"));
|
|
10
10
|
const selectClusters = (state) => state.clusters.data.filter((c) => c.kind !== 'DisconnectedCluster');
|
|
@@ -29,7 +29,7 @@ const clusterToClusterTableRow = (cluster, t) => {
|
|
|
29
29
|
return {
|
|
30
30
|
cells: [
|
|
31
31
|
{
|
|
32
|
-
title: (react_1.default.createElement(
|
|
32
|
+
title: (react_1.default.createElement(react_router_1.Link, { key: name, to: id, id: `cluster-link-${id}` }, name)),
|
|
33
33
|
props: { 'data-testid': `cluster-name-${name}` },
|
|
34
34
|
sortableValue: name,
|
|
35
35
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectors.js","sourceRoot":"","sources":["../../../../../../lib/ocm/store/slices/clusters/selectors.tsx"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,8CAAkD;
|
|
1
|
+
{"version":3,"file":"selectors.js","sourceRoot":"","sources":["../../../../../../lib/ocm/store/slices/clusters/selectors.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectors.js","sourceRoot":"","sources":["../../../../../../lib/ocm/store/slices/feature-flags/selectors.ts"],"names":[],"mappings":";;;AAEA,8CAAkD;
|
|
1
|
+
{"version":3,"file":"selectors.js","sourceRoot":"","sources":["../../../../../../lib/ocm/store/slices/feature-flags/selectors.ts"],"names":[],"mappings":";;;AAEA,8CAAkD;AAG3C,MAAM,uBAAuB,GAAG,CAAC,KAAoB,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC;AAAvE,QAAA,uBAAuB,2BAAgD;AAE7E,MAAM,gBAAgB,GAAG,CAC9B,SAAgC,EACE,EAAE,CACpC,IAAA,wBAAc,EACZ,+BAAuB,EACvB,CAAC,YAAwD,EAAW,EAAE,WACpE,OAAA,MAAA,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,mCAAI,KAAK,CAAA,EAAA,CACxC,CAAC;AAPS,QAAA,gBAAgB,oBAOzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectors.js","sourceRoot":"","sources":["../../../../../../lib/ocm/store/slices/infra-envs/selectors.ts"],"names":[],"mappings":";;;AAAA,8CAAkD;
|
|
1
|
+
{"version":3,"file":"selectors.js","sourceRoot":"","sources":["../../../../../../lib/ocm/store/slices/infra-envs/selectors.ts"],"names":[],"mappings":";;;AAAA,8CAAkD;AAM3C,MAAM,oBAAoB,GAAG,CAAC,KAAoB,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;AAAjE,QAAA,oBAAoB,wBAA6C;AACjE,QAAA,+BAA+B,GAAG,IAAA,wBAAc,EAC3D,CAAC,4BAAoB,EAAE,CAAC,CAAgB,EAAE,eAAgC,EAAE,EAAE,CAAC,eAAe,CAAC,EAC/F,CAAC,SAAS,EAAE,eAAe,EAAwB,EAAE,CACnD,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,eAAe,KAAK,eAAe,CAAC,CACT,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Alert, AlertVariant, List, ListComponent, ListItem } from '@patternfly/react-core';
|
|
3
|
-
import { Link } from 'react-router
|
|
3
|
+
import { Link } from 'react-router';
|
|
4
4
|
import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
|
|
5
5
|
import { Trans } from 'react-i18next';
|
|
6
6
|
import { architectureData, CpuArchitecture, SupportedCpuArchitecture } from '../../../common';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { TFunction } from 'i18next';
|
|
3
|
-
import { Link } from 'react-router
|
|
3
|
+
import { Link } from 'react-router';
|
|
4
4
|
import { Host } from '@openshift-assisted/types/assisted-installer-service';
|
|
5
5
|
import { HostsTableActions, getInventory, getHostname, Hostname } from '../../../common';
|
|
6
6
|
import { TableRow } from '../../../common/components/hosts/AITable';
|
|
@@ -36,7 +36,7 @@ const ClusterInstallationError: React.FC<ClusterInstallationErrorProps> = ({
|
|
|
36
36
|
agentClusterInstall={agentClusterInstall}
|
|
37
37
|
/>
|
|
38
38
|
<AlertActionLink
|
|
39
|
-
onClick={() => window.open(getReportIssueLink(), '_blank')}
|
|
39
|
+
onClick={() => window.open(getReportIssueLink(), '_blank', 'noopener,noreferrer')}
|
|
40
40
|
id={getID('button-report-bug')}
|
|
41
41
|
>
|
|
42
42
|
{t('ai:Report a bug')}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { Link } from 'react-router
|
|
2
|
+
import { Link } from 'react-router';
|
|
3
3
|
import { Button, Label, Popover, Stack, StackItem } from '@patternfly/react-core';
|
|
4
4
|
import { PlusCircleIcon } from '@patternfly/react-icons/dist/js/icons/plus-circle-icon';
|
|
5
5
|
import { Table, Tbody, Td, Th, Thead, Tr } from '@patternfly/react-table';
|
|
@@ -18,7 +18,7 @@ import { AddBmcHostModal, AddBmcHostYamlModal, AddHostModal } from '../modals';
|
|
|
18
18
|
import { AddHostDropdownProps } from './types';
|
|
19
19
|
import './AddHostDropdown.css';
|
|
20
20
|
import { Trans } from 'react-i18next';
|
|
21
|
-
import { Link } from 'react-router
|
|
21
|
+
import { Link } from 'react-router';
|
|
22
22
|
import { OutlinedQuestionCircleIcon } from '@patternfly/react-icons/dist/js/icons/outlined-question-circle-icon';
|
|
23
23
|
|
|
24
24
|
type ModalType = 'iso' | 'bmc' | 'yaml' | 'ipxe' | undefined;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { useNavigate } from 'react-router
|
|
2
|
+
import { useNavigate } from 'react-router';
|
|
3
3
|
import {
|
|
4
4
|
Alert,
|
|
5
5
|
AlertVariant,
|
|
@@ -69,7 +69,7 @@ export const CimConfigProgressAlert: React.FC<CimConfigProgressAlertProps> = ({
|
|
|
69
69
|
variant={ButtonVariant.link}
|
|
70
70
|
isInline
|
|
71
71
|
key="assisted-service-deployment"
|
|
72
|
-
onClick={() => navigate(assistedServiceDeploymentUrl)}
|
|
72
|
+
onClick={() => void navigate(assistedServiceDeploymentUrl)}
|
|
73
73
|
>
|
|
74
74
|
{t('ai:Troubleshoot in the assisted service deployment')}
|
|
75
75
|
</Button>
|
|
@@ -161,7 +161,7 @@ export const CimConfigurationFormFields = ({
|
|
|
161
161
|
<PopoverIcon
|
|
162
162
|
noVerticalAlign
|
|
163
163
|
bodyContent={t(
|
|
164
|
-
'ai:Specify how much storage to allocate for the images of the clusters. There must be 1G of image storage for each instance of Red Hat Enterprise Linux CoreOS that is running. Recommended is
|
|
164
|
+
'ai:Specify how much storage to allocate for the images of the clusters. There must be 1G of image storage for each instance of Red Hat Enterprise Linux CoreOS that is running. Recommended is 100Gi or more. The value can not be updated later.',
|
|
165
165
|
)}
|
|
166
166
|
aria-label={t('ai:More info for image storage')}
|
|
167
167
|
>
|
|
@@ -118,7 +118,7 @@ export const CimConfigurationModal: React.FC<CimConfigurationModalProps> = ({
|
|
|
118
118
|
agentServiceConfig?.spec?.filesystemStorage?.resources?.requests?.storage,
|
|
119
119
|
),
|
|
120
120
|
imgVolSize: getStorageSizeGiB(
|
|
121
|
-
|
|
121
|
+
100,
|
|
122
122
|
agentServiceConfig?.spec?.imageStorage?.resources?.requests?.storage,
|
|
123
123
|
),
|
|
124
124
|
configureLoadBalancer: platform === 'AWS',
|
|
@@ -134,7 +134,7 @@ export const CimConfigurationModal: React.FC<CimConfigurationModalProps> = ({
|
|
|
134
134
|
.min(MIN_FS_VOL_SIZE, t('ai:Minimal value is 1Gi'))
|
|
135
135
|
.required(t('ai:Required field')),
|
|
136
136
|
imgVolSize: Yup.number()
|
|
137
|
-
.min(MIN_IMG_VOL_SIZE, t('ai:Minimal value is
|
|
137
|
+
.min(MIN_IMG_VOL_SIZE, t('ai:Minimal value is 50Gi'))
|
|
138
138
|
.required(t('ai:Required field')),
|
|
139
139
|
configureLoadBalancer: Yup.boolean(),
|
|
140
140
|
addCiscoIntersightURL: Yup.boolean(),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { useNavigate } from 'react-router
|
|
2
|
+
import { useNavigate } from 'react-router';
|
|
3
3
|
import { Alert, AlertActionLink, AlertVariant } from '@patternfly/react-core';
|
|
4
4
|
import { ExternalLinkAltIcon } from '@patternfly/react-icons/dist/js/icons/external-link-alt-icon';
|
|
5
5
|
|
|
@@ -20,10 +20,16 @@ export const CimStorageMissingAlert: React.FC<{
|
|
|
20
20
|
);
|
|
21
21
|
|
|
22
22
|
const actionLinks: React.ReactNode[] = [
|
|
23
|
-
<AlertActionLink
|
|
23
|
+
<AlertActionLink
|
|
24
|
+
key="install-storage-operator"
|
|
25
|
+
onClick={() => void navigate(storageOperatorUrl)}
|
|
26
|
+
>
|
|
24
27
|
{t('ai:Install storage operator')}
|
|
25
28
|
</AlertActionLink>,
|
|
26
|
-
<AlertActionLink
|
|
29
|
+
<AlertActionLink
|
|
30
|
+
key="storage-class"
|
|
31
|
+
onClick={() => window.open(docStorageUrl, '_blank', 'noopener,noreferrer')}
|
|
32
|
+
>
|
|
27
33
|
{contentWorkaround as unknown as string}
|
|
28
34
|
</AlertActionLink>,
|
|
29
35
|
];
|
|
@@ -2,7 +2,7 @@ import * as React from 'react';
|
|
|
2
2
|
import { TFunction } from 'i18next';
|
|
3
3
|
import { Button, Flex, FlexItem, Icon, Popover } from '@patternfly/react-core';
|
|
4
4
|
import { InfoCircleIcon } from '@patternfly/react-icons/dist/js/icons/info-circle-icon';
|
|
5
|
-
import { Link } from 'react-router
|
|
5
|
+
import { Link } from 'react-router';
|
|
6
6
|
|
|
7
7
|
import { Host } from '@openshift-assisted/types/assisted-installer-service';
|
|
8
8
|
import {
|
|
@@ -46,7 +46,9 @@ export const StaticIPInfo = ({ docVersion }: { docVersion?: string }) => {
|
|
|
46
46
|
icon={<ExternalLinkAltIcon />}
|
|
47
47
|
iconPosition="right"
|
|
48
48
|
isInline
|
|
49
|
-
onClick={() =>
|
|
49
|
+
onClick={() =>
|
|
50
|
+
window.open(getOCPStaticIPDocLink(docVersion), '_blank', 'noopener,noreferrer')
|
|
51
|
+
}
|
|
50
52
|
>
|
|
51
53
|
{t('ai:View documentation')}
|
|
52
54
|
</Button>
|
|
@@ -45,7 +45,7 @@ const DownloadIso = ({
|
|
|
45
45
|
|
|
46
46
|
const openCiscoIntersightHostsLink = (downloadUrl: string) => {
|
|
47
47
|
updateTagsForCiscoIntersight ? updateTagsForCiscoIntersight() : '';
|
|
48
|
-
window.open(getCiscoIntersightLink(downloadUrl, ciscoUrl), '_blank', 'noopener');
|
|
48
|
+
window.open(getCiscoIntersightLink(downloadUrl, ciscoUrl), '_blank', 'noopener,noreferrer');
|
|
49
49
|
};
|
|
50
50
|
|
|
51
51
|
return (
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { test, describe, expect } from 'vitest';
|
|
2
|
-
import { isDualStack } from './utils';
|
|
2
|
+
import { isDualStack, getIPv6FromDualstack } from './utils';
|
|
3
3
|
import {
|
|
4
4
|
MachineNetwork,
|
|
5
5
|
ClusterNetwork,
|
|
@@ -273,3 +273,45 @@ describe('isDualStack', () => {
|
|
|
273
273
|
});
|
|
274
274
|
});
|
|
275
275
|
});
|
|
276
|
+
|
|
277
|
+
describe('getIPv6FromDualstack', () => {
|
|
278
|
+
test('returns the IPv6 entry from a dualstack array', () => {
|
|
279
|
+
const networks = [
|
|
280
|
+
{ cidr: '10.128.0.0/14', hostPrefix: 23, clusterId: 'test' },
|
|
281
|
+
{ cidr: 'fd01::/48', hostPrefix: 64, clusterId: 'test' },
|
|
282
|
+
];
|
|
283
|
+
const result = getIPv6FromDualstack(networks);
|
|
284
|
+
expect(result).toEqual({ cidr: 'fd01::/48', hostPrefix: 64, clusterId: 'test' });
|
|
285
|
+
});
|
|
286
|
+
|
|
287
|
+
test('returns the IPv6 entry when IPv6 is first', () => {
|
|
288
|
+
const networks = [
|
|
289
|
+
{ cidr: 'fd01::/48', hostPrefix: 64, clusterId: 'test' },
|
|
290
|
+
{ cidr: '10.128.0.0/14', hostPrefix: 23, clusterId: 'test' },
|
|
291
|
+
];
|
|
292
|
+
const result = getIPv6FromDualstack(networks);
|
|
293
|
+
expect(result).toEqual({ cidr: 'fd01::/48', hostPrefix: 64, clusterId: 'test' });
|
|
294
|
+
});
|
|
295
|
+
|
|
296
|
+
test('returns undefined when no IPv6 entry is present', () => {
|
|
297
|
+
const networks = [{ cidr: '10.128.0.0/14', hostPrefix: 23, clusterId: 'test' }];
|
|
298
|
+
expect(getIPv6FromDualstack(networks)).toBeUndefined();
|
|
299
|
+
});
|
|
300
|
+
|
|
301
|
+
test('returns undefined for an empty array', () => {
|
|
302
|
+
expect(getIPv6FromDualstack([])).toBeUndefined();
|
|
303
|
+
});
|
|
304
|
+
|
|
305
|
+
test('returns undefined for undefined input', () => {
|
|
306
|
+
expect(getIPv6FromDualstack(undefined)).toBeUndefined();
|
|
307
|
+
});
|
|
308
|
+
|
|
309
|
+
test('works with service networks (no hostPrefix)', () => {
|
|
310
|
+
const networks = [
|
|
311
|
+
{ cidr: '172.30.0.0/16', clusterId: 'test' },
|
|
312
|
+
{ cidr: 'fd02::/112', clusterId: 'test' },
|
|
313
|
+
];
|
|
314
|
+
const result = getIPv6FromDualstack(networks);
|
|
315
|
+
expect(result).toEqual({ cidr: 'fd02::/112', clusterId: 'test' });
|
|
316
|
+
});
|
|
317
|
+
});
|
|
@@ -188,6 +188,19 @@ export const canBeDualStack = (subnets: HostSubnets) =>
|
|
|
188
188
|
subnets.some((subnet) => Address4.isValid(subnet.subnet)) &&
|
|
189
189
|
subnets.some((subnet) => Address6.isValid(subnet.subnet));
|
|
190
190
|
|
|
191
|
+
export const isPrimaryIPv6 = (machineNetworks: MachineNetwork[] | undefined): boolean => {
|
|
192
|
+
const cidr = machineNetworks?.[0]?.cidr;
|
|
193
|
+
return !!cidr && Address6.isValid(cidr);
|
|
194
|
+
};
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* Find the IPv6 entry in a dualstack network array.
|
|
198
|
+
* Dualstack arrays contain one IPv4 and one IPv6 entry; this helper returns the IPv6 one.
|
|
199
|
+
*/
|
|
200
|
+
export const getIPv6FromDualstack = <T extends { cidr?: string }>(
|
|
201
|
+
networks: T[] | undefined,
|
|
202
|
+
): T | undefined => networks?.find((n) => n.cidr && Address6.isValid(n.cidr));
|
|
203
|
+
|
|
191
204
|
const areNetworksDualStack = (
|
|
192
205
|
networks: (MachineNetwork | ClusterNetwork | ServiceNetwork)[] | undefined,
|
|
193
206
|
openshiftVersion?: string,
|
|
@@ -138,7 +138,7 @@ export const ConsoleModal: React.FC<ConsoleModalProps> = ({
|
|
|
138
138
|
type="submit"
|
|
139
139
|
key="launch"
|
|
140
140
|
variant={ButtonVariant.primary}
|
|
141
|
-
onClick={() => window.open(consoleUrl, '_blank', 'noopener')}
|
|
141
|
+
onClick={() => window.open(consoleUrl, '_blank', 'noopener,noreferrer')}
|
|
142
142
|
isDisabled={!consoleUrl}
|
|
143
143
|
>
|
|
144
144
|
{t('ai:Launch OpenShift Console')}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import {
|
|
3
3
|
Alert,
|
|
4
4
|
AlertActionLink,
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
Stack,
|
|
9
9
|
StackItem,
|
|
10
10
|
} from '@patternfly/react-core';
|
|
11
|
-
import { FieldArray, useFormikContext
|
|
11
|
+
import { FieldArray, useFormikContext } from 'formik';
|
|
12
12
|
import { Address4, Address6 } from 'ip-address';
|
|
13
13
|
|
|
14
14
|
import { HostSubnet, NetworkConfigurationValues } from '../../../types';
|
|
@@ -17,39 +17,11 @@ import { isMajorMinorVersionEqualOrGreater } from '../../../utils';
|
|
|
17
17
|
import { useTranslation } from '../../../hooks/use-translation-wrapper';
|
|
18
18
|
import { SubnetsDropdown } from './SubnetsDropdown';
|
|
19
19
|
import { reorderNetworksForPrimary } from './reorderNetworks';
|
|
20
|
-
import {
|
|
21
|
-
Cluster,
|
|
22
|
-
Host,
|
|
23
|
-
MachineNetwork,
|
|
24
|
-
} from '@openshift-assisted/types/assisted-installer-service';
|
|
20
|
+
import { Cluster, Host } from '@openshift-assisted/types/assisted-installer-service';
|
|
25
21
|
|
|
26
22
|
const subnetSort = (subA: HostSubnet, subB: HostSubnet) =>
|
|
27
23
|
subA.humanized.localeCompare(subB.humanized);
|
|
28
24
|
|
|
29
|
-
const useAutoSelectDefaultMachineNetworks = (
|
|
30
|
-
autoSelectNetwork: boolean,
|
|
31
|
-
setFieldValue: FormikHelpers<NetworkConfigurationValues>['setFieldValue'],
|
|
32
|
-
cidrV4: MachineNetwork['cidr'],
|
|
33
|
-
cidrV6: MachineNetwork['cidr'],
|
|
34
|
-
clusterId: string,
|
|
35
|
-
isDualStack: boolean,
|
|
36
|
-
) => {
|
|
37
|
-
useEffect(() => {
|
|
38
|
-
if (autoSelectNetwork) {
|
|
39
|
-
setFieldValue(
|
|
40
|
-
'machineNetworks',
|
|
41
|
-
isDualStack
|
|
42
|
-
? [
|
|
43
|
-
{ cidr: cidrV4, clusterId },
|
|
44
|
-
{ cidr: cidrV6, clusterId },
|
|
45
|
-
]
|
|
46
|
-
: [{ cidr: cidrV4, clusterId }],
|
|
47
|
-
false,
|
|
48
|
-
);
|
|
49
|
-
}
|
|
50
|
-
}, [autoSelectNetwork, cidrV4, cidrV6, clusterId, isDualStack, setFieldValue]);
|
|
51
|
-
};
|
|
52
|
-
|
|
53
25
|
export interface AvailableSubnetsControlProps {
|
|
54
26
|
clusterId: Cluster['id'];
|
|
55
27
|
hostSubnets: HostSubnet[];
|
|
@@ -81,31 +53,24 @@ export const AvailableSubnetsControl = ({
|
|
|
81
53
|
const supportsIPv6Primary =
|
|
82
54
|
openshiftVersion && isMajorMinorVersionEqualOrGreater(openshiftVersion, '4.12');
|
|
83
55
|
|
|
84
|
-
const IPv4Subnets = hostSubnets
|
|
85
|
-
.filter((subnet) => Address4.isValid(subnet.subnet))
|
|
86
|
-
.sort(subnetSort);
|
|
87
|
-
const IPv6Subnets = hostSubnets
|
|
88
|
-
.filter((subnet) => Address6.isValid(subnet.subnet))
|
|
89
|
-
.sort(subnetSort);
|
|
90
|
-
|
|
91
56
|
// For OCP >= 4.12, both networks can use either IPv4 or IPv6
|
|
92
|
-
const allSubnets =
|
|
93
|
-
|
|
94
|
-
|
|
57
|
+
const { IPv4Subnets, IPv6Subnets, allSubnets } = React.useMemo(() => {
|
|
58
|
+
const IPv4Subnets = hostSubnets
|
|
59
|
+
.filter((subnet) => Address4.isValid(subnet.subnet))
|
|
60
|
+
.sort(subnetSort);
|
|
95
61
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
);
|
|
62
|
+
const IPv6Subnets = hostSubnets
|
|
63
|
+
.filter((subnet) => Address6.isValid(subnet.subnet))
|
|
64
|
+
.sort(subnetSort);
|
|
65
|
+
|
|
66
|
+
const allSubnets = supportsIPv6Primary ? [...IPv4Subnets, ...IPv6Subnets] : IPv4Subnets;
|
|
67
|
+
|
|
68
|
+
return {
|
|
69
|
+
IPv4Subnets,
|
|
70
|
+
IPv6Subnets,
|
|
71
|
+
allSubnets,
|
|
72
|
+
};
|
|
73
|
+
}, [hostSubnets, supportsIPv6Primary]);
|
|
109
74
|
|
|
110
75
|
// Ensure primary and secondary machine networks are not in the same stack (IPv4/IPv6).
|
|
111
76
|
// If the user switches primary to the same address family as secondary, adjust secondary to the opposite family
|
|
@@ -236,6 +201,15 @@ export const AvailableSubnetsControl = ({
|
|
|
236
201
|
}
|
|
237
202
|
}, [supportsIPv6Primary, primaryNetworkCidr, IPv4Subnets, IPv6Subnets, allSubnets]);
|
|
238
203
|
|
|
204
|
+
// Autoselect values in case machineNetworks is empty
|
|
205
|
+
React.useEffect(() => {
|
|
206
|
+
if (!isViewerMode && values.machineNetworks?.length === 0 && primaryMachineSubnets.length) {
|
|
207
|
+
setFieldValue('machineNetworks', [{ cidr: primaryMachineSubnets[0].subnet, clusterId }]);
|
|
208
|
+
}
|
|
209
|
+
// Run only once
|
|
210
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
211
|
+
}, []);
|
|
212
|
+
|
|
239
213
|
return (
|
|
240
214
|
<>
|
|
241
215
|
<FormGroup
|
|
@@ -252,9 +226,9 @@ export const AvailableSubnetsControl = ({
|
|
|
252
226
|
name="machineNetworks.0.cidr"
|
|
253
227
|
machineSubnets={primaryMachineSubnets}
|
|
254
228
|
isDisabled={isDisabled}
|
|
255
|
-
onAfterSelect={(newSelection) =>
|
|
256
|
-
reorderNetworksForPrimary(newSelection, values, setFieldValue)
|
|
257
|
-
}
|
|
229
|
+
onAfterSelect={(newSelection) => {
|
|
230
|
+
reorderNetworksForPrimary(newSelection, values, setFieldValue);
|
|
231
|
+
}}
|
|
258
232
|
data-testid="subnets-dropdown-toggle-primary"
|
|
259
233
|
/>
|
|
260
234
|
</StackItem>
|