Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

port over change from #10394 to release 4.9 #10619

Closed
wants to merge 108 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
108 commits
Select commit Hold shift + click to select a range
ce95b76
Bug 2000573: Disable flexible scaling for internal mode
Sep 7, 2021
234f330
Allow side nav borders to extend to left and right edges. fix Bug 200…
sg00dwin Sep 7, 2021
1bd4607
Merge pull request #10010 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Sep 7, 2021
1eadd4f
Bug 2001855: Enable add capacity if osd size is not matching
Sep 9, 2021
1326df9
Bug 2002443: Fix disks undefined on create local volume set step
Sep 8, 2021
1a32de5
Bug 1997245: Dont validate the install operator form when submitted
jhadvig Sep 2, 2021
7bbb216
Bug 2001810: Fix list page route for build configs
TheRealJon Sep 9, 2021
e2ce208
Fix links and texts for Storage link provided in Overview page.
bipuladh Sep 12, 2021
cc2e7af
Bug 2003715: Fix state of volume mode dropdown
Sep 13, 2021
4066daa
Show image tag selector in s2i form
divyanshiGupta Sep 14, 2021
1cecb46
Re-validate git url on changing git-type
divyanshiGupta Sep 14, 2021
fa13963
Bug 2003651: ODF4.9+LSO4.8 installation via UI, StorageCluster move t…
Sep 14, 2021
fff4f52
Fix basic spring boot sample form crash
divyanshiGupta Sep 7, 2021
62bc17d
Bug 1986502: Fix state bug to eliminate duplicates in dragged files
jcaianirh Sep 10, 2021
f1bc65d
use class variable instead of global to track file upload contents
jcaianirh Sep 14, 2021
d569ca3
Introduce a new endpoint for getting the namespace where the web term…
JPinkney Sep 10, 2021
2fc9f02
Make the dashboard create web terminals that reference devworkspacete…
JPinkney Sep 10, 2021
86c7cd8
Fix CloudShellTerminal tests now that namespace is autodetected
JPinkney Sep 10, 2021
8cf99c6
Refactor unrecoverableErrorFound
JPinkney Sep 14, 2021
2c0193a
Switch from React.useState to useSafetyFirst in async context
JPinkney Sep 14, 2021
7edd423
Rename kubernetes error import to k8sErrors
JPinkney Sep 14, 2021
9586258
Ensure that all web terminal errors are send back to the frontend
JPinkney Sep 15, 2021
26d5681
Bug 2003711: Fix to fetch ocs csv in external mode
Sep 15, 2021
555b5de
Bug 2004578: Add monitoring and nodes label for external storage plta…
Sep 15, 2021
5bde6a5
wrap lazy icons in suspense with spacing
yozaam Sep 30, 2021
e33355a
Fix create broker button in Add broker page
karthikjeeyar Sep 16, 2021
88415f1
fix dev-catalog stuck in loading state
debsmita1 Oct 5, 2021
35fd346
update the BindableService CRD changes to align with BindableKinds
sahil143 Oct 5, 2021
b8047f4
don't fail on empty list
yaacov Oct 11, 2021
38544f1
fixes imagesteam from reference for alias to existing IS
invincibleJai Sep 16, 2021
295b8ad
Bug 2013384: Disable operands deletes
dtaylor113 Oct 12, 2021
8c077e4
Merge pull request #10222 from dtaylor113/disable-operand-delete-duri…
openshift-merge-robot Oct 13, 2021
0ab7825
Merge pull request #10210 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Oct 13, 2021
17af94e
Merge pull request #10050 from bipuladh/fix-bz-popover
openshift-merge-robot Oct 14, 2021
19a3bc8
Merge pull request #10069 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Oct 14, 2021
46cb022
fix missing OCS Overview nav item
SanjalKatiyar Oct 12, 2021
b37bec9
Merge pull request #10172 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Oct 14, 2021
84c1630
Merge pull request #10206 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Oct 14, 2021
11a645c
Merge pull request #10037 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Oct 14, 2021
da2ee4c
Bug 1999091: Console update toast notification can appear multiple times
florkbr Sep 16, 2021
4b9f898
Monitoring: Fix error message when Silences fail to load
kyoto Oct 14, 2021
7eac32f
Failed to load RoleBindings list and Role name
cyril-ui-developer Sep 13, 2021
6e76448
Bug 2013751: Fix wrong in-cluster hostname on the Service details page
jhadvig Oct 13, 2021
03d7fbf
Merge pull request #10239 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Oct 15, 2021
3dae3ff
Add data-checked attribute to show system project switch
kdoberst Sep 28, 2021
3119766
Bug 2014486: Fix failing OLM test scenario
spadgett Oct 15, 2021
11293b4
Merge pull request #10267 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Oct 19, 2021
4769de1
Merge pull request #10146 from afreen23/backport-label
openshift-merge-robot Oct 21, 2021
70af74d
Merge pull request #10214 from SanjalKatiyar/fix_overview_tab_4.9
openshift-merge-robot Oct 21, 2021
318f5a8
Merge pull request #10240 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Oct 21, 2021
8e192ea
Merge pull request #10076 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Oct 22, 2021
71520c2
Bug 2008779: ODF tab is missing if user clicks on 'Refresh web console'
florkbr Oct 20, 2021
9226d22
Bug 2008767: Block MCG deploymeny when no storage class found
Oct 20, 2021
7ad459d
Merge pull request #10062 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Oct 25, 2021
e52cf16
Merge pull request #10144 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Oct 25, 2021
511d170
Merge pull request #10032 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Oct 26, 2021
acbf64c
Merge pull request #10041 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Oct 26, 2021
be91715
check for resource in SB service spec reference
rottencandy Oct 13, 2021
95e77fb
kubevirt: improve 4.9 tests
gouyang Oct 20, 2021
14d13a7
Merge pull request #10169 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Oct 27, 2021
9f85e9d
Merge pull request #10067 from divyanshiGupta/Bug#2004075
openshift-merge-robot Oct 27, 2021
9fea1e9
Use conditions for status in Storage System list page
bipuladh Oct 27, 2021
5e4274c
Fix creation for BackingStore, BucketClass and NamespaceStore
bipuladh Sep 23, 2021
fed6322
Merge pull request #10198 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Oct 28, 2021
6b324e6
Update patternfly/react-console version
pcbailey Oct 19, 2021
c01f964
Merge pull request #10241 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Oct 28, 2021
3434ade
Merge pull request #10011 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Oct 29, 2021
c77b03d
Merge pull request #10131 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Oct 29, 2021
a073e7f
Merge pull request #10043 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Oct 29, 2021
8759a13
Merge pull request #10327 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Oct 29, 2021
06714c5
Bug 2005179: Pass pod toolbar filters to `useListPageFilter`
spadgett Oct 28, 2021
39af3f9
Merge pull request #10135 from JPinkney/web-terminal-namespace-4.9-port
openshift-merge-robot Oct 30, 2021
2c11860
Merge pull request #10212 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Oct 30, 2021
de5d9cb
Merge pull request #10246 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Oct 30, 2021
7bf6b61
Merge pull request #10252 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Oct 30, 2021
a8bc8ae
Bug 2009298: Delete ssh service when vm is deleted
metalice Oct 12, 2021
afbd605
Bug 2018428: PVC is deleted along with VM even with "Delete Disks" un…
avivtur Nov 2, 2021
eca0181
Merge pull request #10258 from pcbailey/vnc-console-4.9-backport
openshift-merge-robot Nov 3, 2021
edc08cf
Merge pull request #10391 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Nov 3, 2021
3fe33a4
Bug 2015806: Fix resource metrics 403 errors for project admin users
TheRealJon Oct 27, 2021
2e43e01
Merge pull request #10385 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Nov 4, 2021
dcd705e
Merge pull request #10366 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Nov 4, 2021
462868c
Bug 2020275: Fix ClusterOperators link
rebeccaalpert Nov 8, 2021
dc0af95
Bug 2000628: Fix creation of ibm storage system at backing storage step
Oct 27, 2021
f506c77
fix issue with standalone dashboards (4.9 backport)
SanjalKatiyar Nov 11, 2021
04689c6
Set larger widths for modals with modal-lg class
sg00dwin Nov 9, 2021
e3fb3d6
Merge pull request #10339 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Nov 12, 2021
4c58d47
Merge pull request #10304 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Nov 12, 2021
4f713f8
Merge pull request #10340 from bipuladh/creation-bp
openshift-merge-robot Nov 12, 2021
e705e0a
Bug 1999619: #cloud-config is now added to yaml
metalice Sep 13, 2021
c7d78ff
Merge pull request #10295 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Nov 15, 2021
1bee6e0
Merge pull request #10459 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Nov 16, 2021
e9348e3
Merge pull request #10417 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Nov 16, 2021
8159a10
Merge pull request #10396 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Nov 16, 2021
6c0dbfe
Merge pull request #10442 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Nov 20, 2021
1175ba4
Merge pull request #10438 from afreen23/release-4.9
openshift-merge-robot Nov 23, 2021
afbd7ec
create kms resources for IBM FlashSystem storage
SanjalKatiyar Nov 18, 2021
6bd7414
Update Noobaa Operator csv name
bipuladh Nov 23, 2021
99c92e3
Add Dev Preview tag for IBM FlashSystem
bipuladh Nov 16, 2021
a771130
Merge pull request #10441 from SanjalKatiyar/fix_standalone_dashboard…
openshift-merge-robot Nov 30, 2021
2559d38
fix routing issue with resources horizontal nav tabs
SanjalKatiyar Sep 22, 2021
a8cacc4
Merge pull request #10603 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Dec 3, 2021
42f7945
Merge pull request #10543 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Dec 3, 2021
b9a0d02
Merge pull request #10555 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Dec 3, 2021
ce38827
[release-4.9] Bug 2029297: Fix troubleshoot link for MON_DISK_LOW
rexagod Nov 17, 2021
cfe8694
Merge pull request #10609 from rexagod/release-4.9
openshift-merge-robot Dec 6, 2021
eaa4be1
Merge pull request #10540 from openshift-cherrypick-robot/cherry-pick…
openshift-merge-robot Dec 6, 2021
2792689
backport the change to 4.9
yangcao77 Dec 6, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
18 changes: 9 additions & 9 deletions frontend/packages/ceph-storage-plugin/console-extensions.json
Original file line number Diff line number Diff line change
Expand Up @@ -152,40 +152,40 @@
{
"type": "console.page/route",
"properties": {
"path": "/odf/resource/:resourceKind/:resourceName",
"path": "/odf/resource/noobaa.io~v1alpha1~BackingStore/create/~new",
"exact": true,
"component": {
"$codeRef": "resourceDetailsPage.GenericDetailsPage"
"$codeRef": "bsCreate.default"
}
}
},
{
"type": "console.page/route",
"properties": {
"path": "/odf/resource/noobaa.io~v1alpha1~BackingStore/create/~new",
"path": "/odf/resource/noobaa.io~v1alpha1~NamespaceStore/create/~new",
"exact": true,
"component": {
"$codeRef": "bsCreate.default"
"$codeRef": "nssCreate.default"
}
}
},
{
"type": "console.page/route",
"properties": {
"path": "/odf/resource/noobaa.io~v1alpha1~NamespaceStore/create/~new",
"path": "/odf/resource/noobaa.io~v1alpha1~BucketClass/create/~new",
"exact": true,
"component": {
"$codeRef": "nssCreate.default"
"$codeRef": "bcCreate.default"
}
}
},
{
"type": "console.page/route",
"properties": {
"path": "/odf/resource/noobaa.io~v1alpha1~BucketClass/create/~new",
"exact": true,
"path": "/odf/resource/:resourceKind/:resourceName",
"exact": false,
"component": {
"$codeRef": "bcCreate.default"
"$codeRef": "resourceDetailsPage.GenericDetailsPage"
}
}
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,7 @@
"Advanced Subscription": "Advanced Subscription",
"Advanced": "Advanced",
"Deployment type": "Deployment type",
"A default StorageClass is needed for deployment.": "A default StorageClass is needed for deployment.",
"Storage platform": "Storage platform",
"Select a storage platform you wish to connect": "Select a storage platform you wish to connect",
"Select external system from list": "Select external system from list",
Expand Down Expand Up @@ -661,9 +662,8 @@
"Last updated": "Last updated",
"Storage Systems": "Storage Systems",
"Used capacity": "Used capacity",
"Storage status represents the health status of Openshift Data Foundation's StorageCluster.": "Storage status represents the health status of Openshift Data Foundation's StorageCluster.",
"Storage status represents the health status of {{operatorName}}'s StorageCluster.": "Storage status represents the health status of {{operatorName}}'s StorageCluster.",
"Health": "Health",
"Openshift Data Foundation": "Openshift Data Foundation",
"Standard": "Standard",
"Data will be consumed by a Multi-cloud object gateway, deduped, compressed, and encrypted. The encrypted chunks would be saved on the selected BackingStores. Best used when the applications would always use the OpenShift Data Foundation endpoints to access the data.": "Data will be consumed by a Multi-cloud object gateway, deduped, compressed, and encrypted. The encrypted chunks would be saved on the selected BackingStores. Best used when the applications would always use the OpenShift Data Foundation endpoints to access the data.",
"Data is stored on the NamespaceStores without performing de-duplication, compression, or encryption. BucketClasses of namespace type allow connecting to existing data and serving from them. These are best used for existing data or when other applications (and cloud-native services) need to access the data from outside OpenShift Container Storage.": "Data is stored on the NamespaceStores without performing de-duplication, compression, or encryption. BucketClasses of namespace type allow connecting to existing data and serving from them. These are best used for existing data or when other applications (and cloud-native services) need to access the data from outside OpenShift Container Storage.",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import {
import { history } from '@console/internal/components/utils/router';
import { BreadCrumbs, resourcePathFromModel } from '@console/internal/components/utils';
import { ClusterServiceVersionModel } from '@console/operator-lifecycle-manager';
import { getName } from '@console/shared';
import { getName, useFlag } from '@console/shared';
import GeneralPage from './wizard-pages/general-page';
import PlacementPolicyPage from './wizard-pages/placement-policy-page';
import BackingStorePage from './wizard-pages/backingstore-page';
Expand All @@ -27,6 +27,7 @@ import { BucketClassType, NamespacePolicyType } from '../../constants/bucket-cla
import { validateBucketClassName, validateDuration } from '../../utils/bucket-class';
import { NooBaaBucketClassModel } from '../../models';
import { PlacementPolicy } from '../../types';
import { ODF_MODEL_FLAG, CEPH_STORAGE_NAMESPACE } from '../../constants';

enum CreateStepsBC {
GENERAL = 'GENERAL',
Expand All @@ -38,8 +39,9 @@ enum CreateStepsBC {
const CreateBucketClass: React.FC<CreateBCProps> = ({ match }) => {
const { t } = useTranslation();
const [state, dispatch] = React.useReducer(reducer, initialState);
const { ns, appName } = match.params;
const { ns = CEPH_STORAGE_NAMESPACE, appName } = match.params;
const [clusterServiceVersion, setClusterServiceVersion] = React.useState(null);
const isODF = useFlag(ODF_MODEL_FLAG);

React.useEffect(() => {
k8sGet(ClusterServiceVersionModel, appName, ns)
Expand Down Expand Up @@ -156,12 +158,15 @@ const CreateBucketClass: React.FC<CreateBCProps> = ({ match }) => {
const promiseObj = k8sCreate(NooBaaBucketClassModel, payload);
promiseObj
.then((obj) => {
const resourcePath = `${referenceForModel(NooBaaBucketClassModel)}/${getName(obj)}`;
dispatch({ type: 'setIsLoading', value: false });
history.push(
`/k8s/ns/${ns}/clusterserviceversions/${getName(
clusterServiceVersion,
)}/${referenceForModel(NooBaaBucketClassModel)}/${getName(obj)}`,
);
isODF
? history.push(`/odf/resource/${resourcePath}`)
: history.push(
`/k8s/ns/${ns}/clusterserviceversions/${getName(
clusterServiceVersion,
)}/${resourcePath}`,
);
})
.catch((err) => {
dispatch({ type: 'setIsLoading', value: false });
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import {
} from '@console/internal/components/utils';
import { apiVersionForModel, k8sCreate, referenceForModel } from '@console/internal/module/k8s';
import { ModalComponentProps } from '@console/internal/components/factory';
import { getName } from '@console/shared';
import { getName, useFlag } from '@console/shared';
import { SecretModel } from '@console/internal/models';
import { history } from '@console/internal/components/utils/router';
import { CEPH_STORAGE_NAMESPACE } from '@console/ceph-storage-plugin/src/constants';
Expand All @@ -22,6 +22,7 @@ import {
NOOBAA_TYPE_MAP,
PROVIDERS_NOOBAA_MAP,
BUCKET_LABEL_NOOBAA_MAP,
ODF_MODEL_FLAG,
} from '../../constants';
import { getExternalProviders, getProviders, secretPayloadCreator } from '../../utils/noobaa-utils';
import { Payload } from '../../types';
Expand All @@ -43,6 +44,7 @@ const CreateBackingStoreForm: React.FC<CreateBackingStoreFormProps> = withHandle
providerDataReducer,
initialState,
);
const isODF = useFlag(ODF_MODEL_FLAG);

const handleBsNameTextInputChange = (strVal: string) => {
if (strVal.length <= 43) {
Expand All @@ -59,7 +61,7 @@ const CreateBackingStoreForm: React.FC<CreateBackingStoreFormProps> = withHandle
handlePromise,
isPage,
appName,
namespace,
namespace = CEPH_STORAGE_NAMESPACE,
} = props;

const onSubmit = (event) => {
Expand Down Expand Up @@ -134,12 +136,13 @@ const CreateBackingStoreForm: React.FC<CreateBackingStoreFormProps> = withHandle
promises.push(k8sCreate(NooBaaBackingStoreModel, bsPayload));
return handlePromise(Promise.all(promises), (resource) => {
const lastIndex = resource.length - 1;
const resourcePath = `${referenceForModel(NooBaaBackingStoreModel)}/${getName(
resource[lastIndex],
)}`;
if (isPage)
history.push(
`/k8s/ns/${namespace}/clusterserviceversions/${appName}/${referenceForModel(
NooBaaBackingStoreModel,
)}/${getName(resource[lastIndex])}`,
);
isODF
? history.push(`/odf/resource/${resourcePath}`)
: history.push(`/k8s/ns/${namespace}/clusterserviceversions/${appName}/${resourcePath}`);
else close();
});
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ import {
SelectProps,
SelectVariant,
} from '@patternfly/react-core';
import { StorageClassResourceKind } from '@console/internal/module/k8s';
import { isDefaultClass } from '@console/internal/components/storage-class';
import { DeploymentType } from '../../../../constants/create-storage-system';
import { WizardDispatch, WizardState } from '../../reducer';
import './backing-storage-step.scss';
Expand All @@ -19,7 +21,9 @@ export const AdvancedSection: React.FC<AdvancedSelectionProps> = ({
deployment,
isAdvancedOpen,
dispatch,
hasOCS,
isDisabled,
scList,
isValidSC,
currentStep,
}) => {
const { t } = useTranslation();
Expand All @@ -33,6 +37,12 @@ export const AdvancedSection: React.FC<AdvancedSelectionProps> = ({
*/
dispatch({ type: 'wizard/setInitialState' });
}
const defaultSC = scList.find(isDefaultClass);
dispatch({
type: 'backingStorage/setIsValidSC',
// 'value' on SelectProps['onSelect'] is string hence not matching with payload which is of "DeploymentType"
payload: value === DeploymentType.MCG ? !!defaultSC : true,
});
dispatch({
type: 'backingStorage/setDeployment',
// 'value' on SelectProps['onSelect'] is string hence not matching with payload which is of "DeploymentType"
Expand All @@ -55,15 +65,22 @@ export const AdvancedSection: React.FC<AdvancedSelectionProps> = ({
onToggle={handleExpanadableToggling}
isExpanded={isAdvancedOpen}
>
<FormGroup label={t('ceph-storage-plugin~Deployment type')} fieldId="deployment-type">
<FormGroup
label={t('ceph-storage-plugin~Deployment type')}
fieldId="deployment-type"
validated={isValidSC ? 'default' : 'error'}
helperTextInvalid={t(
'ceph-storage-plugin~A default StorageClass is needed for deployment.',
)}
>
<Select
className="odf-backing-storage__selection--width"
variant={SelectVariant.single}
onToggle={handleToggling}
onSelect={handleSelection}
selections={deployment}
isOpen={isSelectOpen}
isDisabled={hasOCS}
isDisabled={isDisabled}
>
{selectOptions}
</Select>
Expand All @@ -76,6 +93,8 @@ type AdvancedSelectionProps = {
dispatch: WizardDispatch;
deployment: WizardState['backingStorage']['deployment'];
isAdvancedOpen: WizardState['backingStorage']['isAdvancedOpen'];
hasOCS: boolean;
isValidSC: WizardState['backingStorage']['isValidSC'];
scList: StorageClassResourceKind[];
currentStep: number;
isDisabled: boolean;
};
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
.odf-backing-storage__selection--width {
width: 22rem;
.odf-backing-storage__selection {
&--width {
width: 22rem;
}
&--spacer {
margin-right: var(--pf-global--spacer--md);
}
}

.odf-backing-storage__deployment-type {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as React from 'react';

import { useTranslation } from 'react-i18next';
import { useFlag } from '@console/shared/src';
import { useFlag, DevPreviewBadge } from '@console/shared/src';
import {
Form,
FormGroup,
Expand All @@ -19,7 +19,7 @@ import {
ClusterServiceVersionModel,
} from '@console/operator-lifecycle-manager/src';
import { AdvancedSection } from './advanced-section';
import { SUPPORTED_EXTERNAL_STORAGE } from '../../external-storage';
import { SUPPORTED_EXTERNAL_STORAGE, isStorageProviderDevPreview } from '../../external-storage';
import { StorageSystemKind } from '../../../../types';
import {
getODFCsv,
Expand Down Expand Up @@ -76,13 +76,14 @@ const ExternalSystemSelection: React.FC<ExternalSystemSelectionProps> = ({
aria-label={t('ceph-storage-plugin~Select external system from list')}
value={selectedStorage}
id="storage-platform-name"
className="odf-backing-storage__selection--width"
className="odf-backing-storage__selection--width odf-backing-storage__selection--spacer"
onChange={handleSelection}
>
{selectOptions.map(({ displayName, model: { kind } }) => (
<FormSelectOption key={kind} value={kind} label={displayName} />
))}
</FormSelect>
{isStorageProviderDevPreview(selectedStorage) && <DevPreviewBadge />}
</FormGroup>
);
};
Expand Down Expand Up @@ -163,7 +164,7 @@ export const BackingStorage: React.FC<BackingStorageProps> = ({
})
: SUPPORTED_EXTERNAL_STORAGE;

const { type, externalStorage, deployment, isAdvancedOpen } = state;
const { type, externalStorage, deployment, isAdvancedOpen, isValidSC } = state;

React.useEffect(() => {
/*
Expand Down Expand Up @@ -295,7 +296,9 @@ export const BackingStorage: React.FC<BackingStorageProps> = ({
dispatch={dispatch}
deployment={deployment}
isAdvancedOpen={isAdvancedOpen}
hasOCS={hasOCS}
isDisabled={hasOCS}
scList={sc?.items}
isValidSC={isValidSC}
currentStep={stepIdReached}
/>
)}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,7 @@ export const CapacityAndNodes: React.FC<CapacityAndNodesProps> = ({

const isNoProvisioner = storageClass.provisioner === NO_PROVISIONER;

const validations = capacityAndNodesValidate(nodes, enableArbiter);
const validations = capacityAndNodesValidate(nodes, enableArbiter, isNoProvisioner);

return (
<Form>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@ export const LocalVolumeSetBody: React.FC<LocalVolumeSetBodyProps> = ({
items={diskModeDropdownItems}
title={state.diskMode}
selectedKey={state.diskMode}
onChange={(mode: string) => formHandler('diskMode', mode)}
onChange={(mode: string) => formHandler('diskMode', diskModeDropdownItems[mode])}
/>
</FormGroup>
<FormGroup
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,13 @@ import { LocalVolumeSetBody } from './body';
import { SelectedCapacity } from './selected-capacity';
import { createWizardNodeState } from '../../../../utils/create-storage-system';
import { GUARDED_FEATURES } from '../../../../features';
import { arbiterText, LSO_OPERATOR, MINIMUM_NODES, OCS_TOLERATION } from '../../../../constants';
import {
arbiterText,
LSO_OPERATOR,
MINIMUM_NODES,
NO_PROVISIONER,
OCS_TOLERATION,
} from '../../../../constants';
import { ErrorHandler } from '../../error-handler';
import { WizardDispatch, WizardNodeState, WizardState } from '../../reducer';
import { useFetchCsv } from '../../use-fetch-csv';
Expand All @@ -59,6 +65,7 @@ const makeLocalVolumeSetCall = (
ns: string,
onNext: () => void,
lvsNodes: WizardState['nodes'],
dispatch: WizardDispatch,
) => {
setInProgress(true);

Expand All @@ -73,6 +80,12 @@ const makeLocalVolumeSetCall = (
k8sCreate(LocalVolumeSetModel, requestData)
.then(() => {
setInProgress(false);
if (!storageClassName) {
dispatch({
type: 'wizard/setStorageClass',
payload: { name: state.volumeSetName, provisioner: NO_PROVISIONER },
});
}
onNext();
})
.catch((err) => {
Expand Down Expand Up @@ -306,6 +319,7 @@ const ConfirmationModal: React.FC<ConfirmationModalProps> = ({
ns,
handleNext,
nodes,
dispatch,
);
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ const isValidDiskProperty = (disk: DiscoveredDisk, property: DiskMetadata['prope
const isValidDeviceType = (disk: DiscoveredDisk, types: string[]) =>
types.includes(deviceTypeDropdownItems[disk.type.toUpperCase()]);

const addNodesOnAvailableDisks = (disks: DiskMetadata[], node: string) =>
disks?.reduce((availableDisks: DiscoveredDisk[], disk: DiscoveredDisk) => {
const addNodesOnAvailableDisks = (disks: DiskMetadata[] = [], node: string) =>
disks.reduce((availableDisks: DiscoveredDisk[], disk: DiscoveredDisk) => {
if (isAvailableDisk(disk)) {
disk.node = node;
return [disk, ...availableDisks];
Expand All @@ -53,7 +53,7 @@ const createDiscoveredDiskData = (results: LocalVolumeDiscoveryResultKind[]): Di
results?.reduce((discoveredDisk: DiscoveredDisk[], lvdr) => {
const lvdrDisks = lvdr?.status?.discoveredDevices;
const lvdrNode = lvdr?.spec?.nodeName;
const availableDisks = addNodesOnAvailableDisks(lvdrDisks, lvdrNode);
const availableDisks = addNodesOnAvailableDisks(lvdrDisks, lvdrNode) || [];
return [...availableDisks, ...discoveredDisk];
}, []);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,6 @@ const CreateStorageSystem: React.FC<CreateStorageSystemProps> = ({ match }) => {
state={state}
hasOCS={hasOCS}
dispatch={dispatch}
storageSystems={ssList?.items}
disableNext={!ssLoaded || !!ssLoadError}
/>
}
Expand Down
Loading