True that satellite registration with diskless is very much not consistent with 
RedHat view of how OSes live.  There may be some opportunity to fix this, 
analogous to how confluent uses the TPM2 to manage ssh certificate entitlement 
persisting node identity securely across reboot, perhaps the same can be done 
for satellite.  This may warrant work  if people want satellite registered 
nodes rather than satellite updated images.  Note though that while updates to 
running stateless nodes is possible, any rpm update will change content from 
being boot server hosted to ram-hosted that can't be evicted, so you'll save 
memory by having updated profile and booting to it when possible rather than 
in-place updates.

Note that in confluent, the default diskless will leave the image on the server 
and to fetch/cache on demand.  Basically a multipath https filesystem replaces 
downloading it and extracting. Also the read-write is changed to zram instead 
of uncompressed.  A tethered mode will download upfront but leave it squashfs.

Another diskless difference is on an unpacked image, you can imgutil exec 
<path> yum update, and any updates, including kernel and driver updates will 
land appropriately in the os profile when packed. No more geninitrd needed, and 
imgutil exec uses the right mount namespaces and pid namespaces and bind mounts 
and such to have a functional environment to update normally.

Also, we have ansible hooks for deployment.  If an os profile has an 
ansible/post.d, the plays will target nodes hitting that phase of installation 
automatically, ansible/firstboot.d/ for plays to target the nodes hitting 
firstboot, and ansible/onboot.d/ for diskless every boot plays.

Ultimately though, people may like doing:
# nodediscover list -t pxe-client -f mac,switch,port -o port
               Mac| Switch|       Port
------------------|-------|-----------
08:94:ef:3f:e1:32|   r4c1|      bond0
08:94:ef:4e:13:fa|   r4c1|      swp35
08:94:ef:4e:15:68|   r4c1|      swp36
7c:8a:e1:c7:d0:09|   r4c1|      swp45
7c:8a:e1:c7:ce:17|   r4c1|      swp46
7c:8a:e1:ce:02:0d|   r4c1|      swp47
7c:8a:e1:c7:ce:a1|   r4c1|      swp48

Or using the api or csv to just gather pxe mac addresses based on port, even if 
you don't define confluent nodes.

Sorry if I'm going too offtopic by discussing confluent a bit much, but just 
wanted to share that we are trying to advance the state of things to hopefully 
be easier and useful.

From: Kevin Keane <kke...@sandiego.edu>
Sent: Monday, November 8, 2021 11:07 AM
To: xCAT Users Mailing list <xcat-user@lists.sourceforge.net>
Subject: [External] Re: [xcat-user] RedHat Satellite and xCAT stateful installs

Seems like your use case is very similar to ours - we also have an HPC. But I 
abandoned stateless compute nodes, and we don't need discovery. Several reasons:

- Stateless booting wreaks havoc with Satellite registration.
- Applying updates to stateless images is difficult, while it's trivial using 
Satellite. Of course, YMMV on this.
- Stateful installation makes (slightly) more memory available on the compute 
nodes.
- We rarely add nodes, so discovery isn't important. We simply use an Ansible 
list with MAC address, IP address and name. We maintain it manually, but it 
could also be scripted from DHCP logs or the like.

My process takes longer than yours, because it involves an Ansible run.

_______________________________________________________________________
Kevin Keane | Systems Architect | University of San Diego ITS | 
kke...@sandiego.edu<mailto:kke...@sandiego.edu>
Pronouns: he/him/his
Maher Hall, 162 |5998 Alcalá Park | San Diego, CA 92110-2492 | 619.260.6859 | 
Text: 760-721-8339

REMEMBER! No one from IT at USD will ever ask to confirm or supply your 
password.
These messages are an attempt to steal your username and password. Please do 
not reply to, click the links within, or open the attachments of these 
messages. Delete them!




On Mon, Nov 8, 2021 at 5:14 AM THomas HUMMEL 
<thomas.hum...@pasteur.fr<mailto:thomas.hum...@pasteur.fr>> wrote:


On 11/3/21 04:11, Kevin Keane wrote:
> I have made the almost exact same migration a few months ago

Hello, thanks for your answer.

> The only difference is that I'm not using xCAT at all any more.
> Satellite can do the same thing as xCAT's stateful installation using
> PXE booting. Instead of post scripts etc., I'm using Ansible. Note that
> PXE booting will work even if your data center only uses static IP
> addresses, as ours does!

I agree that for stateful installs, xCAT is just a kickstart wrapper in
our use case and native RH Satellite install would probably be easier.

However, we're using xCAT for provisionning an HPC cluster which
stateful nodes are just a few admin hosts. Most of nodes are compute
stateless compute servers. There are far more compute nodes than the
other types and batch of new compute nodes are regularily bought by users.

For those stateless servers, key xCAT features for us are:

1) switch-based discovery combined with:
2) regexp/formula to automatically generate predictable and consistent
names and ip addresses
3) BMC remote commands like reventlog, rpower
4) in a very limited way postscripts (we only use confignetwork -s to
"statify" DHCP provided fixed ip addresses and a synclist to fixate
hostkeys on stateless nodes)

This enables us to just nodeadd/makedhcp/makedns and rack a bunch of
servers and have them ready a few minute later to be configured by an
ansible playbook. More important, they can be once unboxed, powered up
all at the same time, not one at a time and still comply to the
naming/numbering scheme and order we want.

We don't use NAT, nodes are accessible under some restrictions.
We've got one vlan for data, one vlan for ipmi
An external DNS is feeded by xCAT on one side, by ansible on the other side.

We find this setup to be the right balance for automation and flexibility.


> In host groups, configure all the stuff you would ordinarily configure
> at the host level. Satellite Server will pick up those values when it
> auto-creates your nodes during the PXE-Boot process.

Again, the issue I'd have is that I'd want a discovery (similar to
switch-based) mechanism to be able to coexist with the stateful
installation process because I want my new stateless nodes to follow, in
order, the naming and numbering schemes I'm using and don't want to
power then up one at a time.

Hence my initial idea to continue using xCAT for the PXE/ks part with
the problems I mentionned in my initial post.

Thanks for your time and answer anyway !

--
Thomas HUMMEL


_______________________________________________
xCAT-user mailing list
xCAT-user@lists.sourceforge.net<mailto:xCAT-user@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/xcat-user<https://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Fxcat-user&data=04%7C01%7Cjjohnson2%40lenovo.com%7Cfa395445185344a6be3c08d9a2d4cb8e%7C5c7d0b28bdf8410caa934df372b16203%7C1%7C0%7C637719857100116824%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=qegjtYhnPbdRtpi%2BGjlBGreP17WjX6cZG6HLrPxwm2o%3D&reserved=0>
_______________________________________________
xCAT-user mailing list
xCAT-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xcat-user

Reply via email to