Hello community,
here is the log from the commit of package habootstrap-formula for
openSUSE:Factory checked in at 2020-08-20 22:31:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/habootstrap-formula (Old)
and /work/SRC/openSUSE:Factory/.habootstrap-formula.new.3399 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "habootstrap-formula"
Thu Aug 20 22:31:23 2020 rev:11 rq:828072 version:0.3.8+git.1597913606.d7bf629
Changes:
--------
--- /work/SRC/openSUSE:Factory/habootstrap-formula/habootstrap-formula.changes
2020-06-04 20:57:59.883321352 +0200
+++
/work/SRC/openSUSE:Factory/.habootstrap-formula.new.3399/habootstrap-formula.changes
2020-08-20 22:31:30.904056706 +0200
@@ -1,0 +2,6 @@
+Thu Aug 20 00:56:44 UTC 2020 - Simranpal Singh <[email protected]>
+
+- Version bump 0.3.8
+ * Include the pillar example file in package
+
+-------------------------------------------------------------------
Old:
----
habootstrap-formula-0.3.7+git.1591284136.61a57d8.tar.gz
New:
----
habootstrap-formula-0.3.8+git.1597913606.d7bf629.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ habootstrap-formula.spec ++++++
--- /var/tmp/diff_new_pack.22OPBX/_old 2020-08-20 22:31:32.284057351 +0200
+++ /var/tmp/diff_new_pack.22OPBX/_new 2020-08-20 22:31:32.284057351 +0200
@@ -20,7 +20,7 @@
Name: habootstrap-formula
Group: System/Packages
-Version: 0.3.7+git.1591284136.61a57d8
+Version: 0.3.8+git.1597913606.d7bf629
Release: 0
Summary: HA cluster (crmsh) deployment salt formula
@@ -52,6 +52,7 @@
mkdir -p %{buildroot}%{fdir}/metadata/%{fname}
cp -R %{fname} %{buildroot}%{fdir}/states
cp -R %{ftemplates} %{buildroot}%{fdir}/states/%{fname}
+cp pillar.example %{buildroot}%{fdir}/states/%{fname}
cp -R form.yml %{buildroot}%{fdir}/metadata/%{fname}
if [ -f metadata.yml ]
then
++++++ _service ++++++
--- /var/tmp/diff_new_pack.22OPBX/_old 2020-08-20 22:31:32.332057373 +0200
+++ /var/tmp/diff_new_pack.22OPBX/_new 2020-08-20 22:31:32.332057373 +0200
@@ -4,8 +4,8 @@
<param name="scm">git</param>
<param name="exclude">.git</param>
<param name="filename">habootstrap-formula</param>
- <param name="versionformat">0.3.7+git.%ct.%h</param>
- <param name="revision">61a57d858f0a5b7e96526491aaf462040b0625f7</param>
+ <param name="versionformat">0.3.8+git.%ct.%h</param>
+ <param name="revision">d7bf6291f77adf5653a0b7acbdcda81977f6b79d</param>
</service>
<service name="recompress" mode="disabled">
++++++ habootstrap-formula-0.3.7+git.1591284136.61a57d8.tar.gz ->
habootstrap-formula-0.3.8+git.1597913606.d7bf629.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/habootstrap-formula-0.3.7+git.1591284136.61a57d8/.travis.yml
new/habootstrap-formula-0.3.8+git.1597913606.d7bf629/.travis.yml
--- old/habootstrap-formula-0.3.7+git.1591284136.61a57d8/.travis.yml
2020-06-04 17:22:16.000000000 +0200
+++ new/habootstrap-formula-0.3.8+git.1597913606.d7bf629/.travis.yml
2020-08-20 10:53:26.000000000 +0200
@@ -5,8 +5,8 @@
addons:
apt:
sources:
- - sourceline: 'deb
http://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest trusty main'
- key_url:
'https://repo.saltstack.com/apt/ubuntu/14.04/amd64/latest/SALTSTACK-GPG-KEY.pub'
+ - sourceline: 'deb
http://repo.saltstack.com/apt/ubuntu/18.04/amd64/2019.2/ bionic main'
+ key_url:
'http://repo.saltstack.com/apt/ubuntu/18.04/amd64/2019.2/SALTSTACK-GPG-KEY.pub'
packages:
- salt-common
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/habootstrap-formula-0.3.7+git.1591284136.61a57d8/README.md
new/habootstrap-formula-0.3.8+git.1597913606.d7bf629/README.md
--- old/habootstrap-formula-0.3.7+git.1591284136.61a57d8/README.md
2020-06-04 17:22:16.000000000 +0200
+++ new/habootstrap-formula-0.3.8+git.1597913606.d7bf629/README.md
2020-08-20 10:53:26.000000000 +0200
@@ -1,25 +1,95 @@
-# HA Cluster bootstrap salt formula
+# HA Cluster bootstrap Salt formula
-Formulas for bootstrapping and managing a high availability cluster
-using crmsh.
+Salt formula to bootstrap and manage a [ClusterLabs](https://clusterlabs.org/)
high availability cluster.
-Mainly adapted to SUSE / openSUSE Linux distributions, but should be
-usable on other distributions with minor modifications.
+Mainly adapted to Linux distributions for SUSE (it is based in
+[crmsh](https://github.com/ClusterLabs/crmsh)), but it should be usable on
other distributions with
+some modifications.
+
+## Features
+
+The formula provides the capability to create and configure a multi node HA
cluster. Here are some of the features:
+- Initialize a cluster
+- Join a node to an existing cluster
+- Remove a node from an existing cluster
+- Configure the pre-requirements (install required packages, configure
`ntp/chrony`, create ssh-keys, etc)
+- Auto detect if the cluster is running in a cloud provider (Azure, AWS, or
GCP)
+- Configure SBD
+- Configure Corosync
+- Configure the resource agents
+- Install and configure the
[ha_cluster_exporter](https://github.com/ClusterLabs/ha_cluster_exporter)
+
+## Installation
+
+The project can be installed in many ways, including but not limited to:
+
+1. [RPM](#rpm)
+2. [Manual clone](#manual-clone)
+
+### RPM
+
+On openSUSE or SUSE Linux Enterprise use `zypper` package manager:
+```shell
+zypper install habootstrap-formula
+```
+
+**Important!** This will install the formula in
`/usr/share/salt-formulas/states/cluster`. Make sure that
`/usr/share/salt-formulas/states` entry is correctly configured in your Salt
minion configuration `file_roots` entry if the formula is used in a masterless
mode.
+
+You can find the latest development repositories at SUSE's Open Build Service
[network:ha-clustering:sap-deployments:devel/habootstrap-formula](https://build.opensuse.org/package/show/network:ha-clustering:sap-deployments:devel/habootstrap-formula).
+
+### Manual clone
+
+```
+git clone https://github.com/SUSE/habootstrap-formula
+cp -R cluster /srv/salt
+```
+
+**Important!** The formulas depends on `salt-shaptools` package. Make sure it
is installed properly if you follow the manual installation.
## Usage
-To use, configure the cluster options using pillar data as described
-in `pillar.example`. To create multiple clusters, different pillar
-data can be applied to different groups of nodes with different nodes
-as the init node.
-
-**Important!** The hostnames and minion names of cluster nodes need to
-be the same for the cluster join procedure to work correctly, and the
-nodes need to be able to reach each other by hostname / minion
-name. To see an example of how this is configured, see
-`test/salt/common/hosts.sls` in this repository.
+Follow the next steps to configure the formula execution. After this, the
formula can be executed using `master/minion` or `masterless` options:
+
+1. Modify the `top.sls` file (by default stored in `/srv/salt`) including the
`cluster` entry.
+
+ Here an example to execute the cluster formula in all of the nodes:
-## Salt pillar encryption
+ ```
+ # This file is /srv/salt/top.sls
+ base:
+ '*':
+ - cluster
+ ```
+
+2. Customize the execution pillar file. Here an example of a pillar file for
this formula with all of the options:
[pillar.example](https://github.com/SUSE/habootstrap-formula/blob/master/pillar.example)
+
+3. Set the execution pillar file. For that, modify the `top.sls` of the
pillars (by default stored in `/srv/pillar`) including the `cluster` entry and
copy your specific `cluster.sls` pillar file in the same folder.
+
+ Here an example to apply the recently created `cluster.sls` pillar file to
all of the nodes:
+
+ ```
+ # This file is /srv/pillar/top.sls
+ base:
+ '*':
+ - cluster
+ ```
+
+4. Execute the formula.
+
+ 1. Master/Minion execution.
+
+ `salt '*' state.highstate`
+
+ 2. Masterless execution.
+
+ `salt-call --local state.highstate`
+
+
+**Important!** The hostnames and minion names of the cluster nodes need to be
the same for the
+cluster join procedure to work correctly, and the nodes need to be able to
reach each other by
+hostname/minion name.
+
+### Salt pillar encryption
Pillars are expected to contain private data such as user passwords required
for the automated installation or other operations. Therefore, such pillar data
need to be stored in an encrypted state, which can be decrypted during pillar
compilation.
@@ -34,46 +104,14 @@
- If a masterless approach is used (as in the current automated deployment)
the gpg private key must be imported in all the nodes. This might require the
copy/paste of the keys.
-## Integration with other formulas
-
-The following formula pillars support HA cluster bootstrap-
+## OBS Packaging
-* [firewalld-formula](https://github.com/saltstack-formulas/firewalld-formula)
+The CI automatically publishes new releases to SUSE's Open Build Service every
time a pull request is merged into `master` branch. For that, update the new
package version in
[_service](https://github.com/SUSE/habootstrap-formula/blob/master/_service) and
+add the new changes in
[habootstrap-formula.changes](https://github.com/SUSE/habootstrap-formula/blob/master/habootstrap-formula.changes).
-``` yaml
- extends:
- firewalld:
- services:
- cluster-formula:
- short: hacluster
- description: HA cluster firewall rules
- ports:
- tcp:
- - 30865
- - 5560
- - 7630
- - 21064
- udp:
- - 5405
- - 5407
- zones:
- public:
- services:
- - hacluster
-```
-
-* [packages-formula](https://github.com/saltstack-formulas/packages-formula>)
-
-``` yaml
- extends:
- packages:
- pkgs:
- wanted:
- - crmsh
- - resource-agents
- - fence-agents
- - sbd
-```
+The new version is published at:
+-
https://build.opensuse.org/package/show/network:ha-clustering:sap-deployments:devel/habootstrap-formula
+- https://build.opensuse.org/package/show/openSUSE:Factory/habootstrap-formula
(only if the spec file version is increased)
## Test
@@ -116,12 +154,3 @@
zypper in libvirt
systemctl start libvirtd
```
-
-### Known issues
-* Failure running [join-the-cluster](./cluster/join.sls):
-
-> Note: The current solution is to query **hawk** status. This doesn't exactly
-> represent the state of **pacemaker** (hawk initialization is independent).
-> Increasing the `wait_for_initialization` to wait pacemaker may help in some
cases.
-
-TODO: Replace to query **hawk** by checking **pacemaker** directly.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/habootstrap-formula-0.3.7+git.1591284136.61a57d8/_service
new/habootstrap-formula-0.3.8+git.1597913606.d7bf629/_service
--- old/habootstrap-formula-0.3.7+git.1591284136.61a57d8/_service
2020-06-04 17:22:16.000000000 +0200
+++ new/habootstrap-formula-0.3.8+git.1597913606.d7bf629/_service
2020-08-20 10:53:26.000000000 +0200
@@ -4,7 +4,7 @@
<param name="scm">git</param>
<param name="exclude">.git</param>
<param name="filename">habootstrap-formula</param>
- <param name="versionformat">0.3.7+git.%ct.%h</param>
+ <param name="versionformat">0.3.8+git.%ct.%h</param>
<param name="revision">%%VERSION%%</param>
</service>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/habootstrap-formula-0.3.7+git.1591284136.61a57d8/habootstrap-formula.changes
new/habootstrap-formula-0.3.8+git.1597913606.d7bf629/habootstrap-formula.changes
---
old/habootstrap-formula-0.3.7+git.1591284136.61a57d8/habootstrap-formula.changes
2020-06-04 17:22:16.000000000 +0200
+++
new/habootstrap-formula-0.3.8+git.1597913606.d7bf629/habootstrap-formula.changes
2020-08-20 10:53:26.000000000 +0200
@@ -1,4 +1,10 @@
-------------------------------------------------------------------
+Thu Aug 20 00:56:44 UTC 2020 - Simranpal Singh <[email protected]>
+
+- Version bump 0.3.8
+ * Include the pillar example file in package
+
+-------------------------------------------------------------------
Thu Jun 4 08:56:32 UTC 2020 - Xabier Arbulu <[email protected]>
- Version bump 0.3.7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/habootstrap-formula-0.3.7+git.1591284136.61a57d8/habootstrap-formula.spec
new/habootstrap-formula-0.3.8+git.1597913606.d7bf629/habootstrap-formula.spec
---
old/habootstrap-formula-0.3.7+git.1591284136.61a57d8/habootstrap-formula.spec
2020-06-04 17:22:16.000000000 +0200
+++
new/habootstrap-formula-0.3.8+git.1597913606.d7bf629/habootstrap-formula.spec
2020-08-20 10:53:26.000000000 +0200
@@ -52,6 +52,7 @@
mkdir -p %{buildroot}%{fdir}/metadata/%{fname}
cp -R %{fname} %{buildroot}%{fdir}/states
cp -R %{ftemplates} %{buildroot}%{fdir}/states/%{fname}
+cp pillar.example %{buildroot}%{fdir}/states/%{fname}
cp -R form.yml %{buildroot}%{fdir}/metadata/%{fname}
if [ -f metadata.yml ]
then