public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Hannes Laimer <h.laimer@proxmox.com>
To: pbs-devel@lists.proxmox.com
Subject: [pbs-devel] [PATCH proxmox-backup 0/4] native local sync-jobs
Date: Mon, 13 Feb 2023 16:45:51 +0100	[thread overview]
Message-ID: <20230213154555.49610-1-h.laimer@proxmox.com> (raw)

Add support for local sync. Sync-jobs without
a remote are considered local, and use a 
different logic for pulling. The main reason
for not reusing the existing pull logic is
that the current logic relies on having a 
HttpClient and without a remote we can't create
one. Having separate logic for local pulling
however should speed up local syncs a bit,
and for syncs in the same datastore, chunck
transmission can be skipped all together.
Also the autocompletion and UI is updated
to support local sync-jobs.

The new logic is mostly adding a local
alternative whenever the HttpClient is used.
Since the pulling process involves a lot of
functions calling functions to do smaller stuff
it was not really possible to split the changes
up more.

The first 3 patches are not buildable, I split
them for easier review.

Hannes Laimer (4):
  api2: make remote for sync-jobs optional
  pull: add logic for local pull
  manager: add completion for local sync-jobs
  ui: add ui support for local sync-jobs

 pbs-api-types/src/jobs.rs         |   4 +-
 pbs-client/src/backup_reader.rs   |   5 +
 src/api2/admin/datastore.rs       |  10 +
 src/api2/config/remote.rs         |   2 +-
 src/api2/config/sync.rs           |  41 ++-
 src/api2/node/tasks.rs            |   4 +-
 src/api2/pull.rs                  |  78 +++--
 src/bin/proxmox-backup-manager.rs |  67 ++--
 src/server/email_notifications.rs |  16 +-
 src/server/pull.rs                | 499 +++++++++++++++++++-----------
 www/form/RemoteTargetSelector.js  |  29 +-
 www/window/SyncJobEdit.js         |   8 +-
 12 files changed, 502 insertions(+), 261 deletions(-)

-- 
2.30.2





             reply	other threads:[~2023-02-13 15:46 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-13 15:45 Hannes Laimer [this message]
2023-02-13 15:45 ` [pbs-devel] [PATCH proxmox-backup 1/4] api2: make remote for sync-jobs optional Hannes Laimer
2023-02-14 14:33   ` Fabian Grünbichler
2023-02-15 11:40     ` Thomas Lamprecht
2023-02-16  8:02       ` Fabian Grünbichler
2023-02-13 15:45 ` [pbs-devel] [PATCH proxmox-backup 2/4] pull: add logic for local pull Hannes Laimer
2023-02-14 14:33   ` Fabian Grünbichler
2023-02-13 15:45 ` [pbs-devel] [PATCH proxmox-backup 3/4] manager: add completion for local sync-jobs Hannes Laimer
2023-02-13 15:45 ` [pbs-devel] [PATCH proxmox-backup 4/4] ui: add ui support " Hannes Laimer
2023-02-14  8:02 ` [pbs-devel] [PATCH proxmox-backup 0/4] native " Lukas Wagner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230213154555.49610-1-h.laimer@proxmox.com \
    --to=h.laimer@proxmox.com \
    --cc=pbs-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal