Ejemplo n.º 1
0
        public static SrPickerItem Create(SR sr, SrPicker.SRPickerType usage, Host aff, VDI[] vdis)
        {
            switch (usage)
            {
            case SrPicker.SRPickerType.Migrate:
                return(new SrPickerMigrateItem(sr, aff, vdis));

            case SrPicker.SRPickerType.Copy:
                return(new SrPickerCopyItem(sr, aff, vdis));

            case SrPicker.SRPickerType.Move:
                return(new SrPickerMoveItem(sr, aff, vdis));

            case SrPicker.SRPickerType.InstallFromTemplate:
                return(new SrPickerInstallFromTemplateItem(sr, aff, vdis));

            case SrPicker.SRPickerType.VM:
                return(new SrPickerVmItem(sr, aff, vdis));

            case SrPicker.SRPickerType.LunPerVDI:
                return(new SrPickerLunPerVDIItem(sr, aff, vdis));

            default:
                throw new ArgumentException("There is no SRPickerItem for the type: " + usage);
            }
        }
Ejemplo n.º 2
0
        public SrPickerItem PickerItem(SR sr, SrPicker.SRPickerType usage, Host aff, long diskSize, VDI[] vdis)
        {
            if (SrPicker.SRPickerType.Migrate == usage)
            {
                return(new SrPickerMigrateItem(sr, aff, diskSize, vdis));
            }
            if (SrPicker.SRPickerType.MoveOrCopy == usage)
            {
                return(new SrPickerMoveCopyItem(sr, aff, diskSize, vdis));
            }
            if (SrPicker.SRPickerType.InstallFromTemplate == usage)
            {
                return(new SrPickerInstallFromTemplateItem(sr, aff, diskSize, vdis));
            }
            if (SrPicker.SRPickerType.VM == usage)
            {
                return(new SrPickerVmItem(sr, aff, diskSize, vdis));
            }
            if (SrPicker.SRPickerType.LunPerVDI == usage)
            {
                return(new SrPickerLunPerVDIItem(sr, aff, diskSize, vdis));
            }

            throw new ArgumentException("There is no SRPickerItem for the type: " + usage);
        }
Ejemplo n.º 3
0
        public NewDiskDialog(IXenConnection connection, VM vm, Host affinity,
                             SrPicker.SRPickerType pickerUsage = SrPicker.SRPickerType.VM, VDI diskTemplate = null,
                             bool canResize = true, long minSize = 0, IEnumerable <VDI> vdiNamesInUse = null)
            : base(connection ?? throw new ArgumentNullException(nameof(connection)))
        {
            InitializeComponent();

            TheVM                  = vm;
            _VDINamesInUse         = vdiNamesInUse ?? new List <VDI>();
            diskSpinner1.CanResize = canResize;

            if (diskTemplate == null)
            {
                NameTextBox.Text = GetDefaultVDIName();
                diskSpinner1.Populate(minSize: minSize);
                UpdateErrorsAndButtons();
                SrListBox.PopulateAsync(pickerUsage, connection, affinity, null, null);
            }
            else
            {
                DiskTemplate            = diskTemplate;
                NameTextBox.Text        = DiskTemplate.Name();
                DescriptionTextBox.Text = DiskTemplate.Description();
                Text          = Messages.EDIT_DISK;
                OkButton.Text = Messages.OK;
                diskSpinner1.Populate(DiskTemplate.virtual_size, minSize);
                UpdateErrorsAndButtons();
                SrListBox.PopulateAsync(pickerUsage, connection, affinity, connection.Resolve(DiskTemplate.SR), null);
            }
        }
Ejemplo n.º 4
0
        private void CanDoScenario(SrPicker.SRPickerType type, IEnumerable <TestData> testData)
        {
            int count = 0;

            foreach (TestData data in testData)
            {
                var item = SrPickerItem.Create(data.Sr, type, data.Affinity, data.DiskSize, data.VdisToMove);
                Assert.That(item.Show, Is.True, "Item Shown: Item " + count);
                Assert.That(item.Enabled, Is.True, "Item Enabled: Item " + count);
                count++;
            }
        }
Ejemplo n.º 5
0
        private void CannotDoScenario(SrPicker.SRPickerType type, IEnumerable <TestData> testData)
        {
            int count = 0;

            foreach (TestData data in testData)
            {
                var item = SrPickerItem.Create(data.Sr, type, data.Affinity, data.DiskSize, data.VdisToMove);
                Assert.That(item.Show, Is.True, "Item Shown: Item " + count);
                Assert.That(item.Enabled, Is.False, "Item Enabled: Item " + count);
                Assert.That(item.Description, Is.EqualTo(data.ExpectedFailureDescription), "Item Reason: Item " + count);
                count++;
            }
        }
Ejemplo n.º 6
0
        public NewDiskDialog(IXenConnection connection, VM vm, SrPicker.SRPickerType PickerUsage, VDI diskTemplate, Host affinity, bool canResize, long minSize, IEnumerable <VDI> vdiNamesInUse)
            : this(connection, vdiNamesInUse)
        {
            TheVM            = vm;
            DiskTemplate     = diskTemplate;
            CanResize        = canResize;
            MinSize          = minSize;
            this.PickerUsage = PickerUsage;
            SrListBox.SetAffinity(affinity);

            Pool pool_sr = Helpers.GetPoolOfOne(connection);

            if (pool_sr != null)
            {
                SrListBox.DefaultSR = connection.Resolve(pool_sr.default_SR); //if default sr resolves to null the first sr in the list will be selected
            }
            SrListBox.selectDefaultSROrAny();

            LoadValues();
        }
Ejemplo n.º 7
0
        public NewDiskDialog(IXenConnection connection, VM vm, Host affinity,
                             SrPicker.SRPickerType pickerUsage = SrPicker.SRPickerType.VM, VDI diskTemplate = null,
                             bool canResize = true, long minSize = 0, IEnumerable <VDI> vdiNamesInUse = null)
            : base(connection ?? throw new ArgumentNullException(nameof(connection)))
        {
            InitializeComponent();

            TheVM          = vm;
            _VDINamesInUse = vdiNamesInUse ?? new List <VDI>();

            SrListBox.Connection = connection;
            SrListBox.Usage      = pickerUsage;
            SrListBox.SetAffinity(affinity);

            Pool pool_sr = Helpers.GetPoolOfOne(connection);

            if (pool_sr != null)
            {
                SrListBox.DefaultSR = connection.Resolve(pool_sr.default_SR); //if default sr resolves to null the first sr in the list will be selected
            }

            if (diskTemplate == null)
            {
                NameTextBox.Text = GetDefaultVDIName();
                SrListBox.selectDefaultSROrAny();
                diskSpinner1.Populate(minSize: minSize);
            }
            else
            {
                DiskTemplate            = diskTemplate;
                NameTextBox.Text        = DiskTemplate.Name();
                DescriptionTextBox.Text = DiskTemplate.Description();
                SrListBox.selectSRorDefaultorAny(connection.Resolve(DiskTemplate.SR));
                Text          = Messages.EDIT_DISK;
                OkButton.Text = Messages.OK;
                diskSpinner1.Populate(DiskTemplate.virtual_size, minSize);
            }

            diskSpinner1.CanResize = canResize;
        }
Ejemplo n.º 8
0
        public NewDiskDialog(IXenConnection connection, VM vm, SrPicker.SRPickerType PickerUsage, VDI diskTemplate, Host affinity, bool canResize, long minSize, IEnumerable<VDI> vdiNamesInUse)
            : this(connection, vdiNamesInUse)
        {
            TheVM = vm;
            DiskTemplate = diskTemplate;
            CanResize = canResize;
            MinSize = minSize;
            this.PickerUsage = PickerUsage;
            SrListBox.SetAffinity(affinity);

            Pool pool_sr = Helpers.GetPoolOfOne(connection);
            if (pool_sr != null)
            {
                SrListBox.DefaultSR = connection.Resolve(pool_sr.default_SR); //if default sr resolves to null the first sr in the list will be selected
            }
            SrListBox.selectDefaultSROrAny();

            LoadValues();
        }