<div dir="ltr"><div>Thanks for the update Tomas.  Hopefully Red Hat will pick this up for a near term release.</div><div><br></div><div>Craig<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Apr 24, 2020 at 1:03 AM Tomas Jelinek <<a href="mailto:tojeline@redhat.com">tojeline@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Preliminary version of this feature has been merged upstream:<br>
<a href="https://github.com/ClusterLabs/pcs/commit/425edf7aaff3c0744d9ae32bceb96f4bbfd39ee1" rel="noreferrer" target="_blank">https://github.com/ClusterLabs/pcs/commit/425edf7aaff3c0744d9ae32bceb96f4bbfd39ee1</a><br>
<br>
At the moment, only RPM packages built by continuous integration system <br>
are available:<br>
<a href="https://kronosnet.org/builds/pcs/" rel="noreferrer" target="_blank">https://kronosnet.org/builds/pcs/</a><br>
Note these are automatically built unofficial packages, they are not <br>
guaranteed to work flawlessly.<br>
<br>
Regards,<br>
Tomas<br>
<br>
<br>
Dne 16. 04. 20 v 14:00 Tomas Jelinek napsal(a):<br>
> Hi Craig,<br>
> <br>
> Currently, there is no support in RHEL8 for an equivalent of the --local <br>
> option of the 'pcs cluster setup' command from RHEL7. We were focusing <br>
> higher priority tasks related to supporting the new major version of <br>
> corosync and knet. As a part of this, the 'pcs cluster setup' command <br>
> has been completely overhauled providing better functionality overall, <br>
> like improved validations, synchronizing other files than just <br>
> corosync.conf and so on. Sadly, we didn't have enough capacity to <br>
> support the --local option in step 1.<br>
> <br>
> We are working on adding support for the --local option (or its <br>
> equivalent) in the near future, but we don't have any code to share yet.<br>
> <br>
> <br>
> Obviously, the --local version of the setup will skip some tasks done in <br>
> the regular cluster setup command. You are expected to do them by other <br>
> means. I'll put them all here for the sake of completion, even though <br>
> not all of them apply in your situation:<br>
> * check that nodes are not running or configured to run a cluster<br>
> * check that nodes do have cluster daemons installed in matching versions<br>
> * run 'pcs cluster destroy' on each node to get rid of all cluster <br>
> config files and be sure there are no leftovers from previously <br>
> configured clusters<br>
> * delete /var/lib/pcsd/pcs_settings.conf file (this is not done by the <br>
> 'pcs cluster destroy' command)<br>
> * distribute pcs auth tokens for the nodes<br>
> * distribute corosync and pacemaker authkeys, /etc/corosync/authkey and <br>
> /etc/pacemaker/authkey respectively<br>
> * synchronize pcsd certificates (only needed if you intend to use pcs <br>
> web UI in an HA mode)<br>
> * distribute corosync.conf<br>
> Let me know if you have any questions regarding these.<br>
> <br>
> <br>
> Running the current 'pcs cluster setup' command on all nodes is not <br>
> really an option. The command requires the nodes to be online as it <br>
> stores corosync.conf and other files to them over the network.<br>
> <br>
> You may, however, run it once on a live cluster to get an idea of what <br>
> the corosync.conf looks like and turn it into a template. I don't really <br>
> expect its format or schema to be changed significantly during the RHEL8 <br>
> life cycle. I understand your concerns regarding this approach, but it <br>
> would give you at least some option to proceed until the --local is <br>
> supported in pcs.<br>
> <br>
> <br>
> Regards,<br>
> Tomas<br>
> <br>
> <br>
> Dne 14. 04. 20 v 20:46 Craig Johnston napsal(a):<br>
>> Hello,<br>
>><br>
>> Sorry if this has already been covered, but a perusal of recent mail <br>
>> archives didn't turn up anything for me.<br>
>><br>
>> We are looking for help in configuring a pacemaker/corosync cluster at <br>
>> the time the Linux root file system is built, or perhaps as part of a <br>
>> "pre-pivot" process in the initramfs of a live-CD environment.<br>
>><br>
>> We are using the RHEL versions of the cluster products.  Current <br>
>> production is RHEL7 based, and we are trying to move to RHEL8.<br>
>><br>
>> The issues we have stem from the configuration tools' expectation that <br>
>> they are operating on a live system, with all cluster nodes available <br>
>> on the network.  This is obviously not the case during a "kickstart" <br>
>> install and configuration process.  It's also not true in an embedded <br>
>> environment where all nodes are powered simultaneously and expected to <br>
>> become operational without any human intervention.<br>
>><br>
>> We create the cluster configuration from a "system model", that <br>
>> describes the available nodes, cluster managed services, fencing <br>
>> agents, etc..  This model is different for each deployment, and is <br>
>> used as input to create a customized Linux distribution that is <br>
>> deployed to a set of physical hardware, virtual machines, or <br>
>> containers.  Each node, and it's root file system, is required to be <br>
>> configured and ready to go, the very first time it is ever booted.  <br>
>> The on-media Linux file system is also immutable, and thus each boot <br>
>> is exactly like the previous one.<br>
>><br>
>> Under RHEL7, we were able to use the "pcs" command to create the <br>
>> corosync.conf/cib.xml files for each node.<br>
>> e.g.<br>
>>            pcs cluster setup --local --enable --force --name mycluster <br>
>> node1 node2 node3<br>
>>            pcs -f ${CIB} property set startup-fencing=false<br>
>>            pcs -f ${CIB} resource create tftp ocf:heartbeat:Xinetd <br>
>>   service=tftp  --group grp_tftp<br>
>>            etc...<br>
>><br>
>> Plus a little "awk" "sed" on the corosync.conf file, and we were able <br>
>> to create a working configuration that worked out of the box. It's not <br>
>> pretty, but it works in spite of the fact that we feel like we're <br>
>> swimming up stream.<br>
>><br>
>> Under RHEL8 however, the "pcs cluster" command no longer has a <br>
>> "--local" option.  We can't find any tool to replace it's <br>
>> functionality.  We can use "cibadmin --empty" to create a starting <br>
>> cib.xml file, but there is no way to add nodes to it (or create the <br>
>> corosync.conf file with nodes".<br>
>><br>
>> Granted, we could write our own tools to create template <br>
>> corosync.conf/cib.xml files, and "pcs -f" still works.  However, that <br>
>> leaves us in the unenviable position where the cluster configuration <br>
>> schema could change, and our tools would not be the wiser.  We'd much <br>
>> prefer to use a standard and maintained interface for configuring the <br>
>> cluster.<br>
>><br>
>> Any suggestions would be very welcome.  While we have a non-standard <br>
>> use-case, we don't believe it is unrealistic given the current <br>
>> environment for cloud services, and automated deployment.<br>
>><br>
>> Thanks,<br>
>> Craig<br>
>><br>
>> _______________________________________________<br>
>> Manage your subscription:<br>
>> <a href="https://lists.clusterlabs.org/mailman/listinfo/users" rel="noreferrer" target="_blank">https://lists.clusterlabs.org/mailman/listinfo/users</a><br>
>><br>
>> ClusterLabs home: <a href="https://www.clusterlabs.org/" rel="noreferrer" target="_blank">https://www.clusterlabs.org/</a><br>
>><br>
> <br>
> _______________________________________________<br>
> Manage your subscription:<br>
> <a href="https://lists.clusterlabs.org/mailman/listinfo/users" rel="noreferrer" target="_blank">https://lists.clusterlabs.org/mailman/listinfo/users</a><br>
> <br>
> ClusterLabs home: <a href="https://www.clusterlabs.org/" rel="noreferrer" target="_blank">https://www.clusterlabs.org/</a><br>
<br>
_______________________________________________<br>
Manage your subscription:<br>
<a href="https://lists.clusterlabs.org/mailman/listinfo/users" rel="noreferrer" target="_blank">https://lists.clusterlabs.org/mailman/listinfo/users</a><br>
<br>
ClusterLabs home: <a href="https://www.clusterlabs.org/" rel="noreferrer" target="_blank">https://www.clusterlabs.org/</a><br>
</blockquote></div>