Esempio n. 1
0
        internal NewSRWizard(IXenConnection connection, SR srToReattach, bool disasterRecoveryTask)
            : base(connection)
        {
            InitializeComponent();

            xenTabPageSrName              = new NewSrWizardNamePage();
            xenTabPageCifsIso             = new CIFS_ISO();
            xenTabPageCifs                = new CifsFrontend();
            xenTabPageCslg                = new CSLG();
            xenTabPageVhdoNFS             = new VHDoNFS();
            xenTabPageNfsIso              = new NFS_ISO();
            xenTabPageNetApp              = new NetApp();
            xentabPageEqualLogic          = new EqualLogic();
            xenTabPageLvmoIscsi           = new LVMoISCSI();
            xenTabPageLvmoHba             = new LVMoHBA();
            xenTabPageLvmoFcoe            = new LVMoFCoE();
            xenTabPageLvmoHbaSummary      = new LVMoHBASummary();
            xenTabPageLvmoBondSummary     = new LVMoBondSummary();
            xenTabPageLvmoBond            = new LVMoBond();
            xenTabPageLvmoMirror          = new LVMoMirror();
            xenTabPageLvmoMirrorSetIscsi  = new LVMoMirrorIscsi();
            xenTabPageLVMoMirrorChooseLog = new LVMoMirrorChooseLogPage();
            xenTabPageLvmoMirrorSummary   = new LVMoMirrorSummaryPage();
            xenTabPageCslgSettings        = new CslgSettings();
            xenTabPageCslgLocation        = new CslgLocation();
            xenTabPageFilerDetails        = new FilerDetails();
            xenTabPageChooseSrType        = new ChooseSrTypePage();
            xenTabPageRbacWarning         = new RBACWarningPage((srToReattach == null && !disasterRecoveryTask)
                             ? Messages.RBAC_WARNING_PAGE_DESCRIPTION_SR_CREATE
                             : Messages.RBAC_WARNING_PAGE_DESCRIPTION_SR_ATTACH);

            //do not use virtual members in constructor
            var format = (srToReattach == null && !disasterRecoveryTask)
                             ? Messages.NEWSR_TEXT
                             : Messages.NEWSR_TEXT_ATTACH;

            m_text = string.Format(format, Helpers.GetName(xenConnection));

            _srToReattach = srToReattach;

            xenTabPageChooseSrType.SrToReattach         = srToReattach;
            xenTabPageChooseSrType.DisasterRecoveryTask = disasterRecoveryTask;

            // Order the tab pages
            AddPage(xenTabPageChooseSrType);
            AddPage(xenTabPageSrName);
            AddPage(new XenTabPage {
                Text = Messages.NEWSR_LOCATION
            });

            // RBAC warning page
            _rbac = (xenConnection != null && !xenConnection.Session.IsLocalSuperuser) &&
                    Helpers.GetMaster(xenConnection).external_auth_type != Auth.AUTH_TYPE_NONE;
            if (_rbac)
            {
                // if reattaching, add "Permission checks" page after "Name" page, otherwise as first page (Ref. CA-61525)
                if (_srToReattach != null)
                {
                    AddAfterPage(xenTabPageSrName, xenTabPageRbacWarning);
                }
                else
                {
                    AddPage(xenTabPageRbacWarning, 0);
                }
                ConfigureRbacPage(disasterRecoveryTask);
            }
        }
Esempio n. 2
0
        internal NewSRWizard(IXenConnection connection, SR srToReattach, IStorageLinkObject storageLinkObject, bool disasterRecoveryTask)
            : base(connection)
        {
            InitializeComponent();

            xenTabPageSrName         = new NewSrWizardNamePage();
            xenTabPageCifsIso        = new CIFS_ISO();
            xenTabPageCslg           = new CSLG();
            xenTabPageVhdoNFS        = new VHDoNFS();
            xenTabPageNfsIso         = new NFS_ISO();
            xenTabPageNetApp         = new NetApp();
            xentabPageEqualLogic     = new EqualLogic();
            xenTabPageLvmoIscsi      = new LVMoISCSI();
            xenTabPageLvmoHba        = new LVMoHBA();
            xenTabPageLvmoHbaSummary = new LVMoHBASummary();
            xenTabPageCslgSettings   = new CslgSettings();
            xenTabPageCslgLocation   = new CslgLocation();
            xenTabPageFilerDetails   = new FilerDetails();
            xenTabPageChooseSrType   = new ChooseSrTypePage();
            xenTabPageRbacWarning    = new RBACWarningPage((srToReattach == null && !disasterRecoveryTask)
                             ? Messages.RBAC_WARNING_PAGE_DESCRIPTION_SR_CREATE
                             : Messages.RBAC_WARNING_PAGE_DESCRIPTION_SR_ATTACH);

            if (connection == null)
            {
                Util.ThrowIfParameterNull(storageLinkObject, "storageLinkObject");
            }
            if (storageLinkObject == null)
            {
                Util.ThrowIfParameterNull(connection, "connection");
            }
            if (storageLinkObject != null && connection != null)
            {
                throw new ArgumentException("connection must be null when passing in a storageLinkObject", "connection");
            }

            //do not use virtual members in constructor
            var format = (srToReattach == null && !disasterRecoveryTask)
                             ? Messages.NEWSR_TEXT
                             : Messages.NEWSR_TEXT_ATTACH;

            m_text = string.Format(format, xenConnection == null ? storageLinkObject.ToString() : Helpers.GetName(xenConnection));

            _srToReattach = srToReattach;

            xenTabPageChooseSrType.SrToReattach         = srToReattach;
            xenTabPageChooseSrType.DisasterRecoveryTask = disasterRecoveryTask;
            xenTabPageCslg.SetStorageLinkObject(storageLinkObject);

            // Order the tab pages
            AddPage(xenTabPageChooseSrType);
            AddPage(xenTabPageSrName);
            AddPage(new XenTabPage {
                Text = Messages.NEWSR_LOCATION
            });

            // RBAC warning page
            _rbac = (xenConnection != null && !xenConnection.Session.IsLocalSuperuser) &&
                    Helpers.GetMaster(xenConnection).external_auth_type != Auth.AUTH_TYPE_NONE;
            if (_rbac)
            {
                // if reattaching, add "Permission checks" page after "Name" page, otherwise as first page (Ref. CA-61525)
                if (_srToReattach != null)
                {
                    AddAfterPage(xenTabPageSrName, xenTabPageRbacWarning);
                }
                else
                {
                    AddPage(xenTabPageRbacWarning, 0);
                }
                ConfigureRbacPage(disasterRecoveryTask);
            }
        }