@openshift-assisted/ui-lib 2.9.8-cim → 2.9.10-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/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/ScaleUpForm.d.ts +1 -0
- package/build/@types/cim/components/ClusterDeployment/ScaleUpForm.d.ts.map +1 -1
- package/build/@types/cim/components/InfraEnv/utils.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/ScaleUpModal.d.ts +1 -0
- package/build/@types/cim/components/modals/ScaleUpModal.d.ts.map +1 -1
- package/build/@types/cim/types/k8s/agent-cluster-install.d.ts +1 -1
- package/build/@types/cim/types/k8s/agent-cluster-install.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/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/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/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/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/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.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/types/cpuArchitecture.d.ts +1 -1
- package/build/@types/common/types/cpuArchitecture.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 +3 -2
- 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/NetworkConfigurationForm.d.ts.map +1 -1
- package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.d.ts +1 -1
- package/build/@types/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.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/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 +4 -4
- 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/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/ScaleUpForm.js +7 -4
- package/build/cjs/cim/components/ClusterDeployment/ScaleUpForm.js.map +1 -1
- package/build/cjs/cim/components/InfraEnv/utils.js +6 -6
- package/build/cjs/cim/components/InfraEnv/utils.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/ScaleUpModal.js +2 -2
- package/build/cjs/cim/components/modals/ScaleUpModal.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/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/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/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/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/index.js +3 -1
- package/build/cjs/common/components/ui/index.js.map +1 -1
- package/build/cjs/common/config/constants.js +1 -0
- 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/types/cpuArchitecture.js +5 -9
- package/build/cjs/common/types/cpuArchitecture.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 +3 -20
- 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/NetworkConfigurationForm.js +4 -1
- package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/NetworkConfigurationForm.js.map +1 -1
- package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.js +5 -2
- package/build/cjs/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.js.map +1 -1
- package/build/cjs/ocm/components/clusterDetail/ClusterDetailStatusMessages.js +2 -7
- 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/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 +34 -1
- 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 -5
- 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/ClusterDeploymentDetailsStep.tsx +17 -5
- package/lib/cim/components/ClusterDeployment/ClusterDetailsFormFields.tsx +9 -2
- package/lib/cim/components/ClusterDeployment/ScaleUpForm.tsx +11 -5
- package/lib/cim/components/InfraEnv/utils.ts +7 -6
- package/lib/cim/components/helpers/versions.ts +5 -0
- package/lib/cim/components/modals/ScaleUpModal.tsx +3 -0
- package/lib/cim/types/k8s/agent-cluster-install.ts +4 -7
- 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/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/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/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/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/index.ts +1 -0
- package/lib/common/config/constants.ts +1 -0
- package/lib/common/features/featureGate.tsx +0 -4
- package/lib/common/types/cpuArchitecture.ts +3 -8
- 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 +4 -36
- package/lib/ocm/components/HostsClusterDetailTab/HostsClusterDetailTabContentErrors.tsx +1 -15
- package/lib/ocm/components/clusterConfiguration/CpuArchitectureDropdown.tsx +58 -3
- 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 +4 -5
- 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/NetworkConfigurationForm.tsx +7 -2
- package/lib/ocm/components/clusterConfiguration/networkConfiguration/networkConfigurationValidation.ts +6 -1
- package/lib/ocm/components/clusterDetail/ClusterDetailStatusMessages.tsx +2 -16
- 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/hooks/index.ts +1 -0
- package/lib/ocm/hooks/useOpenshiftVersions.tsx +1 -15
- package/lib/ocm/hooks/useSupportLevelsAPI.ts +54 -2
- package/lib/ocm/hooks/useUISettings.ts +71 -0
- package/lib/ocm/services/ClusterDetailsService.ts +3 -5
- 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 +8 -4
|
@@ -18,9 +18,9 @@ import {
|
|
|
18
18
|
useAlerts,
|
|
19
19
|
} from '../../../common';
|
|
20
20
|
import useSetClusterPermissions from '../../hooks/useSetClusterPermissions';
|
|
21
|
-
import useClusterCustomManifests from '../../hooks/useClusterCustomManifests';
|
|
22
|
-
import { ListManifestsExtended } from '../clusterConfiguration/manifestsConfiguration/data/dataTypes';
|
|
23
21
|
import { Cluster, InfraEnv } from '@openshift-assisted/types/assisted-installer-service';
|
|
22
|
+
import { useUISettings } from '../../hooks';
|
|
23
|
+
import { AlertVariant } from '@patternfly/react-core';
|
|
24
24
|
|
|
25
25
|
const addStepToClusterWizard = (
|
|
26
26
|
wizardStepIds: ClusterWizardStepsType[],
|
|
@@ -52,7 +52,7 @@ const removeStepFromClusterWizard = (
|
|
|
52
52
|
const getWizardStepIds = (
|
|
53
53
|
wizardStepIds: ClusterWizardStepsType[] | undefined,
|
|
54
54
|
staticIpView?: StaticIpView | 'dhcp-selected',
|
|
55
|
-
|
|
55
|
+
customManifestsStep?: boolean,
|
|
56
56
|
isSingleClusterFeatureEnabled?: boolean,
|
|
57
57
|
): ClusterWizardStepsType[] => {
|
|
58
58
|
let stepsCopy = wizardStepIds ? [...wizardStepIds] : [...defaultWizardSteps];
|
|
@@ -66,7 +66,7 @@ const getWizardStepIds = (
|
|
|
66
66
|
stepsCopy = removeStepFromClusterWizard(stepsCopy, 'static-ip-network-wide-configurations', 2);
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
if (
|
|
69
|
+
if (customManifestsStep) {
|
|
70
70
|
stepsCopy = addStepToClusterWizard(stepsCopy, 'networking', ['custom-manifests']);
|
|
71
71
|
} else {
|
|
72
72
|
stepsCopy = removeStepFromClusterWizard(stepsCopy, 'custom-manifests', 1);
|
|
@@ -79,12 +79,6 @@ const getWizardStepIds = (
|
|
|
79
79
|
return stepsCopy;
|
|
80
80
|
};
|
|
81
81
|
|
|
82
|
-
const validateIfCustomsManifestsNeedToBeFilled = (
|
|
83
|
-
customManifests: ListManifestsExtended | undefined,
|
|
84
|
-
): boolean => {
|
|
85
|
-
return (customManifests || []).some((customManifest) => customManifest.yamlContent === '');
|
|
86
|
-
};
|
|
87
|
-
|
|
88
82
|
const ClusterWizardContextProvider = ({
|
|
89
83
|
children,
|
|
90
84
|
cluster,
|
|
@@ -95,48 +89,71 @@ const ClusterWizardContextProvider = ({
|
|
|
95
89
|
infraEnv?: InfraEnv;
|
|
96
90
|
permissions?: AssistedInstallerOCMPermissionTypesListType;
|
|
97
91
|
}>) => {
|
|
92
|
+
const isSingleClusterFeatureEnabled = useFeature('ASSISTED_INSTALLER_SINGLE_CLUSTER_FEATURE');
|
|
98
93
|
const [currentStepId, setCurrentStepId] = React.useState<ClusterWizardStepsType>();
|
|
99
94
|
const [wizardStepIds, setWizardStepIds] = React.useState<ClusterWizardStepsType[]>();
|
|
100
|
-
const [
|
|
95
|
+
const [wizardPerPage, setWizardPerPage] = React.useState(10);
|
|
96
|
+
const [customManifestsStep, setCustomManifestsStep] = React.useState<boolean>(false);
|
|
101
97
|
const { state: locationState } = useLocation<ClusterWizardFlowStateType>();
|
|
102
|
-
const {
|
|
98
|
+
const {
|
|
99
|
+
uiSettings,
|
|
100
|
+
updateUISettings,
|
|
101
|
+
loading: UISettingsLoading,
|
|
102
|
+
error: UISettingsError,
|
|
103
|
+
} = useUISettings(cluster?.id);
|
|
104
|
+
const { clearAlerts, addAlert, alerts } = useAlerts();
|
|
103
105
|
const setClusterPermissions = useSetClusterPermissions();
|
|
104
|
-
const isSingleClusterFeatureEnabled = useFeature('ASSISTED_INSTALLER_SINGLE_CLUSTER_FEATURE');
|
|
105
|
-
const { clearAlerts } = useAlerts();
|
|
106
|
-
const [wizardPerPage, setWizardPerPage] = React.useState(10);
|
|
107
106
|
|
|
108
107
|
React.useEffect(() => {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
108
|
+
if (!UISettingsLoading) {
|
|
109
|
+
const staticIpInfo = infraEnv ? getStaticIpInfo(infraEnv) : undefined;
|
|
110
|
+
const customManifestsStepEnabled = !!uiSettings?.addCustomManifests;
|
|
111
|
+
const customManifestsStepNeedsToBeFilled = !!(
|
|
112
|
+
uiSettings?.addCustomManifests && !uiSettings?.customManifestsAdded
|
|
113
|
+
);
|
|
114
|
+
|
|
115
|
+
const requiredStepId = getClusterWizardFirstStep(
|
|
116
|
+
locationState,
|
|
117
|
+
staticIpInfo,
|
|
118
|
+
cluster?.status,
|
|
119
|
+
cluster?.hosts,
|
|
120
|
+
isSingleClusterFeatureEnabled,
|
|
121
|
+
customManifestsStepNeedsToBeFilled,
|
|
122
|
+
);
|
|
123
|
+
|
|
124
|
+
const firstStepIds = getWizardStepIds(
|
|
125
|
+
wizardStepIds,
|
|
126
|
+
staticIpInfo?.view,
|
|
127
|
+
customManifestsStepEnabled,
|
|
128
|
+
isSingleClusterFeatureEnabled,
|
|
129
|
+
);
|
|
130
|
+
|
|
131
|
+
// Only move step if there is still none, or the user is at a forbidden step
|
|
132
|
+
if (
|
|
133
|
+
!currentStepId ||
|
|
134
|
+
(customManifestsStepNeedsToBeFilled && isStepAfter(currentStepId, requiredStepId))
|
|
135
|
+
) {
|
|
136
|
+
setCurrentStepId(requiredStepId);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
setWizardStepIds(firstStepIds);
|
|
140
|
+
setClusterPermissions(cluster, permissions);
|
|
141
|
+
setCustomManifestsStep(!!uiSettings?.addCustomManifests);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
if (
|
|
145
|
+
!!UISettingsError &&
|
|
146
|
+
!alerts.some((alert) => alert.title === "Couldn't retrieve UI settings")
|
|
147
|
+
) {
|
|
148
|
+
addAlert({
|
|
149
|
+
title: "Couldn't retrieve UI settings",
|
|
150
|
+
message: UISettingsError,
|
|
151
|
+
variant: AlertVariant.warning,
|
|
152
|
+
});
|
|
133
153
|
}
|
|
134
154
|
|
|
135
|
-
setWizardStepIds(firstStepIds);
|
|
136
|
-
setClusterPermissions(cluster, permissions);
|
|
137
|
-
setAddCustomManifests(hasManifests);
|
|
138
155
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
139
|
-
}, [
|
|
156
|
+
}, [uiSettings, UISettingsLoading, UISettingsError]);
|
|
140
157
|
|
|
141
158
|
const contextValue = React.useMemo<ClusterWizardContextType | null>(() => {
|
|
142
159
|
if (!wizardStepIds || !currentStepId) {
|
|
@@ -152,7 +169,7 @@ const ClusterWizardContextProvider = ({
|
|
|
152
169
|
const newStepIds = getWizardStepIds(
|
|
153
170
|
wizardStepIds,
|
|
154
171
|
staticIpInfo.view,
|
|
155
|
-
|
|
172
|
+
customManifestsStep,
|
|
156
173
|
isSingleClusterFeatureEnabled,
|
|
157
174
|
);
|
|
158
175
|
setWizardStepIds(newStepIds);
|
|
@@ -165,8 +182,8 @@ const ClusterWizardContextProvider = ({
|
|
|
165
182
|
setCurrentStepId(stepId);
|
|
166
183
|
};
|
|
167
184
|
|
|
168
|
-
const
|
|
169
|
-
|
|
185
|
+
const onSetAddCustomManifestsStep = (addCustomManifest: boolean) => {
|
|
186
|
+
setCustomManifestsStep(addCustomManifest);
|
|
170
187
|
setWizardStepIds(
|
|
171
188
|
getWizardStepIds(
|
|
172
189
|
wizardStepIds,
|
|
@@ -199,7 +216,7 @@ const ClusterWizardContextProvider = ({
|
|
|
199
216
|
setCurrentStepId('static-ip-network-wide-configurations');
|
|
200
217
|
}
|
|
201
218
|
setWizardStepIds(
|
|
202
|
-
getWizardStepIds(wizardStepIds, view,
|
|
219
|
+
getWizardStepIds(wizardStepIds, view, customManifestsStep, isSingleClusterFeatureEnabled),
|
|
203
220
|
);
|
|
204
221
|
},
|
|
205
222
|
onUpdateHostNetworkConfigType(type: HostsNetworkConfigurationType): void {
|
|
@@ -208,7 +225,7 @@ const ClusterWizardContextProvider = ({
|
|
|
208
225
|
getWizardStepIds(
|
|
209
226
|
wizardStepIds,
|
|
210
227
|
StaticIpView.FORM,
|
|
211
|
-
|
|
228
|
+
customManifestsStep,
|
|
212
229
|
isSingleClusterFeatureEnabled,
|
|
213
230
|
),
|
|
214
231
|
);
|
|
@@ -217,7 +234,7 @@ const ClusterWizardContextProvider = ({
|
|
|
217
234
|
getWizardStepIds(
|
|
218
235
|
wizardStepIds,
|
|
219
236
|
'dhcp-selected',
|
|
220
|
-
|
|
237
|
+
customManifestsStep,
|
|
221
238
|
isSingleClusterFeatureEnabled,
|
|
222
239
|
),
|
|
223
240
|
);
|
|
@@ -226,25 +243,29 @@ const ClusterWizardContextProvider = ({
|
|
|
226
243
|
wizardStepIds,
|
|
227
244
|
currentStepId,
|
|
228
245
|
setCurrentStepId: onSetCurrentStepId,
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
customManifests,
|
|
246
|
+
customManifestsStep,
|
|
247
|
+
setCustomManifestsStep: onSetAddCustomManifestsStep,
|
|
232
248
|
wizardPerPage,
|
|
233
249
|
setWizardPerPage,
|
|
250
|
+
uiSettings,
|
|
251
|
+
updateUISettings,
|
|
234
252
|
};
|
|
235
253
|
}, [
|
|
236
254
|
wizardStepIds,
|
|
237
255
|
currentStepId,
|
|
238
256
|
infraEnv,
|
|
239
|
-
|
|
240
|
-
customManifests,
|
|
257
|
+
customManifestsStep,
|
|
241
258
|
wizardPerPage,
|
|
242
259
|
isSingleClusterFeatureEnabled,
|
|
243
260
|
clearAlerts,
|
|
261
|
+
uiSettings,
|
|
262
|
+
updateUISettings,
|
|
244
263
|
]);
|
|
264
|
+
|
|
245
265
|
if (!contextValue) {
|
|
246
266
|
return null;
|
|
247
267
|
}
|
|
268
|
+
|
|
248
269
|
return (
|
|
249
270
|
<>
|
|
250
271
|
<ClusterWizardContext.Provider value={contextValue}>{children}</ClusterWizardContext.Provider>
|
package/lib/ocm/hooks/index.ts
CHANGED
|
@@ -4,3 +4,4 @@ export { default as useUsedClusterNames } from './useUsedClusterNames';
|
|
|
4
4
|
export { default as useInfraEnvId } from './useInfraEnvId';
|
|
5
5
|
export { default as usePullSecret } from './usePullSecret';
|
|
6
6
|
export { default as useClusterPreflightRequirements } from './useClusterPreflightRequirements';
|
|
7
|
+
export { default as useUISettings } from './useUISettings';
|
|
@@ -3,17 +3,12 @@ import { CpuArchitecture, OpenshiftVersionOptionType } from '../../common';
|
|
|
3
3
|
import { getApiErrorMessage, handleApiError } from '../api';
|
|
4
4
|
import { SupportedOpenshiftVersionsAPI } from '../services/apis';
|
|
5
5
|
import { getKeys } from '../../common/utils';
|
|
6
|
-
import {
|
|
7
|
-
Cluster,
|
|
8
|
-
ImportClusterParams,
|
|
9
|
-
OpenshiftVersion,
|
|
10
|
-
} from '@openshift-assisted/types/assisted-installer-service';
|
|
6
|
+
import { Cluster, OpenshiftVersion } from '@openshift-assisted/types/assisted-installer-service';
|
|
11
7
|
|
|
12
8
|
type OpenShiftVersion = Cluster['openshiftVersion'];
|
|
13
9
|
|
|
14
10
|
type UseOpenshiftVersionsType = {
|
|
15
11
|
versions: OpenshiftVersionOptionType[];
|
|
16
|
-
normalizeClusterVersion: (version: OpenShiftVersion) => ImportClusterParams['openshiftVersion'];
|
|
17
12
|
isSupportedOpenShiftVersion: (version: OpenShiftVersion) => boolean;
|
|
18
13
|
getCpuArchitectures: (version: OpenShiftVersion) => CpuArchitecture[];
|
|
19
14
|
error?: { title: string; message: string };
|
|
@@ -72,14 +67,6 @@ export default function useOpenshiftVersions(): UseOpenshiftVersionsType {
|
|
|
72
67
|
}
|
|
73
68
|
}, []);
|
|
74
69
|
|
|
75
|
-
const normalizeClusterVersion = React.useCallback(
|
|
76
|
-
(version: OpenShiftVersion) => {
|
|
77
|
-
const matchingVersion = findVersionItemByVersion(version);
|
|
78
|
-
return matchingVersion?.value || version;
|
|
79
|
-
},
|
|
80
|
-
[findVersionItemByVersion],
|
|
81
|
-
);
|
|
82
|
-
|
|
83
70
|
const isSupportedOpenShiftVersion = React.useCallback(
|
|
84
71
|
(version: OpenShiftVersion) => {
|
|
85
72
|
if (versions.length === 0) {
|
|
@@ -109,7 +96,6 @@ export default function useOpenshiftVersions(): UseOpenshiftVersionsType {
|
|
|
109
96
|
error,
|
|
110
97
|
loading: !error && versions.length === 0,
|
|
111
98
|
versions,
|
|
112
|
-
normalizeClusterVersion,
|
|
113
99
|
isSupportedOpenShiftVersion,
|
|
114
100
|
getCpuArchitectures,
|
|
115
101
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { CpuArchitecture, useAlerts } from '../../common';
|
|
2
|
+
import { CpuArchitecture, SupportedCpuArchitecture, useAlerts } from '../../common';
|
|
3
3
|
import {
|
|
4
4
|
ArchitectureSupportLevelMap,
|
|
5
5
|
NewFeatureSupportLevelMap,
|
|
@@ -8,11 +8,13 @@ import { getApiErrorMessage, handleApiError } from '../api';
|
|
|
8
8
|
import NewFeatureSupportLevelsAPI from '../../common/api/assisted-service/NewFeatureSupportLevelsAPI';
|
|
9
9
|
import { PlatformType } from '@openshift-assisted/types/./assisted-installer-service';
|
|
10
10
|
|
|
11
|
-
type SupportLevelAPIResources = 'architectures' | 'features';
|
|
11
|
+
type SupportLevelAPIResources = 'architectures' | 'features' | 'featureForAllCpus';
|
|
12
12
|
type UseSupportLevelAPIResponse<T extends SupportLevelAPIResources> = T extends 'architectures'
|
|
13
13
|
? ArchitectureSupportLevelMap | null
|
|
14
14
|
: T extends 'features'
|
|
15
15
|
? NewFeatureSupportLevelMap | null
|
|
16
|
+
: T extends 'featureForAllCpus'
|
|
17
|
+
? Record<SupportedCpuArchitecture, NewFeatureSupportLevelMap | null> | null
|
|
16
18
|
: null;
|
|
17
19
|
|
|
18
20
|
export default function useSupportLevelsAPI<T extends SupportLevelAPIResources>(
|
|
@@ -20,10 +22,13 @@ export default function useSupportLevelsAPI<T extends SupportLevelAPIResources>(
|
|
|
20
22
|
openshiftVersion?: string,
|
|
21
23
|
cpuArchitecture?: CpuArchitecture,
|
|
22
24
|
platformType?: PlatformType,
|
|
25
|
+
supportedCpuArchitectures?: SupportedCpuArchitecture[],
|
|
23
26
|
): UseSupportLevelAPIResponse<T> | null {
|
|
24
27
|
const [cpuArchitectures, setCpuArchitectures] =
|
|
25
28
|
React.useState<ArchitectureSupportLevelMap | null>(null);
|
|
26
29
|
const [features, setFeatures] = React.useState<NewFeatureSupportLevelMap | null>(null);
|
|
30
|
+
const [supportLevelData, setSupportLevelData] =
|
|
31
|
+
React.useState<Record<SupportedCpuArchitecture, NewFeatureSupportLevelMap | null>>();
|
|
27
32
|
const { addAlert } = useAlerts();
|
|
28
33
|
|
|
29
34
|
const fetchArchitecturesSupportLevels = React.useCallback(
|
|
@@ -72,10 +77,53 @@ export default function useSupportLevelsAPI<T extends SupportLevelAPIResources>(
|
|
|
72
77
|
[addAlert],
|
|
73
78
|
);
|
|
74
79
|
|
|
80
|
+
const fetchFeaturesSupportLevelsForAllCpuArchs = React.useCallback(
|
|
81
|
+
async (
|
|
82
|
+
supportedCpuArchitectures: SupportedCpuArchitecture[],
|
|
83
|
+
openshiftVersion: string,
|
|
84
|
+
platformType?: PlatformType,
|
|
85
|
+
) => {
|
|
86
|
+
try {
|
|
87
|
+
const data: Record<SupportedCpuArchitecture, NewFeatureSupportLevelMap | null> = {
|
|
88
|
+
x86_64: null,
|
|
89
|
+
arm64: null,
|
|
90
|
+
ppc64le: null,
|
|
91
|
+
s390x: null,
|
|
92
|
+
};
|
|
93
|
+
if (supportedCpuArchitectures) {
|
|
94
|
+
for (const cpuArch of supportedCpuArchitectures) {
|
|
95
|
+
const { data: features } = await NewFeatureSupportLevelsAPI.featuresSupportLevel(
|
|
96
|
+
openshiftVersion,
|
|
97
|
+
cpuArch,
|
|
98
|
+
platformType,
|
|
99
|
+
);
|
|
100
|
+
data[cpuArch] = features.features;
|
|
101
|
+
}
|
|
102
|
+
setSupportLevelData(data);
|
|
103
|
+
}
|
|
104
|
+
} catch (e) {
|
|
105
|
+
handleApiError(e, () =>
|
|
106
|
+
addAlert({
|
|
107
|
+
title: 'Failed to retrieve feature support levels',
|
|
108
|
+
message: getApiErrorMessage(e),
|
|
109
|
+
}),
|
|
110
|
+
);
|
|
111
|
+
setFeatures(null);
|
|
112
|
+
}
|
|
113
|
+
},
|
|
114
|
+
[addAlert],
|
|
115
|
+
);
|
|
116
|
+
|
|
75
117
|
React.useEffect(() => {
|
|
76
118
|
if (openshiftVersion) {
|
|
77
119
|
if (resourceKind === 'architectures') {
|
|
78
120
|
void fetchArchitecturesSupportLevels(openshiftVersion);
|
|
121
|
+
} else if (resourceKind === 'featureForAllCpus' && supportedCpuArchitectures) {
|
|
122
|
+
void fetchFeaturesSupportLevelsForAllCpuArchs(
|
|
123
|
+
supportedCpuArchitectures,
|
|
124
|
+
openshiftVersion,
|
|
125
|
+
platformType,
|
|
126
|
+
);
|
|
79
127
|
} else {
|
|
80
128
|
void fetchFeaturesSupportLevels(openshiftVersion, cpuArchitecture, platformType);
|
|
81
129
|
}
|
|
@@ -87,10 +135,14 @@ export default function useSupportLevelsAPI<T extends SupportLevelAPIResources>(
|
|
|
87
135
|
fetchFeaturesSupportLevels,
|
|
88
136
|
resourceKind,
|
|
89
137
|
platformType,
|
|
138
|
+
supportedCpuArchitectures,
|
|
139
|
+
fetchFeaturesSupportLevelsForAllCpuArchs,
|
|
90
140
|
]);
|
|
91
141
|
|
|
92
142
|
if (resourceKind === 'architectures') {
|
|
93
143
|
return cpuArchitectures as UseSupportLevelAPIResponse<T>;
|
|
144
|
+
} else if (resourceKind === 'featureForAllCpus') {
|
|
145
|
+
return supportLevelData as UseSupportLevelAPIResponse<T>;
|
|
94
146
|
} else {
|
|
95
147
|
return features as UseSupportLevelAPIResponse<T>;
|
|
96
148
|
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Cluster } from '@openshift-assisted/types/./assisted-installer-service';
|
|
3
|
+
import { UISettingService, UISettingsValues } from '../services';
|
|
4
|
+
import { ClustersAPI } from '../services/apis';
|
|
5
|
+
|
|
6
|
+
const useUISettings = (clusterId?: Cluster['id']) => {
|
|
7
|
+
const [uiSettings, setUISettings] = React.useState<UISettingsValues>();
|
|
8
|
+
const [loading, setLoading] = React.useState(true);
|
|
9
|
+
const [error, setError] = React.useState<string>('');
|
|
10
|
+
|
|
11
|
+
const updateUISettings = React.useCallback(
|
|
12
|
+
async (newSettings: UISettingsValues) => {
|
|
13
|
+
if (clusterId) {
|
|
14
|
+
const updatedSettings = { ...uiSettings, ...newSettings };
|
|
15
|
+
try {
|
|
16
|
+
await UISettingService.update(clusterId, updatedSettings);
|
|
17
|
+
setUISettings(updatedSettings);
|
|
18
|
+
} catch (e) {
|
|
19
|
+
throw new Error();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
[clusterId, uiSettings],
|
|
24
|
+
);
|
|
25
|
+
|
|
26
|
+
React.useEffect(() => {
|
|
27
|
+
const handleUISettingsError = async () => {
|
|
28
|
+
if (clusterId) {
|
|
29
|
+
try {
|
|
30
|
+
const { data: customManifests } = await ClustersAPI.getManifests(clusterId);
|
|
31
|
+
|
|
32
|
+
const mockUISettings: UISettingsValues = {
|
|
33
|
+
addCustomManifests: !!customManifests.length,
|
|
34
|
+
customManifestsAdded: !!customManifests.length,
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
setUISettings(mockUISettings);
|
|
38
|
+
} catch (error) {
|
|
39
|
+
setError('Failed to retrieve cluster custom manifests information');
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
const fetchUISettings = async () => {
|
|
45
|
+
if (clusterId) {
|
|
46
|
+
try {
|
|
47
|
+
const settings = await UISettingService.fetch(clusterId);
|
|
48
|
+
setUISettings(settings);
|
|
49
|
+
} catch (e) {
|
|
50
|
+
await handleUISettingsError();
|
|
51
|
+
}
|
|
52
|
+
} else {
|
|
53
|
+
setUISettings({});
|
|
54
|
+
}
|
|
55
|
+
setLoading(false);
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
if (!uiSettings) {
|
|
59
|
+
void fetchUISettings();
|
|
60
|
+
}
|
|
61
|
+
}, [clusterId, setUISettings, uiSettings]);
|
|
62
|
+
|
|
63
|
+
const returnValue = React.useMemo(
|
|
64
|
+
() => ({ uiSettings, loading, error, updateUISettings }),
|
|
65
|
+
[uiSettings, loading, error, updateUISettings],
|
|
66
|
+
);
|
|
67
|
+
|
|
68
|
+
return returnValue;
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export default useUISettings;
|
|
@@ -47,10 +47,6 @@ const ClusterDetailsService = {
|
|
|
47
47
|
},
|
|
48
48
|
};
|
|
49
49
|
|
|
50
|
-
if (!values.isCMNSupported) {
|
|
51
|
-
params.userManagedNetworking = true;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
50
|
if (values.hostsNetworkConfigurationType === HostsNetworkConfigurationType.STATIC) {
|
|
55
51
|
params.staticNetworkConfig = getDummyInfraEnvField();
|
|
56
52
|
}
|
|
@@ -92,6 +88,7 @@ const ClusterDetailsService = {
|
|
|
92
88
|
cluster,
|
|
93
89
|
infraEnv,
|
|
94
90
|
urlSearchParams,
|
|
91
|
+
addCustomManifests,
|
|
95
92
|
...args
|
|
96
93
|
}: {
|
|
97
94
|
cluster?: Cluster;
|
|
@@ -100,6 +97,7 @@ const ClusterDetailsService = {
|
|
|
100
97
|
managedDomains: ManagedDomain[];
|
|
101
98
|
ocpVersions: OpenshiftVersionOptionType[];
|
|
102
99
|
urlSearchParams: string;
|
|
100
|
+
addCustomManifests?: boolean;
|
|
103
101
|
}): OcmClusterDetailsValues {
|
|
104
102
|
const values = getClusterDetailsInitialValues({
|
|
105
103
|
cluster,
|
|
@@ -118,7 +116,7 @@ const ClusterDetailsService = {
|
|
|
118
116
|
...values,
|
|
119
117
|
cpuArchitecture,
|
|
120
118
|
hostsNetworkConfigurationType,
|
|
121
|
-
addCustomManifest:
|
|
119
|
+
addCustomManifest: !!addCustomManifests,
|
|
122
120
|
isCMNSupported: true,
|
|
123
121
|
};
|
|
124
122
|
},
|
|
@@ -11,7 +11,6 @@ import {
|
|
|
11
11
|
} from '../components/clusterConfiguration/manifestsConfiguration/data/dataTypes';
|
|
12
12
|
import {
|
|
13
13
|
Cluster,
|
|
14
|
-
CreateManifestParams,
|
|
15
14
|
Host,
|
|
16
15
|
InfraEnvCreateParams,
|
|
17
16
|
UpdateManifestParams,
|
|
@@ -138,15 +137,6 @@ const ClustersService = {
|
|
|
138
137
|
return Promise.all(promises);
|
|
139
138
|
},
|
|
140
139
|
|
|
141
|
-
createDummyManifest(clusterId: Cluster['id']) {
|
|
142
|
-
const dummyManifest: CreateManifestParams = {
|
|
143
|
-
folder: 'manifests' as 'manifests' | 'openshift',
|
|
144
|
-
fileName: 'manifest1.yaml',
|
|
145
|
-
content: '',
|
|
146
|
-
};
|
|
147
|
-
return ClustersAPI.createCustomManifest(clusterId, dummyManifest);
|
|
148
|
-
},
|
|
149
|
-
|
|
150
140
|
updateCustomManifest(
|
|
151
141
|
existingManifest: CustomManifestValues,
|
|
152
142
|
updatedManifest: CustomManifestValues,
|
|
@@ -3,7 +3,11 @@ import { ClustersAPI } from './apis';
|
|
|
3
3
|
import { CpuArchitecture, SupportedCpuArchitecture } from '../../common';
|
|
4
4
|
import { OcmClusterType } from '../components/AddHosts/types';
|
|
5
5
|
import { mapOcmArchToCpuArchitecture } from './CpuArchitectureService';
|
|
6
|
-
import {
|
|
6
|
+
import {
|
|
7
|
+
Cluster,
|
|
8
|
+
Platform,
|
|
9
|
+
PlatformType,
|
|
10
|
+
} from '@openshift-assisted/types/assisted-installer-service';
|
|
7
11
|
|
|
8
12
|
export const getApiVipDnsName = (ocmCluster: OcmClusterType) => {
|
|
9
13
|
let apiVipDnsname = '';
|
|
@@ -30,12 +34,20 @@ export const getApiVipDnsName = (ocmCluster: OcmClusterType) => {
|
|
|
30
34
|
return { apiVipDnsname, errorType: apiVipDnsname ? '' : urlType };
|
|
31
35
|
};
|
|
32
36
|
|
|
37
|
+
export const mapCloudProviderToPlatformType = (cloudProviderId?: string) => {
|
|
38
|
+
const platformType = cloudProviderId === 'external' ? 'oci' : cloudProviderId;
|
|
39
|
+
const platform: Platform = {
|
|
40
|
+
type: (platformType as PlatformType) || 'baremetal',
|
|
41
|
+
};
|
|
42
|
+
return platform;
|
|
43
|
+
};
|
|
44
|
+
|
|
33
45
|
const Day2ClusterService = {
|
|
34
46
|
getOpenshiftClusterId(ocmCluster?: OcmClusterType) {
|
|
35
47
|
return ocmCluster && ocmCluster.external_id;
|
|
36
48
|
},
|
|
37
49
|
|
|
38
|
-
async fetchCluster(ocmCluster: OcmClusterType, pullSecret: string
|
|
50
|
+
async fetchCluster(ocmCluster: OcmClusterType, pullSecret: string) {
|
|
39
51
|
const openshiftClusterId = Day2ClusterService.getOpenshiftClusterId(ocmCluster);
|
|
40
52
|
|
|
41
53
|
if (!openshiftClusterId) {
|
|
@@ -53,7 +65,7 @@ const Day2ClusterService = {
|
|
|
53
65
|
ocmCluster.display_name || ocmCluster.name || openshiftClusterId,
|
|
54
66
|
getApiVipDnsName(ocmCluster).apiVipDnsname,
|
|
55
67
|
pullSecret,
|
|
56
|
-
|
|
68
|
+
ocmCluster.openshift_version,
|
|
57
69
|
mapOcmArchToCpuArchitecture(ocmCluster.cpu_architecture) || CpuArchitecture.x86,
|
|
58
70
|
);
|
|
59
71
|
},
|
|
@@ -69,6 +81,7 @@ const Day2ClusterService = {
|
|
|
69
81
|
if (day2Clusters.length > 0) {
|
|
70
82
|
return day2Clusters[0].id;
|
|
71
83
|
}
|
|
84
|
+
|
|
72
85
|
return undefined;
|
|
73
86
|
},
|
|
74
87
|
|
|
@@ -117,6 +130,7 @@ const Day2ClusterService = {
|
|
|
117
130
|
// The field "cpu_architecture" is calculated based on the existing hosts' architecture
|
|
118
131
|
// It can be a specific architecture, or "multi" if hosts from several architectures have been discovered
|
|
119
132
|
cpuArchitecture: mapOcmArchToCpuArchitecture(ocmCluster.cpu_architecture),
|
|
133
|
+
platform: mapCloudProviderToPlatformType(ocmCluster.cloud_provider?.id),
|
|
120
134
|
};
|
|
121
135
|
}
|
|
122
136
|
return treakedCluster;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Cluster } from '@openshift-assisted/types/./assisted-installer-service';
|
|
2
|
+
import { UISettingsAPI } from '../../common/api/assisted-service';
|
|
3
|
+
import { UISettingsValues } from './types';
|
|
4
|
+
|
|
5
|
+
const PREFIX_LENGHT = 6;
|
|
6
|
+
|
|
7
|
+
const UISettingService = {
|
|
8
|
+
async fetch(clusterId: Cluster['id']) {
|
|
9
|
+
const { data } = await UISettingsAPI.get(clusterId);
|
|
10
|
+
return (data.length ? JSON.parse(data.slice(PREFIX_LENGHT)) : {}) as UISettingsValues;
|
|
11
|
+
},
|
|
12
|
+
update(clusterId: Cluster['id'], data: UISettingsValues) {
|
|
13
|
+
return UISettingsAPI.put(clusterId, `AI_UI:${JSON.stringify(data)}`);
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export default UISettingService;
|
|
@@ -7,5 +7,6 @@ export { default as DiscoveryImageFormService } from './DiscoveryImageFormServic
|
|
|
7
7
|
export { default as DiskEncryptionService } from './DiskEncryptionService';
|
|
8
8
|
export { default as OperatorsService } from './OperatorsService';
|
|
9
9
|
export { default as NewFeatureSupportLevelsService } from './NewFeatureSupportLevelsService';
|
|
10
|
+
export { default as UISettingService } from './UISettingsService';
|
|
10
11
|
export * from './types';
|
|
11
12
|
export * as APIs from './apis';
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"dependencies": {
|
|
3
|
-
"@openshift-assisted/locales": "2.9.
|
|
4
|
-
"@openshift-assisted/types": "2.9.
|
|
3
|
+
"@openshift-assisted/locales": "2.9.10-cim",
|
|
4
|
+
"@openshift-assisted/types": "2.9.10-cim",
|
|
5
5
|
"axios-case-converter": "^0.11.1",
|
|
6
6
|
"camel-case": "^4.1.2",
|
|
7
7
|
"cidr-tools": "^4.3.0",
|
|
@@ -115,7 +115,11 @@
|
|
|
115
115
|
"check_circular_deps": "yarn run -T dpdm --warning false --tree false --exit-code circular:1 ./lib/index.ts",
|
|
116
116
|
"check_types": "yarn run -T tsc --noEmit",
|
|
117
117
|
"clean": "yarn run -T rimraf node_modules build",
|
|
118
|
-
"copy:css": "rsync -Ruv lib/./**/*.css build/cjs"
|
|
118
|
+
"copy:css": "rsync -Ruv lib/./**/*.css build/cjs",
|
|
119
|
+
"format": "yarn run -T prettier --cache --check . \"!build\"",
|
|
120
|
+
"fix-code-style": "yarn lint --fix && yarn format --write",
|
|
121
|
+
"lint": "yarn run -T eslint --cache --cache-location node_modules/.cache/eslint/.eslint-cache .",
|
|
122
|
+
"test": "vitest"
|
|
119
123
|
},
|
|
120
124
|
"typesVersions": {
|
|
121
125
|
"*": {
|
|
@@ -127,5 +131,5 @@
|
|
|
127
131
|
]
|
|
128
132
|
}
|
|
129
133
|
},
|
|
130
|
-
"version": "2.9.
|
|
134
|
+
"version": "2.9.10-cim"
|
|
131
135
|
}
|