mirror of
https://github.com/xcp-ng/xenadmin.git
synced 2025-01-21 07:49:32 +01:00
CA-333226: Reload the SR selection page when the selected affinity changes.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
This commit is contained in:
parent
37a3d17667
commit
70ec38b5d5
@ -213,7 +213,7 @@ namespace XenAdmin.Wizards.NewVMWizard
|
|||||||
page_4_HomeServer.SelectedTemplate = selectedTemplate;
|
page_4_HomeServer.SelectedTemplate = selectedTemplate;
|
||||||
page_5_CpuMem.SelectedTemplate = selectedTemplate;
|
page_5_CpuMem.SelectedTemplate = selectedTemplate;
|
||||||
pageVgpu.vm = selectedTemplate;
|
pageVgpu.vm = selectedTemplate;
|
||||||
page_6_Storage.SelectedTemplate = selectedTemplate;
|
page_6_Storage.Template = selectedTemplate;
|
||||||
page_7_Networking.SelectedTemplate = selectedTemplate;
|
page_7_Networking.SelectedTemplate = selectedTemplate;
|
||||||
page_CloudConfigParameters.Affinity = m_affinity;
|
page_CloudConfigParameters.Affinity = m_affinity;
|
||||||
page_CloudConfigParameters.SelectedTemplate = selectedTemplate;
|
page_CloudConfigParameters.SelectedTemplate = selectedTemplate;
|
||||||
|
@ -48,8 +48,10 @@ namespace XenAdmin.Wizards.NewVMWizard
|
|||||||
{
|
{
|
||||||
public partial class Page_Storage : XenTabPage
|
public partial class Page_Storage : XenTabPage
|
||||||
{
|
{
|
||||||
private VM Template;
|
private VM _template;
|
||||||
private bool InstallMethodIsNetwork;
|
private InstallMethod _selectedInstallMethod;
|
||||||
|
private Host _affinity;
|
||||||
|
private bool _loadRequired = true;
|
||||||
private bool loading;
|
private bool loading;
|
||||||
|
|
||||||
public Page_Storage()
|
public Page_Storage()
|
||||||
@ -74,18 +76,14 @@ namespace XenAdmin.Wizards.NewVMWizard
|
|||||||
|
|
||||||
protected override void PageLoadedCore(PageLoadedDirection direction)
|
protected override void PageLoadedCore(PageLoadedDirection direction)
|
||||||
{
|
{
|
||||||
VM template = SelectedTemplate;
|
if (!_loadRequired)
|
||||||
bool installMethodIsNetwork = SelectedInstallMethod == InstallMethod.Network;
|
|
||||||
|
|
||||||
if (template == Template && InstallMethodIsNetwork == installMethodIsNetwork)
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
loading = true;
|
loading = true;
|
||||||
Template = template;
|
|
||||||
|
|
||||||
InstallMethodIsNetwork = installMethodIsNetwork;
|
// CA-46213 The default should be "diskless" if the install method is "boot from network"
|
||||||
if ((!Template.DefaultTemplate() && !Template.HasAtLeastOneDisk())
|
if (!Template.DefaultTemplate() && !Template.HasAtLeastOneDisk()
|
||||||
|| (Template.IsHVM() && InstallMethodIsNetwork)) // CA-46213 The default should be "diskless" if the install method is "boot from network"
|
|| Template.IsHVM() && SelectedInstallMethod == InstallMethod.Network)
|
||||||
{
|
{
|
||||||
DisklessVMRadioButton.Checked = true;
|
DisklessVMRadioButton.Checked = true;
|
||||||
}
|
}
|
||||||
@ -94,6 +92,7 @@ namespace XenAdmin.Wizards.NewVMWizard
|
|||||||
|
|
||||||
LoadDisks();
|
LoadDisks();
|
||||||
loading = false;
|
loading = false;
|
||||||
|
_loadRequired = false;
|
||||||
UpdateEnablement(true);
|
UpdateEnablement(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -264,7 +263,7 @@ namespace XenAdmin.Wizards.NewVMWizard
|
|||||||
EditButton.Enabled = DisksRadioButton.Checked && DisksGridView.SelectedRows.Count > 0;
|
EditButton.Enabled = DisksRadioButton.Checked && DisksGridView.SelectedRows.Count > 0;
|
||||||
DeleteButton.Enabled = DisksRadioButton.Checked && DisksGridView.SelectedRows.Count > 0 && ((DiskGridRowItem)DisksGridView.SelectedRows[0]).CanDelete;
|
DeleteButton.Enabled = DisksRadioButton.Checked && DisksGridView.SelectedRows.Count > 0 && ((DiskGridRowItem)DisksGridView.SelectedRows[0]).CanDelete;
|
||||||
DisksGridView.Enabled = DisksRadioButton.Checked;
|
DisksGridView.Enabled = DisksRadioButton.Checked;
|
||||||
DisklessVMRadioButton.Enabled = Template.IsHVM() && InstallMethodIsNetwork;
|
DisklessVMRadioButton.Enabled = Template.IsHVM() && SelectedInstallMethod == InstallMethod.Network;
|
||||||
|
|
||||||
CloneCheckBox.Enabled = false;
|
CloneCheckBox.Enabled = false;
|
||||||
|
|
||||||
@ -394,8 +393,9 @@ namespace XenAdmin.Wizards.NewVMWizard
|
|||||||
|
|
||||||
DiskGridRowItem selectedItem = (DiskGridRowItem) DisksGridView.SelectedRows[0];
|
DiskGridRowItem selectedItem = (DiskGridRowItem) DisksGridView.SelectedRows[0];
|
||||||
|
|
||||||
using (var dialog = new NewDiskDialog(Connection, Template, Affinity, SrPicker.SRPickerType.LunPerVDI,
|
using (var dialog = new NewDiskDialog(Connection, Template, Affinity, SrPicker.SRPickerType.LunPerVDI,
|
||||||
selectedItem.Disk, selectedItem.CanResize, selectedItem.MinSize, AddedVDIs) {DontCreateVDI = true})
|
selectedItem.Disk, selectedItem.CanResize, selectedItem.MinSize, AddedVDIs)
|
||||||
|
{DontCreateVDI = true})
|
||||||
{
|
{
|
||||||
if (dialog.ShowDialog(ParentForm) != DialogResult.OK)
|
if (dialog.ShowDialog(ParentForm) != DialogResult.OK)
|
||||||
return;
|
return;
|
||||||
@ -488,10 +488,43 @@ namespace XenAdmin.Wizards.NewVMWizard
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public VM SelectedTemplate { private get; set; }
|
public VM Template
|
||||||
|
{
|
||||||
|
private get { return _template; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
if (_template != value)
|
||||||
|
_loadRequired = true;
|
||||||
|
|
||||||
|
_template = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public string SelectedName { private get; set; }
|
public string SelectedName { private get; set; }
|
||||||
public InstallMethod SelectedInstallMethod { private get; set; }
|
|
||||||
public Host Affinity { private get; set; }
|
public InstallMethod SelectedInstallMethod
|
||||||
|
{
|
||||||
|
private get { return _selectedInstallMethod; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
if (_selectedInstallMethod != value)
|
||||||
|
_loadRequired = true;
|
||||||
|
|
||||||
|
_selectedInstallMethod = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Host Affinity
|
||||||
|
{
|
||||||
|
private get { return _affinity; }
|
||||||
|
set
|
||||||
|
{
|
||||||
|
if (_affinity != value)
|
||||||
|
_loadRequired = true;
|
||||||
|
|
||||||
|
_affinity = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
@ -535,6 +568,7 @@ namespace XenAdmin.Wizards.NewVMWizard
|
|||||||
MinSize = Disk.virtual_size;
|
MinSize = Disk.virtual_size;
|
||||||
|
|
||||||
Cells.AddRange(ImageCell, NameCell, SrCell, SizeCell, SharedCell);
|
Cells.AddRange(ImageCell, NameCell, SrCell, SizeCell, SharedCell);
|
||||||
|
|
||||||
UpdateDetails();
|
UpdateDetails();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user