It's freely available and should provide at least xcat level functionally via ipmi, pxe discovery, and configbmc (python replacement for bmcsetup). I will confess the documentation is a bit Lenovo centric, suggestions are welcome. Also it should be reasonably possible to add at least some third party bmcsetup to the power off discovery. The biggest asterisk is that the html/JavaScript is merely free, not FOSS licensed, but if there's interest, particularly with contributions, I'd go for approval to do that (though with a forthcoming rewrite of the web guui, as the code quality will be better).
For a lot of systems, the redfish support provides richer inventory, including Mac addresses, bios settings, and some firmware updates. However I will say I wouldn't count on MegaRAC based bmcs too much here, I've seen reliability issues and functional issues with their redfish support. I've had good experience with openbmc quality, though functionally can be sparse. Dell and HPE, I'm told works well, though I only have a little first hand experience there. On the dell I've confirmed it can even provide the help text for the settings, as an example of how far redfish can go when implemented correctly. I've only tested firmware update on Lenovo and openbmc based systems so far. I'd be happy to help with a demo on your equipment, and to share anything missing using my own (there's a bit of extra niceness for Lenovo servers and dense, vertiv pdus, and cumulus switches). If folks are interested in any thoughts on hosting, releases, or governance, happy to discuss. Whether folks might want mailing lists or forums, that would be welcome and help appreciated on that front. ________________________________ From: Imam Toufique <techie...@gmail.com> Sent: Friday, September 1, 2023 8:40 PM To: xCAT Users Mailing list <xcat-user@lists.sourceforge.net> Subject: Re: [xcat-user] [External] Announcement: xCAT Project End-Of-Life planned for December 1, 2023 Jared, just to clarify , is confluent available for anyone as an opensource tool? Or is this geared to do lenovo specific installations? From what I understand, it would be great to get a general demo of the installation/configuration , etc. . I have a test environment in our cluster where I can test things for HPE, Dell, SuperMicro, ASUS, Gigabyte servers. Thanks. --imam On Fri, Sep 1, 2023 at 5:07 PM Jarrod Johnson <jjohns...@lenovo.com<mailto:jjohns...@lenovo.com>> wrote: In light of this announcement, I'll take a moment to at least mention Lenovo's strategy here, for those that are not yet aware. I had refrained from posting too much on xcat-user about it because I didn't want to intrude too much on xCAT users' mailboxes, but it seems potentially important. Back in 2014, my team started work on confluent (https://github.com/xcat2/confluent). We promptly found out that we'd be going over to Lenovo, which admittedly complicated our relationship to the larger xCAT project. The general idea was "spiritual successor to xCAT 2". So why not "xCAT 3"? To have the freedom to reimagine some things in a not quite compatible way, and not be too pushy about this "new xCAT" being the way forward for those that didn't like it. In part thinking of the transition between Gnome 2 and Gnome 3 that was just dramatically different vision, which I thought warranted a new name, for better or worse, so my stance was similar about "xCAT 2" to "confluent". When going from xCAT 1 to xCAT 2, we didn't quite match up either, more migration tools were available for CSM users than xCAT 1 users. However a lot of the design sensibilities were similar. The filesystem layout of an OS image was similar, the SQL databases resembled xCAT tab files, etc. Gaps in this strategy were handled with things like the osimage table (to gather OS profile information into... fewer places, not one place) and the objdef layer to bring node attributes together and os image attributes together. With confluent, we wanted to change some things up: -While we liked the 'category.attribute' scheme of tabular structure, the organization of objdef seemed to be more friendly. So confluent node attributes are key value like objdef, but with a naming scheme of 'category.attribute'. -OS images assembled from various places in the filesystem, with only the OS image tables to guide where on disk things were was always a struggle, so confluent has OS profiles be entirely described as one or two directiories (/var/lib/confluent/public/os/<profilename> and sometimes /var/lib/confluent/private/os/<profilename>). Customization can be done with no worry about rpm updates trouncing customization, and the entire structure of the OS profile is more self explanatory. -Most of the deployment logic moved "target side", where the API provides the same data in the same format to any deploying OS, and code in the respective OS deployment is responsible for integrating the information into the right tools/format (debian-installer, kickstart, autoyast, subiquity, netplan, wicked, networkmanager, etc). Compared to xCAT where we would do a form fill sort of thing on kickstart and similar. -More hardened approach to security: -Confluent does not run as root -tftp is now optional (firmware permitting) -Secureboot is now supported -Diskless and cloning images are, by default, encrypted -Diskless nodes, by default, use the TPM to persist trust for the confluent API -TLS is very carefully set up with validation (deployment is done over https as well as all node API calls) -A simplified, singular step serves as the path to getting a node API token, instead of the xCAT myriad of moderately open functions -No private user or host SSH keys are transfered. User keys are replaced with host based authentication, known_hosts helping is handled through providng SSH certificates to the host generated keys. Host keys never leave the host that generates them nor are they replaced. They are unique, but stability extended through the certificates, allowing for nice short known_hosts files -As a result, the "ssh zone" design where nodes are strictly grouped is replaced with a scheme that allows asymmetric relationships (e.g. the "compute" group may let the "storage" group access, but the converse is blocked). Also, this relationship is easier to change after the fact, without the excluded hosts ever seeing a private credential that would persist. -Different approach to "service nodes". -Instead of relying upon the multi-host access of an external SQL server, confluent internalizes the data store and has integrated replication across collective members -Collective members may all be equal, or some may be 'non-voting' to have a quorum from a subset of systems -Inherently HA for up to n/2-1 failure of voting collective members. -Clear delineation where /var/lib/confluent is expected to be identical across all systems (no awkwardness of /tftpboot contents to manage, no weird disconnect of /install/autoinst versus everything else) -Enhancements to diskless -By default, diskless images are tethered in a multipath way to the servers they boot from. This means memory usage is much lower than xCAT diskless, with no penalty for large images -As a result, a diskless image does not look as "weird" compared to a normal disk system. In some scenarios, barely any more RAM used than diskful, and full complement of files available to user -The writeable overlay is compressed RAM, further mitigating the RAM penalty of writing to disk -The result is the diskless model has memory characteristic more similar to statelite, but without the work required of curating any exclude list or any specific list of writeable files -An 'imgutil exec' that uses mount and pid namespaces to provide a container like way to start a diskless image for customization. In xCAT we relied on people doing chroot, but that caused some problems that imgutil exec hopefully mitigates. Of course chroot is still possible, but imgutil exec is a bit more complete (and auto sets up repositories) -Easier user management (no more user certificates, local CLI users are authenticated by SCM_CREDENTIALS instead of any key or password, API/Web access is authenticated by PAM, avoiding a distinct set of passwords and supporting anything that implements PAM conversation support (e.g. OTP codes) -Deeper hardware support, with builtin capabilities to manage BIOS/UEFI settings and firmware updates. More coverage of redfish and IPMI. -Having the 'discovery' data more openly accessible via external API (/networking/macs for the FDB gathering, /discovery for all the results of scanning, and /networking/neighbors/ for LLDP gathering) -Supporting both PXE based discovery as well as some "zero touch" mechanisms (e.g. SSDP, SLP, mDNS). Many situations with Lenovo hardware can do full discovery without even turning the systems on. -Since python seems to be more popular for people in general, especially for system administrators, things are done mostly in python (with a bit of C, some shell scripting) -A bit more modular, it doesn't conflict with DHCP servers, even if doing PXE deployment. It needs no dynamic range to do even PXE discovery, it does discovery during the firmware boot stage instead of requiring a boot of 'genesis' (while genesis still exists, it is now more optional and in fact is usually skipped. It provides better ability to gather macs/uuid or do BMC discovery while allowing an alternative OS deployment solution to function. So if you like confluent discovery, but want to use different OS deployment, that's better taken care of. -Richer support for IPv6 (pure IPv6 clusters have been deployed in production) -Less picky about name resolution. -More work toward Web UI support (the WebUI could use a lot of work, but it at least has a nifty console support, with tiling and broadcasting keystrokes) Some things have been left behind: -Virtualization support. At this point it seems clear that other solutions are preferred for virtualization. I suspect we may add a little in the name of letting people use VMs to test baremetal without actually using baremetal, but not for making new vms or modifying VMs. -POWER support. Arm support is coming soon, but no plans for POWER at the moment. Anyway, anyone interested in me going on more about anything, let me know. I hope that at least on the technical front we've created something compelling, but it is ultimately different. Feedback has so far suggested that people has an easier time getting started with Confluent than they generally have getting started with xCAT, but it does mean some work if you are already used to xCAT. The general site for packaged installation is at https://hpc.lenovo.com/. Any feedback is appreciated. ________________________________ From: Nathan A Besaw via xCAT-user <xcat-user@lists.sourceforge.net<mailto:xcat-user@lists.sourceforge.net>> Sent: Friday, September 1, 2023 12:49 PM To: xCAT Users Mailing list <xcat-user@lists.sourceforge.net<mailto:xcat-user@lists.sourceforge.net>> Cc: Nathan A Besaw <bes...@us.ibm.com<mailto:bes...@us.ibm.com>> Subject: [External] [xcat-user] Announcement: xCAT Project End-Of-Life planned for December 1, 2023 Mark Gurevich, Peter Wong, and I have been the primary xCAT maintainers for the past few years. This year, we have moved on to new roles unrelated to xCAT and can no longer continue to support the project. As a result, we plan to archive the project on December 1, 2023. xCAT 2.16.5, released on March 7, 2023, is our final planned release. We would consider transitioning responsibility for the project to a new group of maintainers if members of the xCAT community can develop a viable proposal for future maintenance. Thank you all for you support of the project over the past 20+ years. _______________________________________________ xCAT-user mailing list xCAT-user@lists.sourceforge.net<mailto:xCAT-user@lists.sourceforge.net> https://lists.sourceforge.net/lists/listinfo/xcat-user -- Regards, Imam Toufique 213-700-5485
_______________________________________________ xCAT-user mailing list xCAT-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xcat-user