@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
|
@@ -6,27 +6,26 @@ import {
|
|
|
6
6
|
FieldArrayRenderProps,
|
|
7
7
|
Formik,
|
|
8
8
|
FormikConfig,
|
|
9
|
-
FormikErrors,
|
|
10
|
-
FormikHelpers,
|
|
11
9
|
useFormikContext,
|
|
12
10
|
yupToFormErrors,
|
|
13
11
|
} from 'formik';
|
|
14
12
|
import isEqual from 'lodash-es/isEqual.js';
|
|
15
|
-
import { ErrorState, LoadingState, useAlerts, useFormikAutoSave } from '../../../../../common';
|
|
16
|
-
import { CustomManifestsFormProps } from './propTypes';
|
|
17
13
|
import {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
14
|
+
ErrorState,
|
|
15
|
+
LoadingState,
|
|
16
|
+
getApiErrorMessage,
|
|
17
|
+
handleApiError,
|
|
18
|
+
useAlerts,
|
|
19
|
+
useFormikAutoSave,
|
|
20
|
+
} from '../../../../../common';
|
|
21
|
+
import { CustomManifestsFormProps } from './propTypes';
|
|
22
|
+
import { CustomManifestValues, ManifestFormData } from '../data/dataTypes';
|
|
25
23
|
import useClusterCustomManifests from '../../../../hooks/useClusterCustomManifests';
|
|
26
24
|
import { ClustersService } from '../../../../services';
|
|
27
25
|
import { CustomManifestsArray } from './CustomManifestsArray';
|
|
28
|
-
import { getManifestFakeId } from './utils';
|
|
29
26
|
import { selectCurrentClusterPermissionsState } from '../../../../store/slices/current-cluster/selectors';
|
|
27
|
+
import { useClusterWizardContext } from '../../../clusterWizard/ClusterWizardContext';
|
|
28
|
+
import { ClustersAPI } from '../../../../services/apis';
|
|
30
29
|
|
|
31
30
|
const fieldName = 'manifests';
|
|
32
31
|
|
|
@@ -53,55 +52,12 @@ const AutosaveWithParentUpdate = ({
|
|
|
53
52
|
return null;
|
|
54
53
|
};
|
|
55
54
|
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
} => {
|
|
62
|
-
const existingFolderByFakeId = updatedManifest.fakeId?.substring(
|
|
63
|
-
0,
|
|
64
|
-
updatedManifest.fakeId.indexOf('#'),
|
|
65
|
-
);
|
|
66
|
-
const existingFolder: FormViewManifestFolder =
|
|
67
|
-
existingFolderByFakeId === 'manifests' || existingFolderByFakeId === 'openshift'
|
|
68
|
-
? existingFolderByFakeId
|
|
69
|
-
: 'manifests';
|
|
70
|
-
const existingFileName = updatedManifest.fakeId?.substring(
|
|
71
|
-
updatedManifest.fakeId.indexOf('#') + 1,
|
|
55
|
+
const manifestUpdated = (manifest: CustomManifestValues, oldManifest: CustomManifestValues) => {
|
|
56
|
+
return (
|
|
57
|
+
oldManifest.filename !== manifest.filename ||
|
|
58
|
+
oldManifest.folder !== manifest.folder ||
|
|
59
|
+
oldManifest.manifestYaml !== manifest.manifestYaml
|
|
72
60
|
);
|
|
73
|
-
|
|
74
|
-
return {
|
|
75
|
-
folderName: existingFolder,
|
|
76
|
-
fileName: existingFileName,
|
|
77
|
-
};
|
|
78
|
-
};
|
|
79
|
-
|
|
80
|
-
const handleApiErrorInForm = (
|
|
81
|
-
manifests: CustomManifestValues[],
|
|
82
|
-
manifestsThatExists: CustomManifestValues[],
|
|
83
|
-
actions: FormikHelpers<ManifestFormData>,
|
|
84
|
-
) => {
|
|
85
|
-
const errors: FormikErrors<ManifestFormData> = {};
|
|
86
|
-
errors.manifests = [];
|
|
87
|
-
manifests.forEach((manifest) => {
|
|
88
|
-
(errors.manifests as FormikErrors<CustomManifestValues>[]).push({
|
|
89
|
-
fakeId: manifest.fakeId,
|
|
90
|
-
folder: '',
|
|
91
|
-
filename: '',
|
|
92
|
-
manifestYaml: '',
|
|
93
|
-
});
|
|
94
|
-
});
|
|
95
|
-
errors.manifests.forEach((errorManifest) => {
|
|
96
|
-
manifestsThatExists.forEach((updatedManifest) => {
|
|
97
|
-
if ((errorManifest as CustomManifestValues).fakeId === updatedManifest.fakeId) {
|
|
98
|
-
(errorManifest as CustomManifestValues).manifestYaml =
|
|
99
|
-
'Failed to update the existing manifest';
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
});
|
|
103
|
-
|
|
104
|
-
actions.setErrors(errors);
|
|
105
61
|
};
|
|
106
62
|
|
|
107
63
|
export const CustomManifestsForm = ({
|
|
@@ -115,142 +71,73 @@ export const CustomManifestsForm = ({
|
|
|
115
71
|
const [initialValues, setInitialValues] = React.useState<ManifestFormData | undefined>();
|
|
116
72
|
const { addAlert, clearAlerts } = useAlerts();
|
|
117
73
|
const { customManifests, isLoading, error } = useClusterCustomManifests(cluster.id || '', true);
|
|
118
|
-
const customManifestsLocalRef = React.useRef<
|
|
74
|
+
const customManifestsLocalRef = React.useRef<CustomManifestValues[]>([]);
|
|
75
|
+
const { updateUISettings, uiSettings } = useClusterWizardContext();
|
|
119
76
|
|
|
120
77
|
React.useEffect(() => {
|
|
121
|
-
if (customManifests) {
|
|
122
|
-
|
|
123
|
-
|
|
78
|
+
if (customManifests && !customManifestsLocalRef.current.length) {
|
|
79
|
+
const initValues = getInitialValues(customManifests);
|
|
80
|
+
setInitialValues(initValues);
|
|
81
|
+
customManifestsLocalRef.current = !!customManifests.length ? initValues.manifests : [];
|
|
124
82
|
}
|
|
125
83
|
}, [customManifests, getInitialValues]);
|
|
126
84
|
|
|
127
|
-
const updateCustomManifestsLocal = React.useCallback(
|
|
128
|
-
(updatedManifests: CustomManifestValues[], newValuesAdded: boolean) => {
|
|
129
|
-
if (newValuesAdded) {
|
|
130
|
-
updatedManifests.forEach((updatedManifest) => {
|
|
131
|
-
const customManifest: ManifestExtended = {
|
|
132
|
-
folder: updatedManifest.folder,
|
|
133
|
-
fileName: updatedManifest.filename,
|
|
134
|
-
yamlContent: updatedManifest.manifestYaml,
|
|
135
|
-
};
|
|
136
|
-
customManifestsLocalRef.current?.push(customManifest);
|
|
137
|
-
});
|
|
138
|
-
} else {
|
|
139
|
-
customManifestsLocalRef.current?.forEach((customManifest) => {
|
|
140
|
-
const updatedManifest: CustomManifestValues | undefined = updatedManifests.find(
|
|
141
|
-
(updatedManifest) =>
|
|
142
|
-
getManifestFakeId(
|
|
143
|
-
customManifest.folder || 'manifests',
|
|
144
|
-
customManifest.fileName || '',
|
|
145
|
-
) === updatedManifest.fakeId || '',
|
|
146
|
-
);
|
|
147
|
-
|
|
148
|
-
if (updatedManifest) {
|
|
149
|
-
customManifest.folder = updatedManifest.folder;
|
|
150
|
-
customManifest.fileName = updatedManifest.filename;
|
|
151
|
-
customManifest.yamlContent = updatedManifest.manifestYaml;
|
|
152
|
-
}
|
|
153
|
-
});
|
|
154
|
-
}
|
|
155
|
-
},
|
|
156
|
-
[customManifestsLocalRef],
|
|
157
|
-
);
|
|
158
|
-
|
|
159
|
-
const removeCustomManifestFromLocal = React.useCallback(
|
|
160
|
-
(manifests: CustomManifestValues[]) => {
|
|
161
|
-
if (customManifestsLocalRef.current) {
|
|
162
|
-
const customManifestsLocalCopy = [...customManifestsLocalRef.current].filter(
|
|
163
|
-
(customManifest) => {
|
|
164
|
-
return !manifests.some((manifest) => {
|
|
165
|
-
return (
|
|
166
|
-
customManifest.folder === manifest.folder &&
|
|
167
|
-
customManifest.fileName === manifest.filename &&
|
|
168
|
-
customManifest.yamlContent === manifest.manifestYaml
|
|
169
|
-
);
|
|
170
|
-
});
|
|
171
|
-
},
|
|
172
|
-
);
|
|
173
|
-
if (customManifestsLocalCopy.length > 0) {
|
|
174
|
-
customManifestsLocalRef.current.splice(
|
|
175
|
-
customManifestsLocalRef.current.findIndex(
|
|
176
|
-
(manifest) =>
|
|
177
|
-
manifest.folder === customManifestsLocalCopy[0].folder &&
|
|
178
|
-
manifest.fileName === customManifestsLocalCopy[0].fileName,
|
|
179
|
-
),
|
|
180
|
-
1,
|
|
181
|
-
);
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
},
|
|
185
|
-
[customManifestsLocalRef],
|
|
186
|
-
);
|
|
187
|
-
|
|
188
85
|
const handleSubmit: FormikConfig<ManifestFormData>['onSubmit'] = React.useCallback(
|
|
189
|
-
async (
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
const manifests = values.manifests;
|
|
193
|
-
const manifestsModified = manifests.filter(
|
|
194
|
-
(manifest) =>
|
|
195
|
-
!customManifestsLocalRef.current?.some(
|
|
196
|
-
(customManifest) =>
|
|
197
|
-
customManifest.folder === manifest.folder &&
|
|
198
|
-
customManifest.fileName === manifest.filename &&
|
|
199
|
-
customManifest.yamlContent === manifest.manifestYaml,
|
|
200
|
-
),
|
|
201
|
-
);
|
|
202
|
-
if (cluster && manifestsModified.length > 0) {
|
|
203
|
-
//See if manifests exists previously to make a patch or create a new one
|
|
204
|
-
const manifestsThatExists = manifestsModified.filter((manifest) => manifest.fakeId !== '');
|
|
205
|
-
const newManifestsToCreate = manifestsModified.filter((manifest) => manifest.fakeId === '');
|
|
206
|
-
try {
|
|
207
|
-
const manifestsRequests = manifestsThatExists.map((updatedManifest) => {
|
|
208
|
-
const { folderName, fileName } = getManifestDetails(updatedManifest);
|
|
86
|
+
async ({ manifests }, actions) => {
|
|
87
|
+
if (manifests.length < customManifestsLocalRef.current.length) {
|
|
88
|
+
// submit was triggered by deleting a manifest
|
|
209
89
|
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
90
|
+
customManifestsLocalRef.current = manifests;
|
|
91
|
+
return;
|
|
92
|
+
} else {
|
|
93
|
+
clearAlerts();
|
|
94
|
+
actions.setSubmitting(true);
|
|
95
|
+
|
|
96
|
+
for (let index = 0; index < manifests.length; index++) {
|
|
97
|
+
try {
|
|
98
|
+
const manifest = manifests[index];
|
|
99
|
+
if (index >= (customManifestsLocalRef.current?.length || 0)) {
|
|
100
|
+
// manifest added
|
|
101
|
+
await ClustersAPI.createCustomManifest(
|
|
102
|
+
cluster.id,
|
|
103
|
+
ClustersService.transformFormViewManifest(manifest),
|
|
104
|
+
);
|
|
105
|
+
} else {
|
|
106
|
+
// manifest updated
|
|
107
|
+
const oldManifest = customManifestsLocalRef.current[index];
|
|
108
|
+
|
|
109
|
+
if (manifestUpdated(manifest, oldManifest)) {
|
|
110
|
+
await ClustersService.updateCustomManifest(oldManifest, manifest, cluster.id);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
} catch (error) {
|
|
114
|
+
const errorArray = new Array(manifests.length).fill(undefined);
|
|
115
|
+
errorArray.splice(index, 1, { manifestYaml: 'Failed to save changes' });
|
|
116
|
+
|
|
117
|
+
const errors = {
|
|
118
|
+
manifests: errorArray,
|
|
214
119
|
};
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
120
|
+
actions.setErrors(errors);
|
|
121
|
+
|
|
122
|
+
// handleApiErrorInForm(manifests, customManifestsLocalRef.current, actions);
|
|
123
|
+
handleApiError(error, () =>
|
|
124
|
+
addAlert({
|
|
125
|
+
title: 'Failed to update the custom manifests',
|
|
126
|
+
message: getApiErrorMessage(error),
|
|
127
|
+
}),
|
|
220
128
|
);
|
|
221
|
-
});
|
|
222
|
-
await Promise.all(manifestsRequests);
|
|
223
|
-
if (newManifestsToCreate.length > 0) {
|
|
224
|
-
await ClustersService.createClusterManifests(newManifestsToCreate, cluster?.id);
|
|
225
|
-
updateCustomManifestsLocal(newManifestsToCreate, true);
|
|
226
129
|
}
|
|
130
|
+
}
|
|
227
131
|
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
}
|
|
231
|
-
} catch (e) {
|
|
232
|
-
handleApiErrorInForm(manifests, manifestsThatExists, actions);
|
|
233
|
-
handleApiError(e, () =>
|
|
234
|
-
addAlert({
|
|
235
|
-
title: 'Failed to update the custom manifests',
|
|
236
|
-
message: getApiErrorMessage(e),
|
|
237
|
-
}),
|
|
238
|
-
);
|
|
239
|
-
} finally {
|
|
240
|
-
actions.setSubmitting(false);
|
|
132
|
+
customManifestsLocalRef.current = manifests;
|
|
133
|
+
if (!uiSettings?.customManifestsAdded) {
|
|
134
|
+
await updateUISettings({ customManifestsAdded: true });
|
|
241
135
|
}
|
|
242
|
-
|
|
243
|
-
|
|
136
|
+
|
|
137
|
+
actions.setSubmitting(false);
|
|
244
138
|
}
|
|
245
139
|
},
|
|
246
|
-
[
|
|
247
|
-
addAlert,
|
|
248
|
-
clearAlerts,
|
|
249
|
-
cluster,
|
|
250
|
-
customManifestsLocalRef,
|
|
251
|
-
updateCustomManifestsLocal,
|
|
252
|
-
removeCustomManifestFromLocal,
|
|
253
|
-
],
|
|
140
|
+
[clearAlerts, uiSettings?.customManifestsAdded, cluster.id, addAlert, updateUISettings],
|
|
254
141
|
);
|
|
255
142
|
|
|
256
143
|
const onSubmit = isViewerMode ? () => Promise.resolve() : handleSubmit;
|
|
@@ -50,7 +50,7 @@ const ExpandedManifest = ({ fieldName, manifestIdx }: CustomManifestComponentPro
|
|
|
50
50
|
)}.`}
|
|
51
51
|
label={
|
|
52
52
|
<>
|
|
53
|
-
<span>File name</span>
|
|
53
|
+
<span>File name</span>{' '}
|
|
54
54
|
<PopoverIcon
|
|
55
55
|
bodyContent={
|
|
56
56
|
'File name determines order of executing manifests during the installation. For example "manifest1.yaml" will be applied before "manifest2.yaml"'
|
|
@@ -8,25 +8,24 @@ export const getFormData = (manifests: ListManifestsExtended): ManifestFormData
|
|
|
8
8
|
};
|
|
9
9
|
};
|
|
10
10
|
|
|
11
|
-
export const
|
|
11
|
+
export const getEmptyManifest = (): CustomManifestValues => {
|
|
12
12
|
return {
|
|
13
13
|
folder: 'manifests',
|
|
14
14
|
filename: '',
|
|
15
15
|
manifestYaml: '',
|
|
16
|
-
fakeId: '',
|
|
17
16
|
};
|
|
18
17
|
};
|
|
19
18
|
|
|
20
|
-
export const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
19
|
+
export const getManifestValues = (manifests: ListManifestsExtended): ManifestFormData => {
|
|
20
|
+
if (!!manifests.length) {
|
|
21
|
+
return getFormData(manifests);
|
|
22
|
+
} else {
|
|
23
|
+
return getEmptyManifestsValues();
|
|
24
24
|
}
|
|
25
|
-
return { manifests: formData.manifests };
|
|
26
25
|
};
|
|
27
26
|
|
|
28
|
-
export const
|
|
29
|
-
return { manifests: [
|
|
27
|
+
export const getEmptyManifestsValues = (): ManifestFormData => {
|
|
28
|
+
return { manifests: [getEmptyManifest()] };
|
|
30
29
|
};
|
|
31
30
|
|
|
32
31
|
export const getClusterCustomManifests = (
|
|
@@ -37,13 +36,8 @@ export const getClusterCustomManifests = (
|
|
|
37
36
|
folder: manifest.folder || 'manifests',
|
|
38
37
|
filename: manifest.fileName || '',
|
|
39
38
|
manifestYaml: manifest.yamlContent || '',
|
|
40
|
-
fakeId: getManifestFakeId(manifest.folder || 'manifests', manifest.fileName || ''),
|
|
41
39
|
}));
|
|
42
40
|
} else {
|
|
43
|
-
return [
|
|
41
|
+
return [getEmptyManifest()];
|
|
44
42
|
}
|
|
45
43
|
};
|
|
46
|
-
|
|
47
|
-
export const getManifestFakeId = (folder: string, fileName: string): string => {
|
|
48
|
-
return `${folder}#${fileName}`;
|
|
49
|
-
};
|
package/lib/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfiguration.tsx
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { useFormikContext } from 'formik';
|
|
3
3
|
import { useSelector } from 'react-redux';
|
|
4
|
-
import {
|
|
4
|
+
import { Grid, Tooltip } from '@patternfly/react-core';
|
|
5
5
|
import { VirtualIPControlGroup, VirtualIPControlGroupProps } from './VirtualIPControlGroup';
|
|
6
6
|
import {
|
|
7
7
|
canBeDualStack,
|
|
8
8
|
canSelectNetworkTypeSDN,
|
|
9
9
|
clusterNetworksEqual,
|
|
10
|
+
CpuArchitecture,
|
|
10
11
|
DUAL_STACK,
|
|
11
12
|
HostSubnets,
|
|
12
13
|
isSNO,
|
|
@@ -27,12 +28,15 @@ import { OcmCheckbox } from '../../ui/OcmFormFields';
|
|
|
27
28
|
import { NetworkTypeControlGroup } from '../../../../common/components/clusterWizard/networkingSteps/NetworkTypeControlGroup';
|
|
28
29
|
import {
|
|
29
30
|
NewFeatureSupportLevelData,
|
|
31
|
+
NewFeatureSupportLevelMap,
|
|
30
32
|
useNewFeatureSupportLevel,
|
|
31
33
|
} from '../../../../common/components/newFeatureSupportLevels';
|
|
32
34
|
import {
|
|
33
35
|
Cluster,
|
|
34
36
|
ClusterDefaultConfig,
|
|
37
|
+
PlatformType,
|
|
35
38
|
} from '@openshift-assisted/types/assisted-installer-service';
|
|
39
|
+
import useSupportLevelsAPI from '../../../hooks/useSupportLevelsAPI';
|
|
36
40
|
|
|
37
41
|
export type NetworkConfigurationProps = VirtualIPControlGroupProps & {
|
|
38
42
|
hostSubnets: HostSubnets;
|
|
@@ -74,15 +78,30 @@ const getManagedNetworkingDisabledReason = (
|
|
|
74
78
|
}
|
|
75
79
|
};
|
|
76
80
|
|
|
77
|
-
const getUserManagedDisabledReason = (
|
|
78
|
-
|
|
79
|
-
|
|
81
|
+
const getUserManagedDisabledReason = (
|
|
82
|
+
featureSupportLevelContext: NewFeatureSupportLevelData,
|
|
83
|
+
platformType?: PlatformType,
|
|
84
|
+
featureSupportLevelMap?: NewFeatureSupportLevelMap | null,
|
|
85
|
+
) => {
|
|
86
|
+
if (!featureSupportLevelContext.isFeatureSupported('USER_MANAGED_NETWORKING')) {
|
|
87
|
+
return featureSupportLevelContext.getFeatureDisabledReason(
|
|
88
|
+
'USER_MANAGED_NETWORKING',
|
|
89
|
+
featureSupportLevelMap ?? undefined,
|
|
90
|
+
undefined,
|
|
91
|
+
platformType,
|
|
92
|
+
);
|
|
80
93
|
}
|
|
81
94
|
};
|
|
82
95
|
|
|
83
|
-
const getClusterManagedDisabledReason = (
|
|
84
|
-
|
|
85
|
-
|
|
96
|
+
const getClusterManagedDisabledReason = (
|
|
97
|
+
featureSupportLevelContext: NewFeatureSupportLevelData,
|
|
98
|
+
featureSupportLevelMap?: NewFeatureSupportLevelMap | null,
|
|
99
|
+
) => {
|
|
100
|
+
if (!featureSupportLevelContext.isFeatureSupported('CLUSTER_MANAGED_NETWORKING')) {
|
|
101
|
+
return featureSupportLevelContext.getFeatureDisabledReason(
|
|
102
|
+
'CLUSTER_MANAGED_NETWORKING',
|
|
103
|
+
featureSupportLevelMap ?? undefined,
|
|
104
|
+
);
|
|
86
105
|
}
|
|
87
106
|
};
|
|
88
107
|
|
|
@@ -90,6 +109,8 @@ const getManagedNetworkingState = (
|
|
|
90
109
|
isDualStack: boolean,
|
|
91
110
|
isOracleCloudInfrastructure: boolean,
|
|
92
111
|
featureSupportLevelData: NewFeatureSupportLevelData,
|
|
112
|
+
platformType?: PlatformType,
|
|
113
|
+
featureSupportLevelMap?: NewFeatureSupportLevelMap | null,
|
|
93
114
|
): {
|
|
94
115
|
isDisabled: boolean;
|
|
95
116
|
clusterManagedDisabledReason?: string;
|
|
@@ -100,8 +121,15 @@ const getManagedNetworkingState = (
|
|
|
100
121
|
isOracleCloudInfrastructure,
|
|
101
122
|
featureSupportLevelData,
|
|
102
123
|
);
|
|
103
|
-
const cmnReason = getClusterManagedDisabledReason(
|
|
104
|
-
|
|
124
|
+
const cmnReason = getClusterManagedDisabledReason(
|
|
125
|
+
featureSupportLevelData,
|
|
126
|
+
featureSupportLevelMap,
|
|
127
|
+
);
|
|
128
|
+
const umnReason = getUserManagedDisabledReason(
|
|
129
|
+
featureSupportLevelData,
|
|
130
|
+
platformType,
|
|
131
|
+
featureSupportLevelMap,
|
|
132
|
+
);
|
|
105
133
|
|
|
106
134
|
return {
|
|
107
135
|
isDisabled: !!(cmnReason || umnReason || networkingReason),
|
|
@@ -116,7 +144,13 @@ const NetworkConfiguration = ({
|
|
|
116
144
|
isVipDhcpAllocationDisabled,
|
|
117
145
|
defaultNetworkSettings,
|
|
118
146
|
}: NetworkConfigurationProps) => {
|
|
119
|
-
const
|
|
147
|
+
const featureSupportLevelContext = useNewFeatureSupportLevel();
|
|
148
|
+
const featureSupportLevelData = useSupportLevelsAPI(
|
|
149
|
+
'features',
|
|
150
|
+
cluster.openshiftVersion,
|
|
151
|
+
cluster.cpuArchitecture as CpuArchitecture,
|
|
152
|
+
cluster.platform?.type,
|
|
153
|
+
);
|
|
120
154
|
const { isViewerMode } = useSelector(selectCurrentClusterPermissionsState);
|
|
121
155
|
const { setFieldValue, values, validateField } = useFormikContext<NetworkConfigurationValues>();
|
|
122
156
|
|
|
@@ -194,9 +228,11 @@ const NetworkConfiguration = ({
|
|
|
194
228
|
getManagedNetworkingState(
|
|
195
229
|
isDualStack,
|
|
196
230
|
cluster.platform?.type === 'oci',
|
|
231
|
+
featureSupportLevelContext,
|
|
232
|
+
cluster.platform?.type,
|
|
197
233
|
featureSupportLevelData,
|
|
198
234
|
),
|
|
199
|
-
[isDualStack, cluster.platform?.type, featureSupportLevelData],
|
|
235
|
+
[isDualStack, cluster.platform?.type, featureSupportLevelContext, featureSupportLevelData],
|
|
200
236
|
);
|
|
201
237
|
|
|
202
238
|
return (
|
|
@@ -214,19 +250,6 @@ const NetworkConfiguration = ({
|
|
|
214
250
|
/>
|
|
215
251
|
)}
|
|
216
252
|
|
|
217
|
-
{!isUserManagedNetworking &&
|
|
218
|
-
!featureSupportLevelData.isFeatureSupported('CLUSTER_MANAGED_NETWORKING_WITH_VMS') && (
|
|
219
|
-
<Alert
|
|
220
|
-
title="Your cluster will be subject to support limitations"
|
|
221
|
-
variant={AlertVariant.info}
|
|
222
|
-
isInline={true}
|
|
223
|
-
data-testid="networking-vms-alert"
|
|
224
|
-
>
|
|
225
|
-
Some or all of your discovered hosts are virtual machines, so selecting the
|
|
226
|
-
cluster-managed networking option will limit your installed cluster's support.
|
|
227
|
-
</Alert>
|
|
228
|
-
)}
|
|
229
|
-
|
|
230
253
|
{(isSNOCluster || !isUserManagedNetworking) && (
|
|
231
254
|
<StackTypeControlGroup
|
|
232
255
|
clusterId={cluster.id}
|
|
@@ -255,7 +278,7 @@ const NetworkConfiguration = ({
|
|
|
255
278
|
<VirtualIPControlGroup
|
|
256
279
|
cluster={cluster}
|
|
257
280
|
isVipDhcpAllocationDisabled={isVipDhcpAllocationDisabled}
|
|
258
|
-
supportLevel={
|
|
281
|
+
supportLevel={featureSupportLevelContext.getFeatureSupportLevel('VIP_AUTO_ALLOC')}
|
|
259
282
|
/>
|
|
260
283
|
)}
|
|
261
284
|
|
package/lib/ocm/components/clusterConfiguration/platformIntegration/ExternalPlatformDropdown.tsx
CHANGED
|
@@ -12,7 +12,13 @@ import {
|
|
|
12
12
|
} from '@patternfly/react-core';
|
|
13
13
|
import { CaretDownIcon } from '@patternfly/react-icons';
|
|
14
14
|
import { useField } from 'formik';
|
|
15
|
-
import {
|
|
15
|
+
import {
|
|
16
|
+
CpuArchitecture,
|
|
17
|
+
DeveloperPreview,
|
|
18
|
+
FeatureId,
|
|
19
|
+
SupportedCpuArchitecture,
|
|
20
|
+
getFieldId,
|
|
21
|
+
} from '../../../../common';
|
|
16
22
|
import { ExternalPlaformIds, ExternalPlatformLabels, ExternalPlatformLinks } from './constants';
|
|
17
23
|
import { PlatformType } from '@openshift-assisted/types/assisted-installer-service';
|
|
18
24
|
import {
|
|
@@ -20,6 +26,7 @@ import {
|
|
|
20
26
|
NewFeatureSupportLevelMap,
|
|
21
27
|
useNewFeatureSupportLevel,
|
|
22
28
|
} from '../../../../common/components/newFeatureSupportLevels';
|
|
29
|
+
import { architectureData } from '../CpuArchitectureDropdown';
|
|
23
30
|
|
|
24
31
|
const INPUT_NAME = 'platform';
|
|
25
32
|
const fieldId = getFieldId(INPUT_NAME, 'input');
|
|
@@ -27,7 +34,7 @@ const fieldId = getFieldId(INPUT_NAME, 'input');
|
|
|
27
34
|
type ExternalPlatformDropdownProps = {
|
|
28
35
|
showOciOption: boolean;
|
|
29
36
|
onChange: (selectedPlatform: PlatformType) => void;
|
|
30
|
-
cpuArchitecture?:
|
|
37
|
+
cpuArchitecture?: SupportedCpuArchitecture;
|
|
31
38
|
featureSupportLevelData: NewFeatureSupportLevelMap | null;
|
|
32
39
|
isSNO: boolean;
|
|
33
40
|
};
|
|
@@ -43,7 +50,7 @@ const getDisabledReasonForExternalPlatform = (
|
|
|
43
50
|
newFeatureSupportLevelContext: NewFeatureSupportLevelData,
|
|
44
51
|
platform: PlatformType,
|
|
45
52
|
featureSupportLevelData?: NewFeatureSupportLevelMap | null,
|
|
46
|
-
cpuArchitecture?:
|
|
53
|
+
cpuArchitecture?: SupportedCpuArchitecture,
|
|
47
54
|
): string | undefined => {
|
|
48
55
|
if (!isSNO) {
|
|
49
56
|
return newFeatureSupportLevelContext.getFeatureDisabledReason(
|
|
@@ -66,7 +73,7 @@ const getExternalPlatformTypes = (
|
|
|
66
73
|
isSNO: boolean,
|
|
67
74
|
newFeatureSupportLevelContext: NewFeatureSupportLevelData,
|
|
68
75
|
featureSupportLevelData?: NewFeatureSupportLevelMap | null,
|
|
69
|
-
cpuArchitecture?:
|
|
76
|
+
cpuArchitecture?: SupportedCpuArchitecture,
|
|
70
77
|
): Partial<{ [key in PlatformType]: ExternalPlatformInfo }> => {
|
|
71
78
|
const platforms = ['none', 'nutanix', showOciOption && 'oci', 'vsphere'] as PlatformType[];
|
|
72
79
|
|
|
@@ -111,7 +118,7 @@ export const ExternalPlatformDropdown = ({
|
|
|
111
118
|
>({});
|
|
112
119
|
|
|
113
120
|
const tooltipDropdownDisabled = `Platform integration is not supported when ${
|
|
114
|
-
cpuArchitecture
|
|
121
|
+
cpuArchitecture ? architectureData[cpuArchitecture].label : ''
|
|
115
122
|
} is selected`;
|
|
116
123
|
|
|
117
124
|
const handleClick = (event: MouseEvent<HTMLButtonElement>, href: string) => {
|
|
@@ -142,8 +142,9 @@ const AssistedInstallerDetailCard = ({
|
|
|
142
142
|
<NewFeatureSupportLevelProvider
|
|
143
143
|
loadingUi={<LoadingCard />}
|
|
144
144
|
cluster={cluster}
|
|
145
|
-
cpuArchitecture={infraEnv.cpuArchitecture}
|
|
145
|
+
cpuArchitecture={infraEnv.cpuArchitecture as CpuArchitecture}
|
|
146
146
|
openshiftVersion={cluster.openshiftVersion}
|
|
147
|
+
platformType={cluster.platform?.type}
|
|
147
148
|
>
|
|
148
149
|
{content}
|
|
149
150
|
</NewFeatureSupportLevelProvider>
|
|
@@ -45,8 +45,9 @@ const AssistedInstallerExtraDetailCard: React.FC<AssistedInstallerExtraDetailCar
|
|
|
45
45
|
<NewFeatureSupportLevelProvider
|
|
46
46
|
loadingUi={<div />}
|
|
47
47
|
cluster={cluster}
|
|
48
|
-
cpuArchitecture={infraEnv?.cpuArchitecture}
|
|
48
|
+
cpuArchitecture={infraEnv?.cpuArchitecture as CpuArchitecture}
|
|
49
49
|
openshiftVersion={cluster.openshiftVersion}
|
|
50
|
+
platformType={cluster.platform?.type}
|
|
50
51
|
>
|
|
51
52
|
<Grid className="pf-u-mt-md">
|
|
52
53
|
<ClusterProperties cluster={cluster} externalMode />
|
|
@@ -10,11 +10,12 @@ import {
|
|
|
10
10
|
|
|
11
11
|
import { useDefaultConfiguration } from '../clusterConfiguration/ClusterDefaultConfigurationContext';
|
|
12
12
|
import { ExternalLinkAltIcon } from '@patternfly/react-icons';
|
|
13
|
-
import { calculateClusterDateDiff } from '../../../common/
|
|
13
|
+
import { calculateClusterDateDiff } from '../../../common/services/DateAndTime';
|
|
14
14
|
import { isInOcm } from '../../api';
|
|
15
15
|
import { ExternalPlatformLinks } from '../clusterConfiguration/platformIntegration/constants';
|
|
16
16
|
import { useNewFeatureSupportLevel } from '../../../common/components/newFeatureSupportLevels';
|
|
17
17
|
import { Cluster, PlatformType } from '@openshift-assisted/types/assisted-installer-service';
|
|
18
|
+
import PostInstallAlert from '../../../common/components/clusterDetail/PostInstallAlert';
|
|
18
19
|
|
|
19
20
|
type ClusterDetailStatusMessagesProps = {
|
|
20
21
|
cluster: Cluster;
|
|
@@ -76,22 +77,7 @@ const ClusterDetailStatusMessages = ({
|
|
|
76
77
|
}
|
|
77
78
|
/>
|
|
78
79
|
</RenderIf>
|
|
79
|
-
<
|
|
80
|
-
<Alert
|
|
81
|
-
variant="warning"
|
|
82
|
-
isInline
|
|
83
|
-
data-testid="alert-modify-platform-config"
|
|
84
|
-
title={
|
|
85
|
-
<p>
|
|
86
|
-
Modify your platform configuration to access your platform's features directly in
|
|
87
|
-
OpenShift.{' '}
|
|
88
|
-
<a href={platformLink} target="_blank" rel="noopener noreferrer">
|
|
89
|
-
Learn more about configuration <i className="fas fa-external-link-alt" />
|
|
90
|
-
</a>
|
|
91
|
-
</p>
|
|
92
|
-
}
|
|
93
|
-
/>
|
|
94
|
-
</RenderIf>
|
|
80
|
+
{platformLink && <PostInstallAlert link={platformLink} />}
|
|
95
81
|
</>
|
|
96
82
|
);
|
|
97
83
|
};
|