Skip to content

Commit

Permalink
Merge pull request #7793 from glekner/fix-1914941
Browse files Browse the repository at this point in the history
Bug 1914941: VM Template rootdisk is not deleted after fetching default disk bus
  • Loading branch information
openshift-merge-robot committed Jan 13, 2021
2 parents a352650 + d11d81e commit 3889e5b
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 19 deletions.
Expand Up @@ -16,7 +16,7 @@ import {
import { VolumeWrapper } from '../../../../k8s/wrapper/vm/volume-wrapper';
import { DataVolumeWrapper } from '../../../../k8s/wrapper/vm/data-volume-wrapper';
import { ProvisionSource } from '../../../../constants/vm/provision-source';
import { WINTOOLS_CONTAINER_NAMES } from '../../../../constants';
import { VM_TEMPLATE_NAME_PARAMETER, WINTOOLS_CONTAINER_NAMES } from '../../../../constants';
import { stringValueUnitSplit } from '../../../form/size-unit-utils';
import { InitialStepStateGetter } from './types';
import {
Expand Down Expand Up @@ -240,9 +240,9 @@ export const getNewProvisionSourceStorage = (state: any, id: string): VMWizardSt
const iUserTemplate = iGetCommonData(state, id, VMWizardProps.userTemplate);
const iCommonTemplates = iGetLoadedCommonData(state, id, VMWizardProps.commonTemplates);
const iTemplate = iCommonTemplates && iGetRelevantTemplate(iCommonTemplates, relevantOptions);
// eslint-disable-next-line no-template-curly-in-string
const tmpDiskBus = DiskBus.fromString(iGetCommonTemplateDiskBus(iTemplate, '${NAME}'));

const tmpDiskBus = DiskBus.fromString(
iGetCommonTemplateDiskBus(iTemplate, VM_TEMPLATE_NAME_PARAMETER),
);
const initialData = getInitialData(state, id);
const { source } = initialData;
const storagesUpdate = getStorages(state, id);
Expand Down
Expand Up @@ -63,6 +63,7 @@ import { isCommonTemplate, selectVM } from '../../../../selectors/vm-template/ba
import { convertToHighestUnitFromUnknown } from '../../../form/size-unit-utils';
import { isCustomFlavor, toUIFlavor } from '../../../../selectors/vm-like/flavor';
import { generateDataVolumeName } from '../../../../utils';
import { VM_TEMPLATE_NAME_PARAMETER } from '../../../../constants';

export const prefillVmTemplateUpdater = ({ id, dispatch, getState }: UpdateOptions) => {
const state = getState();
Expand Down Expand Up @@ -209,7 +210,7 @@ export const prefillVmTemplateUpdater = ({ id, dispatch, getState }: UpdateOptio
const standaloneDataVolumeLookup = createBasicLookup<V1alpha1DataVolume>(dataVolumes, getName);

const vmDisks = commonTemplateName
? getDisks(vm).filter((d) => d.name !== 'rootdisk')
? getDisks(vm).filter((d) => d.name !== VM_TEMPLATE_NAME_PARAMETER)
: getDisks(vm);

// prefill storage
Expand Down
Expand Up @@ -15,7 +15,6 @@ import { DataVolumeWrapper } from '../../../../k8s/wrapper/vm/data-volume-wrappe
import { PersistentVolumeClaimWrapper } from '../../../../k8s/wrapper/vm/persistent-volume-claim-wrapper';
import { DiskWrapper } from '../../../../k8s/wrapper/vm/disk-wrapper';
import { VolumeWrapper } from '../../../../k8s/wrapper/vm/volume-wrapper';
import { VM_TEMPLATE_NAME_PARAMETER } from '../../../../constants';

export const validateStorages = (options: UpdateOptions) => {
const { id, prevState, dispatch, getState } = options;
Expand Down Expand Up @@ -68,9 +67,7 @@ export const setStoragesTabValidity = (options: UpdateOptions) => {
const { id, dispatch, getState } = options;
const state = getState();

const iStorages = iGetStorages(state, id).filter(
(iStorage) => iGetIn(iStorage, ['disk', 'name']) !== VM_TEMPLATE_NAME_PARAMETER,
);
const iStorages = iGetStorages(state, id);
let errorKey: string;

let hasAllRequiredFilled = iStorages.every((iStorage) =>
Expand Down
Expand Up @@ -22,7 +22,7 @@ import {
hasStepUpdateDisabled,
isStepLocked,
} from '../../selectors/immutable/wizard-selectors';
import { VMWizardProps, VMWizardStorage, VMWizardStorageType, VMWizardTab } from '../../types';
import { VMWizardProps, VMWizardStorage, VMWizardTab } from '../../types';
import { VMDisksTable } from '../../../vm-disks/vm-disks';
import { vmWizardActions } from '../../redux/actions';
import { ActionType } from '../../redux/types';
Expand Down Expand Up @@ -90,15 +90,6 @@ const StorageTabFirehose: React.FC<StorageTabFirehoseProps> = ({
}) => {
const { t } = useTranslation();

React.useEffect(() => {
storages.forEach(({ type, id, disk }) => {
const isTemplateType = type === VMWizardStorageType.TEMPLATE;
// eslint-disable-next-line no-template-curly-in-string
const isMatchedDiskName = disk.name === '${NAME}';
isTemplateType && isMatchedDiskName && removeStorage(id);
});
}, [removeStorage, storages]);

const showStorages = storages.length > 0 || isBootDiskRequired;

const withProgress = wrapWithProgress(setTabLocked);
Expand Down

0 comments on commit 3889e5b

Please sign in to comment.