[pve-devel] [PATCH access-control/manager] add realm sync jobs

Dominik Csapak d.csapak at proxmox.com
Mon Apr 4 10:54:11 CEST 2022


with this, users now can schedule realm sync jobs, instead of manually
pressing 'sync' or configuring a cronjob for 'pveum realm sync'

this series requires my previous realm sync improvment series[0].
i could make it so that it doesn't, but this way we can safely
omit the legacy 'full' and 'purge' parameters from the beginning.

not really sure about 'domainsyncjobs' api path, but i tried to be
consistent with our remaining naming for that.
(maybe we should deprecate the 'domain' thing and use 'realm'
everywhere? that would be at least consistent with the gui)

i know i have to rebase this to where the actual perl modules land
after applying hannes previous series to move the Jobs and Plugin
modules[1], but i sent it regardless, since the code itself would not change,
so it can be reviewed right now

the access-control patch needs special care, since i try to sync
independent pve-scheduler calls across the cluster. in my tests here
it worked, but that does not mean i didn't overlook some things.

as it stands now, pve-manager depends on the new access-control

0: https://lists.proxmox.com/pipermail/pve-devel/2022-March/052319.html
1: https://lists.proxmox.com/pipermail/pve-devel/2022-March/052230.html

pve-access-control:

Dominik Csapak (1):
  add realmsync plugin for jobs and CRUD api for domainsync-jobs

 src/PVE/API2/AccessControl.pm |   6 +
 src/PVE/API2/Domainsync.pm    | 278 ++++++++++++++++++++++++++++++++++
 src/PVE/API2/Makefile         |   1 +
 src/PVE/Jobs/Makefile         |   6 +
 src/PVE/Jobs/RealmSync.pm     | 192 +++++++++++++++++++++++
 src/PVE/Makefile              |   1 +
 6 files changed, 484 insertions(+)
 create mode 100644 src/PVE/API2/Domainsync.pm
 create mode 100644 src/PVE/Jobs/Makefile
 create mode 100644 src/PVE/Jobs/RealmSync.pm

pve-manager:

Dominik Csapak (4):
  Jobs: provide id and schedule to the job
  Jobs/Plugin: remove 'vzdump' from id description
  Jobs: add RealmSync Plugin and register it
  ui: add Realm Sync panel

 PVE/Jobs.pm                     |   4 +-
 PVE/Jobs/Plugin.pm              |   2 +-
 www/manager6/Makefile           |   1 +
 www/manager6/dc/Config.js       |   7 +
 www/manager6/dc/RealmSyncJob.js | 315 ++++++++++++++++++++++++++++++++
 5 files changed, 327 insertions(+), 2 deletions(-)
 create mode 100644 www/manager6/dc/RealmSyncJob.js

-- 
2.30.2






More information about the pve-devel mailing list