Exemple #1
0
        private void DestroyDrTasks()
        {
            // destroy DR tasks
            if (DrTasks.Count > 0)
            {
                SummaryReport.AddLine(Messages.DR_WIZARD_REPORT_DR_CLEANUP);
            }

            foreach (var drTask in DrTasks.ToList())
            {
                List <SR> srs     = Pool.Connection.ResolveAll(drTask.introduced_SRs);
                string    srNames = string.Join(", ", (from sr in srs select sr.Name()).ToArray());

                DR_task task   = drTask;
                var     action = new DelegatedAsyncAction(xenConnection,
                                                          string.Format(Messages.ACTION_DR_TASK_DESTROY_TITLE, srNames), Messages.ACTION_DR_TASK_DESTROY_STATUS, Messages.ACTION_DR_TASK_DESTROY_DONE,
                                                          s => DR_task.destroy(s, task.opaque_ref))
                {
                    Pool = this.Pool
                };
                new Dialogs.ActionProgressDialog(action, ProgressBarStyle.Blocks).ShowDialog();

                if (action.Succeeded)
                {
                    DrTasks.Remove(drTask);
                }

                SummaryReport.AddActionResult(action);
            }
        }
Exemple #2
0
        private void NewDrTask(string opaqueRef)
        {
            DR_task drTask = DR_task.get_record(Pool.Connection.Session, opaqueRef);

            drTask.opaque_ref = opaqueRef;
            DrTasks.Add(drTask);
            IntroducedSrs.AddRange(drTask.introduced_SRs);
        }
        protected override void Run()
        {
            Description = Messages.ACTION_DR_TASK_CREATE_STATUS;

            // create DR_task
            RelatedTask = DR_task.async_create(Session, _deviceInfo.Type.ToString(),
                                               _deviceInfo.DeviceConfig, _deviceInfo.SrUuids);

            PollToCompletion();
            Description = Messages.ACTION_DR_TASK_CREATE_DONE;
        }