From 62fa7f3dd1ac58de54988b741a4ae1530e4533ed Mon Sep 17 00:00:00 2001 From: zhuyue Date: Wed, 1 Sep 2021 16:14:41 +0800 Subject: [PATCH] fix: Check status of instance when attaching port check status of instance when attaching port Change-Id: I1eabd674b475f627ae4b70d21a6cfe2f87ef84ee --- .../network/containers/VirtualAdapter/actions/Attach.jsx | 7 ++++++- src/resources/instance.jsx | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/pages/network/containers/VirtualAdapter/actions/Attach.jsx b/src/pages/network/containers/VirtualAdapter/actions/Attach.jsx index 98695c79..ec077773 100644 --- a/src/pages/network/containers/VirtualAdapter/actions/Attach.jsx +++ b/src/pages/network/containers/VirtualAdapter/actions/Attach.jsx @@ -15,7 +15,10 @@ import { inject, observer } from 'mobx-react'; import { ModalAction } from 'containers/Action'; import globalServerStore, { ServerStore } from 'stores/nova/instance'; -import { instanceSelectTablePropsBackend } from 'resources/instance'; +import { + instanceSelectTablePropsBackend, + allowAttachInterfaceStatus, +} from 'resources/instance'; @inject('rootStore') @observer @@ -85,6 +88,8 @@ export default class Attach extends ModalAction { type: 'select-table', backendPageStore: this.store, extraParams: { noReminder: true }, + disabledFunc: (item) => + item.locked || !allowAttachInterfaceStatus.includes(item.vm_state), required: true, isMulti: false, ...instanceSelectTablePropsBackend, diff --git a/src/resources/instance.jsx b/src/resources/instance.jsx index 5a1127e7..a58dbca9 100644 --- a/src/resources/instance.jsx +++ b/src/resources/instance.jsx @@ -574,3 +574,5 @@ export const actionColumn = (self) => { }, ]; }; + +export const allowAttachInterfaceStatus = ['active', 'paused', 'stopped'];