@openshift-assisted/ui-lib 2.50.1 → 2.51.1
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/Agent/BMHStatusInfo.d.ts.map +1 -1
- package/build/@types/cim/components/Agent/MinimalHWRequirements.d.ts.map +1 -1
- package/build/@types/cim/components/ClusterDeployment/use-networking-formik.d.ts +1 -1
- package/build/@types/cim/components/ClusterDeployment/wizardTransition.d.ts +1 -1
- package/build/@types/cim/components/ClusterDeployment/wizardTransition.d.ts.map +1 -1
- package/build/@types/cim/components/Hypershift/DetailsPage/ConditionsTable.d.ts.map +1 -1
- package/build/@types/cim/components/Hypershift/DetailsPage/HostedClusterProgress.d.ts.map +1 -1
- package/build/@types/cim/components/Hypershift/DetailsPage/NodePoolsProgress.d.ts.map +1 -1
- package/build/@types/cim/components/Hypershift/utils/status.d.ts +2 -2
- package/build/@types/cim/components/Hypershift/utils/status.d.ts.map +1 -1
- package/build/@types/cim/components/InfraEnv/EnvironmentDetails.d.ts.map +1 -1
- package/build/@types/cim/components/InfraEnv/InfraEnvHostsTabAgentsWarning.d.ts.map +1 -1
- package/build/@types/cim/components/helpers/agentStatus.d.ts +1 -1
- package/build/@types/cim/components/helpers/agentStatus.d.ts.map +1 -1
- package/build/@types/cim/components/modals/MassDeleteAgentModal.d.ts.map +1 -1
- package/build/@types/common/components/clusterConfiguration/DiscoveryTroubleshootingModal.d.ts.map +1 -1
- package/build/@types/common/components/clusterDetail/FinalizingProgress.d.ts +1 -1
- package/build/@types/common/components/clusterDetail/FinalizingProgress.d.ts.map +1 -1
- package/build/@types/common/components/clusterDetail/OperatorsProgressItem.d.ts.map +1 -1
- package/build/@types/common/components/clusterDetail/ProgressBarTexts.d.ts.map +1 -1
- package/build/@types/common/components/clusterWizard/ReviewValidations.d.ts.map +1 -1
- package/build/@types/common/components/clusterWizard/networkingSteps/StackTypeControlGroup.d.ts.map +1 -1
- package/build/@types/common/components/clusterWizard/networkingSteps/VirtualIPControlGroup.d.ts.map +1 -1
- package/build/@types/common/components/hosts/HostPropertyValidationPopover.d.ts.map +1 -1
- package/build/@types/common/components/hosts/HostStatus.d.ts.map +1 -1
- package/build/@types/common/components/hosts/HostValidationGroups.d.ts.map +1 -1
- package/build/@types/common/components/hosts/Hostname.d.ts.map +1 -1
- package/build/@types/common/components/hosts/MassChangeHostnameModal.d.ts.map +1 -1
- package/build/@types/common/components/hosts/VMRebootConfigurationInfo.d.ts.map +1 -1
- package/build/@types/common/components/hosts/status.d.ts.map +1 -1
- package/build/@types/common/components/storage/DisksTable.d.ts.map +1 -1
- package/build/@types/common/components/storage/StorageUtils.d.ts +1 -1
- package/build/@types/common/components/storage/StorageUtils.d.ts.map +1 -1
- package/build/@types/common/components/ui/WizardNavItem.d.ts.map +1 -1
- package/build/@types/common/components/ui/formik/RemovableField.d.ts.map +1 -1
- package/build/@types/common/components/ui/formik/RichInputField.d.ts.map +1 -1
- package/build/@types/common/components/ui/index.d.ts +0 -1
- package/build/@types/common/components/ui/index.d.ts.map +1 -1
- package/build/@types/common/config/constants.d.ts +2 -2
- package/build/@types/common/config/constants.d.ts.map +1 -1
- package/build/@types/common/config/docs_links.d.ts +1 -0
- package/build/@types/common/config/docs_links.d.ts.map +1 -1
- package/build/@types/common/types/index.d.ts +1 -0
- package/build/@types/common/types/index.d.ts.map +1 -1
- package/build/@types/common/types/networkType.d.ts +12 -0
- package/build/@types/common/types/networkType.d.ts.map +1 -0
- package/build/@types/common/types/ui-settings.d.ts +0 -1
- package/build/@types/common/types/ui-settings.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/OcmOperatorProgressItem.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/OpenshiftVersionHelperText.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/CustomManifestsPage.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsArray.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/NetworkTypeDropdown.d.ts +8 -0
- package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkTypeDropdown.d.ts.map +1 -0
- package/build/@types/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationNote.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/ReviewPreflightChecks.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterDetail/ClusterProperties.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterDetail/HostInventoryExpandable.d.ts +1 -1
- package/build/@types/ocm/components/clusterDetail/HostInventoryExpandable.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterDetail/OpenShiftVersionDetail.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterDetail/ResetClusterModal.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterWizard/ClusterDetails.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterWizard/ClusterDetailsForm.d.ts +2 -2
- package/build/@types/ocm/components/clusterWizard/ClusterDetailsForm.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterWizard/ClusterWizardContext.d.ts +0 -2
- package/build/@types/ocm/components/clusterWizard/ClusterWizardContext.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterWizard/ClusterWizardContextProvider.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterWizard/constants.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterWizard/disconnected/BasicStep.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterWizard/wizardTransition.d.ts +1 -1
- package/build/@types/ocm/components/clusterWizard/wizardTransition.d.ts.map +1 -1
- package/build/@types/ocm/components/clusters/ClusterStatus.d.ts.map +1 -1
- package/build/@types/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.d.ts.map +1 -1
- package/build/@types/ocm/components/featureSupportLevels/featureStateUtils.d.ts.map +1 -1
- package/build/@types/ocm/components/ui/InfoLinkWithModal.d.ts.map +1 -1
- package/build/@types/ocm/hooks/useUISettings.d.ts.map +1 -1
- package/build/@types/ocm/services/ClusterDetailsService.d.ts +1 -2
- package/build/@types/ocm/services/ClusterDetailsService.d.ts.map +1 -1
- package/build/@types/ocm/services/types.d.ts +0 -1
- package/build/@types/ocm/services/types.d.ts.map +1 -1
- package/build/@types/ocm/store/slices/clusters/selectors.d.ts +1 -2
- package/build/@types/ocm/store/slices/clusters/selectors.d.ts.map +1 -1
- package/build/@types/ocm/store/slices/current-cluster/slice.d.ts +3 -3
- package/build/cjs/cim/components/Agent/BMHStatusInfo.js +4 -4
- package/build/cjs/cim/components/Agent/BMHStatusInfo.js.map +1 -1
- package/build/cjs/cim/components/Agent/MinimalHWRequirements.js +2 -2
- package/build/cjs/cim/components/Agent/MinimalHWRequirements.js.map +1 -1
- package/build/cjs/cim/components/ClusterDeployment/networkConfigurationValidation.js +3 -3
- package/build/cjs/cim/components/ClusterDeployment/networkConfigurationValidation.js.map +1 -1
- package/build/cjs/cim/components/Hypershift/DetailsPage/ConditionsTable.js +7 -6
- package/build/cjs/cim/components/Hypershift/DetailsPage/ConditionsTable.js.map +1 -1
- package/build/cjs/cim/components/Hypershift/DetailsPage/HostedClusterProgress.js +3 -2
- package/build/cjs/cim/components/Hypershift/DetailsPage/HostedClusterProgress.js.map +1 -1
- package/build/cjs/cim/components/Hypershift/DetailsPage/NodePoolsProgress.js +2 -2
- package/build/cjs/cim/components/Hypershift/DetailsPage/NodePoolsProgress.js.map +1 -1
- package/build/cjs/cim/components/Hypershift/utils/status.js +8 -7
- package/build/cjs/cim/components/Hypershift/utils/status.js.map +1 -1
- package/build/cjs/cim/components/InfraEnv/EnvironmentDetails.js +4 -4
- package/build/cjs/cim/components/InfraEnv/EnvironmentDetails.js.map +1 -1
- package/build/cjs/cim/components/InfraEnv/InfraEnvHostsTabAgentsWarning.js +3 -3
- package/build/cjs/cim/components/InfraEnv/InfraEnvHostsTabAgentsWarning.js.map +1 -1
- package/build/cjs/cim/components/helpers/agentStatus.js +3 -2
- package/build/cjs/cim/components/helpers/agentStatus.js.map +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/DiscoveryTroubleshootingModal.js +2 -1
- package/build/cjs/common/components/clusterConfiguration/DiscoveryTroubleshootingModal.js.map +1 -1
- package/build/cjs/common/components/clusterDetail/FinalizingProgress.js +8 -7
- package/build/cjs/common/components/clusterDetail/FinalizingProgress.js.map +1 -1
- package/build/cjs/common/components/clusterDetail/OperatorsProgressItem.js +4 -4
- package/build/cjs/common/components/clusterDetail/OperatorsProgressItem.js.map +1 -1
- package/build/cjs/common/components/clusterDetail/ProgressBarTexts.js +5 -4
- package/build/cjs/common/components/clusterDetail/ProgressBarTexts.js.map +1 -1
- package/build/cjs/common/components/clusterWizard/ReviewValidations.js +7 -6
- package/build/cjs/common/components/clusterWizard/ReviewValidations.js.map +1 -1
- package/build/cjs/common/components/clusterWizard/networkingSteps/NetworkTypeControlGroup.js +3 -3
- package/build/cjs/common/components/clusterWizard/networkingSteps/NetworkTypeControlGroup.js.map +1 -1
- package/build/cjs/common/components/clusterWizard/networkingSteps/StackTypeControlGroup.js +3 -2
- package/build/cjs/common/components/clusterWizard/networkingSteps/StackTypeControlGroup.js.map +1 -1
- package/build/cjs/common/components/clusterWizard/networkingSteps/VirtualIPControlGroup.js +2 -1
- package/build/cjs/common/components/clusterWizard/networkingSteps/VirtualIPControlGroup.js.map +1 -1
- package/build/cjs/common/components/hosts/HostPropertyValidationPopover.js +6 -6
- package/build/cjs/common/components/hosts/HostPropertyValidationPopover.js.map +1 -1
- package/build/cjs/common/components/hosts/HostStatus.js +2 -1
- package/build/cjs/common/components/hosts/HostStatus.js.map +1 -1
- package/build/cjs/common/components/hosts/HostValidationGroups.js +6 -6
- package/build/cjs/common/components/hosts/HostValidationGroups.js.map +1 -1
- package/build/cjs/common/components/hosts/Hostname.js +4 -3
- package/build/cjs/common/components/hosts/Hostname.js.map +1 -1
- package/build/cjs/common/components/hosts/MassChangeHostnameModal.js +2 -2
- package/build/cjs/common/components/hosts/MassChangeHostnameModal.js.map +1 -1
- package/build/cjs/common/components/hosts/VMRebootConfigurationInfo.js +2 -1
- package/build/cjs/common/components/hosts/VMRebootConfigurationInfo.js.map +1 -1
- package/build/cjs/common/components/hosts/status.js +19 -13
- package/build/cjs/common/components/hosts/status.js.map +1 -1
- package/build/cjs/common/components/storage/DisksTable.js +4 -2
- package/build/cjs/common/components/storage/DisksTable.js.map +1 -1
- package/build/cjs/common/components/storage/StorageUtils.js +3 -2
- package/build/cjs/common/components/storage/StorageUtils.js.map +1 -1
- package/build/cjs/common/components/ui/WizardNavItem.js +2 -2
- package/build/cjs/common/components/ui/WizardNavItem.js.map +1 -1
- package/build/cjs/common/components/ui/formik/RemovableField.js +3 -3
- package/build/cjs/common/components/ui/formik/RemovableField.js.map +1 -1
- package/build/cjs/common/components/ui/formik/RichInputField.js +4 -4
- package/build/cjs/common/components/ui/formik/RichInputField.js.map +1 -1
- package/build/cjs/common/components/ui/formik/TextAreaField.js +1 -1
- package/build/cjs/common/components/ui/formik/TextAreaField.js.map +1 -1
- package/build/cjs/common/components/ui/index.js +1 -3
- package/build/cjs/common/components/ui/index.js.map +1 -1
- package/build/cjs/common/config/constants.js +3 -4
- package/build/cjs/common/config/constants.js.map +1 -1
- package/build/cjs/common/config/docs_links.js +3 -2
- package/build/cjs/common/config/docs_links.js.map +1 -1
- package/build/cjs/common/types/index.js +1 -0
- package/build/cjs/common/types/index.js.map +1 -1
- package/build/cjs/common/types/networkType.js +28 -0
- package/build/cjs/common/types/networkType.js.map +1 -0
- package/build/cjs/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.js +1 -7
- package/build/cjs/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/OcmOperatorProgressItem.js +4 -4
- package/build/cjs/ocm/components/clusterConfiguration/OcmOperatorProgressItem.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/OpenshiftVersionHelperText.js +5 -2
- package/build/cjs/ocm/components/clusterConfiguration/OpenshiftVersionHelperText.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/CustomManifestsPage.js +92 -6
- package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/CustomManifestsPage.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsArray.js +4 -1
- package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsArray.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.js +3 -6
- package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkTypeDropdown.js +61 -0
- package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkTypeDropdown.js.map +1 -0
- package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationNote.js +5 -3
- package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationNote.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/review/ReviewNetworkingTable.js +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/review/ReviewNetworkingTable.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/review/ReviewPreflightChecks.js +11 -7
- package/build/cjs/ocm/components/clusterConfiguration/review/ReviewPreflightChecks.js.map +1 -1
- package/build/cjs/ocm/components/clusterDetail/ClusterProperties.js +1 -5
- package/build/cjs/ocm/components/clusterDetail/ClusterProperties.js.map +1 -1
- package/build/cjs/ocm/components/clusterDetail/HostInventoryExpandable.js +5 -4
- package/build/cjs/ocm/components/clusterDetail/HostInventoryExpandable.js.map +1 -1
- package/build/cjs/ocm/components/clusterDetail/OpenShiftVersionDetail.js +4 -3
- package/build/cjs/ocm/components/clusterDetail/OpenShiftVersionDetail.js.map +1 -1
- package/build/cjs/ocm/components/clusterDetail/ResetClusterModal.js +4 -2
- package/build/cjs/ocm/components/clusterDetail/ResetClusterModal.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/ClusterDetails.js +16 -9
- package/build/cjs/ocm/components/clusterWizard/ClusterDetails.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/ClusterDetailsForm.js +5 -7
- package/build/cjs/ocm/components/clusterWizard/ClusterDetailsForm.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/ClusterWizardContext.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/ClusterWizardContextProvider.js +13 -24
- package/build/cjs/ocm/components/clusterWizard/ClusterWizardContextProvider.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/constants.js +1 -0
- package/build/cjs/ocm/components/clusterWizard/constants.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/disconnected/BasicStep.js +7 -6
- package/build/cjs/ocm/components/clusterWizard/disconnected/BasicStep.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/wizardTransition.js +9 -1
- package/build/cjs/ocm/components/clusterWizard/wizardTransition.js.map +1 -1
- package/build/cjs/ocm/components/clusters/ClusterStatus.js +13 -7
- package/build/cjs/ocm/components/clusters/ClusterStatus.js.map +1 -1
- package/build/cjs/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.js +7 -6
- package/build/cjs/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.js.map +1 -1
- package/build/cjs/ocm/components/featureSupportLevels/featureStateUtils.js +15 -0
- package/build/cjs/ocm/components/featureSupportLevels/featureStateUtils.js.map +1 -1
- package/build/cjs/ocm/components/ui/InfoLinkWithModal.js +2 -2
- package/build/cjs/ocm/components/ui/InfoLinkWithModal.js.map +1 -1
- package/build/cjs/ocm/hooks/useUISettings.js +0 -1
- package/build/cjs/ocm/hooks/useUISettings.js.map +1 -1
- package/build/cjs/ocm/services/ClusterDetailsService.js +2 -2
- package/build/cjs/ocm/services/ClusterDetailsService.js.map +1 -1
- package/build/cjs/ocm/store/slices/clusters/selectors.js.map +1 -1
- package/lib/cim/components/Agent/BMHStatusInfo.tsx +12 -4
- package/lib/cim/components/Agent/MinimalHWRequirements.tsx +4 -2
- package/lib/cim/components/ClusterDeployment/networkConfigurationValidation.ts +1 -1
- package/lib/cim/components/Hypershift/DetailsPage/ConditionsTable.tsx +13 -7
- package/lib/cim/components/Hypershift/DetailsPage/HostedClusterProgress.tsx +8 -4
- package/lib/cim/components/Hypershift/DetailsPage/NodePoolsProgress.tsx +6 -2
- package/lib/cim/components/Hypershift/utils/status.tsx +20 -9
- package/lib/cim/components/InfraEnv/EnvironmentDetails.tsx +11 -4
- package/lib/cim/components/InfraEnv/InfraEnvHostsTabAgentsWarning.tsx +4 -6
- package/lib/cim/components/helpers/agentStatus.tsx +7 -3
- package/lib/cim/components/modals/MassDeleteAgentModal.tsx +12 -5
- package/lib/common/components/clusterConfiguration/DiscoveryTroubleshootingModal.tsx +5 -2
- package/lib/common/components/clusterDetail/FinalizingProgress.tsx +21 -10
- package/lib/common/components/clusterDetail/OperatorsProgressItem.tsx +11 -5
- package/lib/common/components/clusterDetail/ProgressBarTexts.tsx +17 -5
- package/lib/common/components/clusterWizard/ReviewValidations.tsx +15 -6
- package/lib/common/components/clusterWizard/networkingSteps/NetworkTypeControlGroup.tsx +1 -1
- package/lib/common/components/clusterWizard/networkingSteps/StackTypeControlGroup.tsx +5 -6
- package/lib/common/components/clusterWizard/networkingSteps/VirtualIPControlGroup.tsx +2 -2
- package/lib/common/components/hosts/HostPropertyValidationPopover.tsx +9 -5
- package/lib/common/components/hosts/HostStatus.tsx +14 -3
- package/lib/common/components/hosts/HostValidationGroups.tsx +9 -5
- package/lib/common/components/hosts/Hostname.tsx +7 -4
- package/lib/common/components/hosts/MassChangeHostnameModal.tsx +6 -2
- package/lib/common/components/hosts/VMRebootConfigurationInfo.tsx +12 -3
- package/lib/common/components/hosts/status.tsx +46 -13
- package/lib/common/components/storage/DisksTable.tsx +15 -4
- package/lib/common/components/storage/StorageUtils.tsx +6 -4
- package/lib/common/components/ui/WizardNavItem.tsx +4 -7
- package/lib/common/components/ui/formik/RemovableField.tsx +8 -4
- package/lib/common/components/ui/formik/RichInputField.tsx +10 -6
- package/lib/common/components/ui/formik/TextAreaField.tsx +1 -1
- package/lib/common/components/ui/index.ts +0 -2
- package/lib/common/config/constants.ts +1 -3
- package/lib/common/config/docs_links.ts +2 -0
- package/lib/common/types/index.ts +1 -0
- package/lib/common/types/networkType.ts +37 -0
- package/lib/common/types/ui-settings.ts +0 -1
- package/lib/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.tsx +1 -8
- package/lib/ocm/components/clusterConfiguration/OcmOperatorProgressItem.tsx +11 -5
- package/lib/ocm/components/clusterConfiguration/OpenshiftVersionHelperText.tsx +8 -7
- package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/CustomManifestsPage.tsx +160 -20
- package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsArray.tsx +5 -1
- package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.tsx +7 -10
- package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkTypeDropdown.tsx +142 -0
- package/lib/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationNote.tsx +6 -3
- package/lib/ocm/components/clusterConfiguration/review/ReviewNetworkingTable.tsx +3 -7
- package/lib/ocm/components/clusterConfiguration/review/ReviewPreflightChecks.tsx +28 -15
- package/lib/ocm/components/clusterDetail/ClusterProperties.tsx +2 -6
- package/lib/ocm/components/clusterDetail/HostInventoryExpandable.tsx +11 -5
- package/lib/ocm/components/clusterDetail/OpenShiftVersionDetail.tsx +8 -5
- package/lib/ocm/components/clusterDetail/ResetClusterModal.tsx +6 -3
- package/lib/ocm/components/clusterWizard/ClusterDetails.tsx +17 -13
- package/lib/ocm/components/clusterWizard/ClusterDetailsForm.tsx +7 -8
- package/lib/ocm/components/clusterWizard/ClusterWizardContext.tsx +0 -2
- package/lib/ocm/components/clusterWizard/ClusterWizardContextProvider.tsx +20 -42
- package/lib/ocm/components/clusterWizard/constants.ts +1 -0
- package/lib/ocm/components/clusterWizard/disconnected/BasicStep.tsx +12 -11
- package/lib/ocm/components/clusterWizard/wizardTransition.ts +9 -1
- package/lib/ocm/components/clusters/ClusterStatus.tsx +30 -8
- package/lib/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.tsx +12 -8
- package/lib/ocm/components/featureSupportLevels/featureStateUtils.ts +17 -0
- package/lib/ocm/components/ui/InfoLinkWithModal.tsx +4 -2
- package/lib/ocm/hooks/useUISettings.ts +0 -1
- package/lib/ocm/services/ClusterDetailsService.ts +0 -3
- package/lib/ocm/services/types.ts +0 -1
- package/lib/ocm/store/slices/clusters/selectors.tsx +2 -1
- package/package.json +4 -4
- package/build/@types/common/components/ui/UiIcon.d.ts +0 -11
- package/build/@types/common/components/ui/UiIcon.d.ts.map +0 -1
- package/build/@types/ocm/components/clusterConfiguration/CustomManifestCheckbox.d.ts +0 -8
- package/build/@types/ocm/components/clusterConfiguration/CustomManifestCheckbox.d.ts.map +0 -1
- package/build/cjs/common/components/ui/UiIcon.js +0 -11
- package/build/cjs/common/components/ui/UiIcon.js.map +0 -1
- package/build/cjs/ocm/components/clusterConfiguration/CustomManifestCheckbox.js +0 -58
- package/build/cjs/ocm/components/clusterConfiguration/CustomManifestCheckbox.js.map +0 -1
- package/lib/common/components/ui/UiIcon.tsx +0 -21
- package/lib/ocm/components/clusterConfiguration/CustomManifestCheckbox.tsx +0 -114
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
Button,
|
|
5
5
|
ButtonVariant,
|
|
6
6
|
Content,
|
|
7
|
+
Icon,
|
|
7
8
|
Modal,
|
|
8
9
|
ModalBody,
|
|
9
10
|
ModalFooter,
|
|
@@ -16,7 +17,7 @@ import { getApiErrorMessage, handleApiError } from '../../../common/api';
|
|
|
16
17
|
import { updateCluster } from '../../store/slices/current-cluster/slice';
|
|
17
18
|
import { calculateCollectedLogsCount } from '../clusters/utils';
|
|
18
19
|
import { useModalDialogsContext } from '../hosts/ModalDialogsContext';
|
|
19
|
-
import { ErrorState, LoadingState
|
|
20
|
+
import { ErrorState, LoadingState } from '../../../common';
|
|
20
21
|
import { ClustersAPI } from '../../services/apis';
|
|
21
22
|
|
|
22
23
|
const ResetClusterModal: React.FC = () => {
|
|
@@ -87,8 +88,10 @@ const ResetClusterModal: React.FC = () => {
|
|
|
87
88
|
</Content>
|
|
88
89
|
|
|
89
90
|
<Content component="p">
|
|
90
|
-
<
|
|
91
|
-
|
|
91
|
+
<Icon size="sm" status="warning">
|
|
92
|
+
<ExclamationTriangleIcon />
|
|
93
|
+
</Icon>{' '}
|
|
94
|
+
Logs won't be available after the installation is reset.
|
|
92
95
|
</Content>
|
|
93
96
|
|
|
94
97
|
<Content component="p">Are you sure you want to reset the cluster?</Content>
|
|
@@ -49,11 +49,7 @@ const ClusterDetails = ({ cluster, infraEnv }: ClusterDetailsProps) => {
|
|
|
49
49
|
const isSingleClusterFeatureEnabled = useFeature('ASSISTED_INSTALLER_SINGLE_CLUSTER_FEATURE');
|
|
50
50
|
|
|
51
51
|
const handleClusterUpdate = React.useCallback(
|
|
52
|
-
async (
|
|
53
|
-
clusterId: Cluster['id'],
|
|
54
|
-
params: ClusterDetailsUpdateParams,
|
|
55
|
-
addCustomManifests: boolean,
|
|
56
|
-
) => {
|
|
52
|
+
async (clusterId: Cluster['id'], params: ClusterDetailsUpdateParams) => {
|
|
57
53
|
clearAlerts();
|
|
58
54
|
|
|
59
55
|
try {
|
|
@@ -62,7 +58,6 @@ const ClusterDetails = ({ cluster, infraEnv }: ClusterDetailsProps) => {
|
|
|
62
58
|
cluster?.tags,
|
|
63
59
|
params,
|
|
64
60
|
);
|
|
65
|
-
await clusterWizardContext.updateUISettings({ addCustomManifests });
|
|
66
61
|
dispatch(updateCluster(updatedCluster));
|
|
67
62
|
|
|
68
63
|
canNextClusterDetails({ cluster: updatedCluster }) && clusterWizardContext.moveNext();
|
|
@@ -79,7 +74,7 @@ const ClusterDetails = ({ cluster, infraEnv }: ClusterDetailsProps) => {
|
|
|
79
74
|
);
|
|
80
75
|
|
|
81
76
|
const handleClusterCreate = React.useCallback(
|
|
82
|
-
async (params: ClusterCreateParamsWithStaticNetworking
|
|
77
|
+
async (params: ClusterCreateParamsWithStaticNetworking) => {
|
|
83
78
|
clearAlerts();
|
|
84
79
|
try {
|
|
85
80
|
const searchParams = new URLSearchParams(location.search);
|
|
@@ -107,14 +102,23 @@ const ClusterDetails = ({ cluster, infraEnv }: ClusterDetailsProps) => {
|
|
|
107
102
|
);
|
|
108
103
|
navigate(`../${cluster.id}`, { state: ClusterWizardFlowStateNew });
|
|
109
104
|
|
|
110
|
-
const uiPatch: UISettingsValues = { addCustomManifests };
|
|
111
105
|
if (isAssistedMigration) {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
106
|
+
try {
|
|
107
|
+
const uiPatch: UISettingsValues = {
|
|
108
|
+
bundlesSelected: ['virtualization'],
|
|
109
|
+
isAssistedMigration: true,
|
|
110
|
+
};
|
|
111
|
+
await UISettingService.update(cluster.id, uiPatch);
|
|
112
|
+
await clusterWizardContext.updateUISettings(uiPatch);
|
|
113
|
+
} catch (uiError) {
|
|
114
|
+
handleApiError(uiError, () =>
|
|
115
|
+
addAlert({
|
|
116
|
+
title: 'Failed to update UI settings',
|
|
117
|
+
message: getApiErrorMessage(uiError),
|
|
118
|
+
}),
|
|
119
|
+
);
|
|
120
|
+
}
|
|
115
121
|
}
|
|
116
|
-
await UISettingService.update(cluster.id, uiPatch);
|
|
117
|
-
await clusterWizardContext.updateUISettings(uiPatch); // keeps local state current
|
|
118
122
|
} catch (e) {
|
|
119
123
|
handleApiError(e, () =>
|
|
120
124
|
addAlert({ title: 'Failed to create new cluster', message: getApiErrorMessage(e) }),
|
|
@@ -11,9 +11,10 @@ import {
|
|
|
11
11
|
getRichTextValidation,
|
|
12
12
|
useAlerts,
|
|
13
13
|
TechnologyPreview,
|
|
14
|
+
OpenshiftVersionOptionType,
|
|
15
|
+
getFormikErrorFields,
|
|
14
16
|
} from '../../../common';
|
|
15
17
|
import { canNextClusterDetails } from './wizardTransition';
|
|
16
|
-
import { OpenshiftVersionOptionType, getFormikErrorFields } from '../../../common';
|
|
17
18
|
import ClusterWizardFooter from './ClusterWizardFooter';
|
|
18
19
|
import { isInOcm } from '../../../common/api';
|
|
19
20
|
import {
|
|
@@ -42,11 +43,10 @@ type ClusterDetailsFormProps = {
|
|
|
42
43
|
ocpVersions: OpenshiftVersionOptionType[];
|
|
43
44
|
usedClusterNames: string[];
|
|
44
45
|
navigation: React.ReactNode;
|
|
45
|
-
handleClusterCreate: (params: ClusterCreateParams
|
|
46
|
+
handleClusterCreate: (params: ClusterCreateParams) => Promise<void>;
|
|
46
47
|
handleClusterUpdate: (
|
|
47
48
|
clusterId: Cluster['id'],
|
|
48
49
|
params: ClusterDetailsUpdateParams,
|
|
49
|
-
addCustomManifests: boolean,
|
|
50
50
|
) => Promise<void>;
|
|
51
51
|
};
|
|
52
52
|
|
|
@@ -63,7 +63,7 @@ const ClusterDetailsForm = (props: ClusterDetailsFormProps) => {
|
|
|
63
63
|
navigation,
|
|
64
64
|
} = props;
|
|
65
65
|
|
|
66
|
-
const {
|
|
66
|
+
const { moveNext } = useClusterWizardContext();
|
|
67
67
|
const { search } = useLocation();
|
|
68
68
|
const { isViewerMode } = useSelector(selectCurrentClusterPermissionsState);
|
|
69
69
|
const { clearAlerts } = useAlerts();
|
|
@@ -82,10 +82,10 @@ const ClusterDetailsForm = (props: ClusterDetailsFormProps) => {
|
|
|
82
82
|
resetPlatform = 'baremetal';
|
|
83
83
|
}
|
|
84
84
|
const params = ClusterDetailsService.getClusterUpdateParams(values, resetPlatform);
|
|
85
|
-
await handleClusterUpdate(cluster.id, params
|
|
85
|
+
await handleClusterUpdate(cluster.id, params);
|
|
86
86
|
} else {
|
|
87
87
|
const params = ClusterDetailsService.getClusterCreateParams(values);
|
|
88
|
-
await handleClusterCreate(params
|
|
88
|
+
await handleClusterCreate(params);
|
|
89
89
|
}
|
|
90
90
|
},
|
|
91
91
|
[cluster, handleClusterCreate, handleClusterUpdate],
|
|
@@ -118,9 +118,8 @@ const ClusterDetailsForm = (props: ClusterDetailsFormProps) => {
|
|
|
118
118
|
managedDomains,
|
|
119
119
|
ocpVersions,
|
|
120
120
|
urlSearchParams: search,
|
|
121
|
-
addCustomManifests: customManifestsStep,
|
|
122
121
|
}),
|
|
123
|
-
[infraEnv, cluster, pullSecret, managedDomains, ocpVersions, search
|
|
122
|
+
[infraEnv, cluster, pullSecret, managedDomains, ocpVersions, search],
|
|
124
123
|
);
|
|
125
124
|
|
|
126
125
|
const { t } = useTranslation();
|
|
@@ -12,8 +12,6 @@ export type ClusterWizardContextType = {
|
|
|
12
12
|
wizardStepIds: ClusterWizardStepsType[];
|
|
13
13
|
onUpdateStaticIpView(view: StaticIpView): void;
|
|
14
14
|
onUpdateHostNetworkConfigType(type: HostsNetworkConfigurationType): void;
|
|
15
|
-
setCustomManifestsStep(addCustomManifest: boolean): void;
|
|
16
|
-
customManifestsStep: boolean;
|
|
17
15
|
wizardPerPage: number;
|
|
18
16
|
setWizardPerPage: (perPage: number) => void;
|
|
19
17
|
updateUISettings: (data: UISettingsValues) => Promise<void>;
|
|
@@ -13,12 +13,17 @@ import { HostsNetworkConfigurationType } from '../../services';
|
|
|
13
13
|
import { defaultWizardSteps, staticIpFormViewSubSteps } from './constants';
|
|
14
14
|
import { StaticIpView } from '../clusterConfiguration/staticIp/data/dataTypes';
|
|
15
15
|
import { getStaticIpInfo } from '../clusterConfiguration/staticIp/data/fromInfraEnv';
|
|
16
|
-
import {
|
|
16
|
+
import {
|
|
17
|
+
AssistedInstallerOCMPermissionTypesListType,
|
|
18
|
+
useAlerts,
|
|
19
|
+
isThirdPartyCNI,
|
|
20
|
+
} from '../../../common';
|
|
17
21
|
import useSetClusterPermissions from '../../hooks/useSetClusterPermissions';
|
|
18
22
|
import { Cluster, InfraEnv } from '@openshift-assisted/types/assisted-installer-service';
|
|
19
23
|
import { useUISettings } from '../../hooks';
|
|
20
24
|
import { AlertVariant } from '@patternfly/react-core';
|
|
21
25
|
import { useFeature } from '../../hooks/use-feature';
|
|
26
|
+
import { isOciPlatformType } from '../utils';
|
|
22
27
|
|
|
23
28
|
const addStepToClusterWizard = (
|
|
24
29
|
wizardStepIds: ClusterWizardStepsType[],
|
|
@@ -50,7 +55,7 @@ const removeStepFromClusterWizard = (
|
|
|
50
55
|
const getWizardStepIds = (
|
|
51
56
|
wizardStepIds: ClusterWizardStepsType[] | undefined,
|
|
52
57
|
staticIpView?: StaticIpView | 'dhcp-selected',
|
|
53
|
-
|
|
58
|
+
|
|
54
59
|
isSingleClusterFeatureEnabled?: boolean,
|
|
55
60
|
): ClusterWizardStepsType[] => {
|
|
56
61
|
let stepsCopy = wizardStepIds ? [...wizardStepIds] : [...defaultWizardSteps];
|
|
@@ -64,11 +69,6 @@ const getWizardStepIds = (
|
|
|
64
69
|
stepsCopy = removeStepFromClusterWizard(stepsCopy, 'static-ip-network-wide-configurations', 2);
|
|
65
70
|
}
|
|
66
71
|
|
|
67
|
-
if (customManifestsStep) {
|
|
68
|
-
stepsCopy = addStepToClusterWizard(stepsCopy, 'networking', ['custom-manifests']);
|
|
69
|
-
} else {
|
|
70
|
-
stepsCopy = removeStepFromClusterWizard(stepsCopy, 'custom-manifests', 1);
|
|
71
|
-
}
|
|
72
72
|
if (isSingleClusterFeatureEnabled) {
|
|
73
73
|
stepsCopy = addStepToClusterWizard(stepsCopy, 'networking', ['credentials-download']);
|
|
74
74
|
}
|
|
@@ -90,7 +90,6 @@ const ClusterWizardContextProvider = ({
|
|
|
90
90
|
const [currentStepId, setCurrentStepId] = React.useState<ClusterWizardStepsType>();
|
|
91
91
|
const [connectedWizardStepIds, setWizardStepIds] = React.useState<ClusterWizardStepsType[]>();
|
|
92
92
|
const [wizardPerPage, setWizardPerPage] = React.useState(10);
|
|
93
|
-
const [customManifestsStep, setCustomManifestsStep] = React.useState<boolean>(false);
|
|
94
93
|
const [installDisconnected, setInstallDisconnected] = React.useState(false);
|
|
95
94
|
const location = useLocation();
|
|
96
95
|
const locationState = location.state as ClusterWizardFlowStateType | undefined;
|
|
@@ -108,10 +107,13 @@ const ClusterWizardContextProvider = ({
|
|
|
108
107
|
React.useEffect(() => {
|
|
109
108
|
if (!UISettingsLoading) {
|
|
110
109
|
const staticIpInfo = infraEnv ? getStaticIpInfo(infraEnv) : undefined;
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
110
|
+
let customManifestsRequired = false;
|
|
111
|
+
if (cluster) {
|
|
112
|
+
customManifestsRequired =
|
|
113
|
+
isThirdPartyCNI(cluster.networkType) || isOciPlatformType(cluster);
|
|
114
|
+
}
|
|
115
|
+
const customManifestsStepNeedsToBeFilled =
|
|
116
|
+
customManifestsRequired && !uiSettings?.customManifestsAdded;
|
|
115
117
|
|
|
116
118
|
const requiredStepId = getClusterWizardFirstStep(
|
|
117
119
|
locationState,
|
|
@@ -120,11 +122,10 @@ const ClusterWizardContextProvider = ({
|
|
|
120
122
|
cluster?.hosts,
|
|
121
123
|
customManifestsStepNeedsToBeFilled,
|
|
122
124
|
);
|
|
123
|
-
|
|
124
125
|
const firstStepIds = getWizardStepIds(
|
|
125
126
|
wizardStepIds,
|
|
126
127
|
staticIpInfo?.view,
|
|
127
|
-
|
|
128
|
+
|
|
128
129
|
isSingleClusterFeatureEnabled,
|
|
129
130
|
);
|
|
130
131
|
|
|
@@ -138,7 +139,6 @@ const ClusterWizardContextProvider = ({
|
|
|
138
139
|
|
|
139
140
|
setWizardStepIds(firstStepIds);
|
|
140
141
|
setClusterPermissions(cluster, permissions);
|
|
141
|
-
setCustomManifestsStep(!!uiSettings?.addCustomManifests);
|
|
142
142
|
}
|
|
143
143
|
|
|
144
144
|
if (
|
|
@@ -166,10 +166,11 @@ const ClusterWizardContextProvider = ({
|
|
|
166
166
|
if (!staticIpInfo) {
|
|
167
167
|
throw `Wizard step is currently ${currentStepId}, but no static ip info is defined`;
|
|
168
168
|
}
|
|
169
|
+
|
|
169
170
|
const newStepIds = getWizardStepIds(
|
|
170
171
|
wizardStepIds,
|
|
171
172
|
staticIpInfo.view,
|
|
172
|
-
|
|
173
|
+
|
|
173
174
|
isSingleClusterFeatureEnabled,
|
|
174
175
|
);
|
|
175
176
|
setWizardStepIds(newStepIds);
|
|
@@ -183,18 +184,6 @@ const ClusterWizardContextProvider = ({
|
|
|
183
184
|
setCurrentStepId(stepId);
|
|
184
185
|
};
|
|
185
186
|
|
|
186
|
-
const onSetAddCustomManifestsStep = (addCustomManifest: boolean) => {
|
|
187
|
-
setCustomManifestsStep(addCustomManifest);
|
|
188
|
-
setWizardStepIds(
|
|
189
|
-
getWizardStepIds(
|
|
190
|
-
wizardStepIds,
|
|
191
|
-
undefined,
|
|
192
|
-
addCustomManifest,
|
|
193
|
-
isSingleClusterFeatureEnabled,
|
|
194
|
-
),
|
|
195
|
-
);
|
|
196
|
-
};
|
|
197
|
-
|
|
198
187
|
return {
|
|
199
188
|
moveBack(): void {
|
|
200
189
|
clearAlerts();
|
|
@@ -216,9 +205,7 @@ const ClusterWizardContextProvider = ({
|
|
|
216
205
|
} else {
|
|
217
206
|
setCurrentStepId('static-ip-network-wide-configurations');
|
|
218
207
|
}
|
|
219
|
-
setWizardStepIds(
|
|
220
|
-
getWizardStepIds(wizardStepIds, view, customManifestsStep, isSingleClusterFeatureEnabled),
|
|
221
|
-
);
|
|
208
|
+
setWizardStepIds(getWizardStepIds(wizardStepIds, view, isSingleClusterFeatureEnabled));
|
|
222
209
|
},
|
|
223
210
|
onUpdateHostNetworkConfigType(type: HostsNetworkConfigurationType): void {
|
|
224
211
|
if (type === HostsNetworkConfigurationType.STATIC) {
|
|
@@ -226,26 +213,19 @@ const ClusterWizardContextProvider = ({
|
|
|
226
213
|
getWizardStepIds(
|
|
227
214
|
wizardStepIds,
|
|
228
215
|
StaticIpView.FORM,
|
|
229
|
-
|
|
216
|
+
|
|
230
217
|
isSingleClusterFeatureEnabled,
|
|
231
218
|
),
|
|
232
219
|
);
|
|
233
220
|
} else {
|
|
234
221
|
setWizardStepIds(
|
|
235
|
-
getWizardStepIds(
|
|
236
|
-
wizardStepIds,
|
|
237
|
-
'dhcp-selected',
|
|
238
|
-
customManifestsStep,
|
|
239
|
-
isSingleClusterFeatureEnabled,
|
|
240
|
-
),
|
|
222
|
+
getWizardStepIds(wizardStepIds, 'dhcp-selected', isSingleClusterFeatureEnabled),
|
|
241
223
|
);
|
|
242
224
|
}
|
|
243
225
|
},
|
|
244
226
|
wizardStepIds: wizardStepIds,
|
|
245
227
|
currentStepId,
|
|
246
228
|
setCurrentStepId: onSetCurrentStepId,
|
|
247
|
-
customManifestsStep,
|
|
248
|
-
setCustomManifestsStep: onSetAddCustomManifestsStep,
|
|
249
229
|
wizardPerPage,
|
|
250
230
|
setWizardPerPage,
|
|
251
231
|
uiSettings,
|
|
@@ -264,14 +244,12 @@ const ClusterWizardContextProvider = ({
|
|
|
264
244
|
wizardStepIds,
|
|
265
245
|
currentStepId,
|
|
266
246
|
infraEnv,
|
|
267
|
-
customManifestsStep,
|
|
268
247
|
wizardPerPage,
|
|
269
248
|
isSingleClusterFeatureEnabled,
|
|
270
249
|
clearAlerts,
|
|
271
250
|
uiSettings,
|
|
272
251
|
updateUISettings,
|
|
273
252
|
installDisconnected,
|
|
274
|
-
setInstallDisconnected,
|
|
275
253
|
connectedWizardStepIds,
|
|
276
254
|
]);
|
|
277
255
|
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import {
|
|
3
3
|
ClusterWizardStep,
|
|
4
|
-
|
|
4
|
+
DeveloperPreview,
|
|
5
5
|
ExternalLink,
|
|
6
6
|
OCP_RELEASES_PAGE,
|
|
7
7
|
StaticTextField,
|
|
8
8
|
useTranslation,
|
|
9
9
|
} from '../../../../common';
|
|
10
|
-
import {
|
|
10
|
+
import { Split, SplitItem, Grid, GridItem, Form, Content } from '@patternfly/react-core';
|
|
11
11
|
import OcmOpenShiftVersion from '../../clusterConfiguration/OcmOpenShiftVersion';
|
|
12
12
|
import { useClusterWizardContext } from '../ClusterWizardContext';
|
|
13
13
|
import ClusterWizardFooter from '../ClusterWizardFooter';
|
|
@@ -34,20 +34,21 @@ const BasicStep = () => {
|
|
|
34
34
|
<WithErrorBoundary title="Failed to load Basic step">
|
|
35
35
|
<Grid hasGutter>
|
|
36
36
|
<GridItem>
|
|
37
|
-
<
|
|
37
|
+
<Split>
|
|
38
|
+
<SplitItem>
|
|
39
|
+
<Content component="h2">Basic information</Content>
|
|
40
|
+
</SplitItem>
|
|
41
|
+
<SplitItem>
|
|
42
|
+
<DeveloperPreview />
|
|
43
|
+
</SplitItem>
|
|
44
|
+
</Split>
|
|
38
45
|
</GridItem>
|
|
39
46
|
<GridItem>
|
|
40
|
-
<
|
|
41
|
-
<TechnologyPreview />
|
|
42
|
-
<InstallDisconnectedSwitch />
|
|
43
|
-
<span>
|
|
44
|
-
{t("ai:I'm installing on a disconnected/air-gapped/secured environment")}
|
|
45
|
-
</span>
|
|
46
|
-
</Flex>
|
|
47
|
+
<InstallDisconnectedSwitch />
|
|
47
48
|
</GridItem>
|
|
48
49
|
<GridItem>
|
|
49
50
|
<Form id="wizard-cluster-basic-info__form">
|
|
50
|
-
<OcmOpenShiftVersion openshiftVersion="4.
|
|
51
|
+
<OcmOpenShiftVersion openshiftVersion="4.19" withPreviewText withMultiText>
|
|
51
52
|
<ExternalLink href={`${window.location.origin}/${OCP_RELEASES_PAGE}`}>
|
|
52
53
|
<span data-ouia-id="openshift-releases-link">
|
|
53
54
|
{t('ai:Learn more about OpenShift releases')}
|
|
@@ -100,6 +100,9 @@ export const getClusterWizardFirstStep = (
|
|
|
100
100
|
case 'pending-for-input':
|
|
101
101
|
case 'adding-hosts':
|
|
102
102
|
case 'insufficient':
|
|
103
|
+
if (customManifestsStepNeedsToBeFilled) {
|
|
104
|
+
return 'custom-manifests';
|
|
105
|
+
}
|
|
103
106
|
return getStepForFailingHostValidations(hosts);
|
|
104
107
|
default:
|
|
105
108
|
return 'cluster-details';
|
|
@@ -239,7 +242,12 @@ const networkingStepValidationsMap: WizardStepValidationMap = {
|
|
|
239
242
|
// Alternatively we would have to whitelist network validations instead of using group
|
|
240
243
|
// TODO(mlibra): remove that container-images-available from soft validations and let backend drive it via disabling it.
|
|
241
244
|
// Depends on: https://issues.redhat.com/browse/MGMT-5265
|
|
242
|
-
softValidationIds: [
|
|
245
|
+
softValidationIds: [
|
|
246
|
+
'ntp-synced',
|
|
247
|
+
'container-images-available',
|
|
248
|
+
'mtu-valid',
|
|
249
|
+
'custom-manifests-requirements-satisfied',
|
|
250
|
+
],
|
|
243
251
|
};
|
|
244
252
|
|
|
245
253
|
const reviewStepValidationsMap: WizardStepValidationMap = {
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { t_global_color_status_success_default as okColor } from '@patternfly/react-tokens/dist/js/t_global_color_status_success_default';
|
|
3
2
|
import { ExclamationCircleIcon } from '@patternfly/react-icons/dist/js/icons/exclamation-circle-icon';
|
|
4
3
|
import { ExclamationTriangleIcon } from '@patternfly/react-icons/dist/js/icons/exclamation-triangle-icon';
|
|
5
4
|
import { FileAltIcon } from '@patternfly/react-icons/dist/js/icons/file-alt-icon';
|
|
6
5
|
import { CheckCircleIcon } from '@patternfly/react-icons/dist/js/icons/check-circle-icon';
|
|
7
6
|
import { InProgressIcon } from '@patternfly/react-icons/dist/js/icons/in-progress-icon';
|
|
8
7
|
import { BanIcon } from '@patternfly/react-icons/dist/js/icons/ban-icon';
|
|
9
|
-
import { clusterStatusLabels,
|
|
8
|
+
import { clusterStatusLabels, WithTestID } from '../../../common';
|
|
10
9
|
import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
|
|
11
10
|
import { TFunction } from 'i18next';
|
|
12
11
|
import { Cluster } from '@openshift-assisted/types/assisted-installer-service';
|
|
12
|
+
import { Icon } from '@patternfly/react-core';
|
|
13
13
|
|
|
14
14
|
type ClusterStatusProps = {
|
|
15
15
|
status: Cluster['status'];
|
|
@@ -24,25 +24,47 @@ type ClusterStatusIconProps = {
|
|
|
24
24
|
export const ClusterStatusIcon: React.FC<ClusterStatusIconProps> = ({ status, ...extraProps }) => {
|
|
25
25
|
switch (status) {
|
|
26
26
|
case 'cancelled':
|
|
27
|
-
return
|
|
27
|
+
return (
|
|
28
|
+
<Icon size="sm">
|
|
29
|
+
<BanIcon {...extraProps} />
|
|
30
|
+
</Icon>
|
|
31
|
+
);
|
|
28
32
|
case 'insufficient':
|
|
29
33
|
case 'pending-for-input':
|
|
30
34
|
case 'ready':
|
|
31
|
-
return
|
|
35
|
+
return (
|
|
36
|
+
<Icon size="sm">
|
|
37
|
+
<FileAltIcon {...extraProps} />
|
|
38
|
+
</Icon>
|
|
39
|
+
);
|
|
32
40
|
case 'error':
|
|
33
|
-
return
|
|
41
|
+
return (
|
|
42
|
+
<Icon size="sm" status="danger">
|
|
43
|
+
<ExclamationCircleIcon {...extraProps} />
|
|
44
|
+
</Icon>
|
|
45
|
+
);
|
|
34
46
|
case 'installed':
|
|
35
|
-
return
|
|
47
|
+
return (
|
|
48
|
+
<Icon status="success" size="sm">
|
|
49
|
+
<CheckCircleIcon {...extraProps} />
|
|
50
|
+
</Icon>
|
|
51
|
+
);
|
|
36
52
|
case 'installing-pending-user-action':
|
|
37
53
|
return (
|
|
38
|
-
<
|
|
54
|
+
<Icon size="sm" status="warning">
|
|
55
|
+
<ExclamationTriangleIcon {...extraProps} />
|
|
56
|
+
</Icon>
|
|
39
57
|
);
|
|
40
58
|
|
|
41
59
|
case 'preparing-for-installation':
|
|
42
60
|
case 'installing':
|
|
43
61
|
case 'finalizing':
|
|
44
62
|
case 'adding-hosts':
|
|
45
|
-
return
|
|
63
|
+
return (
|
|
64
|
+
<Icon size="sm">
|
|
65
|
+
<InProgressIcon {...extraProps} />
|
|
66
|
+
</Icon>
|
|
67
|
+
);
|
|
46
68
|
default:
|
|
47
69
|
return <></>;
|
|
48
70
|
}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { CheckCircleIcon } from '@patternfly/react-icons/dist/js/icons/check-circle-icon';
|
|
2
3
|
import { InfoCircleIcon } from '@patternfly/react-icons/dist/js/icons/info-circle-icon';
|
|
3
|
-
import
|
|
4
|
-
import { t_global_color_status_success_default as okColor } from '@patternfly/react-tokens/dist/js/t_global_color_status_success_default';
|
|
5
|
-
import { t_global_color_status_info_100 as infoColor } from '@patternfly/react-tokens/dist/js/t_global_color_status_info_100';
|
|
6
|
-
import { Content } from '@patternfly/react-core';
|
|
4
|
+
import { Content, Icon } from '@patternfly/react-core';
|
|
7
5
|
import {
|
|
8
6
|
FeatureId,
|
|
9
7
|
FeatureIdToSupportLevel,
|
|
@@ -13,7 +11,7 @@ import {
|
|
|
13
11
|
import { TECH_SUPPORT_LEVEL_LINK } from '../../../common/config/docs_links';
|
|
14
12
|
import ExternalLink from '../../../common/components/ui/ExternalLink';
|
|
15
13
|
import { Cluster } from '@openshift-assisted/types/assisted-installer-service';
|
|
16
|
-
import { DetailItem
|
|
14
|
+
import { DetailItem } from '../../../common';
|
|
17
15
|
import { getLimitedFeatureSupportLevels } from '../../../common/components/newFeatureSupportLevels/utils';
|
|
18
16
|
import { WithErrorBoundary } from '../../../common/components/ErrorHandling/WithErrorBoundary';
|
|
19
17
|
import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
|
|
@@ -90,13 +88,17 @@ export const LimitedSupportedCluster = ({
|
|
|
90
88
|
<>
|
|
91
89
|
{showVersionWarning && (
|
|
92
90
|
<Content component="p">
|
|
93
|
-
<
|
|
91
|
+
<Icon status="info" size="sm">
|
|
92
|
+
<InfoCircleIcon />
|
|
93
|
+
</Icon>
|
|
94
94
|
The installed OpenShift version is not production-ready
|
|
95
95
|
</Content>
|
|
96
96
|
)}
|
|
97
97
|
{Object.keys(clusterFeatureSupportLevels).length > 0 && (
|
|
98
98
|
<>
|
|
99
|
-
<
|
|
99
|
+
<Icon status="info" size="sm">
|
|
100
|
+
<InfoCircleIcon />
|
|
101
|
+
</Icon>
|
|
100
102
|
Your cluster will be subject to support limitations because it includes:
|
|
101
103
|
<Content component="ul">{getPreviewFeatureList(clusterFeatureSupportLevels)}</Content>
|
|
102
104
|
</>
|
|
@@ -106,7 +108,9 @@ export const LimitedSupportedCluster = ({
|
|
|
106
108
|
|
|
107
109
|
export const FullySupportedCluster = () => (
|
|
108
110
|
<>
|
|
109
|
-
<
|
|
111
|
+
<Icon status="success">
|
|
112
|
+
<CheckCircleIcon />
|
|
113
|
+
</Icon>
|
|
110
114
|
Your installed cluster will be fully supported
|
|
111
115
|
</>
|
|
112
116
|
);
|
|
@@ -3,6 +3,7 @@ import {
|
|
|
3
3
|
architectureData,
|
|
4
4
|
CpuArchitecture,
|
|
5
5
|
FeatureId,
|
|
6
|
+
isDualStack,
|
|
6
7
|
isSNO,
|
|
7
8
|
SupportedCpuArchitecture,
|
|
8
9
|
} from '../../../common';
|
|
@@ -143,6 +144,19 @@ const getOciDisabledReason = (cpuArchitecture: string | undefined, isSupported:
|
|
|
143
144
|
}
|
|
144
145
|
};
|
|
145
146
|
|
|
147
|
+
const getSDNDisabledReason = (cluster: Cluster | undefined, isSupported: boolean) => {
|
|
148
|
+
if (cluster && isSNO(cluster)) {
|
|
149
|
+
return 'SDN is not supported for single-node clusters.';
|
|
150
|
+
}
|
|
151
|
+
if (cluster && isDualStack(cluster)) {
|
|
152
|
+
return 'SDN is not supported for dual-stack clusters.';
|
|
153
|
+
}
|
|
154
|
+
if (!isSupported) {
|
|
155
|
+
return 'SDN is not supported for the selected configuration.';
|
|
156
|
+
}
|
|
157
|
+
return undefined;
|
|
158
|
+
};
|
|
159
|
+
|
|
146
160
|
export const getNewFeatureDisabledReason = (
|
|
147
161
|
featureId: FeatureId,
|
|
148
162
|
cluster: Cluster | undefined,
|
|
@@ -181,6 +195,9 @@ export const getNewFeatureDisabledReason = (
|
|
|
181
195
|
case 'OSC': {
|
|
182
196
|
return getOscDisabledReason(cluster, activeFeatureConfiguration, isSupported);
|
|
183
197
|
}
|
|
198
|
+
case 'SDN_NETWORK_TYPE': {
|
|
199
|
+
return getSDNDisabledReason(cluster, isSupported);
|
|
200
|
+
}
|
|
184
201
|
case 'NETWORK_TYPE_SELECTION': {
|
|
185
202
|
return getNetworkTypeSelectionDisabledReason(cluster);
|
|
186
203
|
}
|
|
@@ -2,6 +2,7 @@ import React from 'react';
|
|
|
2
2
|
import {
|
|
3
3
|
Button,
|
|
4
4
|
ButtonVariant,
|
|
5
|
+
Icon,
|
|
5
6
|
IconComponentProps,
|
|
6
7
|
Modal,
|
|
7
8
|
ModalBody,
|
|
@@ -10,7 +11,6 @@ import {
|
|
|
10
11
|
ModalProps,
|
|
11
12
|
} from '@patternfly/react-core';
|
|
12
13
|
import { InfoCircleIcon } from '@patternfly/react-icons/dist/js/icons/info-circle-icon';
|
|
13
|
-
import { UiIcon } from '../../../common';
|
|
14
14
|
|
|
15
15
|
export interface InfoLinkWithModalProps {
|
|
16
16
|
linkText: string;
|
|
@@ -43,7 +43,9 @@ const InfoLinkWithModal = ({
|
|
|
43
43
|
<Button id={linkId} variant={ButtonVariant.link} onClick={handleLinkClick} isInline>
|
|
44
44
|
{!isInline && (
|
|
45
45
|
<>
|
|
46
|
-
<
|
|
46
|
+
<Icon size={infoCircleSize}>
|
|
47
|
+
<InfoCircleIcon />
|
|
48
|
+
</Icon>
|
|
47
49
|
|
|
48
50
|
</>
|
|
49
51
|
)}
|
|
@@ -31,7 +31,6 @@ const useUISettings = (clusterId?: Cluster['id']) => {
|
|
|
31
31
|
const { data: customManifests } = await ClustersAPI.getManifests(clusterId);
|
|
32
32
|
|
|
33
33
|
const mockUISettings: UISettingsValues = {
|
|
34
|
-
addCustomManifests: !!customManifests.length,
|
|
35
34
|
customManifestsAdded: !!customManifests.length,
|
|
36
35
|
};
|
|
37
36
|
|
|
@@ -105,7 +105,6 @@ const ClusterDetailsService = {
|
|
|
105
105
|
cluster,
|
|
106
106
|
infraEnv,
|
|
107
107
|
urlSearchParams,
|
|
108
|
-
addCustomManifests,
|
|
109
108
|
...args
|
|
110
109
|
}: {
|
|
111
110
|
cluster?: Cluster;
|
|
@@ -114,7 +113,6 @@ const ClusterDetailsService = {
|
|
|
114
113
|
managedDomains: ManagedDomain[];
|
|
115
114
|
ocpVersions: OpenshiftVersionOptionType[];
|
|
116
115
|
urlSearchParams: string;
|
|
117
|
-
addCustomManifests?: boolean;
|
|
118
116
|
}): OcmClusterDetailsValues {
|
|
119
117
|
const values = getClusterDetailsInitialValues({
|
|
120
118
|
cluster,
|
|
@@ -133,7 +131,6 @@ const ClusterDetailsService = {
|
|
|
133
131
|
...values,
|
|
134
132
|
cpuArchitecture,
|
|
135
133
|
hostsNetworkConfigurationType,
|
|
136
|
-
addCustomManifest: !!addCustomManifests,
|
|
137
134
|
isCMNSupported: true,
|
|
138
135
|
isSNODevPreview: false,
|
|
139
136
|
};
|
|
@@ -21,7 +21,6 @@ export enum HostsNetworkConfigurationType {
|
|
|
21
21
|
|
|
22
22
|
export type OcmClusterDetailsValues = ClusterDetailsValues & {
|
|
23
23
|
hostsNetworkConfigurationType: HostsNetworkConfigurationType;
|
|
24
|
-
addCustomManifest: boolean;
|
|
25
24
|
isCMNSupported: boolean;
|
|
26
25
|
isSNODevPreview: boolean;
|
|
27
26
|
};
|
|
@@ -11,8 +11,9 @@ import {
|
|
|
11
11
|
getTotalHostCount,
|
|
12
12
|
HostsCount,
|
|
13
13
|
ResourceUIState,
|
|
14
|
+
type ClusterTableRows,
|
|
15
|
+
type HumanizedSortable,
|
|
14
16
|
} from '../../../../common';
|
|
15
|
-
import type { ClusterTableRows, HumanizedSortable } from '../../../../common';
|
|
16
17
|
import ClusterStatus, { getClusterStatusText } from '../../../components/clusters/ClusterStatus';
|
|
17
18
|
import { RootStateDay1 } from '../../store-day1';
|
|
18
19
|
import type { Cluster } from '@openshift-assisted/types/assisted-installer-service';
|