Windows Azure Pack. После обновления до UR10 неактивна кнопка "Detach".
Обнаружил данную проблему случайно, когда просматривал технет. Она оказалась довольно неприятным сюрпризом. Увы, но вот детач ISO и VHDX после обновления я не проверил. Клиенты, как ни странно, тоже. Для устранения данной проблемы необходимо немного подправить функцию, отвечающую за статус кнопки (enabled).
Надо выполнить:
1. Зайти на сервер, где находится сайт WAP Tenant.
2. Открыть в редакторе файл:
C:\inetpub\MgmtSvc-TenantSite\Content\VM\Scripts\Commands\VM.Command.VirtualMachine.Detach.js
3. Найти строки и исправить.
Было:
return navigationContext.extension === global.VMExtension.name &&
navigationContext.viewName === constants.tabId.vmConfigTabId &&
dataContext.activeVM &&
dataContext.activeVM.status &&
utility.canDetach(dataContext.activeVM.status) &&
configViewModel &&
configViewModel.selectedDevice &&
!isOSDisk &&
!isDataDisk &&
isDetachingNetworkAdapterAllowed;
Стало:
return navigationContext.extension === global.VMExtension.name &&
navigationContext.viewName === constants.tabId.vmConfigTabId &&
dataContext.activeVM &&
dataContext.activeVM.status &&
utility.canDetach(dataContext.activeVM.status) &&
configViewModel &&
configViewModel.selectedDevice &&
!isOSDisk &&
!isDataDisk;
// isDetachingNetworkAdapterAllowed;
4. Ожидать следующий CU, где этот баг пофиксят.
Добрый день.
ОтветитьУдалитьВ вашем варианте тогда появляется возможность отключать сетевые интерфейсы при включенной ВМ.
Попробуйте так сделать:
/// To detach NICs, VM can be in Stopped/Running state.
/// For attaching network adapter when VM is in Running state, host should be TH and VM should be of Generation 2 type.
if (configViewModel &&
configViewModel.selectedDevice &&
configViewModel.selectedDevice.deviceTypeString === constants.vmDeviceType.Network &&
dataContext.activeVM &&
dataContext.activeVM.status !== constants.vmStatus.PowerOff) { // &&
// For attaching/detaching Network Adapter when VM is in running state host OS should be Threshold, as WAP & SPF doesn't have information
// about the host we are checking for presence of "shielded" property which will be present only if the VM is hosted on a TH host
// This is a workaround which will be removed once VMM & SPF exposes host OS information to WAP
//utility.canAttachDetachNIC(dataContext.activeVM.status, dataContext.activeVM.generation, dataContext.activeVM.shielded)) {
isDetachingNetworkAdapterAllowed = true;
}
return navigationContext.extension === global.VMExtension.name &&
navigationContext.viewName === constants.tabId.vmConfigTabId &&
dataContext.activeVM &&
dataContext.activeVM.status &&
utility.canDetach(dataContext.activeVM.status) &&
configViewModel &&
configViewModel.selectedDevice &&
!isOSDisk &&
!isDataDisk &&
!isDetachingNetworkAdapterAllowed;
},
Дмитрий, точно. Проверил - вы правы, не досмотрел. Одно починил, другое поломал (хотя детач сети не проходит, но лишняя ошибка ведет к лишним вопросам от клиентов). Спасибо! :)
ОтветитьУдалить