@openshift-assisted/ui-lib 2.9.5-cim → 2.9.6-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/build/@types/cim/components/ClusterDeployment/types.d.ts +2 -3
- package/build/@types/cim/components/ClusterDeployment/types.d.ts.map +1 -1
- package/build/@types/cim/components/ClusterDeployment/wizardTransition.d.ts.map +1 -1
- package/build/@types/cim/components/InfraEnv/AddHostDropdown.d.ts +1 -1
- package/build/@types/cim/components/InfraEnv/AddHostDropdown.d.ts.map +1 -1
- package/build/@types/cim/components/InfraEnv/types.d.ts +3 -1
- package/build/@types/cim/components/InfraEnv/types.d.ts.map +1 -1
- package/build/@types/cim/components/helpers/toAssisted.d.ts.map +1 -1
- package/build/@types/cim/components/modals/AddBmcHostModal.d.ts.map +1 -1
- package/build/@types/cim/components/modals/AddBmcHostYamlModal.d.ts.map +1 -1
- package/build/@types/cim/components/modals/ProvisioningConfigErrorAlert.d.ts +5 -0
- package/build/@types/cim/components/modals/ProvisioningConfigErrorAlert.d.ts.map +1 -0
- package/build/@types/cim/components/modals/types.d.ts +2 -0
- package/build/@types/cim/components/modals/types.d.ts.map +1 -1
- package/build/@types/common/api/axiosClient.d.ts.map +1 -1
- package/build/@types/common/components/clusterWizard/ReviewValidations.d.ts.map +1 -1
- package/build/@types/common/components/clusterWizard/types.d.ts +1 -0
- package/build/@types/common/components/clusterWizard/types.d.ts.map +1 -1
- package/build/@types/common/components/clusterWizard/validationsInfoUtils.d.ts +4 -0
- package/build/@types/common/components/clusterWizard/validationsInfoUtils.d.ts.map +1 -1
- package/build/@types/common/components/ui/formik/SingleNodeCheckbox.d.ts.map +1 -1
- package/build/@types/common/components/ui/formik/validationSchemas.d.ts +0 -1
- package/build/@types/common/components/ui/formik/validationSchemas.d.ts.map +1 -1
- package/build/@types/common/config/constants.d.ts.map +1 -1
- package/build/@types/common/features/featureGate.d.ts +1 -2
- package/build/@types/common/features/featureGate.d.ts.map +1 -1
- package/build/@types/ocm/components/HostsClusterDetailTab/HostsClusterDetailTab.d.ts.map +1 -1
- package/build/@types/ocm/components/Routes.d.ts +6 -0
- package/build/@types/ocm/components/Routes.d.ts.map +1 -0
- package/build/@types/ocm/components/clusterConfiguration/DiscoveryImageForm.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/OcmBaseDomainField.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/OcmSingleNodeCheckbox.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/operators/CnvHostRequirements.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.d.ts +13 -4
- package/build/@types/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationNote.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/platformIntegration/constants.d.ts +3 -0
- package/build/@types/ocm/components/clusterConfiguration/platformIntegration/constants.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/staticIp/components/YamlView/MacIpMapping.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterDetail/AssistedInstallerDetailCard.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterWizard/ClusterDetailsForm.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterWizard/CustomManifestStep.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterWizard/OperatorsStep.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterWizard/StaticIp.d.ts.map +1 -1
- package/build/@types/ocm/components/clusters/AssistedInstallerHeader.d.ts +2 -0
- package/build/@types/ocm/components/clusters/AssistedInstallerHeader.d.ts.map +1 -0
- package/build/@types/ocm/components/clusters/ClusterPage.d.ts.map +1 -1
- package/build/@types/ocm/components/clusters/Clusters.d.ts.map +1 -1
- package/build/@types/ocm/components/clusters/ClustersTable.d.ts.map +1 -1
- package/build/@types/ocm/components/clusters/NewClusterPage.d.ts.map +1 -1
- package/build/@types/ocm/components/clusters/clusterPolling.d.ts +1 -1
- package/build/@types/ocm/components/clusters/clusterPolling.d.ts.map +1 -1
- package/build/@types/ocm/components/featureSupportLevels/featureStateUtils.d.ts.map +1 -1
- package/build/@types/ocm/components/hosts/use-hosts-table.d.ts.map +1 -1
- package/build/@types/ocm/components/index.d.ts +1 -1
- package/build/@types/ocm/index.d.ts +0 -1
- package/build/@types/ocm/index.d.ts.map +1 -1
- package/build/@types/ocm/store/hooks.d.ts +5 -1
- package/build/@types/ocm/store/hooks.d.ts.map +1 -1
- package/build/@types/ocm/store/index.d.ts +5 -36
- package/build/@types/ocm/store/index.d.ts.map +1 -1
- package/build/@types/ocm/{selectors/clusters.d.ts → store/slices/clusters/selectors.d.ts} +15 -11
- package/build/@types/ocm/store/slices/clusters/selectors.d.ts.map +1 -0
- package/build/@types/ocm/{reducers/clusters/clustersSlice.d.ts → store/slices/clusters/slice.d.ts} +4 -4
- package/build/@types/ocm/store/slices/clusters/slice.d.ts.map +1 -0
- package/build/@types/ocm/store/slices/current-cluster/selectors.d.ts +14 -0
- package/build/@types/ocm/store/slices/current-cluster/selectors.d.ts.map +1 -0
- package/build/@types/ocm/{reducers/clusters/currentClusterSlice.d.ts → store/slices/current-cluster/slice.d.ts} +5 -5
- package/build/@types/ocm/store/slices/current-cluster/slice.d.ts.map +1 -0
- package/build/@types/ocm/store/slices/feature-flags/selectors.d.ts +9 -0
- package/build/@types/ocm/store/slices/feature-flags/selectors.d.ts.map +1 -0
- package/build/@types/ocm/store/slices/feature-flags/slice.d.ts +7 -0
- package/build/@types/ocm/store/slices/feature-flags/slice.d.ts.map +1 -0
- package/build/@types/ocm/store/slices/{infraEnvs → infra-envs}/selectors.d.ts +4 -3
- package/build/@types/ocm/store/slices/infra-envs/selectors.d.ts.map +1 -0
- package/build/@types/ocm/store/slices/infra-envs/slice.d.ts.map +1 -0
- package/build/@types/ocm/store/slices/infra-envs/thunks.d.ts.map +1 -0
- package/build/@types/ocm/store/store-day1.d.ts +32 -0
- package/build/@types/ocm/store/store-day1.d.ts.map +1 -0
- package/build/@types/ocm/store/store-day2.d.ts +10 -0
- package/build/@types/ocm/store/store-day2.d.ts.map +1 -0
- package/build/cjs/cim/components/ClusterDeployment/wizardTransition.js +9 -0
- package/build/cjs/cim/components/ClusterDeployment/wizardTransition.js.map +1 -1
- package/build/cjs/cim/components/InfraEnv/AddHostDropdown.js +23 -10
- package/build/cjs/cim/components/InfraEnv/AddHostDropdown.js.map +1 -1
- package/build/cjs/cim/components/helpers/toAssisted.js +2 -1
- package/build/cjs/cim/components/helpers/toAssisted.js.map +1 -1
- package/build/cjs/cim/components/modals/AddBmcHostModal.js +3 -1
- package/build/cjs/cim/components/modals/AddBmcHostModal.js.map +1 -1
- package/build/cjs/cim/components/modals/AddBmcHostYamlModal.js +3 -1
- package/build/cjs/cim/components/modals/AddBmcHostYamlModal.js.map +1 -1
- package/build/cjs/cim/components/modals/ProvisioningConfigErrorAlert.js +16 -0
- package/build/cjs/cim/components/modals/ProvisioningConfigErrorAlert.js.map +1 -0
- package/build/cjs/common/api/axiosClient.js +2 -4
- package/build/cjs/common/api/axiosClient.js.map +1 -1
- package/build/cjs/common/components/clusterWizard/ReviewValidations.js +11 -3
- package/build/cjs/common/components/clusterWizard/ReviewValidations.js.map +1 -1
- package/build/cjs/common/components/clusterWizard/networkingSteps/NetworkTypeControlGroup.js +2 -2
- package/build/cjs/common/components/clusterWizard/networkingSteps/NetworkTypeControlGroup.js.map +1 -1
- package/build/cjs/common/components/clusterWizard/validationsInfoUtils.js.map +1 -1
- package/build/cjs/common/components/ui/formik/SingleNodeCheckbox.js +1 -3
- package/build/cjs/common/components/ui/formik/SingleNodeCheckbox.js.map +1 -1
- package/build/cjs/common/components/ui/formik/validationSchemas.js +8 -16
- package/build/cjs/common/components/ui/formik/validationSchemas.js.map +1 -1
- package/build/cjs/common/config/constants.js +1 -3
- package/build/cjs/common/config/constants.js.map +1 -1
- package/build/cjs/common/features/featureGate.js +1 -11
- package/build/cjs/common/features/featureGate.js.map +1 -1
- package/build/cjs/common/utils.js +1 -1
- package/build/cjs/common/utils.js.map +1 -1
- package/build/cjs/ocm/components/HostsClusterDetailTab/HostsClusterDetailTab.js +9 -5
- package/build/cjs/ocm/components/HostsClusterDetailTab/HostsClusterDetailTab.js.map +1 -1
- package/build/cjs/ocm/components/Routes.js +29 -0
- package/build/cjs/ocm/components/Routes.js.map +1 -0
- package/build/cjs/ocm/components/clusterConfiguration/DiscoveryImageForm.js +4 -4
- package/build/cjs/ocm/components/clusterConfiguration/DiscoveryImageForm.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/HostInventory.js +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/HostInventory.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/OcmBaseDomainField.js +0 -1
- package/build/cjs/ocm/components/clusterConfiguration/OcmBaseDomainField.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.js +2 -4
- package/build/cjs/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/OcmSingleNodeCheckbox.js +1 -2
- package/build/cjs/ocm/components/clusterConfiguration/OcmSingleNodeCheckbox.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsArray.js +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsArray.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.js +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/AvailableSubnetsControl.js +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/AvailableSubnetsControl.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.js +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.js +4 -4
- package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.js +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.js +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/CnvHostRequirements.js +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/operators/CnvHostRequirements.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.js +61 -17
- package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationNote.js +2 -2
- package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationNote.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/constants.js +8 -1
- package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/constants.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/review/ReviewStep.js +3 -3
- package/build/cjs/ocm/components/clusterConfiguration/review/ReviewStep.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/StaticIpForm.js +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/StaticIpForm.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/StaticIpHostsArray.js +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/StaticIpHostsArray.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/YamlView/MacIpMapping.js +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/staticIp/components/YamlView/MacIpMapping.js.map +1 -1
- package/build/cjs/ocm/components/clusterDetail/AssistedInstallerDetailCard.js +4 -4
- package/build/cjs/ocm/components/clusterDetail/AssistedInstallerDetailCard.js.map +1 -1
- package/build/cjs/ocm/components/clusterDetail/AssistedInstallerExtraDetailCard.js +2 -2
- package/build/cjs/ocm/components/clusterDetail/AssistedInstallerExtraDetailCard.js.map +1 -1
- package/build/cjs/ocm/components/clusterDetail/CancelInstallationModal.js +2 -2
- package/build/cjs/ocm/components/clusterDetail/CancelInstallationModal.js.map +1 -1
- package/build/cjs/ocm/components/clusterDetail/ClusterDetail.js +2 -2
- package/build/cjs/ocm/components/clusterDetail/ClusterDetail.js.map +1 -1
- package/build/cjs/ocm/components/clusterDetail/ResetClusterModal.js +2 -2
- package/build/cjs/ocm/components/clusterDetail/ResetClusterModal.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/ClusterDetails.js +4 -4
- package/build/cjs/ocm/components/clusterWizard/ClusterDetails.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/ClusterDetailsForm.js +4 -2
- package/build/cjs/ocm/components/clusterWizard/ClusterDetailsForm.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/CustomManifestStep.js +1 -1
- package/build/cjs/ocm/components/clusterWizard/CustomManifestStep.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/HostDiscovery.js +4 -4
- package/build/cjs/ocm/components/clusterWizard/HostDiscovery.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/Operators.js +3 -3
- package/build/cjs/ocm/components/clusterWizard/Operators.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/OperatorsStep.js +4 -9
- package/build/cjs/ocm/components/clusterWizard/OperatorsStep.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/StaticIp.js +1 -1
- package/build/cjs/ocm/components/clusterWizard/StaticIp.js.map +1 -1
- package/build/cjs/ocm/components/clusters/AssistedInstallerHeader.js +18 -0
- package/build/cjs/ocm/components/clusters/AssistedInstallerHeader.js.map +1 -0
- package/build/cjs/ocm/components/clusters/ClusterPage.js +4 -9
- package/build/cjs/ocm/components/clusters/ClusterPage.js.map +1 -1
- package/build/cjs/ocm/components/clusters/Clusters.js +8 -8
- package/build/cjs/ocm/components/clusters/Clusters.js.map +1 -1
- package/build/cjs/ocm/components/clusters/ClustersListToolbar.js +6 -6
- package/build/cjs/ocm/components/clusters/ClustersListToolbar.js.map +1 -1
- package/build/cjs/ocm/components/clusters/ClustersTable.js +2 -2
- package/build/cjs/ocm/components/clusters/ClustersTable.js.map +1 -1
- package/build/cjs/ocm/components/clusters/NewClusterPage.js +2 -2
- package/build/cjs/ocm/components/clusters/NewClusterPage.js.map +1 -1
- package/build/cjs/ocm/components/clusters/clusterPolling.js +11 -11
- package/build/cjs/ocm/components/clusters/clusterPolling.js.map +1 -1
- package/build/cjs/ocm/components/featureSupportLevels/featureStateUtils.js +20 -8
- package/build/cjs/ocm/components/featureSupportLevels/featureStateUtils.js.map +1 -1
- package/build/cjs/ocm/components/hosts/HostsDiscoveryTable.js +1 -1
- package/build/cjs/ocm/components/hosts/HostsDiscoveryTable.js.map +1 -1
- package/build/cjs/ocm/components/hosts/use-hosts-table.js +20 -20
- package/build/cjs/ocm/components/hosts/use-hosts-table.js.map +1 -1
- package/build/cjs/ocm/components/hosts/utils.js +2 -2
- package/build/cjs/ocm/components/hosts/utils.js.map +1 -1
- package/build/cjs/ocm/components/index.js +1 -1
- package/build/cjs/ocm/components/ui/OcmFormFields.js +1 -1
- package/build/cjs/ocm/components/ui/OcmFormFields.js.map +1 -1
- package/build/cjs/ocm/hooks/useSetClusterPermissions.js +2 -2
- package/build/cjs/ocm/hooks/useSetClusterPermissions.js.map +1 -1
- package/build/cjs/ocm/index.js +1 -2
- package/build/cjs/ocm/index.js.map +1 -1
- package/build/cjs/ocm/store/hooks.js +3 -1
- package/build/cjs/ocm/store/hooks.js.map +1 -1
- package/build/cjs/ocm/store/index.js +10 -19
- package/build/cjs/ocm/store/index.js.map +1 -1
- package/build/cjs/ocm/{selectors/clusters.js → store/slices/clusters/selectors.js} +4 -4
- package/build/cjs/ocm/store/slices/clusters/selectors.js.map +1 -0
- package/build/cjs/ocm/{reducers/clusters/clustersSlice.js → store/slices/clusters/slice.js} +8 -7
- package/build/cjs/ocm/store/slices/clusters/slice.js.map +1 -0
- package/build/cjs/ocm/{selectors/currentCluster.js → store/slices/current-cluster/selectors.js} +1 -1
- package/build/cjs/ocm/store/slices/current-cluster/selectors.js.map +1 -0
- package/build/cjs/ocm/{reducers/clusters/currentClusterSlice.js → store/slices/current-cluster/slice.js} +12 -13
- package/build/cjs/ocm/store/slices/current-cluster/slice.js.map +1 -0
- package/build/cjs/ocm/store/slices/feature-flags/selectors.js +11 -0
- package/build/cjs/ocm/store/slices/feature-flags/selectors.js.map +1 -0
- package/build/cjs/ocm/store/slices/feature-flags/slice.js +16 -0
- package/build/cjs/ocm/store/slices/feature-flags/slice.js.map +1 -0
- package/build/cjs/ocm/store/slices/infra-envs/selectors.js.map +1 -0
- package/build/cjs/ocm/store/slices/infra-envs/slice.js.map +1 -0
- package/build/cjs/ocm/store/slices/infra-envs/thunks.js.map +1 -0
- package/build/cjs/ocm/store/store-day1.js +24 -0
- package/build/cjs/ocm/store/store-day1.js.map +1 -0
- package/build/cjs/ocm/store/store-day2.js +20 -0
- package/build/cjs/ocm/store/store-day2.js.map +1 -0
- package/lib/cim/components/ClusterDeployment/types.ts +2 -3
- package/lib/cim/components/ClusterDeployment/wizardTransition.ts +10 -0
- package/lib/cim/components/InfraEnv/AddHostDropdown.tsx +45 -18
- package/lib/cim/components/InfraEnv/types.ts +4 -1
- package/lib/cim/components/helpers/toAssisted.ts +3 -0
- package/lib/cim/components/modals/AddBmcHostModal.tsx +3 -0
- package/lib/cim/components/modals/AddBmcHostYamlModal.tsx +3 -0
- package/lib/cim/components/modals/ProvisioningConfigErrorAlert.tsx +18 -0
- package/lib/cim/components/modals/types.ts +2 -0
- package/lib/common/api/axiosClient.ts +2 -3
- package/lib/common/components/clusterWizard/ReviewValidations.tsx +12 -1
- package/lib/common/components/clusterWizard/networkingSteps/NetworkTypeControlGroup.tsx +2 -2
- package/lib/common/components/clusterWizard/types.ts +1 -0
- package/lib/common/components/clusterWizard/validationsInfoUtils.ts +9 -0
- package/lib/common/components/ui/formik/SingleNodeCheckbox.tsx +1 -3
- package/lib/common/components/ui/formik/validationSchemas.test.ts +4 -22
- package/lib/common/components/ui/formik/validationSchemas.ts +13 -22
- package/lib/common/config/constants.ts +1 -3
- package/lib/common/features/featureGate.tsx +1 -19
- package/lib/common/utils.ts +2 -2
- package/lib/ocm/components/HostsClusterDetailTab/HostsClusterDetailTab.tsx +16 -11
- package/lib/ocm/components/Routes.tsx +34 -0
- package/lib/ocm/components/clusterConfiguration/DiscoveryImageForm.tsx +5 -1
- package/lib/ocm/components/clusterConfiguration/HostInventory.tsx +1 -1
- package/lib/ocm/components/clusterConfiguration/OcmBaseDomainField.tsx +0 -2
- package/lib/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.tsx +6 -10
- package/lib/ocm/components/clusterConfiguration/OcmSingleNodeCheckbox.tsx +2 -3
- package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsArray.tsx +1 -1
- package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.tsx +1 -1
- package/lib/ocm/components/clusterConfiguration/networkConfiguration/AvailableSubnetsControl.tsx +1 -1
- package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.tsx +1 -1
- package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.tsx +5 -2
- package/lib/ocm/components/clusterConfiguration/networkConfiguration/StackTypeControl.tsx +1 -1
- package/lib/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.tsx +1 -1
- package/lib/ocm/components/clusterConfiguration/operators/CnvHostRequirements.tsx +1 -1
- package/lib/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.tsx +134 -35
- package/lib/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationNote.tsx +10 -8
- package/lib/ocm/components/clusterConfiguration/platformIntegration/constants.tsx +8 -0
- package/lib/ocm/components/clusterConfiguration/review/ReviewStep.tsx +2 -2
- package/lib/ocm/components/clusterConfiguration/staticIp/components/StaticIpForm.tsx +1 -1
- package/lib/ocm/components/clusterConfiguration/staticIp/components/StaticIpHostsArray.tsx +3 -3
- package/lib/ocm/components/clusterConfiguration/staticIp/components/YamlView/MacIpMapping.tsx +1 -1
- package/lib/ocm/components/clusterDetail/AssistedInstallerDetailCard.tsx +6 -4
- package/lib/ocm/components/clusterDetail/AssistedInstallerExtraDetailCard.tsx +3 -3
- package/lib/ocm/components/clusterDetail/CancelInstallationModal.tsx +1 -1
- package/lib/ocm/components/clusterDetail/ClusterDetail.tsx +1 -1
- package/lib/ocm/components/clusterDetail/ResetClusterModal.tsx +1 -1
- package/lib/ocm/components/clusterWizard/ClusterDetails.tsx +1 -1
- package/lib/ocm/components/clusterWizard/ClusterDetailsForm.tsx +5 -3
- package/lib/ocm/components/clusterWizard/CustomManifestStep.tsx +1 -1
- package/lib/ocm/components/clusterWizard/HostDiscovery.tsx +2 -2
- package/lib/ocm/components/clusterWizard/Operators.tsx +1 -1
- package/lib/ocm/components/clusterWizard/OperatorsStep.tsx +6 -19
- package/lib/ocm/components/clusterWizard/StaticIp.tsx +1 -1
- package/lib/ocm/components/clusters/AssistedInstallerHeader.tsx +25 -0
- package/lib/ocm/components/clusters/ClusterPage.tsx +4 -28
- package/lib/ocm/components/clusters/Clusters.tsx +9 -11
- package/lib/ocm/components/clusters/ClustersListToolbar.tsx +5 -5
- package/lib/ocm/components/clusters/ClustersTable.tsx +4 -1
- package/lib/ocm/components/clusters/NewClusterPage.tsx +3 -6
- package/lib/ocm/components/clusters/clusterPolling.ts +7 -7
- package/lib/ocm/components/featureSupportLevels/featureStateUtils.ts +21 -7
- package/lib/ocm/components/hosts/HostsDiscoveryTable.tsx +1 -1
- package/lib/ocm/components/hosts/use-hosts-table.tsx +5 -2
- package/lib/ocm/components/hosts/utils.ts +1 -1
- package/lib/ocm/components/index.ts +1 -1
- package/lib/ocm/components/ui/OcmFormFields.tsx +1 -1
- package/lib/ocm/hooks/useSetClusterPermissions.ts +1 -1
- package/lib/ocm/index.ts +0 -1
- package/lib/ocm/store/hooks.ts +6 -2
- package/lib/ocm/store/index.ts +5 -23
- package/lib/ocm/{selectors/clusters.tsx → store/slices/clusters/selectors.tsx} +10 -12
- package/lib/ocm/{reducers/clusters/clustersSlice.ts → store/slices/clusters/slice.ts} +6 -5
- package/lib/ocm/{selectors/currentCluster.ts → store/slices/current-cluster/selectors.ts} +7 -7
- package/lib/ocm/{reducers/clusters/currentClusterSlice.ts → store/slices/current-cluster/slice.ts} +10 -8
- package/lib/ocm/store/slices/feature-flags/selectors.ts +13 -0
- package/lib/ocm/store/slices/feature-flags/slice.ts +15 -0
- package/lib/ocm/store/slices/{infraEnvs → infra-envs}/selectors.ts +3 -3
- package/lib/ocm/store/slices/{infraEnvs → infra-envs}/thunks.ts +3 -3
- package/lib/ocm/store/store-day1.ts +23 -0
- package/lib/ocm/store/store-day2.ts +19 -0
- package/package.json +3 -3
- package/build/@types/ocm/components/Router.d.ts +0 -9
- package/build/@types/ocm/components/Router.d.ts.map +0 -1
- package/build/@types/ocm/hooks/useOracleDropdownItemState.d.ts +0 -10
- package/build/@types/ocm/hooks/useOracleDropdownItemState.d.ts.map +0 -1
- package/build/@types/ocm/reducers/clusters/clustersSlice.d.ts.map +0 -1
- package/build/@types/ocm/reducers/clusters/currentClusterSlice.d.ts.map +0 -1
- package/build/@types/ocm/reducers/clusters/index.d.ts +0 -3
- package/build/@types/ocm/reducers/clusters/index.d.ts.map +0 -1
- package/build/@types/ocm/selectors/clusters.d.ts.map +0 -1
- package/build/@types/ocm/selectors/currentCluster.d.ts +0 -14
- package/build/@types/ocm/selectors/currentCluster.d.ts.map +0 -1
- package/build/@types/ocm/selectors/index.d.ts +0 -3
- package/build/@types/ocm/selectors/index.d.ts.map +0 -1
- package/build/@types/ocm/store/slices/infraEnvs/selectors.d.ts.map +0 -1
- package/build/@types/ocm/store/slices/infraEnvs/slice.d.ts.map +0 -1
- package/build/@types/ocm/store/slices/infraEnvs/thunks.d.ts.map +0 -1
- package/build/cjs/ocm/components/Router.js +0 -25
- package/build/cjs/ocm/components/Router.js.map +0 -1
- package/build/cjs/ocm/hooks/useOracleDropdownItemState.js +0 -30
- package/build/cjs/ocm/hooks/useOracleDropdownItemState.js.map +0 -1
- package/build/cjs/ocm/reducers/clusters/clustersSlice.js.map +0 -1
- package/build/cjs/ocm/reducers/clusters/currentClusterSlice.js.map +0 -1
- package/build/cjs/ocm/reducers/clusters/index.js +0 -6
- package/build/cjs/ocm/reducers/clusters/index.js.map +0 -1
- package/build/cjs/ocm/selectors/clusters.js.map +0 -1
- package/build/cjs/ocm/selectors/currentCluster.js.map +0 -1
- package/build/cjs/ocm/selectors/index.js +0 -6
- package/build/cjs/ocm/selectors/index.js.map +0 -1
- package/build/cjs/ocm/store/slices/infraEnvs/selectors.js.map +0 -1
- package/build/cjs/ocm/store/slices/infraEnvs/slice.js.map +0 -1
- package/build/cjs/ocm/store/slices/infraEnvs/thunks.js.map +0 -1
- package/lib/ocm/components/Router.tsx +0 -29
- package/lib/ocm/hooks/useOracleDropdownItemState.ts +0 -45
- package/lib/ocm/reducers/clusters/index.ts +0 -2
- package/lib/ocm/selectors/index.ts +0 -2
- /package/build/@types/ocm/store/slices/{infraEnvs → infra-envs}/slice.d.ts +0 -0
- /package/build/@types/ocm/store/slices/{infraEnvs → infra-envs}/thunks.d.ts +0 -0
- /package/build/cjs/ocm/store/slices/{infraEnvs → infra-envs}/selectors.js +0 -0
- /package/build/cjs/ocm/store/slices/{infraEnvs → infra-envs}/slice.js +0 -0
- /package/build/cjs/ocm/store/slices/{infraEnvs → infra-envs}/thunks.js +0 -0
- /package/lib/ocm/store/slices/{infraEnvs → infra-envs}/slice.ts +0 -0
|
@@ -4,17 +4,22 @@ import { AssistedUILibVersion } from '../ui';
|
|
|
4
4
|
import { AlertsContextProvider, FeatureGateContextProvider } from '../../../common';
|
|
5
5
|
import { HostsClusterDetailTabContent } from './HostsClusterDetailTabContent';
|
|
6
6
|
import { HostsClusterDetailTabProps } from './types';
|
|
7
|
-
import {
|
|
7
|
+
import { storeDay1 } from '../../store';
|
|
8
|
+
import { featureFlagsActions } from '../../store/slices/feature-flags/slice';
|
|
8
9
|
|
|
9
|
-
const HostsClusterDetailTab = (props: HostsClusterDetailTabProps) =>
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
10
|
+
const HostsClusterDetailTab = (props: HostsClusterDetailTabProps) => {
|
|
11
|
+
storeDay1.dispatch(featureFlagsActions.setFeatureFlags(props.allEnabledFeatures));
|
|
12
|
+
|
|
13
|
+
return (
|
|
14
|
+
<Provider store={storeDay1}>
|
|
15
|
+
<AssistedUILibVersion />
|
|
16
|
+
<FeatureGateContextProvider features={props.allEnabledFeatures}>
|
|
17
|
+
<AlertsContextProvider>
|
|
18
|
+
<HostsClusterDetailTabContent {...props} />
|
|
19
|
+
</AlertsContextProvider>
|
|
20
|
+
</FeatureGateContextProvider>
|
|
21
|
+
</Provider>
|
|
22
|
+
);
|
|
23
|
+
};
|
|
19
24
|
|
|
20
25
|
export default HostsClusterDetailTab;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import React, { useEffect } from 'react';
|
|
2
|
+
import { Provider } from 'react-redux';
|
|
3
|
+
import { Switch, Route, Redirect } from 'react-router-dom';
|
|
4
|
+
import { Clusters, ClusterPage, NewClusterPage } from './clusters';
|
|
5
|
+
import { FeatureGateContextProvider } from '../../common';
|
|
6
|
+
import type { FeatureListType } from '../../common/features/featureGate';
|
|
7
|
+
import { routeBasePath } from '../config';
|
|
8
|
+
import { AssistedUILibVersion } from './ui';
|
|
9
|
+
import { storeDay1 } from '../store';
|
|
10
|
+
import { featureFlagsActions } from '../store/slices/feature-flags/slice';
|
|
11
|
+
|
|
12
|
+
export const Routes: React.FC<{ allEnabledFeatures: FeatureListType }> = ({
|
|
13
|
+
allEnabledFeatures,
|
|
14
|
+
children,
|
|
15
|
+
}) => {
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
storeDay1.dispatch(featureFlagsActions.setFeatureFlags(allEnabledFeatures));
|
|
18
|
+
}, [allEnabledFeatures]);
|
|
19
|
+
|
|
20
|
+
return (
|
|
21
|
+
<Provider store={storeDay1}>
|
|
22
|
+
<FeatureGateContextProvider features={allEnabledFeatures}>
|
|
23
|
+
<AssistedUILibVersion />
|
|
24
|
+
<Switch>
|
|
25
|
+
<Route path={`${routeBasePath}/clusters/~new`} component={NewClusterPage} />
|
|
26
|
+
<Route path={`${routeBasePath}/clusters/:clusterId`} component={ClusterPage} />
|
|
27
|
+
<Route path={`${routeBasePath}/clusters`} component={Clusters} />
|
|
28
|
+
{children}
|
|
29
|
+
<Redirect to={`${routeBasePath}/clusters`} />
|
|
30
|
+
</Switch>
|
|
31
|
+
</FeatureGateContextProvider>
|
|
32
|
+
</Provider>
|
|
33
|
+
);
|
|
34
|
+
};
|
|
@@ -4,7 +4,11 @@ import Axios, { CancelTokenSource } from 'axios';
|
|
|
4
4
|
import { FormikHelpers } from 'formik';
|
|
5
5
|
import { getApiErrorMessage, handleApiError, isUnknownServerError } from '../../api';
|
|
6
6
|
import { CpuArchitecture, ErrorState, LoadingState } from '../../../common';
|
|
7
|
-
import {
|
|
7
|
+
import {
|
|
8
|
+
forceReload,
|
|
9
|
+
setServerUpdateError,
|
|
10
|
+
updateCluster,
|
|
11
|
+
} from '../../store/slices/current-cluster/slice';
|
|
8
12
|
import useInfraEnv from '../../hooks/useInfraEnv';
|
|
9
13
|
import { DiscoveryImageFormService } from '../../services';
|
|
10
14
|
import {
|
|
@@ -22,7 +22,7 @@ import HostsDiscoveryTable from '../hosts/HostsDiscoveryTable';
|
|
|
22
22
|
import { DiscoveryImageModalButton } from './DiscoveryImageModal';
|
|
23
23
|
import InformationAndAlerts from './InformationAndAlerts';
|
|
24
24
|
import { OcmSwitchField } from '../ui/OcmFormFields';
|
|
25
|
-
import { selectCurrentClusterPermissionsState } from '../../selectors';
|
|
25
|
+
import { selectCurrentClusterPermissionsState } from '../../store/slices/current-cluster/selectors';
|
|
26
26
|
import { Cluster } from '@openshift-assisted/types/assisted-installer-service';
|
|
27
27
|
|
|
28
28
|
const schedulableMastersTooltip =
|
|
@@ -30,12 +30,11 @@ import OcmSNOControlGroup from './OcmSNOControlGroup';
|
|
|
30
30
|
import useSupportLevelsAPI from '../../hooks/useSupportLevelsAPI';
|
|
31
31
|
import { useOpenshiftVersions } from '../../hooks';
|
|
32
32
|
import { ExternalPlatformDropdown } from './platformIntegration/ExternalPlatformDropdown';
|
|
33
|
-
import { useOracleDropdownItemState } from '../../hooks/useOracleDropdownItemState';
|
|
34
|
-
import { useClusterWizardContext } from '../clusterWizard/ClusterWizardContext';
|
|
35
33
|
import { HostsNetworkConfigurationType } from '../../services/types';
|
|
36
34
|
import { useNewFeatureSupportLevel } from '../../../common/components/newFeatureSupportLevels';
|
|
37
35
|
import { ExternalPlatformLabels } from './platformIntegration/constants';
|
|
38
36
|
import { ManagedDomain, PlatformType } from '@openshift-assisted/types/assisted-installer-service';
|
|
37
|
+
import { useClusterWizardContext } from '../clusterWizard/ClusterWizardContext';
|
|
39
38
|
|
|
40
39
|
export type OcmClusterDetailsFormFieldsProps = {
|
|
41
40
|
forceOpenshiftVersion?: string;
|
|
@@ -84,11 +83,7 @@ export const OcmClusterDetailsFormFields = ({
|
|
|
84
83
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
85
84
|
// @ts-ignore
|
|
86
85
|
const cpuArchitecture = (architectureData[values.cpuArchitecture] as CpuArchitectureItem).label;
|
|
87
|
-
|
|
88
|
-
clusterExists,
|
|
89
|
-
featureSupportLevelData,
|
|
90
|
-
values.cpuArchitecture,
|
|
91
|
-
);
|
|
86
|
+
|
|
92
87
|
const featureSupportLevelContext = useNewFeatureSupportLevel();
|
|
93
88
|
|
|
94
89
|
React.useEffect(() => {
|
|
@@ -175,10 +170,11 @@ export const OcmClusterDetailsFormFields = ({
|
|
|
175
170
|
</StaticTextField>
|
|
176
171
|
) : (
|
|
177
172
|
<ExternalPlatformDropdown
|
|
178
|
-
showOciOption={isOracleCloudPlatformIntegrationEnabled}
|
|
179
|
-
disabledOciTooltipContent={oracleDropdownItemState?.disabledReason}
|
|
180
|
-
isOciDisabled={oracleDropdownItemState?.isDisabled || false}
|
|
181
173
|
onChange={handleExternalPartnerIntegrationsChange}
|
|
174
|
+
cpuArchitecture={values.cpuArchitecture}
|
|
175
|
+
showOciOption={isOracleCloudPlatformIntegrationEnabled}
|
|
176
|
+
featureSupportLevelData={featureSupportLevelData}
|
|
177
|
+
isSNO={isSNO({ highAvailabilityMode })}
|
|
182
178
|
/>
|
|
183
179
|
)}
|
|
184
180
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { useField, useFormikContext } from 'formik';
|
|
3
3
|
import { Checkbox, FormGroup, Tooltip } from '@patternfly/react-core';
|
|
4
|
-
import { getFieldId, HelperText
|
|
4
|
+
import { getFieldId, HelperText } from '../../../common';
|
|
5
5
|
import { useNewFeatureSupportLevel } from '../../../common/components/newFeatureSupportLevels';
|
|
6
6
|
import { CheckboxFieldProps } from '../../../common/components/ui/formik/types';
|
|
7
7
|
import NewFeatureSupportLevelBadge from '../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
|
|
@@ -28,7 +28,6 @@ const OcmSingleNodeCheckbox: React.FC<OcmCheckboxProps> = ({
|
|
|
28
28
|
const {
|
|
29
29
|
values: { openshiftVersion },
|
|
30
30
|
} = useFormikContext<ClusterCreateParams>();
|
|
31
|
-
const isSingleNodeOpenshiftEnabled = useFeature('ASSISTED_INSTALLER_SNO_FEATURE');
|
|
32
31
|
const [field, meta, helpers] = useField<'None' | 'Full'>({ name: props.name, validate });
|
|
33
32
|
const featureSupportLevelContext = useNewFeatureSupportLevel();
|
|
34
33
|
const prevVersionRef = React.useRef(openshiftVersion);
|
|
@@ -61,7 +60,7 @@ const OcmSingleNodeCheckbox: React.FC<OcmCheckboxProps> = ({
|
|
|
61
60
|
prevIsDisabled.current = props.isDisabled;
|
|
62
61
|
}, [props.isDisabled, setValue, onChanged]);
|
|
63
62
|
|
|
64
|
-
if (
|
|
63
|
+
if (isSupportedVersionAvailable) {
|
|
65
64
|
return (
|
|
66
65
|
<FormGroup id={`form-control__${fieldId}`} isInline fieldId={fieldId}>
|
|
67
66
|
<Tooltip hidden={!disabledReason} content={disabledReason}>
|
|
@@ -6,12 +6,12 @@ import { FieldArrayRenderProps, useField } from 'formik';
|
|
|
6
6
|
import cloneDeep from 'lodash-es/cloneDeep.js';
|
|
7
7
|
import { LoadingState, useAlerts } from '../../../../../common';
|
|
8
8
|
import ConfirmationModal from '../../../../../common/components/ui/ConfirmationModal';
|
|
9
|
-
import { selectCurrentClusterPermissionsState } from '../../../../selectors';
|
|
10
9
|
import { ClustersAPI } from '../../../../services/apis';
|
|
11
10
|
import { getApiErrorMessage, handleApiError } from '../../../../api';
|
|
12
11
|
import { CustomManifest } from './CustomManifest';
|
|
13
12
|
import { getEmptyFormViewManifest, getManifestName } from './utils';
|
|
14
13
|
import { CustomManifestValues } from '../data/dataTypes';
|
|
14
|
+
import { selectCurrentClusterPermissionsState } from '../../../../store/slices/current-cluster/selectors';
|
|
15
15
|
|
|
16
16
|
const fieldName = 'manifests';
|
|
17
17
|
|
|
@@ -13,7 +13,6 @@ import {
|
|
|
13
13
|
} from 'formik';
|
|
14
14
|
import isEqual from 'lodash-es/isEqual.js';
|
|
15
15
|
import { ErrorState, LoadingState, useAlerts, useFormikAutoSave } from '../../../../../common';
|
|
16
|
-
import { selectCurrentClusterPermissionsState } from '../../../../selectors';
|
|
17
16
|
import { CustomManifestsFormProps } from './propTypes';
|
|
18
17
|
import {
|
|
19
18
|
CustomManifestValues,
|
|
@@ -27,6 +26,7 @@ import useClusterCustomManifests from '../../../../hooks/useClusterCustomManifes
|
|
|
27
26
|
import { ClustersService } from '../../../../services';
|
|
28
27
|
import { CustomManifestsArray } from './CustomManifestsArray';
|
|
29
28
|
import { getManifestFakeId } from './utils';
|
|
29
|
+
import { selectCurrentClusterPermissionsState } from '../../../../store/slices/current-cluster/selectors';
|
|
30
30
|
|
|
31
31
|
const fieldName = 'manifests';
|
|
32
32
|
|
package/lib/ocm/components/clusterConfiguration/networkConfiguration/AvailableSubnetsControl.tsx
CHANGED
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
DUAL_STACK,
|
|
11
11
|
NO_SUBNET_SET,
|
|
12
12
|
} from '../../../../common';
|
|
13
|
-
import { selectCurrentClusterPermissionsState } from '../../../selectors';
|
|
13
|
+
import { selectCurrentClusterPermissionsState } from '../../../store/slices/current-cluster/selectors';
|
|
14
14
|
import { SubnetsDropdown } from './SubnetsDropdown';
|
|
15
15
|
import { Cluster, MachineNetwork } from '@openshift-assisted/types/assisted-installer-service';
|
|
16
16
|
|
package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.tsx
CHANGED
|
@@ -24,7 +24,7 @@ import { StackTypeControlGroup } from './StackTypeControl';
|
|
|
24
24
|
import { AvailableSubnetsControl } from './AvailableSubnetsControl';
|
|
25
25
|
import AdvancedNetworkFields from './AdvancedNetworkFields';
|
|
26
26
|
import { useTranslation } from '../../../../common/hooks/use-translation-wrapper';
|
|
27
|
-
import { selectCurrentClusterPermissionsState } from '../../../selectors';
|
|
27
|
+
import { selectCurrentClusterPermissionsState } from '../../../store/slices/current-cluster/selectors';
|
|
28
28
|
import { OcmCheckbox } from '../../ui/OcmFormFields';
|
|
29
29
|
import { NetworkTypeControlGroup } from '../../../../common/components/clusterWizard/networkingSteps/NetworkTypeControlGroup';
|
|
30
30
|
import { useClusterSupportedPlatforms } from '../../../hooks';
|
package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.tsx
CHANGED
|
@@ -26,7 +26,7 @@ import { canNextNetwork } from '../../clusterWizard/wizardTransition';
|
|
|
26
26
|
import ClusterWizardNavigation from '../../clusterWizard/ClusterWizardNavigation';
|
|
27
27
|
import NetworkConfigurationTable from './NetworkConfigurationTable';
|
|
28
28
|
import useInfraEnv from '../../../hooks/useInfraEnv';
|
|
29
|
-
import { selectCurrentClusterPermissionsState } from '../../../selectors';
|
|
29
|
+
import { selectCurrentClusterPermissionsState } from '../../../store/slices/current-cluster/selectors';
|
|
30
30
|
import {
|
|
31
31
|
getNetworkConfigurationValidationSchema,
|
|
32
32
|
getNetworkInitialValues,
|
|
@@ -34,7 +34,10 @@ import {
|
|
|
34
34
|
import NetworkConfiguration from './NetworkConfiguration';
|
|
35
35
|
import { captureException } from '../../../sentry';
|
|
36
36
|
import { ClustersService } from '../../../services';
|
|
37
|
-
import {
|
|
37
|
+
import {
|
|
38
|
+
setServerUpdateError,
|
|
39
|
+
updateClusterBase,
|
|
40
|
+
} from '../../../store/slices/current-cluster/slice';
|
|
38
41
|
import { isUnknownServerError, getApiErrorMessage, handleApiError } from '../../../api';
|
|
39
42
|
import { useClusterSupportedPlatforms, usePullSecret } from '../../../hooks';
|
|
40
43
|
import {
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
} from '../../../../common';
|
|
17
17
|
import { ConfirmationModal, PopoverIcon } from '../../../../common/components/ui';
|
|
18
18
|
import { useDefaultConfiguration } from '../ClusterDefaultConfigurationContext';
|
|
19
|
-
import { selectCurrentClusterPermissionsState } from '../../../selectors';
|
|
19
|
+
import { selectCurrentClusterPermissionsState } from '../../../store/slices/current-cluster/selectors';
|
|
20
20
|
import { OcmRadioField } from '../../ui/OcmFormFields';
|
|
21
21
|
import {
|
|
22
22
|
Cluster,
|
package/lib/ocm/components/clusterConfiguration/networkConfiguration/VirtualIPControlGroup.tsx
CHANGED
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
selectApiVip,
|
|
22
22
|
selectIngressVip,
|
|
23
23
|
} from '../../../../common';
|
|
24
|
-
import { selectCurrentClusterPermissionsState } from '../../../selectors';
|
|
24
|
+
import { selectCurrentClusterPermissionsState } from '../../../store/slices/current-cluster/selectors';
|
|
25
25
|
import { OcmCheckboxField, OcmInputField } from '../../ui/OcmFormFields';
|
|
26
26
|
import { useTranslation } from '../../../../common/hooks/use-translation-wrapper';
|
|
27
27
|
import NewFeatureSupportLevelBadge from '../../../../common/components/newFeatureSupportLevels/NewFeatureSupportLevelBadge';
|
|
@@ -3,8 +3,8 @@ import { useSelector } from 'react-redux';
|
|
|
3
3
|
import { List, ListItem } from '@patternfly/react-core';
|
|
4
4
|
import { useClusterPreflightRequirements } from '../../../hooks';
|
|
5
5
|
import { ErrorState, LoadingState, OPERATOR_NAME_CNV, RenderIf } from '../../../../common';
|
|
6
|
-
import { selectIsCurrentClusterSNO } from '../../../selectors';
|
|
7
6
|
import { Cluster } from '@openshift-assisted/types/assisted-installer-service';
|
|
7
|
+
import { selectIsCurrentClusterSNO } from '../../../store/slices/current-cluster/selectors';
|
|
8
8
|
|
|
9
9
|
const CnvHostRequirements = ({ clusterId }: { clusterId: Cluster['id'] }) => {
|
|
10
10
|
const { preflightRequirements, error, isLoading } = useClusterPreflightRequirements(clusterId);
|
package/lib/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.tsx
CHANGED
|
@@ -8,35 +8,72 @@ import {
|
|
|
8
8
|
FormGroup,
|
|
9
9
|
Split,
|
|
10
10
|
SplitItem,
|
|
11
|
+
Tooltip,
|
|
11
12
|
} from '@patternfly/react-core';
|
|
12
13
|
import { CaretDownIcon } from '@patternfly/react-icons';
|
|
13
14
|
import { useField } from 'formik';
|
|
14
|
-
import { getFieldId } from '../../../../common';
|
|
15
|
+
import { CpuArchitecture, DeveloperPreview, FeatureId, getFieldId } from '../../../../common';
|
|
16
|
+
|
|
15
17
|
import {
|
|
18
|
+
ExternalPlaformIds,
|
|
16
19
|
ExternalPlatformLabels,
|
|
17
20
|
ExternalPlatformLinks,
|
|
18
21
|
ExternalPlatformTooltips,
|
|
19
22
|
} from './constants';
|
|
20
23
|
import { PlatformType } from '@openshift-assisted/types/assisted-installer-service';
|
|
24
|
+
import {
|
|
25
|
+
NewFeatureSupportLevelData,
|
|
26
|
+
NewFeatureSupportLevelMap,
|
|
27
|
+
useNewFeatureSupportLevel,
|
|
28
|
+
} from '../../../../common/components/newFeatureSupportLevels';
|
|
21
29
|
|
|
22
30
|
const INPUT_NAME = 'platform';
|
|
23
31
|
const fieldId = getFieldId(INPUT_NAME, 'input');
|
|
24
32
|
|
|
25
33
|
type ExternalPlatformDropdownProps = {
|
|
26
34
|
showOciOption: boolean;
|
|
27
|
-
disabledOciTooltipContent: React.ReactNode;
|
|
28
|
-
isOciDisabled: boolean;
|
|
29
35
|
onChange: (selectedPlatform: PlatformType) => void;
|
|
36
|
+
cpuArchitecture?: string;
|
|
37
|
+
featureSupportLevelData: NewFeatureSupportLevelMap | null;
|
|
38
|
+
isSNO: boolean;
|
|
30
39
|
};
|
|
31
40
|
|
|
32
41
|
export type ExternalPlatformInfo = {
|
|
33
42
|
label: string;
|
|
34
43
|
href?: string;
|
|
35
44
|
tooltip?: string;
|
|
45
|
+
disabledReason?: string;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
const getDisabledReasonForExternalPlatform = (
|
|
49
|
+
isSNO: boolean,
|
|
50
|
+
newFeatureSupportLevelContext: NewFeatureSupportLevelData,
|
|
51
|
+
platform: PlatformType,
|
|
52
|
+
featureSupportLevelData?: NewFeatureSupportLevelMap | null,
|
|
53
|
+
cpuArchitecture?: string,
|
|
54
|
+
): string | undefined => {
|
|
55
|
+
if (!isSNO) {
|
|
56
|
+
return newFeatureSupportLevelContext.getFeatureDisabledReason(
|
|
57
|
+
ExternalPlaformIds[platform] as FeatureId,
|
|
58
|
+
featureSupportLevelData ?? undefined,
|
|
59
|
+
cpuArchitecture,
|
|
60
|
+
);
|
|
61
|
+
} else if (platform === 'nutanix' || platform === 'vsphere') {
|
|
62
|
+
return `${ExternalPlatformLabels[platform]} integration is not supported for Single-Node OpenShift.`;
|
|
63
|
+
} else if (
|
|
64
|
+
cpuArchitecture === CpuArchitecture.ppc64le ||
|
|
65
|
+
cpuArchitecture === CpuArchitecture.s390x
|
|
66
|
+
) {
|
|
67
|
+
return `Plaform integration is not supported for Single-Node OpenShift with the selected CPU architecture.`;
|
|
68
|
+
}
|
|
36
69
|
};
|
|
37
70
|
|
|
38
71
|
const getExternalPlatformTypes = (
|
|
39
72
|
showOciOption: boolean,
|
|
73
|
+
isSNO: boolean,
|
|
74
|
+
newFeatureSupportLevelContext: NewFeatureSupportLevelData,
|
|
75
|
+
featureSupportLevelData?: NewFeatureSupportLevelMap | null,
|
|
76
|
+
cpuArchitecture?: string,
|
|
40
77
|
): Partial<{ [key in PlatformType]: ExternalPlatformInfo }> => {
|
|
41
78
|
const platforms = ['none', 'nutanix', showOciOption && 'oci', 'vsphere'] as PlatformType[];
|
|
42
79
|
|
|
@@ -47,43 +84,102 @@ const getExternalPlatformTypes = (
|
|
|
47
84
|
label: ExternalPlatformLabels[platform],
|
|
48
85
|
href: ExternalPlatformLinks[platform],
|
|
49
86
|
tooltip: ExternalPlatformTooltips[platform],
|
|
87
|
+
disabledReason: getDisabledReasonForExternalPlatform(
|
|
88
|
+
isSNO,
|
|
89
|
+
newFeatureSupportLevelContext,
|
|
90
|
+
platform,
|
|
91
|
+
featureSupportLevelData ?? undefined,
|
|
92
|
+
cpuArchitecture,
|
|
93
|
+
),
|
|
50
94
|
},
|
|
51
95
|
}),
|
|
52
96
|
{},
|
|
53
97
|
);
|
|
54
98
|
};
|
|
55
99
|
|
|
100
|
+
export const areAllExternalPlatformIntegrationDisabled = (
|
|
101
|
+
externalPlatformTypes: Partial<{ [key in PlatformType]: ExternalPlatformInfo }>,
|
|
102
|
+
): boolean => {
|
|
103
|
+
return Object.values(externalPlatformTypes)
|
|
104
|
+
.filter((info) => info.label !== 'No platform integration')
|
|
105
|
+
.every((info) => info.disabledReason !== undefined);
|
|
106
|
+
};
|
|
107
|
+
|
|
56
108
|
export const ExternalPlatformDropdown = ({
|
|
57
109
|
showOciOption,
|
|
58
|
-
disabledOciTooltipContent,
|
|
59
|
-
isOciDisabled,
|
|
60
110
|
onChange,
|
|
111
|
+
cpuArchitecture,
|
|
112
|
+
featureSupportLevelData,
|
|
113
|
+
isSNO,
|
|
61
114
|
}: ExternalPlatformDropdownProps) => {
|
|
62
|
-
const [field,
|
|
115
|
+
const [field, , { setValue }] = useField<string>(INPUT_NAME);
|
|
63
116
|
const [isOpen, setOpen] = React.useState(false);
|
|
117
|
+
const [externalPlatformTypes, setExternalPlatformTypes] = React.useState<
|
|
118
|
+
Partial<{ [key in PlatformType]: ExternalPlatformInfo }>
|
|
119
|
+
>({});
|
|
120
|
+
|
|
121
|
+
const tooltipDropdownDisabled = `Platform integration is not supported when ${
|
|
122
|
+
cpuArchitecture || ''
|
|
123
|
+
} is selected`;
|
|
124
|
+
|
|
64
125
|
const handleClick = (event: MouseEvent<HTMLButtonElement>, href: string) => {
|
|
65
126
|
event.stopPropagation(); // Stop event propagation here
|
|
66
127
|
window.open(href, '_blank');
|
|
67
128
|
};
|
|
129
|
+
const newFeatureSupportLevelContext = useNewFeatureSupportLevel();
|
|
130
|
+
React.useEffect(() => {
|
|
131
|
+
// Calculate updated externalPlatformTypes based on the dependencies
|
|
132
|
+
const updatedExternalPlatformTypes = getExternalPlatformTypes(
|
|
133
|
+
showOciOption,
|
|
134
|
+
isSNO,
|
|
135
|
+
newFeatureSupportLevelContext,
|
|
136
|
+
featureSupportLevelData,
|
|
137
|
+
cpuArchitecture,
|
|
138
|
+
);
|
|
68
139
|
|
|
69
|
-
|
|
140
|
+
// Update the state with the new externalPlatformTypes
|
|
141
|
+
setExternalPlatformTypes(updatedExternalPlatformTypes);
|
|
142
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
143
|
+
}, [featureSupportLevelData, cpuArchitecture, isSNO]);
|
|
144
|
+
|
|
145
|
+
const dropdownIsDisabled = React.useMemo(() => {
|
|
146
|
+
return areAllExternalPlatformIntegrationDisabled(externalPlatformTypes);
|
|
147
|
+
}, [externalPlatformTypes]);
|
|
148
|
+
|
|
149
|
+
React.useEffect(() => {
|
|
150
|
+
let isCurrentValueDisabled = false;
|
|
151
|
+
|
|
152
|
+
if (field.value !== 'none') {
|
|
153
|
+
isCurrentValueDisabled =
|
|
154
|
+
externalPlatformTypes[field.value as PlatformType]?.disabledReason !== undefined;
|
|
155
|
+
}
|
|
156
|
+
if (dropdownIsDisabled || isCurrentValueDisabled) {
|
|
157
|
+
setValue('none');
|
|
158
|
+
onChange('none');
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
162
|
+
}, [dropdownIsDisabled, externalPlatformTypes]);
|
|
70
163
|
|
|
71
164
|
const enabledItems = Object.keys(externalPlatformTypes).map((platform) => {
|
|
72
|
-
const
|
|
73
|
-
const { label, href, tooltip } = externalPlatformTypes[
|
|
165
|
+
const { label, href, tooltip, disabledReason } = externalPlatformTypes[
|
|
74
166
|
platform as PlatformType
|
|
75
167
|
] as ExternalPlatformInfo;
|
|
76
|
-
|
|
77
168
|
return (
|
|
78
|
-
<DropdownItem
|
|
79
|
-
key={platform}
|
|
80
|
-
id={platform}
|
|
81
|
-
tooltip={isOracleDisabled ? disabledOciTooltipContent : tooltip}
|
|
82
|
-
isAriaDisabled={isOracleDisabled}
|
|
83
|
-
tooltipProps={{ position: 'top-start' }}
|
|
84
|
-
>
|
|
169
|
+
<DropdownItem key={platform} id={platform} isAriaDisabled={disabledReason !== undefined}>
|
|
85
170
|
<Split>
|
|
86
|
-
<SplitItem>
|
|
171
|
+
<SplitItem>
|
|
172
|
+
<Tooltip
|
|
173
|
+
hidden={disabledReason === undefined && tooltip === undefined}
|
|
174
|
+
content={disabledReason !== undefined ? disabledReason : tooltip}
|
|
175
|
+
position="top"
|
|
176
|
+
>
|
|
177
|
+
<div>
|
|
178
|
+
{label}
|
|
179
|
+
{platform === 'oci' && <DeveloperPreview testId={'oci-support-level`'} />}
|
|
180
|
+
</div>
|
|
181
|
+
</Tooltip>
|
|
182
|
+
</SplitItem>
|
|
87
183
|
{!!href && (
|
|
88
184
|
<>
|
|
89
185
|
<SplitItem isFilled />
|
|
@@ -114,12 +210,6 @@ export const ExternalPlatformDropdown = ({
|
|
|
114
210
|
[setOpen, setValue, onChange],
|
|
115
211
|
);
|
|
116
212
|
|
|
117
|
-
React.useEffect(() => {
|
|
118
|
-
if (value === 'oci' && isOciDisabled) {
|
|
119
|
-
setValue('none');
|
|
120
|
-
}
|
|
121
|
-
}, [initialValue, isOciDisabled, setValue, value]);
|
|
122
|
-
|
|
123
213
|
const toggle = React.useMemo(
|
|
124
214
|
() => (
|
|
125
215
|
<DropdownToggle
|
|
@@ -127,11 +217,12 @@ export const ExternalPlatformDropdown = ({
|
|
|
127
217
|
toggleIndicator={CaretDownIcon}
|
|
128
218
|
isText
|
|
129
219
|
className="pf-u-w-100"
|
|
220
|
+
isDisabled={dropdownIsDisabled}
|
|
130
221
|
>
|
|
131
|
-
{externalPlatformTypes[value as PlatformType]?.label}
|
|
222
|
+
{externalPlatformTypes[field.value as PlatformType]?.label}
|
|
132
223
|
</DropdownToggle>
|
|
133
224
|
),
|
|
134
|
-
[externalPlatformTypes,
|
|
225
|
+
[externalPlatformTypes, field, dropdownIsDisabled],
|
|
135
226
|
);
|
|
136
227
|
|
|
137
228
|
return (
|
|
@@ -140,15 +231,23 @@ export const ExternalPlatformDropdown = ({
|
|
|
140
231
|
fieldId={fieldId}
|
|
141
232
|
label={'Integrate with external partner platforms'}
|
|
142
233
|
>
|
|
143
|
-
<
|
|
144
|
-
{
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
234
|
+
<Tooltip
|
|
235
|
+
content={tooltipDropdownDisabled}
|
|
236
|
+
hidden={!dropdownIsDisabled}
|
|
237
|
+
position="top"
|
|
238
|
+
distance={7}
|
|
239
|
+
>
|
|
240
|
+
<Dropdown
|
|
241
|
+
{...field}
|
|
242
|
+
id={fieldId}
|
|
243
|
+
dropdownItems={enabledItems}
|
|
244
|
+
toggle={toggle}
|
|
245
|
+
isOpen={isOpen}
|
|
246
|
+
className="pf-u-w-100"
|
|
247
|
+
onSelect={onSelect}
|
|
248
|
+
disabled={dropdownIsDisabled}
|
|
249
|
+
/>
|
|
250
|
+
</Tooltip>
|
|
152
251
|
</FormGroup>
|
|
153
252
|
);
|
|
154
253
|
};
|
package/lib/ocm/components/clusterConfiguration/platformIntegration/PlatformIntegrationNote.tsx
CHANGED
|
@@ -10,14 +10,16 @@ const PlatformIntegrationNote = ({ platformType }: { platformType: SupportedPlat
|
|
|
10
10
|
<p>
|
|
11
11
|
<ExclamationTriangleIcon color={warningColor.value} size="sm" /> You will need to modify your
|
|
12
12
|
platform configuration after cluster installation is completed.{' '}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
13
|
+
{!!integrationPlatformLink && (
|
|
14
|
+
<a
|
|
15
|
+
href={integrationPlatformLink || ''}
|
|
16
|
+
target="_blank"
|
|
17
|
+
rel="noopener noreferrer"
|
|
18
|
+
data-ouia-component-id="vm-integration-kb-page"
|
|
19
|
+
>
|
|
20
|
+
Learn more <i className="fas fa-external-link-alt" />
|
|
21
|
+
</a>
|
|
22
|
+
)}
|
|
21
23
|
</p>
|
|
22
24
|
);
|
|
23
25
|
};
|
|
@@ -17,3 +17,11 @@ export const ExternalPlatformLinks: Partial<{ [key in PlatformType]: string }> =
|
|
|
17
17
|
export const ExternalPlatformTooltips: Partial<{ [key in PlatformType]: string }> = {
|
|
18
18
|
oci: "To integrate with an external partner (for example, Oracle Cloud), you'll need to provide a custom manifest.",
|
|
19
19
|
};
|
|
20
|
+
|
|
21
|
+
export const ExternalPlaformIds: { [key in PlatformType]: string } = {
|
|
22
|
+
baremetal: '',
|
|
23
|
+
none: '',
|
|
24
|
+
nutanix: 'NUTANIX_INTEGRATION',
|
|
25
|
+
oci: 'EXTERNAL_PLATFORM_OCI',
|
|
26
|
+
vsphere: 'VSPHERE_INTEGRATION',
|
|
27
|
+
};
|
|
@@ -4,12 +4,12 @@ import { ActionListItem, Button, ButtonVariant, Grid, GridItem } from '@patternf
|
|
|
4
4
|
import { ClusterWizardStepHeader, useAlerts, ClusterWizardStep } from '../../../../common';
|
|
5
5
|
import { useClusterWizardContext } from '../../clusterWizard/ClusterWizardContext';
|
|
6
6
|
import { getApiErrorMessage, handleApiError } from '../../../api';
|
|
7
|
-
import { updateCluster } from '../../../
|
|
7
|
+
import { updateCluster } from '../../../store/slices/current-cluster/slice';
|
|
8
8
|
import ClusterWizardFooter from '../../clusterWizard/ClusterWizardFooter';
|
|
9
9
|
import ClusterWizardNavigation from '../../clusterWizard/ClusterWizardNavigation';
|
|
10
10
|
import { ClustersService } from '../../../services';
|
|
11
11
|
import { useStateSafely } from '../../../../common/hooks';
|
|
12
|
-
import { selectCurrentClusterPermissionsState } from '../../../selectors';
|
|
12
|
+
import { selectCurrentClusterPermissionsState } from '../../../store/slices/current-cluster/selectors';
|
|
13
13
|
import ReviewPreflightChecks from './ReviewPreflightChecks';
|
|
14
14
|
import ReviewSummary from './ReviewSummary';
|
|
15
15
|
import './ReviewCluster.css';
|
|
@@ -7,7 +7,7 @@ import { useAlerts, useFormikAutoSave } from '../../../../../common';
|
|
|
7
7
|
import { useErrorMonitor } from '../../../../../common/components/ErrorHandling/ErrorMonitorContext';
|
|
8
8
|
import { getApiErrorMessage } from '../../../../api';
|
|
9
9
|
import { StaticIpFormProps } from './propTypes';
|
|
10
|
-
import { selectCurrentClusterPermissionsState } from '../../../../selectors';
|
|
10
|
+
import { selectCurrentClusterPermissionsState } from '../../../../store/slices/current-cluster/selectors';
|
|
11
11
|
|
|
12
12
|
const AutosaveWithParentUpdate = <StaticIpFormValues extends object>({
|
|
13
13
|
onFormStateChange,
|
|
@@ -16,11 +16,11 @@ import { FieldArray, FieldArrayRenderProps, useField } from 'formik';
|
|
|
16
16
|
import cloneDeep from 'lodash-es/cloneDeep.js';
|
|
17
17
|
import { getFormikArrayItemFieldName, LoadingState } from '../../../../../common';
|
|
18
18
|
import ConfirmationModal from '../../../../../common/components/ui/ConfirmationModal';
|
|
19
|
+
import { HostStaticNetworkConfig } from '@openshift-assisted/types/assisted-installer-service';
|
|
19
20
|
import {
|
|
20
|
-
selectIsCurrentClusterSNO,
|
|
21
21
|
selectCurrentClusterPermissionsState,
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
selectIsCurrentClusterSNO,
|
|
23
|
+
} from '../../../../store/slices/current-cluster/selectors';
|
|
24
24
|
|
|
25
25
|
const fieldName = 'hosts';
|
|
26
26
|
|
package/lib/ocm/components/clusterConfiguration/staticIp/components/YamlView/MacIpMapping.tsx
CHANGED
|
@@ -5,8 +5,8 @@ import { PlusCircleIcon } from '@patternfly/react-icons';
|
|
|
5
5
|
import { getFormikArrayItemFieldName, RemovableField } from '../../../../../../common';
|
|
6
6
|
import { OcmInputField } from '../../../../ui/OcmFormFields';
|
|
7
7
|
import { useSelector } from 'react-redux';
|
|
8
|
-
import { selectCurrentClusterPermissionsState } from '../../../../../selectors';
|
|
9
8
|
import { MacInterfaceMap } from '@openshift-assisted/types/assisted-installer-service';
|
|
9
|
+
import { selectCurrentClusterPermissionsState } from '../../../../../store/slices/current-cluster/selectors';
|
|
10
10
|
|
|
11
11
|
const AddMapping: React.FC<{
|
|
12
12
|
onPush: ArrayHelpers['push'];
|