@openshift-assisted/ui-lib 2.9.7-cim → 2.9.9-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/ClusterDeploymentDetails.d.ts.map +1 -1
- package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.d.ts +6 -1
- package/build/@types/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.d.ts.map +1 -1
- package/build/@types/cim/components/ClusterDeployment/ClusterDetailsFormFields.d.ts.map +1 -1
- package/build/@types/cim/components/ClusterDeployment/helpers.d.ts.map +1 -1
- package/build/@types/cim/components/Hypershift/utils/nodepool.d.ts.map +1 -1
- package/build/@types/cim/components/InfraEnv/InfraEnvFormPage.d.ts +2 -0
- package/build/@types/cim/components/InfraEnv/InfraEnvFormPage.d.ts.map +1 -1
- package/build/@types/cim/components/helpers/versions.d.ts +1 -0
- package/build/@types/cim/components/helpers/versions.d.ts.map +1 -1
- package/build/@types/cim/components/modals/AddHostModal.d.ts.map +1 -1
- package/build/@types/common/api/accounts-management-service/current-account-api.d.ts +6 -0
- package/build/@types/common/api/accounts-management-service/current-account-api.d.ts.map +1 -0
- package/build/@types/common/api/accounts-management-service/organizations-api.d.ts +6 -0
- package/build/@types/common/api/accounts-management-service/organizations-api.d.ts.map +1 -0
- package/build/@types/common/api/assisted-service/NewFeatureSupportLevelsAPI.d.ts +1 -1
- package/build/@types/common/api/assisted-service/NewFeatureSupportLevelsAPI.d.ts.map +1 -1
- package/build/@types/common/api/assisted-service/UISettingsAPI.d.ts +8 -0
- package/build/@types/common/api/assisted-service/UISettingsAPI.d.ts.map +1 -0
- package/build/@types/common/api/assisted-service/index.d.ts +1 -0
- package/build/@types/common/api/assisted-service/index.d.ts.map +1 -1
- package/build/@types/common/api/authorization-service/all-apis.d.ts +7 -0
- package/build/@types/common/api/authorization-service/all-apis.d.ts.map +1 -0
- package/build/@types/common/components/clusterConfiguration/DiscoveryImageConfigForm.d.ts +4 -1
- package/build/@types/common/components/clusterConfiguration/DiscoveryImageConfigForm.d.ts.map +1 -1
- package/build/@types/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.d.ts.map +1 -1
- package/build/@types/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionMode.d.ts +3 -1
- package/build/@types/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionMode.d.ts.map +1 -1
- package/build/@types/common/components/clusterConfiguration/DiskEncryptionFields/TangServers.d.ts +3 -1
- package/build/@types/common/components/clusterConfiguration/DiskEncryptionFields/TangServers.d.ts.map +1 -1
- package/build/@types/common/components/clusterConfiguration/DownloadIso.d.ts +2 -1
- package/build/@types/common/components/clusterConfiguration/DownloadIso.d.ts.map +1 -1
- package/build/@types/common/components/clusterConfiguration/OpenShiftVersionSelect.d.ts +2 -0
- package/build/@types/common/components/clusterConfiguration/OpenShiftVersionSelect.d.ts.map +1 -1
- package/build/@types/common/components/clusterDetail/PostInstallAlert.d.ts +6 -0
- package/build/@types/common/components/clusterDetail/PostInstallAlert.d.ts.map +1 -0
- package/build/@types/common/components/clusterDetail/index.d.ts +1 -0
- package/build/@types/common/components/clusterDetail/index.d.ts.map +1 -1
- package/build/@types/common/components/clusterWizard/ReviewValidations.d.ts.map +1 -1
- package/build/@types/common/components/hosts/HostRowDetail.d.ts +2 -1
- package/build/@types/common/components/hosts/HostRowDetail.d.ts.map +1 -1
- package/build/@types/common/components/newFeatureSupportLevels/types.d.ts +3 -3
- package/build/@types/common/components/newFeatureSupportLevels/types.d.ts.map +1 -1
- package/build/@types/common/components/ui/NoPermissionsError.d.ts +3 -0
- package/build/@types/common/components/ui/NoPermissionsError.d.ts.map +1 -0
- package/build/@types/common/components/ui/formik/InputField.d.ts.map +1 -1
- package/build/@types/common/components/ui/formik/RichInputField.d.ts.map +1 -1
- package/build/@types/common/components/ui/formik/types.d.ts +2 -2
- package/build/@types/common/components/ui/formik/types.d.ts.map +1 -1
- package/build/@types/common/components/ui/formik/validationSchemas.d.ts.map +1 -1
- package/build/@types/common/components/ui/index.d.ts +1 -0
- package/build/@types/common/components/ui/index.d.ts.map +1 -1
- package/build/@types/common/config/constants.d.ts +1 -1
- package/build/@types/common/config/constants.d.ts.map +1 -1
- package/build/@types/common/features/featureGate.d.ts +1 -1
- package/build/@types/common/features/featureGate.d.ts.map +1 -1
- package/build/@types/common/services/DateAndTime.d.ts.map +1 -0
- package/build/@types/common/types/cpuArchitecture.d.ts +1 -1
- package/build/@types/common/types/cpuArchitecture.d.ts.map +1 -1
- package/build/@types/common/types/featureSupportLevel.d.ts +3 -3
- package/build/@types/common/types/featureSupportLevel.d.ts.map +1 -1
- package/build/@types/ocm/components/AddHosts/AddHosts.d.ts.map +1 -1
- package/build/@types/ocm/components/AddHosts/InventoryAddHost.d.ts +1 -2
- package/build/@types/ocm/components/AddHosts/InventoryAddHost.d.ts.map +1 -1
- package/build/@types/ocm/components/AddHosts/day2Wizard/Day2ClusterDetails.d.ts.map +1 -1
- package/build/@types/ocm/components/AddHosts/day2Wizard/Day2StaticIpHostConfigurations.d.ts +3 -1
- package/build/@types/ocm/components/AddHosts/day2Wizard/Day2StaticIpHostConfigurations.d.ts.map +1 -1
- package/build/@types/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContent.d.ts.map +1 -1
- package/build/@types/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContentErrors.d.ts +1 -4
- package/build/@types/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContentErrors.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/CpuArchitectureDropdown.d.ts +5 -4
- package/build/@types/ocm/components/clusterConfiguration/CpuArchitectureDropdown.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/CustomManifestCheckbox.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/OcmBaseDomainField.d.ts +2 -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/manifestsConfiguration/CustomManifestsPage.d.ts +1 -1
- package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/CustomManifestsPage.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/manifestsConfiguration/components/utils.d.ts +3 -4
- package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/components/utils.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/data/dataTypes.d.ts +0 -1
- package/build/@types/ocm/components/clusterConfiguration/manifestsConfiguration/data/dataTypes.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.d.ts +2 -1
- package/build/@types/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterDetail/AssistedInstallerDetailCard.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterDetail/AssistedInstallerExtraDetailCard.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterDetail/ClusterDetailStatusMessages.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterWizard/ClusterDetails.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterWizard/ClusterDetailsForm.d.ts +1 -2
- package/build/@types/ocm/components/clusterWizard/ClusterDetailsForm.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterWizard/ClusterWizardContext.d.ts +5 -3
- package/build/@types/ocm/components/clusterWizard/ClusterWizardContext.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterWizard/ClusterWizardContextProvider.d.ts.map +1 -1
- package/build/@types/ocm/components/clusters/ClusterPage.d.ts.map +1 -1
- package/build/@types/ocm/components/featureSupportLevels/FeatureSupportLevelProvider.d.ts +4 -3
- package/build/@types/ocm/components/featureSupportLevels/FeatureSupportLevelProvider.d.ts.map +1 -1
- package/build/@types/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.d.ts.map +1 -1
- package/build/@types/ocm/components/featureSupportLevels/featureStateUtils.d.ts +3 -3
- package/build/@types/ocm/components/featureSupportLevels/featureStateUtils.d.ts.map +1 -1
- package/build/@types/ocm/components/hosts/HostsDiscoveryTable.d.ts.map +1 -1
- package/build/@types/ocm/components/ui/OcmFormFields.d.ts +1 -1
- package/build/@types/ocm/hooks/index.d.ts +1 -0
- package/build/@types/ocm/hooks/index.d.ts.map +1 -1
- package/build/@types/ocm/hooks/useOpenshiftVersions.d.ts +1 -2
- package/build/@types/ocm/hooks/useOpenshiftVersions.d.ts.map +1 -1
- package/build/@types/ocm/hooks/useSupportLevelsAPI.d.ts +5 -3
- package/build/@types/ocm/hooks/useSupportLevelsAPI.d.ts.map +1 -1
- package/build/@types/ocm/hooks/useUISettings.d.ts +10 -0
- package/build/@types/ocm/hooks/useUISettings.d.ts.map +1 -0
- package/build/@types/ocm/services/ClusterDetailsService.d.ts +2 -1
- package/build/@types/ocm/services/ClusterDetailsService.d.ts.map +1 -1
- package/build/@types/ocm/services/ClustersService.d.ts +0 -1
- package/build/@types/ocm/services/ClustersService.d.ts.map +1 -1
- package/build/@types/ocm/services/Day2ClusterService.d.ts +3 -2
- package/build/@types/ocm/services/Day2ClusterService.d.ts.map +1 -1
- package/build/@types/ocm/services/UISettingsService.d.ts +8 -0
- package/build/@types/ocm/services/UISettingsService.d.ts.map +1 -0
- package/build/@types/ocm/services/index.d.ts +1 -0
- package/build/@types/ocm/services/index.d.ts.map +1 -1
- package/build/@types/ocm/services/types.d.ts +4 -0
- package/build/@types/ocm/services/types.d.ts.map +1 -1
- package/build/cjs/cim/components/Agent/BMCForm.js +3 -3
- package/build/cjs/cim/components/Agent/BMCForm.js.map +1 -1
- package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetails.js +58 -55
- package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetails.js.map +1 -1
- package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.js +9 -5
- package/build/cjs/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.js.map +1 -1
- package/build/cjs/cim/components/ClusterDeployment/ClusterDetailsFormFields.js +6 -2
- package/build/cjs/cim/components/ClusterDeployment/ClusterDetailsFormFields.js.map +1 -1
- package/build/cjs/cim/components/ClusterDeployment/helpers.js +4 -2
- package/build/cjs/cim/components/ClusterDeployment/helpers.js.map +1 -1
- package/build/cjs/cim/components/Hypershift/utils/nodepool.js +6 -5
- package/build/cjs/cim/components/Hypershift/utils/nodepool.js.map +1 -1
- package/build/cjs/cim/components/InfraEnv/InfraEnvFormPage.js +2 -2
- package/build/cjs/cim/components/InfraEnv/InfraEnvFormPage.js.map +1 -1
- package/build/cjs/cim/components/helpers/versions.js +3 -1
- package/build/cjs/cim/components/helpers/versions.js.map +1 -1
- package/build/cjs/cim/components/modals/AddHostModal.js +4 -4
- package/build/cjs/cim/components/modals/AddHostModal.js.map +1 -1
- package/build/cjs/common/api/accounts-management-service/access-token-api.js +1 -1
- package/build/cjs/common/api/accounts-management-service/current-account-api.js +17 -0
- package/build/cjs/common/api/accounts-management-service/current-account-api.js.map +1 -0
- package/build/cjs/common/api/accounts-management-service/organizations-api.js +19 -0
- package/build/cjs/common/api/accounts-management-service/organizations-api.js.map +1 -0
- package/build/cjs/common/api/assisted-service/NewFeatureSupportLevelsAPI.js +8 -5
- package/build/cjs/common/api/assisted-service/NewFeatureSupportLevelsAPI.js.map +1 -1
- package/build/cjs/common/api/assisted-service/UISettingsAPI.js +21 -0
- package/build/cjs/common/api/assisted-service/UISettingsAPI.js.map +1 -0
- package/build/cjs/common/api/assisted-service/index.js +3 -1
- package/build/cjs/common/api/assisted-service/index.js.map +1 -1
- package/build/cjs/common/api/authorization-service/all-apis.js +23 -0
- package/build/cjs/common/api/authorization-service/all-apis.js.map +1 -0
- package/build/cjs/common/components/clusterConfiguration/DiscoveryImageConfigForm.js +4 -4
- package/build/cjs/common/components/clusterConfiguration/DiscoveryImageConfigForm.js.map +1 -1
- package/build/cjs/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.js +1 -1
- package/build/cjs/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.js.map +1 -1
- package/build/cjs/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionMode.js +6 -4
- package/build/cjs/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionMode.js.map +1 -1
- package/build/cjs/common/components/clusterConfiguration/DiskEncryptionFields/TangServers.js +5 -3
- package/build/cjs/common/components/clusterConfiguration/DiskEncryptionFields/TangServers.js.map +1 -1
- package/build/cjs/common/components/clusterConfiguration/DownloadIso.js +2 -2
- package/build/cjs/common/components/clusterConfiguration/DownloadIso.js.map +1 -1
- package/build/cjs/common/components/clusterConfiguration/OpenShiftVersionSelect.js +2 -2
- package/build/cjs/common/components/clusterConfiguration/OpenShiftVersionSelect.js.map +1 -1
- package/build/cjs/common/components/clusterDetail/PostInstallAlert.js +16 -0
- package/build/cjs/common/components/clusterDetail/PostInstallAlert.js.map +1 -0
- package/build/cjs/common/components/clusterDetail/index.js +3 -1
- package/build/cjs/common/components/clusterDetail/index.js.map +1 -1
- package/build/cjs/common/components/clusterWizard/ReviewValidations.js +3 -0
- package/build/cjs/common/components/clusterWizard/ReviewValidations.js.map +1 -1
- package/build/cjs/common/components/hosts/HostRowDetail.js +2 -2
- package/build/cjs/common/components/hosts/HostRowDetail.js.map +1 -1
- package/build/cjs/common/components/ui/NoPermissionsError.js +14 -0
- package/build/cjs/common/components/ui/NoPermissionsError.js.map +1 -0
- package/build/cjs/common/components/ui/formik/InputField.js +5 -5
- package/build/cjs/common/components/ui/formik/InputField.js.map +1 -1
- package/build/cjs/common/components/ui/formik/RichInputField.js +5 -2
- package/build/cjs/common/components/ui/formik/RichInputField.js.map +1 -1
- package/build/cjs/common/components/ui/formik/SelectField.js +1 -1
- package/build/cjs/common/components/ui/formik/SelectField.js.map +1 -1
- package/build/cjs/common/components/ui/formik/validationSchemas.js +14 -6
- package/build/cjs/common/components/ui/formik/validationSchemas.js.map +1 -1
- package/build/cjs/common/components/ui/index.js +3 -1
- package/build/cjs/common/components/ui/index.js.map +1 -1
- package/build/cjs/common/config/constants.js +4 -2
- package/build/cjs/common/config/constants.js.map +1 -1
- package/build/cjs/common/features/featureGate.js +1 -3
- package/build/cjs/common/features/featureGate.js.map +1 -1
- package/build/cjs/common/services/DateAndTime.js.map +1 -0
- package/build/cjs/common/types/cpuArchitecture.js +5 -9
- package/build/cjs/common/types/cpuArchitecture.js.map +1 -1
- package/build/cjs/common/types/featureSupportLevel.js.map +1 -1
- package/build/cjs/ocm/components/AddHosts/AddHosts.js +1 -2
- package/build/cjs/ocm/components/AddHosts/AddHosts.js.map +1 -1
- package/build/cjs/ocm/components/AddHosts/InventoryAddHost.js +2 -2
- package/build/cjs/ocm/components/AddHosts/InventoryAddHost.js.map +1 -1
- package/build/cjs/ocm/components/AddHosts/day2Wizard/Day2ClusterDetails.js +4 -4
- package/build/cjs/ocm/components/AddHosts/day2Wizard/Day2ClusterDetails.js.map +1 -1
- package/build/cjs/ocm/components/AddHosts/day2Wizard/Day2StaticIpHostConfigurations.js +7 -6
- package/build/cjs/ocm/components/AddHosts/day2Wizard/Day2StaticIpHostConfigurations.js.map +1 -1
- package/build/cjs/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContent.js +5 -22
- package/build/cjs/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContent.js.map +1 -1
- package/build/cjs/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContentErrors.js +1 -13
- package/build/cjs/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContentErrors.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/CpuArchitectureDropdown.js +24 -3
- package/build/cjs/ocm/components/clusterConfiguration/CpuArchitectureDropdown.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/CustomManifestCheckbox.js +22 -32
- package/build/cjs/ocm/components/clusterConfiguration/CustomManifestCheckbox.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/OcmBaseDomainField.js +7 -5
- package/build/cjs/ocm/components/clusterConfiguration/OcmBaseDomainField.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.js +3 -4
- package/build/cjs/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/CustomManifestsPage.js +6 -12
- package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/CustomManifestsPage.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifests.js +2 -2
- package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifests.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 +49 -123
- package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/ExpandedManifest.js +1 -0
- package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/ExpandedManifest.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/utils.js +14 -19
- package/build/cjs/ocm/components/clusterConfiguration/manifestsConfiguration/components/utils.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.js +17 -17
- package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.js +2 -1
- package/build/cjs/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.js.map +1 -1
- package/build/cjs/ocm/components/clusterDetail/AssistedInstallerDetailCard.js +2 -1
- package/build/cjs/ocm/components/clusterDetail/AssistedInstallerDetailCard.js.map +1 -1
- package/build/cjs/ocm/components/clusterDetail/AssistedInstallerExtraDetailCard.js +2 -1
- package/build/cjs/ocm/components/clusterDetail/AssistedInstallerExtraDetailCard.js.map +1 -1
- package/build/cjs/ocm/components/clusterDetail/ClusterDetailStatusMessages.js +3 -8
- package/build/cjs/ocm/components/clusterDetail/ClusterDetailStatusMessages.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/ClusterDetails.js +5 -12
- package/build/cjs/ocm/components/clusterWizard/ClusterDetails.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/ClusterDetailsForm.js +18 -13
- package/build/cjs/ocm/components/clusterWizard/ClusterDetailsForm.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/ClusterWizardContext.js.map +1 -1
- package/build/cjs/ocm/components/clusterWizard/ClusterWizardContextProvider.js +45 -36
- package/build/cjs/ocm/components/clusterWizard/ClusterWizardContextProvider.js.map +1 -1
- package/build/cjs/ocm/components/clusters/ClusterPage.js +2 -1
- package/build/cjs/ocm/components/clusters/ClusterPage.js.map +1 -1
- package/build/cjs/ocm/components/featureSupportLevels/FeatureSupportLevelProvider.js +4 -4
- package/build/cjs/ocm/components/featureSupportLevels/FeatureSupportLevelProvider.js.map +1 -1
- package/build/cjs/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.js +1 -3
- package/build/cjs/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.js.map +1 -1
- package/build/cjs/ocm/components/featureSupportLevels/featureStateUtils.js +8 -2
- 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/hooks/index.js +3 -1
- package/build/cjs/ocm/hooks/index.js.map +1 -1
- package/build/cjs/ocm/hooks/useOpenshiftVersions.js +0 -5
- package/build/cjs/ocm/hooks/useOpenshiftVersions.js.map +1 -1
- package/build/cjs/ocm/hooks/useSupportLevelsAPI.js +38 -4
- package/build/cjs/ocm/hooks/useSupportLevelsAPI.js.map +1 -1
- package/build/cjs/ocm/hooks/useUISettings.js +62 -0
- package/build/cjs/ocm/hooks/useUISettings.js.map +1 -0
- package/build/cjs/ocm/services/ClusterDetailsService.js +2 -2
- package/build/cjs/ocm/services/ClusterDetailsService.js.map +1 -1
- package/build/cjs/ocm/services/ClustersService.js +0 -8
- package/build/cjs/ocm/services/ClustersService.js.map +1 -1
- package/build/cjs/ocm/services/Day2ClusterService.js +13 -4
- package/build/cjs/ocm/services/Day2ClusterService.js.map +1 -1
- package/build/cjs/ocm/services/UISettingsService.js +18 -0
- package/build/cjs/ocm/services/UISettingsService.js.map +1 -0
- package/build/cjs/ocm/services/index.js +3 -1
- package/build/cjs/ocm/services/index.js.map +1 -1
- package/lib/cim/components/Agent/BMCForm.tsx +3 -3
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentDetails.tsx +112 -102
- package/lib/cim/components/ClusterDeployment/ClusterDeploymentDetailsStep.tsx +17 -5
- package/lib/cim/components/ClusterDeployment/ClusterDetailsFormFields.tsx +9 -2
- package/lib/cim/components/ClusterDeployment/helpers.ts +13 -10
- package/lib/cim/components/Hypershift/utils/nodepool.ts +3 -2
- package/lib/cim/components/InfraEnv/InfraEnvFormPage.tsx +11 -2
- package/lib/cim/components/helpers/versions.ts +5 -0
- package/lib/cim/components/modals/AddHostModal.tsx +5 -0
- package/lib/common/api/accounts-management-service/access-token-api.ts +1 -1
- package/lib/common/api/accounts-management-service/current-account-api.ts +13 -0
- package/lib/common/api/accounts-management-service/organizations-api.ts +15 -0
- package/lib/common/api/assisted-service/NewFeatureSupportLevelsAPI.ts +9 -5
- package/lib/common/api/assisted-service/UISettingsAPI.ts +24 -0
- package/lib/common/api/assisted-service/index.ts +1 -0
- package/lib/common/api/authorization-service/all-apis.ts +28 -0
- package/lib/common/components/clusterConfiguration/DiscoveryImageConfigForm.tsx +6 -4
- package/lib/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionControlGroup.tsx +5 -1
- package/lib/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionMode.tsx +27 -16
- package/lib/common/components/clusterConfiguration/DiskEncryptionFields/TangServers.tsx +27 -17
- package/lib/common/components/clusterConfiguration/DownloadIso.tsx +3 -1
- package/lib/common/components/clusterConfiguration/OpenShiftVersionSelect.tsx +4 -1
- package/lib/common/components/clusterDetail/PostInstallAlert.tsx +29 -0
- package/lib/common/components/clusterDetail/index.ts +1 -0
- package/lib/common/components/clusterWizard/ReviewValidations.tsx +3 -0
- package/lib/common/components/hosts/HostRowDetail.tsx +3 -1
- package/lib/common/components/newFeatureSupportLevels/types.ts +4 -2
- package/lib/common/components/ui/NoPermissionsError.tsx +19 -0
- package/lib/common/components/ui/formik/InputField.tsx +4 -5
- package/lib/common/components/ui/formik/RichInputField.tsx +6 -2
- package/lib/common/components/ui/formik/SelectField.tsx +1 -1
- package/lib/common/components/ui/formik/types.ts +2 -1
- package/lib/common/components/ui/formik/validationSchemas.ts +16 -6
- package/lib/common/components/ui/index.ts +1 -0
- package/lib/common/config/constants.ts +3 -2
- package/lib/common/features/featureGate.tsx +0 -4
- package/lib/common/types/cpuArchitecture.ts +3 -8
- package/lib/common/types/featureSupportLevel.ts +6 -5
- package/lib/ocm/components/AddHosts/AddHosts.tsx +1 -3
- package/lib/ocm/components/AddHosts/InventoryAddHost.tsx +2 -8
- package/lib/ocm/components/AddHosts/day2Wizard/Day2ClusterDetails.tsx +6 -11
- package/lib/ocm/components/AddHosts/day2Wizard/Day2StaticIpHostConfigurations.tsx +34 -19
- package/lib/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContent.tsx +6 -37
- package/lib/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContentErrors.tsx +1 -15
- package/lib/ocm/components/clusterConfiguration/CpuArchitectureDropdown.tsx +62 -5
- package/lib/ocm/components/clusterConfiguration/CustomManifestCheckbox.tsx +25 -32
- package/lib/ocm/components/clusterConfiguration/OcmBaseDomainField.tsx +23 -12
- package/lib/ocm/components/clusterConfiguration/OcmClusterDetailsFormFields.tsx +7 -7
- package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/CustomManifestsPage.tsx +20 -27
- package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifests.tsx +3 -3
- package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsArray.tsx +2 -2
- package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/CustomManifestsForm.tsx +69 -182
- package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/ExpandedManifest.tsx +1 -1
- package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/components/utils.tsx +9 -15
- package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/data/dataTypes.ts +0 -1
- package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.tsx +48 -25
- package/lib/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.tsx +12 -5
- package/lib/ocm/components/clusterDetail/AssistedInstallerDetailCard.tsx +2 -1
- package/lib/ocm/components/clusterDetail/AssistedInstallerExtraDetailCard.tsx +2 -1
- package/lib/ocm/components/clusterDetail/ClusterDetailStatusMessages.tsx +3 -17
- package/lib/ocm/components/clusterWizard/ClusterDetails.tsx +9 -16
- package/lib/ocm/components/clusterWizard/ClusterDetailsForm.tsx +18 -16
- package/lib/ocm/components/clusterWizard/ClusterWizardContext.tsx +5 -3
- package/lib/ocm/components/clusterWizard/ClusterWizardContextProvider.tsx +75 -54
- package/lib/ocm/components/clusters/ClusterPage.tsx +2 -1
- package/lib/ocm/components/featureSupportLevels/FeatureSupportLevelProvider.tsx +14 -3
- package/lib/ocm/components/featureSupportLevels/ReviewClusterFeatureSupportLevels.tsx +1 -8
- package/lib/ocm/components/featureSupportLevels/featureStateUtils.ts +18 -3
- package/lib/ocm/components/hosts/HostsDiscoveryTable.tsx +1 -0
- package/lib/ocm/hooks/index.ts +1 -0
- package/lib/ocm/hooks/useOpenshiftVersions.tsx +1 -15
- package/lib/ocm/hooks/useSupportLevelsAPI.ts +65 -5
- package/lib/ocm/hooks/useUISettings.ts +71 -0
- package/lib/ocm/services/ClusterDetailsService.ts +3 -1
- package/lib/ocm/services/ClustersService.ts +0 -10
- package/lib/ocm/services/Day2ClusterService.ts +17 -3
- package/lib/ocm/services/UISettingsService.ts +17 -0
- package/lib/ocm/services/index.ts +1 -0
- package/lib/ocm/services/types.ts +5 -0
- package/package.json +3 -3
- package/build/@types/common/sevices/DateAndTime.d.ts.map +0 -1
- package/build/cjs/common/sevices/DateAndTime.js.map +0 -1
- /package/build/@types/common/{sevices → services}/DateAndTime.d.ts +0 -0
- /package/build/cjs/common/{sevices → services}/DateAndTime.js +0 -0
- /package/lib/common/{sevices → services}/DateAndTime.tsx +0 -0
package/lib/common/components/clusterConfiguration/DiskEncryptionFields/DiskEncryptionMode.tsx
CHANGED
|
@@ -8,6 +8,8 @@ import {
|
|
|
8
8
|
Text,
|
|
9
9
|
TextVariants,
|
|
10
10
|
TextContent,
|
|
11
|
+
TooltipProps,
|
|
12
|
+
Tooltip,
|
|
11
13
|
} from '@patternfly/react-core';
|
|
12
14
|
import { ENCRYPTING_DISK_DURING_INSTALLATION } from '../../../config';
|
|
13
15
|
import PopoverIcon from '../../ui/PopoverIcon';
|
|
@@ -64,31 +66,40 @@ const DiskEncryptionModeTang = () => {
|
|
|
64
66
|
export interface DiskEncryptionModeProps {
|
|
65
67
|
isDisabled: boolean;
|
|
66
68
|
diskEncryptionMode: DiskEncryption['mode'];
|
|
69
|
+
tooltipProps: TooltipProps;
|
|
67
70
|
}
|
|
68
71
|
|
|
69
|
-
export const DiskEncryptionMode = ({
|
|
72
|
+
export const DiskEncryptionMode = ({
|
|
73
|
+
diskEncryptionMode,
|
|
74
|
+
isDisabled,
|
|
75
|
+
tooltipProps,
|
|
76
|
+
}: DiskEncryptionModeProps) => {
|
|
70
77
|
const { t } = useTranslation();
|
|
71
78
|
return (
|
|
72
79
|
<Stack>
|
|
73
80
|
<StackItem>
|
|
74
81
|
<Flex>
|
|
75
82
|
<FlexItem spacer={{ default: 'spacer3xl' }}>
|
|
76
|
-
<
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
+
<Tooltip {...tooltipProps}>
|
|
84
|
+
<RadioField
|
|
85
|
+
isDisabled={isDisabled}
|
|
86
|
+
name="diskEncryptionMode"
|
|
87
|
+
label={<DiskEncryptionModeTPMv2 />}
|
|
88
|
+
id="TPMV2-button"
|
|
89
|
+
value="tpmv2"
|
|
90
|
+
/>
|
|
91
|
+
</Tooltip>
|
|
83
92
|
</FlexItem>
|
|
84
93
|
<FlexItem spacer={{ default: 'spacer3xl' }}>
|
|
85
|
-
<
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
94
|
+
<Tooltip {...tooltipProps}>
|
|
95
|
+
<RadioField
|
|
96
|
+
isDisabled={isDisabled}
|
|
97
|
+
name="diskEncryptionMode"
|
|
98
|
+
label={<DiskEncryptionModeTang />}
|
|
99
|
+
id="tang-button"
|
|
100
|
+
value="tang"
|
|
101
|
+
/>
|
|
102
|
+
</Tooltip>
|
|
92
103
|
</FlexItem>
|
|
93
104
|
</Flex>
|
|
94
105
|
</StackItem>
|
|
@@ -101,7 +112,7 @@ export const DiskEncryptionMode = ({ diskEncryptionMode, isDisabled }: DiskEncry
|
|
|
101
112
|
</TextContent>
|
|
102
113
|
</StackItem>
|
|
103
114
|
|
|
104
|
-
<TangServers isDisabled={isDisabled} />
|
|
115
|
+
<TangServers isDisabled={isDisabled} tooltipProps={tooltipProps} />
|
|
105
116
|
</Stack>
|
|
106
117
|
)}
|
|
107
118
|
</Stack>
|
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { FieldArray, useFormikContext } from 'formik';
|
|
3
|
-
import { Stack, StackItem, TextInputTypes } from '@patternfly/react-core';
|
|
3
|
+
import { Stack, StackItem, TextInputTypes, Tooltip, TooltipProps } from '@patternfly/react-core';
|
|
4
4
|
import { ClusterDetailsValues } from '../../clusterWizard';
|
|
5
5
|
import { InputField } from '../../ui';
|
|
6
6
|
import { AddButton, RemovableField } from '../../ui/formik';
|
|
7
7
|
import { useTranslation } from '../../../hooks/use-translation-wrapper';
|
|
8
8
|
|
|
9
|
-
export const TangServers = ({
|
|
9
|
+
export const TangServers = ({
|
|
10
|
+
isDisabled = false,
|
|
11
|
+
tooltipProps,
|
|
12
|
+
}: {
|
|
13
|
+
isDisabled: boolean;
|
|
14
|
+
tooltipProps: TooltipProps;
|
|
15
|
+
}) => {
|
|
10
16
|
const { values } = useFormikContext<ClusterDetailsValues>();
|
|
11
17
|
const { t } = useTranslation();
|
|
12
18
|
return (
|
|
@@ -20,22 +26,26 @@ export const TangServers = ({ isDisabled = false }: { isDisabled: boolean }) =>
|
|
|
20
26
|
onRemove={() => remove(index)}
|
|
21
27
|
>
|
|
22
28
|
<div>
|
|
23
|
-
<
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
<Tooltip {...tooltipProps}>
|
|
30
|
+
<InputField
|
|
31
|
+
type={TextInputTypes.url}
|
|
32
|
+
name={`diskEncryptionTangServers.${index}.url`}
|
|
33
|
+
helperText={`Must start with "http://" or "https://". Optionally, end with ":<port>"`}
|
|
34
|
+
label="Server URL"
|
|
35
|
+
isRequired
|
|
36
|
+
isDisabled={isDisabled}
|
|
37
|
+
/>
|
|
38
|
+
</Tooltip>
|
|
31
39
|
 
|
|
32
|
-
<
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
40
|
+
<Tooltip {...tooltipProps}>
|
|
41
|
+
<InputField
|
|
42
|
+
type={TextInputTypes.text}
|
|
43
|
+
name={`diskEncryptionTangServers.${index}.thumbprint`}
|
|
44
|
+
label="Server Thumbprint"
|
|
45
|
+
isRequired
|
|
46
|
+
isDisabled={isDisabled}
|
|
47
|
+
/>
|
|
48
|
+
</Tooltip>
|
|
39
49
|
</div>
|
|
40
50
|
</RemovableField>{' '}
|
|
41
51
|
</StackItem>
|
|
@@ -23,6 +23,7 @@ export type DownloadISOProps = {
|
|
|
23
23
|
downloadUrl?: string;
|
|
24
24
|
onClose: () => void;
|
|
25
25
|
onReset?: () => void;
|
|
26
|
+
docVersion?: string;
|
|
26
27
|
};
|
|
27
28
|
|
|
28
29
|
const DownloadIso = ({
|
|
@@ -32,6 +33,7 @@ const DownloadIso = ({
|
|
|
32
33
|
onReset,
|
|
33
34
|
hasDHCP,
|
|
34
35
|
isSNO = false,
|
|
36
|
+
docVersion,
|
|
35
37
|
}: DownloadISOProps) => {
|
|
36
38
|
const wgetCommand = `wget -O ${fileName} '${downloadUrl || ''}'`;
|
|
37
39
|
const { t } = useTranslation();
|
|
@@ -53,7 +55,7 @@ const DownloadIso = ({
|
|
|
53
55
|
</StackItem>
|
|
54
56
|
{hasDHCP === false && (
|
|
55
57
|
<StackItem>
|
|
56
|
-
<StaticIPInfo />
|
|
58
|
+
<StaticIPInfo docVersion={docVersion} />
|
|
57
59
|
</StackItem>
|
|
58
60
|
)}
|
|
59
61
|
<StackItem>
|
|
@@ -12,6 +12,7 @@ import { OPENSHIFT_LIFE_CYCLE_DATES_LINK } from '../../config';
|
|
|
12
12
|
import { OpenshiftVersionOptionType } from '../../types';
|
|
13
13
|
import { SelectField } from '../ui';
|
|
14
14
|
import { useTranslation } from '../../hooks/use-translation-wrapper';
|
|
15
|
+
import { SelectFieldProps } from '../ui/formik/types';
|
|
15
16
|
|
|
16
17
|
const OpenShiftLifeCycleDatesLink = () => {
|
|
17
18
|
const { t } = useTranslation();
|
|
@@ -54,8 +55,9 @@ const getOpenshiftVersionHelperText =
|
|
|
54
55
|
|
|
55
56
|
type OpenShiftVersionSelectProps = {
|
|
56
57
|
versions: OpenshiftVersionOptionType[];
|
|
58
|
+
onChange?: SelectFieldProps['onChange'];
|
|
57
59
|
};
|
|
58
|
-
const OpenShiftVersionSelect: React.FC<OpenShiftVersionSelectProps> = ({ versions }) => {
|
|
60
|
+
const OpenShiftVersionSelect: React.FC<OpenShiftVersionSelectProps> = ({ versions, onChange }) => {
|
|
59
61
|
const selectOptions = React.useMemo(
|
|
60
62
|
() =>
|
|
61
63
|
versions
|
|
@@ -75,6 +77,7 @@ const OpenShiftVersionSelect: React.FC<OpenShiftVersionSelectProps> = ({ version
|
|
|
75
77
|
getHelperText={getOpenshiftVersionHelperText(versions)}
|
|
76
78
|
isDisabled={versions.length === 0}
|
|
77
79
|
isRequired
|
|
80
|
+
onChange={onChange}
|
|
78
81
|
/>
|
|
79
82
|
);
|
|
80
83
|
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Alert } from '@patternfly/react-core';
|
|
3
|
+
import { ExternalLink } from '../ui';
|
|
4
|
+
import { useTranslation } from '../../hooks/use-translation-wrapper';
|
|
5
|
+
|
|
6
|
+
type PostInstallAlertProps = {
|
|
7
|
+
link: string;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
const PostInstallAlert = ({ link }: PostInstallAlertProps) => {
|
|
11
|
+
const { t } = useTranslation();
|
|
12
|
+
return (
|
|
13
|
+
<Alert
|
|
14
|
+
variant="warning"
|
|
15
|
+
isInline
|
|
16
|
+
data-testid="alert-modify-platform-config"
|
|
17
|
+
title={
|
|
18
|
+
<p>
|
|
19
|
+
{t(
|
|
20
|
+
"ai:Modify your platform configuration to access your platform's features directly in OpenShift.",
|
|
21
|
+
)}{' '}
|
|
22
|
+
<ExternalLink href={link}>{t('ai:Learn more about configuration.')}</ExternalLink>
|
|
23
|
+
</p>
|
|
24
|
+
}
|
|
25
|
+
/>
|
|
26
|
+
);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export default PostInstallAlert;
|
|
@@ -2,3 +2,4 @@ export { default as ClusterPropertiesList } from './ClusterPropertiesList';
|
|
|
2
2
|
export { default as ClusterProgress } from './ClusterProgress';
|
|
3
3
|
export { default as ClusterCredentials } from './ClusterCredentials';
|
|
4
4
|
export { default as KubeconfigDownload } from './KubeconfigDownload';
|
|
5
|
+
export { default as PostInstallAlert } from './PostInstallAlert';
|
|
@@ -112,6 +112,9 @@ const FailingValidation = <S extends string>({
|
|
|
112
112
|
</>
|
|
113
113
|
);
|
|
114
114
|
} else {
|
|
115
|
+
if (validation.id === 'platform-requirements-satisfied') {
|
|
116
|
+
fix = validation.message;
|
|
117
|
+
}
|
|
115
118
|
// console.error(
|
|
116
119
|
// 'Unknown validation ID detected in the ',
|
|
117
120
|
// clusterGroup || hostGroup,
|
|
@@ -36,6 +36,7 @@ type HostDetailProps = {
|
|
|
36
36
|
hostId: Host['id'],
|
|
37
37
|
diskId: Disk['id'],
|
|
38
38
|
) => Promise<unknown>;
|
|
39
|
+
hideStorage?: boolean;
|
|
39
40
|
};
|
|
40
41
|
|
|
41
42
|
type SectionColumnProps = {
|
|
@@ -115,6 +116,7 @@ export const HostDetail = ({
|
|
|
115
116
|
AdditionalNTPSourcesDialogToggleComponent,
|
|
116
117
|
hideNTPStatus = false,
|
|
117
118
|
updateDiskSkipFormatting,
|
|
119
|
+
hideStorage,
|
|
118
120
|
}: HostDetailProps) => {
|
|
119
121
|
const { t } = useTranslation();
|
|
120
122
|
const { id, validationsInfo: hostValidationsInfo } = host;
|
|
@@ -205,7 +207,7 @@ export const HostDetail = ({
|
|
|
205
207
|
value={ntpValidationStatus}
|
|
206
208
|
/>
|
|
207
209
|
</SectionColumn>
|
|
208
|
-
{
|
|
210
|
+
{!hideStorage && (
|
|
209
211
|
<StorageDetail
|
|
210
212
|
host={host}
|
|
211
213
|
onDiskRole={onDiskRole}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ArchitectureSupportLevelId,
|
|
3
3
|
FeatureSupportLevelId,
|
|
4
|
+
PlatformType,
|
|
4
5
|
SupportLevel,
|
|
5
6
|
} from '@openshift-assisted/types/assisted-installer-service';
|
|
6
|
-
import { CpuArchitecture, FeatureId } from '../../types';
|
|
7
|
+
import { CpuArchitecture, FeatureId, SupportedCpuArchitecture } from '../../types';
|
|
7
8
|
|
|
8
9
|
export type NewFeatureSupportLevelMap = Record<FeatureSupportLevelId, SupportLevel>;
|
|
9
10
|
export type ArchitectureSupportLevelMap = Record<ArchitectureSupportLevelId, SupportLevel>;
|
|
@@ -23,7 +24,8 @@ export type NewFeatureSupportLevelData = {
|
|
|
23
24
|
getFeatureDisabledReason(
|
|
24
25
|
featureId: FeatureId,
|
|
25
26
|
supportLevelData?: NewFeatureSupportLevelMap,
|
|
26
|
-
cpuArchitecture?:
|
|
27
|
+
cpuArchitecture?: SupportedCpuArchitecture,
|
|
28
|
+
platformType?: PlatformType,
|
|
27
29
|
): string | undefined;
|
|
28
30
|
isFeatureSupported(featureId: FeatureId, supportLevelData?: NewFeatureSupportLevelMap): boolean;
|
|
29
31
|
activeFeatureConfiguration?: ActiveFeatureConfiguration;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { EmptyState, EmptyStateBody, EmptyStateIcon, Title } from '@patternfly/react-core';
|
|
3
|
+
import { ExclamationTriangleIcon } from '@patternfly/react-icons';
|
|
4
|
+
import { global_disabled_color_100 as iconColor } from '@patternfly/react-tokens';
|
|
5
|
+
|
|
6
|
+
const NoPermissionsError = () => (
|
|
7
|
+
<EmptyState id="not-found">
|
|
8
|
+
<EmptyStateBody>
|
|
9
|
+
<EmptyStateIcon icon={ExclamationTriangleIcon} color={iconColor.value} />
|
|
10
|
+
<Title headingLevel="h2">Access permissions needed</Title>
|
|
11
|
+
<EmptyStateBody>
|
|
12
|
+
To create a cluster using the Assisted Installer, ask your organization administrator to
|
|
13
|
+
adjust your permissions.
|
|
14
|
+
</EmptyStateBody>
|
|
15
|
+
</EmptyStateBody>
|
|
16
|
+
</EmptyState>
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
export default NoPermissionsError;
|
|
@@ -29,7 +29,6 @@ const InputField: React.FC<
|
|
|
29
29
|
idPostfix,
|
|
30
30
|
children,
|
|
31
31
|
noDefaultOnChange,
|
|
32
|
-
inputError,
|
|
33
32
|
description,
|
|
34
33
|
labelInfo,
|
|
35
34
|
showErrorMessage = true,
|
|
@@ -37,15 +36,15 @@ const InputField: React.FC<
|
|
|
37
36
|
},
|
|
38
37
|
ref: React.Ref<HTMLInputElement>,
|
|
39
38
|
) => {
|
|
40
|
-
const [field] = useField({
|
|
39
|
+
const [field, { error, touched }] = useField({
|
|
41
40
|
name: props.name,
|
|
42
41
|
validate,
|
|
43
42
|
});
|
|
44
43
|
|
|
45
44
|
const fieldId = getFieldId(props.name, 'input', idPostfix);
|
|
46
|
-
const errorMessage = useFieldErrorMsg({ name: props.name, inputError, validate });
|
|
45
|
+
const errorMessage = useFieldErrorMsg({ name: props.name, inputError: error, validate });
|
|
47
46
|
const fieldHelperText = <HelperText fieldId={fieldId}>{helperText}</HelperText>;
|
|
48
|
-
const isValid = !
|
|
47
|
+
const isValid = !(touched && error);
|
|
49
48
|
|
|
50
49
|
return (
|
|
51
50
|
<Stack id={`form-control__${fieldId}`}>
|
|
@@ -88,7 +87,7 @@ const InputField: React.FC<
|
|
|
88
87
|
</FormGroup>
|
|
89
88
|
</StackItem>
|
|
90
89
|
<StackItem>
|
|
91
|
-
{showErrorMessage &&
|
|
90
|
+
{showErrorMessage && !isValid && (
|
|
92
91
|
<HelperText fieldId={fieldId} isError>
|
|
93
92
|
{errorMessage}
|
|
94
93
|
</HelperText>
|
|
@@ -99,7 +99,8 @@ const RichInputField: React.FC<RichInputFieldPropsProps> = React.forwardRef(
|
|
|
99
99
|
validate,
|
|
100
100
|
});
|
|
101
101
|
const fieldId = getFieldId(props.name, 'input', idPostfix);
|
|
102
|
-
const isValid = !touched
|
|
102
|
+
const isValid = !(touched && error?.length);
|
|
103
|
+
|
|
103
104
|
return (
|
|
104
105
|
<FormGroup
|
|
105
106
|
id={`form-control__${fieldId}`}
|
|
@@ -133,7 +134,10 @@ const RichInputField: React.FC<RichInputFieldPropsProps> = React.forwardRef(
|
|
|
133
134
|
onChange && onChange(event);
|
|
134
135
|
}}
|
|
135
136
|
className="rich-input__text"
|
|
136
|
-
onBlur={() =>
|
|
137
|
+
onBlur={() => {
|
|
138
|
+
setTouched(true, false);
|
|
139
|
+
setPopoverOpen(false);
|
|
140
|
+
}}
|
|
137
141
|
/>
|
|
138
142
|
<Popover
|
|
139
143
|
isVisible={popoverOpen}
|
|
@@ -49,7 +49,7 @@ const SelectField: React.FC<SelectFieldProps> = ({
|
|
|
49
49
|
onChange={(value, event) => {
|
|
50
50
|
//customHandleChange enables calling formik change handler explicitly, useful for example to have the previous value
|
|
51
51
|
callFormikOnChange && field.onChange(event);
|
|
52
|
-
onChange && onChange(event);
|
|
52
|
+
onChange && onChange(value, event);
|
|
53
53
|
}}
|
|
54
54
|
>
|
|
55
55
|
{options.map((option, index) => (
|
|
@@ -5,6 +5,7 @@ import {
|
|
|
5
5
|
SelectOptionProps,
|
|
6
6
|
TooltipProps,
|
|
7
7
|
RadioProps,
|
|
8
|
+
FormSelectProps,
|
|
8
9
|
} from '@patternfly/react-core';
|
|
9
10
|
import { FieldValidator, FieldHelperProps } from 'formik';
|
|
10
11
|
import { DropzoneProps, DropFileEventHandler } from 'react-dropzone';
|
|
@@ -37,7 +38,7 @@ export interface FieldProps {
|
|
|
37
38
|
|
|
38
39
|
export interface SelectFieldProps extends FieldProps {
|
|
39
40
|
options: FormSelectOptionProps[];
|
|
40
|
-
onChange?:
|
|
41
|
+
onChange?: FormSelectProps['onChange'];
|
|
41
42
|
getHelperText?: (value: string) => React.ReactNode | undefined;
|
|
42
43
|
// onBlur?: (event: React.FormEvent<HTMLSelectElement>) => void;
|
|
43
44
|
}
|
|
@@ -226,15 +226,25 @@ export const vipRangeValidationSchema = (
|
|
|
226
226
|
},
|
|
227
227
|
);
|
|
228
228
|
|
|
229
|
-
const vipUniqueValidationSchema = (
|
|
229
|
+
const vipUniqueValidationSchema = (
|
|
230
|
+
{ ingressVips, apiVips, apiVip, ingressVip }: NetworkConfigurationValues,
|
|
231
|
+
useIPArray: boolean,
|
|
232
|
+
) =>
|
|
230
233
|
Yup.string().test(
|
|
231
234
|
'vip-uniqueness-validation',
|
|
232
235
|
'The Ingress and API IP addresses cannot be the same.',
|
|
233
236
|
(value) => {
|
|
234
|
-
if (
|
|
235
|
-
|
|
237
|
+
if (useIPArray) {
|
|
238
|
+
if (!value || ingressVips?.length === 0 || apiVips?.length === 0) {
|
|
239
|
+
return true;
|
|
240
|
+
}
|
|
241
|
+
return selectApiVip({ apiVips }) !== selectIngressVip({ ingressVips });
|
|
242
|
+
} else {
|
|
243
|
+
if (!value) {
|
|
244
|
+
return true;
|
|
245
|
+
}
|
|
246
|
+
return apiVip !== ingressVip;
|
|
236
247
|
}
|
|
237
|
-
return selectApiVip({ apiVips }) !== selectIngressVip({ ingressVips });
|
|
238
248
|
},
|
|
239
249
|
);
|
|
240
250
|
|
|
@@ -276,7 +286,7 @@ export const vipValidationSchema = (
|
|
|
276
286
|
!vipDhcpAllocation && managedNetworkingType !== 'userManaged',
|
|
277
287
|
then: requiredOnceSet(initialValue, 'Required. Please provide an IP address')
|
|
278
288
|
.concat(vipRangeValidationSchema(hostSubnets, values, true))
|
|
279
|
-
.concat(vipUniqueValidationSchema(values))
|
|
289
|
+
.concat(vipUniqueValidationSchema(values, false))
|
|
280
290
|
.when('hostSubnet', {
|
|
281
291
|
is: (hostSubnet) => hostSubnet !== NO_SUBNET_SET,
|
|
282
292
|
then: Yup.string().required('Required. Please provide an IP address'),
|
|
@@ -295,7 +305,7 @@ export const vipNoSuffixValidationSchema = (
|
|
|
295
305
|
.concat(ipNoSuffixValidationSchema)
|
|
296
306
|
.concat(vipRangeValidationSchema(hostSubnets, values, false))
|
|
297
307
|
.concat(vipBroadcastValidationSchema(values))
|
|
298
|
-
.concat(vipUniqueValidationSchema(values))
|
|
308
|
+
.concat(vipUniqueValidationSchema(values, true))
|
|
299
309
|
.when('hostSubnet', {
|
|
300
310
|
is: (hostSubnet) => hostSubnet !== NO_SUBNET_SET,
|
|
301
311
|
then: Yup.string().required('Required. Please provide an IP address'),
|
|
@@ -22,3 +22,4 @@ export { default as EventsList } from './EventsList';
|
|
|
22
22
|
export { default as ClusterEventsToolbar } from './ClusterEventsToolbar';
|
|
23
23
|
export { default as ModalProgress } from './ModalProgress';
|
|
24
24
|
export { default as ConfirmationModal } from './ConfirmationModal';
|
|
25
|
+
export { default as NoPermissionsError } from './NoPermissionsError';
|
|
@@ -250,6 +250,7 @@ export const clusterValidationLabels = (
|
|
|
250
250
|
'lvm-requirements-satisfied': t('ai:Logical Volume Manager requirements'),
|
|
251
251
|
'cnv-requirements-satisfied': t('ai:CNV requirements'),
|
|
252
252
|
'mce-requirements-satisfied': t('ai:MCE requirements'),
|
|
253
|
+
'platform-requirements-satisfied': t('ai:Platform requirements'),
|
|
253
254
|
});
|
|
254
255
|
|
|
255
256
|
export const clusterValidationGroupLabels = (
|
|
@@ -367,8 +368,8 @@ export const operatorLabels = (
|
|
|
367
368
|
};
|
|
368
369
|
};
|
|
369
370
|
|
|
370
|
-
export const
|
|
371
|
-
|
|
371
|
+
export const getOCPStaticIPDocLink = (docVersion = '2.8') =>
|
|
372
|
+
`https://access.redhat.com/documentation/en-us/red_hat_advanced_cluster_management_for_kubernetes/${docVersion}/html-single/clusters/index#on-prem-creating-your-cluster-with-the-cli-nmstateconfig`;
|
|
372
373
|
|
|
373
374
|
export const AI_UI_TAG = 'ui_ocm';
|
|
374
375
|
|
|
@@ -3,7 +3,6 @@ import React from 'react';
|
|
|
3
3
|
// Must conform Unleash constants
|
|
4
4
|
export type AssistedInstallerFeatureType =
|
|
5
5
|
| 'ASSISTED_INSTALLER_SINGLE_CLUSTER_FEATURE'
|
|
6
|
-
| 'ASSISTED_INSTALLER_MULTIARCH_SUPPORTED'
|
|
7
6
|
| 'ASSISTED_INSTALLER_PLATFORM_OCI';
|
|
8
7
|
|
|
9
8
|
export type FeatureListType = {
|
|
@@ -22,13 +21,11 @@ export type AssistedInstallerPermissionTypesListType = {
|
|
|
22
21
|
// Hardcoded for ACM
|
|
23
22
|
export const ACM_ENABLED_FEATURES: FeatureListType = {
|
|
24
23
|
ASSISTED_INSTALLER_SINGLE_CLUSTER_FEATURE: false,
|
|
25
|
-
ASSISTED_INSTALLER_MULTIARCH_SUPPORTED: true,
|
|
26
24
|
};
|
|
27
25
|
|
|
28
26
|
// Hardcoded outside OCM
|
|
29
27
|
export const STANDALONE_DEPLOYMENT_ENABLED_FEATURES: FeatureListType = {
|
|
30
28
|
ASSISTED_INSTALLER_SINGLE_CLUSTER_FEATURE: false,
|
|
31
|
-
ASSISTED_INSTALLER_MULTIARCH_SUPPORTED: true,
|
|
32
29
|
ASSISTED_INSTALLER_PLATFORM_OCI: true,
|
|
33
30
|
};
|
|
34
31
|
|
|
@@ -46,7 +43,6 @@ export const FeatureGateContextProvider: React.FC<{
|
|
|
46
43
|
// hardcoded defaults
|
|
47
44
|
// TODO (mortegag): Remove all multiarch capacity related code in the UI.
|
|
48
45
|
const featuresWithDefaults: FeatureListType = {
|
|
49
|
-
ASSISTED_INSTALLER_MULTIARCH_SUPPORTED: true,
|
|
50
46
|
...features,
|
|
51
47
|
};
|
|
52
48
|
|
|
@@ -44,29 +44,24 @@ export const getAllCpuArchitectures = (): SupportedCpuArchitecture[] => [
|
|
|
44
44
|
];
|
|
45
45
|
|
|
46
46
|
export const getSupportedCpuArchitectures = (
|
|
47
|
-
canSelectCpuArch: boolean,
|
|
48
47
|
cpuArchitectures: CpuArchitecture[],
|
|
49
48
|
day1CpuArchitecture?: SupportedCpuArchitecture,
|
|
50
49
|
): SupportedCpuArchitecture[] => {
|
|
51
50
|
const newSupportedCpuArchs: SupportedCpuArchitecture[] = [];
|
|
52
51
|
//Power/Z clusters can be only homogeneous clusters
|
|
53
52
|
if (
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
canSelectCpuArch
|
|
53
|
+
day1CpuArchitecture === CpuArchitecture.ppc64le ||
|
|
54
|
+
day1CpuArchitecture === CpuArchitecture.s390x
|
|
57
55
|
) {
|
|
58
56
|
newSupportedCpuArchs.push(day1CpuArchitecture);
|
|
59
57
|
} else {
|
|
60
58
|
cpuArchitectures.forEach((cpuArch) => {
|
|
61
59
|
if (
|
|
62
60
|
day1CpuArchitecture === undefined &&
|
|
63
|
-
(cpuArch === CpuArchitecture.ppc64le || cpuArch === CpuArchitecture.s390x)
|
|
64
|
-
canSelectCpuArch
|
|
61
|
+
(cpuArch === CpuArchitecture.ppc64le || cpuArch === CpuArchitecture.s390x)
|
|
65
62
|
) {
|
|
66
63
|
newSupportedCpuArchs.push(cpuArch);
|
|
67
64
|
} else if (
|
|
68
|
-
day1CpuArchitecture !== CpuArchitecture.ppc64le &&
|
|
69
|
-
day1CpuArchitecture !== CpuArchitecture.s390x &&
|
|
70
65
|
cpuArch !== CpuArchitecture.MULTI &&
|
|
71
66
|
cpuArch !== CpuArchitecture.USE_DAY1_ARCHITECTURE
|
|
72
67
|
) {
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import {
|
|
2
|
-
FeatureSupportLevel,
|
|
3
2
|
FeatureSupportLevelId,
|
|
4
3
|
SupportLevel,
|
|
5
4
|
} from '@openshift-assisted/types/assisted-installer-service';
|
|
6
5
|
import { ArrayElementType } from './typescriptExtensions';
|
|
7
6
|
|
|
8
|
-
type Features = Required<ArrayElementType<
|
|
7
|
+
type Features = Required<ArrayElementType<FeatureSupportLevelId>>;
|
|
9
8
|
export type FeatureId =
|
|
10
9
|
| FeatureSupportLevelId
|
|
11
10
|
| Features['featureId']
|
|
12
|
-
| '
|
|
13
|
-
| '
|
|
14
|
-
| '
|
|
11
|
+
| 'NETWORK_TYPE_SELECTION'
|
|
12
|
+
| 'ARM64_ARCHITECTURE'
|
|
13
|
+
| 'ARM64_ARCHITECTURE_WITH_CLUSTER_MANAGED_NETWORKING'
|
|
14
|
+
| 'DUAL_STACK_NETWORKING'
|
|
15
|
+
| 'MULTIARCH_RELEASE_IMAGE';
|
|
15
16
|
|
|
16
17
|
export type FeatureIdToSupportLevel = {
|
|
17
18
|
[id in FeatureId]?: SupportLevel;
|
|
@@ -22,7 +22,6 @@ import {
|
|
|
22
22
|
AddHostsContext,
|
|
23
23
|
alertsSlice,
|
|
24
24
|
canInstallHost,
|
|
25
|
-
useFeature,
|
|
26
25
|
} from '../../../common';
|
|
27
26
|
import InventoryAddHosts from './InventoryAddHost';
|
|
28
27
|
import { onFetchEvents } from '../fetching/fetchEvents';
|
|
@@ -38,7 +37,6 @@ export const AddHosts = () => {
|
|
|
38
37
|
const { cluster, resetCluster, canEdit } = React.useContext(AddHostsContext);
|
|
39
38
|
const [isSubmitting, setSubmitting] = React.useState(false);
|
|
40
39
|
const clusterVarieties = useClusterStatusVarieties(cluster);
|
|
41
|
-
const canSelectCpuArch = useFeature('ASSISTED_INSTALLER_MULTIARCH_SUPPORTED');
|
|
42
40
|
const handleHostsInstall = React.useCallback(async () => {
|
|
43
41
|
setSubmitting(true);
|
|
44
42
|
try {
|
|
@@ -89,7 +87,7 @@ export const AddHosts = () => {
|
|
|
89
87
|
</Grid>
|
|
90
88
|
</StackItem>
|
|
91
89
|
<StackItem>
|
|
92
|
-
<InventoryAddHosts cluster={cluster}
|
|
90
|
+
<InventoryAddHosts cluster={cluster} />
|
|
93
91
|
</StackItem>
|
|
94
92
|
</Stack>
|
|
95
93
|
</CardBody>
|
|
@@ -8,18 +8,12 @@ import Day2DiscoveryImageModalButton from './day2Wizard/Day2DiscoveryImageModalB
|
|
|
8
8
|
import Day2Wizard from './day2Wizard/Day2Wizard';
|
|
9
9
|
import { Cluster } from '@openshift-assisted/types/assisted-installer-service';
|
|
10
10
|
|
|
11
|
-
const InventoryAddHosts = ({
|
|
12
|
-
cluster,
|
|
13
|
-
canSelectCpuArch,
|
|
14
|
-
}: {
|
|
15
|
-
cluster?: Cluster;
|
|
16
|
-
canSelectCpuArch?: boolean;
|
|
17
|
-
}) => {
|
|
11
|
+
const InventoryAddHosts = ({ cluster }: { cluster?: Cluster }) => {
|
|
18
12
|
if (!cluster) {
|
|
19
13
|
return null;
|
|
20
14
|
}
|
|
21
15
|
|
|
22
|
-
const showArmOnlyAlert =
|
|
16
|
+
const showArmOnlyAlert = cluster.cpuArchitecture === CpuArchitecture.ARM;
|
|
23
17
|
return (
|
|
24
18
|
<Stack hasGutter>
|
|
25
19
|
<StackItem>
|
|
@@ -12,7 +12,6 @@ import {
|
|
|
12
12
|
HOW_TO_KNOW_IF_CLUSTER_SUPPORTS_MULTIPLE_CPU_ARCHS,
|
|
13
13
|
LoadingState,
|
|
14
14
|
SupportedCpuArchitecture,
|
|
15
|
-
useFeature,
|
|
16
15
|
} from '../../../../common';
|
|
17
16
|
import { HostsNetworkConfigurationType, InfraEnvsService } from '../../../services';
|
|
18
17
|
import { useModalDialogsContext } from '../../hosts/ModalDialogsContext';
|
|
@@ -86,7 +85,6 @@ const Day2ClusterDetails = () => {
|
|
|
86
85
|
const [initialValues, setInitialValues] = React.useState<Day2ClusterDetailValues | null>(null);
|
|
87
86
|
const [isSubmitting, setSubmitting] = React.useState(false);
|
|
88
87
|
const [isAlternativeCpuSelected, setIsAlternativeCpuSelected] = React.useState(false);
|
|
89
|
-
const canSelectCpuArch = useFeature('ASSISTED_INSTALLER_MULTIARCH_SUPPORTED');
|
|
90
88
|
const { getCpuArchitectures } = useOpenshiftVersions();
|
|
91
89
|
const cpuArchitecturesByVersionImage = getCpuArchitectures(day2Cluster.openshiftVersion);
|
|
92
90
|
const day1CpuArchitecture = mapClusterCpuArchToInfraEnvCpuArch(day2Cluster.cpuArchitecture);
|
|
@@ -94,13 +92,8 @@ const Day2ClusterDetails = () => {
|
|
|
94
92
|
const pullSecret = usePullSecret();
|
|
95
93
|
|
|
96
94
|
const cpuArchitectures = React.useMemo(
|
|
97
|
-
() =>
|
|
98
|
-
|
|
99
|
-
canSelectCpuArch,
|
|
100
|
-
cpuArchitecturesByVersionImage,
|
|
101
|
-
day1CpuArchitecture,
|
|
102
|
-
),
|
|
103
|
-
[canSelectCpuArch, cpuArchitecturesByVersionImage, day1CpuArchitecture],
|
|
95
|
+
() => getSupportedCpuArchitectures(cpuArchitecturesByVersionImage, day1CpuArchitecture),
|
|
96
|
+
[cpuArchitecturesByVersionImage, day1CpuArchitecture],
|
|
104
97
|
);
|
|
105
98
|
React.useEffect(() => {
|
|
106
99
|
const fetchAndSetInitialValues = async () => {
|
|
@@ -227,6 +220,7 @@ const Day2ClusterDetails = () => {
|
|
|
227
220
|
day1CpuArchitecture={initialValues.cpuArchitecture}
|
|
228
221
|
cpuArchitectures={cpuArchitectures}
|
|
229
222
|
onChange={(value) => handleChangeCpuArchitectureDropdown(value, initialValues)}
|
|
223
|
+
platformType={day2Cluster.platform?.type}
|
|
230
224
|
/>
|
|
231
225
|
</GridItem>
|
|
232
226
|
{isAlternativeCpuSelected && (
|
|
@@ -246,9 +240,10 @@ const Day2ClusterDetails = () => {
|
|
|
246
240
|
</Alert>
|
|
247
241
|
</GridItem>
|
|
248
242
|
)}
|
|
249
|
-
|
|
250
243
|
<GridItem>
|
|
251
|
-
<Day2HostStaticIpConfigurations
|
|
244
|
+
<Day2HostStaticIpConfigurations
|
|
245
|
+
isDisabled={day2Cluster.platform?.type === 'oci'}
|
|
246
|
+
/>
|
|
252
247
|
</GridItem>
|
|
253
248
|
</Grid>
|
|
254
249
|
</Form>
|