@openshift-assisted/ui-lib 2.9.8-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/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/helpers/versions.d.ts +1 -0
- package/build/@types/cim/components/helpers/versions.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/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/helpers/versions.js +3 -1
- package/build/cjs/cim/components/helpers/versions.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/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 -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/ClusterDeploymentDetailsStep.tsx +17 -5
- package/lib/cim/components/ClusterDeployment/ClusterDetailsFormFields.tsx +9 -2
- package/lib/cim/components/helpers/versions.ts +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/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/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 -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
|
@@ -8,18 +8,12 @@ import Day2DiscoveryImageModalButton from './day2Wizard/Day2DiscoveryImageModalB
|
|
|
8
8
|
import Day2Wizard from './day2Wizard/Day2Wizard';
|
|
9
9
|
import { Cluster } from '@openshift-assisted/types/assisted-installer-service';
|
|
10
10
|
|
|
11
|
-
const InventoryAddHosts = ({
|
|
12
|
-
cluster,
|
|
13
|
-
canSelectCpuArch,
|
|
14
|
-
}: {
|
|
15
|
-
cluster?: Cluster;
|
|
16
|
-
canSelectCpuArch?: boolean;
|
|
17
|
-
}) => {
|
|
11
|
+
const InventoryAddHosts = ({ cluster }: { cluster?: Cluster }) => {
|
|
18
12
|
if (!cluster) {
|
|
19
13
|
return null;
|
|
20
14
|
}
|
|
21
15
|
|
|
22
|
-
const showArmOnlyAlert =
|
|
16
|
+
const showArmOnlyAlert = cluster.cpuArchitecture === CpuArchitecture.ARM;
|
|
23
17
|
return (
|
|
24
18
|
<Stack hasGutter>
|
|
25
19
|
<StackItem>
|
|
@@ -12,7 +12,6 @@ import {
|
|
|
12
12
|
HOW_TO_KNOW_IF_CLUSTER_SUPPORTS_MULTIPLE_CPU_ARCHS,
|
|
13
13
|
LoadingState,
|
|
14
14
|
SupportedCpuArchitecture,
|
|
15
|
-
useFeature,
|
|
16
15
|
} from '../../../../common';
|
|
17
16
|
import { HostsNetworkConfigurationType, InfraEnvsService } from '../../../services';
|
|
18
17
|
import { useModalDialogsContext } from '../../hosts/ModalDialogsContext';
|
|
@@ -86,7 +85,6 @@ const Day2ClusterDetails = () => {
|
|
|
86
85
|
const [initialValues, setInitialValues] = React.useState<Day2ClusterDetailValues | null>(null);
|
|
87
86
|
const [isSubmitting, setSubmitting] = React.useState(false);
|
|
88
87
|
const [isAlternativeCpuSelected, setIsAlternativeCpuSelected] = React.useState(false);
|
|
89
|
-
const canSelectCpuArch = useFeature('ASSISTED_INSTALLER_MULTIARCH_SUPPORTED');
|
|
90
88
|
const { getCpuArchitectures } = useOpenshiftVersions();
|
|
91
89
|
const cpuArchitecturesByVersionImage = getCpuArchitectures(day2Cluster.openshiftVersion);
|
|
92
90
|
const day1CpuArchitecture = mapClusterCpuArchToInfraEnvCpuArch(day2Cluster.cpuArchitecture);
|
|
@@ -94,13 +92,8 @@ const Day2ClusterDetails = () => {
|
|
|
94
92
|
const pullSecret = usePullSecret();
|
|
95
93
|
|
|
96
94
|
const cpuArchitectures = React.useMemo(
|
|
97
|
-
() =>
|
|
98
|
-
|
|
99
|
-
canSelectCpuArch,
|
|
100
|
-
cpuArchitecturesByVersionImage,
|
|
101
|
-
day1CpuArchitecture,
|
|
102
|
-
),
|
|
103
|
-
[canSelectCpuArch, cpuArchitecturesByVersionImage, day1CpuArchitecture],
|
|
95
|
+
() => getSupportedCpuArchitectures(cpuArchitecturesByVersionImage, day1CpuArchitecture),
|
|
96
|
+
[cpuArchitecturesByVersionImage, day1CpuArchitecture],
|
|
104
97
|
);
|
|
105
98
|
React.useEffect(() => {
|
|
106
99
|
const fetchAndSetInitialValues = async () => {
|
|
@@ -227,6 +220,7 @@ const Day2ClusterDetails = () => {
|
|
|
227
220
|
day1CpuArchitecture={initialValues.cpuArchitecture}
|
|
228
221
|
cpuArchitectures={cpuArchitectures}
|
|
229
222
|
onChange={(value) => handleChangeCpuArchitectureDropdown(value, initialValues)}
|
|
223
|
+
platformType={day2Cluster.platform?.type}
|
|
230
224
|
/>
|
|
231
225
|
</GridItem>
|
|
232
226
|
{isAlternativeCpuSelected && (
|
|
@@ -246,9 +240,10 @@ const Day2ClusterDetails = () => {
|
|
|
246
240
|
</Alert>
|
|
247
241
|
</GridItem>
|
|
248
242
|
)}
|
|
249
|
-
|
|
250
243
|
<GridItem>
|
|
251
|
-
<Day2HostStaticIpConfigurations
|
|
244
|
+
<Day2HostStaticIpConfigurations
|
|
245
|
+
isDisabled={day2Cluster.platform?.type === 'oci'}
|
|
246
|
+
/>
|
|
252
247
|
</GridItem>
|
|
253
248
|
</Grid>
|
|
254
249
|
</Form>
|
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
Flex,
|
|
4
|
+
FlexItem,
|
|
5
|
+
FormGroup,
|
|
6
|
+
TextContent,
|
|
7
|
+
TextVariants,
|
|
8
|
+
Text,
|
|
9
|
+
Tooltip,
|
|
10
|
+
} from '@patternfly/react-core';
|
|
3
11
|
import { useFormikContext } from 'formik';
|
|
4
12
|
import { HostsNetworkConfigurationType } from '../../../services';
|
|
5
|
-
import {
|
|
13
|
+
import { RadioField, getFieldId } from '../../../../common';
|
|
6
14
|
import { Day2ClusterDetailValues } from '../types';
|
|
7
15
|
|
|
8
16
|
const GROUP_NAME = 'hostsNetworkConfigurationType';
|
|
9
17
|
|
|
10
|
-
const Day2HostStaticIpConfigurations = () => {
|
|
18
|
+
const Day2HostStaticIpConfigurations = ({ isDisabled }: { isDisabled: boolean }) => {
|
|
11
19
|
const { setFieldValue } = useFormikContext<Day2ClusterDetailValues>();
|
|
12
20
|
|
|
13
21
|
const onChangeNetworkType = (event: React.ChangeEvent<HTMLInputElement>) => {
|
|
@@ -25,22 +33,29 @@ const Day2HostStaticIpConfigurations = () => {
|
|
|
25
33
|
isInline
|
|
26
34
|
onChange={onChangeNetworkType}
|
|
27
35
|
>
|
|
28
|
-
<
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
36
|
+
<Tooltip
|
|
37
|
+
hidden={!isDisabled}
|
|
38
|
+
content="This cluster is using the Oracle cloud platform which allows only DHCP for the hosts' network configuration"
|
|
39
|
+
>
|
|
40
|
+
<Flex>
|
|
41
|
+
<FlexItem key={HostsNetworkConfigurationType.DHCP}>
|
|
42
|
+
<RadioField
|
|
43
|
+
name={GROUP_NAME}
|
|
44
|
+
value={HostsNetworkConfigurationType.DHCP}
|
|
45
|
+
label="DHCP only"
|
|
46
|
+
isDisabled={isDisabled}
|
|
47
|
+
/>
|
|
48
|
+
</FlexItem>
|
|
49
|
+
<FlexItem key={HostsNetworkConfigurationType.STATIC}>
|
|
50
|
+
<RadioField
|
|
51
|
+
name={GROUP_NAME}
|
|
52
|
+
value={HostsNetworkConfigurationType.STATIC}
|
|
53
|
+
label="Static IP, bridges, and bonds"
|
|
54
|
+
isDisabled={isDisabled}
|
|
55
|
+
/>
|
|
56
|
+
</FlexItem>
|
|
57
|
+
</Flex>
|
|
58
|
+
</Tooltip>
|
|
44
59
|
</FormGroup>
|
|
45
60
|
);
|
|
46
61
|
};
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
LoadingState,
|
|
8
8
|
POLLING_INTERVAL,
|
|
9
9
|
} from '../../../common';
|
|
10
|
-
import {
|
|
10
|
+
import { usePullSecret } from '../../hooks';
|
|
11
11
|
import { Button, EmptyStateVariant } from '@patternfly/react-core';
|
|
12
12
|
import Day2ClusterService, { getApiVipDnsName } from '../../services/Day2ClusterService';
|
|
13
13
|
import { handleApiError } from '../../api';
|
|
@@ -19,7 +19,6 @@ import {
|
|
|
19
19
|
AddHostsApiError,
|
|
20
20
|
ReloadFailedError,
|
|
21
21
|
UnableToAddHostsError,
|
|
22
|
-
UnsupportedVersionError,
|
|
23
22
|
} from './HostsClusterDetailTabContentErrors';
|
|
24
23
|
import useInfraEnv from '../../hooks/useInfraEnv';
|
|
25
24
|
import { mapOcmArchToCpuArchitecture } from '../../services/CpuArchitectureService';
|
|
@@ -32,13 +31,7 @@ export const HostsClusterDetailTabContent = ({
|
|
|
32
31
|
const [error, setError] = React.useState<ReactNode>();
|
|
33
32
|
const [day2Cluster, setDay2Cluster] = useStateSafely<Cluster | null>(null);
|
|
34
33
|
const pullSecret = usePullSecret();
|
|
35
|
-
const {
|
|
36
|
-
getCpuArchitectures,
|
|
37
|
-
normalizeClusterVersion,
|
|
38
|
-
loading: areOpenshiftVersionsLoading,
|
|
39
|
-
} = useOpenshiftVersions();
|
|
40
34
|
|
|
41
|
-
const cpuArchitecturesByVersionImage = getCpuArchitectures(ocmCluster.openshift_version);
|
|
42
35
|
const handleClickTryAgainLink = React.useCallback(() => {
|
|
43
36
|
setError(undefined);
|
|
44
37
|
setDay2Cluster(null);
|
|
@@ -65,18 +58,7 @@ export const HostsClusterDetailTabContent = ({
|
|
|
65
58
|
setError(<UnableToAddHostsError onTryAgain={handleClickTryAgainLink} />);
|
|
66
59
|
}
|
|
67
60
|
|
|
68
|
-
if (!
|
|
69
|
-
const normalizedVersion = normalizeClusterVersion(ocmCluster.openshift_version);
|
|
70
|
-
if (!normalizedVersion) {
|
|
71
|
-
setError(
|
|
72
|
-
<UnsupportedVersionError
|
|
73
|
-
version={ocmCluster.openshift_version}
|
|
74
|
-
onTryAgain={handleClickTryAgainLink}
|
|
75
|
-
/>,
|
|
76
|
-
);
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
|
|
61
|
+
if (!day2Cluster && pullSecret) {
|
|
80
62
|
const { apiVipDnsname, errorType } = getApiVipDnsName(ocmCluster);
|
|
81
63
|
if (errorType) {
|
|
82
64
|
const wrongUrlMessage =
|
|
@@ -102,11 +84,7 @@ export const HostsClusterDetailTabContent = ({
|
|
|
102
84
|
|
|
103
85
|
const loadDay2Cluster = async () => {
|
|
104
86
|
try {
|
|
105
|
-
const day2Cluster = await Day2ClusterService.fetchCluster(
|
|
106
|
-
ocmCluster,
|
|
107
|
-
pullSecret,
|
|
108
|
-
normalizedVersion,
|
|
109
|
-
);
|
|
87
|
+
const day2Cluster = await Day2ClusterService.fetchCluster(ocmCluster, pullSecret);
|
|
110
88
|
|
|
111
89
|
const aiCluster = Day2ClusterService.completeAiClusterWithOcmCluster(
|
|
112
90
|
day2Cluster,
|
|
@@ -130,17 +108,7 @@ export const HostsClusterDetailTabContent = ({
|
|
|
130
108
|
|
|
131
109
|
void loadDay2Cluster();
|
|
132
110
|
}
|
|
133
|
-
}, [
|
|
134
|
-
ocmCluster,
|
|
135
|
-
pullSecret,
|
|
136
|
-
day2Cluster,
|
|
137
|
-
setDay2Cluster,
|
|
138
|
-
isVisible,
|
|
139
|
-
normalizeClusterVersion,
|
|
140
|
-
handleClickTryAgainLink,
|
|
141
|
-
cpuArchitecturesByVersionImage,
|
|
142
|
-
areOpenshiftVersionsLoading,
|
|
143
|
-
]);
|
|
111
|
+
}, [ocmCluster, pullSecret, day2Cluster, setDay2Cluster, isVisible, handleClickTryAgainLink]);
|
|
144
112
|
|
|
145
113
|
const refreshCluster = React.useCallback(async () => {
|
|
146
114
|
if (!day2Cluster?.id) {
|
|
@@ -19,20 +19,6 @@ const UnableToAddHostsError = ({ onTryAgain }: TryAgainProps) => {
|
|
|
19
19
|
);
|
|
20
20
|
};
|
|
21
21
|
|
|
22
|
-
const UnsupportedVersionError = ({ version, onTryAgain }: { version: string } & TryAgainProps) => {
|
|
23
|
-
return (
|
|
24
|
-
<>
|
|
25
|
-
Unsupported OpenShift cluster version: {version || 'N/A'}.
|
|
26
|
-
<br />
|
|
27
|
-
Check your connection and{' '}
|
|
28
|
-
<Button variant={'link'} isInline onClick={onTryAgain}>
|
|
29
|
-
try again
|
|
30
|
-
</Button>
|
|
31
|
-
.
|
|
32
|
-
</>
|
|
33
|
-
);
|
|
34
|
-
};
|
|
35
|
-
|
|
36
22
|
const ReloadFailedError = ({ onTryAgain }: TryAgainProps) => {
|
|
37
23
|
return (
|
|
38
24
|
<>
|
|
@@ -63,4 +49,4 @@ const AddHostsApiError = ({ isImport, onTryAgain }: { isImport: boolean } & TryA
|
|
|
63
49
|
);
|
|
64
50
|
};
|
|
65
51
|
|
|
66
|
-
export { AddHostsApiError,
|
|
52
|
+
export { AddHostsApiError, UnableToAddHostsError, ReloadFailedError };
|
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
Dropdown,
|
|
4
|
+
DropdownItem,
|
|
5
|
+
DropdownToggle,
|
|
6
|
+
FormGroup,
|
|
7
|
+
Split,
|
|
8
|
+
SplitItem,
|
|
9
|
+
Tooltip,
|
|
10
|
+
} from '@patternfly/react-core';
|
|
3
11
|
import { CaretDownIcon } from '@patternfly/react-icons';
|
|
4
12
|
import { useField } from 'formik';
|
|
5
13
|
import {
|
|
6
14
|
CpuArchitecture,
|
|
15
|
+
FeatureId,
|
|
7
16
|
getDefaultCpuArchitecture,
|
|
8
17
|
getFieldId,
|
|
9
18
|
SupportedCpuArchitecture,
|
|
@@ -11,7 +20,14 @@ import {
|
|
|
11
20
|
import {
|
|
12
21
|
ArchitectureSupportLevelId,
|
|
13
22
|
Cluster,
|
|
23
|
+
PlatformType,
|
|
14
24
|
} from '@openshift-assisted/types/assisted-installer-service';
|
|
25
|
+
import {
|
|
26
|
+
NewFeatureSupportLevelMap,
|
|
27
|
+
useNewFeatureSupportLevel,
|
|
28
|
+
} from '../../../common/components/newFeatureSupportLevels';
|
|
29
|
+
import useSupportLevelsAPI from '../../hooks/useSupportLevelsAPI';
|
|
30
|
+
import { ExternalPlaformIds, ExternalPlatformLabels } from './platformIntegration/constants';
|
|
15
31
|
|
|
16
32
|
export type CpuArchitectureItem = {
|
|
17
33
|
description: string;
|
|
@@ -57,6 +73,7 @@ type CpuArchitectureDropdownProps = {
|
|
|
57
73
|
day1CpuArchitecture?: SupportedCpuArchitecture;
|
|
58
74
|
cpuArchitectures: SupportedCpuArchitecture[];
|
|
59
75
|
onChange?: (value: string) => void;
|
|
76
|
+
platformType?: PlatformType;
|
|
60
77
|
};
|
|
61
78
|
|
|
62
79
|
const CpuArchitectureDropdown = ({
|
|
@@ -64,7 +81,10 @@ const CpuArchitectureDropdown = ({
|
|
|
64
81
|
day1CpuArchitecture,
|
|
65
82
|
cpuArchitectures,
|
|
66
83
|
onChange,
|
|
84
|
+
platformType,
|
|
67
85
|
}: CpuArchitectureDropdownProps) => {
|
|
86
|
+
const newFeatureSupportLevelContext = useNewFeatureSupportLevel();
|
|
87
|
+
|
|
68
88
|
const [field, { value: selectedCpuArchitecture }, { setValue }] =
|
|
69
89
|
useField<SupportedCpuArchitecture>(INPUT_NAME);
|
|
70
90
|
|
|
@@ -75,21 +95,56 @@ const CpuArchitectureDropdown = ({
|
|
|
75
95
|
day1CpuArchitecture ? architectureData[day1CpuArchitecture].label : CpuArchitecture.x86,
|
|
76
96
|
);
|
|
77
97
|
|
|
98
|
+
const supportLevelDataForAllCpuArchs = useSupportLevelsAPI(
|
|
99
|
+
'featureForAllCpus',
|
|
100
|
+
openshiftVersion,
|
|
101
|
+
undefined,
|
|
102
|
+
platformType,
|
|
103
|
+
cpuArchitectures,
|
|
104
|
+
);
|
|
105
|
+
|
|
78
106
|
const enabledItems = React.useMemo(() => {
|
|
79
107
|
if (cpuArchitectures !== undefined) {
|
|
80
108
|
return cpuArchitectures.map((cpuArch) => {
|
|
109
|
+
let isCpuSupported = true;
|
|
110
|
+
if (supportLevelDataForAllCpuArchs) {
|
|
111
|
+
const featureSupportLevelData = supportLevelDataForAllCpuArchs[
|
|
112
|
+
cpuArch
|
|
113
|
+
] as NewFeatureSupportLevelMap;
|
|
114
|
+
isCpuSupported = newFeatureSupportLevelContext.isFeatureSupported(
|
|
115
|
+
ExternalPlaformIds[platformType ? platformType : 'baremetal'] as FeatureId,
|
|
116
|
+
featureSupportLevelData ?? undefined,
|
|
117
|
+
);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
const disabledReason = `This cluster is using the ${
|
|
121
|
+
platformType ? ExternalPlatformLabels[platformType] : ''
|
|
122
|
+
} platform which doesn't allow this CPU architecture.`;
|
|
81
123
|
return (
|
|
82
124
|
<DropdownItem
|
|
83
125
|
key={cpuArch}
|
|
84
126
|
id={cpuArch}
|
|
85
127
|
description={cpuArch ? architectureData[cpuArch].description : ''}
|
|
128
|
+
isAriaDisabled={!isCpuSupported}
|
|
86
129
|
>
|
|
87
|
-
|
|
130
|
+
<Split>
|
|
131
|
+
<SplitItem>
|
|
132
|
+
<Tooltip hidden={isCpuSupported} content={disabledReason} position="top">
|
|
133
|
+
<div>{cpuArch ? architectureData[cpuArch].label : ''}</div>
|
|
134
|
+
</Tooltip>
|
|
135
|
+
</SplitItem>
|
|
136
|
+
<SplitItem isFilled />
|
|
137
|
+
</Split>
|
|
88
138
|
</DropdownItem>
|
|
89
139
|
);
|
|
90
140
|
});
|
|
91
141
|
}
|
|
92
|
-
}, [
|
|
142
|
+
}, [
|
|
143
|
+
cpuArchitectures,
|
|
144
|
+
supportLevelDataForAllCpuArchs,
|
|
145
|
+
newFeatureSupportLevelContext,
|
|
146
|
+
platformType,
|
|
147
|
+
]);
|
|
93
148
|
|
|
94
149
|
const onSelect = React.useCallback(
|
|
95
150
|
(event?: React.SyntheticEvent<HTMLDivElement>) => {
|
|
@@ -5,8 +5,8 @@ import { getFieldId, HelperText, PopoverIcon } from '../../../common';
|
|
|
5
5
|
import { OcmCheckbox } from '../ui/OcmFormFields';
|
|
6
6
|
import { useClusterWizardContext } from '../clusterWizard/ClusterWizardContext';
|
|
7
7
|
import DeleteCustomManifestModal from './manifestsConfiguration/DeleteCustomManifestModal';
|
|
8
|
-
import useClusterCustomManifests from '../../hooks/useClusterCustomManifests';
|
|
9
8
|
import { ClustersService } from '../../services';
|
|
9
|
+
import { ClustersAPI } from '../../services/apis';
|
|
10
10
|
|
|
11
11
|
const Label = () => {
|
|
12
12
|
return (
|
|
@@ -27,49 +27,42 @@ const Label = () => {
|
|
|
27
27
|
type CustomManifestCheckboxProps = { clusterId: string; isDisabled: boolean };
|
|
28
28
|
|
|
29
29
|
const CustomManifestCheckbox = ({ clusterId, isDisabled }: CustomManifestCheckboxProps) => {
|
|
30
|
-
const [{ name }, , { setValue }] = useField('addCustomManifest');
|
|
30
|
+
const [{ name }, { value }, { setValue }] = useField<boolean>('addCustomManifest');
|
|
31
31
|
const fieldId = getFieldId(name, 'input');
|
|
32
32
|
const clusterWizardContext = useClusterWizardContext();
|
|
33
|
-
const { customManifests } = useClusterCustomManifests(clusterId, false);
|
|
34
33
|
const [isDeleteCustomManifestsOpen, setDeleteCustomManifestsOpen] = React.useState(false);
|
|
35
|
-
|
|
36
|
-
const cleanCustomManifests = React.useCallback(() => {
|
|
34
|
+
|
|
35
|
+
const cleanCustomManifests = React.useCallback(async () => {
|
|
36
|
+
const { data: manifests } = await ClustersAPI.getManifests(clusterId);
|
|
37
|
+
void ClustersService.removeClusterManifests(manifests, clusterId);
|
|
38
|
+
|
|
37
39
|
setValue(false);
|
|
38
|
-
clusterWizardContext.
|
|
40
|
+
clusterWizardContext.setCustomManifestsStep(false);
|
|
39
41
|
setDeleteCustomManifestsOpen(false);
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}, [clusterWizardContext, setValue, clusterId, customManifests]);
|
|
42
|
+
await clusterWizardContext.updateUISettings({
|
|
43
|
+
addCustomManifests: false,
|
|
44
|
+
customManifestsAdded: false,
|
|
45
|
+
});
|
|
46
|
+
}, [clusterWizardContext, setValue, clusterId]);
|
|
46
47
|
|
|
47
|
-
const
|
|
48
|
+
const onChange = React.useCallback(
|
|
48
49
|
(checked: boolean) => {
|
|
49
|
-
if (!checked) {
|
|
50
|
-
|
|
51
|
-
if (clusterId) setDeleteCustomManifestsOpen(true);
|
|
52
|
-
else {
|
|
53
|
-
cleanCustomManifests();
|
|
54
|
-
}
|
|
55
|
-
} else {
|
|
56
|
-
setValue(checked);
|
|
57
|
-
setManifestsRemoved(false);
|
|
58
|
-
clusterWizardContext.setAddCustomManifests(checked);
|
|
50
|
+
if (!checked && clusterWizardContext.uiSettings?.customManifestsAdded) {
|
|
51
|
+
setDeleteCustomManifestsOpen(true);
|
|
59
52
|
}
|
|
53
|
+
|
|
54
|
+
setValue(checked);
|
|
55
|
+
clusterWizardContext.setCustomManifestsStep(checked);
|
|
60
56
|
},
|
|
61
|
-
[setValue, clusterWizardContext, setDeleteCustomManifestsOpen
|
|
57
|
+
[setValue, clusterWizardContext, setDeleteCustomManifestsOpen],
|
|
62
58
|
);
|
|
63
59
|
|
|
64
60
|
const onClose = React.useCallback(() => {
|
|
65
61
|
setValue(true);
|
|
66
|
-
clusterWizardContext.
|
|
62
|
+
clusterWizardContext.setCustomManifestsStep(true);
|
|
67
63
|
setDeleteCustomManifestsOpen(false);
|
|
68
|
-
setManifestsRemoved(false);
|
|
69
64
|
}, [clusterWizardContext, setValue]);
|
|
70
65
|
|
|
71
|
-
const customManifestsActivated =
|
|
72
|
-
clusterWizardContext.addCustomManifests || (customManifests && customManifests.length > 0);
|
|
73
66
|
return (
|
|
74
67
|
<>
|
|
75
68
|
<FormGroup id={`form-control__${fieldId}`} isInline fieldId={fieldId}>
|
|
@@ -84,18 +77,18 @@ const CustomManifestCheckbox = ({ clusterId, isDisabled }: CustomManifestCheckbo
|
|
|
84
77
|
the cluster.
|
|
85
78
|
</HelperText>
|
|
86
79
|
}
|
|
87
|
-
onChange={
|
|
80
|
+
onChange={onChange}
|
|
88
81
|
className="with-tooltip"
|
|
89
|
-
isChecked={
|
|
82
|
+
isChecked={value}
|
|
90
83
|
isDisabled={isDisabled}
|
|
91
84
|
/>
|
|
92
85
|
<DeleteCustomManifestModal
|
|
93
86
|
isOpen={isDeleteCustomManifestsOpen}
|
|
94
87
|
onClose={onClose}
|
|
95
|
-
onDelete={() => cleanCustomManifests()}
|
|
88
|
+
onDelete={() => void cleanCustomManifests()}
|
|
96
89
|
/>
|
|
97
90
|
</FormGroup>
|
|
98
|
-
{
|
|
91
|
+
{value && (
|
|
99
92
|
<Alert isInline variant="info" title={'This is an advanced configuration feature.'}>
|
|
100
93
|
Custom manifests will be added to the wizard as a new step.
|
|
101
94
|
</Alert>
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { Dropdown, DropdownItem, DropdownToggle, FormGroup } from '@patternfly/react-core';
|
|
2
|
+
import { Dropdown, DropdownItem, DropdownToggle, FormGroup, Tooltip } from '@patternfly/react-core';
|
|
3
3
|
import { useField, useFormikContext } from 'formik';
|
|
4
4
|
import { ClusterDetailsValues, HelperText, getFieldId } from '../../../common';
|
|
5
5
|
import { CaretDownIcon } from '@patternfly/react-icons';
|
|
6
6
|
import { OcmCheckboxField, OcmInputField } from '../ui/OcmFormFields';
|
|
7
7
|
import { ManagedDomain } from '@openshift-assisted/types/assisted-installer-service';
|
|
8
|
+
import { clusterExistsReason } from '../featureSupportLevels/featureStateUtils';
|
|
8
9
|
|
|
9
10
|
const INPUT_NAME = 'baseDnsDomain';
|
|
10
11
|
const INPUT_LABEL = 'Base domain';
|
|
@@ -21,15 +22,22 @@ export const BaseDnsHelperText = ({
|
|
|
21
22
|
baseDnsDomain?: string;
|
|
22
23
|
}) => (
|
|
23
24
|
<HelperText fieldId={fieldId}>
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
Enter the name of your local host [localhost] or [localhost.com]. This cannot be changed after
|
|
26
|
+
creation. All DNS records must include the cluster name and be subdomains of the base you enter.
|
|
27
|
+
The full cluster address will be: <br />
|
|
26
28
|
<strong>
|
|
27
|
-
{name || '[Cluster Name]'}.{baseDnsDomain || '[
|
|
29
|
+
{name || '[Cluster Name]'}.{baseDnsDomain || '[localhost.com]'}
|
|
28
30
|
</strong>
|
|
29
31
|
</HelperText>
|
|
30
32
|
);
|
|
31
33
|
|
|
32
|
-
export const OcmBaseDomainField = ({
|
|
34
|
+
export const OcmBaseDomainField = ({
|
|
35
|
+
managedDomains,
|
|
36
|
+
clusterExists,
|
|
37
|
+
}: {
|
|
38
|
+
managedDomains: ManagedDomain[];
|
|
39
|
+
clusterExists: boolean;
|
|
40
|
+
}) => {
|
|
33
41
|
const [, { value }, { setValue }] = useField<string>(INPUT_NAME);
|
|
34
42
|
const { values } = useFormikContext<ClusterDetailsValues>();
|
|
35
43
|
const { name, baseDnsDomain, useRedHatDnsService } = values;
|
|
@@ -72,12 +80,15 @@ export const OcmBaseDomainField = ({ managedDomains }: { managedDomains: Managed
|
|
|
72
80
|
return (
|
|
73
81
|
<>
|
|
74
82
|
{!!managedDomains.length && toggleRedHatDnsService && (
|
|
75
|
-
<
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
83
|
+
<Tooltip content={clusterExistsReason} hidden={!clusterExists}>
|
|
84
|
+
<OcmCheckboxField
|
|
85
|
+
name="useRedHatDnsService"
|
|
86
|
+
label="Use a temporary 60-day domain"
|
|
87
|
+
helperText="A base domain will be provided for temporary, non-production clusters."
|
|
88
|
+
onChange={toggleRedHatDnsService}
|
|
89
|
+
isDisabled={clusterExists}
|
|
90
|
+
/>
|
|
91
|
+
</Tooltip>
|
|
81
92
|
)}
|
|
82
93
|
<FormGroup
|
|
83
94
|
id={`form-control__${fieldId}`}
|
|
@@ -98,7 +109,7 @@ export const OcmBaseDomainField = ({ managedDomains }: { managedDomains: Managed
|
|
|
98
109
|
) : (
|
|
99
110
|
<OcmInputField
|
|
100
111
|
name={INPUT_NAME}
|
|
101
|
-
placeholder="
|
|
112
|
+
placeholder="localhost.com"
|
|
102
113
|
isDisabled={useRedHatDnsService}
|
|
103
114
|
isRequired
|
|
104
115
|
/>
|
|
@@ -66,7 +66,6 @@ export const OcmClusterDetailsFormFields = ({
|
|
|
66
66
|
|
|
67
67
|
const { t } = useTranslation();
|
|
68
68
|
const isSingleClusterFeatureEnabled = useFeature('ASSISTED_INSTALLER_SINGLE_CLUSTER_FEATURE');
|
|
69
|
-
const isMultiArchSupported = useFeature('ASSISTED_INSTALLER_MULTIARCH_SUPPORTED');
|
|
70
69
|
const isOracleCloudPlatformIntegrationEnabled = useFeature('ASSISTED_INSTALLER_PLATFORM_OCI');
|
|
71
70
|
const { openshiftVersion, platform } = values;
|
|
72
71
|
const { getCpuArchitectures } = useOpenshiftVersions();
|
|
@@ -78,8 +77,8 @@ export const OcmClusterDetailsFormFields = ({
|
|
|
78
77
|
values.cpuArchitecture as SupportedCpuArchitecture,
|
|
79
78
|
);
|
|
80
79
|
const cpuArchitectures = React.useMemo(
|
|
81
|
-
() => getSupportedCpuArchitectures(
|
|
82
|
-
[cpuArchitecturesByVersionImage
|
|
80
|
+
() => getSupportedCpuArchitectures(cpuArchitecturesByVersionImage),
|
|
81
|
+
[cpuArchitecturesByVersionImage],
|
|
83
82
|
);
|
|
84
83
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
85
84
|
// @ts-ignore
|
|
@@ -96,7 +95,7 @@ export const OcmClusterDetailsFormFields = ({
|
|
|
96
95
|
const isOracleSelected = selectedPlatform === 'oci';
|
|
97
96
|
if (isOracleSelected) {
|
|
98
97
|
setFieldValue('addCustomManifest', isOracleSelected, false);
|
|
99
|
-
clusterWizardContext.
|
|
98
|
+
clusterWizardContext.setCustomManifestsStep(isOracleSelected);
|
|
100
99
|
setFieldValue('hostsNetworkConfigurationType', HostsNetworkConfigurationType.DHCP);
|
|
101
100
|
}
|
|
102
101
|
},
|
|
@@ -130,7 +129,7 @@ export const OcmClusterDetailsFormFields = ({
|
|
|
130
129
|
maxLength={CLUSTER_NAME_MAX_LENGTH}
|
|
131
130
|
/>
|
|
132
131
|
|
|
133
|
-
<OcmBaseDomainField managedDomains={managedDomains} />
|
|
132
|
+
<OcmBaseDomainField managedDomains={managedDomains} clusterExists={clusterExists} />
|
|
134
133
|
|
|
135
134
|
{/* TODO(mlibra): For single-cluster: We will probably change this to just a static text */}
|
|
136
135
|
{forceOpenshiftVersion ? (
|
package/lib/ocm/components/clusterConfiguration/manifestsConfiguration/CustomManifestsPage.tsx
CHANGED
|
@@ -7,33 +7,26 @@ import { CustomManifestFormState } from './components/propTypes';
|
|
|
7
7
|
|
|
8
8
|
export const CustomManifestsPage = ({
|
|
9
9
|
cluster,
|
|
10
|
-
onFormStateChange
|
|
10
|
+
onFormStateChange,
|
|
11
11
|
}: {
|
|
12
12
|
cluster: Cluster;
|
|
13
13
|
onFormStateChange(formState: CustomManifestFormState): void;
|
|
14
|
-
}) =>
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
'No validation is performed for the custom manifest contents. Only include resources that are necessary for initial setup to reduce the chance of installation failures.'
|
|
34
|
-
}
|
|
35
|
-
/>
|
|
36
|
-
<CustomManifests cluster={cluster} onFormStateChange={onFormStateChange} />
|
|
37
|
-
</Grid>
|
|
38
|
-
);
|
|
39
|
-
};
|
|
14
|
+
}) => (
|
|
15
|
+
<Grid hasGutter>
|
|
16
|
+
<TextContent>
|
|
17
|
+
<Text component={TextVariants.h2}>Custom manifests</Text>
|
|
18
|
+
<Text component={TextVariants.small}>
|
|
19
|
+
Upload additional manifests that will be applied at the install time for advanced
|
|
20
|
+
configuration of the cluster.
|
|
21
|
+
</Text>
|
|
22
|
+
</TextContent>
|
|
23
|
+
<Alert
|
|
24
|
+
isInline
|
|
25
|
+
variant="warning"
|
|
26
|
+
title={
|
|
27
|
+
'No validation is performed for the custom manifest contents. Only include resources that are necessary for initial setup to reduce the chance of installation failures.'
|
|
28
|
+
}
|
|
29
|
+
/>
|
|
30
|
+
<CustomManifests cluster={cluster} onFormStateChange={onFormStateChange} />
|
|
31
|
+
</Grid>
|
|
32
|
+
);
|
|
@@ -3,7 +3,7 @@ import { ListManifestsExtended } from '../data/dataTypes';
|
|
|
3
3
|
import { CustomManifestsFormProps, CustomManifestFormState } from './propTypes';
|
|
4
4
|
import { getFormViewManifestsValidationSchema } from './customManifestsValidationSchema';
|
|
5
5
|
import { CustomManifestsForm } from './CustomManifestsForm';
|
|
6
|
-
import {
|
|
6
|
+
import { getEmptyManifestsValues, getManifestValues } from './utils';
|
|
7
7
|
import { Cluster } from '@openshift-assisted/types/assisted-installer-service';
|
|
8
8
|
|
|
9
9
|
export const CustomManifests = ({
|
|
@@ -21,9 +21,9 @@ export const CustomManifests = ({
|
|
|
21
21
|
validationSchema: getFormViewManifestsValidationSchema,
|
|
22
22
|
|
|
23
23
|
getInitialValues: (customManifests: ListManifestsExtended) => {
|
|
24
|
-
return
|
|
24
|
+
return getManifestValues(customManifests);
|
|
25
25
|
},
|
|
26
|
-
getEmptyValues: () =>
|
|
26
|
+
getEmptyValues: () => getEmptyManifestsValues(),
|
|
27
27
|
showEmptyValues: true,
|
|
28
28
|
cluster: cluster,
|
|
29
29
|
});
|