vatesfr / xen-orchestra

The global orchestration solution to manage and backup XCP-ng and XenServer.
https://xen-orchestra.com
Other
793 stars 265 forks source link

Enhancement : After job is done scheduler #5082

Open elialum opened 4 years ago

elialum commented 4 years ago

Hi there,

Please consider adding an extra scheduler for jobs that will be executed "After a job is done". Meaning, I will schedule the first job only (Will give specific dates and time). The second job will only be executed after the first one (I don't need to schedule a time) The third job will be executed after the second, and so on.

This is very helpful when dealing with lots of jobs where you can't afford them to work simultaneously, assuring that only one job will be running at a given time.

olivierlambert commented 4 years ago

Can you give more real use cases for that so we understand?

elialum commented 4 years ago

Hi,

40 HyperVisors Each Hypervisor has one CR job inside XO Each Hypervisor hold about 20vms Each Hypervisor runs the VMs on local SR storage Each Hypervisor also has iSCSI SR to external storage

XOA is configured with CR job to export all VMs from Local storage into iSCSI SR for each hypervisor (40 different jobs)

Problems -

  1. Traffic is shifted through XenOrchestra, running 3-4 jobs simultaneously will kill XO's IO
  2. If it's only one iSCSI target to manage all 40 hypervisors, likely to have IO issues running 3-4 jobs simultaneously
  3. Even If I want to make sure only one job will run at a given time, it's impossible unless we create huge gaps between each job
olivierlambert commented 4 years ago

It's more clear when you actually tell what's your issue instead of asking for a feature directly :wink:

There's already solutions:

  1. Use backup proxies
  2. No not really. Export speed is pretty slow, so it won't cause any issues on your running SR.
  3. You should read https://xen-orchestra.com/docs/backups.html#backup-concurrency With a concurrency of one, you'll reduce a lot your current issues
m4xw commented 4 years ago

Late to the party, but this feature request is also technically a dupe of what I proposed here https://github.com/vatesfr/xen-orchestra/issues/4847 given that it would be solved by allowing to schedule on job complete.

elialum commented 4 years ago

Yes, @m4xw same concept and definitely will help

Don't seem like they are interested in implementing this however now with the new Proxy, which still doesn't really help on large scales.

We manage a very large scale of servers & VMs and need to manually manage the schedules to prevent IO & Network overload... on XOA, also with Proxies applied, you still need to control it. Having the option to "chain" jobs, will allow to "shoot and forget" after the first job runs, making everyone else coming after one-by-one accordingly (could be meta job as well)

olivierlambert commented 4 years ago

@elialum do you have an XOA Support ticket open on that topic?

elialum commented 4 years ago

Hi @olivierlambert :)

Nope, it's just a suggestion ("feature request"), not something I thought needed a ticket. Do need me to open a ticket?

olivierlambert commented 4 years ago

It might help to prioritize things, that's the perk of having pro support :)