2
0
mirror of https://github.com/xcat2/xcat-core.git synced 2026-09-05 04:27:55 +00:00
Daniel Hilst dab06c134d fix(xcat-core): netplan drop-ins configeth writes are rejected by netplan
The netplan writer added for issue #7454 emits configuration that netplan
refuses to load, and netplan parses everything under /etc/netplan as one
document -- so a single rejected key takes down the whole node's network,
not just the interface being configured. It also left the install NIC, the
path every provisioned node actually takes, still writing to interfaces.d.

Verified against netplan 1.1.2; every case below was reproduced as a
`netplan generate` failure before the change and passes after it.

  - A VLAN's parent was never declared. netplan resolves `link:` at parse
    time and does not look ahead, and 90-xcat-<parent>.<vid>.yaml sorts
    before 90-xcat-<parent>.yaml anyway; a parent carrying no address of
    its own got no file at all. Declare it as an empty netdef in the same
    file, which resolves the reference without overriding the parent's
    own keys.
  - nicextraparams were pasted in as netplan keys. They are ifcfg names --
    the documented example is "MTU=1456 ONBOOT=no" -- and an unknown key
    fails the file. Map the ones with a netplan equivalent, drop the rest
    with a warning, and quote values so a ':' cannot invent a key.
  - `to: default` needs netplan 0.103. Ubuntu 18.04 never ships past 0.99
    and a stock 20.04 ships 0.99, so the IPv6 gateway rejected the file on
    the very releases the support targets. Emit the explicit CIDR instead.
  - Nothing set dhcp4/dhcp6. netplan merges same-id netdefs key by key
    rather than replacing them, so cloud-init's dhcp4:true survived and the
    node ran a DHCP lease alongside the static address xCAT had assigned.
  - State was append-only: an address removed from the nics table was never
    dropped, so a re-addressed NIC kept its old IP forever. Reset the
    drop-in for the first address of a NIC, as the ifupdown branch's
    truncating '>' does.

Beyond what netplan rejects:

  - configeth -s wrote /etc/network/interfaces.d for the install NIC, which
    is exactly the file the change exists to stop using. Write the drop-in.
  - The -s bring-up tested netplan in an elif after NetworkManager, so on an
    NM-rendered node it was dead code falling through to nmcli with an unset
    connection name. Test netplan first, as the main path already did.
  - configipv6 passed $str_nic_mtu, which only configipv4 ever assigns, and
    dropped nicextraparams entirely.
  - The -r path removed the drop-in without applying it, so the address
    stayed on the link, and delete_nic_config_files skipped the
    xcat_history_important cleanup its three sibling branches all do.
  - netplan_active was true whenever netplan.io was installed, which is
    every Ubuntu; require ifupdown to be absent or stopped.
  - A nicextraparams name went unescaped into a sed address, so a '/' in one
    errored out and a metacharacter could delete unrelated recorded state.
  - `netplan apply` returns 0 without having brought the link up, and the
    ifdown sites the -r and reconfigure paths use do not exist on a netplan
    node.

Signed-off-by: Daniel Hilst <392820+dhilst@users.noreply.github.com>
2026-08-29 10:48:04 -03:00
2024-05-07 16:31:30 +02:00
2024-05-07 16:43:07 +02:00
2018-11-28 10:28:17 +08:00
2017-03-14 11:27:56 -04:00
2021-04-05 09:34:37 -04:00
2018-02-09 01:03:46 -05:00
2024-04-20 02:18:05 +02:00
2024-02-21 11:59:50 +01:00
2026-04-17 03:14:04 -03:00
2021-04-05 09:34:37 -04:00

xCAT

xCAT is a toolkit for deployment and administration of clusters of all sizes.

The xCAT sunset was only a quick eclipse

Dear xCAT Community,

The xCAT sunset has changed course. VersatusHPC has been invited to join the xCAT Consortium, and future development will move toward direct upstream contributions coordinated with the Consortium and its existing member companies.

That matters most for Enterprise Linux 10 (EL10). EL10 support is coming to xCAT, restoring a future operating-system path for sites that still rely on xCAT. This is an important change from the previous sunset guidance, where the lack of an EL10 path was one of the strongest reasons to move away from xCAT.

The xCAT Consortium continues to recommend Confluent as the long-term successor to xCAT, and that remains the Consortium position. Users planning new cluster-management deployments should evaluate Confluent and its xCAT comparison documentation.

At the same time, xCAT is no longer sunsetted. The Consortium and participating companies will continue updating xCAT while there is community and user demand for it.

In summary:

  • xCAT development is continuing upstream through the Consortium and participating companies.
  • Enterprise Linux 10 support is coming.
  • Confluent remains the Consortium-recommended successor and migration path.
  • xCAT updates will continue while there is community and user demand.

We want to thank the xCAT Consortium and community for keeping this project moving. The sun went behind the moon for a moment, but xCAT is still here.

For more information on Confluent and how to get started, please visit the Confluent: Project Page, Documentation or Confluent vs xCAT comparison.

With thanks,

The xCAT Consortium

Documentation

xCAT Documentation is hosted on Read The Docs: https://xcat-docs.readthedocs.io

Status

xCAT Version Build Status
Latest (master branch) Documentation Status
Stable (latest release) Documentation Status

Looking for older versions?

Open Source License

xCAT is made available under the EPL license: https://opensource.org/licenses/eclipse-1.0.php

Developers

Want to help? Check out the developers guide!

S
Description
No description provided
Readme EPL-1.0 228 MiB
Languages
Perl 76.6%
Shell 11.7%
JavaScript 6.2%
Go Template 2.5%
Python 1.6%
Other 1.1%