Windows Azure Pack. Добавление возможности выбора сети на странице быстрого создания VM.
Есть в Windows Azure Pack странная особенность - отсутствие возможности выбора подключения к сети при создании виртуальной машины из меню "Быстрое создание". В данной статье предложено решение для устранения этого недостатка.Автор решения - Сергей Груздов (egel@egel.su)
Для того, чтобы появилось меню выбора сети на странице быстрого создания виртуальной машины, нам необходимо отредактировать три файла.
1. Откроем VM.ViewModel.VMInstance.QuickCreate.js:
notepad C:\inetpub\MgmtSvc-TenantSite\Content\VM\Scripts\ViewModels\VM.ViewModel.VMInstance.QuickCreate.js
Добавим строку в функцию _bind:
function _bind() {
this.updateSubscriptions();
this.updateTemplates();
this.updateVmShieldingData();
this.bindEventHandlers();
this.setVMComputerNameMaxLength();
this.updateNetworks();
}
Для функции _populateTemplateValues(template) добавим параметр osType в класс observable:
$.observable(this.vmData).setProperty({
templateId: template.id,
userName: userName,
isUsernameEditable: userNameEditable,
shielded: template.shielded,
osType: template.operatingSystem.osType
});
Отредактируем функцию initializeVMData():
function initializeVMData() {
return {
name: null,
subscriptionId: null,
password: null,
templateId: -1,
userName: "",
isUsernameEditable: false,
shielded: null,
vmShieldingData: [loadingEntryItem],
vmShieldingDataId: null,
stampId: null,
productKey: null,
sshKey: null,
osType: null,
network: -1,
vmNetworks: [],
isNetworkRequired: false,
isHardwareProfileRequired: true
};
}
Добавим две строки в _viewModel:
_viewModel = global.Shell.Class.define(_init, {
subscriptions: [loadingEntryItem],
vmTemplates: [loadingEntryItem],
vmData: initializeVMData(),
updateSubscriptions: _updateSubscriptions,
updateTemplates: _updateTemplates,
populateTemplateValues: _populateTemplateValues,
updateVmShieldingData: _updateVmShieldingData,
setVMComputerNameMaxLength: _setVMComputerNameMaxLength,
destroy: _destroy,
bindEventHandlers: _bindEventHandlers,
unbindEventHandlers: _unbindEventHandlers,
bind: _bind,
virtualNetworks: [loadingEntryItem],
updateNetworks: _updateNetworks
});
Добавим одну новую функцию - _updateNetworks():
2. Выполним правку файла VM.Workflow.VMInstance.QuickCreate.js.
notepad C:\inetpub\MgmtSvc-TenantSite\Content\VM\Scripts\Workflows\VM.Workflow.VMInstance.QuickCreate.js
Заменим содержимое _createVMInstanceStep:
3. Завершающий этап - редактирование страницы быстрого создания виртуальной машины:
notepad C:\inetpub\MgmtSvc-TenantSite\Content\VM\Templates\Menu\VMInstance.QuickCreate.html
В этом файле необходимо найти строку:
<div class="drawer-form-item aux-dialog-shieldingData" data-link="visible{:vmData.shielded}">
И перед ней добавить форму выбора сети:
Выполняем iisreset и проверяем. Должно получиться так:
Комментариев нет:
Отправить комментарий