[ClusterLabs] Off-line build-time cluster configuration

Strahil Nikolov hunter86_bg at yahoo.com
Tue Apr 14 17:05:22 EDT 2020

On April 14, 2020 9:46:14 PM GMT+03:00, Craig Johnston <agspoon at gmail.com> wrote:
>Sorry if this has already been covered, but a perusal of recent mail
>archives didn't turn up anything for me.
>We are looking for help in configuring a pacemaker/corosync cluster at
>time the Linux root file system is built, or perhaps as part of a
>"pre-pivot" process in the initramfs of a live-CD environment.
>We are using the RHEL versions of the cluster products.  Current
>is RHEL7 based, and we are trying to move to RHEL8.
>The issues we have stem from the configuration tools' expectation that
>are operating on a live system, with all cluster nodes available on the
>network.  This is obviously not the case during a "kickstart" install
>configuration process.  It's also not true in an embedded environment
>all nodes are powered simultaneously and expected to become operational
>without any human intervention.
>We create the cluster configuration from a "system model", that
>the available nodes, cluster managed services, fencing agents, etc.. 
>model is different for each deployment, and is used as input to create
>customized Linux distribution that is deployed to a set of physical
>hardware, virtual machines, or containers.  Each node, and it's root
>system, is required to be configured and ready to go, the very first
>it is ever booted.  The on-media Linux file system is also immutable,
>thus each boot is exactly like the previous one.
>Under RHEL7, we were able to use the "pcs" command to create the
>corosync.conf/cib.xml files for each node.
>      pcs cluster setup --local --enable --force --name mycluster node1
>node2 node3
>          pcs -f ${CIB} property set startup-fencing=false
>          pcs -f ${CIB} resource create tftp ocf:heartbeat:Xinetd
> service=tftp  --group grp_tftp
>          etc...
>Plus a little "awk" "sed" on the corosync.conf file, and we were able
>create a working configuration that worked out of the box. It's not
>but it works in spite of the fact that we feel like we're swimming up
>Under RHEL8 however, the "pcs cluster" command no longer has a
>option.  We can't find any tool to replace it's functionality.  We can
>"cibadmin --empty" to create a starting cib.xml file, but there is no
>to add nodes to it (or create the corosync.conf file with nodes".
>Granted, we could write our own tools to create template
>corosync.conf/cib.xml files, and "pcs -f" still works.  However, that
>leaves us in the unenviable position where the cluster configuration
>could change, and our tools would not be the wiser.  We'd much prefer
>use a standard and maintained interface for configuring the cluster.
>Any suggestions would be very welcome.  While we have a non-standard
>use-case, we don't believe it is unrealistic given the current
>for cloud services, and automated deployment.

I guess I'm a  little bit narrow-minded , but I don't get the whole concept.

Why should you need to use  a ' pre-pivot" process in the initramfs of a live-CD environment.'   ?

Can't you just pull the configuration from a central location (lile salt, puppet or just a plain http server ) ?

Are you trying to build an apliance that selfdeploys without human intervention ?

Best Regards,
Strahil Nikolov

More information about the Users mailing list