@openshift-assisted/ui-lib 2.8.2-cim → 2.8.4-cim
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/@types/cim/components/ClusterDeployment/ClusterDeploymentDetails.d.ts.map +1 -1
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.d.ts +6 -1
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.d.ts.map +1 -1
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentHostSelectionStep.d.ts.map +1 -1
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscoveryStep.d.ts.map +1 -1
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentHostsSelectionBasic.d.ts.map +1 -1
- package/@types/cim/components/ClusterDeployment/ClusterDeploymentWizardNavigation.d.ts.map +1 -1
- package/@types/cim/components/ClusterDeployment/ClusterDetailsFormFields.d.ts.map +1 -1
- package/@types/cim/components/ClusterDeployment/helpers.d.ts +1 -1
- package/@types/cim/components/ClusterDeployment/helpers.d.ts.map +1 -1
- package/@types/cim/components/ClusterDeployment/validationSchemas.d.ts.map +1 -1
- package/@types/cim/components/Hypershift/HostedClusterWizard/NetworkStep/types.d.ts +0 -1
- package/@types/cim/components/Hypershift/HostedClusterWizard/NetworkStep/types.d.ts.map +1 -1
- package/@types/cim/components/Hypershift/modals/ManageHostsModal.d.ts.map +1 -1
- package/@types/cim/components/InfraEnv/InfraEnvFormPage.d.ts +2 -0
- package/@types/cim/components/InfraEnv/InfraEnvFormPage.d.ts.map +1 -1
- package/@types/cim/components/helpers/versions.d.ts +1 -0
- package/@types/cim/components/helpers/versions.d.ts.map +1 -1
- package/@types/cim/components/modals/AddHostModal.d.ts.map +1 -1
- package/@types/cim/components/modals/EditProxyModal.d.ts.map +1 -1
- package/@types/common/components/clusterConfiguration/DiscoveryImageConfigForm.d.ts +5 -1
- package/@types/common/components/clusterConfiguration/DiscoveryImageConfigForm.d.ts.map +1 -1
- package/@types/common/components/clusterConfiguration/DownloadIso.d.ts +2 -1
- package/@types/common/components/clusterConfiguration/DownloadIso.d.ts.map +1 -1
- package/@types/common/components/clusterConfiguration/OpenShiftVersionSelect.d.ts +2 -0
- package/@types/common/components/clusterConfiguration/OpenShiftVersionSelect.d.ts.map +1 -1
- package/@types/common/components/clusterWizard/ClusterWizardStep.d.ts +1 -1
- package/@types/common/components/clusterWizard/ClusterWizardStep.d.ts.map +1 -1
- package/@types/common/components/clusterWizard/networkingSteps/ManagedNetworkingControlGroup.d.ts.map +1 -1
- package/@types/common/components/fetching/EventListFetch.d.ts +1 -1
- package/@types/common/components/fetching/EventListFetch.d.ts.map +1 -1
- package/@types/common/components/hosts/TableToolbar.d.ts.map +1 -1
- package/@types/common/components/ui/ClusterEventsToolbar.d.ts.map +1 -1
- package/@types/common/components/ui/StaticTextField.d.ts +1 -1
- package/@types/common/components/ui/StaticTextField.d.ts.map +1 -1
- package/@types/common/components/ui/eventsModal.d.ts +4 -8
- package/@types/common/components/ui/eventsModal.d.ts.map +1 -1
- package/@types/common/components/ui/formik/UploadField.d.ts.map +1 -1
- package/@types/common/components/ui/formik/types.d.ts +2 -2
- package/@types/common/components/ui/formik/types.d.ts.map +1 -1
- package/@types/common/components/ui/formik/validationSchemas.d.ts +5 -1
- package/@types/common/components/ui/formik/validationSchemas.d.ts.map +1 -1
- package/@types/common/config/constants.d.ts +2 -1
- package/@types/common/config/constants.d.ts.map +1 -1
- package/@types/common/types/events.d.ts +9 -2
- package/@types/common/types/events.d.ts.map +1 -1
- package/@types/ocm/components/AddHosts/day2Wizard/Day2ClusterDetails.d.ts.map +1 -1
- package/@types/ocm/components/AddHosts/day2Wizard/Day2StaticIP.d.ts.map +1 -1
- package/@types/ocm/components/AddHosts/day2Wizard/Day2Wizard.d.ts.map +1 -1
- package/@types/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContent.d.ts.map +1 -1
- package/@types/ocm/components/HostsClusterDetailTab/types.d.ts +5 -0
- package/@types/ocm/components/HostsClusterDetailTab/types.d.ts.map +1 -1
- package/@types/ocm/components/HostsClusterDetailTab/utils.d.ts +2 -7
- package/@types/ocm/components/HostsClusterDetailTab/utils.d.ts.map +1 -1
- package/@types/ocm/components/clusterConfiguration/CpuArchitectureDropdown.d.ts +2 -1
- package/@types/ocm/components/clusterConfiguration/CpuArchitectureDropdown.d.ts.map +1 -1
- package/@types/ocm/components/clusterConfiguration/DiscoveryImageForm.d.ts.map +1 -1
- package/@types/ocm/components/clusterConfiguration/OcmDiscoveryImageConfigForm.d.ts.map +1 -1
- package/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.d.ts.map +1 -1
- package/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/FolderDropdown.d.ts.map +1 -1
- package/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.d.ts +1 -0
- package/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.d.ts.map +1 -1
- package/@types/ocm/components/clusterConfiguration/networkConfiguration/AdvancedNetworkFields.d.ts.map +1 -1
- package/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.d.ts.map +1 -1
- package/@types/ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.d.ts.map +1 -1
- package/@types/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.d.ts.map +1 -1
- package/@types/ocm/components/clusterDetail/AssistedInstallerDetailCard.d.ts.map +1 -1
- package/@types/ocm/components/clusterDetail/AssistedInstallerExtraDetailCard.d.ts.map +1 -1
- package/@types/ocm/components/clusterWizard/ClusterWizardContextProvider.d.ts.map +1 -1
- package/@types/ocm/components/clusterWizard/wizardTransition.d.ts +2 -1
- package/@types/ocm/components/clusterWizard/wizardTransition.d.ts.map +1 -1
- package/@types/ocm/components/clusters/ClusterPage.d.ts.map +1 -1
- package/@types/ocm/components/featureSupportLevels/FeatureSupportLevelProvider.d.ts.map +1 -1
- package/@types/ocm/components/fetching/fetchEvents.d.ts.map +1 -1
- package/@types/ocm/components/newFeatureSupportLevels/NewFeatureSupportLevelProvider.d.ts.map +1 -1
- package/@types/ocm/components/ui/OcmFormFields.d.ts +1 -1
- package/@types/ocm/hooks/useClusterCustomManifests.d.ts +1 -1
- package/@types/ocm/hooks/useClusterCustomManifests.d.ts.map +1 -1
- package/@types/ocm/hooks/useInfraEnv.d.ts +1 -1
- package/@types/ocm/hooks/useInfraEnv.d.ts.map +1 -1
- package/@types/ocm/hooks/useInfraEnvId.d.ts +1 -1
- package/@types/ocm/hooks/useInfraEnvId.d.ts.map +1 -1
- package/@types/ocm/selectors/clusters.d.ts +3 -3
- package/@types/ocm/services/Day2ClusterService.d.ts +3 -3
- package/@types/ocm/services/Day2ClusterService.d.ts.map +1 -1
- package/@types/ocm/services/InfraEnvIdsCacheService.d.ts +1 -1
- package/@types/ocm/services/InfraEnvIdsCacheService.d.ts.map +1 -1
- package/@types/ocm/services/InfraEnvsService.d.ts +4 -3
- package/@types/ocm/services/InfraEnvsService.d.ts.map +1 -1
- package/@types/ocm/services/apis/EventsAPI.d.ts +1 -0
- package/@types/ocm/services/apis/EventsAPI.d.ts.map +1 -1
- package/@types/ocm/store/slices/infraEnvs/selectors.d.ts +1 -1
- package/build/build.json +1 -1
- package/build/cim/components/Agent/BMCForm.js +2 -2
- package/build/cim/components/Agent/BMCForm.js.map +1 -1
- package/build/cim/components/ClusterDeployment/ClusterDeploymentDetails.js +59 -56
- package/build/cim/components/ClusterDeployment/ClusterDeploymentDetails.js.map +1 -1
- package/build/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.js +10 -6
- package/build/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.js.map +1 -1
- package/build/cim/components/ClusterDeployment/ClusterDeploymentHostSelectionStep.js +1 -9
- package/build/cim/components/ClusterDeployment/ClusterDeploymentHostSelectionStep.js.map +1 -1
- package/build/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscoveryStep.js +1 -2
- package/build/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscoveryStep.js.map +1 -1
- package/build/cim/components/ClusterDeployment/ClusterDeploymentHostsSelectionBasic.js +3 -10
- package/build/cim/components/ClusterDeployment/ClusterDeploymentHostsSelectionBasic.js.map +1 -1
- package/build/cim/components/ClusterDeployment/ClusterDeploymentWizardNavigation.js +2 -2
- package/build/cim/components/ClusterDeployment/ClusterDeploymentWizardNavigation.js.map +1 -1
- package/build/cim/components/ClusterDeployment/ClusterDetailsFormFields.js +6 -2
- package/build/cim/components/ClusterDeployment/ClusterDetailsFormFields.js.map +1 -1
- package/build/cim/components/ClusterDeployment/helpers.js +46 -7
- package/build/cim/components/ClusterDeployment/helpers.js.map +1 -1
- package/build/cim/components/ClusterDeployment/use-networking-formik.js +2 -2
- package/build/cim/components/ClusterDeployment/use-networking-formik.js.map +1 -1
- package/build/cim/components/ClusterDeployment/validationSchemas.js +0 -1
- package/build/cim/components/ClusterDeployment/validationSchemas.js.map +1 -1
- package/build/cim/components/Hypershift/HostedClusterWizard/NetworkStep/NetworkStep.js +2 -2
- package/build/cim/components/Hypershift/HostedClusterWizard/NetworkStep/NetworkStep.js.map +1 -1
- package/build/cim/components/Hypershift/modals/ManageHostsModal.js +1 -6
- package/build/cim/components/Hypershift/modals/ManageHostsModal.js.map +1 -1
- package/build/cim/components/Hypershift/utils/nodepool.js +5 -5
- package/build/cim/components/Hypershift/utils/nodepool.js.map +1 -1
- package/build/cim/components/InfraEnv/InfraEnvFormPage.js +13 -5
- package/build/cim/components/InfraEnv/InfraEnvFormPage.js.map +1 -1
- package/build/cim/components/helpers/versions.js +1 -0
- package/build/cim/components/helpers/versions.js.map +1 -1
- package/build/cim/components/modals/AddHostModal.js +4 -4
- package/build/cim/components/modals/AddHostModal.js.map +1 -1
- package/build/cim/components/modals/EditProxyModal.js +18 -7
- package/build/cim/components/modals/EditProxyModal.js.map +1 -1
- package/build/common/components/clusterConfiguration/DiscoveryImageConfigForm.js +9 -9
- package/build/common/components/clusterConfiguration/DiscoveryImageConfigForm.js.map +1 -1
- package/build/common/components/clusterConfiguration/DownloadIso.js +2 -2
- package/build/common/components/clusterConfiguration/DownloadIso.js.map +1 -1
- package/build/common/components/clusterConfiguration/OpenShiftVersionSelect.js +2 -2
- package/build/common/components/clusterConfiguration/OpenShiftVersionSelect.js.map +1 -1
- package/build/common/components/clusterWizard/ClusterWizardStep.js +1 -1
- package/build/common/components/clusterWizard/ClusterWizardStep.js.map +1 -1
- package/build/common/components/clusterWizard/networkingSteps/ManagedNetworkingControlGroup.js +5 -2
- package/build/common/components/clusterWizard/networkingSteps/ManagedNetworkingControlGroup.js.map +1 -1
- package/build/common/components/clusterWizard/networkingSteps/NetworkTypeControlGroup.js +1 -1
- package/build/common/components/clusterWizard/networkingSteps/NetworkTypeControlGroup.js.map +1 -1
- package/build/common/components/fetching/EventListFetch.js +14 -25
- package/build/common/components/fetching/EventListFetch.js.map +1 -1
- package/build/common/components/hosts/TableToolbar.js +3 -3
- package/build/common/components/hosts/TableToolbar.js.map +1 -1
- package/build/common/components/hosts/status.js +1 -1
- package/build/common/components/hosts/status.js.map +1 -1
- package/build/common/components/ui/ClusterEventsToolbar.js +1 -1
- package/build/common/components/ui/ClusterEventsToolbar.js.map +1 -1
- package/build/common/components/ui/eventsModal.js +12 -6
- package/build/common/components/ui/eventsModal.js.map +1 -1
- package/build/common/components/ui/formik/CodeField.js +1 -1
- package/build/common/components/ui/formik/CodeField.js.map +1 -1
- package/build/common/components/ui/formik/SelectField.js +1 -1
- package/build/common/components/ui/formik/SelectField.js.map +1 -1
- package/build/common/components/ui/formik/UploadField.js +1 -2
- package/build/common/components/ui/formik/UploadField.js.map +1 -1
- package/build/common/components/ui/formik/validationSchemas.js +20 -13
- package/build/common/components/ui/formik/validationSchemas.js.map +1 -1
- package/build/common/config/constants.js +3 -1
- package/build/common/config/constants.js.map +1 -1
- package/build/ocm/components/AddHosts/day2Wizard/Day2ClusterDetails.js +94 -20
- package/build/ocm/components/AddHosts/day2Wizard/Day2ClusterDetails.js.map +1 -1
- package/build/ocm/components/AddHosts/day2Wizard/Day2DownloadISO.js +1 -1
- package/build/ocm/components/AddHosts/day2Wizard/Day2DownloadISO.js.map +1 -1
- package/build/ocm/components/AddHosts/day2Wizard/Day2StaticIP.js +16 -9
- package/build/ocm/components/AddHosts/day2Wizard/Day2StaticIP.js.map +1 -1
- package/build/ocm/components/AddHosts/day2Wizard/Day2Wizard.js +1 -1
- package/build/ocm/components/AddHosts/day2Wizard/Day2Wizard.js.map +1 -1
- package/build/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContent.js +5 -2
- package/build/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContent.js.map +1 -1
- package/build/ocm/components/HostsClusterDetailTab/utils.js +35 -29
- package/build/ocm/components/HostsClusterDetailTab/utils.js.map +1 -1
- package/build/ocm/components/clusterConfiguration/CpuArchitectureDropdown.js +5 -4
- package/build/ocm/components/clusterConfiguration/CpuArchitectureDropdown.js.map +1 -1
- package/build/ocm/components/clusterConfiguration/DiscoveryImageForm.js +3 -1
- package/build/ocm/components/clusterConfiguration/DiscoveryImageForm.js.map +1 -1
- package/build/ocm/components/clusterConfiguration/OcmDiscoveryImageConfigForm.js +11 -8
- package/build/ocm/components/clusterConfiguration/OcmDiscoveryImageConfigForm.js.map +1 -1
- package/build/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.js +49 -21
- package/build/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.js.map +1 -1
- package/build/ocm/components/clusterConfiguration/manifestsConfiguration/components/FolderDropdown.js +3 -9
- package/build/ocm/components/clusterConfiguration/manifestsConfiguration/components/FolderDropdown.js.map +1 -1
- package/build/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.js +37 -2
- package/build/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.js.map +1 -1
- package/build/ocm/components/clusterConfiguration/networkConfiguration/AdvancedNetworkFields.js +16 -5
- package/build/ocm/components/clusterConfiguration/networkConfiguration/AdvancedNetworkFields.js.map +1 -1
- package/build/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.js +5 -2
- package/build/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.js.map +1 -1
- package/build/ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.js +1 -2
- package/build/ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.js.map +1 -1
- package/build/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.js +27 -16
- package/build/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.js.map +1 -1
- package/build/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegration.js +1 -1
- package/build/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegration.js.map +1 -1
- package/build/ocm/components/clusterDetail/AssistedInstallerDetailCard.js +7 -2
- package/build/ocm/components/clusterDetail/AssistedInstallerDetailCard.js.map +1 -1
- package/build/ocm/components/clusterDetail/AssistedInstallerExtraDetailCard.js +7 -2
- package/build/ocm/components/clusterDetail/AssistedInstallerExtraDetailCard.js.map +1 -1
- package/build/ocm/components/clusterWizard/ClusterWizardContextProvider.js +13 -3
- package/build/ocm/components/clusterWizard/ClusterWizardContextProvider.js.map +1 -1
- package/build/ocm/components/clusterWizard/wizardTransition.js +10 -2
- package/build/ocm/components/clusterWizard/wizardTransition.js.map +1 -1
- package/build/ocm/components/clusters/ClusterPage.js +10 -4
- package/build/ocm/components/clusters/ClusterPage.js.map +1 -1
- package/build/ocm/components/featureSupportLevels/FeatureSupportLevelProvider.js +5 -2
- package/build/ocm/components/featureSupportLevels/FeatureSupportLevelProvider.js.map +1 -1
- package/build/ocm/components/fetching/fetchEvents.js +25 -4
- package/build/ocm/components/fetching/fetchEvents.js.map +1 -1
- package/build/ocm/components/newFeatureSupportLevels/NewFeatureSupportLevelProvider.js +5 -2
- package/build/ocm/components/newFeatureSupportLevels/NewFeatureSupportLevelProvider.js.map +1 -1
- package/build/ocm/hooks/useClusterCustomManifests.js +5 -3
- package/build/ocm/hooks/useClusterCustomManifests.js.map +1 -1
- package/build/ocm/hooks/useInfraEnv.js +2 -2
- package/build/ocm/hooks/useInfraEnv.js.map +1 -1
- package/build/ocm/hooks/useInfraEnvId.js +18 -3
- package/build/ocm/hooks/useInfraEnvId.js.map +1 -1
- package/build/ocm/hooks/useInfraEnvImageUrl.js +1 -1
- package/build/ocm/hooks/useInfraEnvImageUrl.js.map +1 -1
- package/build/ocm/hooks/useInfraEnvIpxeImageUrl.js +1 -1
- package/build/ocm/hooks/useInfraEnvIpxeImageUrl.js.map +1 -1
- package/build/ocm/services/ClustersService.js +2 -2
- package/build/ocm/services/ClustersService.js.map +1 -1
- package/build/ocm/services/Day2ClusterService.js +11 -20
- package/build/ocm/services/Day2ClusterService.js.map +1 -1
- package/build/ocm/services/InfraEnvIdsCacheService.js +5 -4
- package/build/ocm/services/InfraEnvIdsCacheService.js.map +1 -1
- package/build/ocm/services/InfraEnvsService.js +7 -4
- package/build/ocm/services/InfraEnvsService.js.map +1 -1
- package/build/ocm/services/apis/EventsAPI.js +13 -1
- package/build/ocm/services/apis/EventsAPI.js.map +1 -1
- package/lib/cim/components/Agent/BMCForm.tsx +2 -2
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentDetails.tsx +112 -101
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.tsx +17 -5
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentHostSelectionStep.tsx +1 -12
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentHostsDiscoveryStep.tsx +1 -2
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentHostsSelectionBasic.tsx +2 -10
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentWizardNavigation.tsx +7 -2
- package/lib/cim/components/ClusterDeployment/ClusterDetailsFormFields.tsx +9 -2
- package/lib/cim/components/ClusterDeployment/helpers.ts +65 -15
- package/lib/cim/components/ClusterDeployment/use-networking-formik.ts +2 -2
- package/lib/cim/components/ClusterDeployment/validationSchemas.ts +0 -1
- package/lib/cim/components/Hypershift/HostedClusterWizard/NetworkStep/NetworkStep.tsx +2 -2
- package/lib/cim/components/Hypershift/HostedClusterWizard/NetworkStep/types.ts +0 -1
- package/lib/cim/components/Hypershift/modals/ManageHostsModal.tsx +1 -6
- package/lib/cim/components/Hypershift/utils/nodepool.ts +1 -1
- package/lib/cim/components/InfraEnv/InfraEnvFormPage.tsx +21 -4
- package/lib/cim/components/helpers/versions.ts +5 -0
- package/lib/cim/components/modals/AddHostModal.tsx +6 -0
- package/lib/cim/components/modals/EditProxyModal.tsx +15 -3
- package/lib/common/components/clusterConfiguration/DiscoveryImageConfigForm.tsx +18 -13
- package/lib/common/components/clusterConfiguration/DownloadIso.tsx +3 -1
- package/lib/common/components/clusterConfiguration/OpenShiftVersionSelect.tsx +4 -1
- package/lib/common/components/clusterWizard/ClusterWizardStep.tsx +5 -1
- package/lib/common/components/clusterWizard/networkingSteps/ManagedNetworkingControlGroup.tsx +11 -2
- package/lib/common/components/clusterWizard/networkingSteps/NetworkTypeControlGroup.tsx +1 -1
- package/lib/common/components/fetching/EventListFetch.tsx +31 -41
- package/lib/common/components/hosts/TableToolbar.tsx +3 -3
- package/lib/common/components/hosts/status.tsx +1 -1
- package/lib/common/components/ui/ClusterEventsToolbar.tsx +3 -0
- package/lib/common/components/ui/StaticTextField.tsx +1 -1
- package/lib/common/components/ui/eventsModal.tsx +28 -23
- package/lib/common/components/ui/formik/CodeField.tsx +1 -1
- package/lib/common/components/ui/formik/SelectField.tsx +1 -1
- package/lib/common/components/ui/formik/UploadField.tsx +2 -3
- package/lib/common/components/ui/formik/types.ts +2 -1
- package/lib/common/components/ui/formik/validationSchemas.test.ts +6 -0
- package/lib/common/components/ui/formik/validationSchemas.ts +33 -15
- package/lib/common/config/constants.ts +6 -2
- package/lib/common/types/events.ts +10 -3
- package/lib/ocm/components/AddHosts/day2Wizard/Day2ClusterDetails.tsx +129 -21
- package/lib/ocm/components/AddHosts/day2Wizard/Day2DownloadISO.tsx +1 -1
- package/lib/ocm/components/AddHosts/day2Wizard/Day2StaticIP.tsx +15 -10
- package/lib/ocm/components/AddHosts/day2Wizard/Day2Wizard.tsx +1 -0
- package/lib/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContent.tsx +7 -3
- package/lib/ocm/components/HostsClusterDetailTab/types.ts +6 -0
- package/lib/ocm/components/HostsClusterDetailTab/utils.ts +43 -37
- package/lib/ocm/components/clusterConfiguration/CpuArchitectureDropdown.tsx +6 -3
- package/lib/ocm/components/clusterConfiguration/DiscoveryImageForm.tsx +9 -1
- package/lib/ocm/components/clusterConfiguration/OcmDiscoveryImageConfigForm.tsx +25 -16
- package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.tsx +69 -32
- package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/FolderDropdown.tsx +3 -14
- package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/customManifestsValidationSchema.tsx +59 -24
- package/lib/ocm/components/clusterConfiguration/networkConfiguration/AdvancedNetworkFields.tsx +29 -8
- package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.tsx +11 -2
- package/lib/ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.tsx +6 -13
- package/lib/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.tsx +30 -32
- package/lib/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegration.tsx +1 -1
- package/lib/ocm/components/clusterDetail/AssistedInstallerDetailCard.tsx +14 -2
- package/lib/ocm/components/clusterDetail/AssistedInstallerExtraDetailCard.tsx +11 -2
- package/lib/ocm/components/clusterWizard/ClusterWizardContextProvider.tsx +20 -2
- package/lib/ocm/components/clusterWizard/wizardTransition.ts +13 -1
- package/lib/ocm/components/clusters/ClusterPage.tsx +19 -5
- package/lib/ocm/components/featureSupportLevels/FeatureSupportLevelProvider.tsx +8 -2
- package/lib/ocm/components/fetching/fetchEvents.ts +31 -5
- package/lib/ocm/components/newFeatureSupportLevels/NewFeatureSupportLevelProvider.tsx +8 -2
- package/lib/ocm/hooks/useClusterCustomManifests.ts +9 -3
- package/lib/ocm/hooks/useInfraEnv.ts +10 -1
- package/lib/ocm/hooks/useInfraEnvId.ts +24 -4
- package/lib/ocm/hooks/useInfraEnvImageUrl.ts +1 -1
- package/lib/ocm/hooks/useInfraEnvIpxeImageUrl.ts +1 -1
- package/lib/ocm/services/ClustersService.ts +2 -2
- package/lib/ocm/services/Day2ClusterService.ts +12 -42
- package/lib/ocm/services/InfraEnvIdsCacheService.ts +9 -6
- package/lib/ocm/services/InfraEnvsService.ts +12 -13
- package/lib/ocm/services/apis/EventsAPI.ts +15 -1
- package/package.json +1 -1
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
} from '../../types';
|
|
20
20
|
import ClusterDeploymentCredentials from './ClusterDeploymentCredentials';
|
|
21
21
|
import { shouldShowClusterCredentials, shouldShowClusterInstallationProgress } from './helpers';
|
|
22
|
-
import {
|
|
22
|
+
import { EventsModal } from '../../../common/components/ui/eventsModal';
|
|
23
23
|
import ClusterDeploymentDetailsTable from './ClusterDeploymentDetailsTable';
|
|
24
24
|
import { FetchSecret } from './types';
|
|
25
25
|
import { getClusterProperties, getConsoleUrl } from '../helpers/clusterDeployment';
|
|
@@ -45,6 +45,7 @@ const ClusterDeploymentDetails: React.FC<ClusterDeploymentDetailsProps> = ({
|
|
|
45
45
|
const [progressCardExpanded, setProgressCardExpanded] = React.useState(true);
|
|
46
46
|
const [inventoryCardExpanded, setInventoryCardExpanded] = React.useState(true);
|
|
47
47
|
const [detailsCardExpanded, setDetailsCardExpanded] = React.useState(true);
|
|
48
|
+
const [isEventsModalOpen, setIsEventsModalOpen] = React.useState(false);
|
|
48
49
|
|
|
49
50
|
const clusterAgents = agents.filter(
|
|
50
51
|
(a) =>
|
|
@@ -60,119 +61,129 @@ const ClusterDeploymentDetails: React.FC<ClusterDeploymentDetailsProps> = ({
|
|
|
60
61
|
);
|
|
61
62
|
const { t } = useTranslation();
|
|
62
63
|
return (
|
|
63
|
-
|
|
64
|
-
|
|
64
|
+
<>
|
|
65
|
+
<Stack hasGutter>
|
|
66
|
+
{shouldShowClusterInstallationProgress(agentClusterInstall) && (
|
|
67
|
+
<StackItem>
|
|
68
|
+
<Card id="cluster-installation-progress-card" isExpanded={progressCardExpanded}>
|
|
69
|
+
<CardHeader
|
|
70
|
+
onExpand={() => setProgressCardExpanded(!progressCardExpanded)}
|
|
71
|
+
toggleButtonProps={{
|
|
72
|
+
id: 'progress-card-toggle-button',
|
|
73
|
+
'aria-label': 'Cluster installation process',
|
|
74
|
+
'aria-labelledby': 'titleId progress-card-toggle-button',
|
|
75
|
+
'aria-expanded': progressCardExpanded,
|
|
76
|
+
}}
|
|
77
|
+
>
|
|
78
|
+
<CardTitle id="titleId">{t('ai:Cluster installation process')}</CardTitle>
|
|
79
|
+
</CardHeader>
|
|
80
|
+
<CardExpandableContent>
|
|
81
|
+
<CardBody>
|
|
82
|
+
<Stack hasGutter>
|
|
83
|
+
{shouldShowClusterCredentials(agentClusterInstall) && (
|
|
84
|
+
<StackItem>
|
|
85
|
+
<ClusterDeploymentCredentials
|
|
86
|
+
clusterDeployment={clusterDeployment}
|
|
87
|
+
agentClusterInstall={agentClusterInstall}
|
|
88
|
+
agents={clusterAgents}
|
|
89
|
+
fetchSecret={fetchSecret}
|
|
90
|
+
consoleUrl={getConsoleUrl(clusterDeployment)}
|
|
91
|
+
/>
|
|
92
|
+
</StackItem>
|
|
93
|
+
)}
|
|
94
|
+
<StackItem>
|
|
95
|
+
<ClusterDeploymentKubeconfigDownload
|
|
96
|
+
clusterDeployment={clusterDeployment}
|
|
97
|
+
agentClusterInstall={agentClusterInstall}
|
|
98
|
+
fetchSecret={fetchSecret}
|
|
99
|
+
/>{' '}
|
|
100
|
+
<Button
|
|
101
|
+
id="cluster-events-button"
|
|
102
|
+
variant={ButtonVariant.link}
|
|
103
|
+
style={{ textAlign: 'right' }}
|
|
104
|
+
onClick={() => setIsEventsModalOpen(true)}
|
|
105
|
+
>
|
|
106
|
+
{t('ai:View cluster events')}
|
|
107
|
+
</Button>
|
|
108
|
+
</StackItem>
|
|
109
|
+
</Stack>
|
|
110
|
+
</CardBody>
|
|
111
|
+
</CardExpandableContent>
|
|
112
|
+
</Card>
|
|
113
|
+
</StackItem>
|
|
114
|
+
)}
|
|
65
115
|
<StackItem>
|
|
66
|
-
<Card id="cluster-
|
|
116
|
+
<Card id="cluster-inventory-card" isExpanded={inventoryCardExpanded}>
|
|
67
117
|
<CardHeader
|
|
68
|
-
onExpand={() =>
|
|
118
|
+
onExpand={() => setInventoryCardExpanded(!inventoryCardExpanded)}
|
|
69
119
|
toggleButtonProps={{
|
|
70
|
-
id: '
|
|
71
|
-
'aria-label': '
|
|
72
|
-
'aria-labelledby': 'titleId
|
|
73
|
-
'aria-expanded':
|
|
120
|
+
id: 'inventory-card-toggle-button',
|
|
121
|
+
'aria-label': 'Hosts inventory',
|
|
122
|
+
'aria-labelledby': 'titleId inventory-card-toggle-button',
|
|
123
|
+
'aria-expanded': inventoryCardExpanded,
|
|
74
124
|
}}
|
|
75
125
|
>
|
|
76
|
-
<CardTitle id="titleId">{t('ai:
|
|
126
|
+
<CardTitle id="titleId">{t('ai:Hosts inventory')}</CardTitle>
|
|
77
127
|
</CardHeader>
|
|
78
128
|
<CardExpandableContent>
|
|
79
129
|
<CardBody>
|
|
80
|
-
<
|
|
81
|
-
{
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
130
|
+
<ClusterDeploymentDetailsTable
|
|
131
|
+
agents={clusterAgents}
|
|
132
|
+
agentClusterInstall={agentClusterInstall}
|
|
133
|
+
/>
|
|
134
|
+
</CardBody>
|
|
135
|
+
</CardExpandableContent>
|
|
136
|
+
</Card>
|
|
137
|
+
</StackItem>
|
|
138
|
+
<StackItem>
|
|
139
|
+
<Card id="cluster-details-card" isExpanded={detailsCardExpanded}>
|
|
140
|
+
<CardHeader
|
|
141
|
+
onExpand={() => setDetailsCardExpanded(!detailsCardExpanded)}
|
|
142
|
+
toggleButtonProps={{
|
|
143
|
+
id: 'details-card-toggle-button',
|
|
144
|
+
'aria-label': 'Details',
|
|
145
|
+
'aria-labelledby': 'titleId details-card-toggle-button',
|
|
146
|
+
'aria-expanded': detailsCardExpanded,
|
|
147
|
+
}}
|
|
148
|
+
>
|
|
149
|
+
<CardTitle id="titleId">{t('ai:Details')}</CardTitle>
|
|
150
|
+
</CardHeader>
|
|
151
|
+
<CardExpandableContent>
|
|
152
|
+
<CardBody>
|
|
153
|
+
<ClusterPropertiesList
|
|
154
|
+
leftItems={[
|
|
155
|
+
clusterProperties.name,
|
|
156
|
+
clusterProperties.openshiftVersion,
|
|
157
|
+
clusterProperties.clusterId,
|
|
158
|
+
clusterProperties.installedTimestamp,
|
|
159
|
+
clusterProperties.baseDnsDomain,
|
|
160
|
+
]}
|
|
161
|
+
rightItems={[
|
|
162
|
+
clusterProperties.apiVip,
|
|
163
|
+
clusterProperties.ingressVip,
|
|
164
|
+
clusterProperties.clusterNetworkCidr,
|
|
165
|
+
clusterProperties.clusterNetworkHostPrefix,
|
|
166
|
+
clusterProperties.serviceNetworkCidr,
|
|
167
|
+
]}
|
|
168
|
+
/>
|
|
112
169
|
</CardBody>
|
|
113
170
|
</CardExpandableContent>
|
|
114
171
|
</Card>
|
|
115
172
|
</StackItem>
|
|
173
|
+
</Stack>
|
|
174
|
+
{isEventsModalOpen && (
|
|
175
|
+
<EventsModal
|
|
176
|
+
entityKind="cluster"
|
|
177
|
+
cluster={cluster}
|
|
178
|
+
title={t('ai:Cluster Events')}
|
|
179
|
+
onFetchEvents={onFetchEvents}
|
|
180
|
+
hostId={undefined}
|
|
181
|
+
disablePagination
|
|
182
|
+
isOpen
|
|
183
|
+
onClose={() => setIsEventsModalOpen(false)}
|
|
184
|
+
/>
|
|
116
185
|
)}
|
|
117
|
-
|
|
118
|
-
<Card id="cluster-inventory-card" isExpanded={inventoryCardExpanded}>
|
|
119
|
-
<CardHeader
|
|
120
|
-
onExpand={() => setInventoryCardExpanded(!inventoryCardExpanded)}
|
|
121
|
-
toggleButtonProps={{
|
|
122
|
-
id: 'inventory-card-toggle-button',
|
|
123
|
-
'aria-label': 'Hosts inventory',
|
|
124
|
-
'aria-labelledby': 'titleId inventory-card-toggle-button',
|
|
125
|
-
'aria-expanded': inventoryCardExpanded,
|
|
126
|
-
}}
|
|
127
|
-
>
|
|
128
|
-
<CardTitle id="titleId">{t('ai:Hosts inventory')}</CardTitle>
|
|
129
|
-
</CardHeader>
|
|
130
|
-
<CardExpandableContent>
|
|
131
|
-
<CardBody>
|
|
132
|
-
<ClusterDeploymentDetailsTable
|
|
133
|
-
agents={clusterAgents}
|
|
134
|
-
agentClusterInstall={agentClusterInstall}
|
|
135
|
-
/>
|
|
136
|
-
</CardBody>
|
|
137
|
-
</CardExpandableContent>
|
|
138
|
-
</Card>
|
|
139
|
-
</StackItem>
|
|
140
|
-
<StackItem>
|
|
141
|
-
<Card id="cluster-details-card" isExpanded={detailsCardExpanded}>
|
|
142
|
-
<CardHeader
|
|
143
|
-
onExpand={() => setDetailsCardExpanded(!detailsCardExpanded)}
|
|
144
|
-
toggleButtonProps={{
|
|
145
|
-
id: 'details-card-toggle-button',
|
|
146
|
-
'aria-label': 'Details',
|
|
147
|
-
'aria-labelledby': 'titleId details-card-toggle-button',
|
|
148
|
-
'aria-expanded': detailsCardExpanded,
|
|
149
|
-
}}
|
|
150
|
-
>
|
|
151
|
-
<CardTitle id="titleId">{t('ai:Details')}</CardTitle>
|
|
152
|
-
</CardHeader>
|
|
153
|
-
<CardExpandableContent>
|
|
154
|
-
<CardBody>
|
|
155
|
-
<ClusterPropertiesList
|
|
156
|
-
leftItems={[
|
|
157
|
-
clusterProperties.name,
|
|
158
|
-
clusterProperties.openshiftVersion,
|
|
159
|
-
clusterProperties.clusterId,
|
|
160
|
-
clusterProperties.installedTimestamp,
|
|
161
|
-
clusterProperties.baseDnsDomain,
|
|
162
|
-
]}
|
|
163
|
-
rightItems={[
|
|
164
|
-
clusterProperties.apiVip,
|
|
165
|
-
clusterProperties.ingressVip,
|
|
166
|
-
clusterProperties.clusterNetworkCidr,
|
|
167
|
-
clusterProperties.clusterNetworkHostPrefix,
|
|
168
|
-
clusterProperties.serviceNetworkCidr,
|
|
169
|
-
]}
|
|
170
|
-
/>
|
|
171
|
-
</CardBody>
|
|
172
|
-
</CardExpandableContent>
|
|
173
|
-
</Card>
|
|
174
|
-
</StackItem>
|
|
175
|
-
</Stack>
|
|
186
|
+
</>
|
|
176
187
|
);
|
|
177
188
|
};
|
|
178
189
|
|
|
@@ -17,7 +17,7 @@ import { ClusterDeploymentDetailsStepProps, ClusterDeploymentDetailsValues } fro
|
|
|
17
17
|
import ClusterDeploymentWizardFooter from './ClusterDeploymentWizardFooter';
|
|
18
18
|
import ClusterDeploymentWizardContext from './ClusterDeploymentWizardContext';
|
|
19
19
|
import ClusterDeploymentWizardStep from './ClusterDeploymentWizardStep';
|
|
20
|
-
import { getAICluster, getOCPVersions } from '../helpers';
|
|
20
|
+
import { getAICluster, getNetworkType, getOCPVersions } from '../helpers';
|
|
21
21
|
import {
|
|
22
22
|
AgentClusterInstallK8sResource,
|
|
23
23
|
AgentK8sResource,
|
|
@@ -45,7 +45,10 @@ export const useDetailsFormik = ({
|
|
|
45
45
|
clusterImages,
|
|
46
46
|
usedClusterNames,
|
|
47
47
|
infraEnv,
|
|
48
|
-
}: UseDetailsFormikArgs): [
|
|
48
|
+
}: UseDetailsFormikArgs): [
|
|
49
|
+
ClusterDetailsValues & { networkType: 'OpenShiftSDN' | 'OVNKubernetes' },
|
|
50
|
+
Lazy,
|
|
51
|
+
] => {
|
|
49
52
|
const { t } = useTranslation();
|
|
50
53
|
const featureSupportLevels = useFeatureSupportLevel();
|
|
51
54
|
const ocpVersions = getOCPVersions(clusterImages);
|
|
@@ -62,12 +65,21 @@ export const useDetailsFormik = ({
|
|
|
62
65
|
[agentClusterInstall, clusterDeployment, agents, infraEnv],
|
|
63
66
|
);
|
|
64
67
|
const initialValues = React.useMemo(
|
|
65
|
-
() =>
|
|
66
|
-
getClusterDetailsInitialValues({
|
|
68
|
+
() => {
|
|
69
|
+
const initValues = getClusterDetailsInitialValues({
|
|
67
70
|
managedDomains: [], // not supported
|
|
68
71
|
cluster,
|
|
69
72
|
ocpVersions,
|
|
70
|
-
})
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
const ocpVersion = ocpVersions.find(
|
|
76
|
+
(ocpVersion) => ocpVersion.value === initValues.openshiftVersion,
|
|
77
|
+
);
|
|
78
|
+
return {
|
|
79
|
+
...initValues,
|
|
80
|
+
networkType: getNetworkType(ocpVersion),
|
|
81
|
+
};
|
|
82
|
+
},
|
|
71
83
|
[], // eslint-disable-line react-hooks/exhaustive-deps
|
|
72
84
|
);
|
|
73
85
|
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import * as Yup from 'yup';
|
|
3
|
-
import { TestOptionsMessage } from 'yup';
|
|
4
3
|
import { Formik, FormikConfig, useFormikContext } from 'formik';
|
|
5
4
|
import { Alert, AlertVariant, Grid, GridItem } from '@patternfly/react-core';
|
|
6
5
|
import { ClusterWizardStepHeader, useAlerts } from '../../../common';
|
|
@@ -74,19 +73,9 @@ const getInitialValues = ({
|
|
|
74
73
|
};
|
|
75
74
|
};
|
|
76
75
|
|
|
77
|
-
const getMinHostsCount = (selectedHostsCount: number) => (selectedHostsCount === 4 ? 5 : 3);
|
|
78
|
-
|
|
79
76
|
const getValidationSchema = (agentClusterInstall: AgentClusterInstallK8sResource, t: TFunction) => {
|
|
80
77
|
const isSNOCluster = getIsSNOCluster(agentClusterInstall);
|
|
81
78
|
|
|
82
|
-
const getMinMessage: TestOptionsMessage<{ min: number }> = ({ min }) => {
|
|
83
|
-
const message = t('ai:Please select at least {{min}} hosts for the cluster', { min });
|
|
84
|
-
if (min === 5) {
|
|
85
|
-
return `${message} ${t('ai:or select just 3 hosts instead.')}`;
|
|
86
|
-
}
|
|
87
|
-
return `${message}.`;
|
|
88
|
-
};
|
|
89
|
-
|
|
90
79
|
return Yup.lazy<ClusterDeploymentHostsSelectionValues>((values) => {
|
|
91
80
|
return Yup.object<ClusterDeploymentHostsSelectionValues>().shape({
|
|
92
81
|
hostCount: isSNOCluster ? Yup.number() : hostCountValidationSchema(t),
|
|
@@ -100,7 +89,7 @@ const getValidationSchema = (agentClusterInstall: AgentClusterInstallK8sResource
|
|
|
100
89
|
? Yup.array<string>()
|
|
101
90
|
.min(1, t('ai:Please select one host for the cluster.'))
|
|
102
91
|
.max(1, t('ai:Please select one host for the cluster.')) // TODO(jtomasek): replace this with Yup.array().length() after updating Yup
|
|
103
|
-
: Yup.array<string>().min(
|
|
92
|
+
: Yup.array<string>().min(3, t('ai:Please select at least 3 hosts for the cluster.')),
|
|
104
93
|
});
|
|
105
94
|
});
|
|
106
95
|
};
|
|
@@ -37,8 +37,7 @@ const ClusterDeploymentHostsDiscoveryStep: React.FC<ClusterDeploymentHostsDiscov
|
|
|
37
37
|
infraEnvAgents.length > 1 &&
|
|
38
38
|
errors.push(t('ai:Single node cluster cannot contain more than 1 host.'));
|
|
39
39
|
} else {
|
|
40
|
-
|
|
41
|
-
errors.push(t('ai:Cluster must have 3 or 5 and more hosts.'));
|
|
40
|
+
infraEnvAgents.length < 3 && errors.push(t('ai:Cluster must have at least 3 hosts.'));
|
|
42
41
|
}
|
|
43
42
|
|
|
44
43
|
if (infraEnvAgents.some((a) => !a.spec.approved)) {
|
|
@@ -25,9 +25,7 @@ const ClusterDeploymentHostsSelectionBasic: React.FC<ClusterDeploymentHostsSelec
|
|
|
25
25
|
const { t } = useTranslation();
|
|
26
26
|
|
|
27
27
|
React.useEffect(() => {
|
|
28
|
-
|
|
29
|
-
setFieldValue('useMastersAsWorkers', true);
|
|
30
|
-
}
|
|
28
|
+
setFieldValue('useMastersAsWorkers', hostCount === 3);
|
|
31
29
|
}, [hostCount, setFieldValue]);
|
|
32
30
|
|
|
33
31
|
return (
|
|
@@ -43,12 +41,6 @@ const ClusterDeploymentHostsSelectionBasic: React.FC<ClusterDeploymentHostsSelec
|
|
|
43
41
|
minValue={isSNOCluster ? 1 : HOSTS_MIN_COUNT}
|
|
44
42
|
maxValue={isSNOCluster ? 1 : HOSTS_MAX_COUNT}
|
|
45
43
|
isDisabled={isSNOCluster}
|
|
46
|
-
formatValue={(newValue) => {
|
|
47
|
-
if (newValue === 4) {
|
|
48
|
-
return hostCount >= 4 ? 3 : 5;
|
|
49
|
-
}
|
|
50
|
-
return newValue;
|
|
51
|
-
}}
|
|
52
44
|
/>
|
|
53
45
|
</GridItem>
|
|
54
46
|
|
|
@@ -58,7 +50,7 @@ const ClusterDeploymentHostsSelectionBasic: React.FC<ClusterDeploymentHostsSelec
|
|
|
58
50
|
idPostfix="mastersasworkers"
|
|
59
51
|
name="useMastersAsWorkers"
|
|
60
52
|
label={t('ai:Run workloads on control plane hosts')}
|
|
61
|
-
isDisabled={hostCount
|
|
53
|
+
isDisabled={hostCount !== 3}
|
|
62
54
|
/>
|
|
63
55
|
</GridItem>
|
|
64
56
|
|
|
@@ -19,7 +19,12 @@ const ClusterDeploymentWizardNavigation: React.FC<{
|
|
|
19
19
|
const stepNames = wizardStepNames(t);
|
|
20
20
|
return (
|
|
21
21
|
<WizardNav>
|
|
22
|
-
<WizardNavItem
|
|
22
|
+
<WizardNavItem
|
|
23
|
+
key="installation-type"
|
|
24
|
+
content={t('ai:Installation type')}
|
|
25
|
+
step={0}
|
|
26
|
+
isDisabled
|
|
27
|
+
/>
|
|
23
28
|
<WizardNavItem
|
|
24
29
|
key="cluster-details"
|
|
25
30
|
content={stepNames['cluster-details']}
|
|
@@ -29,7 +34,7 @@ const ClusterDeploymentWizardNavigation: React.FC<{
|
|
|
29
34
|
step={1}
|
|
30
35
|
onNavItemClick={() => setCurrentStepId('cluster-details')}
|
|
31
36
|
/>
|
|
32
|
-
<WizardNavItem key="automation" content=
|
|
37
|
+
<WizardNavItem key="automation" content={t('ai:Automation')} step={2} isDisabled />
|
|
33
38
|
{isCIMFlow(clusterDeployment) ? (
|
|
34
39
|
<WizardNavItem
|
|
35
40
|
key="hosts-selection"
|
|
@@ -15,6 +15,7 @@ import { ClusterDetailsValues } from '../../../common/components/clusterWizard/t
|
|
|
15
15
|
import { useTranslation } from '../../../common/hooks/use-translation-wrapper';
|
|
16
16
|
import ArmCheckbox from './ArmCheckbox';
|
|
17
17
|
import { SNOControlGroup } from '../../../common';
|
|
18
|
+
import { getNetworkType } from '../helpers';
|
|
18
19
|
|
|
19
20
|
export type ClusterDetailsFormFieldsProps = {
|
|
20
21
|
isEditFlow: boolean;
|
|
@@ -47,7 +48,7 @@ export const ClusterDetailsFormFields: React.FC<ClusterDetailsFormFieldsProps> =
|
|
|
47
48
|
forceOpenshiftVersion,
|
|
48
49
|
extensionAfter,
|
|
49
50
|
}) => {
|
|
50
|
-
const { values } = useFormikContext<ClusterDetailsValues>();
|
|
51
|
+
const { values, setFieldValue } = useFormikContext<ClusterDetailsValues>();
|
|
51
52
|
const { name, baseDnsDomain, highAvailabilityMode } = values;
|
|
52
53
|
const nameInputRef = React.useRef<HTMLInputElement>();
|
|
53
54
|
React.useEffect(() => {
|
|
@@ -97,7 +98,13 @@ export const ClusterDetailsFormFields: React.FC<ClusterDetailsFormFieldsProps> =
|
|
|
97
98
|
{t('ai:OpenShift')} {forceOpenshiftVersion}
|
|
98
99
|
</StaticTextField>
|
|
99
100
|
) : (
|
|
100
|
-
<OpenShiftVersionSelect
|
|
101
|
+
<OpenShiftVersionSelect
|
|
102
|
+
versions={versions}
|
|
103
|
+
onChange={(value) => {
|
|
104
|
+
const ocpVersion = versions.find((v) => v.value === value);
|
|
105
|
+
setFieldValue('networkType', getNetworkType(ocpVersion));
|
|
106
|
+
}}
|
|
107
|
+
/>
|
|
101
108
|
)}
|
|
102
109
|
<SNOControlGroup versions={versions} highAvailabilityMode={highAvailabilityMode} />
|
|
103
110
|
<ArmCheckbox versions={versions} />
|
|
@@ -15,6 +15,7 @@ import { ClusterDeploymentK8sResource, AgentK8sResource } from '../../types';
|
|
|
15
15
|
import { INFRAENV_GENERATED_AI_FLOW, BMH_HOSTNAME_ANNOTATION } from '../common/constants';
|
|
16
16
|
import { gridSpans } from '@patternfly/react-core';
|
|
17
17
|
import { getErrorMessage } from '../../../common/utils';
|
|
18
|
+
|
|
18
19
|
export const shouldShowClusterDeploymentValidationOverview = (
|
|
19
20
|
agentClusterInstall?: AgentClusterInstallK8sResource,
|
|
20
21
|
) => {
|
|
@@ -37,16 +38,19 @@ export const shouldShowClusterInstallationProgress = (
|
|
|
37
38
|
agentClusterInstall?: AgentClusterInstallK8sResource,
|
|
38
39
|
) => {
|
|
39
40
|
const [clusterStatus] = getClusterStatus(agentClusterInstall);
|
|
40
|
-
return
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
41
|
+
return (
|
|
42
|
+
[
|
|
43
|
+
'preparing-for-installation',
|
|
44
|
+
'installing',
|
|
45
|
+
'installing-pending-user-action',
|
|
46
|
+
'finalizing',
|
|
47
|
+
'installed',
|
|
48
|
+
'error',
|
|
49
|
+
'cancelled',
|
|
50
|
+
'adding-hosts',
|
|
51
|
+
'ready',
|
|
52
|
+
].includes(clusterStatus) && !agentClusterInstall?.spec?.holdInstallation
|
|
53
|
+
);
|
|
50
54
|
};
|
|
51
55
|
|
|
52
56
|
export const isInstallationInProgress = (agentClusterInstall: AgentClusterInstallK8sResource) => {
|
|
@@ -111,9 +115,14 @@ export const getOnFetchEventsHandler =
|
|
|
111
115
|
(
|
|
112
116
|
fetchEvents: (url: string) => Promise<string>,
|
|
113
117
|
aiNamespace: string,
|
|
118
|
+
agents: AgentK8sResource[],
|
|
114
119
|
agentClusterInstall?: AgentClusterInstallK8sResource,
|
|
115
120
|
): EventListFetchProps['onFetchEvents'] =>
|
|
116
|
-
async (
|
|
121
|
+
async (
|
|
122
|
+
{ message, severities: severitiesFilter, hostIds, clusterLevel, deletedHosts },
|
|
123
|
+
onSuccess,
|
|
124
|
+
onError,
|
|
125
|
+
) => {
|
|
117
126
|
const eventsURL = getEventsURL(aiNamespace, agentClusterInstall);
|
|
118
127
|
if (!eventsURL) {
|
|
119
128
|
onError('Cannot determine events URL');
|
|
@@ -121,10 +130,51 @@ export const getOnFetchEventsHandler =
|
|
|
121
130
|
}
|
|
122
131
|
try {
|
|
123
132
|
const result = await fetchEvents(eventsURL);
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
133
|
+
let data = formatEventsData(result);
|
|
134
|
+
const allNames = data.filter((d) => d.hostId).map((d) => d.hostId);
|
|
135
|
+
|
|
136
|
+
const severities = {
|
|
137
|
+
critical: data.filter((d) => d.severity === 'critical').length,
|
|
138
|
+
error: data.filter((d) => d.severity === 'error').length,
|
|
139
|
+
info: data.filter((d) => d.severity === 'info').length,
|
|
140
|
+
warning: data.filter((d) => d.severity === 'warning').length,
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
if (message) {
|
|
144
|
+
data = data.filter((d) => d.message.includes(message));
|
|
145
|
+
}
|
|
146
|
+
if (severitiesFilter && severitiesFilter.length > 0) {
|
|
147
|
+
data = data.filter((d) => severitiesFilter.includes(d.severity));
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
if (clusterLevel || deletedHosts || (hostIds && hostIds.length > 0)) {
|
|
151
|
+
data = data.filter((d) => {
|
|
152
|
+
if (clusterLevel && d.clusterId && !d.hostId) {
|
|
153
|
+
return d;
|
|
154
|
+
}
|
|
155
|
+
if (hostIds && hostIds.length > 0) {
|
|
156
|
+
const names = agents
|
|
157
|
+
.filter((a) => a.metadata?.uid && hostIds.includes(a.metadata.uid))
|
|
158
|
+
.map((a) => a.metadata?.name);
|
|
159
|
+
if (d.hostId && names.includes(d.hostId)) {
|
|
160
|
+
return d;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
if (deletedHosts) {
|
|
164
|
+
const deleted = allNames.filter((n) => !agents.some((a) => a.metadata?.name === n));
|
|
165
|
+
if (d.hostId && deleted.includes(d.hostId)) {
|
|
166
|
+
return d;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
return false;
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
onSuccess({
|
|
174
|
+
data,
|
|
175
|
+
totalEvents: data.length,
|
|
176
|
+
severities,
|
|
177
|
+
});
|
|
128
178
|
} catch (e) {
|
|
129
179
|
onError(getErrorMessage(e));
|
|
130
180
|
}
|
|
@@ -54,8 +54,8 @@ const getNetworkConfigurationValidationSchema = (
|
|
|
54
54
|
ingressVip: vipValidationSchema(hostSubnets, values, initialValues.ingressVip),
|
|
55
55
|
sshPublicKey: sshPublicKeyValidationSchema,
|
|
56
56
|
hostSubnet: hostSubnetValidationSchema,
|
|
57
|
-
httpProxy: httpProxyValidationSchema(values, 'httpsProxy'),
|
|
58
|
-
httpsProxy: httpProxyValidationSchema(values, 'httpProxy'), // share the schema, httpS is currently not supported
|
|
57
|
+
httpProxy: httpProxyValidationSchema({ values, pairValueName: 'httpsProxy' }),
|
|
58
|
+
httpsProxy: httpProxyValidationSchema({ values, pairValueName: 'httpProxy' }), // share the schema, httpS is currently not supported
|
|
59
59
|
noProxy: noProxyValidationSchema,
|
|
60
60
|
}),
|
|
61
61
|
);
|
|
@@ -14,6 +14,5 @@ export const hostCountValidationSchema = (t: TFunction) => {
|
|
|
14
14
|
HOSTS_MAX_COUNT,
|
|
15
15
|
t('ai:Maximum hosts count {{HOSTS_MAX_COUNT}} reached.', { HOSTS_MAX_COUNT }),
|
|
16
16
|
)
|
|
17
|
-
.test('not-four', t('ai:A cluster needs 2 or more worker nodes.'), (value) => value !== 4)
|
|
18
17
|
.required(t('ai:Required field'));
|
|
19
18
|
};
|
|
@@ -28,8 +28,8 @@ const getValidationSchema = (t: TFunction) =>
|
|
|
28
28
|
clusterNetworkHostPrefix: values.isAdvanced
|
|
29
29
|
? hostPrefixValidationSchema(values.clusterNetworkCidr)
|
|
30
30
|
: Yup.number(),
|
|
31
|
-
httpProxy: httpProxyValidationSchema(values, 'httpsProxy'),
|
|
32
|
-
httpsProxy: httpProxyValidationSchema(values, 'httpProxy'), // share the schema, httpS is currently not supported
|
|
31
|
+
httpProxy: httpProxyValidationSchema({ values, pairValueName: 'httpsProxy' }),
|
|
32
|
+
httpsProxy: httpProxyValidationSchema({ values, pairValueName: 'httpProxy' }), // share the schema, httpS is currently not supported
|
|
33
33
|
noProxy: noProxyValidationSchema,
|
|
34
34
|
nodePortAddress:
|
|
35
35
|
values.apiPublishingStrategy === 'NodePort'
|
|
@@ -14,7 +14,7 @@ import * as React from 'react';
|
|
|
14
14
|
import { AgentK8sResource } from '../../../types';
|
|
15
15
|
import { NodePoolK8sResource, HostedClusterK8sResource, AgentMachineK8sResource } from '../types';
|
|
16
16
|
import NodePoolForm, { NodePoolFormValues } from './NodePoolForm';
|
|
17
|
-
import {
|
|
17
|
+
import { labelsToFormikValue } from '../utils';
|
|
18
18
|
import { useTranslation } from '../../../../common/hooks/use-translation-wrapper';
|
|
19
19
|
import { getErrorMessage } from '../../../../common/utils';
|
|
20
20
|
|
|
@@ -57,11 +57,6 @@ const ManageHostsModal = ({
|
|
|
57
57
|
path: '/spec/replicas',
|
|
58
58
|
});
|
|
59
59
|
}
|
|
60
|
-
patches.push({
|
|
61
|
-
op: 'replace',
|
|
62
|
-
value: formikLabelsToLabels(values.agentLabels),
|
|
63
|
-
path: '/spec/platform/agent/agentLabelSelector/matchLabels',
|
|
64
|
-
});
|
|
65
60
|
try {
|
|
66
61
|
await onSubmit(nodePool, patches);
|
|
67
62
|
onClose();
|
|
@@ -15,7 +15,7 @@ export const getNodepoolAgents = (
|
|
|
15
15
|
(am) =>
|
|
16
16
|
am.metadata?.namespace ===
|
|
17
17
|
`${hostedCluster.metadata?.namespace || ''}-${hostedCluster.metadata?.name || ''}` &&
|
|
18
|
-
am.metadata?.labels?.[CLUSTER_NAME_LABEL] === hostedCluster.
|
|
18
|
+
am.metadata?.labels?.[CLUSTER_NAME_LABEL] === hostedCluster.spec.infraID &&
|
|
19
19
|
am.metadata?.annotations?.[NODEPOOL_NAME_ANNOTATION] === nodePool.metadata?.name &&
|
|
20
20
|
am.status?.agentRef?.name &&
|
|
21
21
|
am.status?.agentRef?.namespace,
|