Пример #1
0
        public HAWizard(Pool pool)
            : base(pool.Connection)
        {
            InitializeComponent();

            xenTabPageIntro            = new Intro();
            m_pageRbac                 = new RBACWarningPage();
            xenTabPageAssignPriorities = new AssignPriorities();
            xenTabPageChooseSR         = new ChooseSR();
            xenTabPageHaFinish         = new HAFinishPage();

            this.pool   = pool;
            _rbacNeeded = !pool.Connection.Session.IsLocalSuperuser &&
                          Helpers.GetMaster(pool.Connection).external_auth_type != Auth.AUTH_TYPE_NONE;

            AddPage(xenTabPageIntro);

            if (_rbacNeeded)
            {
                var check = new RBACWarningPage.WizardPermissionCheck(Messages.RBAC_HA_ENABLE_WARNING)
                {
                    Blocking = true
                };
                check.AddApiCheckRange(
                    "vm.set_ha_restart_priority",
                    "vm.set_order",
                    "vm.set_start_delay",
                    "pool.sync_database",
                    "pool.ha_compute_hypothetical_max_host_failures_to_tolerate",
                    "pool.set_ha_host_failures_to_tolerate",
                    "pool.enable_ha",
                    "sr.assert_can_host_ha_statefile"
                    );

                m_pageRbac.AddPermissionChecks(xenConnection, check);
                AddPage(m_pageRbac);
            }

            AddPage(xenTabPageChooseSR);
            xenTabPageChooseSR.Pool = pool;
            AddPage(xenTabPageAssignPriorities);
            xenTabPageAssignPriorities.ProtectVmsByDefault = true;
            xenTabPageAssignPriorities.Connection          = pool.Connection;//set the connection again after the page has been added
            AddPage(xenTabPageHaFinish);
        }
Пример #2
0
        public HAWizard(Pool pool)
            : base(pool.Connection)
        {
            InitializeComponent();

            xenTabPageIntro            = new Intro();
            xenTabPageAssignPriorities = new AssignPriorities();
            xenTabPageChooseSR         = new ChooseSR();
            xenTabPageHaFinish         = new HAFinishPage();

            this.pool = pool;

            AddPage(xenTabPageIntro);
            AddPage(xenTabPageChooseSR);
            xenTabPageChooseSR.Pool = pool;
            AddPage(xenTabPageAssignPriorities);
            xenTabPageAssignPriorities.ProtectVmsByDefault = true;
            xenTabPageAssignPriorities.Connection          = pool.Connection;//set the connection again after the pafe has been added
            AddPage(xenTabPageHaFinish);
        }