all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [PATCH installer/proxmox 00/15] partially fix #2164: add bond setup across all installers
@ 2026-09-08 10:16 Christoph Heiss
  2026-09-08 10:16 ` [PATCH proxmox 01/15] installer-types: use `MacAddress` type where applicable Christoph Heiss
                   ` (14 more replies)
  0 siblings, 15 replies; 16+ messages in thread
From: Christoph Heiss @ 2026-09-08 10:16 UTC (permalink / raw)
  To: pve-devel

Partially fixes #2164 [0] by adding the possibility to set up a bond as
management interface during the installation, for all of GUI, TUI and
auto-installer.

For the GUI and TUI, the current name pinning dialog is converted into a
full-fledged advanced network options dialog, in the same vein as with
the bootdisk options.

The auto-installer gains a new section under [network]:

  [network.bond]
  members = ["ab:cd:ef:12:34:56", "ab:cd:ef:12:34:57"]
  mode = "active-backup"
  hash-policy = "layer2+3"
  primary-interface = "ab:cd:ef:12:34:57"

The respective PDM integration will be sent separately.

[0] https://bugzilla.proxmox.com/show_bug.cgi?id=2164

Questions
=========

1. Since we now discourage the use of the 'balance-alb' and 'balance-tlb'
   modes in combination with a Linux bridge (as of [1]), should these not
   even be available for selection here?

2. For the Rust part, it reuses the already existing bond types from the
   'proxmox-network-api' crate. Given that they are a lot universal
   rather than just API-specific, would it make sense to move them into
   'proxmox-network-types' instead?

   @Stefan might have some comment on this as well, as we discussed that
   off-list recently as well.

[1] https://lore.proxmox.com/pve-devel/20260828095721.263382-1-m.sandoval@proxmox.com/

Depends on
==========

- https://lore.proxmox.com/pve-devel/20260817125907.878237-1-c.heiss@proxmox.com/

Diffstat
========

proxmox:

Christoph Heiss (2):
  installer-types: use `MacAddress` type where applicable
  installer-types: answer: add options for configuring management bond

 Cargo.toml                               |   1 +
 proxmox-installer-types/Cargo.toml       |   1 +
 proxmox-installer-types/debian/control   |   2 +
 proxmox-installer-types/src/answer.rs    | 190 ++++++++++++++++++++++-
 proxmox-installer-types/src/post_hook.rs |   4 +-
 5 files changed, 194 insertions(+), 4 deletions(-)

pve-installer:

Christoph Heiss (13):
  install: run make tidy
  tree-wide: use `MacAddress` type instead of string for MAC addresses
  install: factor out /etc/network/interfaces setup into own subroutine
  install: do not rely on interface name map to be fully populated
  install: config: add option for setting up bond on management
    interface
  install: network: set up management bond if requested
  gui: network: factor out name pinning into advanced options dialog
  gui: network: add bond setup options to advanced options dialog
  auto: pass trough management network bond options to low-level
    installer
  tui: drop long obsolete comment about logo formatting
  tui: views: add widget for displaying a group of checkboxes
  tui: network: factor out name pinning into advanced options dialog
  tui: network: add bond setup options to advanced network dialog

 Cargo.toml                                    |   2 +
 Proxmox/Install.pm                            | 168 +++--
 Proxmox/Install/Config.pm                     |  44 ++
 Proxmox/Sys/Net.pm                            |  30 +
 debian/control                                |   1 +
 proxinstall                                   | 419 +++++++++---
 proxmox-auto-installer/Cargo.toml             |   1 +
 proxmox-auto-installer/src/utils.rs           |  38 +-
 proxmox-auto-installer/tests/parse-answer.rs  |   9 +-
 .../tests/resources/parse_answer/btrfs.json   |   5 +
 .../btrfs_raid_level_uppercase.json           |   5 +
 .../resources/parse_answer/disk_match.json    |   5 +
 .../parse_answer/disk_match_all.json          |   5 +
 .../parse_answer/disk_match_any.json          |   5 +
 .../resources/parse_answer/first_boot.json    |   5 +
 .../parse_answer/fqdn_from_dhcp.json          |   5 +
 ...n_from_dhcp_empty_dhcp_domain_setting.json |   5 +
 ...cp_no_dhcp_domain_with_default_domain.json |   5 +
 ...ll_fqdn_from_dhcp_with_default_domain.json |   5 +
 .../parse_answer/hashed_root_password.json    |   5 +
 .../tests/resources/parse_answer/minimal.json |   5 +
 .../resources/parse_answer/network_bond.json  |  25 +
 .../resources/parse_answer/network_bond.toml  |  20 +
 .../network_interface_pinning.json            |   5 +
 ...ace_pinning_mixed_case_mac_addresses.json} |   5 +
 ...ace_pinning_mixed_case_mac_addresses.toml} |   4 +-
 .../resources/parse_answer/nic_matching.json  |   5 +
 .../resources/parse_answer/no_network.json    |   5 +
 .../resources/parse_answer/specific_nic.json  |   5 +
 .../tests/resources/parse_answer/zfs.json     |   5 +
 .../zfs_raid_level_uppercase.json             |   5 +
 .../network_bond_invalid_hash_policy.json     |   3 +
 .../network_bond_invalid_hash_policy.toml     |  20 +
 .../network_bond_invalid_mode.json            |   3 +
 .../network_bond_invalid_mode.toml            |  18 +
 .../network_bond_primary_not_member.json      |   3 +
 .../network_bond_primary_not_member.toml      |  19 +
 .../network_bond_single_interface.json        |   3 +
 .../network_bond_single_interface.toml        |  18 +
 ...rface_pinning_overlong_interface_name.json |   2 +-
 proxmox-installer-common/Cargo.toml           |   1 +
 proxmox-installer-common/src/options.rs       | 104 +--
 proxmox-installer-common/src/setup.rs         |  38 +-
 proxmox-post-hook/src/main.rs                 |   2 +-
 proxmox-tui-installer/Cargo.toml              |   1 +
 proxmox-tui-installer/src/main.rs             |   8 +-
 proxmox-tui-installer/src/options.rs          |  45 +-
 proxmox-tui-installer/src/setup.rs            |   5 +
 proxmox-tui-installer/src/views/mod.rs        | 106 ++-
 proxmox-tui-installer/src/views/network.rs    | 623 +++++++++++++-----
 50 files changed, 1526 insertions(+), 352 deletions(-)
 create mode 100644 proxmox-auto-installer/tests/resources/parse_answer/network_bond.json
 create mode 100644 proxmox-auto-installer/tests/resources/parse_answer/network_bond.toml
 rename proxmox-auto-installer/tests/resources/parse_answer/{network_interface_pinning_uppercase_mac_address.json => network_interface_pinning_mixed_case_mac_addresses.json} (88%)
 rename proxmox-auto-installer/tests/resources/parse_answer/{network_interface_pinning_uppercase_mac_address.toml => network_interface_pinning_mixed_case_mac_addresses.toml} (85%)
 create mode 100644 proxmox-auto-installer/tests/resources/parse_answer_fail/network_bond_invalid_hash_policy.json
 create mode 100644 proxmox-auto-installer/tests/resources/parse_answer_fail/network_bond_invalid_hash_policy.toml
 create mode 100644 proxmox-auto-installer/tests/resources/parse_answer_fail/network_bond_invalid_mode.json
 create mode 100644 proxmox-auto-installer/tests/resources/parse_answer_fail/network_bond_invalid_mode.toml
 create mode 100644 proxmox-auto-installer/tests/resources/parse_answer_fail/network_bond_primary_not_member.json
 create mode 100644 proxmox-auto-installer/tests/resources/parse_answer_fail/network_bond_primary_not_member.toml
 create mode 100644 proxmox-auto-installer/tests/resources/parse_answer_fail/network_bond_single_interface.json
 create mode 100644 proxmox-auto-installer/tests/resources/parse_answer_fail/network_bond_single_interface.toml





^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2026-09-08 10:19 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-08 10:16 [PATCH installer/proxmox 00/15] partially fix #2164: add bond setup across all installers Christoph Heiss
2026-09-08 10:16 ` [PATCH proxmox 01/15] installer-types: use `MacAddress` type where applicable Christoph Heiss
2026-09-08 10:16 ` [PATCH proxmox 02/15] installer-types: answer: add options for configuring management bond Christoph Heiss
2026-09-08 10:16 ` [PATCH installer 03/15] install: run make tidy Christoph Heiss
2026-09-08 10:16 ` [PATCH installer 04/15] tree-wide: use `MacAddress` type instead of string for MAC addresses Christoph Heiss
2026-09-08 10:16 ` [PATCH installer 05/15] install: factor out /etc/network/interfaces setup into own subroutine Christoph Heiss
2026-09-08 10:16 ` [PATCH installer 06/15] install: do not rely on interface name map to be fully populated Christoph Heiss
2026-09-08 10:16 ` [PATCH installer 07/15] install: config: add option for setting up bond on management interface Christoph Heiss
2026-09-08 10:16 ` [PATCH installer 08/15] install: network: set up management bond if requested Christoph Heiss
2026-09-08 10:16 ` [PATCH installer 09/15] gui: network: factor out name pinning into advanced options dialog Christoph Heiss
2026-09-08 10:16 ` [PATCH installer 10/15] gui: network: add bond setup options to " Christoph Heiss
2026-09-08 10:16 ` [PATCH installer 11/15] auto: pass trough management network bond options to low-level installer Christoph Heiss
2026-09-08 10:16 ` [PATCH installer 12/15] tui: drop long obsolete comment about logo formatting Christoph Heiss
2026-09-08 10:16 ` [PATCH installer 13/15] tui: views: add widget for displaying a group of checkboxes Christoph Heiss
2026-09-08 10:16 ` [PATCH installer 14/15] tui: network: factor out name pinning into advanced options dialog Christoph Heiss
2026-09-08 10:16 ` [PATCH installer 15/15] tui: network: add bond setup options to advanced network dialog Christoph Heiss

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal