diff --git a/app/javascript/common/constants.js b/app/javascript/common/constants.js index 532ca789cf..91cb655aaa 100644 --- a/app/javascript/common/constants.js +++ b/app/javascript/common/constants.js @@ -23,8 +23,16 @@ export const OPENSTACK = 'openstack'; export const RHV = 'rhevm'; export const V2V_TARGET_PROVIDERS = [ - { name: __('Red Hat Virtualization'), id: RHV }, - { name: __('Red Hat OpenStack Platform'), id: OPENSTACK } + { + name: __('Red Hat Virtualization'), + id: RHV, + type: 'ManageIQ::Providers::Redhat::InfraManager' + }, + { + name: __('Red Hat OpenStack Platform'), + id: OPENSTACK, + type: 'ManageIQ::Providers::Openstack::CloudManager' + } ]; export const FETCH_TARGET_COMPUTE_URLS = { diff --git a/app/javascript/react/screens/App/Settings/__tests__/__snapshots__/SettingsReducer.test.js.snap b/app/javascript/react/screens/App/Settings/__tests__/__snapshots__/SettingsReducer.test.js.snap index 1388a8b03a..e73e05b70b 100644 --- a/app/javascript/react/screens/App/Settings/__tests__/__snapshots__/SettingsReducer.test.js.snap +++ b/app/javascript/react/screens/App/Settings/__tests__/__snapshots__/SettingsReducer.test.js.snap @@ -13,6 +13,7 @@ Object { "errorSavingSettings": null, "fetchingServersRejected": false, "fetchingSettingsRejected": false, + "hasSufficientProviders": false, "isFetchingConversionHosts": true, "isFetchingProviders": false, "isFetchingServers": false, @@ -43,6 +44,7 @@ Object { "errorSavingSettings": null, "fetchingServersRejected": false, "fetchingSettingsRejected": false, + "hasSufficientProviders": false, "isFetchingConversionHosts": false, "isFetchingProviders": false, "isFetchingServers": false, @@ -77,6 +79,7 @@ Object { "errorSavingSettings": null, "fetchingServersRejected": false, "fetchingSettingsRejected": false, + "hasSufficientProviders": false, "isFetchingConversionHosts": false, "isFetchingProviders": false, "isFetchingServers": false, @@ -107,6 +110,7 @@ Object { "errorSavingSettings": null, "fetchingServersRejected": false, "fetchingSettingsRejected": false, + "hasSufficientProviders": false, "isFetchingConversionHosts": false, "isFetchingProviders": false, "isFetchingServers": true, @@ -137,6 +141,7 @@ Object { "errorSavingSettings": null, "fetchingServersRejected": true, "fetchingSettingsRejected": false, + "hasSufficientProviders": false, "isFetchingConversionHosts": false, "isFetchingProviders": false, "isFetchingServers": false, @@ -167,6 +172,7 @@ Object { "errorSavingSettings": null, "fetchingServersRejected": false, "fetchingSettingsRejected": false, + "hasSufficientProviders": false, "isFetchingConversionHosts": false, "isFetchingProviders": false, "isFetchingServers": false, @@ -197,6 +203,7 @@ Object { "errorSavingSettings": null, "fetchingServersRejected": false, "fetchingSettingsRejected": true, + "hasSufficientProviders": false, "isFetchingConversionHosts": false, "isFetchingProviders": false, "isFetchingServers": false, @@ -227,6 +234,7 @@ Object { "errorSavingSettings": null, "fetchingServersRejected": false, "fetchingSettingsRejected": false, + "hasSufficientProviders": false, "isFetchingConversionHosts": false, "isFetchingProviders": false, "isFetchingServers": false, @@ -259,6 +267,7 @@ Object { "errorSavingSettings": null, "fetchingServersRejected": false, "fetchingSettingsRejected": false, + "hasSufficientProviders": false, "isFetchingConversionHosts": false, "isFetchingProviders": false, "isFetchingServers": false, @@ -289,6 +298,7 @@ Object { "errorSavingSettings": "error", "fetchingServersRejected": false, "fetchingSettingsRejected": false, + "hasSufficientProviders": false, "isFetchingConversionHosts": false, "isFetchingProviders": false, "isFetchingServers": false, @@ -319,6 +329,7 @@ Object { "errorSavingSettings": null, "fetchingServersRejected": false, "fetchingSettingsRejected": false, + "hasSufficientProviders": false, "isFetchingConversionHosts": false, "isFetchingProviders": false, "isFetchingServers": false, @@ -351,6 +362,7 @@ Object { "errorSavingSettings": null, "fetchingServersRejected": false, "fetchingSettingsRejected": false, + "hasSufficientProviders": false, "isFetchingConversionHosts": false, "isFetchingProviders": false, "isFetchingServers": false, diff --git a/app/javascript/react/screens/App/Settings/screens/ConversionHostsSettings/ConversionHostsSettings.js b/app/javascript/react/screens/App/Settings/screens/ConversionHostsSettings/ConversionHostsSettings.js index 82b968aaf2..b889c6284a 100644 --- a/app/javascript/react/screens/App/Settings/screens/ConversionHostsSettings/ConversionHostsSettings.js +++ b/app/javascript/react/screens/App/Settings/screens/ConversionHostsSettings/ConversionHostsSettings.js @@ -28,7 +28,7 @@ class ConversionHostsSettings extends React.Component { {!hasSufficientProviders ? ( provider.type === PROVIDER_TYPES[selectedProviderType] + const availableProviderOptions = V2V_TARGET_PROVIDERS.filter(option => + providers.some(provider => provider.type === option.type) ); + const selectedProviderOption = availableProviderOptions.find(option => option.id === selectedProviderType); + const providersFilteredBySelectedType = + selectedProviderOption && providers.filter(provider => provider.type === selectedProviderOption.type); const targetComputeFilteredBySelectedProvider = targetComputeResources.filter( computeResource => computeResource.ems_id === selectedProviderId @@ -61,7 +64,7 @@ class ConversionHostWizardLocationStep extends React.Component { {...selectFieldBaseProps} name="providerType" label={__('Provider Type')} - options={V2V_TARGET_PROVIDERS} + options={availableProviderOptions} /> {selectedProviderType && (